Version Description
02-08-2022 =
Feature - Activate Mollie Components by default for new installations
Fix - Order note not translated
Fix - Gateway surcharge not applying tax
Fix - pending SEPA subscription renewal orders remain in "Pending payment" instead of being set to "On-Hold"
Fix - PHP warnings when using not Mollie gateway
Fix - Order API not processing transactions due to taxes mismatch
Fix - Inconsistent order numbers sometimes printing "Bestelling {bestelnummer}"
Fix - Link to new my.mollie.com url
Fix - Update In3 description
Download this release
Release Info
Developer | carmen222 |
Plugin | Mollie Payments for WooCommerce |
Version | 7.3.0 |
Comparing to | |
See all releases |
Code changes from version 7.2.0 to 7.3.0
- languages/mollie-payments-for-woocommerce-nl_BE.mo +0 -0
- languages/mollie-payments-for-woocommerce-nl_BE_formal.mo +0 -0
- languages/mollie-payments-for-woocommerce-nl_NL.mo +0 -0
- languages/mollie-payments-for-woocommerce-nl_NL_formal.mo +0 -0
- languages/mollie-payments-for-woocommerce.pot +3 -3
- mollie-payments-for-woocommerce.php +3 -3
- public/css/mollie-applepaydirect.min.css +23 -1
- public/css/mollie-components.min.css +53 -1
- public/css/mollie-gateway-icons.min.css +22 -1
- public/css/unabledButton.min.css +5 -1
- public/js/advancedSettings.min.js +156 -1
- public/js/applepay.min.js +117 -1
- public/js/applepayButtonBlockComponent.min.js +427 -1
- public/js/applepayDirect.min.js +442 -1
- public/js/applepayDirectCart.min.js +414 -1
- public/js/babel-polyfill.min.js +10279 -1
languages/mollie-payments-for-woocommerce-nl_BE.mo
CHANGED
Binary file
|
languages/mollie-payments-for-woocommerce-nl_BE_formal.mo
CHANGED
Binary file
|
languages/mollie-payments-for-woocommerce-nl_NL.mo
CHANGED
Binary file
|
languages/mollie-payments-for-woocommerce-nl_NL_formal.mo
CHANGED
Binary file
|
languages/mollie-payments-for-woocommerce.pot
CHANGED
@@ -1330,17 +1330,17 @@ msgstr ""
|
|
1330 |
|
1331 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2580
|
1332 |
#: src/Mollie/WC/Gateway/Abstract.php:2580
|
1333 |
-
msgid "A
|
1334 |
msgstr ""
|
1335 |
|
1336 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2590
|
1337 |
#: src/Mollie/WC/Gateway/Abstract.php:2590
|
1338 |
-
msgid "A
|
1339 |
msgstr ""
|
1340 |
|
1341 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2607
|
1342 |
#: src/Mollie/WC/Gateway/Abstract.php:2607
|
1343 |
-
msgid "A
|
1344 |
msgstr ""
|
1345 |
|
1346 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2646
|
1330 |
|
1331 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2580
|
1332 |
#: src/Mollie/WC/Gateway/Abstract.php:2580
|
1333 |
+
msgid "A + %1s %2s fee might apply"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2590
|
1337 |
#: src/Mollie/WC/Gateway/Abstract.php:2590
|
1338 |
+
msgid "A + %1s%% fee might apply"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2607
|
1342 |
#: src/Mollie/WC/Gateway/Abstract.php:2607
|
1343 |
+
msgid "A + %1s %2s + %3s%% fee might apply"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
#: build/src/Mollie/WC/Gateway/Abstract.php:2646
|
mollie-payments-for-woocommerce.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Mollie Payments for WooCommerce
|
4 |
* Plugin URI: https://www.mollie.com
|
5 |
* Description: Accept payments in WooCommerce with the official Mollie plugin
|
6 |
-
* Version: 7.
|
7 |
* Author: Mollie
|
8 |
* Author URI: https://www.mollie.com
|
9 |
* Requires at least: 5.0
|
@@ -145,7 +145,7 @@ function initialize()
|
|
145 |
$properties = PluginProperties::new(__FILE__);
|
146 |
$bootstrap = Package::new($properties);
|
147 |
$modules = [
|
148 |
-
new ActivationModule(__FILE__),
|
149 |
new LogModule('mollie-payments-for-woocommerce-'),
|
150 |
new NoticeModule(),
|
151 |
new SharedModule(),
|
@@ -155,7 +155,7 @@ function initialize()
|
|
155 |
new GatewayModule(),
|
156 |
new VoucherModule(),
|
157 |
new PaymentModule(),
|
158 |
-
new UninstallModule()
|
159 |
];
|
160 |
$modules = apply_filters('mollie_wc_plugin_modules', $modules);
|
161 |
$bootstrap->boot(...$modules);
|
3 |
* Plugin Name: Mollie Payments for WooCommerce
|
4 |
* Plugin URI: https://www.mollie.com
|
5 |
* Description: Accept payments in WooCommerce with the official Mollie plugin
|
6 |
+
* Version: 7.3.0
|
7 |
* Author: Mollie
|
8 |
* Author URI: https://www.mollie.com
|
9 |
* Requires at least: 5.0
|
145 |
$properties = PluginProperties::new(__FILE__);
|
146 |
$bootstrap = Package::new($properties);
|
147 |
$modules = [
|
148 |
+
new ActivationModule(__FILE__, $properties->version()),
|
149 |
new LogModule('mollie-payments-for-woocommerce-'),
|
150 |
new NoticeModule(),
|
151 |
new SharedModule(),
|
155 |
new GatewayModule(),
|
156 |
new VoucherModule(),
|
157 |
new PaymentModule(),
|
158 |
+
new UninstallModule(),
|
159 |
];
|
160 |
$modules = apply_filters('mollie_wc_plugin_modules', $modules);
|
161 |
$bootstrap->boot(...$modules);
|
public/css/mollie-applepaydirect.min.css
CHANGED
@@ -1 +1,23 @@
|
|
1 |
-
.buttonDisabled{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.buttonDisabled {
|
2 |
+
opacity: 0.2;
|
3 |
+
}
|
4 |
+
|
5 |
+
.apple-pay-button {
|
6 |
+
display: inline-block;
|
7 |
+
-webkit-appearance: -apple-pay-button;
|
8 |
+
-apple-pay-button-type: checkout; /* also: check-out, book, or subscribe */
|
9 |
+
}
|
10 |
+
|
11 |
+
.apple-pay-button-black {
|
12 |
+
-apple-pay-button-style: black;
|
13 |
+
}
|
14 |
+
|
15 |
+
.apple-pay-button-white {
|
16 |
+
-apple-pay-button-style: white;
|
17 |
+
}
|
18 |
+
|
19 |
+
.apple-pay-button-white-with-line {
|
20 |
+
-apple-pay-button-style: white-outline;
|
21 |
+
}
|
22 |
+
|
23 |
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbW9sbGllLWFwcGxlcGF5ZGlyZWN0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtBQUNGOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0FBRUY7O0FBQ0E7RUFDRTtBQUVGOztBQUNBO0VBQ0U7QUFFRjs7QUFDQTtFQUNFO0FBRUYsQyIsImZpbGUiOiJtb2xsaWUtYXBwbGVwYXlkaXJlY3QubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b25EaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4yO1xufVxuLmFwcGxlLXBheS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogLWFwcGxlLXBheS1idXR0b247XG4gIC1hcHBsZS1wYXktYnV0dG9uLXR5cGU6IGNoZWNrb3V0OyAvKiBhbHNvOiBjaGVjay1vdXQsIGJvb2ssIG9yIHN1YnNjcmliZSAqL1xufVxuXG4uYXBwbGUtcGF5LWJ1dHRvbi1ibGFjayB7XG4gIC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiBibGFjaztcbn1cblxuLmFwcGxlLXBheS1idXR0b24td2hpdGUge1xuICAtYXBwbGUtcGF5LWJ1dHRvbi1zdHlsZTogd2hpdGU7XG59XG5cbi5hcHBsZS1wYXktYnV0dG9uLXdoaXRlLXdpdGgtbGluZSB7XG4gIC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiB3aGl0ZS1vdXRsaW5lO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/
|
public/css/mollie-components.min.css
CHANGED
@@ -1 +1,53 @@
|
|
1 |
-
.mollie-components
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.mollie-components {
|
2 |
+
display: flex;
|
3 |
+
flex-wrap: wrap;
|
4 |
+
}
|
5 |
+
.mollie-components .mollie-component-label {
|
6 |
+
font-weight: 400;
|
7 |
+
}
|
8 |
+
.mollie-components .mollie-component {
|
9 |
+
width: 100%;
|
10 |
+
min-height: 34px;
|
11 |
+
background-color: #FFF;
|
12 |
+
border-radius: 6px;
|
13 |
+
color: #222;
|
14 |
+
transition: all 0.05s ease;
|
15 |
+
box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
|
16 |
+
border: 2px solid transparent;
|
17 |
+
}
|
18 |
+
.mollie-components .mollie-component iframe {
|
19 |
+
border-radius: 6px;
|
20 |
+
margin: 0;
|
21 |
+
}
|
22 |
+
.mollie-components .mollie-component.is-invalid {
|
23 |
+
box-shadow: 0px 1px 1px 0px rgba(255, 51, 68, 0.1), 0px 1px 3px 0px rgba(255, 51, 68, 0.1);
|
24 |
+
border-color: #fff0f0;
|
25 |
+
}
|
26 |
+
.mollie-components .mollie-component.has-focus {
|
27 |
+
box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1), 0px 2px 6px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px 1px rgba(0, 0, 0, 0.05);
|
28 |
+
border-color: #07f;
|
29 |
+
}
|
30 |
+
.mollie-components div {
|
31 |
+
flex-grow: 1;
|
32 |
+
width: 100%;
|
33 |
+
}
|
34 |
+
.mollie-components div + div {
|
35 |
+
display: block;
|
36 |
+
margin-top: 0.63em;
|
37 |
+
}
|
38 |
+
.mollie-components #expiryDate,
|
39 |
+
.mollie-components #verificationCode {
|
40 |
+
max-width: 50%;
|
41 |
+
}
|
42 |
+
.mollie-components #expiryDate {
|
43 |
+
padding-right: 5%;
|
44 |
+
}
|
45 |
+
.mollie-components #verificationCode {
|
46 |
+
padding-left: 5%;
|
47 |
+
}
|
48 |
+
|
49 |
+
.mollie-components-description svg {
|
50 |
+
display: inline;
|
51 |
+
}
|
52 |
+
|
53 |
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbW9sbGllLWNvbXBvbmVudHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0VBQ0E7QUFDRjtBQUNFO0VBQ0U7QUFDSjtBQUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtBQUZKO0FBSUk7RUFDRTtFQUNBO0FBRk47QUFLSTtFQUNFO0VBRUE7QUFKTjtBQU9JO0VBQ0U7RUFHQTtBQVBOO0FBV0U7RUFDRTtFQUNBO0FBVEo7QUFZRTtFQUNFO0VBQ0E7QUFWSjtBQWFFOztFQUVFO0FBWEo7QUFjRTtFQUNFO0FBWko7QUFlRTtFQUNFO0FBYko7O0FBa0JFO0VBQ0U7QUFmSixDIiwiZmlsZSI6Im1vbGxpZS1jb21wb25lbnRzLm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9sbGllLWNvbXBvbmVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgLm1vbGxpZS1jb21wb25lbnQtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICAubW9sbGllLWNvbXBvbmVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogIzIyMjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjA1cyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAwcHggMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGlmcmFtZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggMXB4IDBweCByZ2JhKDI1NSwgNTEsIDY4LCAwLjEpLFxuICAgICAgMHB4IDFweCAzcHggMHB4IHJnYmEoMjU1LCA1MSwgNjgsIDAuMSk7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmYwZjA7XG4gICAgfVxuXG4gICAgJi5oYXMtZm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSxcbiAgICAgIDBweCAycHggNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSksXG4gICAgICAwcHggMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3ZjtcbiAgICB9XG4gIH1cblxuICBkaXYge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGRpdiArIGRpdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLjYzZW07XG4gIH1cblxuICAjZXhwaXJ5RGF0ZSxcbiAgI3ZlcmlmaWNhdGlvbkNvZGUge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgI2V4cGlyeURhdGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICB9XG5cbiAgI3ZlcmlmaWNhdGlvbkNvZGUge1xuICAgIHBhZGRpbmctbGVmdDogNSU7XG4gIH1cbn1cblxuLm1vbGxpZS1jb21wb25lbnRzLWRlc2NyaXB0aW9uIHtcbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/
|
public/css/mollie-gateway-icons.min.css
CHANGED
@@ -1 +1,22 @@
|
|
1 |
-
.mollie-gateway-icon
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.mollie-gateway-icon {
|
2 |
+
vertical-align: bottom;
|
3 |
+
height: 24px;
|
4 |
+
}
|
5 |
+
|
6 |
+
label .mollie-gateway-icon {
|
7 |
+
float: right;
|
8 |
+
}
|
9 |
+
|
10 |
+
.mollie-gateway-icon svg {
|
11 |
+
float: right;
|
12 |
+
}
|
13 |
+
|
14 |
+
.mollie_custom_icon {
|
15 |
+
padding: 1em;
|
16 |
+
}
|
17 |
+
|
18 |
+
#mol-paypal-settings-icon {
|
19 |
+
margin-left: 1em;
|
20 |
+
}
|
21 |
+
|
22 |
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbW9sbGllLWdhdGV3YXktaWNvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFO0VBQ0E7QUFDRjs7QUFDQTtFQUNFO0FBRUY7O0FBQUE7RUFDRTtBQUdGOztBQURBO0VBQ0U7QUFJRjs7QUFGQTtFQUNFO0FBS0YsQyIsImZpbGUiOiJtb2xsaWUtZ2F0ZXdheS1pY29ucy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vbGxpZS1nYXRld2F5LWljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBoZWlnaHQ6IDI0cHg7XG59XG5sYWJlbCAubW9sbGllLWdhdGV3YXktaWNvbntcbiAgZmxvYXQ6cmlnaHQ7XG59XG4ubW9sbGllLWdhdGV3YXktaWNvbiBzdmd7XG4gIGZsb2F0OnJpZ2h0O1xufVxuLm1vbGxpZV9jdXN0b21faWNvbntcbiAgcGFkZGluZzoxZW07XG59XG4jbW9sLXBheXBhbC1zZXR0aW5ncy1pY29ue1xuICBtYXJnaW4tbGVmdDoxZW07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/
|
public/css/unabledButton.min.css
CHANGED
@@ -1 +1,5 @@
|
|
1 |
-
.buttonDisabled{
|
|
|
|
|
|
|
|
1 |
+
.buttonDisabled {
|
2 |
+
opacity: 0.2;
|
3 |
+
}
|
4 |
+
|
5 |
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vdW5hYmxlZEJ1dHRvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7QUFDRixDIiwiZmlsZSI6InVuYWJsZWRCdXR0b24ubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idXR0b25EaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4yO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/
|
public/js/advancedSettings.min.js
CHANGED
@@ -1 +1,156 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./resources/js/advancedSettings.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./resources/js/advancedSettings.js":
|
90 |
+
/*!******************************************!*\
|
91 |
+
!*** ./resources/js/advancedSettings.js ***!
|
92 |
+
\******************************************/
|
93 |
+
/*! no static exports found */
|
94 |
+
/***/ (function(module, exports) {
|
95 |
+
|
96 |
+
(function (_ref) {
|
97 |
+
var _ = _ref._,
|
98 |
+
jQuery = _ref.jQuery;
|
99 |
+
|
100 |
+
function mollie_settings__insertTextAtCursor(target, text, dontIgnoreSelection) {
|
101 |
+
if (target.setRangeText) {
|
102 |
+
if (!dontIgnoreSelection) {
|
103 |
+
// insert at end
|
104 |
+
target.setRangeText(text, target.value.length, target.value.length, "end");
|
105 |
+
} else {
|
106 |
+
// replace selection
|
107 |
+
target.setRangeText(text, target.selectionStart, target.selectionEnd, "end");
|
108 |
+
}
|
109 |
+
} else {
|
110 |
+
target.focus();
|
111 |
+
document.execCommand("insertText", false
|
112 |
+
/*no UI*/
|
113 |
+
, text);
|
114 |
+
}
|
115 |
+
|
116 |
+
target.focus();
|
117 |
+
}
|
118 |
+
|
119 |
+
jQuery(document).ready(function ($) {
|
120 |
+
$(".mollie-settings-advanced-payment-desc-label").data("ignore-click", "false").on("mousedown", function (e) {
|
121 |
+
var input = document.getElementById("mollie-payments-for-woocommerce_api_payment_description");
|
122 |
+
|
123 |
+
if (document.activeElement && input === document.activeElement) {
|
124 |
+
$(this).on("mouseup.molliesettings", function (e) {
|
125 |
+
$(this).data("ignore-click", "true");
|
126 |
+
$(this).off(".molliesettings");
|
127 |
+
var tag = $(this).data("tag");
|
128 |
+
var input = document.getElementById("mollie-payments-for-woocommerce_api_payment_description");
|
129 |
+
mollie_settings__insertTextAtCursor(input, tag, true);
|
130 |
+
});
|
131 |
+
}
|
132 |
+
|
133 |
+
var $this = $(this);
|
134 |
+
$(window).on("mouseup.molliesettings drag.molliesettings blur.molliesettings", function (e) {
|
135 |
+
$this.off(".molliesettings");
|
136 |
+
$(window).off(".molliesettings");
|
137 |
+
});
|
138 |
+
}).on("click", function (e) {
|
139 |
+
e.preventDefault();
|
140 |
+
e.stopImmediatePropagation();
|
141 |
+
|
142 |
+
if ($(this).data("ignore-click") === "false") {
|
143 |
+
var tag = $(this).data("tag");
|
144 |
+
var input = document.getElementById("mollie-payments-for-woocommerce_api_payment_description");
|
145 |
+
mollie_settings__insertTextAtCursor(input, tag, false);
|
146 |
+
} else {
|
147 |
+
$(this).data("ignore-click", "false");
|
148 |
+
}
|
149 |
+
});
|
150 |
+
});
|
151 |
+
})(window);
|
152 |
+
|
153 |
+
/***/ })
|
154 |
+
|
155 |
+
/******/ });
|
156 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FkdmFuY2VkU2V0dGluZ3MuanMiXSwibmFtZXMiOlsiXyIsImpRdWVyeSIsIm1vbGxpZV9zZXR0aW5nc19faW5zZXJ0VGV4dEF0Q3Vyc29yIiwidGFyZ2V0IiwidGV4dCIsImRvbnRJZ25vcmVTZWxlY3Rpb24iLCJzZXRSYW5nZVRleHQiLCJ2YWx1ZSIsImxlbmd0aCIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwiZm9jdXMiLCJkb2N1bWVudCIsImV4ZWNDb21tYW5kIiwicmVhZHkiLCIkIiwiZGF0YSIsIm9uIiwiZSIsImlucHV0IiwiZ2V0RWxlbWVudEJ5SWQiLCJhY3RpdmVFbGVtZW50Iiwib2ZmIiwidGFnIiwiJHRoaXMiLCJ3aW5kb3ciLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiJdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNE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Q0FBbUMsQ0FBQ2lCLEtBQUQsRUFBUUksR0FBUixFQUFhLEtBQWIsQ0FBbkM7TUFDSCxDQUpELE1BSU87UUFDSFIsQ0FBQyxDQUFDLElBQUQsQ0FBRCxDQUFRQyxJQUFSLENBQWEsY0FBYixFQUE2QixPQUE3QjtNQUNIO0lBQ0osQ0E3Qkw7RUErQkgsQ0FoQ0Q7QUFpQ0gsQ0FuREwsRUFzRElTLE1BdERKLEUiLCJmaWxlIjoiYWR2YW5jZWRTZXR0aW5ncy5taW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIi9wdWJsaWMvanMvXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vcmVzb3VyY2VzL2pzL2FkdmFuY2VkU2V0dGluZ3MuanNcIik7XG4iLCIoXG4gICAgZnVuY3Rpb24gKHtfLCBqUXVlcnkgfSkge1xuXG4gICAgICAgIGZ1bmN0aW9uIG1vbGxpZV9zZXR0aW5nc19faW5zZXJ0VGV4dEF0Q3Vyc29yKHRhcmdldCwgdGV4dCwgZG9udElnbm9yZVNlbGVjdGlvbikge1xuICAgICAgICAgICAgaWYgKHRhcmdldC5zZXRSYW5nZVRleHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoICFkb250SWdub3JlU2VsZWN0aW9uICkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbnNlcnQgYXQgZW5kXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRSYW5nZVRleHQodGV4dCwgdGFyZ2V0LnZhbHVlLmxlbmd0aCwgdGFyZ2V0LnZhbHVlLmxlbmd0aCwgXCJlbmRcIik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVwbGFjZSBzZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldFJhbmdlVGV4dCh0ZXh0LCB0YXJnZXQuc2VsZWN0aW9uU3RhcnQsIHRhcmdldC5zZWxlY3Rpb25FbmQsIFwiZW5kXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJpbnNlcnRUZXh0XCIsIGZhbHNlIC8qbm8gVUkqLywgdGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHtcbiAgICAgICAgICAgICQoXCIubW9sbGllLXNldHRpbmdzLWFkdmFuY2VkLXBheW1lbnQtZGVzYy1sYWJlbFwiKVxuICAgICAgICAgICAgICAgIC5kYXRhKFwiaWdub3JlLWNsaWNrXCIsIFwiZmFsc2VcIilcbiAgICAgICAgICAgICAgICAub24oXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibW9sbGllLXBheW1lbnRzLWZvci13b29jb21tZXJjZV9hcGlfcGF5bWVudF9kZXNjcmlwdGlvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIGlucHV0ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbihcIm1vdXNldXAubW9sbGllc2V0dGluZ3NcIiwgZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZGF0YShcImlnbm9yZS1jbGlja1wiLCBcInRydWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vZmYoXCIubW9sbGllc2V0dGluZ3NcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFnID0gJCh0aGlzKS5kYXRhKFwidGFnXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJtb2xsaWUtcGF5bWVudHMtZm9yLXdvb2NvbW1lcmNlX2FwaV9wYXltZW50X2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbGxpZV9zZXR0aW5nc19faW5zZXJ0VGV4dEF0Q3Vyc29yKGlucHV0LCB0YWcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGV0ICR0aGlzID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLm9uKFwibW91c2V1cC5tb2xsaWVzZXR0aW5ncyBkcmFnLm1vbGxpZXNldHRpbmdzIGJsdXIubW9sbGllc2V0dGluZ3NcIiwgZnVuY3Rpb24oZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMub2ZmKFwiLm1vbGxpZXNldHRpbmdzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLm9mZihcIi5tb2xsaWVzZXR0aW5nc1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAub24oXCJjbGlja1wiLCBmdW5jdGlvbihlKSB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCAkKHRoaXMpLmRhdGEoXCJpZ25vcmUtY2xpY2tcIikgPT09IFwiZmFsc2VcIiApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhZyA9ICQodGhpcykuZGF0YShcInRhZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJtb2xsaWUtcGF5bWVudHMtZm9yLXdvb2NvbW1lcmNlX2FwaV9wYXltZW50X2Rlc2NyaXB0aW9uXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9sbGllX3NldHRpbmdzX19pbnNlcnRUZXh0QXRDdXJzb3IoaW5wdXQsIHRhZywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKFwiaWdub3JlLWNsaWNrXCIsIFwiZmFsc2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgO1xuICAgICAgICB9KTtcbiAgICB9XG4pXG4oXG4gICAgd2luZG93XG4pXG4iXSwic291cmNlUm9vdCI6IiJ9
|
public/js/applepay.min.js
CHANGED
@@ -1 +1,117 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./resources/js/applepay.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./resources/js/applepay.js":
|
90 |
+
/*!**********************************!*\
|
91 |
+
!*** ./resources/js/applepay.js ***!
|
92 |
+
\**********************************/
|
93 |
+
/*! no static exports found */
|
94 |
+
/***/ (function(module, exports) {
|
95 |
+
|
96 |
+
(function (ApplePaySession) {
|
97 |
+
document.addEventListener('DOMContentLoaded', function () {
|
98 |
+
var applePayMethodElement = document.querySelector('.payment_method_mollie_wc_gateway_applepay');
|
99 |
+
var woocommerceCheckoutForm = document.querySelector('form.woocommerce-checkout');
|
100 |
+
|
101 |
+
if (!woocommerceCheckoutForm) {
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
|
105 |
+
if (!ApplePaySession || !ApplePaySession.canMakePayments()) {
|
106 |
+
applePayMethodElement && applePayMethodElement.parentNode.removeChild(applePayMethodElement);
|
107 |
+
return;
|
108 |
+
}
|
109 |
+
|
110 |
+
woocommerceCheckoutForm.insertAdjacentHTML('beforeend', '<input type="hidden" name="mollie_apple_pay_method_allowed" value="1" />');
|
111 |
+
});
|
112 |
+
})(window.ApplePaySession);
|
113 |
+
|
114 |
+
/***/ })
|
115 |
+
|
116 |
+
/******/ });
|
117 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlcGF5LmpzIl0sIm5hbWVzIjpbIkFwcGxlUGF5U2Vzc2lvbiIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImFwcGxlUGF5TWV0aG9kRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJ3b29jb21tZXJjZUNoZWNrb3V0Rm9ybSIsImNhbk1ha2VQYXltZW50cyIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsImluc2VydEFkamFjZW50SFRNTCIsIndpbmRvdyJdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNELCtEQUErRDs7UUFFckg7UUFDQTs7O1FBR0E7UUFDQTs7Ozs7Ozs7Ozs7O0FDbEZBLENBQUMsVUFBVUEsZUFBVixFQUEyQjtFQUUxQkMsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixrQkFBMUIsRUFBOEMsWUFBWTtJQUN4RCxJQUFJQyxxQkFBcUIsR0FBR0YsUUFBUSxDQUFDRyxhQUFULENBQzFCLDRDQUQwQixDQUE1QjtJQUlBLElBQUlDLHVCQUF1QixHQUFHSixRQUFRLENBQUNHLGFBQVQsQ0FDNUIsMkJBRDRCLENBQTlCOztJQUlBLElBQUksQ0FBQ0MsdUJBQUwsRUFBOEI7TUFDNUI7SUFDRDs7SUFFRCxJQUFJLENBQUNMLGVBQUQsSUFBb0IsQ0FBQ0EsZUFBZSxDQUFDTSxlQUFoQixFQUF6QixFQUE0RDtNQUMxREgscUJBQXFCLElBQ3JCQSxxQkFBcUIsQ0FBQ0ksVUFBdEIsQ0FBaUNDLFdBQWpDLENBQTZDTCxxQkFBN0MsQ0FEQTtNQUVBO0lBQ0Q7O0lBRURFLHVCQUF1QixDQUFDSSxrQkFBeEIsQ0FDRSxXQURGLEVBRUUsMEVBRkY7RUFJRCxDQXZCRDtBQXdCRCxDQTFCRCxFQTBCR0MsTUFBTSxDQUFDVixlQTFCVixFIiwiZmlsZSI6ImFwcGxlcGF5Lm1pbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL3B1YmxpYy9qcy9cIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9yZXNvdXJjZXMvanMvYXBwbGVwYXkuanNcIik7XG4iLCIoZnVuY3Rpb24gKEFwcGxlUGF5U2Vzc2lvbikge1xuXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGFwcGxlUGF5TWV0aG9kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnBheW1lbnRfbWV0aG9kX21vbGxpZV93Y19nYXRld2F5X2FwcGxlcGF5JyxcbiAgICApXG5cbiAgICB2YXIgd29vY29tbWVyY2VDaGVja291dEZvcm0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJ2Zvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQnLFxuICAgIClcblxuICAgIGlmICghd29vY29tbWVyY2VDaGVja291dEZvcm0pIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghQXBwbGVQYXlTZXNzaW9uIHx8ICFBcHBsZVBheVNlc3Npb24uY2FuTWFrZVBheW1lbnRzKCkpIHtcbiAgICAgIGFwcGxlUGF5TWV0aG9kRWxlbWVudCAmJlxuICAgICAgYXBwbGVQYXlNZXRob2RFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYXBwbGVQYXlNZXRob2RFbGVtZW50KVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgd29vY29tbWVyY2VDaGVja291dEZvcm0uaW5zZXJ0QWRqYWNlbnRIVE1MKFxuICAgICAgJ2JlZm9yZWVuZCcsXG4gICAgICAnPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwibW9sbGllX2FwcGxlX3BheV9tZXRob2RfYWxsb3dlZFwiIHZhbHVlPVwiMVwiIC8+JyxcbiAgICApXG4gIH0pXG59KSh3aW5kb3cuQXBwbGVQYXlTZXNzaW9uKVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
public/js/applepayButtonBlockComponent.min.js
CHANGED
@@ -1 +1,427 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./resources/js/applepayButtonBlockComponent.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./resources/js/applePayError.js":
|
90 |
+
/*!***************************************!*\
|
91 |
+
!*** ./resources/js/applePayError.js ***!
|
92 |
+
\***************************************/
|
93 |
+
/*! exports provided: createAppleErrors */
|
94 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
__webpack_require__.r(__webpack_exports__);
|
98 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createAppleErrors", function() { return createAppleErrors; });
|
99 |
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
100 |
+
|
101 |
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
102 |
+
|
103 |
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
104 |
+
|
105 |
+
function createAppleErrors(errors) {
|
106 |
+
var errorList = [];
|
107 |
+
|
108 |
+
var _iterator = _createForOfIteratorHelper(errors),
|
109 |
+
_step;
|
110 |
+
|
111 |
+
try {
|
112 |
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
113 |
+
var error = _step.value;
|
114 |
+
var _error$contactField = error.contactField,
|
115 |
+
contactField = _error$contactField === void 0 ? null : _error$contactField,
|
116 |
+
_error$code = error.code,
|
117 |
+
code = _error$code === void 0 ? null : _error$code,
|
118 |
+
_error$message = error.message,
|
119 |
+
message = _error$message === void 0 ? null : _error$message;
|
120 |
+
var appleError = contactField ? new ApplePayError(code, contactField, message) : new ApplePayError(code);
|
121 |
+
errorList.push(appleError);
|
122 |
+
}
|
123 |
+
} catch (err) {
|
124 |
+
_iterator.e(err);
|
125 |
+
} finally {
|
126 |
+
_iterator.f();
|
127 |
+
}
|
128 |
+
|
129 |
+
return errorList;
|
130 |
+
}
|
131 |
+
|
132 |
+
/***/ }),
|
133 |
+
|
134 |
+
/***/ "./resources/js/applePayRequest.js":
|
135 |
+
/*!*****************************************!*\
|
136 |
+
!*** ./resources/js/applePayRequest.js ***!
|
137 |
+
\*****************************************/
|
138 |
+
/*! exports provided: request */
|
139 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
140 |
+
|
141 |
+
"use strict";
|
142 |
+
__webpack_require__.r(__webpack_exports__);
|
143 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; });
|
144 |
+
var request = function request(countryCode, currencyCode, totalLabel, subtotal) {
|
145 |
+
return {
|
146 |
+
countryCode: countryCode,
|
147 |
+
currencyCode: currencyCode,
|
148 |
+
supportedNetworks: ['amex', 'maestro', 'masterCard', 'visa', 'vPay'],
|
149 |
+
merchantCapabilities: ['supports3DS'],
|
150 |
+
shippingType: 'shipping',
|
151 |
+
requiredBillingContactFields: ['postalAddress', 'email'],
|
152 |
+
requiredShippingContactFields: ['postalAddress', 'email'],
|
153 |
+
total: {
|
154 |
+
label: totalLabel,
|
155 |
+
amount: subtotal,
|
156 |
+
type: 'final'
|
157 |
+
}
|
158 |
+
};
|
159 |
+
};
|
160 |
+
|
161 |
+
/***/ }),
|
162 |
+
|
163 |
+
/***/ "./resources/js/applepayButtonBlockComponent.js":
|
164 |
+
/*!******************************************************!*\
|
165 |
+
!*** ./resources/js/applepayButtonBlockComponent.js ***!
|
166 |
+
\******************************************************/
|
167 |
+
/*! no exports provided */
|
168 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
169 |
+
|
170 |
+
"use strict";
|
171 |
+
__webpack_require__.r(__webpack_exports__);
|
172 |
+
/* harmony import */ var _maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./maybeShowApplePayButton.js */ "./resources/js/maybeShowApplePayButton.js");
|
173 |
+
/* harmony import */ var _applePayRequest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applePayRequest */ "./resources/js/applePayRequest.js");
|
174 |
+
/* harmony import */ var _applePayError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./applePayError */ "./resources/js/applePayError.js");
|
175 |
+
|
176 |
+
|
177 |
+
|
178 |
+
|
179 |
+
(function (_ref) {
|
180 |
+
var mollieApplePayBlockDataCart = _ref.mollieApplePayBlockDataCart;
|
181 |
+
|
182 |
+
if (mollieApplePayBlockDataCart.length === 0) {
|
183 |
+
return;
|
184 |
+
}
|
185 |
+
|
186 |
+
var _mollieApplePayBlockD = mollieApplePayBlockDataCart.product,
|
187 |
+
_mollieApplePayBlockD2 = _mollieApplePayBlockD.needShipping,
|
188 |
+
needShipping = _mollieApplePayBlockD2 === void 0 ? true : _mollieApplePayBlockD2,
|
189 |
+
subtotal = _mollieApplePayBlockD.subtotal,
|
190 |
+
_mollieApplePayBlockD3 = mollieApplePayBlockDataCart.shop,
|
191 |
+
countryCode = _mollieApplePayBlockD3.countryCode,
|
192 |
+
_mollieApplePayBlockD4 = _mollieApplePayBlockD3.currencyCode,
|
193 |
+
currencyCode = _mollieApplePayBlockD4 === void 0 ? 'EUR' : _mollieApplePayBlockD4,
|
194 |
+
_mollieApplePayBlockD5 = _mollieApplePayBlockD3.totalLabel,
|
195 |
+
totalLabel = _mollieApplePayBlockD5 === void 0 ? '' : _mollieApplePayBlockD5,
|
196 |
+
buttonMarkup = mollieApplePayBlockDataCart.buttonMarkup,
|
197 |
+
ajaxUrl = mollieApplePayBlockDataCart.ajaxUrl;
|
198 |
+
var registerPlugin = wp.plugins.registerPlugin;
|
199 |
+
var ExperimentalOrderMeta = wc.blocksCheckout.ExperimentalOrderMeta;
|
200 |
+
|
201 |
+
var ApplePayButtonComponent = function ApplePayButtonComponent(_ref2) {
|
202 |
+
var cart = _ref2.cart,
|
203 |
+
extensions = _ref2.extensions;
|
204 |
+
return /*#__PURE__*/React.createElement("div", {
|
205 |
+
dangerouslySetInnerHTML: {
|
206 |
+
__html: buttonMarkup
|
207 |
+
}
|
208 |
+
});
|
209 |
+
};
|
210 |
+
|
211 |
+
var MollieApplePayButtonCart = function MollieApplePayButtonCart() {
|
212 |
+
return /*#__PURE__*/React.createElement(ExperimentalOrderMeta, null, /*#__PURE__*/React.createElement(ApplePayButtonComponent, null));
|
213 |
+
};
|
214 |
+
|
215 |
+
registerPlugin('mollie-applepay-block-button', {
|
216 |
+
render: function render() {
|
217 |
+
return /*#__PURE__*/React.createElement(MollieApplePayButtonCart, null);
|
218 |
+
},
|
219 |
+
scope: 'woocommerce-checkout'
|
220 |
+
});
|
221 |
+
setTimeout(function () {
|
222 |
+
if (!Object(_maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_0__["maybeShowButton"])()) {
|
223 |
+
return;
|
224 |
+
}
|
225 |
+
|
226 |
+
var nonce = document.getElementById("woocommerce-process-checkout-nonce").value;
|
227 |
+
var updatedContactInfo = [];
|
228 |
+
var selectedShippingMethod = [];
|
229 |
+
var redirectionUrl = '';
|
230 |
+
|
231 |
+
var applePaySession = function applePaySession() {
|
232 |
+
var session = new ApplePaySession(3, Object(_applePayRequest__WEBPACK_IMPORTED_MODULE_1__["request"])(countryCode, currencyCode, totalLabel, subtotal));
|
233 |
+
session.begin();
|
234 |
+
|
235 |
+
session.onshippingmethodselected = function (event) {
|
236 |
+
var _this = this;
|
237 |
+
|
238 |
+
jQuery.ajax({
|
239 |
+
url: ajaxUrl,
|
240 |
+
method: 'POST',
|
241 |
+
data: {
|
242 |
+
action: 'mollie_apple_pay_update_shipping_method',
|
243 |
+
shippingMethod: event.shippingMethod,
|
244 |
+
callerPage: 'cart',
|
245 |
+
simplifiedContact: updatedContactInfo,
|
246 |
+
'woocommerce-process-checkout-nonce': nonce
|
247 |
+
},
|
248 |
+
complete: function complete(jqXHR, textStatus) {},
|
249 |
+
success: function success(applePayShippingMethodUpdate, textStatus, jqXHR) {
|
250 |
+
var response = applePayShippingMethodUpdate.data;
|
251 |
+
selectedShippingMethod = event.shippingMethod;
|
252 |
+
|
253 |
+
if (applePayShippingMethodUpdate.success === false) {
|
254 |
+
response.errors = Object(_applePayError__WEBPACK_IMPORTED_MODULE_2__["createAppleErrors"])(response.errors);
|
255 |
+
}
|
256 |
+
|
257 |
+
_this.completeShippingMethodSelection(response);
|
258 |
+
},
|
259 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
260 |
+
console.warn(textStatus, errorThrown);
|
261 |
+
session.abort();
|
262 |
+
}
|
263 |
+
});
|
264 |
+
};
|
265 |
+
|
266 |
+
session.onshippingcontactselected = function (event) {
|
267 |
+
var _this2 = this;
|
268 |
+
|
269 |
+
jQuery.ajax({
|
270 |
+
url: ajaxUrl,
|
271 |
+
method: 'POST',
|
272 |
+
data: {
|
273 |
+
action: 'mollie_apple_pay_update_shipping_contact',
|
274 |
+
simplifiedContact: event.shippingContact,
|
275 |
+
callerPage: 'cart',
|
276 |
+
needShipping: needShipping,
|
277 |
+
'woocommerce-process-checkout-nonce': nonce
|
278 |
+
},
|
279 |
+
complete: function complete(jqXHR, textStatus) {},
|
280 |
+
success: function success(applePayShippingContactUpdate, textStatus, jqXHR) {
|
281 |
+
var response = applePayShippingContactUpdate.data;
|
282 |
+
updatedContactInfo = event.shippingContact;
|
283 |
+
|
284 |
+
if (applePayShippingContactUpdate.success === false) {
|
285 |
+
response.errors = Object(_applePayError__WEBPACK_IMPORTED_MODULE_2__["createAppleErrors"])(response.errors);
|
286 |
+
}
|
287 |
+
|
288 |
+
if (response.newShippingMethods) {
|
289 |
+
selectedShippingMethod = response.newShippingMethods[0];
|
290 |
+
}
|
291 |
+
|
292 |
+
_this2.completeShippingContactSelection(response);
|
293 |
+
},
|
294 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
295 |
+
console.warn(textStatus, errorThrown);
|
296 |
+
session.abort();
|
297 |
+
}
|
298 |
+
});
|
299 |
+
};
|
300 |
+
|
301 |
+
session.onvalidatemerchant = function (applePayValidateMerchantEvent) {
|
302 |
+
jQuery.ajax({
|
303 |
+
url: ajaxUrl,
|
304 |
+
method: 'POST',
|
305 |
+
data: {
|
306 |
+
action: 'mollie_apple_pay_validation',
|
307 |
+
validationUrl: applePayValidateMerchantEvent.validationURL,
|
308 |
+
'woocommerce-process-checkout-nonce': nonce
|
309 |
+
},
|
310 |
+
complete: function complete(jqXHR, textStatus) {},
|
311 |
+
success: function success(merchantSession, textStatus, jqXHR) {
|
312 |
+
if (merchantSession.success === true) {
|
313 |
+
session.completeMerchantValidation(JSON.parse(merchantSession.data));
|
314 |
+
} else {
|
315 |
+
console.warn(merchantSession.data);
|
316 |
+
session.abort();
|
317 |
+
}
|
318 |
+
},
|
319 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
320 |
+
console.warn(textStatus, errorThrown);
|
321 |
+
session.abort();
|
322 |
+
}
|
323 |
+
});
|
324 |
+
};
|
325 |
+
|
326 |
+
session.onpaymentauthorized = function (ApplePayPayment) {
|
327 |
+
var _ApplePayPayment$paym = ApplePayPayment.payment,
|
328 |
+
billingContact = _ApplePayPayment$paym.billingContact,
|
329 |
+
shippingContact = _ApplePayPayment$paym.shippingContact;
|
330 |
+
jQuery.ajax({
|
331 |
+
url: ajaxUrl,
|
332 |
+
method: 'POST',
|
333 |
+
data: {
|
334 |
+
action: 'mollie_apple_pay_create_order_cart',
|
335 |
+
shippingContact: ApplePayPayment.payment.shippingContact,
|
336 |
+
billingContact: ApplePayPayment.payment.billingContact,
|
337 |
+
token: ApplePayPayment.payment.token,
|
338 |
+
shippingMethod: selectedShippingMethod,
|
339 |
+
'mollie-payments-for-woocommerce_issuer_applepay': 'applepay',
|
340 |
+
'woocommerce-process-checkout-nonce': nonce,
|
341 |
+
'billing_first_name': billingContact.givenName || '',
|
342 |
+
'billing_last_name': billingContact.familyName || '',
|
343 |
+
'billing_company': '',
|
344 |
+
'billing_country': billingContact.countryCode || '',
|
345 |
+
'billing_address_1': billingContact.addressLines[0] || '',
|
346 |
+
'billing_address_2': billingContact.addressLines[1] || '',
|
347 |
+
'billing_postcode': billingContact.postalCode || '',
|
348 |
+
'billing_city': billingContact.locality || '',
|
349 |
+
'billing_state': billingContact.administrativeArea || '',
|
350 |
+
'billing_phone': billingContact.phoneNumber || '000000000000',
|
351 |
+
'billing_email': shippingContact.emailAddress || '',
|
352 |
+
'shipping_first_name': shippingContact.givenName || '',
|
353 |
+
'shipping_last_name': shippingContact.familyName || '',
|
354 |
+
'shipping_company': '',
|
355 |
+
'shipping_country': shippingContact.countryCode || '',
|
356 |
+
'shipping_address_1': shippingContact.addressLines[0] || '',
|
357 |
+
'shipping_address_2': shippingContact.addressLines[1] || '',
|
358 |
+
'shipping_postcode': shippingContact.postalCode || '',
|
359 |
+
'shipping_city': shippingContact.locality || '',
|
360 |
+
'shipping_state': shippingContact.administrativeArea || '',
|
361 |
+
'shipping_phone': shippingContact.phoneNumber || '000000000000',
|
362 |
+
'shipping_email': shippingContact.emailAddress || '',
|
363 |
+
'order_comments': '',
|
364 |
+
'payment_method': 'mollie_wc_gateway_applepay',
|
365 |
+
'_wp_http_referer': '/?wc-ajax=update_order_review'
|
366 |
+
},
|
367 |
+
complete: function complete(jqXHR, textStatus) {},
|
368 |
+
success: function success(authorizationResult, textStatus, jqXHR) {
|
369 |
+
var result = authorizationResult.data;
|
370 |
+
|
371 |
+
if (authorizationResult.success === true) {
|
372 |
+
redirectionUrl = result['returnUrl'];
|
373 |
+
session.completePayment(result['responseToApple']);
|
374 |
+
window.location.href = redirectionUrl;
|
375 |
+
} else {
|
376 |
+
result.errors = Object(_applePayError__WEBPACK_IMPORTED_MODULE_2__["createAppleErrors"])(result.errors);
|
377 |
+
session.completePayment(result);
|
378 |
+
}
|
379 |
+
},
|
380 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
381 |
+
console.warn(textStatus, errorThrown);
|
382 |
+
session.abort();
|
383 |
+
}
|
384 |
+
});
|
385 |
+
};
|
386 |
+
};
|
387 |
+
|
388 |
+
document.querySelector('#mollie_applepay_button').addEventListener('click', function (evt) {
|
389 |
+
applePaySession();
|
390 |
+
});
|
391 |
+
}, 2000);
|
392 |
+
})(window);
|
393 |
+
|
394 |
+
/***/ }),
|
395 |
+
|
396 |
+
/***/ "./resources/js/maybeShowApplePayButton.js":
|
397 |
+
/*!*************************************************!*\
|
398 |
+
!*** ./resources/js/maybeShowApplePayButton.js ***!
|
399 |
+
\*************************************************/
|
400 |
+
/*! exports provided: maybeShowButton */
|
401 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
402 |
+
|
403 |
+
"use strict";
|
404 |
+
__webpack_require__.r(__webpack_exports__);
|
405 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "maybeShowButton", function() { return maybeShowButton; });
|
406 |
+
var maybeShowButton = function maybeShowButton() {
|
407 |
+
var _window = window,
|
408 |
+
ApplePaySession = _window.ApplePaySession;
|
409 |
+
var applePayMethodElement = document.querySelector('#mollie-applepayDirect-button');
|
410 |
+
var canShowButton = applePayMethodElement && ApplePaySession && ApplePaySession.canMakePayments();
|
411 |
+
|
412 |
+
if (!canShowButton) {
|
413 |
+
return false;
|
414 |
+
}
|
415 |
+
|
416 |
+
var button = document.createElement('button');
|
417 |
+
button.setAttribute('id', 'mollie_applepay_button');
|
418 |
+
button.classList.add('apple-pay-button');
|
419 |
+
button.classList.add('apple-pay-button-black');
|
420 |
+
applePayMethodElement.appendChild(button);
|
421 |
+
return true;
|
422 |
+
};
|
423 |
+
|
424 |
+
/***/ })
|
425 |
+
|
426 |
+
/******/ });
|
427 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5RXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5UmVxdWVzdC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYXBwbGVwYXlCdXR0b25CbG9ja0NvbXBvbmVudC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbWF5YmVTaG93QXBwbGVQYXlCdXR0b24uanMiXSwibmFtZXMiOlsiY3JlYXRlQXBwbGVFcnJvcnMiLCJlcnJvcnMiLCJlcnJvckxpc3QiLCJlcnJvciIsImNvbnRhY3RGaWVsZCIsImNvZGUiLCJtZXNzYWdlIiwiYXBwbGVFcnJvciIsIkFwcGxlUGF5RXJyb3IiLCJwdXNoIiwicmVxdWVzdCIsImNvdW50cnlDb2RlIiwiY3VycmVuY3lDb2RlIiwidG90YWxMYWJlbCIsInN1YnRvdGFsIiwic3VwcG9ydGVkTmV0d29ya3MiLCJtZXJjaGFudENhcGFiaWxpdGllcyIsInNoaXBwaW5nVHlwZSIsInJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMiLCJyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyIsInRvdGFsIiwibGFiZWwiLCJhbW91bnQiLCJ0eXBlIiwibW9sbGllQXBwbGVQYXlCbG9ja0RhdGFDYXJ0IiwibGVuZ3RoIiwicHJvZHVjdCIsIm5lZWRTaGlwcGluZyIsInNob3AiLCJidXR0b25NYXJrdXAiLCJhamF4VXJsIiwicmVnaXN0ZXJQbHVnaW4iLCJ3cCIsInBsdWdpbnMiLCJFeHBlcmltZW50YWxPcmRlck1ldGEiLCJ3YyIsImJsb2Nrc0NoZWNrb3V0IiwiQXBwbGVQYXlCdXR0b25Db21wb25lbnQiLCJjYXJ0IiwiZXh0ZW5zaW9ucyIsIl9faHRtbCIsIk1vbGxpZUFwcGxlUGF5QnV0dG9uQ2FydCIsInJlbmRlciIsInNjb3BlIiwic2V0VGltZW91dCIsIm1heWJlU2hvd0J1dHRvbiIsIm5vbmNlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInZhbHVlIiwidXBkYXRlZENvbnRhY3RJbmZvIiwic2VsZWN0ZWRTaGlwcGluZ01ldGhvZCIsInJlZGlyZWN0aW9uVXJsIiwiYXBwbGVQYXlTZXNzaW9uIiwic2Vzc2lvbiIsIkFwcGxlUGF5U2Vzc2lvbiIsImJlZ2luIiwib25zaGlwcGluZ21ldGhvZHNlbGVjdGVkIiwiZXZlbnQiLCJqUXVlcnkiLCJhamF4IiwidXJsIiwibWV0aG9kIiwiZGF0YSIsImFjdGlvbiIsInNoaXBwaW5nTWV0aG9kIiwiY2FsbGVyUGFnZSIsInNpbXBsaWZpZWRDb250YWN0IiwiY29tcGxldGUiLCJqcVhIUiIsInRleHRTdGF0dXMiLCJzdWNjZXNzIiwiYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSIsInJlc3BvbnNlIiwiY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbiIsImVycm9yVGhyb3duIiwiY29uc29sZSIsIndhcm4iLCJhYm9ydCIsIm9uc2hpcHBpbmdjb250YWN0c2VsZWN0ZWQiLCJzaGlwcGluZ0NvbnRhY3QiLCJhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSIsIm5ld1NoaXBwaW5nTWV0aG9kcyIsImNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uIiwib252YWxpZGF0ZW1lcmNoYW50IiwiYXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQiLCJ2YWxpZGF0aW9uVXJsIiwidmFsaWRhdGlvblVSTCIsIm1lcmNoYW50U2Vzc2lvbiIsImNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uIiwiSlNPTiIsInBhcnNlIiwib25wYXltZW50YXV0aG9yaXplZCIsIkFwcGxlUGF5UGF5bWVudCIsInBheW1lbnQiLCJiaWxsaW5nQ29udGFjdCIsInRva2VuIiwiZ2l2ZW5OYW1lIiwiZmFtaWx5TmFtZSIsImFkZHJlc3NMaW5lcyIsInBvc3RhbENvZGUiLCJsb2NhbGl0eSIsImFkbWluaXN0cmF0aXZlQXJlYSIsInBob25lTnVtYmVyIiwiZW1haWxBZGRyZXNzIiwiYXV0aG9yaXphdGlvblJlc3VsdCIsInJlc3VsdCIsImNvbXBsZXRlUGF5bWVudCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInF1ZXJ5U2VsZWN0b3IiLCJhZGRFdmVudExpc3RlbmVyIiwiZXZ0IiwiYXBwbGVQYXlNZXRob2RFbGVtZW50IiwiY2FuU2hvd0J1dHRvbiIsImNhbk1ha2VQYXltZW50cyIsImJ1dHRvbiIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJjbGFzc0xpc3QiLCJhZGQiLCJhcHBlbmRDaGlsZCJdLCJtYXBwaW5ncyI6IjtRQUFBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBOzs7UUFHQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMENBQTBDLGdDQUFnQztRQUMxRTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLHdEQUF3RCxrQkFBa0I7UUFDMUU7UUFDQSxpREFBaUQsY0FBYztRQUMvRDs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0EseUNBQXlDLGlDQUFpQztRQUMxRSxnSEFBZ0gsbUJBQW1CLEVBQUU7UUFDckk7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSwyQkFBMkIsMEJBQTBCLEVBQUU7UUFDdkQsaUNBQWlDLGVBQWU7UUFDaEQ7UUFDQTtRQUNBOztRQUVBO1FBQ0Esc0RBQXNELCtEQUErRDs7UUFFckg7UUFDQTs7O1FBR0E7UUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbEZPLFNBQVNBLGlCQUFULENBQTJCQyxNQUEzQixFQUFtQztFQUN0QyxJQUFNQyxTQUFTLEdBQUcsRUFBbEI7O0VBRHNDLDJDQUVsQkQsTUFGa0I7RUFBQTs7RUFBQTtJQUV0QyxvREFBNEI7TUFB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QUFQO0VBQ0EsSUFBTTJELHFCQUFxQixHQUFHbkUsUUFBUSxDQUFDZ0UsYUFBVCxDQUMxQiwrQkFEMEIsQ0FBOUI7RUFHQSxJQUFNSSxhQUFhLEdBQUdELHFCQUFxQixJQUFLM0QsZUFBZSxJQUFJQSxlQUFlLENBQUM2RCxlQUFoQixFQUFuRTs7RUFDQSxJQUFJLENBQUNELGFBQUwsRUFBb0I7SUFDaEIsT0FBTyxLQUFQO0VBQ0g7O0VBQ0QsSUFBTUUsTUFBTSxHQUFHdEUsUUFBUSxDQUFDdUUsYUFBVCxDQUF1QixRQUF2QixDQUFmO0VBQ0FELE1BQU0sQ0FBQ0UsWUFBUCxDQUFvQixJQUFwQixFQUEwQix3QkFBMUI7RUFDQUYsTUFBTSxDQUFDRyxTQUFQLENBQWlCQyxHQUFqQixDQUFxQixrQkFBckI7RUFDQUosTUFBTSxDQUFDRyxTQUFQLENBQWlCQyxHQUFqQixDQUFxQix3QkFBckI7RUFDQVAscUJBQXFCLENBQUNRLFdBQXRCLENBQWtDTCxNQUFsQztFQUNBLE9BQU8sSUFBUDtBQUNILENBZk0sQyIsImZpbGUiOiJhcHBsZXBheUJ1dHRvbkJsb2NrQ29tcG9uZW50Lm1pbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiL3B1YmxpYy9qcy9cIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9yZXNvdXJjZXMvanMvYXBwbGVwYXlCdXR0b25CbG9ja0NvbXBvbmVudC5qc1wiKTtcbiIsImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHBsZUVycm9ycyhlcnJvcnMpIHtcbiAgICBjb25zdCBlcnJvckxpc3QgPSBbXVxuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JzKSB7XG4gICAgICAgIGNvbnN0IHtjb250YWN0RmllbGQgPSBudWxsLCBjb2RlID0gbnVsbCwgbWVzc2FnZSA9IG51bGx9ID0gZXJyb3JcbiAgICAgICAgY29uc3QgYXBwbGVFcnJvciA9IGNvbnRhY3RGaWVsZCA/IG5ldyBBcHBsZVBheUVycm9yKGNvZGUsIGNvbnRhY3RGaWVsZCwgbWVzc2FnZSkgOiBuZXcgQXBwbGVQYXlFcnJvcihjb2RlKVxuICAgICAgICBlcnJvckxpc3QucHVzaChhcHBsZUVycm9yKVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvckxpc3Rcbn1cbiIsImV4cG9ydCBjb25zdCByZXF1ZXN0ID0gKGNvdW50cnlDb2RlLCBjdXJyZW5jeUNvZGUsIHRvdGFsTGFiZWwsIHN1YnRvdGFsKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY291bnRyeUNvZGU6IGNvdW50cnlDb2RlLFxuICAgICAgICBjdXJyZW5jeUNvZGU6IGN1cnJlbmN5Q29kZSxcbiAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsnYW1leCcsICdtYWVzdHJvJywgJ21hc3RlckNhcmQnLCAndmlzYScsICd2UGF5J10sXG4gICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sXG4gICAgICAgIHNoaXBwaW5nVHlwZTogJ3NoaXBwaW5nJyxcbiAgICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogW1xuICAgICAgICAgICAgJ3Bvc3RhbEFkZHJlc3MnLFxuICAgICAgICAgICAgJ2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogW1xuICAgICAgICAgICAgJ3Bvc3RhbEFkZHJlc3MnLFxuICAgICAgICAgICAgJ2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgbGFiZWw6IHRvdGFsTGFiZWwsXG4gICAgICAgICAgICBhbW91bnQ6IHN1YnRvdGFsLFxuICAgICAgICAgICAgdHlwZTogJ2ZpbmFsJ1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiaW1wb3J0IHttYXliZVNob3dCdXR0b259IGZyb20gJy4vbWF5YmVTaG93QXBwbGVQYXlCdXR0b24uanMnO1xuaW1wb3J0IHtyZXF1ZXN0fSBmcm9tIFwiLi9hcHBsZVBheVJlcXVlc3RcIjtcbmltcG9ydCB7Y3JlYXRlQXBwbGVFcnJvcnN9IGZyb20gXCIuL2FwcGxlUGF5RXJyb3JcIjtcblxuKFxuICAgIGZ1bmN0aW9uICh7bW9sbGllQXBwbGVQYXlCbG9ja0RhdGFDYXJ0fSlcbiAgICB7XG4gICAgICAgIGlmIChtb2xsaWVBcHBsZVBheUJsb2NrRGF0YUNhcnQubGVuZ3RoID09PSAwICkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qge3Byb2R1Y3Q6IHtuZWVkU2hpcHBpbmcgPSB0cnVlLCBzdWJ0b3RhbH0sIHNob3A6IHtjb3VudHJ5Q29kZSwgY3VycmVuY3lDb2RlID0gJ0VVUicsIHRvdGFsTGFiZWwgPSAnJ30sIGJ1dHRvbk1hcmt1cCwgYWpheFVybH0gPSBtb2xsaWVBcHBsZVBheUJsb2NrRGF0YUNhcnRcblxuICAgICAgICBjb25zdCB7IHJlZ2lzdGVyUGx1Z2luIH0gPSB3cC5wbHVnaW5zO1xuICAgICAgICBjb25zdCB7IEV4cGVyaW1lbnRhbE9yZGVyTWV0YSB9ID0gd2MuYmxvY2tzQ2hlY2tvdXQ7XG4gICAgICAgIGNvbnN0IEFwcGxlUGF5QnV0dG9uQ29tcG9uZW50ID0gKCB7IGNhcnQsIGV4dGVuc2lvbnMgfSApID0+IHtcbiAgICAgICAgICAgIHJldHVybiA8ZGl2IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXsge19faHRtbDogYnV0dG9uTWFya3VwfSB9Lz5cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBNb2xsaWVBcHBsZVBheUJ1dHRvbkNhcnQgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gIDxFeHBlcmltZW50YWxPcmRlck1ldGE+XG4gICAgICAgICAgICAgICAgPEFwcGxlUGF5QnV0dG9uQ29tcG9uZW50IC8+XG4gICAgICAgICAgICA8L0V4cGVyaW1lbnRhbE9yZGVyTWV0YT5cbiAgICAgICAgfTtcblxuICAgICAgICByZWdpc3RlclBsdWdpbiggJ21vbGxpZS1hcHBsZXBheS1ibG9jay1idXR0b24nLCB7XG4gICAgICAgICAgICByZW5kZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gPE1vbGxpZUFwcGxlUGF5QnV0dG9uQ2FydCAvPjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY29wZTogJ3dvb2NvbW1lcmNlLWNoZWNrb3V0J1xuICAgICAgICB9ICk7XG5cbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpe1xuICAgICAgICAgICAgaWYoIW1heWJlU2hvd0J1dHRvbigpKXtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG5vbmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ3b29jb21tZXJjZS1wcm9jZXNzLWNoZWNrb3V0LW5vbmNlXCIpLnZhbHVlXG4gICAgICAgICAgICBsZXQgdXBkYXRlZENvbnRhY3RJbmZvID0gW11cbiAgICAgICAgICAgIGxldCBzZWxlY3RlZFNoaXBwaW5nTWV0aG9kID0gW11cbiAgICAgICAgICAgIGxldCByZWRpcmVjdGlvblVybCA9ICcnXG4gICAgICAgICAgICBsZXQgYXBwbGVQYXlTZXNzaW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QoY291bnRyeUNvZGUsIGN1cnJlbmN5Q29kZSwgdG90YWxMYWJlbCwgc3VidG90YWwpKVxuICAgICAgICAgICAgICAgIHNlc3Npb24uYmVnaW4oKVxuICAgICAgICAgICAgICAgIHNlc3Npb24ub25zaGlwcGluZ21ldGhvZHNlbGVjdGVkID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGpRdWVyeS5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYWpheFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ21vbGxpZV9hcHBsZV9wYXlfdXBkYXRlX3NoaXBwaW5nX21ldGhvZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Q6IGV2ZW50LnNoaXBwaW5nTWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlclBhZ2U6ICdjYXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaW1wbGlmaWVkQ29udGFjdDogdXBkYXRlZENvbnRhY3RJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b29jb21tZXJjZS1wcm9jZXNzLWNoZWNrb3V0LW5vbmNlJzogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IChqcVhIUiwgdGV4dFN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IChhcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLCB0ZXh0U3RhdHVzLCBqcVhIUikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZSA9IGFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkU2hpcHBpbmdNZXRob2QgPSBldmVudC5zaGlwcGluZ01ldGhvZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmVycm9ycyA9IGNyZWF0ZUFwcGxlRXJyb3JzKHJlc3BvbnNlLmVycm9ycylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHJlc3BvbnNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiAoanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHRleHRTdGF0dXMsIGVycm9yVGhyb3duKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2Vzc2lvbi5vbnNoaXBwaW5nY29udGFjdHNlbGVjdGVkID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGpRdWVyeS5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYWpheFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ21vbGxpZV9hcHBsZV9wYXlfdXBkYXRlX3NoaXBwaW5nX2NvbnRhY3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbXBsaWZpZWRDb250YWN0OiBldmVudC5zaGlwcGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVyUGFnZTogJ2NhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRTaGlwcGluZzogbmVlZFNoaXBwaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b29jb21tZXJjZS1wcm9jZXNzLWNoZWNrb3V0LW5vbmNlJzogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IChqcVhIUiwgdGV4dFN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IChhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5kYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZENvbnRhY3RJbmZvID0gZXZlbnQuc2hpcHBpbmdDb250YWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLnN1Y2Nlc3MgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmVycm9ycyA9IGNyZWF0ZUFwcGxlRXJyb3JzKHJlc3BvbnNlLmVycm9ycylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm5ld1NoaXBwaW5nTWV0aG9kcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFNoaXBwaW5nTWV0aG9kID0gcmVzcG9uc2UubmV3U2hpcHBpbmdNZXRob2RzWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24ocmVzcG9uc2UpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4odGV4dFN0YXR1cywgZXJyb3JUaHJvd24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5hYm9ydCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXNzaW9uLm9udmFsaWRhdGVtZXJjaGFudCA9IChhcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXhVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdtb2xsaWVfYXBwbGVfcGF5X3ZhbGlkYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25Vcmw6IGFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LnZhbGlkYXRpb25VUkwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dvb2NvbW1lcmNlLXByb2Nlc3MtY2hlY2tvdXQtbm9uY2UnOiBub25jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZTogKGpxWEhSLCB0ZXh0U3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKG1lcmNoYW50U2Vzc2lvbiwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVyY2hhbnRTZXNzaW9uLnN1Y2Nlc3MgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihKU09OLnBhcnNlKG1lcmNoYW50U2Vzc2lvbi5kYXRhKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4obWVyY2hhbnRTZXNzaW9uLmRhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmFib3J0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlc3Npb24ub25wYXltZW50YXV0aG9yaXplZCA9IChBcHBsZVBheVBheW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qge2JpbGxpbmdDb250YWN0LCBzaGlwcGluZ0NvbnRhY3QgfSA9IEFwcGxlUGF5UGF5bWVudC5wYXltZW50XG5cbiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LmFqYXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBhamF4VXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnbW9sbGllX2FwcGxlX3BheV9jcmVhdGVfb3JkZXJfY2FydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVBheW1lbnQucGF5bWVudC5zaGlwcGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlsbGluZ0NvbnRhY3Q6IEFwcGxlUGF5UGF5bWVudC5wYXltZW50LmJpbGxpbmdDb250YWN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuOiBBcHBsZVBheVBheW1lbnQucGF5bWVudC50b2tlbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZDogc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9sbGllLXBheW1lbnRzLWZvci13b29jb21tZXJjZV9pc3N1ZXJfYXBwbGVwYXknOiAnYXBwbGVwYXknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b29jb21tZXJjZS1wcm9jZXNzLWNoZWNrb3V0LW5vbmNlJzogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfZmlyc3RfbmFtZSc6IGJpbGxpbmdDb250YWN0LmdpdmVuTmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19sYXN0X25hbWUnOiBiaWxsaW5nQ29udGFjdC5mYW1pbHlOYW1lIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2NvbXBhbnknOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19jb3VudHJ5JzogYmlsbGluZ0NvbnRhY3QuY291bnRyeUNvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfYWRkcmVzc18xJzogYmlsbGluZ0NvbnRhY3QuYWRkcmVzc0xpbmVzWzBdIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2FkZHJlc3NfMic6IGJpbGxpbmdDb250YWN0LmFkZHJlc3NMaW5lc1sxXSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19wb3N0Y29kZSc6IGJpbGxpbmdDb250YWN0LnBvc3RhbENvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfY2l0eSc6IGJpbGxpbmdDb250YWN0LmxvY2FsaXR5IHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX3N0YXRlJzogYmlsbGluZ0NvbnRhY3QuYWRtaW5pc3RyYXRpdmVBcmVhIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX3Bob25lJzogYmlsbGluZ0NvbnRhY3QucGhvbmVOdW1iZXIgfHwgJzAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfZW1haWwnOiBzaGlwcGluZ0NvbnRhY3QuZW1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19maXJzdF9uYW1lJzogc2hpcHBpbmdDb250YWN0LmdpdmVuTmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfbGFzdF9uYW1lJzogc2hpcHBpbmdDb250YWN0LmZhbWlseU5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoaXBwaW5nX2NvbXBhbnknOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY291bnRyeSc6IHNoaXBwaW5nQ29udGFjdC5jb3VudHJ5Q29kZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfYWRkcmVzc18xJzogc2hpcHBpbmdDb250YWN0LmFkZHJlc3NMaW5lc1swXSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfYWRkcmVzc18yJzogc2hpcHBpbmdDb250YWN0LmFkZHJlc3NMaW5lc1sxXSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfcG9zdGNvZGUnOiBzaGlwcGluZ0NvbnRhY3QucG9zdGFsQ29kZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY2l0eSc6IHNoaXBwaW5nQ29udGFjdC5sb2NhbGl0eSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfc3RhdGUnOiBzaGlwcGluZ0NvbnRhY3QuYWRtaW5pc3RyYXRpdmVBcmVhIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19waG9uZSc6IHNoaXBwaW5nQ29udGFjdC5waG9uZU51bWJlciB8fCAnMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfZW1haWwnOiBzaGlwcGluZ0NvbnRhY3QuZW1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcmRlcl9jb21tZW50cycgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGF5bWVudF9tZXRob2QnIDogJ21vbGxpZV93Y19nYXRld2F5X2FwcGxlcGF5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX3dwX2h0dHBfcmVmZXJlcicgOiAnLz93Yy1hamF4PXVwZGF0ZV9vcmRlcl9yZXZpZXcnXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IChqcVhIUiwgdGV4dFN0YXR1cykgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKGF1dGhvcml6YXRpb25SZXN1bHQsIHRleHRTdGF0dXMsIGpxWEhSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF1dGhvcml6YXRpb25SZXN1bHQuZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRob3JpemF0aW9uUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Rpb25VcmwgPSByZXN1bHRbJ3JldHVyblVybCddO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlUGF5bWVudChyZXN1bHRbJ3Jlc3BvbnNlVG9BcHBsZSddKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJlZGlyZWN0aW9uVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmVycm9ycyA9IGNyZWF0ZUFwcGxlRXJyb3JzKHJlc3VsdC5lcnJvcnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVQYXltZW50KHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4odGV4dFN0YXR1cywgZXJyb3JUaHJvd24pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5hYm9ydCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtb2xsaWVfYXBwbGVwYXlfYnV0dG9uJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZ0KSA9PiB7XG4gICAgICAgICAgICAgICAgYXBwbGVQYXlTZXNzaW9uKClcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0sMjAwMCk7XG5cbiAgICB9XG4pXG4oXG4gICAgd2luZG93XG4pXG4iLCJleHBvcnQgY29uc3QgbWF5YmVTaG93QnV0dG9uID0gKCkgPT4ge1xuICAgIGNvbnN0IHtBcHBsZVBheVNlc3Npb259ID0gd2luZG93XG4gICAgY29uc3QgYXBwbGVQYXlNZXRob2RFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJyNtb2xsaWUtYXBwbGVwYXlEaXJlY3QtYnV0dG9uJyxcbiAgICApXG4gICAgY29uc3QgY2FuU2hvd0J1dHRvbiA9IGFwcGxlUGF5TWV0aG9kRWxlbWVudCAmJiAoQXBwbGVQYXlTZXNzaW9uICYmIEFwcGxlUGF5U2Vzc2lvbi5jYW5NYWtlUGF5bWVudHMoKSlcbiAgICBpZiAoIWNhblNob3dCdXR0b24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgYnV0dG9uLnNldEF0dHJpYnV0ZSgnaWQnLCAnbW9sbGllX2FwcGxlcGF5X2J1dHRvbicpXG4gICAgYnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2FwcGxlLXBheS1idXR0b24nKVxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhcHBsZS1wYXktYnV0dG9uLWJsYWNrJylcbiAgICBhcHBsZVBheU1ldGhvZEVsZW1lbnQuYXBwZW5kQ2hpbGQoYnV0dG9uKVxuICAgIHJldHVybiB0cnVlXG59XG4iXSwic291cmNlUm9vdCI6IiJ9
|
public/js/applepayDirect.min.js
CHANGED
@@ -1 +1,442 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./resources/js/applepayDirect.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./resources/js/applePayError.js":
|
90 |
+
/*!***************************************!*\
|
91 |
+
!*** ./resources/js/applePayError.js ***!
|
92 |
+
\***************************************/
|
93 |
+
/*! exports provided: createAppleErrors */
|
94 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
__webpack_require__.r(__webpack_exports__);
|
98 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createAppleErrors", function() { return createAppleErrors; });
|
99 |
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
100 |
+
|
101 |
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
102 |
+
|
103 |
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
104 |
+
|
105 |
+
function createAppleErrors(errors) {
|
106 |
+
var errorList = [];
|
107 |
+
|
108 |
+
var _iterator = _createForOfIteratorHelper(errors),
|
109 |
+
_step;
|
110 |
+
|
111 |
+
try {
|
112 |
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
113 |
+
var error = _step.value;
|
114 |
+
var _error$contactField = error.contactField,
|
115 |
+
contactField = _error$contactField === void 0 ? null : _error$contactField,
|
116 |
+
_error$code = error.code,
|
117 |
+
code = _error$code === void 0 ? null : _error$code,
|
118 |
+
_error$message = error.message,
|
119 |
+
message = _error$message === void 0 ? null : _error$message;
|
120 |
+
var appleError = contactField ? new ApplePayError(code, contactField, message) : new ApplePayError(code);
|
121 |
+
errorList.push(appleError);
|
122 |
+
}
|
123 |
+
} catch (err) {
|
124 |
+
_iterator.e(err);
|
125 |
+
} finally {
|
126 |
+
_iterator.f();
|
127 |
+
}
|
128 |
+
|
129 |
+
return errorList;
|
130 |
+
}
|
131 |
+
|
132 |
+
/***/ }),
|
133 |
+
|
134 |
+
/***/ "./resources/js/applePayRequest.js":
|
135 |
+
/*!*****************************************!*\
|
136 |
+
!*** ./resources/js/applePayRequest.js ***!
|
137 |
+
\*****************************************/
|
138 |
+
/*! exports provided: request */
|
139 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
140 |
+
|
141 |
+
"use strict";
|
142 |
+
__webpack_require__.r(__webpack_exports__);
|
143 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; });
|
144 |
+
var request = function request(countryCode, currencyCode, totalLabel, subtotal) {
|
145 |
+
return {
|
146 |
+
countryCode: countryCode,
|
147 |
+
currencyCode: currencyCode,
|
148 |
+
supportedNetworks: ['amex', 'maestro', 'masterCard', 'visa', 'vPay'],
|
149 |
+
merchantCapabilities: ['supports3DS'],
|
150 |
+
shippingType: 'shipping',
|
151 |
+
requiredBillingContactFields: ['postalAddress', 'email'],
|
152 |
+
requiredShippingContactFields: ['postalAddress', 'email'],
|
153 |
+
total: {
|
154 |
+
label: totalLabel,
|
155 |
+
amount: subtotal,
|
156 |
+
type: 'final'
|
157 |
+
}
|
158 |
+
};
|
159 |
+
};
|
160 |
+
|
161 |
+
/***/ }),
|
162 |
+
|
163 |
+
/***/ "./resources/js/applepayDirect.js":
|
164 |
+
/*!****************************************!*\
|
165 |
+
!*** ./resources/js/applepayDirect.js ***!
|
166 |
+
\****************************************/
|
167 |
+
/*! no exports provided */
|
168 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
169 |
+
|
170 |
+
"use strict";
|
171 |
+
__webpack_require__.r(__webpack_exports__);
|
172 |
+
/* harmony import */ var _applePayError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applePayError.js */ "./resources/js/applePayError.js");
|
173 |
+
/* harmony import */ var _maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maybeShowApplePayButton.js */ "./resources/js/maybeShowApplePayButton.js");
|
174 |
+
/* harmony import */ var _applePayRequest_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./applePayRequest.js */ "./resources/js/applePayRequest.js");
|
175 |
+
|
176 |
+
|
177 |
+
|
178 |
+
|
179 |
+
(function (_ref) {
|
180 |
+
var _ = _ref._,
|
181 |
+
mollieApplePayDirectData = _ref.mollieApplePayDirectData,
|
182 |
+
jQuery = _ref.jQuery;
|
183 |
+
|
184 |
+
if (_.isEmpty(mollieApplePayDirectData)) {
|
185 |
+
return;
|
186 |
+
}
|
187 |
+
|
188 |
+
var _mollieApplePayDirect = mollieApplePayDirectData.product,
|
189 |
+
id = _mollieApplePayDirect.id,
|
190 |
+
_mollieApplePayDirect2 = _mollieApplePayDirect.needShipping,
|
191 |
+
needShipping = _mollieApplePayDirect2 === void 0 ? true : _mollieApplePayDirect2,
|
192 |
+
_mollieApplePayDirect3 = _mollieApplePayDirect.isVariation,
|
193 |
+
isVariation = _mollieApplePayDirect3 === void 0 ? false : _mollieApplePayDirect3,
|
194 |
+
price = _mollieApplePayDirect.price,
|
195 |
+
_mollieApplePayDirect4 = mollieApplePayDirectData.shop,
|
196 |
+
countryCode = _mollieApplePayDirect4.countryCode,
|
197 |
+
_mollieApplePayDirect5 = _mollieApplePayDirect4.currencyCode,
|
198 |
+
currencyCode = _mollieApplePayDirect5 === void 0 ? 'EUR' : _mollieApplePayDirect5,
|
199 |
+
_mollieApplePayDirect6 = _mollieApplePayDirect4.totalLabel,
|
200 |
+
totalLabel = _mollieApplePayDirect6 === void 0 ? '' : _mollieApplePayDirect6,
|
201 |
+
ajaxUrl = mollieApplePayDirectData.ajaxUrl;
|
202 |
+
|
203 |
+
if (!id || !price || !countryCode || !ajaxUrl) {
|
204 |
+
return;
|
205 |
+
}
|
206 |
+
|
207 |
+
if (!Object(_maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_1__["maybeShowButton"])()) {
|
208 |
+
return;
|
209 |
+
}
|
210 |
+
|
211 |
+
var nonce = document.getElementById('woocommerce-process-checkout-nonce').value;
|
212 |
+
var productId = id;
|
213 |
+
var productQuantity = 1;
|
214 |
+
var updatedContactInfo = [];
|
215 |
+
var selectedShippingMethod = [];
|
216 |
+
var redirectionUrl = '';
|
217 |
+
document.querySelector('input.qty').addEventListener('change', function (event) {
|
218 |
+
productQuantity = event.currentTarget.value;
|
219 |
+
});
|
220 |
+
|
221 |
+
if (isVariation) {
|
222 |
+
var appleButton = document.querySelector('#mollie_applepay_button');
|
223 |
+
jQuery('.single_variation_wrap').on('show_variation', function (event, variation) {
|
224 |
+
// Fired when the user selects all the required dropdowns / attributes
|
225 |
+
// and a final variation is selected / shown
|
226 |
+
if (variation.variation_id) {
|
227 |
+
productId = variation.variation_id;
|
228 |
+
}
|
229 |
+
|
230 |
+
appleButton.disabled = false;
|
231 |
+
appleButton.classList.remove("buttonDisabled");
|
232 |
+
});
|
233 |
+
appleButton.disabled = true;
|
234 |
+
appleButton.classList.add("buttonDisabled");
|
235 |
+
}
|
236 |
+
|
237 |
+
var amountWithoutTax = productQuantity * price;
|
238 |
+
|
239 |
+
var applePaySession = function applePaySession() {
|
240 |
+
var session = new ApplePaySession(3, Object(_applePayRequest_js__WEBPACK_IMPORTED_MODULE_2__["request"])(countryCode, currencyCode, totalLabel, amountWithoutTax));
|
241 |
+
session.begin();
|
242 |
+
|
243 |
+
if (needShipping) {
|
244 |
+
session.onshippingmethodselected = function (event) {
|
245 |
+
var _this = this;
|
246 |
+
|
247 |
+
jQuery.ajax({
|
248 |
+
url: ajaxUrl,
|
249 |
+
method: 'POST',
|
250 |
+
data: {
|
251 |
+
action: 'mollie_apple_pay_update_shipping_method',
|
252 |
+
shippingMethod: event.shippingMethod,
|
253 |
+
productId: productId,
|
254 |
+
callerPage: 'productDetail',
|
255 |
+
productQuantity: productQuantity,
|
256 |
+
simplifiedContact: updatedContactInfo,
|
257 |
+
'woocommerce-process-checkout-nonce': nonce
|
258 |
+
},
|
259 |
+
complete: function complete(jqXHR, textStatus) {},
|
260 |
+
success: function success(applePayShippingMethodUpdate, textStatus, jqXHR) {
|
261 |
+
var response = applePayShippingMethodUpdate.data;
|
262 |
+
selectedShippingMethod = event.shippingMethod;
|
263 |
+
|
264 |
+
if (applePayShippingMethodUpdate.success === false) {
|
265 |
+
response.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(response.errors);
|
266 |
+
}
|
267 |
+
|
268 |
+
_this.completeShippingMethodSelection(response);
|
269 |
+
},
|
270 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
271 |
+
console.warn(textStatus, errorThrown);
|
272 |
+
session.abort();
|
273 |
+
}
|
274 |
+
});
|
275 |
+
};
|
276 |
+
|
277 |
+
session.onshippingcontactselected = function (event) {
|
278 |
+
var _this2 = this;
|
279 |
+
|
280 |
+
jQuery.ajax({
|
281 |
+
url: ajaxUrl,
|
282 |
+
method: 'POST',
|
283 |
+
data: {
|
284 |
+
action: 'mollie_apple_pay_update_shipping_contact',
|
285 |
+
productId: productId,
|
286 |
+
callerPage: 'productDetail',
|
287 |
+
productQuantity: productQuantity,
|
288 |
+
simplifiedContact: event.shippingContact,
|
289 |
+
needShipping: needShipping,
|
290 |
+
'woocommerce-process-checkout-nonce': nonce
|
291 |
+
},
|
292 |
+
complete: function complete(jqXHR, textStatus) {},
|
293 |
+
success: function success(applePayShippingContactUpdate, textStatus, jqXHR) {
|
294 |
+
var response = applePayShippingContactUpdate.data;
|
295 |
+
updatedContactInfo = event.shippingContact;
|
296 |
+
|
297 |
+
if (applePayShippingContactUpdate.success === false) {
|
298 |
+
response.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(response.errors);
|
299 |
+
}
|
300 |
+
|
301 |
+
if (response.newShippingMethods) {
|
302 |
+
selectedShippingMethod = response.newShippingMethods[0];
|
303 |
+
}
|
304 |
+
|
305 |
+
_this2.completeShippingContactSelection(response);
|
306 |
+
},
|
307 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
308 |
+
console.warn(textStatus, errorThrown);
|
309 |
+
session.abort();
|
310 |
+
}
|
311 |
+
});
|
312 |
+
};
|
313 |
+
}
|
314 |
+
|
315 |
+
session.onvalidatemerchant = function (applePayValidateMerchantEvent) {
|
316 |
+
jQuery.ajax({
|
317 |
+
url: ajaxUrl,
|
318 |
+
method: 'POST',
|
319 |
+
data: {
|
320 |
+
action: 'mollie_apple_pay_validation',
|
321 |
+
validationUrl: applePayValidateMerchantEvent.validationURL,
|
322 |
+
'woocommerce-process-checkout-nonce': nonce
|
323 |
+
},
|
324 |
+
complete: function complete(jqXHR, textStatus) {},
|
325 |
+
success: function success(merchantSession, textStatus, jqXHR) {
|
326 |
+
if (merchantSession.success === true) {
|
327 |
+
session.completeMerchantValidation(JSON.parse(merchantSession.data));
|
328 |
+
} else {
|
329 |
+
console.warn(merchantSession.data);
|
330 |
+
session.abort();
|
331 |
+
}
|
332 |
+
},
|
333 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
334 |
+
console.warn(textStatus, errorThrown);
|
335 |
+
session.abort();
|
336 |
+
}
|
337 |
+
});
|
338 |
+
};
|
339 |
+
|
340 |
+
session.onpaymentauthorized = function (ApplePayPayment) {
|
341 |
+
var _ApplePayPayment$paym = ApplePayPayment.payment,
|
342 |
+
billingContact = _ApplePayPayment$paym.billingContact,
|
343 |
+
shippingContact = _ApplePayPayment$paym.shippingContact;
|
344 |
+
jQuery.ajax({
|
345 |
+
url: ajaxUrl,
|
346 |
+
method: 'POST',
|
347 |
+
data: {
|
348 |
+
action: 'mollie_apple_pay_create_order',
|
349 |
+
productId: productId,
|
350 |
+
productQuantity: productQuantity,
|
351 |
+
shippingContact: ApplePayPayment.payment.shippingContact,
|
352 |
+
billingContact: ApplePayPayment.payment.billingContact,
|
353 |
+
token: ApplePayPayment.payment.token,
|
354 |
+
shippingMethod: selectedShippingMethod,
|
355 |
+
'mollie-payments-for-woocommerce_issuer_applepay': 'applepay',
|
356 |
+
'woocommerce-process-checkout-nonce': nonce,
|
357 |
+
'billing_first_name': billingContact.givenName || '',
|
358 |
+
'billing_last_name': billingContact.familyName || '',
|
359 |
+
'billing_company': '',
|
360 |
+
'billing_country': billingContact.countryCode || '',
|
361 |
+
'billing_address_1': billingContact.addressLines[0] || '',
|
362 |
+
'billing_address_2': billingContact.addressLines[1] || '',
|
363 |
+
'billing_postcode': billingContact.postalCode || '',
|
364 |
+
'billing_city': billingContact.locality || '',
|
365 |
+
'billing_state': billingContact.administrativeArea || '',
|
366 |
+
'billing_phone': billingContact.phoneNumber || '000000000000',
|
367 |
+
'billing_email': shippingContact.emailAddress || '',
|
368 |
+
'shipping_first_name': shippingContact.givenName || '',
|
369 |
+
'shipping_last_name': shippingContact.familyName || '',
|
370 |
+
'shipping_company': '',
|
371 |
+
'shipping_country': shippingContact.countryCode || '',
|
372 |
+
'shipping_address_1': shippingContact.addressLines[0] || '',
|
373 |
+
'shipping_address_2': shippingContact.addressLines[1] || '',
|
374 |
+
'shipping_postcode': shippingContact.postalCode || '',
|
375 |
+
'shipping_city': shippingContact.locality || '',
|
376 |
+
'shipping_state': shippingContact.administrativeArea || '',
|
377 |
+
'shipping_phone': shippingContact.phoneNumber || '000000000000',
|
378 |
+
'shipping_email': shippingContact.emailAddress || '',
|
379 |
+
'order_comments': '',
|
380 |
+
'payment_method': 'mollie_wc_gateway_applepay',
|
381 |
+
'_wp_http_referer': '/?wc-ajax=update_order_review'
|
382 |
+
},
|
383 |
+
complete: function complete(jqXHR, textStatus) {},
|
384 |
+
success: function success(authorizationResult, textStatus, jqXHR) {
|
385 |
+
var result = authorizationResult.data;
|
386 |
+
|
387 |
+
if (authorizationResult.success === true) {
|
388 |
+
redirectionUrl = result['returnUrl'];
|
389 |
+
session.completePayment(result['responseToApple']);
|
390 |
+
window.location.href = redirectionUrl;
|
391 |
+
} else {
|
392 |
+
result.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(result.errors);
|
393 |
+
session.completePayment(result);
|
394 |
+
}
|
395 |
+
},
|
396 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
397 |
+
console.warn(textStatus, errorThrown);
|
398 |
+
session.abort();
|
399 |
+
}
|
400 |
+
});
|
401 |
+
};
|
402 |
+
};
|
403 |
+
|
404 |
+
document.querySelector('#mollie_applepay_button').addEventListener('click', function (evt) {
|
405 |
+
applePaySession();
|
406 |
+
});
|
407 |
+
})(window);
|
408 |
+
|
409 |
+
/***/ }),
|
410 |
+
|
411 |
+
/***/ "./resources/js/maybeShowApplePayButton.js":
|
412 |
+
/*!*************************************************!*\
|
413 |
+
!*** ./resources/js/maybeShowApplePayButton.js ***!
|
414 |
+
\*************************************************/
|
415 |
+
/*! exports provided: maybeShowButton */
|
416 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
417 |
+
|
418 |
+
"use strict";
|
419 |
+
__webpack_require__.r(__webpack_exports__);
|
420 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "maybeShowButton", function() { return maybeShowButton; });
|
421 |
+
var maybeShowButton = function maybeShowButton() {
|
422 |
+
var _window = window,
|
423 |
+
ApplePaySession = _window.ApplePaySession;
|
424 |
+
var applePayMethodElement = document.querySelector('#mollie-applepayDirect-button');
|
425 |
+
var canShowButton = applePayMethodElement && ApplePaySession && ApplePaySession.canMakePayments();
|
426 |
+
|
427 |
+
if (!canShowButton) {
|
428 |
+
return false;
|
429 |
+
}
|
430 |
+
|
431 |
+
var button = document.createElement('button');
|
432 |
+
button.setAttribute('id', 'mollie_applepay_button');
|
433 |
+
button.classList.add('apple-pay-button');
|
434 |
+
button.classList.add('apple-pay-button-black');
|
435 |
+
applePayMethodElement.appendChild(button);
|
436 |
+
return true;
|
437 |
+
};
|
438 |
+
|
439 |
+
/***/ })
|
440 |
+
|
441 |
+
/******/ });
|
442 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5RXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5UmVxdWVzdC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYXBwbGVwYXlEaXJlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL21heWJlU2hvd0FwcGxlUGF5QnV0dG9uLmpzIl0sIm5hbWVzIjpbImNyZWF0ZUFwcGxlRXJyb3JzIiwiZXJyb3JzIiwiZXJyb3JMaXN0IiwiZXJyb3IiLCJjb250YWN0RmllbGQiLCJjb2RlIiwibWVzc2FnZSIsImFwcGxlRXJyb3IiLCJBcHBsZVBheUVycm9yIiwicHVzaCIsInJlcXVlc3QiLCJjb3VudHJ5Q29kZSIsImN1cnJlbmN5Q29kZSIsInRvdGFsTGFiZWwiLCJzdWJ0b3RhbCIsInN1cHBvcnRlZE5ldHdvcmtzIiwibWVyY2hhbnRDYXBhYmlsaXRpZXMiLCJzaGlwcGluZ1R5cGUiLCJyZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzIiwicmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMiLCJ0b3RhbCIsImxhYmVsIiwiYW1vdW50IiwidHlwZSIsIl8iLCJtb2xsaWVBcHBsZVBheURpcmVjdERhdGEiLCJqUXVlcnkiLCJpc0VtcHR5IiwicHJvZHVjdCIsImlkIiwibmVlZFNoaXBwaW5nIiwiaXNWYXJpYXRpb24iLCJwcmljZSIsInNob3AiLCJhamF4VXJsIiwibWF5YmVTaG93QnV0dG9uIiwibm9uY2UiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwidmFsdWUiLCJwcm9kdWN0SWQiLCJwcm9kdWN0UXVhbnRpdHkiLCJ1cGRhdGVkQ29udGFjdEluZm8iLCJzZWxlY3RlZFNoaXBwaW5nTWV0aG9kIiwicmVkaXJlY3Rpb25VcmwiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsImFwcGxlQnV0dG9uIiwib24iLCJ2YXJpYXRpb24iLCJ2YXJpYXRpb25faWQiLCJkaXNhYmxlZCIsImNsYXNzTGlzdCIsInJlbW92ZSIsImFkZCIsImFtb3VudFdpdGhvdXRUYXgiLCJhcHBsZVBheVNlc3Npb24iLCJzZXNzaW9uIiwiQXBwbGVQYXlTZXNzaW9uIiwiYmVnaW4iLCJvbnNoaXBwaW5nbWV0aG9kc2VsZWN0ZWQiLCJhamF4IiwidXJsIiwibWV0aG9kIiwiZGF0YSIsImFjdGlvbiIsInNoaXBwaW5nTWV0aG9kIiwiY2FsbGVyUGFnZSIsInNpbXBsaWZpZWRDb250YWN0IiwiY29tcGxldGUiLCJqcVhIUiIsInRleHRTdGF0dXMiLCJzdWNjZXNzIiwiYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSIsInJlc3BvbnNlIiwiY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbiIsImVycm9yVGhyb3duIiwiY29uc29sZSIsIndhcm4iLCJhYm9ydCIsIm9uc2hpcHBpbmdjb250YWN0c2VsZWN0ZWQiLCJzaGlwcGluZ0NvbnRhY3QiLCJhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSIsIm5ld1NoaXBwaW5nTWV0aG9kcyIsImNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uIiwib252YWxpZGF0ZW1lcmNoYW50IiwiYXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQiLCJ2YWxpZGF0aW9uVXJsIiwidmFsaWRhdGlvblVSTCIsIm1lcmNoYW50U2Vzc2lvbiIsImNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uIiwiSlNPTiIsInBhcnNlIiwib25wYXltZW50YXV0aG9yaXplZCIsIkFwcGxlUGF5UGF5bWVudCIsInBheW1lbnQiLCJiaWxsaW5nQ29udGFjdCIsInRva2VuIiwiZ2l2ZW5OYW1lIiwiZmFtaWx5TmFtZSIsImFkZHJlc3NMaW5lcyIsInBvc3RhbENvZGUiLCJsb2NhbGl0eSIsImFkbWluaXN0cmF0aXZlQXJlYSIsInBob25lTnVtYmVyIiwiZW1haWxBZGRyZXNzIiwiYXV0aG9yaXphdGlvblJlc3VsdCIsInJlc3VsdCIsImNvbXBsZXRlUGF5bWVudCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsImV2dCIsImFwcGxlUGF5TWV0aG9kRWxlbWVudCIsImNhblNob3dCdXR0b24iLCJjYW5NYWtlUGF5bWVudHMiLCJidXR0b24iLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiXSwibWFwcGluZ3MiOiI7UUFBQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDBDQUEwQyxnQ0FBZ0M7UUFDMUU7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSx3REFBd0Qsa0JBQWtCO1FBQzFFO1FBQ0EsaURBQWlELGNBQWM7UUFDL0Q7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBLHlDQUF5QyxpQ0FBaUM7UUFDMUUsZ0hBQWdILG1CQUFtQixFQUFFO1FBQ3JJO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMkJBQTJCLDBCQUEwQixFQUFFO1FBQ3ZELGlDQUFpQyxlQUFlO1FBQ2hEO1FBQ0E7UUFDQTs7UUFFQTtRQUNBLHNEQUFzRCwrREFBK0Q7O1FBRXJIO1FBQ0E7OztRQUdBO1FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2xGTyxTQUFTQSxpQkFBVCxDQUEyQkMsTUFBM0IsRUFBbUM7RUFDdEMsSUFBTUMsU0FBUyxHQUFHLEVBQWxCOztFQURzQywyQ0FFbEJELE1BRmtCO0VBQUE7O0VBQUE7SUFFdEMsb0RBQTRCO01BQUEsSUFBakJFLEtBQWlCO01BQ3hCLDBCQUEyREEsS0FBM0QsQ0FBT0MsWUFBUDtNQUFBLElBQU9BLFlB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YXBwbGVwYXlEaXJlY3QubWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvcHVibGljL2pzL1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3Jlc291cmNlcy9qcy9hcHBsZXBheURpcmVjdC5qc1wiKTtcbiIsImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBcHBsZUVycm9ycyhlcnJvcnMpIHtcbiAgICBjb25zdCBlcnJvckxpc3QgPSBbXVxuICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JzKSB7XG4gICAgICAgIGNvbnN0IHtjb250YWN0RmllbGQgPSBudWxsLCBjb2RlID0gbnVsbCwgbWVzc2FnZSA9IG51bGx9ID0gZXJyb3JcbiAgICAgICAgY29uc3QgYXBwbGVFcnJvciA9IGNvbnRhY3RGaWVsZCA/IG5ldyBBcHBsZVBheUVycm9yKGNvZGUsIGNvbnRhY3RGaWVsZCwgbWVzc2FnZSkgOiBuZXcgQXBwbGVQYXlFcnJvcihjb2RlKVxuICAgICAgICBlcnJvckxpc3QucHVzaChhcHBsZUVycm9yKVxuICAgIH1cblxuICAgIHJldHVybiBlcnJvckxpc3Rcbn1cbiIsImV4cG9ydCBjb25zdCByZXF1ZXN0ID0gKGNvdW50cnlDb2RlLCBjdXJyZW5jeUNvZGUsIHRvdGFsTGFiZWwsIHN1YnRvdGFsKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY291bnRyeUNvZGU6IGNvdW50cnlDb2RlLFxuICAgICAgICBjdXJyZW5jeUNvZGU6IGN1cnJlbmN5Q29kZSxcbiAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsnYW1leCcsICdtYWVzdHJvJywgJ21hc3RlckNhcmQnLCAndmlzYScsICd2UGF5J10sXG4gICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sXG4gICAgICAgIHNoaXBwaW5nVHlwZTogJ3NoaXBwaW5nJyxcbiAgICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogW1xuICAgICAgICAgICAgJ3Bvc3RhbEFkZHJlc3MnLFxuICAgICAgICAgICAgJ2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogW1xuICAgICAgICAgICAgJ3Bvc3RhbEFkZHJlc3MnLFxuICAgICAgICAgICAgJ2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICB0b3RhbDoge1xuICAgICAgICAgICAgbGFiZWw6IHRvdGFsTGFiZWwsXG4gICAgICAgICAgICBhbW91bnQ6IHN1YnRvdGFsLFxuICAgICAgICAgICAgdHlwZTogJ2ZpbmFsJ1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiaW1wb3J0IHtjcmVhdGVBcHBsZUVycm9yc30gZnJvbSAnLi9hcHBsZVBheUVycm9yLmpzJztcbmltcG9ydCB7bWF5YmVTaG93QnV0dG9ufSBmcm9tICcuL21heWJlU2hvd0FwcGxlUGF5QnV0dG9uLmpzJztcbmltcG9ydCB7cmVxdWVzdH0gZnJvbSAnLi9hcHBsZVBheVJlcXVlc3QuanMnO1xuXG4oXG4gICAgZnVuY3Rpb24gKHtfLCBtb2xsaWVBcHBsZVBheURpcmVjdERhdGEsIGpRdWVyeX0pIHtcbiAgICAgICAgaWYgKF8uaXNFbXB0eShtb2xsaWVBcHBsZVBheURpcmVjdERhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtwcm9kdWN0OiB7aWQsIG5lZWRTaGlwcGluZyA9IHRydWUsIGlzVmFyaWF0aW9uID0gZmFsc2UsIHByaWNlfSwgc2hvcDoge2NvdW50cnlDb2RlLCBjdXJyZW5jeUNvZGUgPSAnRVVSJywgdG90YWxMYWJlbCA9ICcnfSwgYWpheFVybH0gPSBtb2xsaWVBcHBsZVBheURpcmVjdERhdGFcblxuICAgICAgICBpZiAoIWlkIHx8ICFwcmljZSB8fCAhY291bnRyeUNvZGUgfHwgIWFqYXhVcmwpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGlmKCFtYXliZVNob3dCdXR0b24oKSl7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vbmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dvb2NvbW1lcmNlLXByb2Nlc3MtY2hlY2tvdXQtbm9uY2UnKS52YWx1ZVxuICAgICAgICBsZXQgcHJvZHVjdElkID0gaWRcbiAgICAgICAgbGV0IHByb2R1Y3RRdWFudGl0eSA9IDFcbiAgICAgICAgbGV0IHVwZGF0ZWRDb250YWN0SW5mbyA9IFtdXG4gICAgICAgIGxldCBzZWxlY3RlZFNoaXBwaW5nTWV0aG9kID0gW11cbiAgICAgICAgbGV0IHJlZGlyZWN0aW9uVXJsID0gJydcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQucXR5JykuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgcHJvZHVjdFF1YW50aXR5ID0gZXZlbnQuY3VycmVudFRhcmdldC52YWx1ZVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChpc1ZhcmlhdGlvbikge1xuICAgICAgICAgICAgbGV0IGFwcGxlQnV0dG9uID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21vbGxpZV9hcHBsZXBheV9idXR0b24nKTtcbiAgICAgICAgICAgIGpRdWVyeSgnLnNpbmdsZV92YXJpYXRpb25fd3JhcCcpLm9uKCdzaG93X3ZhcmlhdGlvbicsIGZ1bmN0aW9uIChldmVudCwgdmFyaWF0aW9uKSB7XG4gICAgICAgICAgICAgICAgLy8gRmlyZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGFsbCB0aGUgcmVxdWlyZWQgZHJvcGRvd25zIC8gYXR0cmlidXRlc1xuICAgICAgICAgICAgICAgIC8vIGFuZCBhIGZpbmFsIHZhcmlhdGlvbiBpcyBzZWxlY3RlZCAvIHNob3duXG4gICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlvbi52YXJpYXRpb25faWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdElkID0gdmFyaWF0aW9uLnZhcmlhdGlvbl9pZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhcHBsZUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGFwcGxlQnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoXCJidXR0b25EaXNhYmxlZFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXBwbGVCdXR0b24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgYXBwbGVCdXR0b24uY2xhc3NMaXN0LmFkZChcImJ1dHRvbkRpc2FibGVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFtb3VudFdpdGhvdXRUYXggPSBwcm9kdWN0UXVhbnRpdHkgKiBwcmljZVxuICAgICAgICBsZXQgYXBwbGVQYXlTZXNzaW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdChjb3VudHJ5Q29kZSwgY3VycmVuY3lDb2RlLCB0b3RhbExhYmVsLCBhbW91bnRXaXRob3V0VGF4KSlcbiAgICAgICAgICAgIHNlc3Npb24uYmVnaW4oKVxuICAgICAgICAgICAgaWYobmVlZFNoaXBwaW5nKXtcbiAgICAgICAgICAgICAgICBzZXNzaW9uLm9uc2hpcHBpbmdtZXRob2RzZWxlY3RlZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXhVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdtb2xsaWVfYXBwbGVfcGF5X3VwZGF0ZV9zaGlwcGluZ19tZXRob2QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nTWV0aG9kOiBldmVudC5zaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXJQYWdlOiAncHJvZHVjdERldGFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdFF1YW50aXR5OiBwcm9kdWN0UXVhbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ltcGxpZmllZENvbnRhY3Q6IHVwZGF0ZWRDb250YWN0SW5mbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZSc6IG5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoanFYSFIsIHRleHRTdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFNoaXBwaW5nTWV0aG9kID0gZXZlbnQuc2hpcHBpbmdNZXRob2RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5lcnJvcnMgPSBjcmVhdGVBcHBsZUVycm9ycyhyZXNwb25zZS5lcnJvcnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihyZXNwb25zZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmFib3J0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlc3Npb24ub25zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZCA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXhVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdtb2xsaWVfYXBwbGVfcGF5X3VwZGF0ZV9zaGlwcGluZ19jb250YWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXJQYWdlOiAncHJvZHVjdERldGFpbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdFF1YW50aXR5OiBwcm9kdWN0UXVhbnRpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2ltcGxpZmllZENvbnRhY3Q6IGV2ZW50LnNoaXBwaW5nQ29udGFjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkU2hpcHBpbmc6IG5lZWRTaGlwcGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZSc6IG5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoanFYSFIsIHRleHRTdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoYXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUsIHRleHRTdGF0dXMsIGpxWEhSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlID0gYXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRDb250YWN0SW5mbyA9IGV2ZW50LnNoaXBwaW5nQ29udGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5lcnJvcnMgPSBjcmVhdGVBcHBsZUVycm9ycyhyZXNwb25zZS5lcnJvcnMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5uZXdTaGlwcGluZ01ldGhvZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCA9IHJlc3BvbnNlLm5ld1NoaXBwaW5nTWV0aG9kc1swXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHJlc3BvbnNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiAoanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHRleHRTdGF0dXMsIGVycm9yVGhyb3duKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXNzaW9uLm9udmFsaWRhdGVtZXJjaGFudCA9IChhcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGpRdWVyeS5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBhamF4VXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAnbW9sbGllX2FwcGxlX3BheV92YWxpZGF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25Vcmw6IGFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LnZhbGlkYXRpb25VUkwsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZSc6IG5vbmNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZTogKGpxWEhSLCB0ZXh0U3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IChtZXJjaGFudFNlc3Npb24sIHRleHRTdGF0dXMsIGpxWEhSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVyY2hhbnRTZXNzaW9uLnN1Y2Nlc3MgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKEpTT04ucGFyc2UobWVyY2hhbnRTZXNzaW9uLmRhdGEpKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4obWVyY2hhbnRTZXNzaW9uLmRhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5hYm9ydCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiAoanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4odGV4dFN0YXR1cywgZXJyb3JUaHJvd24pXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmFib3J0KClcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2Vzc2lvbi5vbnBheW1lbnRhdXRob3JpemVkID0gKEFwcGxlUGF5UGF5bWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtiaWxsaW5nQ29udGFjdCwgc2hpcHBpbmdDb250YWN0IH0gPSBBcHBsZVBheVBheW1lbnQucGF5bWVudFxuXG4gICAgICAgICAgICAgICAgalF1ZXJ5LmFqYXgoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXhVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdtb2xsaWVfYXBwbGVfcGF5X2NyZWF0ZV9vcmRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RRdWFudGl0eTogcHJvZHVjdFF1YW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVBheW1lbnQucGF5bWVudC5zaGlwcGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nQ29udGFjdDogQXBwbGVQYXlQYXltZW50LnBheW1lbnQuYmlsbGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b2tlbjogQXBwbGVQYXlQYXltZW50LnBheW1lbnQudG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZDogc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtb2xsaWUtcGF5bWVudHMtZm9yLXdvb2NvbW1lcmNlX2lzc3Vlcl9hcHBsZXBheSc6ICdhcHBsZXBheScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZSc6IG5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfZmlyc3RfbmFtZSc6ICBiaWxsaW5nQ29udGFjdC5naXZlbk5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19sYXN0X25hbWUnIDogYmlsbGluZ0NvbnRhY3QuZmFtaWx5TmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2NvbXBhbnknOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2NvdW50cnknIDogYmlsbGluZ0NvbnRhY3QuY291bnRyeUNvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19hZGRyZXNzXzEnIDogYmlsbGluZ0NvbnRhY3QuYWRkcmVzc0xpbmVzWzBdIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfYWRkcmVzc18yJyA6IGJpbGxpbmdDb250YWN0LmFkZHJlc3NMaW5lc1sxXSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX3Bvc3Rjb2RlJyA6IGJpbGxpbmdDb250YWN0LnBvc3RhbENvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19jaXR5JzogYmlsbGluZ0NvbnRhY3QubG9jYWxpdHkgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19zdGF0ZScgOiBiaWxsaW5nQ29udGFjdC5hZG1pbmlzdHJhdGl2ZUFyZWEgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19waG9uZScgOiBiaWxsaW5nQ29udGFjdC5waG9uZU51bWJlciB8fCAnMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2VtYWlsJyA6IHNoaXBwaW5nQ29udGFjdC5lbWFpbEFkZHJlc3MgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfZmlyc3RfbmFtZSc6ICBzaGlwcGluZ0NvbnRhY3QuZ2l2ZW5OYW1lIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NoaXBwaW5nX2xhc3RfbmFtZScgOiBzaGlwcGluZ0NvbnRhY3QuZmFtaWx5TmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19jb21wYW55JzogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY291bnRyeScgOiBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfYWRkcmVzc18xJyA6IHNoaXBwaW5nQ29udGFjdC5hZGRyZXNzTGluZXNbMF0gfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfYWRkcmVzc18yJyA6IHNoaXBwaW5nQ29udGFjdC5hZGRyZXNzTGluZXNbMV0gfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfcG9zdGNvZGUnIDogc2hpcHBpbmdDb250YWN0LnBvc3RhbENvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY2l0eSc6IHNoaXBwaW5nQ29udGFjdC5sb2NhbGl0eSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19zdGF0ZScgOiBzaGlwcGluZ0NvbnRhY3QuYWRtaW5pc3RyYXRpdmVBcmVhIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NoaXBwaW5nX3Bob25lJyA6IHNoaXBwaW5nQ29udGFjdC5waG9uZU51bWJlciB8fCAnMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19lbWFpbCcgOiBzaGlwcGluZ0NvbnRhY3QuZW1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ29yZGVyX2NvbW1lbnRzJyA6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyA6ICdtb2xsaWVfd2NfZ2F0ZXdheV9hcHBsZXBheScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnX3dwX2h0dHBfcmVmZXJlcicgOiAnLz93Yy1hamF4PXVwZGF0ZV9vcmRlcl9yZXZpZXcnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoanFYSFIsIHRleHRTdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKGF1dGhvcml6YXRpb25SZXN1bHQsIHRleHRTdGF0dXMsIGpxWEhSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXV0aG9yaXphdGlvblJlc3VsdC5kYXRhXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRob3JpemF0aW9uUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdGlvblVybCA9IHJlc3VsdFsncmV0dXJuVXJsJ107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZVBheW1lbnQocmVzdWx0WydyZXNwb25zZVRvQXBwbGUnXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJlZGlyZWN0aW9uVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5lcnJvcnMgPSBjcmVhdGVBcHBsZUVycm9ycyhyZXN1bHQuZXJyb3JzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVQYXltZW50KHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI21vbGxpZV9hcHBsZXBheV9idXR0b24nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldnQpID0+IHtcbiAgICAgICAgICAgIGFwcGxlUGF5U2Vzc2lvbigpXG4gICAgICAgIH0pXG4gICAgfVxuKVxuKFxuICAgIHdpbmRvd1xuKVxuIiwiZXhwb3J0IGNvbnN0IG1heWJlU2hvd0J1dHRvbiA9ICgpID0+IHtcbiAgICBjb25zdCB7QXBwbGVQYXlTZXNzaW9ufSA9IHdpbmRvd1xuICAgIGNvbnN0IGFwcGxlUGF5TWV0aG9kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcjbW9sbGllLWFwcGxlcGF5RGlyZWN0LWJ1dHRvbicsXG4gICAgKVxuICAgIGNvbnN0IGNhblNob3dCdXR0b24gPSBhcHBsZVBheU1ldGhvZEVsZW1lbnQgJiYgKEFwcGxlUGF5U2Vzc2lvbiAmJiBBcHBsZVBheVNlc3Npb24uY2FuTWFrZVBheW1lbnRzKCkpXG4gICAgaWYgKCFjYW5TaG93QnV0dG9uKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKVxuICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ21vbGxpZV9hcHBsZXBheV9idXR0b24nKVxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhcHBsZS1wYXktYnV0dG9uJylcbiAgICBidXR0b24uY2xhc3NMaXN0LmFkZCgnYXBwbGUtcGF5LWJ1dHRvbi1ibGFjaycpXG4gICAgYXBwbGVQYXlNZXRob2RFbGVtZW50LmFwcGVuZENoaWxkKGJ1dHRvbilcbiAgICByZXR1cm4gdHJ1ZVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
public/js/applepayDirectCart.min.js
CHANGED
@@ -1 +1,414 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./resources/js/applepayDirectCart.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./resources/js/applePayError.js":
|
90 |
+
/*!***************************************!*\
|
91 |
+
!*** ./resources/js/applePayError.js ***!
|
92 |
+
\***************************************/
|
93 |
+
/*! exports provided: createAppleErrors */
|
94 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
__webpack_require__.r(__webpack_exports__);
|
98 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createAppleErrors", function() { return createAppleErrors; });
|
99 |
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
100 |
+
|
101 |
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
102 |
+
|
103 |
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
104 |
+
|
105 |
+
function createAppleErrors(errors) {
|
106 |
+
var errorList = [];
|
107 |
+
|
108 |
+
var _iterator = _createForOfIteratorHelper(errors),
|
109 |
+
_step;
|
110 |
+
|
111 |
+
try {
|
112 |
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
113 |
+
var error = _step.value;
|
114 |
+
var _error$contactField = error.contactField,
|
115 |
+
contactField = _error$contactField === void 0 ? null : _error$contactField,
|
116 |
+
_error$code = error.code,
|
117 |
+
code = _error$code === void 0 ? null : _error$code,
|
118 |
+
_error$message = error.message,
|
119 |
+
message = _error$message === void 0 ? null : _error$message;
|
120 |
+
var appleError = contactField ? new ApplePayError(code, contactField, message) : new ApplePayError(code);
|
121 |
+
errorList.push(appleError);
|
122 |
+
}
|
123 |
+
} catch (err) {
|
124 |
+
_iterator.e(err);
|
125 |
+
} finally {
|
126 |
+
_iterator.f();
|
127 |
+
}
|
128 |
+
|
129 |
+
return errorList;
|
130 |
+
}
|
131 |
+
|
132 |
+
/***/ }),
|
133 |
+
|
134 |
+
/***/ "./resources/js/applePayRequest.js":
|
135 |
+
/*!*****************************************!*\
|
136 |
+
!*** ./resources/js/applePayRequest.js ***!
|
137 |
+
\*****************************************/
|
138 |
+
/*! exports provided: request */
|
139 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
140 |
+
|
141 |
+
"use strict";
|
142 |
+
__webpack_require__.r(__webpack_exports__);
|
143 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "request", function() { return request; });
|
144 |
+
var request = function request(countryCode, currencyCode, totalLabel, subtotal) {
|
145 |
+
return {
|
146 |
+
countryCode: countryCode,
|
147 |
+
currencyCode: currencyCode,
|
148 |
+
supportedNetworks: ['amex', 'maestro', 'masterCard', 'visa', 'vPay'],
|
149 |
+
merchantCapabilities: ['supports3DS'],
|
150 |
+
shippingType: 'shipping',
|
151 |
+
requiredBillingContactFields: ['postalAddress', 'email'],
|
152 |
+
requiredShippingContactFields: ['postalAddress', 'email'],
|
153 |
+
total: {
|
154 |
+
label: totalLabel,
|
155 |
+
amount: subtotal,
|
156 |
+
type: 'final'
|
157 |
+
}
|
158 |
+
};
|
159 |
+
};
|
160 |
+
|
161 |
+
/***/ }),
|
162 |
+
|
163 |
+
/***/ "./resources/js/applepayDirectCart.js":
|
164 |
+
/*!********************************************!*\
|
165 |
+
!*** ./resources/js/applepayDirectCart.js ***!
|
166 |
+
\********************************************/
|
167 |
+
/*! no exports provided */
|
168 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
169 |
+
|
170 |
+
"use strict";
|
171 |
+
__webpack_require__.r(__webpack_exports__);
|
172 |
+
/* harmony import */ var _applePayError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./applePayError.js */ "./resources/js/applePayError.js");
|
173 |
+
/* harmony import */ var _applePayRequest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./applePayRequest */ "./resources/js/applePayRequest.js");
|
174 |
+
/* harmony import */ var _maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maybeShowApplePayButton.js */ "./resources/js/maybeShowApplePayButton.js");
|
175 |
+
|
176 |
+
|
177 |
+
|
178 |
+
|
179 |
+
(function (_ref) {
|
180 |
+
var _ = _ref._,
|
181 |
+
mollieApplePayDirectDataCart = _ref.mollieApplePayDirectDataCart,
|
182 |
+
jQuery = _ref.jQuery;
|
183 |
+
|
184 |
+
if (_.isEmpty(mollieApplePayDirectDataCart)) {
|
185 |
+
return;
|
186 |
+
}
|
187 |
+
|
188 |
+
var _mollieApplePayDirect = mollieApplePayDirectDataCart.product,
|
189 |
+
_mollieApplePayDirect2 = _mollieApplePayDirect.needShipping,
|
190 |
+
needShipping = _mollieApplePayDirect2 === void 0 ? true : _mollieApplePayDirect2,
|
191 |
+
subtotal = _mollieApplePayDirect.subtotal,
|
192 |
+
_mollieApplePayDirect3 = mollieApplePayDirectDataCart.shop,
|
193 |
+
countryCode = _mollieApplePayDirect3.countryCode,
|
194 |
+
_mollieApplePayDirect4 = _mollieApplePayDirect3.currencyCode,
|
195 |
+
currencyCode = _mollieApplePayDirect4 === void 0 ? 'EUR' : _mollieApplePayDirect4,
|
196 |
+
_mollieApplePayDirect5 = _mollieApplePayDirect3.totalLabel,
|
197 |
+
totalLabel = _mollieApplePayDirect5 === void 0 ? '' : _mollieApplePayDirect5,
|
198 |
+
ajaxUrl = mollieApplePayDirectDataCart.ajaxUrl;
|
199 |
+
|
200 |
+
if (!subtotal || !countryCode || !ajaxUrl) {
|
201 |
+
return;
|
202 |
+
}
|
203 |
+
|
204 |
+
var nonce = document.getElementById("woocommerce-process-checkout-nonce").value;
|
205 |
+
var updatedContactInfo = [];
|
206 |
+
var selectedShippingMethod = [];
|
207 |
+
var redirectionUrl = '';
|
208 |
+
|
209 |
+
var applePaySession = function applePaySession() {
|
210 |
+
var session = new ApplePaySession(3, Object(_applePayRequest__WEBPACK_IMPORTED_MODULE_1__["request"])(countryCode, currencyCode, totalLabel, subtotal));
|
211 |
+
session.begin();
|
212 |
+
|
213 |
+
session.onshippingmethodselected = function (event) {
|
214 |
+
var _this = this;
|
215 |
+
|
216 |
+
jQuery.ajax({
|
217 |
+
url: ajaxUrl,
|
218 |
+
method: 'POST',
|
219 |
+
data: {
|
220 |
+
action: 'mollie_apple_pay_update_shipping_method',
|
221 |
+
shippingMethod: event.shippingMethod,
|
222 |
+
callerPage: 'cart',
|
223 |
+
simplifiedContact: updatedContactInfo,
|
224 |
+
'woocommerce-process-checkout-nonce': nonce
|
225 |
+
},
|
226 |
+
complete: function complete(jqXHR, textStatus) {},
|
227 |
+
success: function success(applePayShippingMethodUpdate, textStatus, jqXHR) {
|
228 |
+
var response = applePayShippingMethodUpdate.data;
|
229 |
+
selectedShippingMethod = event.shippingMethod;
|
230 |
+
|
231 |
+
if (applePayShippingMethodUpdate.success === false) {
|
232 |
+
response.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(response.errors);
|
233 |
+
}
|
234 |
+
|
235 |
+
_this.completeShippingMethodSelection(response);
|
236 |
+
},
|
237 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
238 |
+
console.warn(textStatus, errorThrown);
|
239 |
+
session.abort();
|
240 |
+
}
|
241 |
+
});
|
242 |
+
};
|
243 |
+
|
244 |
+
session.onshippingcontactselected = function (event) {
|
245 |
+
var _this2 = this;
|
246 |
+
|
247 |
+
jQuery.ajax({
|
248 |
+
url: ajaxUrl,
|
249 |
+
method: 'POST',
|
250 |
+
data: {
|
251 |
+
action: 'mollie_apple_pay_update_shipping_contact',
|
252 |
+
simplifiedContact: event.shippingContact,
|
253 |
+
callerPage: 'cart',
|
254 |
+
needShipping: needShipping,
|
255 |
+
'woocommerce-process-checkout-nonce': nonce
|
256 |
+
},
|
257 |
+
complete: function complete(jqXHR, textStatus) {},
|
258 |
+
success: function success(applePayShippingContactUpdate, textStatus, jqXHR) {
|
259 |
+
var response = applePayShippingContactUpdate.data;
|
260 |
+
updatedContactInfo = event.shippingContact;
|
261 |
+
|
262 |
+
if (applePayShippingContactUpdate.success === false) {
|
263 |
+
response.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(response.errors);
|
264 |
+
}
|
265 |
+
|
266 |
+
if (response.newShippingMethods) {
|
267 |
+
selectedShippingMethod = response.newShippingMethods[0];
|
268 |
+
}
|
269 |
+
|
270 |
+
_this2.completeShippingContactSelection(response);
|
271 |
+
},
|
272 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
273 |
+
console.warn(textStatus, errorThrown);
|
274 |
+
session.abort();
|
275 |
+
}
|
276 |
+
});
|
277 |
+
};
|
278 |
+
|
279 |
+
session.onvalidatemerchant = function (applePayValidateMerchantEvent) {
|
280 |
+
jQuery.ajax({
|
281 |
+
url: ajaxUrl,
|
282 |
+
method: 'POST',
|
283 |
+
data: {
|
284 |
+
action: 'mollie_apple_pay_validation',
|
285 |
+
validationUrl: applePayValidateMerchantEvent.validationURL,
|
286 |
+
'woocommerce-process-checkout-nonce': nonce
|
287 |
+
},
|
288 |
+
complete: function complete(jqXHR, textStatus) {},
|
289 |
+
success: function success(merchantSession, textStatus, jqXHR) {
|
290 |
+
if (merchantSession.success === true) {
|
291 |
+
session.completeMerchantValidation(JSON.parse(merchantSession.data));
|
292 |
+
} else {
|
293 |
+
console.warn(merchantSession.data);
|
294 |
+
session.abort();
|
295 |
+
}
|
296 |
+
},
|
297 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
298 |
+
console.warn(textStatus, errorThrown);
|
299 |
+
session.abort();
|
300 |
+
}
|
301 |
+
});
|
302 |
+
};
|
303 |
+
|
304 |
+
session.onpaymentauthorized = function (ApplePayPayment) {
|
305 |
+
var _ApplePayPayment$paym = ApplePayPayment.payment,
|
306 |
+
billingContact = _ApplePayPayment$paym.billingContact,
|
307 |
+
shippingContact = _ApplePayPayment$paym.shippingContact;
|
308 |
+
jQuery.ajax({
|
309 |
+
url: ajaxUrl,
|
310 |
+
method: 'POST',
|
311 |
+
data: {
|
312 |
+
action: 'mollie_apple_pay_create_order_cart',
|
313 |
+
shippingContact: ApplePayPayment.payment.shippingContact,
|
314 |
+
billingContact: ApplePayPayment.payment.billingContact,
|
315 |
+
token: ApplePayPayment.payment.token,
|
316 |
+
shippingMethod: selectedShippingMethod,
|
317 |
+
'mollie-payments-for-woocommerce_issuer_applepay': 'applepay',
|
318 |
+
'woocommerce-process-checkout-nonce': nonce,
|
319 |
+
'billing_first_name': billingContact.givenName || '',
|
320 |
+
'billing_last_name': billingContact.familyName || '',
|
321 |
+
'billing_company': '',
|
322 |
+
'billing_country': billingContact.countryCode || '',
|
323 |
+
'billing_address_1': billingContact.addressLines[0] || '',
|
324 |
+
'billing_address_2': billingContact.addressLines[1] || '',
|
325 |
+
'billing_postcode': billingContact.postalCode || '',
|
326 |
+
'billing_city': billingContact.locality || '',
|
327 |
+
'billing_state': billingContact.administrativeArea || '',
|
328 |
+
'billing_phone': billingContact.phoneNumber || '000000000000',
|
329 |
+
'billing_email': shippingContact.emailAddress || '',
|
330 |
+
'shipping_first_name': shippingContact.givenName || '',
|
331 |
+
'shipping_last_name': shippingContact.familyName || '',
|
332 |
+
'shipping_company': '',
|
333 |
+
'shipping_country': shippingContact.countryCode || '',
|
334 |
+
'shipping_address_1': shippingContact.addressLines[0] || '',
|
335 |
+
'shipping_address_2': shippingContact.addressLines[1] || '',
|
336 |
+
'shipping_postcode': shippingContact.postalCode || '',
|
337 |
+
'shipping_city': shippingContact.locality || '',
|
338 |
+
'shipping_state': shippingContact.administrativeArea || '',
|
339 |
+
'shipping_phone': shippingContact.phoneNumber || '000000000000',
|
340 |
+
'shipping_email': shippingContact.emailAddress || '',
|
341 |
+
'order_comments': '',
|
342 |
+
'payment_method': 'mollie_wc_gateway_applepay',
|
343 |
+
'_wp_http_referer': '/?wc-ajax=update_order_review'
|
344 |
+
},
|
345 |
+
complete: function complete(jqXHR, textStatus) {},
|
346 |
+
success: function success(authorizationResult, textStatus, jqXHR) {
|
347 |
+
var result = authorizationResult.data;
|
348 |
+
|
349 |
+
if (authorizationResult.success === true) {
|
350 |
+
redirectionUrl = result['returnUrl'];
|
351 |
+
session.completePayment(result['responseToApple']);
|
352 |
+
window.location.href = redirectionUrl;
|
353 |
+
} else {
|
354 |
+
result.errors = Object(_applePayError_js__WEBPACK_IMPORTED_MODULE_0__["createAppleErrors"])(result.errors);
|
355 |
+
session.completePayment(result);
|
356 |
+
}
|
357 |
+
},
|
358 |
+
error: function error(jqXHR, textStatus, errorThrown) {
|
359 |
+
console.warn(textStatus, errorThrown);
|
360 |
+
session.abort();
|
361 |
+
}
|
362 |
+
});
|
363 |
+
};
|
364 |
+
};
|
365 |
+
|
366 |
+
if (!Object(_maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_2__["maybeShowButton"])()) {
|
367 |
+
return;
|
368 |
+
}
|
369 |
+
|
370 |
+
jQuery(document.body).on('updated_cart_totals', function (event) {
|
371 |
+
Object(_maybeShowApplePayButton_js__WEBPACK_IMPORTED_MODULE_2__["maybeShowButton"])();
|
372 |
+
document.querySelector('#mollie_applepay_button').addEventListener('click', function (evt) {
|
373 |
+
applePaySession();
|
374 |
+
});
|
375 |
+
});
|
376 |
+
document.querySelector('#mollie_applepay_button').addEventListener('click', function (evt) {
|
377 |
+
applePaySession();
|
378 |
+
});
|
379 |
+
})(window);
|
380 |
+
|
381 |
+
/***/ }),
|
382 |
+
|
383 |
+
/***/ "./resources/js/maybeShowApplePayButton.js":
|
384 |
+
/*!*************************************************!*\
|
385 |
+
!*** ./resources/js/maybeShowApplePayButton.js ***!
|
386 |
+
\*************************************************/
|
387 |
+
/*! exports provided: maybeShowButton */
|
388 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
389 |
+
|
390 |
+
"use strict";
|
391 |
+
__webpack_require__.r(__webpack_exports__);
|
392 |
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "maybeShowButton", function() { return maybeShowButton; });
|
393 |
+
var maybeShowButton = function maybeShowButton() {
|
394 |
+
var _window = window,
|
395 |
+
ApplePaySession = _window.ApplePaySession;
|
396 |
+
var applePayMethodElement = document.querySelector('#mollie-applepayDirect-button');
|
397 |
+
var canShowButton = applePayMethodElement && ApplePaySession && ApplePaySession.canMakePayments();
|
398 |
+
|
399 |
+
if (!canShowButton) {
|
400 |
+
return false;
|
401 |
+
}
|
402 |
+
|
403 |
+
var button = document.createElement('button');
|
404 |
+
button.setAttribute('id', 'mollie_applepay_button');
|
405 |
+
button.classList.add('apple-pay-button');
|
406 |
+
button.classList.add('apple-pay-button-black');
|
407 |
+
applePayMethodElement.appendChild(button);
|
408 |
+
return true;
|
409 |
+
};
|
410 |
+
|
411 |
+
/***/ })
|
412 |
+
|
413 |
+
/******/ });
|
414 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5RXJyb3IuanMiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcGxlUGF5UmVxdWVzdC5qcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYXBwbGVwYXlEaXJlY3RDYXJ0LmpzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9tYXliZVNob3dBcHBsZVBheUJ1dHRvbi5qcyJdLCJuYW1lcyI6WyJjcmVhdGVBcHBsZUVycm9ycyIsImVycm9ycyIsImVycm9yTGlzdCIsImVycm9yIiwiY29udGFjdEZpZWxkIiwiY29kZSIsIm1lc3NhZ2UiLCJhcHBsZUVycm9yIiwiQXBwbGVQYXlFcnJvciIsInB1c2giLCJyZXF1ZXN0IiwiY291bnRyeUNvZGUiLCJjdXJyZW5jeUNvZGUiLCJ0b3RhbExhYmVsIiwic3VidG90YWwiLCJzdXBwb3J0ZWROZXR3b3JrcyIsIm1lcmNoYW50Q2FwYWJpbGl0aWVzIiwic2hpcHBpbmdUeXBlIiwicmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcyIsInJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIiwidG90YWwiLCJsYWJlbCIsImFtb3VudCIsInR5cGUiLCJfIiwibW9sbGllQXBwbGVQYXlEaXJlY3REYXRhQ2FydCIsImpRdWVyeSIsImlzRW1wdHkiLCJwcm9kdWN0IiwibmVlZFNoaXBwaW5nIiwic2hvcCIsImFqYXhVcmwiLCJub25jZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ2YWx1ZSIsInVwZGF0ZWRDb250YWN0SW5mbyIsInNlbGVjdGVkU2hpcHBpbmdNZXRob2QiLCJyZWRpcmVjdGlvblVybCIsImFwcGxlUGF5U2Vzc2lvbiIsInNlc3Npb24iLCJBcHBsZVBheVNlc3Npb24iLCJiZWdpbiIsIm9uc2hpcHBpbmdtZXRob2RzZWxlY3RlZCIsImV2ZW50IiwiYWpheCIsInVybCIsIm1ldGhvZCIsImRhdGEiLCJhY3Rpb24iLCJzaGlwcGluZ01ldGhvZCIsImNhbGxlclBhZ2UiLCJzaW1wbGlmaWVkQ29udGFjdCIsImNvbXBsZXRlIiwianFYSFIiLCJ0ZXh0U3RhdHVzIiwic3VjY2VzcyIsImFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUiLCJyZXNwb25zZSIsImNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24iLCJlcnJvclRocm93biIsImNvbnNvbGUiLCJ3YXJuIiwiYWJvcnQiLCJvbnNoaXBwaW5nY29udGFjdHNlbGVjdGVkIiwic2hpcHBpbmdDb250YWN0IiwiYXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUiLCJuZXdTaGlwcGluZ01ldGhvZHMiLCJjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbiIsIm9udmFsaWRhdGVtZXJjaGFudCIsImFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IiwidmFsaWRhdGlvblVybCIsInZhbGlkYXRpb25VUkwiLCJtZXJjaGFudFNlc3Npb24iLCJjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbiIsIkpTT04iLCJwYXJzZSIsIm9ucGF5bWVudGF1dGhvcml6ZWQiLCJBcHBsZVBheVBheW1lbnQiLCJwYXltZW50IiwiYmlsbGluZ0NvbnRhY3QiLCJ0b2tlbiIsImdpdmVuTmFtZSIsImZhbWlseU5hbWUiLCJhZGRyZXNzTGluZXMiLCJwb3N0YWxDb2RlIiwibG9jYWxpdHkiLCJhZG1pbmlzdHJhdGl2ZUFyZWEiLCJwaG9uZU51bWJlciIsImVtYWlsQWRkcmVzcyIsImF1dGhvcml6YXRpb25SZXN1bHQiLCJyZXN1bHQiLCJjb21wbGV0ZVBheW1lbnQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJtYXliZVNob3dCdXR0b24iLCJib2R5Iiwib24iLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2dCIsImFwcGxlUGF5TWV0aG9kRWxlbWVudCIsImNhblNob3dCdXR0b24iLCJjYW5NYWtlUGF5bWVudHMiLCJidXR0b24iLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiY2xhc3NMaXN0IiwiYWRkIiwiYXBwZW5kQ2hpbGQiXSwibWFwcGluZ3MiOiI7UUFBQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDBDQUEwQyxnQ0FBZ0M7UUFDMUU7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSx3REFBd0Qsa0JBQWtCO1FBQzFFO1FBQ0EsaURBQWlELGNBQWM7UUFDL0Q7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBLHlDQUF5QyxpQ0FBaUM7UUFDMUUsZ0hBQWdILG1CQUFtQixFQUFFO1FBQ3JJO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0EsMkJBQTJCLDBCQUEwQixFQUFFO1FBQ3ZELGlDQUFpQyxlQUFlO1FBQ2hEO1FBQ0E7UUFDQTs7UUFFQTtRQUNBLHNEQUFzRCwrREFBK0Q7O1FBRXJIO1FBQ0E7OztRQUdBO1FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2xGTyxTQUFTQSxpQkFBVCxDQUEyQkMsTUFBM0IsRUFBbUM7RUFDdEMsSUFBTUMsU0FBUyxHQUFHLEVBQWxCOztFQURzQywyQ0FFbEJELE1BRmtCO0VBQUE7O0VBQUE7SUFFdEMsb0RBQTRCO01BQUEsSUFBakJFLEtBQWlCO01BQ3hCLDBCQUEyREEsS0FBM0QsQ0FBT0MsWUFBUDtNQUFBLElBQU9BLFlBQVAsb0NBQXNCLElBQXRCO01BQUEsa0JBQTJERCxLQUEzRCxDQUE0QkUsSUFBNUI7TUFBQSxJQUE0QkEsSUFBNUIsNEJBQW1DLElBQW5DO01BQUEscUJBQTJERixLQUEzRCxDQUF5Q0csT0FBekM7TUFBQSxJQUF5Q0EsT0FBekMsK0JBQW1ELElB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QUNILENBZk0sQyIsImZpbGUiOiJhcHBsZXBheURpcmVjdENhcnQubWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvcHVibGljL2pzL1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3Jlc291cmNlcy9qcy9hcHBsZXBheURpcmVjdENhcnQuanNcIik7XG4iLCJleHBvcnQgZnVuY3Rpb24gY3JlYXRlQXBwbGVFcnJvcnMoZXJyb3JzKSB7XG4gICAgY29uc3QgZXJyb3JMaXN0ID0gW11cbiAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGVycm9ycykge1xuICAgICAgICBjb25zdCB7Y29udGFjdEZpZWxkID0gbnVsbCwgY29kZSA9IG51bGwsIG1lc3NhZ2UgPSBudWxsfSA9IGVycm9yXG4gICAgICAgIGNvbnN0IGFwcGxlRXJyb3IgPSBjb250YWN0RmllbGQgPyBuZXcgQXBwbGVQYXlFcnJvcihjb2RlLCBjb250YWN0RmllbGQsIG1lc3NhZ2UpIDogbmV3IEFwcGxlUGF5RXJyb3IoY29kZSlcbiAgICAgICAgZXJyb3JMaXN0LnB1c2goYXBwbGVFcnJvcilcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3JMaXN0XG59XG4iLCJleHBvcnQgY29uc3QgcmVxdWVzdCA9IChjb3VudHJ5Q29kZSwgY3VycmVuY3lDb2RlLCB0b3RhbExhYmVsLCBzdWJ0b3RhbCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIGNvdW50cnlDb2RlOiBjb3VudHJ5Q29kZSxcbiAgICAgICAgY3VycmVuY3lDb2RlOiBjdXJyZW5jeUNvZGUsXG4gICAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbJ2FtZXgnLCAnbWFlc3RybycsICdtYXN0ZXJDYXJkJywgJ3Zpc2EnLCAndlBheSddLFxuICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLFxuICAgICAgICBzaGlwcGluZ1R5cGU6ICdzaGlwcGluZycsXG4gICAgICAgIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM6IFtcbiAgICAgICAgICAgICdwb3N0YWxBZGRyZXNzJyxcbiAgICAgICAgICAgICdlbWFpbCdcbiAgICAgICAgXSxcbiAgICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IFtcbiAgICAgICAgICAgICdwb3N0YWxBZGRyZXNzJyxcbiAgICAgICAgICAgICdlbWFpbCdcbiAgICAgICAgXSxcbiAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICAgIGxhYmVsOiB0b3RhbExhYmVsLFxuICAgICAgICAgICAgYW1vdW50OiBzdWJ0b3RhbCxcbiAgICAgICAgICAgIHR5cGU6ICdmaW5hbCdcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImltcG9ydCB7Y3JlYXRlQXBwbGVFcnJvcnN9IGZyb20gJy4vYXBwbGVQYXlFcnJvci5qcyc7XG5pbXBvcnQge3JlcXVlc3R9IGZyb20gXCIuL2FwcGxlUGF5UmVxdWVzdFwiO1xuaW1wb3J0IHttYXliZVNob3dCdXR0b259IGZyb20gJy4vbWF5YmVTaG93QXBwbGVQYXlCdXR0b24uanMnO1xuXG4oXG4gICAgZnVuY3Rpb24gKHtfLCBtb2xsaWVBcHBsZVBheURpcmVjdERhdGFDYXJ0LCBqUXVlcnl9KSB7XG4gICAgICAgIGlmIChfLmlzRW1wdHkobW9sbGllQXBwbGVQYXlEaXJlY3REYXRhQ2FydCkpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHtwcm9kdWN0OiB7bmVlZFNoaXBwaW5nID0gdHJ1ZSwgc3VidG90YWx9LCBzaG9wOiB7Y291bnRyeUNvZGUsIGN1cnJlbmN5Q29kZSA9ICdFVVInLCB0b3RhbExhYmVsID0gJyd9LCBhamF4VXJsfSA9IG1vbGxpZUFwcGxlUGF5RGlyZWN0RGF0YUNhcnRcblxuICAgICAgICBpZiAoIXN1YnRvdGFsIHx8ICFjb3VudHJ5Q29kZSB8fCAhYWpheFVybCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub25jZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwid29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZVwiKS52YWx1ZVxuXG4gICAgICAgIGxldCB1cGRhdGVkQ29udGFjdEluZm8gPSBbXVxuICAgICAgICBsZXQgc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCA9IFtdXG4gICAgICAgIGxldCByZWRpcmVjdGlvblVybCA9ICcnXG4gICAgICAgIGxldCBhcHBsZVBheVNlc3Npb24gPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KGNvdW50cnlDb2RlLCBjdXJyZW5jeUNvZGUsIHRvdGFsTGFiZWwsIHN1YnRvdGFsKSlcbiAgICAgICAgICAgIHNlc3Npb24uYmVnaW4oKVxuICAgICAgICAgICAgc2Vzc2lvbi5vbnNoaXBwaW5nbWV0aG9kc2VsZWN0ZWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogYWpheFVybCxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ21vbGxpZV9hcHBsZV9wYXlfdXBkYXRlX3NoaXBwaW5nX21ldGhvZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZDogZXZlbnQuc2hpcHBpbmdNZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXJQYWdlOiAnY2FydCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaW1wbGlmaWVkQ29udGFjdDogdXBkYXRlZENvbnRhY3RJbmZvLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dvb2NvbW1lcmNlLXByb2Nlc3MtY2hlY2tvdXQtbm9uY2UnOiBub25jZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IChqcVhIUiwgdGV4dFN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZSA9IGFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCA9IGV2ZW50LnNoaXBwaW5nTWV0aG9kXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmVycm9ycyA9IGNyZWF0ZUFwcGxlRXJyb3JzKHJlc3BvbnNlLmVycm9ycylcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihyZXNwb25zZSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXNzaW9uLm9uc2hpcHBpbmdjb250YWN0c2VsZWN0ZWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogYWpheFVybCxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ21vbGxpZV9hcHBsZV9wYXlfdXBkYXRlX3NoaXBwaW5nX2NvbnRhY3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2ltcGxpZmllZENvbnRhY3Q6IGV2ZW50LnNoaXBwaW5nQ29udGFjdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlclBhZ2U6ICdjYXJ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRTaGlwcGluZzogbmVlZFNoaXBwaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dvb2NvbW1lcmNlLXByb2Nlc3MtY2hlY2tvdXQtbm9uY2UnOiBub25jZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6IChqcVhIUiwgdGV4dFN0YXR1cykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoYXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUsIHRleHRTdGF0dXMsIGpxWEhSKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5kYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQ29udGFjdEluZm8gPSBldmVudC5zaGlwcGluZ0NvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmVycm9ycyA9IGNyZWF0ZUFwcGxlRXJyb3JzKHJlc3BvbnNlLmVycm9ycylcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5uZXdTaGlwcGluZ01ldGhvZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFNoaXBwaW5nTWV0aG9kID0gcmVzcG9uc2UubmV3U2hpcHBpbmdNZXRob2RzWzBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHJlc3BvbnNlKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKHRleHRTdGF0dXMsIGVycm9yVGhyb3duKVxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5hYm9ydCgpXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlc3Npb24ub252YWxpZGF0ZW1lcmNoYW50ID0gKGFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgalF1ZXJ5LmFqYXgoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IGFqYXhVcmwsXG4gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdtb2xsaWVfYXBwbGVfcGF5X3ZhbGlkYXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblVybDogYXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQudmFsaWRhdGlvblVSTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICd3b29jb21tZXJjZS1wcm9jZXNzLWNoZWNrb3V0LW5vbmNlJzogbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoanFYSFIsIHRleHRTdGF0dXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKG1lcmNoYW50U2Vzc2lvbiwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXJjaGFudFNlc3Npb24uc3VjY2VzcyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oSlNPTi5wYXJzZShtZXJjaGFudFNlc3Npb24uZGF0YSkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihtZXJjaGFudFNlc3Npb24uZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uLmFib3J0KClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXNzaW9uLm9ucGF5bWVudGF1dGhvcml6ZWQgPSAoQXBwbGVQYXlQYXltZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qge2JpbGxpbmdDb250YWN0LCBzaGlwcGluZ0NvbnRhY3QgfSA9IEFwcGxlUGF5UGF5bWVudC5wYXltZW50XG5cbiAgICAgICAgICAgICAgICBqUXVlcnkuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogYWpheFVybCxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ21vbGxpZV9hcHBsZV9wYXlfY3JlYXRlX29yZGVyX2NhcnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVBheW1lbnQucGF5bWVudC5zaGlwcGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nQ29udGFjdDogQXBwbGVQYXlQYXltZW50LnBheW1lbnQuYmlsbGluZ0NvbnRhY3QsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b2tlbjogQXBwbGVQYXlQYXltZW50LnBheW1lbnQudG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZDogc2VsZWN0ZWRTaGlwcGluZ01ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtb2xsaWUtcGF5bWVudHMtZm9yLXdvb2NvbW1lcmNlX2lzc3Vlcl9hcHBsZXBheSc6ICdhcHBsZXBheScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnd29vY29tbWVyY2UtcHJvY2Vzcy1jaGVja291dC1ub25jZSc6IG5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JpbGxpbmdfZmlyc3RfbmFtZSc6IGJpbGxpbmdDb250YWN0LmdpdmVuTmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX2xhc3RfbmFtZSc6IGJpbGxpbmdDb250YWN0LmZhbWlseU5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19jb21wYW55JzogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19jb3VudHJ5JzogYmlsbGluZ0NvbnRhY3QuY291bnRyeUNvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19hZGRyZXNzXzEnOiBiaWxsaW5nQ29udGFjdC5hZGRyZXNzTGluZXNbMF0gfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19hZGRyZXNzXzInOiBiaWxsaW5nQ29udGFjdC5hZGRyZXNzTGluZXNbMV0gfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19wb3N0Y29kZSc6IGJpbGxpbmdDb250YWN0LnBvc3RhbENvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19jaXR5JzogYmlsbGluZ0NvbnRhY3QubG9jYWxpdHkgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19zdGF0ZSc6IGJpbGxpbmdDb250YWN0LmFkbWluaXN0cmF0aXZlQXJlYSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiaWxsaW5nX3Bob25lJzogYmlsbGluZ0NvbnRhY3QucGhvbmVOdW1iZXIgfHwgJzAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmlsbGluZ19lbWFpbCc6IHNoaXBwaW5nQ29udGFjdC5lbWFpbEFkZHJlc3MgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfZmlyc3RfbmFtZSc6IHNoaXBwaW5nQ29udGFjdC5naXZlbk5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfbGFzdF9uYW1lJzogc2hpcHBpbmdDb250YWN0LmZhbWlseU5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY29tcGFueSc6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NoaXBwaW5nX2NvdW50cnknOiBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfYWRkcmVzc18xJzogc2hpcHBpbmdDb250YWN0LmFkZHJlc3NMaW5lc1swXSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19hZGRyZXNzXzInOiBzaGlwcGluZ0NvbnRhY3QuYWRkcmVzc0xpbmVzWzFdIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NoaXBwaW5nX3Bvc3Rjb2RlJzogc2hpcHBpbmdDb250YWN0LnBvc3RhbENvZGUgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfY2l0eSc6IHNoaXBwaW5nQ29udGFjdC5sb2NhbGl0eSB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdzaGlwcGluZ19zdGF0ZSc6IHNoaXBwaW5nQ29udGFjdC5hZG1pbmlzdHJhdGl2ZUFyZWEgfHwgJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfcGhvbmUnOiBzaGlwcGluZ0NvbnRhY3QucGhvbmVOdW1iZXIgfHwgJzAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2hpcHBpbmdfZW1haWwnOiBzaGlwcGluZ0NvbnRhY3QuZW1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ29yZGVyX2NvbW1lbnRzJyA6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3BheW1lbnRfbWV0aG9kJyA6ICdtb2xsaWVfd2NfZ2F0ZXdheV9hcHBsZXBheScsXG4gICAgICAgICAgICAgICAgICAgICAgICAnX3dwX2h0dHBfcmVmZXJlcicgOiAnLz93Yy1hamF4PXVwZGF0ZV9vcmRlcl9yZXZpZXcnXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoanFYSFIsIHRleHRTdGF0dXMpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoYXV0aG9yaXphdGlvblJlc3VsdCwgdGV4dFN0YXR1cywganFYSFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBhdXRob3JpemF0aW9uUmVzdWx0LmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdXRob3JpemF0aW9uUmVzdWx0LnN1Y2Nlc3MgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdGlvblVybCA9IHJlc3VsdFsncmV0dXJuVXJsJ107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZVBheW1lbnQocmVzdWx0WydyZXNwb25zZVRvQXBwbGUnXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJlZGlyZWN0aW9uVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5lcnJvcnMgPSBjcmVhdGVBcHBsZUVycm9ycyhyZXN1bHQuZXJyb3JzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVQYXltZW50KHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChqcVhIUiwgdGV4dFN0YXR1cywgZXJyb3JUaHJvd24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybih0ZXh0U3RhdHVzLCBlcnJvclRocm93bilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZighbWF5YmVTaG93QnV0dG9uKCkpe1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkub24oJ3VwZGF0ZWRfY2FydF90b3RhbHMnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIG1heWJlU2hvd0J1dHRvbigpXG4gICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbW9sbGllX2FwcGxlcGF5X2J1dHRvbicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2dCkgPT4ge1xuICAgICAgICAgICAgICAgIGFwcGxlUGF5U2Vzc2lvbigpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNtb2xsaWVfYXBwbGVwYXlfYnV0dG9uJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZXZ0KSA9PiB7XG4gICAgICAgICAgICBhcHBsZVBheVNlc3Npb24oKVxuICAgICAgICB9KVxuICAgIH1cblxuKVxuKFxuICAgIHdpbmRvd1xuKVxuXG5cblxuIiwiZXhwb3J0IGNvbnN0IG1heWJlU2hvd0J1dHRvbiA9ICgpID0+IHtcbiAgICBjb25zdCB7QXBwbGVQYXlTZXNzaW9ufSA9IHdpbmRvd1xuICAgIGNvbnN0IGFwcGxlUGF5TWV0aG9kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcjbW9sbGllLWFwcGxlcGF5RGlyZWN0LWJ1dHRvbicsXG4gICAgKVxuICAgIGNvbnN0IGNhblNob3dCdXR0b24gPSBhcHBsZVBheU1ldGhvZEVsZW1lbnQgJiYgKEFwcGxlUGF5U2Vzc2lvbiAmJiBBcHBsZVBheVNlc3Npb24uY2FuTWFrZVBheW1lbnRzKCkpXG4gICAgaWYgKCFjYW5TaG93QnV0dG9uKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKVxuICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ21vbGxpZV9hcHBsZXBheV9idXR0b24nKVxuICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdhcHBsZS1wYXktYnV0dG9uJylcbiAgICBidXR0b24uY2xhc3NMaXN0LmFkZCgnYXBwbGUtcGF5LWJ1dHRvbi1ibGFjaycpXG4gICAgYXBwbGVQYXlNZXRob2RFbGVtZW50LmFwcGVuZENoaWxkKGJ1dHRvbilcbiAgICByZXR1cm4gdHJ1ZVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|
public/js/babel-polyfill.min.js
CHANGED
@@ -1 +1,10279 @@
|
|
1 |
-
!function(t){var n={};function r(e){if(n[e])return n[e].exports;var i=n[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)r.d(e,i,function(n){return t[n]}.bind(null,i));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,"a",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p="/public/js/",r(r.s="55Il")}({"+Xmh":function(t,n,r){r("jm62"),t.exports=r("g3g5").Object.getOwnPropertyDescriptors},"+auO":function(t,n,r){var e=r("XKFU"),i=r("lvtm");e(e.S,"Math",{cbrt:function(t){return i(t=+t)*Math.pow(Math.abs(t),1/3)}})},"+lvF":function(t,n,r){t.exports=r("VTer")("native-function-to-string",Function.toString)},"+oPb":function(t,n,r){"use strict";r("OGtf")("blink",(function(t){return function(){return t(this,"blink","","")}}))},"+rLv":function(t,n,r){var e=r("dyZX").document;t.exports=e&&e.documentElement},"/8Fb":function(t,n,r){var e=r("XKFU"),i=r("UExd")(!0);e(e.S,"Object",{entries:function(t){return i(t)}})},"/KAi":function(t,n,r){var e=r("XKFU"),i=r("dyZX").isFinite;e(e.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},"/SS/":function(t,n,r){var e=r("XKFU");e(e.S,"Object",{setPrototypeOf:r("i5dc").set})},"/e88":function(t,n){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},"0/R4":function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"0E+W":function(t,n,r){r("elZq")("Array")},"0LDn":function(t,n,r){"use strict";r("OGtf")("italics",(function(t){return function(){return t(this,"i","","")}}))},"0YWM":function(t,n,r){var e=r("EemH"),i=r("OP3Y"),o=r("aagx"),u=r("XKFU"),c=r("0/R4"),a=r("y3w9");u(u.S,"Reflect",{get:function t(n,r){var u,f,s=arguments.length<3?n:arguments[2];return a(n)===s?n[r]:(u=e.f(n,r))?o(u,"value")?u.value:void 0!==u.get?u.get.call(s):void 0:c(f=i(n))?t(f,r,s):void 0}})},"0l/t":function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(2);e(e.P+e.F*!r("LyE8")([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},"0mN4":function(t,n,r){"use strict";r("OGtf")("fixed",(function(t){return function(){return t(this,"tt","","")}}))},"0sh+":function(t,n,r){var e=r("quPj"),i=r("vhPU");t.exports=function(t,n,r){if(e(n))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},"11IZ":function(t,n,r){var e=r("dyZX").parseFloat,i=r("qncB").trim;t.exports=1/e(r("/e88")+"-0")!=-1/0?function(t){var n=i(String(t),3),r=e(n);return 0===r&&"-"==n.charAt(0)?-0:r}:e},"1MBn":function(t,n,r){var e=r("DVgA"),i=r("JiEa"),o=r("UqcF");t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),a=o.f,f=0;c.length>f;)a.call(t,u=c[f++])&&n.push(u);return n}},"1TsA":function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},"1sa7":function(t,n){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},"25dN":function(t,n,r){var e=r("XKFU");e(e.S,"Object",{is:r("g6HL")})},"2GTP":function(t,n,r){var e=r("eaoh");t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){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,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},"2OiF":function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"2Spj":function(t,n,r){var e=r("XKFU");e(e.P,"Function",{bind:r("8MEG")})},"2atp":function(t,n,r){var e=r("XKFU"),i=Math.atanh;e(e.S+e.F*!(i&&1/i(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},"2faE":function(t,n,r){var e=r("5K7Z"),i=r("eUtF"),o=r("G8Mo"),u=Object.defineProperty;n.f=r("jmDH")?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(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}},"3Lyj":function(t,n,r){var e=r("KroJ");t.exports=function(t,n,r){for(var i in n)e(t,i,n[i],r);return t}},"3xty":function(t,n,r){var e=r("XKFU"),i=r("2OiF"),o=r("y3w9"),u=(r("dyZX").Reflect||{}).apply,c=Function.apply;e(e.S+e.F*!r("eeVq")((function(){u((function(){}))})),"Reflect",{apply:function(t,n,r){var e=i(t),a=o(r);return u?u(e,n,a):c.call(e,n,a)}})},"4LiD":function(t,n,r){"use strict";var e=r("dyZX"),i=r("XKFU"),o=r("KroJ"),u=r("3Lyj"),c=r("Z6vF"),a=r("SlkY"),f=r("9gX7"),s=r("0/R4"),l=r("eeVq"),h=r("XMVh"),v=r("fyDq"),p=r("Xbzi");t.exports=function(t,n,r,y,g,d){var x=e[t],m=x,b=g?"set":"add",w=m&&m.prototype,F={},S=function(t){var n=w[t];o(w,t,"delete"==t||"has"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return d&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof m&&(d||w.forEach&&!l((function(){(new m).entries().next()})))){var E=new m,O=E[b](d?{}:-0,1)!=E,U=l((function(){E.has(1)})),_=h((function(t){new m(t)})),P=!d&&l((function(){for(var t=new m,n=5;n--;)t[b](n,n);return!t.has(-0)}));_||((m=n((function(n,r){f(n,m,t);var e=p(new x,n,m);return null!=r&&a(r,g,e[b],e),e}))).prototype=w,w.constructor=m),(U||P)&&(S("delete"),S("has"),g&&S("get")),(P||O)&&S(b),d&&w.clear&&delete w.clear}else m=y.getConstructor(n,t,g,b),u(m.prototype,r),c.NEED=!0;return v(m,t),F[t]=m,i(i.G+i.W+i.F*(m!=x),F),d||y.setStrong(m,t,g),m}},"4R4u":function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"55Il":function(t,n,r){"use strict";r("g2aq");var e,i=(e=r("VsWn"))&&e.__esModule?e:{default:e};i.default._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),i.default._babelPolyfill=!0},"5K7Z":function(t,n,r){var e=r("93I4");t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},"5Pf0":function(t,n,r){var e=r("S/j/"),i=r("OP3Y");r("Xtr8")("getPrototypeOf",(function(){return function(t){return i(e(t))}}))},"5T2Y":function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},"694e":function(t,n,r){var e=r("EemH"),i=r("XKFU"),o=r("y3w9");i(i.S,"Reflect",{getOwnPropertyDescriptor:function(t,n){return e.f(o(t),n)}})},"69bn":function(t,n,r){var e=r("y3w9"),i=r("2OiF"),o=r("K0xU")("species");t.exports=function(t,n){var r,u=e(t).constructor;return void 0===u||null==(r=e(u)[o])?n:i(r)}},"6AQ9":function(t,n,r){"use strict";var e=r("XKFU"),i=r("8a7r");e(e.S+e.F*r("eeVq")((function(){function t(){}return!(Array.of.call(t)instanceof t)})),"Array",{of:function(){for(var t=0,n=arguments.length,r=new("function"==typeof this?this:Array)(n);n>t;)i(r,t,arguments[t++]);return r.length=n,r}})},"6FMO":function(t,n,r){var e=r("0/R4"),i=r("EWmC"),o=r("K0xU")("species");t.exports=function(t){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)||(n=void 0),e(n)&&null===(n=n[o])&&(n=void 0)),void 0===n?Array:n}},"6VaU":function(t,n,r){"use strict";var e=r("XKFU"),i=r("xF/b"),o=r("S/j/"),u=r("ne8i"),c=r("2OiF"),a=r("zRwo");e(e.P,"Array",{flatMap:function(t){var n,r,e=o(this);return c(t),n=u(e.length),r=a(e,0),i(r,e,e,n,0,1,t,arguments[1]),r}}),r("nGyu")("flatMap")},"7DDg":function(t,n,r){"use strict";if(r("nh4g")){var e=r("LQAc"),i=r("dyZX"),o=r("eeVq"),u=r("XKFU"),c=r("D4iV"),a=r("7Qtz"),f=r("m0Pp"),s=r("9gX7"),l=r("RjD/"),h=r("Mukb"),v=r("3Lyj"),p=r("RYi7"),y=r("ne8i"),g=r("Cfrj"),d=r("d/Gc"),x=r("apmT"),m=r("aagx"),b=r("I8a+"),w=r("0/R4"),F=r("S/j/"),S=r("M6Qj"),E=r("Kuth"),O=r("OP3Y"),U=r("kJMx").f,_=r("J+6e"),P=r("ylqs"),M=r("K0xU"),K=r("CkkT"),j=r("w2a5"),X=r("69bn"),A=r("yt8O"),I=r("hPIQ"),T=r("XMVh"),L=r("elZq"),R=r("Nr18"),N=r("upKx"),k=r("hswa"),D=r("EemH"),V=k.f,C=D.f,q=i.RangeError,Z=i.TypeError,W=i.Uint8Array,G=Array.prototype,Y=a.ArrayBuffer,B=a.DataView,z=K(0),J=K(2),H=K(3),Q=K(4),$=K(5),tt=K(6),nt=j(!0),rt=j(!1),et=A.values,it=A.keys,ot=A.entries,ut=G.lastIndexOf,ct=G.reduce,at=G.reduceRight,ft=G.join,st=G.sort,lt=G.slice,ht=G.toString,vt=G.toLocaleString,pt=M("iterator"),yt=M("toStringTag"),gt=P("typed_constructor"),dt=P("def_constructor"),xt=c.CONSTR,mt=c.TYPED,bt=c.VIEW,wt=K(1,(function(t,n){return Ut(X(t,t[dt]),n)})),Ft=o((function(){return 1===new W(new Uint16Array([1]).buffer)[0]})),St=!!W&&!!W.prototype.set&&o((function(){new W(1).set({})})),Et=function(t,n){var r=p(t);if(r<0||r%n)throw q("Wrong offset!");return r},Ot=function(t){if(w(t)&&mt in t)return t;throw Z(t+" is not a typed array!")},Ut=function(t,n){if(!w(t)||!(gt in t))throw Z("It is not a typed array constructor!");return new t(n)},_t=function(t,n){return Pt(X(t,t[dt]),n)},Pt=function(t,n){for(var r=0,e=n.length,i=Ut(t,e);e>r;)i[r]=n[r++];return i},Mt=function(t,n,r){V(t,n,{get:function(){return this._d[r]}})},Kt=function(t){var n,r,e,i,o,u,c=F(t),a=arguments.length,s=a>1?arguments[1]:void 0,l=void 0!==s,h=_(c);if(null!=h&&!S(h)){for(u=h.call(c),e=[],n=0;!(o=u.next()).done;n++)e.push(o.value);c=e}for(l&&a>2&&(s=f(s,arguments[2],2)),n=0,r=y(c.length),i=Ut(this,r);r>n;n++)i[n]=l?s(c[n],n):c[n];return i},jt=function(){for(var t=0,n=arguments.length,r=Ut(this,n);n>t;)r[t]=arguments[t++];return r},Xt=!!W&&o((function(){vt.call(new W(1))})),At=function(){return vt.apply(Xt?lt.call(Ot(this)):Ot(this),arguments)},It={copyWithin:function(t,n){return N.call(Ot(this),t,n,arguments.length>2?arguments[2]:void 0)},every:function(t){return Q(Ot(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return R.apply(Ot(this),arguments)},filter:function(t){return _t(this,J(Ot(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return $(Ot(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){z(Ot(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return rt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return nt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return ft.apply(Ot(this),arguments)},lastIndexOf:function(t){return ut.apply(Ot(this),arguments)},map:function(t){return wt(Ot(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ct.apply(Ot(this),arguments)},reduceRight:function(t){return at.apply(Ot(this),arguments)},reverse:function(){for(var t,n=Ot(this).length,r=Math.floor(n/2),e=0;e<r;)t=this[e],this[e++]=this[--n],this[n]=t;return this},some:function(t){return H(Ot(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return st.call(Ot(this),t)},subarray:function(t,n){var r=Ot(this),e=r.length,i=d(t,e);return new(X(r,r[dt]))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,y((void 0===n?e:d(n,e))-i))}},Tt=function(t,n){return _t(this,lt.call(Ot(this),t,n))},Lt=function(t){Ot(this);var n=Et(arguments[1],1),r=this.length,e=F(t),i=y(e.length),o=0;if(i+n>r)throw q("Wrong length!");for(;o<i;)this[n+o]=e[o++]},Rt={entries:function(){return ot.call(Ot(this))},keys:function(){return it.call(Ot(this))},values:function(){return et.call(Ot(this))}},Nt=function(t,n){return w(t)&&t[mt]&&"symbol"!=typeof n&&n in t&&String(+n)==String(n)},kt=function(t,n){return Nt(t,n=x(n,!0))?l(2,t[n]):C(t,n)},Dt=function(t,n,r){return!(Nt(t,n=x(n,!0))&&w(r)&&m(r,"value"))||m(r,"get")||m(r,"set")||r.configurable||m(r,"writable")&&!r.writable||m(r,"enumerable")&&!r.enumerable?V(t,n,r):(t[n]=r.value,t)};xt||(D.f=kt,k.f=Dt),u(u.S+u.F*!xt,"Object",{getOwnPropertyDescriptor:kt,defineProperty:Dt}),o((function(){ht.call({})}))&&(ht=vt=function(){return ft.call(this)});var Vt=v({},It);v(Vt,Rt),h(Vt,pt,Rt.values),v(Vt,{slice:Tt,set:Lt,constructor:function(){},toString:ht,toLocaleString:At}),Mt(Vt,"buffer","b"),Mt(Vt,"byteOffset","o"),Mt(Vt,"byteLength","l"),Mt(Vt,"length","e"),V(Vt,yt,{get:function(){return this[mt]}}),t.exports=function(t,n,r,a){var f=t+((a=!!a)?"Clamped":"")+"Array",l="get"+t,v="set"+t,p=i[f],d=p||{},x=p&&O(p),m=!p||!c.ABV,F={},S=p&&p.prototype,_=function(t,r){V(t,r,{get:function(){return function(t,r){var e=t._d;return e.v[l](r*n+e.o,Ft)}(this,r)},set:function(t){return function(t,r,e){var i=t._d;a&&(e=(e=Math.round(e))<0?0:e>255?255:255&e),i.v[v](r*n+i.o,e,Ft)}(this,r,t)},enumerable:!0})};m?(p=r((function(t,r,e,i){s(t,p,f,"_d");var o,u,c,a,l=0,v=0;if(w(r)){if(!(r instanceof Y||"ArrayBuffer"==(a=b(r))||"SharedArrayBuffer"==a))return mt in r?Pt(p,r):Kt.call(p,r);o=r,v=Et(e,n);var d=r.byteLength;if(void 0===i){if(d%n)throw q("Wrong length!");if((u=d-v)<0)throw q("Wrong length!")}else if((u=y(i)*n)+v>d)throw q("Wrong length!");c=u/n}else c=g(r),o=new Y(u=c*n);for(h(t,"_d",{b:o,o:v,l:u,e:c,v:new B(o)});l<c;)_(t,l++)})),S=p.prototype=E(Vt),h(S,"constructor",p)):o((function(){p(1)}))&&o((function(){new p(-1)}))&&T((function(t){new p,new p(null),new p(1.5),new p(t)}),!0)||(p=r((function(t,r,e,i){var o;return s(t,p,f),w(r)?r instanceof Y||"ArrayBuffer"==(o=b(r))||"SharedArrayBuffer"==o?void 0!==i?new d(r,Et(e,n),i):void 0!==e?new d(r,Et(e,n)):new d(r):mt in r?Pt(p,r):Kt.call(p,r):new d(g(r))})),z(x!==Function.prototype?U(d).concat(U(x)):U(d),(function(t){t in p||h(p,t,d[t])})),p.prototype=S,e||(S.constructor=p));var P=S[pt],M=!!P&&("values"==P.name||null==P.name),K=Rt.values;h(p,gt,!0),h(S,mt,f),h(S,bt,!0),h(S,dt,p),(a?new p(1)[yt]==f:yt in S)||V(S,yt,{get:function(){return f}}),F[f]=p,u(u.G+u.W+u.F*(p!=d),F),u(u.S,f,{BYTES_PER_ELEMENT:n}),u(u.S+u.F*o((function(){d.of.call(p,1)})),f,{from:Kt,of:jt}),"BYTES_PER_ELEMENT"in S||h(S,"BYTES_PER_ELEMENT",n),u(u.P,f,It),L(f),u(u.P+u.F*St,f,{set:Lt}),u(u.P+u.F*!M,f,Rt),e||S.toString==ht||(S.toString=ht),u(u.P+u.F*o((function(){new p(1).slice()})),f,{slice:Tt}),u(u.P+u.F*(o((function(){return[1,2].toLocaleString()!=new p([1,2]).toLocaleString()}))||!o((function(){S.toLocaleString.call([1,2])}))),f,{toLocaleString:At}),I[f]=M?P:K,e||M||h(S,pt,K)}}else t.exports=function(){}},"7PI8":function(t,n,r){var e=r("Y7ZC");e(e.G,{global:r("5T2Y")})},"7Qtz":function(t,n,r){"use strict";var e=r("dyZX"),i=r("nh4g"),o=r("LQAc"),u=r("D4iV"),c=r("Mukb"),a=r("3Lyj"),f=r("eeVq"),s=r("9gX7"),l=r("RYi7"),h=r("ne8i"),v=r("Cfrj"),p=r("kJMx").f,y=r("hswa").f,g=r("Nr18"),d=r("fyDq"),x=e.ArrayBuffer,m=e.DataView,b=e.Math,w=e.RangeError,F=e.Infinity,S=x,E=b.abs,O=b.pow,U=b.floor,_=b.log,P=b.LN2,M=i?"_b":"buffer",K=i?"_l":"byteLength",j=i?"_o":"byteOffset";function X(t,n,r){var e,i,o,u=new Array(r),c=8*r-n-1,a=(1<<c)-1,f=a>>1,s=23===n?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===F?(i=t!=t?1:0,e=a):(e=U(_(t)/P),t*(o=O(2,-e))<1&&(e--,o*=2),(t+=e+f>=1?s/o:s*O(2,1-f))*o>=2&&(e++,o/=2),e+f>=a?(i=0,e=a):e+f>=1?(i=(t*o-1)*O(2,n),e+=f):(i=t*O(2,f-1)*O(2,n),e=0));n>=8;u[l++]=255&i,i/=256,n-=8);for(e=e<<n|i,c+=n;c>0;u[l++]=255&e,e/=256,c-=8);return u[--l]|=128*h,u}function A(t,n,r){var e,i=8*r-n-1,o=(1<<i)-1,u=o>>1,c=i-7,a=r-1,f=t[a--],s=127&f;for(f>>=7;c>0;s=256*s+t[a],a--,c-=8);for(e=s&(1<<-c)-1,s>>=-c,c+=n;c>0;e=256*e+t[a],a--,c-=8);if(0===s)s=1-u;else{if(s===o)return e?NaN:f?-F:F;e+=O(2,n),s-=u}return(f?-1:1)*e*O(2,s-n)}function I(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function T(t){return[255&t]}function L(t){return[255&t,t>>8&255]}function R(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function N(t){return X(t,52,8)}function k(t){return X(t,23,4)}function D(t,n,r){y(t.prototype,n,{get:function(){return this[r]}})}function V(t,n,r,e){var i=v(+r);if(i+n>t[K])throw w("Wrong index!");var o=t[M]._b,u=i+t[j],c=o.slice(u,u+n);return e?c:c.reverse()}function C(t,n,r,e,i,o){var u=v(+r);if(u+n>t[K])throw w("Wrong index!");for(var c=t[M]._b,a=u+t[j],f=e(+i),s=0;s<n;s++)c[a+s]=f[o?s:n-s-1]}if(u.ABV){if(!f((function(){x(1)}))||!f((function(){new x(-1)}))||f((function(){return new x,new x(1.5),new x(NaN),"ArrayBuffer"!=x.name}))){for(var q,Z=(x=function(t){return s(this,x),new S(v(t))}).prototype=S.prototype,W=p(S),G=0;W.length>G;)(q=W[G++])in x||c(x,q,S[q]);o||(Z.constructor=x)}var Y=new m(new x(2)),B=m.prototype.setInt8;Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),!Y.getInt8(0)&&Y.getInt8(1)||a(m.prototype,{setInt8:function(t,n){B.call(this,t,n<<24>>24)},setUint8:function(t,n){B.call(this,t,n<<24>>24)}},!0)}else x=function(t){s(this,x,"ArrayBuffer");var n=v(t);this._b=g.call(new Array(n),0),this[K]=n},m=function(t,n,r){s(this,m,"DataView"),s(t,x,"DataView");var e=t[K],i=l(n);if(i<0||i>e)throw w("Wrong offset!");if(i+(r=void 0===r?e-i:h(r))>e)throw w("Wrong length!");this[M]=t,this[j]=i,this[K]=r},i&&(D(x,"byteLength","_l"),D(m,"buffer","_b"),D(m,"byteLength","_l"),D(m,"byteOffset","_o")),a(m.prototype,{getInt8:function(t){return V(this,1,t)[0]<<24>>24},getUint8:function(t){return V(this,1,t)[0]},getInt16:function(t){var n=V(this,2,t,arguments[1]);return(n[1]<<8|n[0])<<16>>16},getUint16:function(t){var n=V(this,2,t,arguments[1]);return n[1]<<8|n[0]},getInt32:function(t){return I(V(this,4,t,arguments[1]))},getUint32:function(t){return I(V(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return A(V(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return A(V(this,8,t,arguments[1]),52,8)},setInt8:function(t,n){C(this,1,t,T,n)},setUint8:function(t,n){C(this,1,t,T,n)},setInt16:function(t,n){C(this,2,t,L,n,arguments[2])},setUint16:function(t,n){C(this,2,t,L,n,arguments[2])},setInt32:function(t,n){C(this,4,t,R,n,arguments[2])},setUint32:function(t,n){C(this,4,t,R,n,arguments[2])},setFloat32:function(t,n){C(this,4,t,k,n,arguments[2])},setFloat64:function(t,n){C(this,8,t,N,n,arguments[2])}});d(x,"ArrayBuffer"),d(m,"DataView"),c(m.prototype,u.VIEW,!0),n.ArrayBuffer=x,n.DataView=m},"7VC1":function(t,n,r){"use strict";var e=r("XKFU"),i=r("Lgjv"),o=r("ol8x"),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padEnd:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},"7h0T":function(t,n,r){var e=r("XKFU");e(e.S,"Number",{isNaN:function(t){return t!=t}})},"8+KV":function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(0),o=r("LyE8")([].forEach,!0);e(e.P+e.F*!o,"Array",{forEach:function(t){return i(this,t,arguments[1])}})},"84bF":function(t,n,r){"use strict";r("OGtf")("small",(function(t){return function(){return t(this,"small","","")}}))},"8MEG":function(t,n,r){"use strict";var e=r("2OiF"),i=r("0/R4"),o=r("MfQN"),u=[].slice,c={},a=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i<n;i++)e[i]="a["+i+"]";c[n]=Function("F,a","return new F("+e.join(",")+")")}return c[n](t,r)};t.exports=Function.bind||function(t){var n=e(this),r=u.call(arguments,1),c=function(){var e=r.concat(u.call(arguments));return this instanceof c?a(n,e.length,e):o(n,e,t)};return i(n.prototype)&&(c.prototype=n.prototype),c}},"8a7r":function(t,n,r){"use strict";var e=r("hswa"),i=r("RjD/");t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},"91GP":function(t,n,r){var e=r("XKFU");e(e.S+e.F,"Object",{assign:r("czNK")})},"93I4":function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"9AAn":function(t,n,r){"use strict";var e=r("wmvG"),i=r("s5qY");t.exports=r("4LiD")("Map",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(t){var n=e.getEntry(i(this,"Map"),t);return n&&n.v},set:function(t,n){return e.def(i(this,"Map"),0===t?0:t,n)}},e,!0)},"9P93":function(t,n,r){var e=r("XKFU"),i=Math.imul;e(e.S+e.F*r("eeVq")((function(){return-5!=i(4294967295,5)||2!=i.length})),"Math",{imul:function(t,n){var r=+t,e=+n,i=65535&r,o=65535&e;return 0|i*o+((65535&r>>>16)*o+i*(65535&e>>>16)<<16>>>0)}})},"9VmF":function(t,n,r){"use strict";var e=r("XKFU"),i=r("ne8i"),o=r("0sh+"),u="".startsWith;e(e.P+e.F*r("UUeW")("startsWith"),"String",{startsWith:function(t){var n=o(this,t,"startsWith"),r=i(Math.min(arguments.length>1?arguments[1]:void 0,n.length)),e=String(t);return u?u.call(n,e,r):n.slice(r,r+e.length)===e}})},"9XZr":function(t,n,r){"use strict";var e=r("XKFU"),i=r("Lgjv"),o=r("ol8x"),u=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o);e(e.P+e.F*u,"String",{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},"9gX7":function(t,n){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},"9rMk":function(t,n,r){var e=r("XKFU");e(e.S,"Reflect",{has:function(t,n){return n in t}})},A2zW:function(t,n,r){"use strict";var e=r("XKFU"),i=r("RYi7"),o=r("vvmO"),u=r("l0Rn"),c=1..toFixed,a=Math.floor,f=[0,0,0,0,0,0],s="Number.toFixed: incorrect invocation!",l=function(t,n){for(var r=-1,e=n;++r<6;)e+=t*f[r],f[r]=e%1e7,e=a(e/1e7)},h=function(t){for(var n=6,r=0;--n>=0;)r+=f[n],f[n]=a(r/t),r=r%t*1e7},v=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==f[t]){var r=String(f[t]);n=""===n?r:n+u.call("0",7-r.length)+r}return n},p=function(t,n,r){return 0===n?r:n%2==1?p(t,n-1,r*t):p(t*t,n/2,r)};e(e.P+e.F*(!!c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!r("eeVq")((function(){c.call({})}))),"Number",{toFixed:function(t){var n,r,e,c,a=o(this,s),f=i(t),y="",g="0";if(f<0||f>20)throw RangeError(s);if(a!=a)return"NaN";if(a<=-1e21||a>=1e21)return String(a);if(a<0&&(y="-",a=-a),a>1e-21)if(r=(n=function(t){for(var n=0,r=t;r>=4096;)n+=12,r/=4096;for(;r>=2;)n+=1,r/=2;return n}(a*p(2,69,1))-69)<0?a*p(2,-n,1):a/p(2,n,1),r*=4503599627370496,(n=52-n)>0){for(l(0,r),e=f;e>=7;)l(1e7,0),e-=7;for(l(p(10,e,1),0),e=n-1;e>=23;)h(1<<23),e-=23;h(1<<e),l(1,1),h(2),g=v()}else l(0,r),l(1<<-n,0),g=v()+u.call("0",f);return g=f>0?y+((c=g.length)<=f?"0."+u.call("0",f-c)+g:g.slice(0,c-f)+"."+g.slice(c-f)):y+g}})},A5AN:function(t,n,r){"use strict";var e=r("AvRE")(!0);t.exports=function(t,n,r){return n+(r?e(t,n).length:1)}},Afnz:function(t,n,r){"use strict";var e=r("LQAc"),i=r("XKFU"),o=r("KroJ"),u=r("Mukb"),c=r("hPIQ"),a=r("QaDb"),f=r("fyDq"),s=r("OP3Y"),l=r("K0xU")("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,n,r,p,y,g,d){a(r,n,p);var x,m,b,w=function(t){if(!h&&t in O)return O[t];switch(t){case"keys":case"values":return function(){return new r(this,t)}}return function(){return new r(this,t)}},F=n+" Iterator",S="values"==y,E=!1,O=t.prototype,U=O[l]||O["@@iterator"]||y&&O[y],_=U||w(y),P=y?S?w("entries"):_:void 0,M="Array"==n&&O.entries||U;if(M&&(b=s(M.call(new t)))!==Object.prototype&&b.next&&(f(b,F,!0),e||"function"==typeof b[l]||u(b,l,v)),S&&U&&"values"!==U.name&&(E=!0,_=function(){return U.call(this)}),e&&!d||!h&&!E&&O[l]||u(O,l,_),c[n]=_,c[F]=v,y)if(x={values:S?_:w("values"),keys:g?_:w("keys"),entries:P},d)for(m in x)m in O||o(O,m,x[m]);else i(i.P+i.F*(h||E),n,x);return x}},AphP:function(t,n,r){"use strict";var e=r("XKFU"),i=r("S/j/"),o=r("apmT");e(e.P+e.F*r("eeVq")((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),"Date",{toJSON:function(t){var n=i(this),r=o(n);return"number"!=typeof r||isFinite(r)?n.toISOString():null}})},AvRE:function(t,n,r){var e=r("RYi7"),i=r("vhPU");t.exports=function(t){return function(n,r){var o,u,c=String(i(n)),a=e(r),f=c.length;return a<0||a>=f?t?"":void 0:(o=c.charCodeAt(a))<55296||o>56319||a+1===f||(u=c.charCodeAt(a+1))<56320||u>57343?t?c.charAt(a):o:t?c.slice(a,a+2):u-56320+(o-55296<<10)+65536}}},"B+OT":function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},BC7C:function(t,n,r){var e=r("XKFU");e(e.S,"Math",{fround:r("kcoS")})},"BJ/l":function(t,n,r){var e=r("XKFU");e(e.S,"Math",{log1p:r("1sa7")})},BP8U:function(t,n,r){var e=r("XKFU"),i=r("PKUr");e(e.S+e.F*(Number.parseInt!=i),"Number",{parseInt:i})},Btvt:function(t,n,r){"use strict";var e=r("I8a+"),i={};i[r("K0xU")("toStringTag")]="z",i+""!="[object z]"&&r("KroJ")(Object.prototype,"toString",(function(){return"[object "+e(this)+"]"}),!0)},"C/va":function(t,n,r){"use strict";var e=r("y3w9");t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},CX2u:function(t,n,r){"use strict";var e=r("XKFU"),i=r("g3g5"),o=r("dyZX"),u=r("69bn"),c=r("vKrd");e(e.P+e.R,"Promise",{finally:function(t){var n=u(this,i.Promise||o.Promise),r="function"==typeof t;return this.then(r?function(r){return c(n,t()).then((function(){return r}))}:t,r?function(r){return c(n,t()).then((function(){throw r}))}:t)}})},Cfrj:function(t,n,r){var e=r("RYi7"),i=r("ne8i");t.exports=function(t){if(void 0===t)return 0;var n=e(t),r=i(n);if(n!==r)throw RangeError("Wrong length!");return r}},CkkT:function(t,n,r){var e=r("m0Pp"),i=r("Ymqv"),o=r("S/j/"),u=r("ne8i"),c=r("zRwo");t.exports=function(t,n){var r=1==t,a=2==t,f=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var y,g,d=o(n),x=i(d),m=e(c,p,3),b=u(x.length),w=0,F=r?v(n,b):a?v(n,0):void 0;b>w;w++)if((h||w in x)&&(g=m(y=x[w],w,d),t))if(r)F[w]=g;else if(g)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:F.push(y)}else if(s)return!1;return l?-1:f||s?s:F}}},CyHz:function(t,n,r){var e=r("XKFU");e(e.S,"Math",{sign:r("lvtm")})},D4iV:function(t,n,r){for(var e,i=r("dyZX"),o=r("Mukb"),u=r("ylqs"),c=u("typed_array"),a=u("view"),f=!(!i.ArrayBuffer||!i.DataView),s=f,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(e=i[h[l++]])?(o(e.prototype,c,!0),o(e.prototype,a,!0)):s=!1;t.exports={ABV:f,CONSTR:s,TYPED:c,VIEW:a}},DNiP:function(t,n,r){"use strict";var e=r("XKFU"),i=r("eyMr");e(e.P+e.F*!r("LyE8")([].reduce,!0),"Array",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},DVgA:function(t,n,r){var e=r("zhAb"),i=r("4R4u");t.exports=Object.keys||function(t){return e(t,i)}},DW2E:function(t,n,r){var e=r("0/R4"),i=r("Z6vF").onFreeze;r("Xtr8")("freeze",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},EK0E:function(t,n,r){"use strict";var e,i=r("dyZX"),o=r("CkkT")(0),u=r("KroJ"),c=r("Z6vF"),a=r("czNK"),f=r("ZD67"),s=r("0/R4"),l=r("s5qY"),h=r("s5qY"),v=!i.ActiveXObject&&"ActiveXObject"in i,p=c.getWeak,y=Object.isExtensible,g=f.ufstore,d=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},x={get:function(t){if(s(t)){var n=p(t);return!0===n?g(l(this,"WeakMap")).get(t):n?n[this._i]:void 0}},set:function(t,n){return f.def(l(this,"WeakMap"),t,n)}},m=t.exports=r("4LiD")("WeakMap",d,x,f,!0,!0);h&&v&&(a((e=f.getConstructor(d,"WeakMap")).prototype,x),c.NEED=!0,o(["delete","has","get","set"],(function(t){var n=m.prototype,r=n[t];u(n,t,(function(n,i){if(s(n)&&!y(n)){this._f||(this._f=new e);var o=this._f[t](n,i);return"set"==t?this:o}return r.call(this,n,i)}))})))},EWmC:function(t,n,r){var e=r("LZWt");t.exports=Array.isArray||function(t){return"Array"==e(t)}},EemH:function(t,n,r){var e=r("UqcF"),i=r("RjD/"),o=r("aCFj"),u=r("apmT"),c=r("aagx"),a=r("xpql"),f=Object.getOwnPropertyDescriptor;n.f=r("nh4g")?f:function(t,n){if(t=o(t),n=u(n,!0),a)try{return f(t,n)}catch(t){}if(c(t,n))return i(!e.f.call(t,n),t[n])}},"Ew+T":function(t,n,r){var e=r("XKFU"),i=r("GZEu");e(e.G+e.B,{setImmediate:i.set,clearImmediate:i.clear})},FDph:function(t,n,r){r("Z2Ku"),t.exports=r("g3g5").Array.includes},FEjr:function(t,n,r){"use strict";r("OGtf")("strike",(function(t){return function(){return t(this,"strike","","")}}))},FJW5:function(t,n,r){var e=r("hswa"),i=r("y3w9"),o=r("DVgA");t.exports=r("nh4g")?Object.defineProperties:function(t,n){i(t);for(var r,u=o(n),c=u.length,a=0;c>a;)e.f(t,r=u[a++],n[r]);return t}},FLlr:function(t,n,r){var e=r("XKFU");e(e.P,"String",{repeat:r("l0Rn")})},Faw5:function(t,n,r){r("7DDg")("Int16",2,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},FlsD:function(t,n,r){var e=r("0/R4");r("Xtr8")("isExtensible",(function(t){return function(n){return!!e(n)&&(!t||t(n))}}))},FxUG:function(t,n,r){r("R5XZ"),r("Ew+T"),r("rGqo"),t.exports=r("g3g5")},G8Mo:function(t,n,r){var e=r("93I4");t.exports=function(t,n){if(!e(t))return t;var r,i;if(n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!e(i=r.call(t)))return i;if(!n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},GNAe:function(t,n,r){var e=r("XKFU"),i=r("PKUr");e(e.G+e.F*(parseInt!=i),{parseInt:i})},GZEu:function(t,n,r){var e,i,o,u=r("m0Pp"),c=r("MfQN"),a=r("+rLv"),f=r("Iw71"),s=r("dyZX"),l=s.process,h=s.setImmediate,v=s.clearImmediate,p=s.MessageChannel,y=s.Dispatch,g=0,d={},x=function(){var t=+this;if(d.hasOwnProperty(t)){var n=d[t];delete d[t],n()}},m=function(t){x.call(t.data)};h&&v||(h=function(t){for(var n=[],r=1;arguments.length>r;)n.push(arguments[r++]);return d[++g]=function(){c("function"==typeof t?t:Function(t),n)},e(g),g},v=function(t){delete d[t]},"process"==r("LZWt")(l)?e=function(t){l.nextTick(u(x,t,1))}:y&&y.now?e=function(t){y.now(u(x,t,1))}:p?(o=(i=new p).port2,i.port1.onmessage=m,e=u(o.postMessage,o,1)):s.addEventListener&&"function"==typeof postMessage&&!s.importScripts?(e=function(t){s.postMessage(t+"","*")},s.addEventListener("message",m,!1)):e="onreadystatechange"in f("script")?function(t){a.appendChild(f("script")).onreadystatechange=function(){a.removeChild(this),x.call(t)}}:function(t){setTimeout(u(x,t,1),0)}),t.exports={set:h,clear:v}},H6hf:function(t,n,r){var e=r("y3w9");t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},"HAE/":function(t,n,r){var e=r("XKFU");e(e.S+e.F*!r("nh4g"),"Object",{defineProperty:r("hswa").f})},HEwt:function(t,n,r){"use strict";var e=r("m0Pp"),i=r("XKFU"),o=r("S/j/"),u=r("H6hf"),c=r("M6Qj"),a=r("ne8i"),f=r("8a7r"),s=r("J+6e");i(i.S+i.F*!r("XMVh")((function(t){Array.from(t)})),"Array",{from:function(t){var n,r,i,l,h=o(t),v="function"==typeof this?this:Array,p=arguments.length,y=p>1?arguments[1]:void 0,g=void 0!==y,d=0,x=s(h);if(g&&(y=e(y,p>2?arguments[2]:void 0,2)),null==x||v==Array&&c(x))for(r=new v(n=a(h.length));n>d;d++)f(r,d,g?y(h[d],d):h[d]);else for(l=x.call(h),r=new v;!(i=l.next()).done;d++)f(r,d,g?u(l,y,[i.value,d],!0):i.value);return r.length=d,r}})},Hsns:function(t,n,r){var e=r("93I4"),i=r("5T2Y").document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},I5cv:function(t,n,r){var e=r("XKFU"),i=r("Kuth"),o=r("2OiF"),u=r("y3w9"),c=r("0/R4"),a=r("eeVq"),f=r("8MEG"),s=(r("dyZX").Reflect||{}).construct,l=a((function(){function t(){}return!(s((function(){}),[],t)instanceof t)})),h=!a((function(){s((function(){}))}));e(e.S+e.F*(l||h),"Reflect",{construct:function(t,n){o(t),u(n);var r=arguments.length<3?t:o(arguments[2]);if(h&&!l)return s(t,n,r);if(t==r){switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3])}var e=[null];return e.push.apply(e,n),new(f.apply(t,e))}var a=r.prototype,v=i(c(a)?a:Object.prototype),p=Function.apply.call(t,v,n);return c(p)?p:v}})},I74W:function(t,n,r){"use strict";r("qncB")("trimLeft",(function(t){return function(){return t(this,1)}}),"trimStart")},I78e:function(t,n,r){"use strict";var e=r("XKFU"),i=r("+rLv"),o=r("LZWt"),u=r("d/Gc"),c=r("ne8i"),a=[].slice;e(e.P+e.F*r("eeVq")((function(){i&&a.call(i)})),"Array",{slice:function(t,n){var r=c(this.length),e=o(this);if(n=void 0===n?r:n,"Array"==e)return a.call(this,t,n);for(var i=u(t,r),f=u(n,r),s=c(f-i),l=new Array(s),h=0;h<s;h++)l[h]="String"==e?this.charAt(i+h):this[i+h];return l}})},"I8a+":function(t,n,r){var e=r("LZWt"),i=r("K0xU")("toStringTag"),o="Arguments"==e(function(){return arguments}());t.exports=function(t){var n,r,u;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:o?e(n):"Object"==(u=e(n))&&"function"==typeof n.callee?"Arguments":u}},INYr:function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(6),o="findIndex",u=!0;o in[]&&Array(1)[o]((function(){u=!1})),e(e.P+e.F*u,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r("nGyu")(o)},"IU+Z":function(t,n,r){"use strict";r("sMXx");var e=r("KroJ"),i=r("Mukb"),o=r("eeVq"),u=r("vhPU"),c=r("K0xU"),a=r("Ugos"),f=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[f]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var y=/./[h],g=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===a?v&&!i?{done:!0,value:y.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),d=g[0],x=g[1];e(String.prototype,t,d),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},IXt9:function(t,n,r){"use strict";var e=r("0/R4"),i=r("OP3Y"),o=r("K0xU")("hasInstance"),u=Function.prototype;o in u||r("hswa").f(u,o,{value:function(t){if("function"!=typeof this||!e(t))return!1;if(!e(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},IlFx:function(t,n,r){var e=r("XKFU"),i=r("y3w9"),o=Object.isExtensible;e(e.S,"Reflect",{isExtensible:function(t){return i(t),!o||o(t)}})},Iw71:function(t,n,r){var e=r("0/R4"),i=r("dyZX").document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},Izvi:function(t,n,r){r("I74W"),t.exports=r("g3g5").String.trimLeft},"J+6e":function(t,n,r){var e=r("I8a+"),i=r("K0xU")("iterator"),o=r("hPIQ");t.exports=r("g3g5").getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},JCqj:function(t,n,r){"use strict";r("OGtf")("sup",(function(t){return function(){return t(this,"sup","","")}}))},JbTB:function(t,n,r){r("/8Fb"),t.exports=r("g3g5").Object.entries},Jcmo:function(t,n,r){var e=r("XKFU"),i=Math.exp;e(e.S,"Math",{cosh:function(t){return(i(t=+t)+i(-t))/2}})},JduL:function(t,n,r){r("Xtr8")("getOwnPropertyNames",(function(){return r("e7yV").f}))},"Ji/l":function(t,n,r){var e=r("XKFU");e(e.G+e.W+e.F*!r("D4iV").ABV,{DataView:r("7Qtz").DataView})},JiEa:function(t,n){n.f=Object.getOwnPropertySymbols},K0xU:function(t,n,r){var e=r("VTer")("wks"),i=r("ylqs"),o=r("dyZX").Symbol,u="function"==typeof o;(t.exports=function(t){return e[t]||(e[t]=u&&o[t]||(u?o:i)("Symbol."+t))}).store=e},KKXr:function(t,n,r){"use strict";var e=r("quPj"),i=r("y3w9"),o=r("69bn"),u=r("A5AN"),c=r("ne8i"),a=r("Xxuz"),f=r("Ugos"),s=r("eeVq"),l=Math.min,h=[].push,v="length",p=!s((function(){RegExp(4294967295,"y")}));r("IU+Z")("split",2,(function(t,n,r,s){var y;return y="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[v]||2!="ab".split(/(?:ab)*/)[v]||4!=".".split(/(.?)(.?)/)[v]||".".split(/()()/)[v]>1||"".split(/.?/)[v]?function(t,n){var i=String(this);if(void 0===t&&0===n)return[];if(!e(t))return r.call(i,t,n);for(var o,u,c,a=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),l=0,p=void 0===n?4294967295:n>>>0,y=new RegExp(t.source,s+"g");(o=f.call(y,i))&&!((u=y.lastIndex)>l&&(a.push(i.slice(l,o.index)),o[v]>1&&o.index<i[v]&&h.apply(a,o.slice(1)),c=o[0][v],l=u,a[v]>=p));)y.lastIndex===o.index&&y.lastIndex++;return l===i[v]?!c&&y.test("")||a.push(""):a.push(i.slice(l)),a[v]>p?a.slice(0,p):a}:"0".split(void 0,0)[v]?function(t,n){return void 0===t&&0===n?[]:r.call(this,t,n)}:r,[function(r,e){var i=t(this),o=null==r?void 0:r[n];return void 0!==o?o.call(r,i,e):y.call(String(i),r,e)},function(t,n){var e=s(y,t,this,n,y!==r);if(e.done)return e.value;var f=i(t),h=String(this),v=o(f,RegExp),g=f.unicode,d=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(p?"y":"g"),x=new v(p?f:"^(?:"+f.source+")",d),m=void 0===n?4294967295:n>>>0;if(0===m)return[];if(0===h.length)return null===a(x,h)?[h]:[];for(var b=0,w=0,F=[];w<h.length;){x.lastIndex=p?w:0;var S,E=a(x,p?h:h.slice(w));if(null===E||(S=l(c(x.lastIndex+(p?0:w)),h.length))===b)w=u(h,w,g);else{if(F.push(h.slice(b,w)),F.length===m)return F;for(var O=1;O<=E.length-1;O++)if(F.push(E[O]),F.length===m)return F;w=b=S}}return F.push(h.slice(b)),F}]}))},KUxP:function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},KroJ:function(t,n,r){var e=r("dyZX"),i=r("Mukb"),o=r("aagx"),u=r("ylqs")("src"),c=r("+lvF"),a=(""+c).split("toString");r("g3g5").inspectSource=function(t){return c.call(t)},(t.exports=function(t,n,r,c){var f="function"==typeof r;f&&(o(r,"name")||i(r,"name",n)),t[n]!==r&&(f&&(o(r,u)||i(r,u,t[n]?""+t[n]:a.join(String(n)))),t===e?t[n]=r:c?t[n]?t[n]=r:i(t,n,r):(delete t[n],i(t,n,r)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[u]||c.call(this)}))},Kuth:function(t,n,r){var e=r("y3w9"),i=r("FJW5"),o=r("4R4u"),u=r("YTvA")("IE_PROTO"),c=function(){},a=function(){var t,n=r("Iw71")("iframe"),e=o.length;for(n.style.display="none",r("+rLv").appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),a=t.F;e--;)delete a.prototype[o[e]];return a()};t.exports=Object.create||function(t,n){var r;return null!==t?(c.prototype=e(t),r=new c,c.prototype=null,r[u]=t):r=a(),void 0===n?r:i(r,n)}},L9s1:function(t,n,r){"use strict";var e=r("XKFU"),i=r("0sh+");e(e.P+e.F*r("UUeW")("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},LK8F:function(t,n,r){var e=r("XKFU");e(e.S,"Array",{isArray:r("EWmC")})},LQAc:function(t,n){t.exports=!1},LTTk:function(t,n,r){var e=r("XKFU"),i=r("OP3Y"),o=r("y3w9");e(e.S,"Reflect",{getPrototypeOf:function(t){return i(o(t))}})},LVwc:function(t,n){var r=Math.expm1;t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:r},LZWt:function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},Lgjv:function(t,n,r){var e=r("ne8i"),i=r("l0Rn"),o=r("vhPU");t.exports=function(t,n,r,u){var c=String(o(t)),a=c.length,f=void 0===r?" ":String(r),s=e(n);if(s<=a||""==f)return c;var l=s-a,h=i.call(f,Math.ceil(l/f.length));return h.length>l&&(h=h.slice(0,l)),u?h+c:c+h}},Ljet:function(t,n,r){var e=r("XKFU");e(e.S,"Number",{EPSILON:Math.pow(2,-52)})},LyE8:function(t,n,r){"use strict";var e=r("eeVq");t.exports=function(t,n){return!!t&&e((function(){n?t.call(null,(function(){}),1):t.call(null)}))}},M6Qj:function(t,n,r){var e=r("hPIQ"),i=r("K0xU")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},MfQN:function(t,n){t.exports=function(t,n,r){var e=void 0===r;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},MtdB:function(t,n,r){var e=r("XKFU");e(e.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},Mukb:function(t,n,r){var e=r("hswa"),i=r("RjD/");t.exports=r("nh4g")?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},N8g3:function(t,n,r){n.f=r("K0xU")},NO8f:function(t,n,r){r("7DDg")("Uint8",1,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},NegM:function(t,n,r){var e=r("2faE"),i=r("rr1i");t.exports=r("jmDH")?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},Nr18:function(t,n,r){"use strict";var e=r("S/j/"),i=r("d/Gc"),o=r("ne8i");t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),a=u>2?arguments[2]:void 0,f=void 0===a?r:i(a,r);f>c;)n[c++]=t;return n}},Nz9U:function(t,n,r){"use strict";var e=r("XKFU"),i=r("aCFj"),o=[].join;e(e.P+e.F*(r("Ymqv")!=Object||!r("LyE8")(o)),"Array",{join:function(t){return o.call(i(this),void 0===t?",":t)}})},OEbY:function(t,n,r){r("nh4g")&&"g"!=/./g.flags&&r("hswa").f(RegExp.prototype,"flags",{configurable:!0,get:r("C/va")})},OG14:function(t,n,r){"use strict";var e=r("y3w9"),i=r("g6HL"),o=r("Xxuz");r("IU+Z")("search",1,(function(t,n,r,u){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=u(r,t,this);if(n.done)return n.value;var c=e(t),a=String(this),f=c.lastIndex;i(f,0)||(c.lastIndex=0);var s=o(c,a);return i(c.lastIndex,f)||(c.lastIndex=f),null===s?-1:s.index}]}))},OGtf:function(t,n,r){var e=r("XKFU"),i=r("eeVq"),o=r("vhPU"),u=/"/g,c=function(t,n,r,e){var i=String(o(t)),c="<"+n;return""!==r&&(c+=" "+r+'="'+String(e).replace(u,""")+'"'),c+">"+i+"</"+n+">"};t.exports=function(t,n){var r={};r[t]=n(c),e(e.P+e.F*i((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3})),"String",r)}},OP3Y:function(t,n,r){var e=r("aagx"),i=r("S/j/"),o=r("YTvA")("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),e(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},OnI7:function(t,n,r){var e=r("dyZX"),i=r("g3g5"),o=r("LQAc"),u=r("N8g3"),c=r("hswa").f;t.exports=function(t){var n=i.Symbol||(i.Symbol=o?{}:e.Symbol||{});"_"==t.charAt(0)||t in n||c(n,t,{value:u.f(t)})}},Oyvg:function(t,n,r){var e=r("dyZX"),i=r("Xbzi"),o=r("hswa").f,u=r("kJMx").f,c=r("quPj"),a=r("C/va"),f=e.RegExp,s=f,l=f.prototype,h=/a/g,v=/a/g,p=new f(h)!==h;if(r("nh4g")&&(!p||r("eeVq")((function(){return v[r("K0xU")("match")]=!1,f(h)!=h||f(v)==v||"/a/i"!=f(h,"i")})))){f=function(t,n){var r=this instanceof f,e=c(t),o=void 0===n;return!r&&e&&t.constructor===f&&o?t:i(p?new s(e&&!o?t.source:t,n):s((e=t instanceof f)?t.source:t,e&&o?a.call(t):n),r?this:l,f)};for(var y=function(t){t in f||o(f,t,{configurable:!0,get:function(){return s[t]},set:function(n){s[t]=n}})},g=u(s),d=0;g.length>d;)y(g[d++]);l.constructor=f,f.prototype=l,r("KroJ")(e,"RegExp",f)}r("elZq")("RegExp")},PKUr:function(t,n,r){var e=r("dyZX").parseInt,i=r("qncB").trim,o=r("/e88"),u=/^[-+]?0[xX]/;t.exports=8!==e(o+"08")||22!==e(o+"0x16")?function(t,n){var r=i(String(t),3);return e(r,n>>>0||(u.test(r)?16:10))}:e},QNwp:function(t,n,r){r("7VC1"),t.exports=r("g3g5").String.padEnd},QaDb:function(t,n,r){"use strict";var e=r("Kuth"),i=r("RjD/"),o=r("fyDq"),u={};r("Mukb")(u,r("K0xU")("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},R5XZ:function(t,n,r){var e=r("dyZX"),i=r("XKFU"),o=r("ol8x"),u=[].slice,c=/MSIE .\./.test(o),a=function(t){return function(n,r){var e=arguments.length>2,i=!!e&&u.call(arguments,2);return t(e?function(){("function"==typeof n?n:Function(n)).apply(this,i)}:n,r)}};i(i.G+i.B+i.F*c,{setTimeout:a(e.setTimeout),setInterval:a(e.setInterval)})},RW0V:function(t,n,r){var e=r("S/j/"),i=r("DVgA");r("Xtr8")("keys",(function(){return function(t){return i(e(t))}}))},RYi7:function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},"RjD/":function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},"S/j/":function(t,n,r){var e=r("vhPU");t.exports=function(t){return Object(e(t))}},SMB2:function(t,n,r){"use strict";r("OGtf")("bold",(function(t){return function(){return t(this,"b","","")}}))},SPin:function(t,n,r){"use strict";var e=r("XKFU"),i=r("eyMr");e(e.P+e.F*!r("LyE8")([].reduceRight,!0),"Array",{reduceRight:function(t){return i(this,t,arguments.length,arguments[1],!0)}})},SRfc:function(t,n,r){"use strict";var e=r("y3w9"),i=r("ne8i"),o=r("A5AN"),u=r("Xxuz");r("IU+Z")("match",1,(function(t,n,r,c){return[function(r){var e=t(this),i=null==r?void 0:r[n];return void 0!==i?i.call(r,e):new RegExp(r)[n](String(e))},function(t){var n=c(r,t,this);if(n.done)return n.value;var a=e(t),f=String(this);if(!a.global)return u(a,f);var s=a.unicode;a.lastIndex=0;for(var l,h=[],v=0;null!==(l=u(a,f));){var p=String(l[0]);h[v]=p,""===p&&(a.lastIndex=o(f,i(a.lastIndex),s)),v++}return 0===v?null:h}]}))},SlkY:function(t,n,r){var e=r("m0Pp"),i=r("H6hf"),o=r("M6Qj"),u=r("y3w9"),c=r("ne8i"),a=r("J+6e"),f={},s={};(n=t.exports=function(t,n,r,l,h){var v,p,y,g,d=h?function(){return t}:a(t),x=e(r,l,n?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(o(d)){for(v=c(t.length);v>m;m++)if((g=n?x(u(p=t[m])[0],p[1]):x(t[m]))===f||g===s)return g}else for(y=d.call(t);!(p=y.next()).done;)if((g=i(y,x,p.value,n))===f||g===s)return g}).BREAK=f,n.RETURN=s},T39b:function(t,n,r){"use strict";var e=r("wmvG"),i=r("s5qY");t.exports=r("4LiD")("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"Set"),t=0===t?0:t,t)}},e)},TIpR:function(t,n,r){"use strict";r("VRzm"),r("CX2u"),t.exports=r("g3g5").Promise.finally},Tdpu:function(t,n,r){r("7DDg")("Float64",8,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},Tze0:function(t,n,r){"use strict";r("qncB")("trim",(function(t){return function(){return t(this,3)}}))},U2t9:function(t,n,r){var e=r("XKFU"),i=Math.asinh;e(e.S+e.F*!(i&&1/i(0)>0),"Math",{asinh:function t(n){return isFinite(n=+n)&&0!=n?n<0?-t(-n):Math.log(n+Math.sqrt(n*n+1)):n}})},UExd:function(t,n,r){var e=r("nh4g"),i=r("DVgA"),o=r("aCFj"),u=r("UqcF").f;t.exports=function(t){return function(n){for(var r,c=o(n),a=i(c),f=a.length,s=0,l=[];f>s;)r=a[s++],e&&!u.call(c,r)||l.push(t?[r,c[r]]:c[r]);return l}}},UUeW:function(t,n,r){var e=r("K0xU")("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},Ugos:function(t,n,r){"use strict";var e,i,o=r("C/va"),u=RegExp.prototype.exec,c=String.prototype.replace,a=u,f=(e=/a/,i=/b*/g,u.call(e,"a"),u.call(i,"a"),0!==e.lastIndex||0!==i.lastIndex),s=void 0!==/()??/.exec("")[1];(f||s)&&(a=function(t){var n,r,e,i,a=this;return s&&(r=new RegExp("^"+a.source+"$(?!\\s)",o.call(a))),f&&(n=a.lastIndex),e=u.call(a,t),f&&e&&(a.lastIndex=a.global?e.index+e[0].length:n),s&&e&&e.length>1&&c.call(e[0],r,(function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(e[i]=void 0)})),e}),t.exports=a},UqcF:function(t,n){n.f={}.propertyIsEnumerable},"V+eJ":function(t,n,r){"use strict";var e=r("XKFU"),i=r("w2a5")(!1),o=[].indexOf,u=!!o&&1/[1].indexOf(1,-0)<0;e(e.P+e.F*(u||!r("LyE8")(o)),"Array",{indexOf:function(t){return u?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},"V/DX":function(t,n,r){var e=r("0/R4");r("Xtr8")("isSealed",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},VKir:function(t,n,r){"use strict";var e=r("XKFU"),i=r("eeVq"),o=r("vvmO"),u=1..toPrecision;e(e.P+e.F*(i((function(){return"1"!==u.call(1,void 0)}))||!i((function(){u.call({})}))),"Number",{toPrecision:function(t){var n=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?u.call(n):u.call(n,t)}})},VRzm:function(t,n,r){"use strict";var e,i,o,u,c=r("LQAc"),a=r("dyZX"),f=r("m0Pp"),s=r("I8a+"),l=r("XKFU"),h=r("0/R4"),v=r("2OiF"),p=r("9gX7"),y=r("SlkY"),g=r("69bn"),d=r("GZEu").set,x=r("gHnn")(),m=r("pbhE"),b=r("nICZ"),w=r("ol8x"),F=r("vKrd"),S=a.TypeError,E=a.process,O=E&&E.versions,U=O&&O.v8||"",_=a.Promise,P="process"==s(E),M=function(){},K=i=m.f,j=!!function(){try{var t=_.resolve(1),n=(t.constructor={})[r("K0xU")("species")]=function(t){t(M,M)};return(P||"function"==typeof PromiseRejectionEvent)&&t.then(M)instanceof n&&0!==U.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(t){}}(),X=function(t){var n;return!(!h(t)||"function"!=typeof(n=t.then))&&n},A=function(t,n){if(!t._n){t._n=!0;var r=t._c;x((function(){for(var e=t._v,i=1==t._s,o=0,u=function(n){var r,o,u,c=i?n.ok:n.fail,a=n.resolve,f=n.reject,s=n.domain;try{c?(i||(2==t._h&&L(t),t._h=1),!0===c?r=e:(s&&s.enter(),r=c(e),s&&(s.exit(),u=!0)),r===n.promise?f(S("Promise-chain cycle")):(o=X(r))?o.call(r,a,f):a(r)):f(e)}catch(t){s&&!u&&s.exit(),f(t)}};r.length>o;)u(r[o++]);t._c=[],t._n=!1,n&&!t._h&&I(t)}))}},I=function(t){d.call(a,(function(){var n,r,e,i=t._v,o=T(t);if(o&&(n=b((function(){P?E.emit("unhandledRejection",i,t):(r=a.onunhandledrejection)?r({promise:t,reason:i}):(e=a.console)&&e.error&&e.error("Unhandled promise rejection",i)})),t._h=P||T(t)?2:1),t._a=void 0,o&&n.e)throw n.v}))},T=function(t){return 1!==t._h&&0===(t._a||t._c).length},L=function(t){d.call(a,(function(){var n;P?E.emit("rejectionHandled",t):(n=a.onrejectionhandled)&&n({promise:t,reason:t._v})}))},R=function(t){var n=this;n._d||(n._d=!0,(n=n._w||n)._v=t,n._s=2,n._a||(n._a=n._c.slice()),A(n,!0))},N=function(t){var n,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw S("Promise can't be resolved itself");(n=X(t))?x((function(){var e={_w:r,_d:!1};try{n.call(t,f(N,e,1),f(R,e,1))}catch(t){R.call(e,t)}})):(r._v=t,r._s=1,A(r,!1))}catch(t){R.call({_w:r,_d:!1},t)}}};j||(_=function(t){p(this,_,"Promise","_h"),v(t),e.call(this);try{t(f(N,this,1),f(R,this,1))}catch(t){R.call(this,t)}},(e=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r("3Lyj")(_.prototype,{then:function(t,n){var r=K(g(this,_));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=P?E.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&A(this,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e;this.promise=t,this.resolve=f(N,t,1),this.reject=f(R,t,1)},m.f=K=function(t){return t===_||t===u?new o(t):i(t)}),l(l.G+l.W+l.F*!j,{Promise:_}),r("fyDq")(_,"Promise"),r("elZq")("Promise"),u=r("g3g5").Promise,l(l.S+l.F*!j,"Promise",{reject:function(t){var n=K(this);return(0,n.reject)(t),n.promise}}),l(l.S+l.F*(c||!j),"Promise",{resolve:function(t){return F(c&&this===u?_:this,t)}}),l(l.S+l.F*!(j&&r("XMVh")((function(t){_.all(t).catch(M)}))),"Promise",{all:function(t){var n=this,r=K(n),e=r.resolve,i=r.reject,o=b((function(){var r=[],o=0,u=1;y(t,!1,(function(t){var c=o++,a=!1;r.push(void 0),u++,n.resolve(t).then((function(t){a||(a=!0,r[c]=t,--u||e(r))}),i)})),--u||e(r)}));return o.e&&i(o.v),r.promise},race:function(t){var n=this,r=K(n),e=r.reject,i=b((function(){y(t,!1,(function(t){n.resolve(t).then(r.resolve,e)}))}));return i.e&&e(i.v),r.promise}})},VTer:function(t,n,r){var e=r("g3g5"),i=r("dyZX"),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r("LQAc")?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},Vd3H:function(t,n,r){"use strict";var e=r("XKFU"),i=r("2OiF"),o=r("S/j/"),u=r("eeVq"),c=[].sort,a=[1,2,3];e(e.P+e.F*(u((function(){a.sort(void 0)}))||!u((function(){a.sort(null)}))||!r("LyE8")(c)),"Array",{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},VpUO:function(t,n,r){var e=r("XKFU"),i=r("d/Gc"),o=String.fromCharCode,u=String.fromCodePoint;e(e.S+e.F*(!!u&&1!=u.length),"String",{fromCodePoint:function(t){for(var n,r=[],e=arguments.length,u=0;e>u;){if(n=+arguments[u++],i(n,1114111)!==n)throw RangeError(n+" is not a valid code point");r.push(n<65536?o(n):o(55296+((n-=65536)>>10),n%1024+56320))}return r.join("")}})},VsWn:function(t,n,r){r("7PI8"),t.exports=r("WEpk").global},W9dy:function(t,n,r){r("ioFf"),r("hHhE"),r("HAE/"),r("WLL4"),r("mYba"),r("5Pf0"),r("RW0V"),r("JduL"),r("DW2E"),r("z2o2"),r("mura"),r("Zshi"),r("V/DX"),r("FlsD"),r("91GP"),r("25dN"),r("/SS/"),r("Btvt"),r("2Spj"),r("f3/d"),r("IXt9"),r("GNAe"),r("tyy+"),r("xfY5"),r("A2zW"),r("VKir"),r("Ljet"),r("/KAi"),r("fN96"),r("7h0T"),r("sbF8"),r("h/M4"),r("knhD"),r("XfKG"),r("BP8U"),r("fyVe"),r("U2t9"),r("2atp"),r("+auO"),r("MtdB"),r("Jcmo"),r("nzyx"),r("BC7C"),r("x8ZO"),r("9P93"),r("eHKK"),r("BJ/l"),r("pp/T"),r("CyHz"),r("bBoP"),r("x8Yj"),r("hLT2"),r("VpUO"),r("eI33"),r("Tze0"),r("XfO3"),r("oDIu"),r("rvZc"),r("L9s1"),r("FLlr"),r("9VmF"),r("hEkN"),r("nIY7"),r("+oPb"),r("SMB2"),r("0mN4"),r("bDcW"),r("nsiH"),r("0LDn"),r("tUrg"),r("84bF"),r("FEjr"),r("Zz4T"),r("JCqj"),r("eM6i"),r("AphP"),r("jqX0"),r("h7Nl"),r("yM4b"),r("LK8F"),r("HEwt"),r("6AQ9"),r("Nz9U"),r("I78e"),r("Vd3H"),r("8+KV"),r("bWfx"),r("0l/t"),r("dZ+Y"),r("YJVH"),r("DNiP"),r("SPin"),r("V+eJ"),r("mGWK"),r("dE+T"),r("bHtr"),r("dRSK"),r("INYr"),r("0E+W"),r("yt8O"),r("Oyvg"),r("sMXx"),r("a1Th"),r("OEbY"),r("SRfc"),r("pIFo"),r("OG14"),r("KKXr"),r("VRzm"),r("9AAn"),r("T39b"),r("EK0E"),r("wCsR"),r("xm80"),r("Ji/l"),r("sFw1"),r("NO8f"),r("aqI/"),r("Faw5"),r("r1bV"),r("tuSo"),r("nCnK"),r("Y9lz"),r("Tdpu"),r("3xty"),r("I5cv"),r("iMoV"),r("uhZd"),r("f/aN"),r("0YWM"),r("694e"),r("LTTk"),r("9rMk"),r("IlFx"),r("xpiv"),r("oZ/O"),r("klPD"),r("knU9"),t.exports=r("g3g5")},WEpk:function(t,n){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},WLL4:function(t,n,r){var e=r("XKFU");e(e.S+e.F*!r("nh4g"),"Object",{defineProperties:r("FJW5")})},XKFU:function(t,n,r){var e=r("dyZX"),i=r("g3g5"),o=r("Mukb"),u=r("KroJ"),c=r("m0Pp"),a=function(t,n,r){var f,s,l,h,v=t&a.F,p=t&a.G,y=t&a.S,g=t&a.P,d=t&a.B,x=p?e:y?e[n]||(e[n]={}):(e[n]||{}).prototype,m=p?i:i[n]||(i[n]={}),b=m.prototype||(m.prototype={});for(f in p&&(r=n),r)l=((s=!v&&x&&void 0!==x[f])?x:r)[f],h=d&&s?c(l,e):g&&"function"==typeof l?c(Function.call,l):l,x&&u(x,f,l,t&a.U),m[f]!=l&&o(m,f,h),g&&b[f]!=l&&(b[f]=l)};e.core=i,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},XMVh:function(t,n,r){var e=r("K0xU")("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},Xbzi:function(t,n,r){var e=r("0/R4"),i=r("i5dc").set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},XfKG:function(t,n,r){var e=r("XKFU"),i=r("11IZ");e(e.S+e.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},XfO3:function(t,n,r){"use strict";var e=r("AvRE")(!0);r("Afnz")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,n=this._t,r=this._i;return r>=n.length?{value:void 0,done:!0}:(t=e(n,r),this._i+=t.length,{value:t,done:!1})}))},Xtr8:function(t,n,r){var e=r("XKFU"),i=r("g3g5"),o=r("eeVq");t.exports=function(t,n){var r=(i.Object||{})[t]||Object[t],u={};u[t]=n(r),e(e.S+e.F*o((function(){r(1)})),"Object",u)}},Xxuz:function(t,n,r){"use strict";var e=r("I8a+"),i=RegExp.prototype.exec;t.exports=function(t,n){var r=t.exec;if("function"==typeof r){var o=r.call(t,n);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==e(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,n)}},Y7ZC:function(t,n,r){var e=r("5T2Y"),i=r("WEpk"),o=r("2GTP"),u=r("NegM"),c=r("B+OT"),a=function(t,n,r){var f,s,l,h=t&a.F,v=t&a.G,p=t&a.S,y=t&a.P,g=t&a.B,d=t&a.W,x=v?i:i[n]||(i[n]={}),m=x.prototype,b=v?e:p?e[n]:(e[n]||{}).prototype;for(f in v&&(r=n),r)(s=!h&&b&&void 0!==b[f])&&c(x,f)||(l=s?b[f]:r[f],x[f]=v&&"function"!=typeof b[f]?r[f]:g&&s?o(l,e):d&&b[f]==l?function(t){var n=function(n,r,e){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,r)}return new t(n,r,e)}return t.apply(this,arguments)};return n.prototype=t.prototype,n}(l):y&&"function"==typeof l?o(Function.call,l):l,y&&((x.virtual||(x.virtual={}))[f]=l,t&a.R&&m&&!m[f]&&u(m,f,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},Y9lz:function(t,n,r){r("7DDg")("Float32",4,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},YJVH:function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(4);e(e.P+e.F*!r("LyE8")([].every,!0),"Array",{every:function(t){return i(this,t,arguments[1])}})},YTvA:function(t,n,r){var e=r("VTer")("keys"),i=r("ylqs");t.exports=function(t){return e[t]||(e[t]=i(t))}},Ymqv:function(t,n,r){var e=r("LZWt");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},Yp8f:function(t,n,r){r("6VaU"),t.exports=r("g3g5").Array.flatMap},Z2Ku:function(t,n,r){"use strict";var e=r("XKFU"),i=r("w2a5")(!0);e(e.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r("nGyu")("includes")},Z6vF:function(t,n,r){var e=r("ylqs")("meta"),i=r("0/R4"),o=r("aagx"),u=r("hswa").f,c=0,a=Object.isExtensible||function(){return!0},f=!r("eeVq")((function(){return a(Object.preventExtensions({}))})),s=function(t){u(t,e,{value:{i:"O"+ ++c,w:{}}})},l=t.exports={KEY:e,NEED:!1,fastKey:function(t,n){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,e)){if(!a(t))return"F";if(!n)return"E";s(t)}return t[e].i},getWeak:function(t,n){if(!o(t,e)){if(!a(t))return!0;if(!n)return!1;s(t)}return t[e].w},onFreeze:function(t){return f&&l.NEED&&a(t)&&!o(t,e)&&s(t),t}}},ZD67:function(t,n,r){"use strict";var e=r("3Lyj"),i=r("Z6vF").getWeak,o=r("y3w9"),u=r("0/R4"),c=r("9gX7"),a=r("SlkY"),f=r("CkkT"),s=r("aagx"),l=r("s5qY"),h=f(5),v=f(6),p=0,y=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},d=function(t,n){return h(t.a,(function(t){return t[0]===n}))};g.prototype={get:function(t){var n=d(this,t);if(n)return n[1]},has:function(t){return!!d(this,t)},set:function(t,n){var r=d(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var f=t((function(t,e){c(t,f,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&a(e,r,t[o],t)}));return e(f.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?y(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?y(l(this,n)).has(t):r&&s(r,this._i)}}),f},def:function(t,n,r){var e=i(o(n),!0);return!0===e?y(t).set(n,r):e[t._i]=r,t},ufstore:y}},Zshi:function(t,n,r){var e=r("0/R4");r("Xtr8")("isFrozen",(function(t){return function(n){return!e(n)||!!t&&t(n)}}))},Zz4T:function(t,n,r){"use strict";r("OGtf")("sub",(function(t){return function(){return t(this,"sub","","")}}))},a1Th:function(t,n,r){"use strict";r("OEbY");var e=r("y3w9"),i=r("C/va"),o=r("nh4g"),u=/./.toString,c=function(t){r("KroJ")(RegExp.prototype,"toString",t,!0)};r("eeVq")((function(){return"/a/b"!=u.call({source:"a",flags:"b"})}))?c((function(){var t=e(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):"toString"!=u.name&&c((function(){return u.call(this)}))},aCFj:function(t,n,r){var e=r("Ymqv"),i=r("vhPU");t.exports=function(t){return e(i(t))}},aagx:function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},apmT:function(t,n,r){var e=r("0/R4");t.exports=function(t,n){if(!e(t))return t;var r,i;if(n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!e(i=r.call(t)))return i;if(!n&&"function"==typeof(r=t.toString)&&!e(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"aqI/":function(t,n,r){r("7DDg")("Uint8",1,(function(t){return function(n,r,e){return t(this,n,r,e)}}),!0)},bBoP:function(t,n,r){var e=r("XKFU"),i=r("LVwc"),o=Math.exp;e(e.S+e.F*r("eeVq")((function(){return-2e-17!=!Math.sinh(-2e-17)})),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(i(t)-i(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},bDcW:function(t,n,r){"use strict";r("OGtf")("fontcolor",(function(t){return function(n){return t(this,"font","color",n)}}))},bHtr:function(t,n,r){var e=r("XKFU");e(e.P,"Array",{fill:r("Nr18")}),r("nGyu")("fill")},bWfx:function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(1);e(e.P+e.F*!r("LyE8")([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},czNK:function(t,n,r){"use strict";var e=r("nh4g"),i=r("DVgA"),o=r("JiEa"),u=r("UqcF"),c=r("S/j/"),a=r("Ymqv"),f=Object.assign;t.exports=!f||r("eeVq")((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=f({},t)[r]||Object.keys(f({},n)).join("")!=e}))?function(t,n){for(var r=c(t),f=arguments.length,s=1,l=o.f,h=u.f;f>s;)for(var v,p=a(arguments[s++]),y=l?i(p).concat(l(p)):i(p),g=y.length,d=0;g>d;)v=y[d++],e&&!h.call(p,v)||(r[v]=p[v]);return r}:f},"d/Gc":function(t,n,r){var e=r("RYi7"),i=Math.max,o=Math.min;t.exports=function(t,n){return(t=e(t))<0?i(t+n,0):o(t,n)}},"dE+T":function(t,n,r){var e=r("XKFU");e(e.P,"Array",{copyWithin:r("upKx")}),r("nGyu")("copyWithin")},dRSK:function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(5),o=!0;"find"in[]&&Array(1).find((function(){o=!1})),e(e.P+e.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),r("nGyu")("find")},"dZ+Y":function(t,n,r){"use strict";var e=r("XKFU"),i=r("CkkT")(3);e(e.P+e.F*!r("LyE8")([].some,!0),"Array",{some:function(t){return i(this,t,arguments[1])}})},dyZX:function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},e7yV:function(t,n,r){var e=r("aCFj"),i=r("kJMx").f,o={}.toString,u="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return u&&"[object Window]"==o.call(t)?function(t){try{return i(t)}catch(t){return u.slice()}}(t):i(e(t))}},eHKK:function(t,n,r){var e=r("XKFU");e(e.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},eI33:function(t,n,r){var e=r("XKFU"),i=r("aCFj"),o=r("ne8i");e(e.S,"String",{raw:function(t){for(var n=i(t.raw),r=o(n.length),e=arguments.length,u=[],c=0;r>c;)u.push(String(n[c++])),c<e&&u.push(String(arguments[c]));return u.join("")}})},eM6i:function(t,n,r){var e=r("XKFU");e(e.S,"Date",{now:function(){return(new Date).getTime()}})},eUtF:function(t,n,r){t.exports=!r("jmDH")&&!r("KUxP")((function(){return 7!=Object.defineProperty(r("Hsns")("div"),"a",{get:function(){return 7}}).a}))},eaoh:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},eeVq:function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},elZq:function(t,n,r){"use strict";var e=r("dyZX"),i=r("hswa"),o=r("nh4g"),u=r("K0xU")("species");t.exports=function(t){var n=e[t];o&&n&&!n[u]&&i.f(n,u,{configurable:!0,get:function(){return this}})}},eyMr:function(t,n,r){var e=r("2OiF"),i=r("S/j/"),o=r("Ymqv"),u=r("ne8i");t.exports=function(t,n,r,c,a){e(n);var f=i(t),s=o(f),l=u(f.length),h=a?l-1:0,v=a?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,a?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;a?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,f));return c}},"f/aN":function(t,n,r){"use strict";var e=r("XKFU"),i=r("y3w9"),o=function(t){this._t=i(t),this._i=0;var n,r=this._k=[];for(n in t)r.push(n)};r("QaDb")(o,"Object",(function(){var t,n=this._k;do{if(this._i>=n.length)return{value:void 0,done:!0}}while(!((t=n[this._i++])in this._t));return{value:t,done:!1}})),e(e.S,"Reflect",{enumerate:function(t){return new o(t)}})},"f3/d":function(t,n,r){var e=r("hswa").f,i=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in i||r("nh4g")&&e(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},fA63:function(t,n,r){"use strict";r("qncB")("trimRight",(function(t){return function(){return t(this,2)}}),"trimEnd")},fN96:function(t,n,r){var e=r("XKFU");e(e.S,"Number",{isInteger:r("nBIS")})},fyDq:function(t,n,r){var e=r("hswa").f,i=r("aagx"),o=r("K0xU")("toStringTag");t.exports=function(t,n,r){t&&!i(t=r?t:t.prototype,o)&&e(t,o,{configurable:!0,value:n})}},fyVe:function(t,n,r){var e=r("XKFU"),i=r("1sa7"),o=Math.sqrt,u=Math.acosh;e(e.S+e.F*!(u&&710==Math.floor(u(Number.MAX_VALUE))&&u(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:i(t-1+o(t-1)*o(t+1))}})},g2aq:function(t,n,r){"use strict";r("W9dy"),r("FDph"),r("Yp8f"),r("wYy3"),r("QNwp"),r("Izvi"),r("ln0Z"),r("wDwx"),r("+Xmh"),r("zFFn"),r("JbTB"),r("TIpR"),r("FxUG"),r("ls82")},g3g5:function(t,n){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},g4EE:function(t,n,r){"use strict";var e=r("y3w9"),i=r("apmT");t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),"number"!=t)}},g6HL:function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},gHnn:function(t,n,r){var e=r("dyZX"),i=r("GZEu").set,o=e.MutationObserver||e.WebKitMutationObserver,u=e.process,c=e.Promise,a="process"==r("LZWt")(u);t.exports=function(){var t,n,r,f=function(){var e,i;for(a&&(e=u.domain)&&e.exit();t;){i=t.fn,t=t.next;try{i()}catch(e){throw t?r():n=void 0,e}}n=void 0,e&&e.enter()};if(a)r=function(){u.nextTick(f)};else if(!o||e.navigator&&e.navigator.standalone)if(c&&c.resolve){var s=c.resolve(void 0);r=function(){s.then(f)}}else r=function(){i.call(e,f)};else{var l=!0,h=document.createTextNode("");new o(f).observe(h,{characterData:!0}),r=function(){h.data=l=!l}}return function(e){var i={fn:e,next:void 0};n&&(n.next=i),t||(t=i,r()),n=i}}},"h/M4":function(t,n,r){var e=r("XKFU");e(e.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},h7Nl:function(t,n,r){var e=Date.prototype,i=e.toString,o=e.getTime;new Date(NaN)+""!="Invalid Date"&&r("KroJ")(e,"toString",(function(){var t=o.call(this);return t==t?i.call(this):"Invalid Date"}))},hEkN:function(t,n,r){"use strict";r("OGtf")("anchor",(function(t){return function(n){return t(this,"a","name",n)}}))},hHhE:function(t,n,r){var e=r("XKFU");e(e.S,"Object",{create:r("Kuth")})},hLT2:function(t,n,r){var e=r("XKFU");e(e.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},hPIQ:function(t,n){t.exports={}},hhXQ:function(t,n,r){var e=r("XKFU"),i=r("UExd")(!1);e(e.S,"Object",{values:function(t){return i(t)}})},hswa:function(t,n,r){var e=r("y3w9"),i=r("xpql"),o=r("apmT"),u=Object.defineProperty;n.f=r("nh4g")?Object.defineProperty:function(t,n,r){if(e(t),n=o(n,!0),e(r),i)try{return u(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}},i5dc:function(t,n,r){var e=r("0/R4"),i=r("y3w9"),o=function(t,n){if(i(t),!e(n)&&null!==n)throw TypeError(n+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,e){try{(e=r("m0Pp")(Function.call,r("EemH").f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(t){n=!0}return function(t,r){return o(t,r),n?t.__proto__=r:e(t,r),t}}({},!1):void 0),check:o}},iMoV:function(t,n,r){var e=r("hswa"),i=r("XKFU"),o=r("y3w9"),u=r("apmT");i(i.S+i.F*r("eeVq")((function(){Reflect.defineProperty(e.f({},1,{value:1}),1,{value:2})})),"Reflect",{defineProperty:function(t,n,r){o(t),n=u(n,!0),o(r);try{return e.f(t,n,r),!0}catch(t){return!1}}})},ioFf:function(t,n,r){"use strict";var e=r("dyZX"),i=r("aagx"),o=r("nh4g"),u=r("XKFU"),c=r("KroJ"),a=r("Z6vF").KEY,f=r("eeVq"),s=r("VTer"),l=r("fyDq"),h=r("ylqs"),v=r("K0xU"),p=r("N8g3"),y=r("OnI7"),g=r("1MBn"),d=r("EWmC"),x=r("y3w9"),m=r("0/R4"),b=r("S/j/"),w=r("aCFj"),F=r("apmT"),S=r("RjD/"),E=r("Kuth"),O=r("e7yV"),U=r("EemH"),_=r("JiEa"),P=r("hswa"),M=r("DVgA"),K=U.f,j=P.f,X=O.f,A=e.Symbol,I=e.JSON,T=I&&I.stringify,L=v("_hidden"),R=v("toPrimitive"),N={}.propertyIsEnumerable,k=s("symbol-registry"),D=s("symbols"),V=s("op-symbols"),C=Object.prototype,q="function"==typeof A&&!!_.f,Z=e.QObject,W=!Z||!Z.prototype||!Z.prototype.findChild,G=o&&f((function(){return 7!=E(j({},"a",{get:function(){return j(this,"a",{value:7}).a}})).a}))?function(t,n,r){var e=K(C,n);e&&delete C[n],j(t,n,r),e&&t!==C&&j(C,n,e)}:j,Y=function(t){var n=D[t]=E(A.prototype);return n._k=t,n},B=q&&"symbol"==typeof A.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof A},z=function(t,n,r){return t===C&&z(V,n,r),x(t),n=F(n,!0),x(r),i(D,n)?(r.enumerable?(i(t,L)&&t[L][n]&&(t[L][n]=!1),r=E(r,{enumerable:S(0,!1)})):(i(t,L)||j(t,L,S(1,{})),t[L][n]=!0),G(t,n,r)):j(t,n,r)},J=function(t,n){x(t);for(var r,e=g(n=w(n)),i=0,o=e.length;o>i;)z(t,r=e[i++],n[r]);return t},H=function(t){var n=N.call(this,t=F(t,!0));return!(this===C&&i(D,t)&&!i(V,t))&&(!(n||!i(this,t)||!i(D,t)||i(this,L)&&this[L][t])||n)},Q=function(t,n){if(t=w(t),n=F(n,!0),t!==C||!i(D,n)||i(V,n)){var r=K(t,n);return!r||!i(D,n)||i(t,L)&&t[L][n]||(r.enumerable=!0),r}},$=function(t){for(var n,r=X(w(t)),e=[],o=0;r.length>o;)i(D,n=r[o++])||n==L||n==a||e.push(n);return e},tt=function(t){for(var n,r=t===C,e=X(r?V:w(t)),o=[],u=0;e.length>u;)!i(D,n=e[u++])||r&&!i(C,n)||o.push(D[n]);return o};q||(c((A=function(){if(this instanceof A)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),n=function(r){this===C&&n.call(V,r),i(this,L)&&i(this[L],t)&&(this[L][t]=!1),G(this,t,S(1,r))};return o&&W&&G(C,t,{configurable:!0,set:n}),Y(t)}).prototype,"toString",(function(){return this._k})),U.f=Q,P.f=z,r("kJMx").f=O.f=$,r("UqcF").f=H,_.f=tt,o&&!r("LQAc")&&c(C,"propertyIsEnumerable",H,!0),p.f=function(t){return Y(v(t))}),u(u.G+u.W+u.F*!q,{Symbol:A});for(var nt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),rt=0;nt.length>rt;)v(nt[rt++]);for(var et=M(v.store),it=0;et.length>it;)y(et[it++]);u(u.S+u.F*!q,"Symbol",{for:function(t){return i(k,t+="")?k[t]:k[t]=A(t)},keyFor:function(t){if(!B(t))throw TypeError(t+" is not a symbol!");for(var n in k)if(k[n]===t)return n},useSetter:function(){W=!0},useSimple:function(){W=!1}}),u(u.S+u.F*!q,"Object",{create:function(t,n){return void 0===n?E(t):J(E(t),n)},defineProperty:z,defineProperties:J,getOwnPropertyDescriptor:Q,getOwnPropertyNames:$,getOwnPropertySymbols:tt});var ot=f((function(){_.f(1)}));u(u.S+u.F*ot,"Object",{getOwnPropertySymbols:function(t){return _.f(b(t))}}),I&&u(u.S+u.F*(!q||f((function(){var t=A();return"[null]"!=T([t])||"{}"!=T({a:t})||"{}"!=T(Object(t))}))),"JSON",{stringify:function(t){for(var n,r,e=[t],i=1;arguments.length>i;)e.push(arguments[i++]);if(r=n=e[1],(m(n)||void 0!==t)&&!B(t))return d(n)||(n=function(t,n){if("function"==typeof r&&(n=r.call(this,t,n)),!B(n))return n}),e[1]=n,T.apply(I,e)}}),A.prototype[R]||r("Mukb")(A.prototype,R,A.prototype.valueOf),l(A,"Symbol"),l(Math,"Math",!0),l(e.JSON,"JSON",!0)},jm62:function(t,n,r){var e=r("XKFU"),i=r("mQtv"),o=r("aCFj"),u=r("EemH"),c=r("8a7r");e(e.S,"Object",{getOwnPropertyDescriptors:function(t){for(var n,r,e=o(t),a=u.f,f=i(e),s={},l=0;f.length>l;)void 0!==(r=a(e,n=f[l++]))&&c(s,n,r);return s}})},jmDH:function(t,n,r){t.exports=!r("KUxP")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},jqX0:function(t,n,r){var e=r("XKFU"),i=r("jtBr");e(e.P+e.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},jtBr:function(t,n,r){"use strict";var e=r("eeVq"),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},kJMx:function(t,n,r){var e=r("zhAb"),i=r("4R4u").concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return e(t,i)}},kcoS:function(t,n,r){var e=r("lvtm"),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),a=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),f=e(t);return i<a?f*(i/a/u+1/o-1/o)*a*u:(r=(n=(1+u/o)*i)-(n-i))>c||r!=r?f*(1/0):f*r}},klPD:function(t,n,r){var e=r("hswa"),i=r("EemH"),o=r("OP3Y"),u=r("aagx"),c=r("XKFU"),a=r("RjD/"),f=r("y3w9"),s=r("0/R4");c(c.S,"Reflect",{set:function t(n,r,c){var l,h,v=arguments.length<4?n:arguments[3],p=i.f(f(n),r);if(!p){if(s(h=o(n)))return t(h,r,c,v);p=a(0)}if(u(p,"value")){if(!1===p.writable||!s(v))return!1;if(l=i.f(v,r)){if(l.get||l.set||!1===l.writable)return!1;l.value=c,e.f(v,r,l)}else e.f(v,r,a(0,c));return!0}return void 0!==p.set&&(p.set.call(v,c),!0)}})},knU9:function(t,n,r){var e=r("XKFU"),i=r("i5dc");i&&e(e.S,"Reflect",{setPrototypeOf:function(t,n){i.check(t,n);try{return i.set(t,n),!0}catch(t){return!1}}})},knhD:function(t,n,r){var e=r("XKFU");e(e.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},l0Rn:function(t,n,r){"use strict";var e=r("RYi7"),i=r("vhPU");t.exports=function(t){var n=String(i(this)),r="",o=e(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(n+=n))1&o&&(r+=n);return r}},ln0Z:function(t,n,r){r("fA63"),t.exports=r("g3g5").String.trimRight},ls82:function(t,n,r){var e=function(t){"use strict";var n=Object.prototype,r=n.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},i=e.iterator||"@@iterator",o=e.asyncIterator||"@@asyncIterator",u=e.toStringTag||"@@toStringTag";function c(t,n,r){return Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[n]}try{c({},"")}catch(t){c=function(t,n,r){return t[n]=r}}function a(t,n,r,e){var i=n&&n.prototype instanceof l?n:l,o=Object.create(i.prototype),u=new S(e||[]);return o._invoke=function(t,n,r){var e="suspendedStart";return function(i,o){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===i)throw o;return O()}for(r.method=i,r.arg=o;;){var u=r.delegate;if(u){var c=b(u,r);if(c){if(c===s)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===e)throw e="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);e="executing";var a=f(t,n,r);if("normal"===a.type){if(e=r.done?"completed":"suspendedYield",a.arg===s)continue;return{value:a.arg,done:r.done}}"throw"===a.type&&(e="completed",r.method="throw",r.arg=a.arg)}}}(t,r,u),o}function f(t,n,r){try{return{type:"normal",arg:t.call(n,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=a;var s={};function l(){}function h(){}function v(){}var p={};c(p,i,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(E([])));g&&g!==n&&r.call(g,i)&&(p=g);var d=v.prototype=l.prototype=Object.create(p);function x(t){["next","throw","return"].forEach((function(n){c(t,n,(function(t){return this._invoke(n,t)}))}))}function m(t,n){var e;this._invoke=function(i,o){function u(){return new n((function(e,u){!function e(i,o,u,c){var a=f(t[i],t,o);if("throw"!==a.type){var s=a.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?n.resolve(l.__await).then((function(t){e("next",t,u,c)}),(function(t){e("throw",t,u,c)})):n.resolve(l).then((function(t){s.value=t,u(s)}),(function(t){return e("throw",t,u,c)}))}c(a.arg)}(i,o,e,u)}))}return e=e?e.then(u,u):u()}}function b(t,n){var r=t.iterator[n.method];if(void 0===r){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=void 0,b(t,n),"throw"===n.method))return s;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var e=f(r,t.iterator,n.arg);if("throw"===e.type)return n.method="throw",n.arg=e.arg,n.delegate=null,s;var i=e.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,s):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,s)}function w(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function F(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(w,this),this.reset(!0)}function E(t){if(t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var e=-1,o=function n(){for(;++e<t.length;)if(r.call(t,e))return n.value=t[e],n.done=!1,n;return n.value=void 0,n.done=!0,n};return o.next=o}}return{next:O}}function O(){return{value:void 0,done:!0}}return h.prototype=v,c(d,"constructor",v),c(v,"constructor",h),h.displayName=c(v,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var n="function"==typeof t&&t.constructor;return!!n&&(n===h||"GeneratorFunction"===(n.displayName||n.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,c(t,u,"GeneratorFunction")),t.prototype=Object.create(d),t},t.awrap=function(t){return{__await:t}},x(m.prototype),c(m.prototype,o,(function(){return this})),t.AsyncIterator=m,t.async=function(n,r,e,i,o){void 0===o&&(o=Promise);var u=new m(a(n,r,e,i),o);return t.isGeneratorFunction(r)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},x(d),c(d,u,"Generator"),c(d,i,(function(){return this})),c(d,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var n=[];for(var r in t)n.push(r);return n.reverse(),function r(){for(;n.length;){var e=n.pop();if(e in t)return r.value=e,r.done=!1,r}return r.done=!0,r}},t.values=E,S.prototype={constructor:S,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(F),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function e(r,e){return u.type="throw",u.arg=t,n.next=r,e&&(n.method="next",n.arg=void 0),!!e}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],u=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),a=r.call(o,"finallyLoc");if(c&&a){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(t,n){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=n&&n<=o.finallyLoc&&(o=null);var u=o?o.completion:{};return u.type=t,u.arg=n,o?(this.method="next",this.next=o.finallyLoc,s):this.complete(u)},complete:function(t,n){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&n&&(this.next=n),s},finish:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),F(r),s}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc===t){var e=r.completion;if("throw"===e.type){var i=e.arg;F(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:E(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},lvtm:function(t,n){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},m0Pp:function(t,n,r){var e=r("2OiF");t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){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,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},mGWK:function(t,n,r){"use strict";var e=r("XKFU"),i=r("aCFj"),o=r("RYi7"),u=r("ne8i"),c=[].lastIndexOf,a=!!c&&1/[1].lastIndexOf(1,-0)<0;e(e.P+e.F*(a||!r("LyE8")(c)),"Array",{lastIndexOf:function(t){if(a)return c.apply(this,arguments)||0;var n=i(this),r=u(n.length),e=r-1;for(arguments.length>1&&(e=Math.min(e,o(arguments[1]))),e<0&&(e=r+e);e>=0;e--)if(e in n&&n[e]===t)return e||0;return-1}})},mQtv:function(t,n,r){var e=r("kJMx"),i=r("JiEa"),o=r("y3w9"),u=r("dyZX").Reflect;t.exports=u&&u.ownKeys||function(t){var n=e.f(o(t)),r=i.f;return r?n.concat(r(t)):n}},mYba:function(t,n,r){var e=r("aCFj"),i=r("EemH").f;r("Xtr8")("getOwnPropertyDescriptor",(function(){return function(t,n){return i(e(t),n)}}))},mura:function(t,n,r){var e=r("0/R4"),i=r("Z6vF").onFreeze;r("Xtr8")("preventExtensions",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},nBIS:function(t,n,r){var e=r("0/R4"),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},nCnK:function(t,n,r){r("7DDg")("Uint32",4,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},nGyu:function(t,n,r){var e=r("K0xU")("unscopables"),i=Array.prototype;null==i[e]&&r("Mukb")(i,e,{}),t.exports=function(t){i[e][t]=!0}},nICZ:function(t,n){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},nIY7:function(t,n,r){"use strict";r("OGtf")("big",(function(t){return function(){return t(this,"big","","")}}))},ne8i:function(t,n,r){var e=r("RYi7"),i=Math.min;t.exports=function(t){return t>0?i(e(t),9007199254740991):0}},nh4g:function(t,n,r){t.exports=!r("eeVq")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},nsiH:function(t,n,r){"use strict";r("OGtf")("fontsize",(function(t){return function(n){return t(this,"font","size",n)}}))},nzyx:function(t,n,r){var e=r("XKFU"),i=r("LVwc");e(e.S+e.F*(i!=Math.expm1),"Math",{expm1:i})},oDIu:function(t,n,r){"use strict";var e=r("XKFU"),i=r("AvRE")(!1);e(e.P,"String",{codePointAt:function(t){return i(this,t)}})},"oZ/O":function(t,n,r){var e=r("XKFU"),i=r("y3w9"),o=Object.preventExtensions;e(e.S,"Reflect",{preventExtensions:function(t){i(t);try{return o&&o(t),!0}catch(t){return!1}}})},ol8x:function(t,n,r){var e=r("dyZX").navigator;t.exports=e&&e.userAgent||""},pIFo:function(t,n,r){"use strict";var e=r("y3w9"),i=r("S/j/"),o=r("ne8i"),u=r("RYi7"),c=r("A5AN"),a=r("Xxuz"),f=Math.max,s=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,v=/\$([$&`']|\d\d?)/g;r("IU+Z")("replace",2,(function(t,n,r,p){return[function(e,i){var o=t(this),u=null==e?void 0:e[n];return void 0!==u?u.call(e,o,i):r.call(String(o),e,i)},function(t,n){var i=p(r,t,this,n);if(i.done)return i.value;var l=e(t),h=String(this),v="function"==typeof n;v||(n=String(n));var g=l.global;if(g){var d=l.unicode;l.lastIndex=0}for(var x=[];;){var m=a(l,h);if(null===m)break;if(x.push(m),!g)break;""===String(m[0])&&(l.lastIndex=c(h,o(l.lastIndex),d))}for(var b,w="",F=0,S=0;S<x.length;S++){m=x[S];for(var E=String(m[0]),O=f(s(u(m.index),h.length),0),U=[],_=1;_<m.length;_++)U.push(void 0===(b=m[_])?b:String(b));var P=m.groups;if(v){var M=[E].concat(U,O,h);void 0!==P&&M.push(P);var K=String(n.apply(void 0,M))}else K=y(E,h,O,U,P,n);O>=F&&(w+=h.slice(F,O)+K,F=O+E.length)}return w+h.slice(F)}];function y(t,n,e,o,u,c){var a=e+t.length,f=o.length,s=v;return void 0!==u&&(u=i(u),s=h),r.call(c,s,(function(r,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,e);case"'":return n.slice(a);case"<":c=u[i.slice(1,-1)];break;default:var s=+i;if(0===s)return r;if(s>f){var h=l(s/10);return 0===h?r:h<=f?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):r}c=o[s-1]}return void 0===c?"":c}))}}))},pbhE:function(t,n,r){"use strict";var e=r("2OiF");function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},"pp/T":function(t,n,r){var e=r("XKFU");e(e.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},qncB:function(t,n,r){var e=r("XKFU"),i=r("vhPU"),o=r("eeVq"),u=r("/e88"),c="["+u+"]",a=RegExp("^"+c+c+"*"),f=RegExp(c+c+"*$"),s=function(t,n,r){var i={},c=o((function(){return!!u[t]()||"
"!="
"[t]()})),a=i[t]=c?n(l):u[t];r&&(i[r]=a),e(e.P+e.F*c,"String",i)},l=s.trim=function(t,n){return t=String(i(t)),1&n&&(t=t.replace(a,"")),2&n&&(t=t.replace(f,"")),t};t.exports=s},quPj:function(t,n,r){var e=r("0/R4"),i=r("LZWt"),o=r("K0xU")("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},r1bV:function(t,n,r){r("7DDg")("Uint16",2,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},rE2o:function(t,n,r){r("OnI7")("asyncIterator")},rGqo:function(t,n,r){for(var e=r("yt8O"),i=r("DVgA"),o=r("KroJ"),u=r("dyZX"),c=r("Mukb"),a=r("hPIQ"),f=r("K0xU"),s=f("iterator"),l=f("toStringTag"),h=a.Array,v={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(v),y=0;y<p.length;y++){var g,d=p[y],x=v[d],m=u[d],b=m&&m.prototype;if(b&&(b[s]||c(b,s,h),b[l]||c(b,l,d),a[d]=h,x))for(g in e)b[g]||o(b,g,e[g],!0)}},rr1i:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},rvZc:function(t,n,r){"use strict";var e=r("XKFU"),i=r("ne8i"),o=r("0sh+"),u="".endsWith;e(e.P+e.F*r("UUeW")("endsWith"),"String",{endsWith:function(t){var n=o(this,t,"endsWith"),r=arguments.length>1?arguments[1]:void 0,e=i(n.length),c=void 0===r?e:Math.min(i(r),e),a=String(t);return u?u.call(n,a,c):n.slice(c-a.length,c)===a}})},s5qY:function(t,n,r){var e=r("0/R4");t.exports=function(t,n){if(!e(t)||t._t!==n)throw TypeError("Incompatible receiver, "+n+" required!");return t}},sFw1:function(t,n,r){r("7DDg")("Int8",1,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},sMXx:function(t,n,r){"use strict";var e=r("Ugos");r("XKFU")({target:"RegExp",proto:!0,forced:e!==/./.exec},{exec:e})},sbF8:function(t,n,r){var e=r("XKFU"),i=r("nBIS"),o=Math.abs;e(e.S,"Number",{isSafeInteger:function(t){return i(t)&&o(t)<=9007199254740991}})},tUrg:function(t,n,r){"use strict";r("OGtf")("link",(function(t){return function(n){return t(this,"a","href",n)}}))},tuSo:function(t,n,r){r("7DDg")("Int32",4,(function(t){return function(n,r,e){return t(this,n,r,e)}}))},"tyy+":function(t,n,r){var e=r("XKFU"),i=r("11IZ");e(e.G+e.F*(parseFloat!=i),{parseFloat:i})},uhZd:function(t,n,r){var e=r("XKFU"),i=r("EemH").f,o=r("y3w9");e(e.S,"Reflect",{deleteProperty:function(t,n){var r=i(o(t),n);return!(r&&!r.configurable)&&delete t[n]}})},upKx:function(t,n,r){"use strict";var e=r("S/j/"),i=r("d/Gc"),o=r("ne8i");t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),a=i(n,u),f=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===f?u:i(f,u))-a,u-c),l=1;for(a<c&&c<a+s&&(l=-1,a+=s-1,c+=s-1);s-- >0;)a in r?r[c]=r[a]:delete r[c],c+=l,a+=l;return r}},vKrd:function(t,n,r){var e=r("y3w9"),i=r("0/R4"),o=r("pbhE");t.exports=function(t,n){if(e(t),i(n)&&n.constructor===t)return n;var r=o.f(t);return(0,r.resolve)(n),r.promise}},vhPU:function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},vvmO:function(t,n,r){var e=r("LZWt");t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},w2a5:function(t,n,r){var e=r("aCFj"),i=r("ne8i"),o=r("d/Gc");t.exports=function(t){return function(n,r,u){var c,a=e(n),f=i(a.length),s=o(u,f);if(t&&r!=r){for(;f>s;)if((c=a[s++])!=c)return!0}else for(;f>s;s++)if((t||s in a)&&a[s]===r)return t||s||0;return!t&&-1}}},wCsR:function(t,n,r){"use strict";var e=r("ZD67"),i=r("s5qY");r("4LiD")("WeakSet",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return e.def(i(this,"WeakSet"),t,!0)}},e,!1,!0)},wDwx:function(t,n,r){r("rE2o"),t.exports=r("N8g3").f("asyncIterator")},wYy3:function(t,n,r){r("9XZr"),t.exports=r("g3g5").String.padStart},wmvG:function(t,n,r){"use strict";var e=r("hswa").f,i=r("Kuth"),o=r("3Lyj"),u=r("m0Pp"),c=r("9gX7"),a=r("SlkY"),f=r("Afnz"),s=r("1TsA"),l=r("elZq"),h=r("nh4g"),v=r("Z6vF").fastKey,p=r("s5qY"),y=h?"_s":"size",g=function(t,n){var r,e=v(n);if("F"!==e)return t._i[e];for(r=t._f;r;r=r.n)if(r.k==n)return r};t.exports={getConstructor:function(t,n,r,f){var s=t((function(t,e){c(t,s,n,"_i"),t._t=n,t._i=i(null),t._f=void 0,t._l=void 0,t[y]=0,null!=e&&a(e,r,t[f],t)}));return o(s.prototype,{clear:function(){for(var t=p(this,n),r=t._i,e=t._f;e;e=e.n)e.r=!0,e.p&&(e.p=e.p.n=void 0),delete r[e.i];t._f=t._l=void 0,t[y]=0},delete:function(t){var r=p(this,n),e=g(r,t);if(e){var i=e.n,o=e.p;delete r._i[e.i],e.r=!0,o&&(o.n=i),i&&(i.p=o),r._f==e&&(r._f=i),r._l==e&&(r._l=o),r[y]--}return!!e},forEach:function(t){p(this,n);for(var r,e=u(t,arguments.length>1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!g(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[y]}}),s},def:function(t,n,r){var e,i,o=g(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[y]++,"F"!==i&&(t._i[i]=o)),t},getEntry:g,setStrong:function(t,n,r){f(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this._k,n=this._l;n&&n.r;)n=n.p;return this._t&&(this._l=n=n?n.n:this._t._f)?s(0,"keys"==t?n.k:"values"==t?n.v:[n.k,n.v]):(this._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},x8Yj:function(t,n,r){var e=r("XKFU"),i=r("LVwc"),o=Math.exp;e(e.S,"Math",{tanh:function(t){var n=i(t=+t),r=i(-t);return n==1/0?1:r==1/0?-1:(n-r)/(o(t)+o(-t))}})},x8ZO:function(t,n,r){var e=r("XKFU"),i=Math.abs;e(e.S,"Math",{hypot:function(t,n){for(var r,e,o=0,u=0,c=arguments.length,a=0;u<c;)a<(r=i(arguments[u++]))?(o=o*(e=a/r)*e+1,a=r):o+=r>0?(e=r/a)*e:r;return a===1/0?1/0:a*Math.sqrt(o)}})},"xF/b":function(t,n,r){"use strict";var e=r("EWmC"),i=r("0/R4"),o=r("ne8i"),u=r("m0Pp"),c=r("K0xU")("isConcatSpreadable");t.exports=function t(n,r,a,f,s,l,h,v){for(var p,y,g=s,d=0,x=!!h&&u(h,v,3);d<f;){if(d in a){if(p=x?x(a[d],d,r):a[d],y=!1,i(p)&&(y=void 0!==(y=p[c])?!!y:e(p)),y&&l>0)g=t(n,r,p,o(p.length),g,l-1)-1;else{if(g>=9007199254740991)throw TypeError();n[g]=p}g++}d++}return g}},xfY5:function(t,n,r){"use strict";var e=r("dyZX"),i=r("aagx"),o=r("LZWt"),u=r("Xbzi"),c=r("apmT"),a=r("eeVq"),f=r("kJMx").f,s=r("EemH").f,l=r("hswa").f,h=r("qncB").trim,v=e.Number,p=v,y=v.prototype,g="Number"==o(r("Kuth")(y)),d="trim"in String.prototype,x=function(t){var n=c(t,!1);if("string"==typeof n&&n.length>2){var r,e,i,o=(n=d?n.trim():h(n,3)).charCodeAt(0);if(43===o||45===o){if(88===(r=n.charCodeAt(2))||120===r)return NaN}else if(48===o){switch(n.charCodeAt(1)){case 66:case 98:e=2,i=49;break;case 79:case 111:e=8,i=55;break;default:return+n}for(var u,a=n.slice(2),f=0,s=a.length;f<s;f++)if((u=a.charCodeAt(f))<48||u>i)return NaN;return parseInt(a,e)}}return+n};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var n=arguments.length<1?0:t,r=this;return r instanceof v&&(g?a((function(){y.valueOf.call(r)})):"Number"!=o(r))?u(new p(x(n)),r,v):x(n)};for(var m,b=r("nh4g")?f(p):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;b.length>w;w++)i(p,m=b[w])&&!i(v,m)&&l(v,m,s(p,m));v.prototype=y,y.constructor=v,r("KroJ")(e,"Number",v)}},xm80:function(t,n,r){"use strict";var e=r("XKFU"),i=r("D4iV"),o=r("7Qtz"),u=r("y3w9"),c=r("d/Gc"),a=r("ne8i"),f=r("0/R4"),s=r("dyZX").ArrayBuffer,l=r("69bn"),h=o.ArrayBuffer,v=o.DataView,p=i.ABV&&s.isView,y=h.prototype.slice,g=i.VIEW;e(e.G+e.W+e.F*(s!==h),{ArrayBuffer:h}),e(e.S+e.F*!i.CONSTR,"ArrayBuffer",{isView:function(t){return p&&p(t)||f(t)&&g in t}}),e(e.P+e.U+e.F*r("eeVq")((function(){return!new h(2).slice(1,void 0).byteLength})),"ArrayBuffer",{slice:function(t,n){if(void 0!==y&&void 0===n)return y.call(u(this),t);for(var r=u(this).byteLength,e=c(t,r),i=c(void 0===n?r:n,r),o=new(l(this,h))(a(i-e)),f=new v(this),s=new v(o),p=0;e<i;)s.setUint8(p++,f.getUint8(e++));return o}}),r("elZq")("ArrayBuffer")},xpiv:function(t,n,r){var e=r("XKFU");e(e.S,"Reflect",{ownKeys:r("mQtv")})},xpql:function(t,n,r){t.exports=!r("nh4g")&&!r("eeVq")((function(){return 7!=Object.defineProperty(r("Iw71")("div"),"a",{get:function(){return 7}}).a}))},y3w9:function(t,n,r){var e=r("0/R4");t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},yM4b:function(t,n,r){var e=r("K0xU")("toPrimitive"),i=Date.prototype;e in i||r("Mukb")(i,e,r("g4EE"))},ylqs:function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+e).toString(36))}},yt8O:function(t,n,r){"use strict";var e=r("nGyu"),i=r("1TsA"),o=r("hPIQ"),u=r("aCFj");t.exports=r("Afnz")(Array,"Array",(function(t,n){this._t=u(t),this._i=0,this._k=n}),(function(){var t=this._t,n=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),o.Arguments=o.Array,e("keys"),e("values"),e("entries")},z2o2:function(t,n,r){var e=r("0/R4"),i=r("Z6vF").onFreeze;r("Xtr8")("seal",(function(t){return function(n){return t&&e(n)?t(i(n)):n}}))},zFFn:function(t,n,r){r("hhXQ"),t.exports=r("g3g5").Object.values},zRwo:function(t,n,r){var e=r("6FMO");t.exports=function(t,n){return new(e(t))(n)}},zhAb:function(t,n,r){var e=r("aagx"),i=r("aCFj"),o=r("w2a5")(!1),u=r("YTvA")("IE_PROTO");t.exports=function(t,n){var r,c=i(t),a=0,f=[];for(r in c)r!=u&&e(c,r)&&f.push(r);for(;n.length>a;)e(c,r=n[a++])&&(~o(f,r)||f.push(r));return f}}});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "/public/js/";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./node_modules/@babel/polyfill/lib/index.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./node_modules/@babel/polyfill/lib/index.js":
|
90 |
+
/*!***************************************************!*\
|
91 |
+
!*** ./node_modules/@babel/polyfill/lib/index.js ***!
|
92 |
+
\***************************************************/
|
93 |
+
/*! no static exports found */
|
94 |
+
/***/ (function(module, exports, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
|
98 |
+
|
99 |
+
__webpack_require__(/*! ./noConflict */ "./node_modules/@babel/polyfill/lib/noConflict.js");
|
100 |
+
|
101 |
+
var _global = _interopRequireDefault(__webpack_require__(/*! core-js/library/fn/global */ "./node_modules/core-js/library/fn/global.js"));
|
102 |
+
|
103 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
104 |
+
|
105 |
+
if (_global["default"]._babelPolyfill && typeof console !== "undefined" && console.warn) {
|
106 |
+
console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended " + "and may have consequences if different versions of the polyfills are applied sequentially. " + "If you do need to load the polyfill more than once, use @babel/polyfill/noConflict " + "instead to bypass the warning.");
|
107 |
+
}
|
108 |
+
|
109 |
+
_global["default"]._babelPolyfill = true;
|
110 |
+
|
111 |
+
/***/ }),
|
112 |
+
|
113 |
+
/***/ "./node_modules/@babel/polyfill/lib/noConflict.js":
|
114 |
+
/*!********************************************************!*\
|
115 |
+
!*** ./node_modules/@babel/polyfill/lib/noConflict.js ***!
|
116 |
+
\********************************************************/
|
117 |
+
/*! no static exports found */
|
118 |
+
/***/ (function(module, exports, __webpack_require__) {
|
119 |
+
|
120 |
+
"use strict";
|
121 |
+
|
122 |
+
|
123 |
+
__webpack_require__(/*! core-js/es6 */ "./node_modules/core-js/es6/index.js");
|
124 |
+
|
125 |
+
__webpack_require__(/*! core-js/fn/array/includes */ "./node_modules/core-js/fn/array/includes.js");
|
126 |
+
|
127 |
+
__webpack_require__(/*! core-js/fn/array/flat-map */ "./node_modules/core-js/fn/array/flat-map.js");
|
128 |
+
|
129 |
+
__webpack_require__(/*! core-js/fn/string/pad-start */ "./node_modules/core-js/fn/string/pad-start.js");
|
130 |
+
|
131 |
+
__webpack_require__(/*! core-js/fn/string/pad-end */ "./node_modules/core-js/fn/string/pad-end.js");
|
132 |
+
|
133 |
+
__webpack_require__(/*! core-js/fn/string/trim-start */ "./node_modules/core-js/fn/string/trim-start.js");
|
134 |
+
|
135 |
+
__webpack_require__(/*! core-js/fn/string/trim-end */ "./node_modules/core-js/fn/string/trim-end.js");
|
136 |
+
|
137 |
+
__webpack_require__(/*! core-js/fn/symbol/async-iterator */ "./node_modules/core-js/fn/symbol/async-iterator.js");
|
138 |
+
|
139 |
+
__webpack_require__(/*! core-js/fn/object/get-own-property-descriptors */ "./node_modules/core-js/fn/object/get-own-property-descriptors.js");
|
140 |
+
|
141 |
+
__webpack_require__(/*! core-js/fn/object/values */ "./node_modules/core-js/fn/object/values.js");
|
142 |
+
|
143 |
+
__webpack_require__(/*! core-js/fn/object/entries */ "./node_modules/core-js/fn/object/entries.js");
|
144 |
+
|
145 |
+
__webpack_require__(/*! core-js/fn/promise/finally */ "./node_modules/core-js/fn/promise/finally.js");
|
146 |
+
|
147 |
+
__webpack_require__(/*! core-js/web */ "./node_modules/core-js/web/index.js");
|
148 |
+
|
149 |
+
__webpack_require__(/*! regenerator-runtime/runtime */ "./node_modules/regenerator-runtime/runtime.js");
|
150 |
+
|
151 |
+
/***/ }),
|
152 |
+
|
153 |
+
/***/ "./node_modules/core-js/es6/index.js":
|
154 |
+
/*!*******************************************!*\
|
155 |
+
!*** ./node_modules/core-js/es6/index.js ***!
|
156 |
+
\*******************************************/
|
157 |
+
/*! no static exports found */
|
158 |
+
/***/ (function(module, exports, __webpack_require__) {
|
159 |
+
|
160 |
+
__webpack_require__(/*! ../modules/es6.symbol */ "./node_modules/core-js/modules/es6.symbol.js");
|
161 |
+
__webpack_require__(/*! ../modules/es6.object.create */ "./node_modules/core-js/modules/es6.object.create.js");
|
162 |
+
__webpack_require__(/*! ../modules/es6.object.define-property */ "./node_modules/core-js/modules/es6.object.define-property.js");
|
163 |
+
__webpack_require__(/*! ../modules/es6.object.define-properties */ "./node_modules/core-js/modules/es6.object.define-properties.js");
|
164 |
+
__webpack_require__(/*! ../modules/es6.object.get-own-property-descriptor */ "./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js");
|
165 |
+
__webpack_require__(/*! ../modules/es6.object.get-prototype-of */ "./node_modules/core-js/modules/es6.object.get-prototype-of.js");
|
166 |
+
__webpack_require__(/*! ../modules/es6.object.keys */ "./node_modules/core-js/modules/es6.object.keys.js");
|
167 |
+
__webpack_require__(/*! ../modules/es6.object.get-own-property-names */ "./node_modules/core-js/modules/es6.object.get-own-property-names.js");
|
168 |
+
__webpack_require__(/*! ../modules/es6.object.freeze */ "./node_modules/core-js/modules/es6.object.freeze.js");
|
169 |
+
__webpack_require__(/*! ../modules/es6.object.seal */ "./node_modules/core-js/modules/es6.object.seal.js");
|
170 |
+
__webpack_require__(/*! ../modules/es6.object.prevent-extensions */ "./node_modules/core-js/modules/es6.object.prevent-extensions.js");
|
171 |
+
__webpack_require__(/*! ../modules/es6.object.is-frozen */ "./node_modules/core-js/modules/es6.object.is-frozen.js");
|
172 |
+
__webpack_require__(/*! ../modules/es6.object.is-sealed */ "./node_modules/core-js/modules/es6.object.is-sealed.js");
|
173 |
+
__webpack_require__(/*! ../modules/es6.object.is-extensible */ "./node_modules/core-js/modules/es6.object.is-extensible.js");
|
174 |
+
__webpack_require__(/*! ../modules/es6.object.assign */ "./node_modules/core-js/modules/es6.object.assign.js");
|
175 |
+
__webpack_require__(/*! ../modules/es6.object.is */ "./node_modules/core-js/modules/es6.object.is.js");
|
176 |
+
__webpack_require__(/*! ../modules/es6.object.set-prototype-of */ "./node_modules/core-js/modules/es6.object.set-prototype-of.js");
|
177 |
+
__webpack_require__(/*! ../modules/es6.object.to-string */ "./node_modules/core-js/modules/es6.object.to-string.js");
|
178 |
+
__webpack_require__(/*! ../modules/es6.function.bind */ "./node_modules/core-js/modules/es6.function.bind.js");
|
179 |
+
__webpack_require__(/*! ../modules/es6.function.name */ "./node_modules/core-js/modules/es6.function.name.js");
|
180 |
+
__webpack_require__(/*! ../modules/es6.function.has-instance */ "./node_modules/core-js/modules/es6.function.has-instance.js");
|
181 |
+
__webpack_require__(/*! ../modules/es6.parse-int */ "./node_modules/core-js/modules/es6.parse-int.js");
|
182 |
+
__webpack_require__(/*! ../modules/es6.parse-float */ "./node_modules/core-js/modules/es6.parse-float.js");
|
183 |
+
__webpack_require__(/*! ../modules/es6.number.constructor */ "./node_modules/core-js/modules/es6.number.constructor.js");
|
184 |
+
__webpack_require__(/*! ../modules/es6.number.to-fixed */ "./node_modules/core-js/modules/es6.number.to-fixed.js");
|
185 |
+
__webpack_require__(/*! ../modules/es6.number.to-precision */ "./node_modules/core-js/modules/es6.number.to-precision.js");
|
186 |
+
__webpack_require__(/*! ../modules/es6.number.epsilon */ "./node_modules/core-js/modules/es6.number.epsilon.js");
|
187 |
+
__webpack_require__(/*! ../modules/es6.number.is-finite */ "./node_modules/core-js/modules/es6.number.is-finite.js");
|
188 |
+
__webpack_require__(/*! ../modules/es6.number.is-integer */ "./node_modules/core-js/modules/es6.number.is-integer.js");
|
189 |
+
__webpack_require__(/*! ../modules/es6.number.is-nan */ "./node_modules/core-js/modules/es6.number.is-nan.js");
|
190 |
+
__webpack_require__(/*! ../modules/es6.number.is-safe-integer */ "./node_modules/core-js/modules/es6.number.is-safe-integer.js");
|
191 |
+
__webpack_require__(/*! ../modules/es6.number.max-safe-integer */ "./node_modules/core-js/modules/es6.number.max-safe-integer.js");
|
192 |
+
__webpack_require__(/*! ../modules/es6.number.min-safe-integer */ "./node_modules/core-js/modules/es6.number.min-safe-integer.js");
|
193 |
+
__webpack_require__(/*! ../modules/es6.number.parse-float */ "./node_modules/core-js/modules/es6.number.parse-float.js");
|
194 |
+
__webpack_require__(/*! ../modules/es6.number.parse-int */ "./node_modules/core-js/modules/es6.number.parse-int.js");
|
195 |
+
__webpack_require__(/*! ../modules/es6.math.acosh */ "./node_modules/core-js/modules/es6.math.acosh.js");
|
196 |
+
__webpack_require__(/*! ../modules/es6.math.asinh */ "./node_modules/core-js/modules/es6.math.asinh.js");
|
197 |
+
__webpack_require__(/*! ../modules/es6.math.atanh */ "./node_modules/core-js/modules/es6.math.atanh.js");
|
198 |
+
__webpack_require__(/*! ../modules/es6.math.cbrt */ "./node_modules/core-js/modules/es6.math.cbrt.js");
|
199 |
+
__webpack_require__(/*! ../modules/es6.math.clz32 */ "./node_modules/core-js/modules/es6.math.clz32.js");
|
200 |
+
__webpack_require__(/*! ../modules/es6.math.cosh */ "./node_modules/core-js/modules/es6.math.cosh.js");
|
201 |
+
__webpack_require__(/*! ../modules/es6.math.expm1 */ "./node_modules/core-js/modules/es6.math.expm1.js");
|
202 |
+
__webpack_require__(/*! ../modules/es6.math.fround */ "./node_modules/core-js/modules/es6.math.fround.js");
|
203 |
+
__webpack_require__(/*! ../modules/es6.math.hypot */ "./node_modules/core-js/modules/es6.math.hypot.js");
|
204 |
+
__webpack_require__(/*! ../modules/es6.math.imul */ "./node_modules/core-js/modules/es6.math.imul.js");
|
205 |
+
__webpack_require__(/*! ../modules/es6.math.log10 */ "./node_modules/core-js/modules/es6.math.log10.js");
|
206 |
+
__webpack_require__(/*! ../modules/es6.math.log1p */ "./node_modules/core-js/modules/es6.math.log1p.js");
|
207 |
+
__webpack_require__(/*! ../modules/es6.math.log2 */ "./node_modules/core-js/modules/es6.math.log2.js");
|
208 |
+
__webpack_require__(/*! ../modules/es6.math.sign */ "./node_modules/core-js/modules/es6.math.sign.js");
|
209 |
+
__webpack_require__(/*! ../modules/es6.math.sinh */ "./node_modules/core-js/modules/es6.math.sinh.js");
|
210 |
+
__webpack_require__(/*! ../modules/es6.math.tanh */ "./node_modules/core-js/modules/es6.math.tanh.js");
|
211 |
+
__webpack_require__(/*! ../modules/es6.math.trunc */ "./node_modules/core-js/modules/es6.math.trunc.js");
|
212 |
+
__webpack_require__(/*! ../modules/es6.string.from-code-point */ "./node_modules/core-js/modules/es6.string.from-code-point.js");
|
213 |
+
__webpack_require__(/*! ../modules/es6.string.raw */ "./node_modules/core-js/modules/es6.string.raw.js");
|
214 |
+
__webpack_require__(/*! ../modules/es6.string.trim */ "./node_modules/core-js/modules/es6.string.trim.js");
|
215 |
+
__webpack_require__(/*! ../modules/es6.string.iterator */ "./node_modules/core-js/modules/es6.string.iterator.js");
|
216 |
+
__webpack_require__(/*! ../modules/es6.string.code-point-at */ "./node_modules/core-js/modules/es6.string.code-point-at.js");
|
217 |
+
__webpack_require__(/*! ../modules/es6.string.ends-with */ "./node_modules/core-js/modules/es6.string.ends-with.js");
|
218 |
+
__webpack_require__(/*! ../modules/es6.string.includes */ "./node_modules/core-js/modules/es6.string.includes.js");
|
219 |
+
__webpack_require__(/*! ../modules/es6.string.repeat */ "./node_modules/core-js/modules/es6.string.repeat.js");
|
220 |
+
__webpack_require__(/*! ../modules/es6.string.starts-with */ "./node_modules/core-js/modules/es6.string.starts-with.js");
|
221 |
+
__webpack_require__(/*! ../modules/es6.string.anchor */ "./node_modules/core-js/modules/es6.string.anchor.js");
|
222 |
+
__webpack_require__(/*! ../modules/es6.string.big */ "./node_modules/core-js/modules/es6.string.big.js");
|
223 |
+
__webpack_require__(/*! ../modules/es6.string.blink */ "./node_modules/core-js/modules/es6.string.blink.js");
|
224 |
+
__webpack_require__(/*! ../modules/es6.string.bold */ "./node_modules/core-js/modules/es6.string.bold.js");
|
225 |
+
__webpack_require__(/*! ../modules/es6.string.fixed */ "./node_modules/core-js/modules/es6.string.fixed.js");
|
226 |
+
__webpack_require__(/*! ../modules/es6.string.fontcolor */ "./node_modules/core-js/modules/es6.string.fontcolor.js");
|
227 |
+
__webpack_require__(/*! ../modules/es6.string.fontsize */ "./node_modules/core-js/modules/es6.string.fontsize.js");
|
228 |
+
__webpack_require__(/*! ../modules/es6.string.italics */ "./node_modules/core-js/modules/es6.string.italics.js");
|
229 |
+
__webpack_require__(/*! ../modules/es6.string.link */ "./node_modules/core-js/modules/es6.string.link.js");
|
230 |
+
__webpack_require__(/*! ../modules/es6.string.small */ "./node_modules/core-js/modules/es6.string.small.js");
|
231 |
+
__webpack_require__(/*! ../modules/es6.string.strike */ "./node_modules/core-js/modules/es6.string.strike.js");
|
232 |
+
__webpack_require__(/*! ../modules/es6.string.sub */ "./node_modules/core-js/modules/es6.string.sub.js");
|
233 |
+
__webpack_require__(/*! ../modules/es6.string.sup */ "./node_modules/core-js/modules/es6.string.sup.js");
|
234 |
+
__webpack_require__(/*! ../modules/es6.date.now */ "./node_modules/core-js/modules/es6.date.now.js");
|
235 |
+
__webpack_require__(/*! ../modules/es6.date.to-json */ "./node_modules/core-js/modules/es6.date.to-json.js");
|
236 |
+
__webpack_require__(/*! ../modules/es6.date.to-iso-string */ "./node_modules/core-js/modules/es6.date.to-iso-string.js");
|
237 |
+
__webpack_require__(/*! ../modules/es6.date.to-string */ "./node_modules/core-js/modules/es6.date.to-string.js");
|
238 |
+
__webpack_require__(/*! ../modules/es6.date.to-primitive */ "./node_modules/core-js/modules/es6.date.to-primitive.js");
|
239 |
+
__webpack_require__(/*! ../modules/es6.array.is-array */ "./node_modules/core-js/modules/es6.array.is-array.js");
|
240 |
+
__webpack_require__(/*! ../modules/es6.array.from */ "./node_modules/core-js/modules/es6.array.from.js");
|
241 |
+
__webpack_require__(/*! ../modules/es6.array.of */ "./node_modules/core-js/modules/es6.array.of.js");
|
242 |
+
__webpack_require__(/*! ../modules/es6.array.join */ "./node_modules/core-js/modules/es6.array.join.js");
|
243 |
+
__webpack_require__(/*! ../modules/es6.array.slice */ "./node_modules/core-js/modules/es6.array.slice.js");
|
244 |
+
__webpack_require__(/*! ../modules/es6.array.sort */ "./node_modules/core-js/modules/es6.array.sort.js");
|
245 |
+
__webpack_require__(/*! ../modules/es6.array.for-each */ "./node_modules/core-js/modules/es6.array.for-each.js");
|
246 |
+
__webpack_require__(/*! ../modules/es6.array.map */ "./node_modules/core-js/modules/es6.array.map.js");
|
247 |
+
__webpack_require__(/*! ../modules/es6.array.filter */ "./node_modules/core-js/modules/es6.array.filter.js");
|
248 |
+
__webpack_require__(/*! ../modules/es6.array.some */ "./node_modules/core-js/modules/es6.array.some.js");
|
249 |
+
__webpack_require__(/*! ../modules/es6.array.every */ "./node_modules/core-js/modules/es6.array.every.js");
|
250 |
+
__webpack_require__(/*! ../modules/es6.array.reduce */ "./node_modules/core-js/modules/es6.array.reduce.js");
|
251 |
+
__webpack_require__(/*! ../modules/es6.array.reduce-right */ "./node_modules/core-js/modules/es6.array.reduce-right.js");
|
252 |
+
__webpack_require__(/*! ../modules/es6.array.index-of */ "./node_modules/core-js/modules/es6.array.index-of.js");
|
253 |
+
__webpack_require__(/*! ../modules/es6.array.last-index-of */ "./node_modules/core-js/modules/es6.array.last-index-of.js");
|
254 |
+
__webpack_require__(/*! ../modules/es6.array.copy-within */ "./node_modules/core-js/modules/es6.array.copy-within.js");
|
255 |
+
__webpack_require__(/*! ../modules/es6.array.fill */ "./node_modules/core-js/modules/es6.array.fill.js");
|
256 |
+
__webpack_require__(/*! ../modules/es6.array.find */ "./node_modules/core-js/modules/es6.array.find.js");
|
257 |
+
__webpack_require__(/*! ../modules/es6.array.find-index */ "./node_modules/core-js/modules/es6.array.find-index.js");
|
258 |
+
__webpack_require__(/*! ../modules/es6.array.species */ "./node_modules/core-js/modules/es6.array.species.js");
|
259 |
+
__webpack_require__(/*! ../modules/es6.array.iterator */ "./node_modules/core-js/modules/es6.array.iterator.js");
|
260 |
+
__webpack_require__(/*! ../modules/es6.regexp.constructor */ "./node_modules/core-js/modules/es6.regexp.constructor.js");
|
261 |
+
__webpack_require__(/*! ../modules/es6.regexp.exec */ "./node_modules/core-js/modules/es6.regexp.exec.js");
|
262 |
+
__webpack_require__(/*! ../modules/es6.regexp.to-string */ "./node_modules/core-js/modules/es6.regexp.to-string.js");
|
263 |
+
__webpack_require__(/*! ../modules/es6.regexp.flags */ "./node_modules/core-js/modules/es6.regexp.flags.js");
|
264 |
+
__webpack_require__(/*! ../modules/es6.regexp.match */ "./node_modules/core-js/modules/es6.regexp.match.js");
|
265 |
+
__webpack_require__(/*! ../modules/es6.regexp.replace */ "./node_modules/core-js/modules/es6.regexp.replace.js");
|
266 |
+
__webpack_require__(/*! ../modules/es6.regexp.search */ "./node_modules/core-js/modules/es6.regexp.search.js");
|
267 |
+
__webpack_require__(/*! ../modules/es6.regexp.split */ "./node_modules/core-js/modules/es6.regexp.split.js");
|
268 |
+
__webpack_require__(/*! ../modules/es6.promise */ "./node_modules/core-js/modules/es6.promise.js");
|
269 |
+
__webpack_require__(/*! ../modules/es6.map */ "./node_modules/core-js/modules/es6.map.js");
|
270 |
+
__webpack_require__(/*! ../modules/es6.set */ "./node_modules/core-js/modules/es6.set.js");
|
271 |
+
__webpack_require__(/*! ../modules/es6.weak-map */ "./node_modules/core-js/modules/es6.weak-map.js");
|
272 |
+
__webpack_require__(/*! ../modules/es6.weak-set */ "./node_modules/core-js/modules/es6.weak-set.js");
|
273 |
+
__webpack_require__(/*! ../modules/es6.typed.array-buffer */ "./node_modules/core-js/modules/es6.typed.array-buffer.js");
|
274 |
+
__webpack_require__(/*! ../modules/es6.typed.data-view */ "./node_modules/core-js/modules/es6.typed.data-view.js");
|
275 |
+
__webpack_require__(/*! ../modules/es6.typed.int8-array */ "./node_modules/core-js/modules/es6.typed.int8-array.js");
|
276 |
+
__webpack_require__(/*! ../modules/es6.typed.uint8-array */ "./node_modules/core-js/modules/es6.typed.uint8-array.js");
|
277 |
+
__webpack_require__(/*! ../modules/es6.typed.uint8-clamped-array */ "./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js");
|
278 |
+
__webpack_require__(/*! ../modules/es6.typed.int16-array */ "./node_modules/core-js/modules/es6.typed.int16-array.js");
|
279 |
+
__webpack_require__(/*! ../modules/es6.typed.uint16-array */ "./node_modules/core-js/modules/es6.typed.uint16-array.js");
|
280 |
+
__webpack_require__(/*! ../modules/es6.typed.int32-array */ "./node_modules/core-js/modules/es6.typed.int32-array.js");
|
281 |
+
__webpack_require__(/*! ../modules/es6.typed.uint32-array */ "./node_modules/core-js/modules/es6.typed.uint32-array.js");
|
282 |
+
__webpack_require__(/*! ../modules/es6.typed.float32-array */ "./node_modules/core-js/modules/es6.typed.float32-array.js");
|
283 |
+
__webpack_require__(/*! ../modules/es6.typed.float64-array */ "./node_modules/core-js/modules/es6.typed.float64-array.js");
|
284 |
+
__webpack_require__(/*! ../modules/es6.reflect.apply */ "./node_modules/core-js/modules/es6.reflect.apply.js");
|
285 |
+
__webpack_require__(/*! ../modules/es6.reflect.construct */ "./node_modules/core-js/modules/es6.reflect.construct.js");
|
286 |
+
__webpack_require__(/*! ../modules/es6.reflect.define-property */ "./node_modules/core-js/modules/es6.reflect.define-property.js");
|
287 |
+
__webpack_require__(/*! ../modules/es6.reflect.delete-property */ "./node_modules/core-js/modules/es6.reflect.delete-property.js");
|
288 |
+
__webpack_require__(/*! ../modules/es6.reflect.enumerate */ "./node_modules/core-js/modules/es6.reflect.enumerate.js");
|
289 |
+
__webpack_require__(/*! ../modules/es6.reflect.get */ "./node_modules/core-js/modules/es6.reflect.get.js");
|
290 |
+
__webpack_require__(/*! ../modules/es6.reflect.get-own-property-descriptor */ "./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js");
|
291 |
+
__webpack_require__(/*! ../modules/es6.reflect.get-prototype-of */ "./node_modules/core-js/modules/es6.reflect.get-prototype-of.js");
|
292 |
+
__webpack_require__(/*! ../modules/es6.reflect.has */ "./node_modules/core-js/modules/es6.reflect.has.js");
|
293 |
+
__webpack_require__(/*! ../modules/es6.reflect.is-extensible */ "./node_modules/core-js/modules/es6.reflect.is-extensible.js");
|
294 |
+
__webpack_require__(/*! ../modules/es6.reflect.own-keys */ "./node_modules/core-js/modules/es6.reflect.own-keys.js");
|
295 |
+
__webpack_require__(/*! ../modules/es6.reflect.prevent-extensions */ "./node_modules/core-js/modules/es6.reflect.prevent-extensions.js");
|
296 |
+
__webpack_require__(/*! ../modules/es6.reflect.set */ "./node_modules/core-js/modules/es6.reflect.set.js");
|
297 |
+
__webpack_require__(/*! ../modules/es6.reflect.set-prototype-of */ "./node_modules/core-js/modules/es6.reflect.set-prototype-of.js");
|
298 |
+
module.exports = __webpack_require__(/*! ../modules/_core */ "./node_modules/core-js/modules/_core.js");
|
299 |
+
|
300 |
+
|
301 |
+
/***/ }),
|
302 |
+
|
303 |
+
/***/ "./node_modules/core-js/fn/array/flat-map.js":
|
304 |
+
/*!***************************************************!*\
|
305 |
+
!*** ./node_modules/core-js/fn/array/flat-map.js ***!
|
306 |
+
\***************************************************/
|
307 |
+
/*! no static exports found */
|
308 |
+
/***/ (function(module, exports, __webpack_require__) {
|
309 |
+
|
310 |
+
__webpack_require__(/*! ../../modules/es7.array.flat-map */ "./node_modules/core-js/modules/es7.array.flat-map.js");
|
311 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Array.flatMap;
|
312 |
+
|
313 |
+
|
314 |
+
/***/ }),
|
315 |
+
|
316 |
+
/***/ "./node_modules/core-js/fn/array/includes.js":
|
317 |
+
/*!***************************************************!*\
|
318 |
+
!*** ./node_modules/core-js/fn/array/includes.js ***!
|
319 |
+
\***************************************************/
|
320 |
+
/*! no static exports found */
|
321 |
+
/***/ (function(module, exports, __webpack_require__) {
|
322 |
+
|
323 |
+
__webpack_require__(/*! ../../modules/es7.array.includes */ "./node_modules/core-js/modules/es7.array.includes.js");
|
324 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Array.includes;
|
325 |
+
|
326 |
+
|
327 |
+
/***/ }),
|
328 |
+
|
329 |
+
/***/ "./node_modules/core-js/fn/object/entries.js":
|
330 |
+
/*!***************************************************!*\
|
331 |
+
!*** ./node_modules/core-js/fn/object/entries.js ***!
|
332 |
+
\***************************************************/
|
333 |
+
/*! no static exports found */
|
334 |
+
/***/ (function(module, exports, __webpack_require__) {
|
335 |
+
|
336 |
+
__webpack_require__(/*! ../../modules/es7.object.entries */ "./node_modules/core-js/modules/es7.object.entries.js");
|
337 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Object.entries;
|
338 |
+
|
339 |
+
|
340 |
+
/***/ }),
|
341 |
+
|
342 |
+
/***/ "./node_modules/core-js/fn/object/get-own-property-descriptors.js":
|
343 |
+
/*!************************************************************************!*\
|
344 |
+
!*** ./node_modules/core-js/fn/object/get-own-property-descriptors.js ***!
|
345 |
+
\************************************************************************/
|
346 |
+
/*! no static exports found */
|
347 |
+
/***/ (function(module, exports, __webpack_require__) {
|
348 |
+
|
349 |
+
__webpack_require__(/*! ../../modules/es7.object.get-own-property-descriptors */ "./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js");
|
350 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Object.getOwnPropertyDescriptors;
|
351 |
+
|
352 |
+
|
353 |
+
/***/ }),
|
354 |
+
|
355 |
+
/***/ "./node_modules/core-js/fn/object/values.js":
|
356 |
+
/*!**************************************************!*\
|
357 |
+
!*** ./node_modules/core-js/fn/object/values.js ***!
|
358 |
+
\**************************************************/
|
359 |
+
/*! no static exports found */
|
360 |
+
/***/ (function(module, exports, __webpack_require__) {
|
361 |
+
|
362 |
+
__webpack_require__(/*! ../../modules/es7.object.values */ "./node_modules/core-js/modules/es7.object.values.js");
|
363 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Object.values;
|
364 |
+
|
365 |
+
|
366 |
+
/***/ }),
|
367 |
+
|
368 |
+
/***/ "./node_modules/core-js/fn/promise/finally.js":
|
369 |
+
/*!****************************************************!*\
|
370 |
+
!*** ./node_modules/core-js/fn/promise/finally.js ***!
|
371 |
+
\****************************************************/
|
372 |
+
/*! no static exports found */
|
373 |
+
/***/ (function(module, exports, __webpack_require__) {
|
374 |
+
|
375 |
+
"use strict";
|
376 |
+
|
377 |
+
__webpack_require__(/*! ../../modules/es6.promise */ "./node_modules/core-js/modules/es6.promise.js");
|
378 |
+
__webpack_require__(/*! ../../modules/es7.promise.finally */ "./node_modules/core-js/modules/es7.promise.finally.js");
|
379 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").Promise['finally'];
|
380 |
+
|
381 |
+
|
382 |
+
/***/ }),
|
383 |
+
|
384 |
+
/***/ "./node_modules/core-js/fn/string/pad-end.js":
|
385 |
+
/*!***************************************************!*\
|
386 |
+
!*** ./node_modules/core-js/fn/string/pad-end.js ***!
|
387 |
+
\***************************************************/
|
388 |
+
/*! no static exports found */
|
389 |
+
/***/ (function(module, exports, __webpack_require__) {
|
390 |
+
|
391 |
+
__webpack_require__(/*! ../../modules/es7.string.pad-end */ "./node_modules/core-js/modules/es7.string.pad-end.js");
|
392 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").String.padEnd;
|
393 |
+
|
394 |
+
|
395 |
+
/***/ }),
|
396 |
+
|
397 |
+
/***/ "./node_modules/core-js/fn/string/pad-start.js":
|
398 |
+
/*!*****************************************************!*\
|
399 |
+
!*** ./node_modules/core-js/fn/string/pad-start.js ***!
|
400 |
+
\*****************************************************/
|
401 |
+
/*! no static exports found */
|
402 |
+
/***/ (function(module, exports, __webpack_require__) {
|
403 |
+
|
404 |
+
__webpack_require__(/*! ../../modules/es7.string.pad-start */ "./node_modules/core-js/modules/es7.string.pad-start.js");
|
405 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").String.padStart;
|
406 |
+
|
407 |
+
|
408 |
+
/***/ }),
|
409 |
+
|
410 |
+
/***/ "./node_modules/core-js/fn/string/trim-end.js":
|
411 |
+
/*!****************************************************!*\
|
412 |
+
!*** ./node_modules/core-js/fn/string/trim-end.js ***!
|
413 |
+
\****************************************************/
|
414 |
+
/*! no static exports found */
|
415 |
+
/***/ (function(module, exports, __webpack_require__) {
|
416 |
+
|
417 |
+
__webpack_require__(/*! ../../modules/es7.string.trim-right */ "./node_modules/core-js/modules/es7.string.trim-right.js");
|
418 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").String.trimRight;
|
419 |
+
|
420 |
+
|
421 |
+
/***/ }),
|
422 |
+
|
423 |
+
/***/ "./node_modules/core-js/fn/string/trim-start.js":
|
424 |
+
/*!******************************************************!*\
|
425 |
+
!*** ./node_modules/core-js/fn/string/trim-start.js ***!
|
426 |
+
\******************************************************/
|
427 |
+
/*! no static exports found */
|
428 |
+
/***/ (function(module, exports, __webpack_require__) {
|
429 |
+
|
430 |
+
__webpack_require__(/*! ../../modules/es7.string.trim-left */ "./node_modules/core-js/modules/es7.string.trim-left.js");
|
431 |
+
module.exports = __webpack_require__(/*! ../../modules/_core */ "./node_modules/core-js/modules/_core.js").String.trimLeft;
|
432 |
+
|
433 |
+
|
434 |
+
/***/ }),
|
435 |
+
|
436 |
+
/***/ "./node_modules/core-js/fn/symbol/async-iterator.js":
|
437 |
+
/*!**********************************************************!*\
|
438 |
+
!*** ./node_modules/core-js/fn/symbol/async-iterator.js ***!
|
439 |
+
\**********************************************************/
|
440 |
+
/*! no static exports found */
|
441 |
+
/***/ (function(module, exports, __webpack_require__) {
|
442 |
+
|
443 |
+
__webpack_require__(/*! ../../modules/es7.symbol.async-iterator */ "./node_modules/core-js/modules/es7.symbol.async-iterator.js");
|
444 |
+
module.exports = __webpack_require__(/*! ../../modules/_wks-ext */ "./node_modules/core-js/modules/_wks-ext.js").f('asyncIterator');
|
445 |
+
|
446 |
+
|
447 |
+
/***/ }),
|
448 |
+
|
449 |
+
/***/ "./node_modules/core-js/library/fn/global.js":
|
450 |
+
/*!***************************************************!*\
|
451 |
+
!*** ./node_modules/core-js/library/fn/global.js ***!
|
452 |
+
\***************************************************/
|
453 |
+
/*! no static exports found */
|
454 |
+
/***/ (function(module, exports, __webpack_require__) {
|
455 |
+
|
456 |
+
__webpack_require__(/*! ../modules/es7.global */ "./node_modules/core-js/library/modules/es7.global.js");
|
457 |
+
module.exports = __webpack_require__(/*! ../modules/_core */ "./node_modules/core-js/library/modules/_core.js").global;
|
458 |
+
|
459 |
+
|
460 |
+
/***/ }),
|
461 |
+
|
462 |
+
/***/ "./node_modules/core-js/library/modules/_a-function.js":
|
463 |
+
/*!*************************************************************!*\
|
464 |
+
!*** ./node_modules/core-js/library/modules/_a-function.js ***!
|
465 |
+
\*************************************************************/
|
466 |
+
/*! no static exports found */
|
467 |
+
/***/ (function(module, exports) {
|
468 |
+
|
469 |
+
module.exports = function (it) {
|
470 |
+
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
471 |
+
return it;
|
472 |
+
};
|
473 |
+
|
474 |
+
|
475 |
+
/***/ }),
|
476 |
+
|
477 |
+
/***/ "./node_modules/core-js/library/modules/_an-object.js":
|
478 |
+
/*!************************************************************!*\
|
479 |
+
!*** ./node_modules/core-js/library/modules/_an-object.js ***!
|
480 |
+
\************************************************************/
|
481 |
+
/*! no static exports found */
|
482 |
+
/***/ (function(module, exports, __webpack_require__) {
|
483 |
+
|
484 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/library/modules/_is-object.js");
|
485 |
+
module.exports = function (it) {
|
486 |
+
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
487 |
+
return it;
|
488 |
+
};
|
489 |
+
|
490 |
+
|
491 |
+
/***/ }),
|
492 |
+
|
493 |
+
/***/ "./node_modules/core-js/library/modules/_core.js":
|
494 |
+
/*!*******************************************************!*\
|
495 |
+
!*** ./node_modules/core-js/library/modules/_core.js ***!
|
496 |
+
\*******************************************************/
|
497 |
+
/*! no static exports found */
|
498 |
+
/***/ (function(module, exports) {
|
499 |
+
|
500 |
+
var core = module.exports = { version: '2.6.12' };
|
501 |
+
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
502 |
+
|
503 |
+
|
504 |
+
/***/ }),
|
505 |
+
|
506 |
+
/***/ "./node_modules/core-js/library/modules/_ctx.js":
|
507 |
+
/*!******************************************************!*\
|
508 |
+
!*** ./node_modules/core-js/library/modules/_ctx.js ***!
|
509 |
+
\******************************************************/
|
510 |
+
/*! no static exports found */
|
511 |
+
/***/ (function(module, exports, __webpack_require__) {
|
512 |
+
|
513 |
+
// optional / simple context binding
|
514 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/library/modules/_a-function.js");
|
515 |
+
module.exports = function (fn, that, length) {
|
516 |
+
aFunction(fn);
|
517 |
+
if (that === undefined) return fn;
|
518 |
+
switch (length) {
|
519 |
+
case 1: return function (a) {
|
520 |
+
return fn.call(that, a);
|
521 |
+
};
|
522 |
+
case 2: return function (a, b) {
|
523 |
+
return fn.call(that, a, b);
|
524 |
+
};
|
525 |
+
case 3: return function (a, b, c) {
|
526 |
+
return fn.call(that, a, b, c);
|
527 |
+
};
|
528 |
+
}
|
529 |
+
return function (/* ...args */) {
|
530 |
+
return fn.apply(that, arguments);
|
531 |
+
};
|
532 |
+
};
|
533 |
+
|
534 |
+
|
535 |
+
/***/ }),
|
536 |
+
|
537 |
+
/***/ "./node_modules/core-js/library/modules/_descriptors.js":
|
538 |
+
/*!**************************************************************!*\
|
539 |
+
!*** ./node_modules/core-js/library/modules/_descriptors.js ***!
|
540 |
+
\**************************************************************/
|
541 |
+
/*! no static exports found */
|
542 |
+
/***/ (function(module, exports, __webpack_require__) {
|
543 |
+
|
544 |
+
// Thank's IE8 for his funny defineProperty
|
545 |
+
module.exports = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/library/modules/_fails.js")(function () {
|
546 |
+
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
547 |
+
});
|
548 |
+
|
549 |
+
|
550 |
+
/***/ }),
|
551 |
+
|
552 |
+
/***/ "./node_modules/core-js/library/modules/_dom-create.js":
|
553 |
+
/*!*************************************************************!*\
|
554 |
+
!*** ./node_modules/core-js/library/modules/_dom-create.js ***!
|
555 |
+
\*************************************************************/
|
556 |
+
/*! no static exports found */
|
557 |
+
/***/ (function(module, exports, __webpack_require__) {
|
558 |
+
|
559 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/library/modules/_is-object.js");
|
560 |
+
var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/library/modules/_global.js").document;
|
561 |
+
// typeof document.createElement is 'object' in old IE
|
562 |
+
var is = isObject(document) && isObject(document.createElement);
|
563 |
+
module.exports = function (it) {
|
564 |
+
return is ? document.createElement(it) : {};
|
565 |
+
};
|
566 |
+
|
567 |
+
|
568 |
+
/***/ }),
|
569 |
+
|
570 |
+
/***/ "./node_modules/core-js/library/modules/_export.js":
|
571 |
+
/*!*********************************************************!*\
|
572 |
+
!*** ./node_modules/core-js/library/modules/_export.js ***!
|
573 |
+
\*********************************************************/
|
574 |
+
/*! no static exports found */
|
575 |
+
/***/ (function(module, exports, __webpack_require__) {
|
576 |
+
|
577 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/library/modules/_global.js");
|
578 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/library/modules/_core.js");
|
579 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/library/modules/_ctx.js");
|
580 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/library/modules/_hide.js");
|
581 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/library/modules/_has.js");
|
582 |
+
var PROTOTYPE = 'prototype';
|
583 |
+
|
584 |
+
var $export = function (type, name, source) {
|
585 |
+
var IS_FORCED = type & $export.F;
|
586 |
+
var IS_GLOBAL = type & $export.G;
|
587 |
+
var IS_STATIC = type & $export.S;
|
588 |
+
var IS_PROTO = type & $export.P;
|
589 |
+
var IS_BIND = type & $export.B;
|
590 |
+
var IS_WRAP = type & $export.W;
|
591 |
+
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
592 |
+
var expProto = exports[PROTOTYPE];
|
593 |
+
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
|
594 |
+
var key, own, out;
|
595 |
+
if (IS_GLOBAL) source = name;
|
596 |
+
for (key in source) {
|
597 |
+
// contains in native
|
598 |
+
own = !IS_FORCED && target && target[key] !== undefined;
|
599 |
+
if (own && has(exports, key)) continue;
|
600 |
+
// export native or passed
|
601 |
+
out = own ? target[key] : source[key];
|
602 |
+
// prevent global pollution for namespaces
|
603 |
+
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
604 |
+
// bind timers to global for call from export context
|
605 |
+
: IS_BIND && own ? ctx(out, global)
|
606 |
+
// wrap global constructors for prevent change them in library
|
607 |
+
: IS_WRAP && target[key] == out ? (function (C) {
|
608 |
+
var F = function (a, b, c) {
|
609 |
+
if (this instanceof C) {
|
610 |
+
switch (arguments.length) {
|
611 |
+
case 0: return new C();
|
612 |
+
case 1: return new C(a);
|
613 |
+
case 2: return new C(a, b);
|
614 |
+
} return new C(a, b, c);
|
615 |
+
} return C.apply(this, arguments);
|
616 |
+
};
|
617 |
+
F[PROTOTYPE] = C[PROTOTYPE];
|
618 |
+
return F;
|
619 |
+
// make static versions for prototype methods
|
620 |
+
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
621 |
+
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
622 |
+
if (IS_PROTO) {
|
623 |
+
(exports.virtual || (exports.virtual = {}))[key] = out;
|
624 |
+
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
625 |
+
if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
|
626 |
+
}
|
627 |
+
}
|
628 |
+
};
|
629 |
+
// type bitmap
|
630 |
+
$export.F = 1; // forced
|
631 |
+
$export.G = 2; // global
|
632 |
+
$export.S = 4; // static
|
633 |
+
$export.P = 8; // proto
|
634 |
+
$export.B = 16; // bind
|
635 |
+
$export.W = 32; // wrap
|
636 |
+
$export.U = 64; // safe
|
637 |
+
$export.R = 128; // real proto method for `library`
|
638 |
+
module.exports = $export;
|
639 |
+
|
640 |
+
|
641 |
+
/***/ }),
|
642 |
+
|
643 |
+
/***/ "./node_modules/core-js/library/modules/_fails.js":
|
644 |
+
/*!********************************************************!*\
|
645 |
+
!*** ./node_modules/core-js/library/modules/_fails.js ***!
|
646 |
+
\********************************************************/
|
647 |
+
/*! no static exports found */
|
648 |
+
/***/ (function(module, exports) {
|
649 |
+
|
650 |
+
module.exports = function (exec) {
|
651 |
+
try {
|
652 |
+
return !!exec();
|
653 |
+
} catch (e) {
|
654 |
+
return true;
|
655 |
+
}
|
656 |
+
};
|
657 |
+
|
658 |
+
|
659 |
+
/***/ }),
|
660 |
+
|
661 |
+
/***/ "./node_modules/core-js/library/modules/_global.js":
|
662 |
+
/*!*********************************************************!*\
|
663 |
+
!*** ./node_modules/core-js/library/modules/_global.js ***!
|
664 |
+
\*********************************************************/
|
665 |
+
/*! no static exports found */
|
666 |
+
/***/ (function(module, exports) {
|
667 |
+
|
668 |
+
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
669 |
+
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
670 |
+
? window : typeof self != 'undefined' && self.Math == Math ? self
|
671 |
+
// eslint-disable-next-line no-new-func
|
672 |
+
: Function('return this')();
|
673 |
+
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
674 |
+
|
675 |
+
|
676 |
+
/***/ }),
|
677 |
+
|
678 |
+
/***/ "./node_modules/core-js/library/modules/_has.js":
|
679 |
+
/*!******************************************************!*\
|
680 |
+
!*** ./node_modules/core-js/library/modules/_has.js ***!
|
681 |
+
\******************************************************/
|
682 |
+
/*! no static exports found */
|
683 |
+
/***/ (function(module, exports) {
|
684 |
+
|
685 |
+
var hasOwnProperty = {}.hasOwnProperty;
|
686 |
+
module.exports = function (it, key) {
|
687 |
+
return hasOwnProperty.call(it, key);
|
688 |
+
};
|
689 |
+
|
690 |
+
|
691 |
+
/***/ }),
|
692 |
+
|
693 |
+
/***/ "./node_modules/core-js/library/modules/_hide.js":
|
694 |
+
/*!*******************************************************!*\
|
695 |
+
!*** ./node_modules/core-js/library/modules/_hide.js ***!
|
696 |
+
\*******************************************************/
|
697 |
+
/*! no static exports found */
|
698 |
+
/***/ (function(module, exports, __webpack_require__) {
|
699 |
+
|
700 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/library/modules/_object-dp.js");
|
701 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/library/modules/_property-desc.js");
|
702 |
+
module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/library/modules/_descriptors.js") ? function (object, key, value) {
|
703 |
+
return dP.f(object, key, createDesc(1, value));
|
704 |
+
} : function (object, key, value) {
|
705 |
+
object[key] = value;
|
706 |
+
return object;
|
707 |
+
};
|
708 |
+
|
709 |
+
|
710 |
+
/***/ }),
|
711 |
+
|
712 |
+
/***/ "./node_modules/core-js/library/modules/_ie8-dom-define.js":
|
713 |
+
/*!*****************************************************************!*\
|
714 |
+
!*** ./node_modules/core-js/library/modules/_ie8-dom-define.js ***!
|
715 |
+
\*****************************************************************/
|
716 |
+
/*! no static exports found */
|
717 |
+
/***/ (function(module, exports, __webpack_require__) {
|
718 |
+
|
719 |
+
module.exports = !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/library/modules/_descriptors.js") && !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/library/modules/_fails.js")(function () {
|
720 |
+
return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/library/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7;
|
721 |
+
});
|
722 |
+
|
723 |
+
|
724 |
+
/***/ }),
|
725 |
+
|
726 |
+
/***/ "./node_modules/core-js/library/modules/_is-object.js":
|
727 |
+
/*!************************************************************!*\
|
728 |
+
!*** ./node_modules/core-js/library/modules/_is-object.js ***!
|
729 |
+
\************************************************************/
|
730 |
+
/*! no static exports found */
|
731 |
+
/***/ (function(module, exports) {
|
732 |
+
|
733 |
+
module.exports = function (it) {
|
734 |
+
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
735 |
+
};
|
736 |
+
|
737 |
+
|
738 |
+
/***/ }),
|
739 |
+
|
740 |
+
/***/ "./node_modules/core-js/library/modules/_object-dp.js":
|
741 |
+
/*!************************************************************!*\
|
742 |
+
!*** ./node_modules/core-js/library/modules/_object-dp.js ***!
|
743 |
+
\************************************************************/
|
744 |
+
/*! no static exports found */
|
745 |
+
/***/ (function(module, exports, __webpack_require__) {
|
746 |
+
|
747 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/library/modules/_an-object.js");
|
748 |
+
var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/library/modules/_ie8-dom-define.js");
|
749 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/library/modules/_to-primitive.js");
|
750 |
+
var dP = Object.defineProperty;
|
751 |
+
|
752 |
+
exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/library/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
753 |
+
anObject(O);
|
754 |
+
P = toPrimitive(P, true);
|
755 |
+
anObject(Attributes);
|
756 |
+
if (IE8_DOM_DEFINE) try {
|
757 |
+
return dP(O, P, Attributes);
|
758 |
+
} catch (e) { /* empty */ }
|
759 |
+
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
760 |
+
if ('value' in Attributes) O[P] = Attributes.value;
|
761 |
+
return O;
|
762 |
+
};
|
763 |
+
|
764 |
+
|
765 |
+
/***/ }),
|
766 |
+
|
767 |
+
/***/ "./node_modules/core-js/library/modules/_property-desc.js":
|
768 |
+
/*!****************************************************************!*\
|
769 |
+
!*** ./node_modules/core-js/library/modules/_property-desc.js ***!
|
770 |
+
\****************************************************************/
|
771 |
+
/*! no static exports found */
|
772 |
+
/***/ (function(module, exports) {
|
773 |
+
|
774 |
+
module.exports = function (bitmap, value) {
|
775 |
+
return {
|
776 |
+
enumerable: !(bitmap & 1),
|
777 |
+
configurable: !(bitmap & 2),
|
778 |
+
writable: !(bitmap & 4),
|
779 |
+
value: value
|
780 |
+
};
|
781 |
+
};
|
782 |
+
|
783 |
+
|
784 |
+
/***/ }),
|
785 |
+
|
786 |
+
/***/ "./node_modules/core-js/library/modules/_to-primitive.js":
|
787 |
+
/*!***************************************************************!*\
|
788 |
+
!*** ./node_modules/core-js/library/modules/_to-primitive.js ***!
|
789 |
+
\***************************************************************/
|
790 |
+
/*! no static exports found */
|
791 |
+
/***/ (function(module, exports, __webpack_require__) {
|
792 |
+
|
793 |
+
// 7.1.1 ToPrimitive(input [, PreferredType])
|
794 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/library/modules/_is-object.js");
|
795 |
+
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
796 |
+
// and the second argument - flag - preferred type is a string
|
797 |
+
module.exports = function (it, S) {
|
798 |
+
if (!isObject(it)) return it;
|
799 |
+
var fn, val;
|
800 |
+
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
801 |
+
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
802 |
+
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
803 |
+
throw TypeError("Can't convert object to primitive value");
|
804 |
+
};
|
805 |
+
|
806 |
+
|
807 |
+
/***/ }),
|
808 |
+
|
809 |
+
/***/ "./node_modules/core-js/library/modules/es7.global.js":
|
810 |
+
/*!************************************************************!*\
|
811 |
+
!*** ./node_modules/core-js/library/modules/es7.global.js ***!
|
812 |
+
\************************************************************/
|
813 |
+
/*! no static exports found */
|
814 |
+
/***/ (function(module, exports, __webpack_require__) {
|
815 |
+
|
816 |
+
// https://github.com/tc39/proposal-global
|
817 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/library/modules/_export.js");
|
818 |
+
|
819 |
+
$export($export.G, { global: __webpack_require__(/*! ./_global */ "./node_modules/core-js/library/modules/_global.js") });
|
820 |
+
|
821 |
+
|
822 |
+
/***/ }),
|
823 |
+
|
824 |
+
/***/ "./node_modules/core-js/modules/_a-function.js":
|
825 |
+
/*!*****************************************************!*\
|
826 |
+
!*** ./node_modules/core-js/modules/_a-function.js ***!
|
827 |
+
\*****************************************************/
|
828 |
+
/*! no static exports found */
|
829 |
+
/***/ (function(module, exports) {
|
830 |
+
|
831 |
+
module.exports = function (it) {
|
832 |
+
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
833 |
+
return it;
|
834 |
+
};
|
835 |
+
|
836 |
+
|
837 |
+
/***/ }),
|
838 |
+
|
839 |
+
/***/ "./node_modules/core-js/modules/_a-number-value.js":
|
840 |
+
/*!*********************************************************!*\
|
841 |
+
!*** ./node_modules/core-js/modules/_a-number-value.js ***!
|
842 |
+
\*********************************************************/
|
843 |
+
/*! no static exports found */
|
844 |
+
/***/ (function(module, exports, __webpack_require__) {
|
845 |
+
|
846 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
847 |
+
module.exports = function (it, msg) {
|
848 |
+
if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
|
849 |
+
return +it;
|
850 |
+
};
|
851 |
+
|
852 |
+
|
853 |
+
/***/ }),
|
854 |
+
|
855 |
+
/***/ "./node_modules/core-js/modules/_add-to-unscopables.js":
|
856 |
+
/*!*************************************************************!*\
|
857 |
+
!*** ./node_modules/core-js/modules/_add-to-unscopables.js ***!
|
858 |
+
\*************************************************************/
|
859 |
+
/*! no static exports found */
|
860 |
+
/***/ (function(module, exports, __webpack_require__) {
|
861 |
+
|
862 |
+
// 22.1.3.31 Array.prototype[@@unscopables]
|
863 |
+
var UNSCOPABLES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('unscopables');
|
864 |
+
var ArrayProto = Array.prototype;
|
865 |
+
if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")(ArrayProto, UNSCOPABLES, {});
|
866 |
+
module.exports = function (key) {
|
867 |
+
ArrayProto[UNSCOPABLES][key] = true;
|
868 |
+
};
|
869 |
+
|
870 |
+
|
871 |
+
/***/ }),
|
872 |
+
|
873 |
+
/***/ "./node_modules/core-js/modules/_advance-string-index.js":
|
874 |
+
/*!***************************************************************!*\
|
875 |
+
!*** ./node_modules/core-js/modules/_advance-string-index.js ***!
|
876 |
+
\***************************************************************/
|
877 |
+
/*! no static exports found */
|
878 |
+
/***/ (function(module, exports, __webpack_require__) {
|
879 |
+
|
880 |
+
"use strict";
|
881 |
+
|
882 |
+
var at = __webpack_require__(/*! ./_string-at */ "./node_modules/core-js/modules/_string-at.js")(true);
|
883 |
+
|
884 |
+
// `AdvanceStringIndex` abstract operation
|
885 |
+
// https://tc39.github.io/ecma262/#sec-advancestringindex
|
886 |
+
module.exports = function (S, index, unicode) {
|
887 |
+
return index + (unicode ? at(S, index).length : 1);
|
888 |
+
};
|
889 |
+
|
890 |
+
|
891 |
+
/***/ }),
|
892 |
+
|
893 |
+
/***/ "./node_modules/core-js/modules/_an-instance.js":
|
894 |
+
/*!******************************************************!*\
|
895 |
+
!*** ./node_modules/core-js/modules/_an-instance.js ***!
|
896 |
+
\******************************************************/
|
897 |
+
/*! no static exports found */
|
898 |
+
/***/ (function(module, exports) {
|
899 |
+
|
900 |
+
module.exports = function (it, Constructor, name, forbiddenField) {
|
901 |
+
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
|
902 |
+
throw TypeError(name + ': incorrect invocation!');
|
903 |
+
} return it;
|
904 |
+
};
|
905 |
+
|
906 |
+
|
907 |
+
/***/ }),
|
908 |
+
|
909 |
+
/***/ "./node_modules/core-js/modules/_an-object.js":
|
910 |
+
/*!****************************************************!*\
|
911 |
+
!*** ./node_modules/core-js/modules/_an-object.js ***!
|
912 |
+
\****************************************************/
|
913 |
+
/*! no static exports found */
|
914 |
+
/***/ (function(module, exports, __webpack_require__) {
|
915 |
+
|
916 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
917 |
+
module.exports = function (it) {
|
918 |
+
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
919 |
+
return it;
|
920 |
+
};
|
921 |
+
|
922 |
+
|
923 |
+
/***/ }),
|
924 |
+
|
925 |
+
/***/ "./node_modules/core-js/modules/_array-copy-within.js":
|
926 |
+
/*!************************************************************!*\
|
927 |
+
!*** ./node_modules/core-js/modules/_array-copy-within.js ***!
|
928 |
+
\************************************************************/
|
929 |
+
/*! no static exports found */
|
930 |
+
/***/ (function(module, exports, __webpack_require__) {
|
931 |
+
|
932 |
+
"use strict";
|
933 |
+
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
|
934 |
+
|
935 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
936 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
937 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
938 |
+
|
939 |
+
module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
|
940 |
+
var O = toObject(this);
|
941 |
+
var len = toLength(O.length);
|
942 |
+
var to = toAbsoluteIndex(target, len);
|
943 |
+
var from = toAbsoluteIndex(start, len);
|
944 |
+
var end = arguments.length > 2 ? arguments[2] : undefined;
|
945 |
+
var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
|
946 |
+
var inc = 1;
|
947 |
+
if (from < to && to < from + count) {
|
948 |
+
inc = -1;
|
949 |
+
from += count - 1;
|
950 |
+
to += count - 1;
|
951 |
+
}
|
952 |
+
while (count-- > 0) {
|
953 |
+
if (from in O) O[to] = O[from];
|
954 |
+
else delete O[to];
|
955 |
+
to += inc;
|
956 |
+
from += inc;
|
957 |
+
} return O;
|
958 |
+
};
|
959 |
+
|
960 |
+
|
961 |
+
/***/ }),
|
962 |
+
|
963 |
+
/***/ "./node_modules/core-js/modules/_array-fill.js":
|
964 |
+
/*!*****************************************************!*\
|
965 |
+
!*** ./node_modules/core-js/modules/_array-fill.js ***!
|
966 |
+
\*****************************************************/
|
967 |
+
/*! no static exports found */
|
968 |
+
/***/ (function(module, exports, __webpack_require__) {
|
969 |
+
|
970 |
+
"use strict";
|
971 |
+
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
|
972 |
+
|
973 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
974 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
975 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
976 |
+
module.exports = function fill(value /* , start = 0, end = @length */) {
|
977 |
+
var O = toObject(this);
|
978 |
+
var length = toLength(O.length);
|
979 |
+
var aLen = arguments.length;
|
980 |
+
var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);
|
981 |
+
var end = aLen > 2 ? arguments[2] : undefined;
|
982 |
+
var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
|
983 |
+
while (endPos > index) O[index++] = value;
|
984 |
+
return O;
|
985 |
+
};
|
986 |
+
|
987 |
+
|
988 |
+
/***/ }),
|
989 |
+
|
990 |
+
/***/ "./node_modules/core-js/modules/_array-includes.js":
|
991 |
+
/*!*********************************************************!*\
|
992 |
+
!*** ./node_modules/core-js/modules/_array-includes.js ***!
|
993 |
+
\*********************************************************/
|
994 |
+
/*! no static exports found */
|
995 |
+
/***/ (function(module, exports, __webpack_require__) {
|
996 |
+
|
997 |
+
// false -> Array#indexOf
|
998 |
+
// true -> Array#includes
|
999 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
1000 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
1001 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
1002 |
+
module.exports = function (IS_INCLUDES) {
|
1003 |
+
return function ($this, el, fromIndex) {
|
1004 |
+
var O = toIObject($this);
|
1005 |
+
var length = toLength(O.length);
|
1006 |
+
var index = toAbsoluteIndex(fromIndex, length);
|
1007 |
+
var value;
|
1008 |
+
// Array#includes uses SameValueZero equality algorithm
|
1009 |
+
// eslint-disable-next-line no-self-compare
|
1010 |
+
if (IS_INCLUDES && el != el) while (length > index) {
|
1011 |
+
value = O[index++];
|
1012 |
+
// eslint-disable-next-line no-self-compare
|
1013 |
+
if (value != value) return true;
|
1014 |
+
// Array#indexOf ignores holes, Array#includes - not
|
1015 |
+
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
1016 |
+
if (O[index] === el) return IS_INCLUDES || index || 0;
|
1017 |
+
} return !IS_INCLUDES && -1;
|
1018 |
+
};
|
1019 |
+
};
|
1020 |
+
|
1021 |
+
|
1022 |
+
/***/ }),
|
1023 |
+
|
1024 |
+
/***/ "./node_modules/core-js/modules/_array-methods.js":
|
1025 |
+
/*!********************************************************!*\
|
1026 |
+
!*** ./node_modules/core-js/modules/_array-methods.js ***!
|
1027 |
+
\********************************************************/
|
1028 |
+
/*! no static exports found */
|
1029 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1030 |
+
|
1031 |
+
// 0 -> Array#forEach
|
1032 |
+
// 1 -> Array#map
|
1033 |
+
// 2 -> Array#filter
|
1034 |
+
// 3 -> Array#some
|
1035 |
+
// 4 -> Array#every
|
1036 |
+
// 5 -> Array#find
|
1037 |
+
// 6 -> Array#findIndex
|
1038 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
1039 |
+
var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js");
|
1040 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
1041 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
1042 |
+
var asc = __webpack_require__(/*! ./_array-species-create */ "./node_modules/core-js/modules/_array-species-create.js");
|
1043 |
+
module.exports = function (TYPE, $create) {
|
1044 |
+
var IS_MAP = TYPE == 1;
|
1045 |
+
var IS_FILTER = TYPE == 2;
|
1046 |
+
var IS_SOME = TYPE == 3;
|
1047 |
+
var IS_EVERY = TYPE == 4;
|
1048 |
+
var IS_FIND_INDEX = TYPE == 6;
|
1049 |
+
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
1050 |
+
var create = $create || asc;
|
1051 |
+
return function ($this, callbackfn, that) {
|
1052 |
+
var O = toObject($this);
|
1053 |
+
var self = IObject(O);
|
1054 |
+
var f = ctx(callbackfn, that, 3);
|
1055 |
+
var length = toLength(self.length);
|
1056 |
+
var index = 0;
|
1057 |
+
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
1058 |
+
var val, res;
|
1059 |
+
for (;length > index; index++) if (NO_HOLES || index in self) {
|
1060 |
+
val = self[index];
|
1061 |
+
res = f(val, index, O);
|
1062 |
+
if (TYPE) {
|
1063 |
+
if (IS_MAP) result[index] = res; // map
|
1064 |
+
else if (res) switch (TYPE) {
|
1065 |
+
case 3: return true; // some
|
1066 |
+
case 5: return val; // find
|
1067 |
+
case 6: return index; // findIndex
|
1068 |
+
case 2: result.push(val); // filter
|
1069 |
+
} else if (IS_EVERY) return false; // every
|
1070 |
+
}
|
1071 |
+
}
|
1072 |
+
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
|
1073 |
+
};
|
1074 |
+
};
|
1075 |
+
|
1076 |
+
|
1077 |
+
/***/ }),
|
1078 |
+
|
1079 |
+
/***/ "./node_modules/core-js/modules/_array-reduce.js":
|
1080 |
+
/*!*******************************************************!*\
|
1081 |
+
!*** ./node_modules/core-js/modules/_array-reduce.js ***!
|
1082 |
+
\*******************************************************/
|
1083 |
+
/*! no static exports found */
|
1084 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1085 |
+
|
1086 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
1087 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
1088 |
+
var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js");
|
1089 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
1090 |
+
|
1091 |
+
module.exports = function (that, callbackfn, aLen, memo, isRight) {
|
1092 |
+
aFunction(callbackfn);
|
1093 |
+
var O = toObject(that);
|
1094 |
+
var self = IObject(O);
|
1095 |
+
var length = toLength(O.length);
|
1096 |
+
var index = isRight ? length - 1 : 0;
|
1097 |
+
var i = isRight ? -1 : 1;
|
1098 |
+
if (aLen < 2) for (;;) {
|
1099 |
+
if (index in self) {
|
1100 |
+
memo = self[index];
|
1101 |
+
index += i;
|
1102 |
+
break;
|
1103 |
+
}
|
1104 |
+
index += i;
|
1105 |
+
if (isRight ? index < 0 : length <= index) {
|
1106 |
+
throw TypeError('Reduce of empty array with no initial value');
|
1107 |
+
}
|
1108 |
+
}
|
1109 |
+
for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {
|
1110 |
+
memo = callbackfn(memo, self[index], index, O);
|
1111 |
+
}
|
1112 |
+
return memo;
|
1113 |
+
};
|
1114 |
+
|
1115 |
+
|
1116 |
+
/***/ }),
|
1117 |
+
|
1118 |
+
/***/ "./node_modules/core-js/modules/_array-species-constructor.js":
|
1119 |
+
/*!********************************************************************!*\
|
1120 |
+
!*** ./node_modules/core-js/modules/_array-species-constructor.js ***!
|
1121 |
+
\********************************************************************/
|
1122 |
+
/*! no static exports found */
|
1123 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1124 |
+
|
1125 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
1126 |
+
var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js");
|
1127 |
+
var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species');
|
1128 |
+
|
1129 |
+
module.exports = function (original) {
|
1130 |
+
var C;
|
1131 |
+
if (isArray(original)) {
|
1132 |
+
C = original.constructor;
|
1133 |
+
// cross-realm fallback
|
1134 |
+
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
1135 |
+
if (isObject(C)) {
|
1136 |
+
C = C[SPECIES];
|
1137 |
+
if (C === null) C = undefined;
|
1138 |
+
}
|
1139 |
+
} return C === undefined ? Array : C;
|
1140 |
+
};
|
1141 |
+
|
1142 |
+
|
1143 |
+
/***/ }),
|
1144 |
+
|
1145 |
+
/***/ "./node_modules/core-js/modules/_array-species-create.js":
|
1146 |
+
/*!***************************************************************!*\
|
1147 |
+
!*** ./node_modules/core-js/modules/_array-species-create.js ***!
|
1148 |
+
\***************************************************************/
|
1149 |
+
/*! no static exports found */
|
1150 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1151 |
+
|
1152 |
+
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
|
1153 |
+
var speciesConstructor = __webpack_require__(/*! ./_array-species-constructor */ "./node_modules/core-js/modules/_array-species-constructor.js");
|
1154 |
+
|
1155 |
+
module.exports = function (original, length) {
|
1156 |
+
return new (speciesConstructor(original))(length);
|
1157 |
+
};
|
1158 |
+
|
1159 |
+
|
1160 |
+
/***/ }),
|
1161 |
+
|
1162 |
+
/***/ "./node_modules/core-js/modules/_bind.js":
|
1163 |
+
/*!***********************************************!*\
|
1164 |
+
!*** ./node_modules/core-js/modules/_bind.js ***!
|
1165 |
+
\***********************************************/
|
1166 |
+
/*! no static exports found */
|
1167 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1168 |
+
|
1169 |
+
"use strict";
|
1170 |
+
|
1171 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
1172 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
1173 |
+
var invoke = __webpack_require__(/*! ./_invoke */ "./node_modules/core-js/modules/_invoke.js");
|
1174 |
+
var arraySlice = [].slice;
|
1175 |
+
var factories = {};
|
1176 |
+
|
1177 |
+
var construct = function (F, len, args) {
|
1178 |
+
if (!(len in factories)) {
|
1179 |
+
for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';
|
1180 |
+
// eslint-disable-next-line no-new-func
|
1181 |
+
factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
|
1182 |
+
} return factories[len](F, args);
|
1183 |
+
};
|
1184 |
+
|
1185 |
+
module.exports = Function.bind || function bind(that /* , ...args */) {
|
1186 |
+
var fn = aFunction(this);
|
1187 |
+
var partArgs = arraySlice.call(arguments, 1);
|
1188 |
+
var bound = function (/* args... */) {
|
1189 |
+
var args = partArgs.concat(arraySlice.call(arguments));
|
1190 |
+
return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
|
1191 |
+
};
|
1192 |
+
if (isObject(fn.prototype)) bound.prototype = fn.prototype;
|
1193 |
+
return bound;
|
1194 |
+
};
|
1195 |
+
|
1196 |
+
|
1197 |
+
/***/ }),
|
1198 |
+
|
1199 |
+
/***/ "./node_modules/core-js/modules/_classof.js":
|
1200 |
+
/*!**************************************************!*\
|
1201 |
+
!*** ./node_modules/core-js/modules/_classof.js ***!
|
1202 |
+
\**************************************************/
|
1203 |
+
/*! no static exports found */
|
1204 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1205 |
+
|
1206 |
+
// getting tag from 19.1.3.6 Object.prototype.toString()
|
1207 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
1208 |
+
var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag');
|
1209 |
+
// ES3 wrong here
|
1210 |
+
var ARG = cof(function () { return arguments; }()) == 'Arguments';
|
1211 |
+
|
1212 |
+
// fallback for IE11 Script Access Denied error
|
1213 |
+
var tryGet = function (it, key) {
|
1214 |
+
try {
|
1215 |
+
return it[key];
|
1216 |
+
} catch (e) { /* empty */ }
|
1217 |
+
};
|
1218 |
+
|
1219 |
+
module.exports = function (it) {
|
1220 |
+
var O, T, B;
|
1221 |
+
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
1222 |
+
// @@toStringTag case
|
1223 |
+
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
1224 |
+
// builtinTag case
|
1225 |
+
: ARG ? cof(O)
|
1226 |
+
// ES3 arguments fallback
|
1227 |
+
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
1228 |
+
};
|
1229 |
+
|
1230 |
+
|
1231 |
+
/***/ }),
|
1232 |
+
|
1233 |
+
/***/ "./node_modules/core-js/modules/_cof.js":
|
1234 |
+
/*!**********************************************!*\
|
1235 |
+
!*** ./node_modules/core-js/modules/_cof.js ***!
|
1236 |
+
\**********************************************/
|
1237 |
+
/*! no static exports found */
|
1238 |
+
/***/ (function(module, exports) {
|
1239 |
+
|
1240 |
+
var toString = {}.toString;
|
1241 |
+
|
1242 |
+
module.exports = function (it) {
|
1243 |
+
return toString.call(it).slice(8, -1);
|
1244 |
+
};
|
1245 |
+
|
1246 |
+
|
1247 |
+
/***/ }),
|
1248 |
+
|
1249 |
+
/***/ "./node_modules/core-js/modules/_collection-strong.js":
|
1250 |
+
/*!************************************************************!*\
|
1251 |
+
!*** ./node_modules/core-js/modules/_collection-strong.js ***!
|
1252 |
+
\************************************************************/
|
1253 |
+
/*! no static exports found */
|
1254 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1255 |
+
|
1256 |
+
"use strict";
|
1257 |
+
|
1258 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
1259 |
+
var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js");
|
1260 |
+
var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js");
|
1261 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
1262 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
1263 |
+
var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js");
|
1264 |
+
var $iterDefine = __webpack_require__(/*! ./_iter-define */ "./node_modules/core-js/modules/_iter-define.js");
|
1265 |
+
var step = __webpack_require__(/*! ./_iter-step */ "./node_modules/core-js/modules/_iter-step.js");
|
1266 |
+
var setSpecies = __webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js");
|
1267 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
1268 |
+
var fastKey = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").fastKey;
|
1269 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
1270 |
+
var SIZE = DESCRIPTORS ? '_s' : 'size';
|
1271 |
+
|
1272 |
+
var getEntry = function (that, key) {
|
1273 |
+
// fast case
|
1274 |
+
var index = fastKey(key);
|
1275 |
+
var entry;
|
1276 |
+
if (index !== 'F') return that._i[index];
|
1277 |
+
// frozen object case
|
1278 |
+
for (entry = that._f; entry; entry = entry.n) {
|
1279 |
+
if (entry.k == key) return entry;
|
1280 |
+
}
|
1281 |
+
};
|
1282 |
+
|
1283 |
+
module.exports = {
|
1284 |
+
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
1285 |
+
var C = wrapper(function (that, iterable) {
|
1286 |
+
anInstance(that, C, NAME, '_i');
|
1287 |
+
that._t = NAME; // collection type
|
1288 |
+
that._i = create(null); // index
|
1289 |
+
that._f = undefined; // first entry
|
1290 |
+
that._l = undefined; // last entry
|
1291 |
+
that[SIZE] = 0; // size
|
1292 |
+
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
1293 |
+
});
|
1294 |
+
redefineAll(C.prototype, {
|
1295 |
+
// 23.1.3.1 Map.prototype.clear()
|
1296 |
+
// 23.2.3.2 Set.prototype.clear()
|
1297 |
+
clear: function clear() {
|
1298 |
+
for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
|
1299 |
+
entry.r = true;
|
1300 |
+
if (entry.p) entry.p = entry.p.n = undefined;
|
1301 |
+
delete data[entry.i];
|
1302 |
+
}
|
1303 |
+
that._f = that._l = undefined;
|
1304 |
+
that[SIZE] = 0;
|
1305 |
+
},
|
1306 |
+
// 23.1.3.3 Map.prototype.delete(key)
|
1307 |
+
// 23.2.3.4 Set.prototype.delete(value)
|
1308 |
+
'delete': function (key) {
|
1309 |
+
var that = validate(this, NAME);
|
1310 |
+
var entry = getEntry(that, key);
|
1311 |
+
if (entry) {
|
1312 |
+
var next = entry.n;
|
1313 |
+
var prev = entry.p;
|
1314 |
+
delete that._i[entry.i];
|
1315 |
+
entry.r = true;
|
1316 |
+
if (prev) prev.n = next;
|
1317 |
+
if (next) next.p = prev;
|
1318 |
+
if (that._f == entry) that._f = next;
|
1319 |
+
if (that._l == entry) that._l = prev;
|
1320 |
+
that[SIZE]--;
|
1321 |
+
} return !!entry;
|
1322 |
+
},
|
1323 |
+
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
|
1324 |
+
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
|
1325 |
+
forEach: function forEach(callbackfn /* , that = undefined */) {
|
1326 |
+
validate(this, NAME);
|
1327 |
+
var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
1328 |
+
var entry;
|
1329 |
+
while (entry = entry ? entry.n : this._f) {
|
1330 |
+
f(entry.v, entry.k, this);
|
1331 |
+
// revert to the last existing entry
|
1332 |
+
while (entry && entry.r) entry = entry.p;
|
1333 |
+
}
|
1334 |
+
},
|
1335 |
+
// 23.1.3.7 Map.prototype.has(key)
|
1336 |
+
// 23.2.3.7 Set.prototype.has(value)
|
1337 |
+
has: function has(key) {
|
1338 |
+
return !!getEntry(validate(this, NAME), key);
|
1339 |
+
}
|
1340 |
+
});
|
1341 |
+
if (DESCRIPTORS) dP(C.prototype, 'size', {
|
1342 |
+
get: function () {
|
1343 |
+
return validate(this, NAME)[SIZE];
|
1344 |
+
}
|
1345 |
+
});
|
1346 |
+
return C;
|
1347 |
+
},
|
1348 |
+
def: function (that, key, value) {
|
1349 |
+
var entry = getEntry(that, key);
|
1350 |
+
var prev, index;
|
1351 |
+
// change existing entry
|
1352 |
+
if (entry) {
|
1353 |
+
entry.v = value;
|
1354 |
+
// create new entry
|
1355 |
+
} else {
|
1356 |
+
that._l = entry = {
|
1357 |
+
i: index = fastKey(key, true), // <- index
|
1358 |
+
k: key, // <- key
|
1359 |
+
v: value, // <- value
|
1360 |
+
p: prev = that._l, // <- previous entry
|
1361 |
+
n: undefined, // <- next entry
|
1362 |
+
r: false // <- removed
|
1363 |
+
};
|
1364 |
+
if (!that._f) that._f = entry;
|
1365 |
+
if (prev) prev.n = entry;
|
1366 |
+
that[SIZE]++;
|
1367 |
+
// add to index
|
1368 |
+
if (index !== 'F') that._i[index] = entry;
|
1369 |
+
} return that;
|
1370 |
+
},
|
1371 |
+
getEntry: getEntry,
|
1372 |
+
setStrong: function (C, NAME, IS_MAP) {
|
1373 |
+
// add .keys, .values, .entries, [@@iterator]
|
1374 |
+
// 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
|
1375 |
+
$iterDefine(C, NAME, function (iterated, kind) {
|
1376 |
+
this._t = validate(iterated, NAME); // target
|
1377 |
+
this._k = kind; // kind
|
1378 |
+
this._l = undefined; // previous
|
1379 |
+
}, function () {
|
1380 |
+
var that = this;
|
1381 |
+
var kind = that._k;
|
1382 |
+
var entry = that._l;
|
1383 |
+
// revert to the last existing entry
|
1384 |
+
while (entry && entry.r) entry = entry.p;
|
1385 |
+
// get next entry
|
1386 |
+
if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
|
1387 |
+
// or finish the iteration
|
1388 |
+
that._t = undefined;
|
1389 |
+
return step(1);
|
1390 |
+
}
|
1391 |
+
// return step by kind
|
1392 |
+
if (kind == 'keys') return step(0, entry.k);
|
1393 |
+
if (kind == 'values') return step(0, entry.v);
|
1394 |
+
return step(0, [entry.k, entry.v]);
|
1395 |
+
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
|
1396 |
+
|
1397 |
+
// add [@@species], 23.1.2.2, 23.2.2.2
|
1398 |
+
setSpecies(NAME);
|
1399 |
+
}
|
1400 |
+
};
|
1401 |
+
|
1402 |
+
|
1403 |
+
/***/ }),
|
1404 |
+
|
1405 |
+
/***/ "./node_modules/core-js/modules/_collection-weak.js":
|
1406 |
+
/*!**********************************************************!*\
|
1407 |
+
!*** ./node_modules/core-js/modules/_collection-weak.js ***!
|
1408 |
+
\**********************************************************/
|
1409 |
+
/*! no static exports found */
|
1410 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1411 |
+
|
1412 |
+
"use strict";
|
1413 |
+
|
1414 |
+
var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js");
|
1415 |
+
var getWeak = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").getWeak;
|
1416 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
1417 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
1418 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
1419 |
+
var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js");
|
1420 |
+
var createArrayMethod = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js");
|
1421 |
+
var $has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
1422 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
1423 |
+
var arrayFind = createArrayMethod(5);
|
1424 |
+
var arrayFindIndex = createArrayMethod(6);
|
1425 |
+
var id = 0;
|
1426 |
+
|
1427 |
+
// fallback for uncaught frozen keys
|
1428 |
+
var uncaughtFrozenStore = function (that) {
|
1429 |
+
return that._l || (that._l = new UncaughtFrozenStore());
|
1430 |
+
};
|
1431 |
+
var UncaughtFrozenStore = function () {
|
1432 |
+
this.a = [];
|
1433 |
+
};
|
1434 |
+
var findUncaughtFrozen = function (store, key) {
|
1435 |
+
return arrayFind(store.a, function (it) {
|
1436 |
+
return it[0] === key;
|
1437 |
+
});
|
1438 |
+
};
|
1439 |
+
UncaughtFrozenStore.prototype = {
|
1440 |
+
get: function (key) {
|
1441 |
+
var entry = findUncaughtFrozen(this, key);
|
1442 |
+
if (entry) return entry[1];
|
1443 |
+
},
|
1444 |
+
has: function (key) {
|
1445 |
+
return !!findUncaughtFrozen(this, key);
|
1446 |
+
},
|
1447 |
+
set: function (key, value) {
|
1448 |
+
var entry = findUncaughtFrozen(this, key);
|
1449 |
+
if (entry) entry[1] = value;
|
1450 |
+
else this.a.push([key, value]);
|
1451 |
+
},
|
1452 |
+
'delete': function (key) {
|
1453 |
+
var index = arrayFindIndex(this.a, function (it) {
|
1454 |
+
return it[0] === key;
|
1455 |
+
});
|
1456 |
+
if (~index) this.a.splice(index, 1);
|
1457 |
+
return !!~index;
|
1458 |
+
}
|
1459 |
+
};
|
1460 |
+
|
1461 |
+
module.exports = {
|
1462 |
+
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
1463 |
+
var C = wrapper(function (that, iterable) {
|
1464 |
+
anInstance(that, C, NAME, '_i');
|
1465 |
+
that._t = NAME; // collection type
|
1466 |
+
that._i = id++; // collection id
|
1467 |
+
that._l = undefined; // leak store for uncaught frozen objects
|
1468 |
+
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
1469 |
+
});
|
1470 |
+
redefineAll(C.prototype, {
|
1471 |
+
// 23.3.3.2 WeakMap.prototype.delete(key)
|
1472 |
+
// 23.4.3.3 WeakSet.prototype.delete(value)
|
1473 |
+
'delete': function (key) {
|
1474 |
+
if (!isObject(key)) return false;
|
1475 |
+
var data = getWeak(key);
|
1476 |
+
if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);
|
1477 |
+
return data && $has(data, this._i) && delete data[this._i];
|
1478 |
+
},
|
1479 |
+
// 23.3.3.4 WeakMap.prototype.has(key)
|
1480 |
+
// 23.4.3.4 WeakSet.prototype.has(value)
|
1481 |
+
has: function has(key) {
|
1482 |
+
if (!isObject(key)) return false;
|
1483 |
+
var data = getWeak(key);
|
1484 |
+
if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);
|
1485 |
+
return data && $has(data, this._i);
|
1486 |
+
}
|
1487 |
+
});
|
1488 |
+
return C;
|
1489 |
+
},
|
1490 |
+
def: function (that, key, value) {
|
1491 |
+
var data = getWeak(anObject(key), true);
|
1492 |
+
if (data === true) uncaughtFrozenStore(that).set(key, value);
|
1493 |
+
else data[that._i] = value;
|
1494 |
+
return that;
|
1495 |
+
},
|
1496 |
+
ufstore: uncaughtFrozenStore
|
1497 |
+
};
|
1498 |
+
|
1499 |
+
|
1500 |
+
/***/ }),
|
1501 |
+
|
1502 |
+
/***/ "./node_modules/core-js/modules/_collection.js":
|
1503 |
+
/*!*****************************************************!*\
|
1504 |
+
!*** ./node_modules/core-js/modules/_collection.js ***!
|
1505 |
+
\*****************************************************/
|
1506 |
+
/*! no static exports found */
|
1507 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1508 |
+
|
1509 |
+
"use strict";
|
1510 |
+
|
1511 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
1512 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
1513 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
1514 |
+
var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js");
|
1515 |
+
var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js");
|
1516 |
+
var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js");
|
1517 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
1518 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
1519 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
1520 |
+
var $iterDetect = __webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js");
|
1521 |
+
var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js");
|
1522 |
+
var inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ "./node_modules/core-js/modules/_inherit-if-required.js");
|
1523 |
+
|
1524 |
+
module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
|
1525 |
+
var Base = global[NAME];
|
1526 |
+
var C = Base;
|
1527 |
+
var ADDER = IS_MAP ? 'set' : 'add';
|
1528 |
+
var proto = C && C.prototype;
|
1529 |
+
var O = {};
|
1530 |
+
var fixMethod = function (KEY) {
|
1531 |
+
var fn = proto[KEY];
|
1532 |
+
redefine(proto, KEY,
|
1533 |
+
KEY == 'delete' ? function (a) {
|
1534 |
+
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
|
1535 |
+
} : KEY == 'has' ? function has(a) {
|
1536 |
+
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
|
1537 |
+
} : KEY == 'get' ? function get(a) {
|
1538 |
+
return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
|
1539 |
+
} : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }
|
1540 |
+
: function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }
|
1541 |
+
);
|
1542 |
+
};
|
1543 |
+
if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
|
1544 |
+
new C().entries().next();
|
1545 |
+
}))) {
|
1546 |
+
// create collection constructor
|
1547 |
+
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
|
1548 |
+
redefineAll(C.prototype, methods);
|
1549 |
+
meta.NEED = true;
|
1550 |
+
} else {
|
1551 |
+
var instance = new C();
|
1552 |
+
// early implementations not supports chaining
|
1553 |
+
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
|
1554 |
+
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
|
1555 |
+
var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
|
1556 |
+
// most early implementations doesn't supports iterables, most modern - not close it correctly
|
1557 |
+
var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new
|
1558 |
+
// for early implementations -0 and +0 not the same
|
1559 |
+
var BUGGY_ZERO = !IS_WEAK && fails(function () {
|
1560 |
+
// V8 ~ Chromium 42- fails only with 5+ elements
|
1561 |
+
var $instance = new C();
|
1562 |
+
var index = 5;
|
1563 |
+
while (index--) $instance[ADDER](index, index);
|
1564 |
+
return !$instance.has(-0);
|
1565 |
+
});
|
1566 |
+
if (!ACCEPT_ITERABLES) {
|
1567 |
+
C = wrapper(function (target, iterable) {
|
1568 |
+
anInstance(target, C, NAME);
|
1569 |
+
var that = inheritIfRequired(new Base(), target, C);
|
1570 |
+
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
1571 |
+
return that;
|
1572 |
+
});
|
1573 |
+
C.prototype = proto;
|
1574 |
+
proto.constructor = C;
|
1575 |
+
}
|
1576 |
+
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
|
1577 |
+
fixMethod('delete');
|
1578 |
+
fixMethod('has');
|
1579 |
+
IS_MAP && fixMethod('get');
|
1580 |
+
}
|
1581 |
+
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
|
1582 |
+
// weak collections should not contains .clear method
|
1583 |
+
if (IS_WEAK && proto.clear) delete proto.clear;
|
1584 |
+
}
|
1585 |
+
|
1586 |
+
setToStringTag(C, NAME);
|
1587 |
+
|
1588 |
+
O[NAME] = C;
|
1589 |
+
$export($export.G + $export.W + $export.F * (C != Base), O);
|
1590 |
+
|
1591 |
+
if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
|
1592 |
+
|
1593 |
+
return C;
|
1594 |
+
};
|
1595 |
+
|
1596 |
+
|
1597 |
+
/***/ }),
|
1598 |
+
|
1599 |
+
/***/ "./node_modules/core-js/modules/_core.js":
|
1600 |
+
/*!***********************************************!*\
|
1601 |
+
!*** ./node_modules/core-js/modules/_core.js ***!
|
1602 |
+
\***********************************************/
|
1603 |
+
/*! no static exports found */
|
1604 |
+
/***/ (function(module, exports) {
|
1605 |
+
|
1606 |
+
var core = module.exports = { version: '2.6.12' };
|
1607 |
+
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
1608 |
+
|
1609 |
+
|
1610 |
+
/***/ }),
|
1611 |
+
|
1612 |
+
/***/ "./node_modules/core-js/modules/_create-property.js":
|
1613 |
+
/*!**********************************************************!*\
|
1614 |
+
!*** ./node_modules/core-js/modules/_create-property.js ***!
|
1615 |
+
\**********************************************************/
|
1616 |
+
/*! no static exports found */
|
1617 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1618 |
+
|
1619 |
+
"use strict";
|
1620 |
+
|
1621 |
+
var $defineProperty = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
1622 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
1623 |
+
|
1624 |
+
module.exports = function (object, index, value) {
|
1625 |
+
if (index in object) $defineProperty.f(object, index, createDesc(0, value));
|
1626 |
+
else object[index] = value;
|
1627 |
+
};
|
1628 |
+
|
1629 |
+
|
1630 |
+
/***/ }),
|
1631 |
+
|
1632 |
+
/***/ "./node_modules/core-js/modules/_ctx.js":
|
1633 |
+
/*!**********************************************!*\
|
1634 |
+
!*** ./node_modules/core-js/modules/_ctx.js ***!
|
1635 |
+
\**********************************************/
|
1636 |
+
/*! no static exports found */
|
1637 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1638 |
+
|
1639 |
+
// optional / simple context binding
|
1640 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
1641 |
+
module.exports = function (fn, that, length) {
|
1642 |
+
aFunction(fn);
|
1643 |
+
if (that === undefined) return fn;
|
1644 |
+
switch (length) {
|
1645 |
+
case 1: return function (a) {
|
1646 |
+
return fn.call(that, a);
|
1647 |
+
};
|
1648 |
+
case 2: return function (a, b) {
|
1649 |
+
return fn.call(that, a, b);
|
1650 |
+
};
|
1651 |
+
case 3: return function (a, b, c) {
|
1652 |
+
return fn.call(that, a, b, c);
|
1653 |
+
};
|
1654 |
+
}
|
1655 |
+
return function (/* ...args */) {
|
1656 |
+
return fn.apply(that, arguments);
|
1657 |
+
};
|
1658 |
+
};
|
1659 |
+
|
1660 |
+
|
1661 |
+
/***/ }),
|
1662 |
+
|
1663 |
+
/***/ "./node_modules/core-js/modules/_date-to-iso-string.js":
|
1664 |
+
/*!*************************************************************!*\
|
1665 |
+
!*** ./node_modules/core-js/modules/_date-to-iso-string.js ***!
|
1666 |
+
\*************************************************************/
|
1667 |
+
/*! no static exports found */
|
1668 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1669 |
+
|
1670 |
+
"use strict";
|
1671 |
+
|
1672 |
+
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
|
1673 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
1674 |
+
var getTime = Date.prototype.getTime;
|
1675 |
+
var $toISOString = Date.prototype.toISOString;
|
1676 |
+
|
1677 |
+
var lz = function (num) {
|
1678 |
+
return num > 9 ? num : '0' + num;
|
1679 |
+
};
|
1680 |
+
|
1681 |
+
// PhantomJS / old WebKit has a broken implementations
|
1682 |
+
module.exports = (fails(function () {
|
1683 |
+
return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
|
1684 |
+
}) || !fails(function () {
|
1685 |
+
$toISOString.call(new Date(NaN));
|
1686 |
+
})) ? function toISOString() {
|
1687 |
+
if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
|
1688 |
+
var d = this;
|
1689 |
+
var y = d.getUTCFullYear();
|
1690 |
+
var m = d.getUTCMilliseconds();
|
1691 |
+
var s = y < 0 ? '-' : y > 9999 ? '+' : '';
|
1692 |
+
return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
|
1693 |
+
'-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
|
1694 |
+
'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
|
1695 |
+
':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
|
1696 |
+
} : $toISOString;
|
1697 |
+
|
1698 |
+
|
1699 |
+
/***/ }),
|
1700 |
+
|
1701 |
+
/***/ "./node_modules/core-js/modules/_date-to-primitive.js":
|
1702 |
+
/*!************************************************************!*\
|
1703 |
+
!*** ./node_modules/core-js/modules/_date-to-primitive.js ***!
|
1704 |
+
\************************************************************/
|
1705 |
+
/*! no static exports found */
|
1706 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1707 |
+
|
1708 |
+
"use strict";
|
1709 |
+
|
1710 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
1711 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
1712 |
+
var NUMBER = 'number';
|
1713 |
+
|
1714 |
+
module.exports = function (hint) {
|
1715 |
+
if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');
|
1716 |
+
return toPrimitive(anObject(this), hint != NUMBER);
|
1717 |
+
};
|
1718 |
+
|
1719 |
+
|
1720 |
+
/***/ }),
|
1721 |
+
|
1722 |
+
/***/ "./node_modules/core-js/modules/_defined.js":
|
1723 |
+
/*!**************************************************!*\
|
1724 |
+
!*** ./node_modules/core-js/modules/_defined.js ***!
|
1725 |
+
\**************************************************/
|
1726 |
+
/*! no static exports found */
|
1727 |
+
/***/ (function(module, exports) {
|
1728 |
+
|
1729 |
+
// 7.2.1 RequireObjectCoercible(argument)
|
1730 |
+
module.exports = function (it) {
|
1731 |
+
if (it == undefined) throw TypeError("Can't call method on " + it);
|
1732 |
+
return it;
|
1733 |
+
};
|
1734 |
+
|
1735 |
+
|
1736 |
+
/***/ }),
|
1737 |
+
|
1738 |
+
/***/ "./node_modules/core-js/modules/_descriptors.js":
|
1739 |
+
/*!******************************************************!*\
|
1740 |
+
!*** ./node_modules/core-js/modules/_descriptors.js ***!
|
1741 |
+
\******************************************************/
|
1742 |
+
/*! no static exports found */
|
1743 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1744 |
+
|
1745 |
+
// Thank's IE8 for his funny defineProperty
|
1746 |
+
module.exports = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
1747 |
+
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
1748 |
+
});
|
1749 |
+
|
1750 |
+
|
1751 |
+
/***/ }),
|
1752 |
+
|
1753 |
+
/***/ "./node_modules/core-js/modules/_dom-create.js":
|
1754 |
+
/*!*****************************************************!*\
|
1755 |
+
!*** ./node_modules/core-js/modules/_dom-create.js ***!
|
1756 |
+
\*****************************************************/
|
1757 |
+
/*! no static exports found */
|
1758 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1759 |
+
|
1760 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
1761 |
+
var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document;
|
1762 |
+
// typeof document.createElement is 'object' in old IE
|
1763 |
+
var is = isObject(document) && isObject(document.createElement);
|
1764 |
+
module.exports = function (it) {
|
1765 |
+
return is ? document.createElement(it) : {};
|
1766 |
+
};
|
1767 |
+
|
1768 |
+
|
1769 |
+
/***/ }),
|
1770 |
+
|
1771 |
+
/***/ "./node_modules/core-js/modules/_enum-bug-keys.js":
|
1772 |
+
/*!********************************************************!*\
|
1773 |
+
!*** ./node_modules/core-js/modules/_enum-bug-keys.js ***!
|
1774 |
+
\********************************************************/
|
1775 |
+
/*! no static exports found */
|
1776 |
+
/***/ (function(module, exports) {
|
1777 |
+
|
1778 |
+
// IE 8- don't enum bug keys
|
1779 |
+
module.exports = (
|
1780 |
+
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
|
1781 |
+
).split(',');
|
1782 |
+
|
1783 |
+
|
1784 |
+
/***/ }),
|
1785 |
+
|
1786 |
+
/***/ "./node_modules/core-js/modules/_enum-keys.js":
|
1787 |
+
/*!****************************************************!*\
|
1788 |
+
!*** ./node_modules/core-js/modules/_enum-keys.js ***!
|
1789 |
+
\****************************************************/
|
1790 |
+
/*! no static exports found */
|
1791 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1792 |
+
|
1793 |
+
// all enumerable object keys, includes symbols
|
1794 |
+
var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
1795 |
+
var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js");
|
1796 |
+
var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js");
|
1797 |
+
module.exports = function (it) {
|
1798 |
+
var result = getKeys(it);
|
1799 |
+
var getSymbols = gOPS.f;
|
1800 |
+
if (getSymbols) {
|
1801 |
+
var symbols = getSymbols(it);
|
1802 |
+
var isEnum = pIE.f;
|
1803 |
+
var i = 0;
|
1804 |
+
var key;
|
1805 |
+
while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
|
1806 |
+
} return result;
|
1807 |
+
};
|
1808 |
+
|
1809 |
+
|
1810 |
+
/***/ }),
|
1811 |
+
|
1812 |
+
/***/ "./node_modules/core-js/modules/_export.js":
|
1813 |
+
/*!*************************************************!*\
|
1814 |
+
!*** ./node_modules/core-js/modules/_export.js ***!
|
1815 |
+
\*************************************************/
|
1816 |
+
/*! no static exports found */
|
1817 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1818 |
+
|
1819 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
1820 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js");
|
1821 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
1822 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
1823 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
1824 |
+
var PROTOTYPE = 'prototype';
|
1825 |
+
|
1826 |
+
var $export = function (type, name, source) {
|
1827 |
+
var IS_FORCED = type & $export.F;
|
1828 |
+
var IS_GLOBAL = type & $export.G;
|
1829 |
+
var IS_STATIC = type & $export.S;
|
1830 |
+
var IS_PROTO = type & $export.P;
|
1831 |
+
var IS_BIND = type & $export.B;
|
1832 |
+
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
|
1833 |
+
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
1834 |
+
var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
|
1835 |
+
var key, own, out, exp;
|
1836 |
+
if (IS_GLOBAL) source = name;
|
1837 |
+
for (key in source) {
|
1838 |
+
// contains in native
|
1839 |
+
own = !IS_FORCED && target && target[key] !== undefined;
|
1840 |
+
// export native or passed
|
1841 |
+
out = (own ? target : source)[key];
|
1842 |
+
// bind timers to global for call from export context
|
1843 |
+
exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
1844 |
+
// extend global
|
1845 |
+
if (target) redefine(target, key, out, type & $export.U);
|
1846 |
+
// export
|
1847 |
+
if (exports[key] != out) hide(exports, key, exp);
|
1848 |
+
if (IS_PROTO && expProto[key] != out) expProto[key] = out;
|
1849 |
+
}
|
1850 |
+
};
|
1851 |
+
global.core = core;
|
1852 |
+
// type bitmap
|
1853 |
+
$export.F = 1; // forced
|
1854 |
+
$export.G = 2; // global
|
1855 |
+
$export.S = 4; // static
|
1856 |
+
$export.P = 8; // proto
|
1857 |
+
$export.B = 16; // bind
|
1858 |
+
$export.W = 32; // wrap
|
1859 |
+
$export.U = 64; // safe
|
1860 |
+
$export.R = 128; // real proto method for `library`
|
1861 |
+
module.exports = $export;
|
1862 |
+
|
1863 |
+
|
1864 |
+
/***/ }),
|
1865 |
+
|
1866 |
+
/***/ "./node_modules/core-js/modules/_fails-is-regexp.js":
|
1867 |
+
/*!**********************************************************!*\
|
1868 |
+
!*** ./node_modules/core-js/modules/_fails-is-regexp.js ***!
|
1869 |
+
\**********************************************************/
|
1870 |
+
/*! no static exports found */
|
1871 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1872 |
+
|
1873 |
+
var MATCH = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('match');
|
1874 |
+
module.exports = function (KEY) {
|
1875 |
+
var re = /./;
|
1876 |
+
try {
|
1877 |
+
'/./'[KEY](re);
|
1878 |
+
} catch (e) {
|
1879 |
+
try {
|
1880 |
+
re[MATCH] = false;
|
1881 |
+
return !'/./'[KEY](re);
|
1882 |
+
} catch (f) { /* empty */ }
|
1883 |
+
} return true;
|
1884 |
+
};
|
1885 |
+
|
1886 |
+
|
1887 |
+
/***/ }),
|
1888 |
+
|
1889 |
+
/***/ "./node_modules/core-js/modules/_fails.js":
|
1890 |
+
/*!************************************************!*\
|
1891 |
+
!*** ./node_modules/core-js/modules/_fails.js ***!
|
1892 |
+
\************************************************/
|
1893 |
+
/*! no static exports found */
|
1894 |
+
/***/ (function(module, exports) {
|
1895 |
+
|
1896 |
+
module.exports = function (exec) {
|
1897 |
+
try {
|
1898 |
+
return !!exec();
|
1899 |
+
} catch (e) {
|
1900 |
+
return true;
|
1901 |
+
}
|
1902 |
+
};
|
1903 |
+
|
1904 |
+
|
1905 |
+
/***/ }),
|
1906 |
+
|
1907 |
+
/***/ "./node_modules/core-js/modules/_fix-re-wks.js":
|
1908 |
+
/*!*****************************************************!*\
|
1909 |
+
!*** ./node_modules/core-js/modules/_fix-re-wks.js ***!
|
1910 |
+
\*****************************************************/
|
1911 |
+
/*! no static exports found */
|
1912 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1913 |
+
|
1914 |
+
"use strict";
|
1915 |
+
|
1916 |
+
__webpack_require__(/*! ./es6.regexp.exec */ "./node_modules/core-js/modules/es6.regexp.exec.js");
|
1917 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
1918 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
1919 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
1920 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
1921 |
+
var wks = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js");
|
1922 |
+
var regexpExec = __webpack_require__(/*! ./_regexp-exec */ "./node_modules/core-js/modules/_regexp-exec.js");
|
1923 |
+
|
1924 |
+
var SPECIES = wks('species');
|
1925 |
+
|
1926 |
+
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
|
1927 |
+
// #replace needs built-in support for named groups.
|
1928 |
+
// #match works fine because it just return the exec results, even if it has
|
1929 |
+
// a "grops" property.
|
1930 |
+
var re = /./;
|
1931 |
+
re.exec = function () {
|
1932 |
+
var result = [];
|
1933 |
+
result.groups = { a: '7' };
|
1934 |
+
return result;
|
1935 |
+
};
|
1936 |
+
return ''.replace(re, '$<a>') !== '7';
|
1937 |
+
});
|
1938 |
+
|
1939 |
+
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
|
1940 |
+
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
1941 |
+
var re = /(?:)/;
|
1942 |
+
var originalExec = re.exec;
|
1943 |
+
re.exec = function () { return originalExec.apply(this, arguments); };
|
1944 |
+
var result = 'ab'.split(re);
|
1945 |
+
return result.length === 2 && result[0] === 'a' && result[1] === 'b';
|
1946 |
+
})();
|
1947 |
+
|
1948 |
+
module.exports = function (KEY, length, exec) {
|
1949 |
+
var SYMBOL = wks(KEY);
|
1950 |
+
|
1951 |
+
var DELEGATES_TO_SYMBOL = !fails(function () {
|
1952 |
+
// String methods call symbol-named RegEp methods
|
1953 |
+
var O = {};
|
1954 |
+
O[SYMBOL] = function () { return 7; };
|
1955 |
+
return ''[KEY](O) != 7;
|
1956 |
+
});
|
1957 |
+
|
1958 |
+
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
|
1959 |
+
// Symbol-named RegExp methods call .exec
|
1960 |
+
var execCalled = false;
|
1961 |
+
var re = /a/;
|
1962 |
+
re.exec = function () { execCalled = true; return null; };
|
1963 |
+
if (KEY === 'split') {
|
1964 |
+
// RegExp[@@split] doesn't call the regex's exec method, but first creates
|
1965 |
+
// a new one. We need to return the patched regex when creating the new one.
|
1966 |
+
re.constructor = {};
|
1967 |
+
re.constructor[SPECIES] = function () { return re; };
|
1968 |
+
}
|
1969 |
+
re[SYMBOL]('');
|
1970 |
+
return !execCalled;
|
1971 |
+
}) : undefined;
|
1972 |
+
|
1973 |
+
if (
|
1974 |
+
!DELEGATES_TO_SYMBOL ||
|
1975 |
+
!DELEGATES_TO_EXEC ||
|
1976 |
+
(KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
|
1977 |
+
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
1978 |
+
) {
|
1979 |
+
var nativeRegExpMethod = /./[SYMBOL];
|
1980 |
+
var fns = exec(
|
1981 |
+
defined,
|
1982 |
+
SYMBOL,
|
1983 |
+
''[KEY],
|
1984 |
+
function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
|
1985 |
+
if (regexp.exec === regexpExec) {
|
1986 |
+
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
|
1987 |
+
// The native String method already delegates to @@method (this
|
1988 |
+
// polyfilled function), leasing to infinite recursion.
|
1989 |
+
// We avoid it by directly calling the native @@method method.
|
1990 |
+
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
|
1991 |
+
}
|
1992 |
+
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
1993 |
+
}
|
1994 |
+
return { done: false };
|
1995 |
+
}
|
1996 |
+
);
|
1997 |
+
var strfn = fns[0];
|
1998 |
+
var rxfn = fns[1];
|
1999 |
+
|
2000 |
+
redefine(String.prototype, KEY, strfn);
|
2001 |
+
hide(RegExp.prototype, SYMBOL, length == 2
|
2002 |
+
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
|
2003 |
+
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
|
2004 |
+
? function (string, arg) { return rxfn.call(string, this, arg); }
|
2005 |
+
// 21.2.5.6 RegExp.prototype[@@match](string)
|
2006 |
+
// 21.2.5.9 RegExp.prototype[@@search](string)
|
2007 |
+
: function (string) { return rxfn.call(string, this); }
|
2008 |
+
);
|
2009 |
+
}
|
2010 |
+
};
|
2011 |
+
|
2012 |
+
|
2013 |
+
/***/ }),
|
2014 |
+
|
2015 |
+
/***/ "./node_modules/core-js/modules/_flags.js":
|
2016 |
+
/*!************************************************!*\
|
2017 |
+
!*** ./node_modules/core-js/modules/_flags.js ***!
|
2018 |
+
\************************************************/
|
2019 |
+
/*! no static exports found */
|
2020 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2021 |
+
|
2022 |
+
"use strict";
|
2023 |
+
|
2024 |
+
// 21.2.5.3 get RegExp.prototype.flags
|
2025 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2026 |
+
module.exports = function () {
|
2027 |
+
var that = anObject(this);
|
2028 |
+
var result = '';
|
2029 |
+
if (that.global) result += 'g';
|
2030 |
+
if (that.ignoreCase) result += 'i';
|
2031 |
+
if (that.multiline) result += 'm';
|
2032 |
+
if (that.unicode) result += 'u';
|
2033 |
+
if (that.sticky) result += 'y';
|
2034 |
+
return result;
|
2035 |
+
};
|
2036 |
+
|
2037 |
+
|
2038 |
+
/***/ }),
|
2039 |
+
|
2040 |
+
/***/ "./node_modules/core-js/modules/_flatten-into-array.js":
|
2041 |
+
/*!*************************************************************!*\
|
2042 |
+
!*** ./node_modules/core-js/modules/_flatten-into-array.js ***!
|
2043 |
+
\*************************************************************/
|
2044 |
+
/*! no static exports found */
|
2045 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2046 |
+
|
2047 |
+
"use strict";
|
2048 |
+
|
2049 |
+
// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
|
2050 |
+
var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js");
|
2051 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
2052 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
2053 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
2054 |
+
var IS_CONCAT_SPREADABLE = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('isConcatSpreadable');
|
2055 |
+
|
2056 |
+
function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
|
2057 |
+
var targetIndex = start;
|
2058 |
+
var sourceIndex = 0;
|
2059 |
+
var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;
|
2060 |
+
var element, spreadable;
|
2061 |
+
|
2062 |
+
while (sourceIndex < sourceLen) {
|
2063 |
+
if (sourceIndex in source) {
|
2064 |
+
element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
|
2065 |
+
|
2066 |
+
spreadable = false;
|
2067 |
+
if (isObject(element)) {
|
2068 |
+
spreadable = element[IS_CONCAT_SPREADABLE];
|
2069 |
+
spreadable = spreadable !== undefined ? !!spreadable : isArray(element);
|
2070 |
+
}
|
2071 |
+
|
2072 |
+
if (spreadable && depth > 0) {
|
2073 |
+
targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
|
2074 |
+
} else {
|
2075 |
+
if (targetIndex >= 0x1fffffffffffff) throw TypeError();
|
2076 |
+
target[targetIndex] = element;
|
2077 |
+
}
|
2078 |
+
|
2079 |
+
targetIndex++;
|
2080 |
+
}
|
2081 |
+
sourceIndex++;
|
2082 |
+
}
|
2083 |
+
return targetIndex;
|
2084 |
+
}
|
2085 |
+
|
2086 |
+
module.exports = flattenIntoArray;
|
2087 |
+
|
2088 |
+
|
2089 |
+
/***/ }),
|
2090 |
+
|
2091 |
+
/***/ "./node_modules/core-js/modules/_for-of.js":
|
2092 |
+
/*!*************************************************!*\
|
2093 |
+
!*** ./node_modules/core-js/modules/_for-of.js ***!
|
2094 |
+
\*************************************************/
|
2095 |
+
/*! no static exports found */
|
2096 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2097 |
+
|
2098 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
2099 |
+
var call = __webpack_require__(/*! ./_iter-call */ "./node_modules/core-js/modules/_iter-call.js");
|
2100 |
+
var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "./node_modules/core-js/modules/_is-array-iter.js");
|
2101 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2102 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
2103 |
+
var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "./node_modules/core-js/modules/core.get-iterator-method.js");
|
2104 |
+
var BREAK = {};
|
2105 |
+
var RETURN = {};
|
2106 |
+
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
|
2107 |
+
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
|
2108 |
+
var f = ctx(fn, that, entries ? 2 : 1);
|
2109 |
+
var index = 0;
|
2110 |
+
var length, step, iterator, result;
|
2111 |
+
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
|
2112 |
+
// fast case for arrays with default iterator
|
2113 |
+
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
|
2114 |
+
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
2115 |
+
if (result === BREAK || result === RETURN) return result;
|
2116 |
+
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
|
2117 |
+
result = call(iterator, f, step.value, entries);
|
2118 |
+
if (result === BREAK || result === RETURN) return result;
|
2119 |
+
}
|
2120 |
+
};
|
2121 |
+
exports.BREAK = BREAK;
|
2122 |
+
exports.RETURN = RETURN;
|
2123 |
+
|
2124 |
+
|
2125 |
+
/***/ }),
|
2126 |
+
|
2127 |
+
/***/ "./node_modules/core-js/modules/_function-to-string.js":
|
2128 |
+
/*!*************************************************************!*\
|
2129 |
+
!*** ./node_modules/core-js/modules/_function-to-string.js ***!
|
2130 |
+
\*************************************************************/
|
2131 |
+
/*! no static exports found */
|
2132 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2133 |
+
|
2134 |
+
module.exports = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('native-function-to-string', Function.toString);
|
2135 |
+
|
2136 |
+
|
2137 |
+
/***/ }),
|
2138 |
+
|
2139 |
+
/***/ "./node_modules/core-js/modules/_global.js":
|
2140 |
+
/*!*************************************************!*\
|
2141 |
+
!*** ./node_modules/core-js/modules/_global.js ***!
|
2142 |
+
\*************************************************/
|
2143 |
+
/*! no static exports found */
|
2144 |
+
/***/ (function(module, exports) {
|
2145 |
+
|
2146 |
+
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
2147 |
+
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
2148 |
+
? window : typeof self != 'undefined' && self.Math == Math ? self
|
2149 |
+
// eslint-disable-next-line no-new-func
|
2150 |
+
: Function('return this')();
|
2151 |
+
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
2152 |
+
|
2153 |
+
|
2154 |
+
/***/ }),
|
2155 |
+
|
2156 |
+
/***/ "./node_modules/core-js/modules/_has.js":
|
2157 |
+
/*!**********************************************!*\
|
2158 |
+
!*** ./node_modules/core-js/modules/_has.js ***!
|
2159 |
+
\**********************************************/
|
2160 |
+
/*! no static exports found */
|
2161 |
+
/***/ (function(module, exports) {
|
2162 |
+
|
2163 |
+
var hasOwnProperty = {}.hasOwnProperty;
|
2164 |
+
module.exports = function (it, key) {
|
2165 |
+
return hasOwnProperty.call(it, key);
|
2166 |
+
};
|
2167 |
+
|
2168 |
+
|
2169 |
+
/***/ }),
|
2170 |
+
|
2171 |
+
/***/ "./node_modules/core-js/modules/_hide.js":
|
2172 |
+
/*!***********************************************!*\
|
2173 |
+
!*** ./node_modules/core-js/modules/_hide.js ***!
|
2174 |
+
\***********************************************/
|
2175 |
+
/*! no static exports found */
|
2176 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2177 |
+
|
2178 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
2179 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
2180 |
+
module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? function (object, key, value) {
|
2181 |
+
return dP.f(object, key, createDesc(1, value));
|
2182 |
+
} : function (object, key, value) {
|
2183 |
+
object[key] = value;
|
2184 |
+
return object;
|
2185 |
+
};
|
2186 |
+
|
2187 |
+
|
2188 |
+
/***/ }),
|
2189 |
+
|
2190 |
+
/***/ "./node_modules/core-js/modules/_html.js":
|
2191 |
+
/*!***********************************************!*\
|
2192 |
+
!*** ./node_modules/core-js/modules/_html.js ***!
|
2193 |
+
\***********************************************/
|
2194 |
+
/*! no static exports found */
|
2195 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2196 |
+
|
2197 |
+
var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document;
|
2198 |
+
module.exports = document && document.documentElement;
|
2199 |
+
|
2200 |
+
|
2201 |
+
/***/ }),
|
2202 |
+
|
2203 |
+
/***/ "./node_modules/core-js/modules/_ie8-dom-define.js":
|
2204 |
+
/*!*********************************************************!*\
|
2205 |
+
!*** ./node_modules/core-js/modules/_ie8-dom-define.js ***!
|
2206 |
+
\*********************************************************/
|
2207 |
+
/*! no static exports found */
|
2208 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2209 |
+
|
2210 |
+
module.exports = !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
2211 |
+
return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7;
|
2212 |
+
});
|
2213 |
+
|
2214 |
+
|
2215 |
+
/***/ }),
|
2216 |
+
|
2217 |
+
/***/ "./node_modules/core-js/modules/_inherit-if-required.js":
|
2218 |
+
/*!**************************************************************!*\
|
2219 |
+
!*** ./node_modules/core-js/modules/_inherit-if-required.js ***!
|
2220 |
+
\**************************************************************/
|
2221 |
+
/*! no static exports found */
|
2222 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2223 |
+
|
2224 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
2225 |
+
var setPrototypeOf = __webpack_require__(/*! ./_set-proto */ "./node_modules/core-js/modules/_set-proto.js").set;
|
2226 |
+
module.exports = function (that, target, C) {
|
2227 |
+
var S = target.constructor;
|
2228 |
+
var P;
|
2229 |
+
if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
|
2230 |
+
setPrototypeOf(that, P);
|
2231 |
+
} return that;
|
2232 |
+
};
|
2233 |
+
|
2234 |
+
|
2235 |
+
/***/ }),
|
2236 |
+
|
2237 |
+
/***/ "./node_modules/core-js/modules/_invoke.js":
|
2238 |
+
/*!*************************************************!*\
|
2239 |
+
!*** ./node_modules/core-js/modules/_invoke.js ***!
|
2240 |
+
\*************************************************/
|
2241 |
+
/*! no static exports found */
|
2242 |
+
/***/ (function(module, exports) {
|
2243 |
+
|
2244 |
+
// fast apply, http://jsperf.lnkit.com/fast-apply/5
|
2245 |
+
module.exports = function (fn, args, that) {
|
2246 |
+
var un = that === undefined;
|
2247 |
+
switch (args.length) {
|
2248 |
+
case 0: return un ? fn()
|
2249 |
+
: fn.call(that);
|
2250 |
+
case 1: return un ? fn(args[0])
|
2251 |
+
: fn.call(that, args[0]);
|
2252 |
+
case 2: return un ? fn(args[0], args[1])
|
2253 |
+
: fn.call(that, args[0], args[1]);
|
2254 |
+
case 3: return un ? fn(args[0], args[1], args[2])
|
2255 |
+
: fn.call(that, args[0], args[1], args[2]);
|
2256 |
+
case 4: return un ? fn(args[0], args[1], args[2], args[3])
|
2257 |
+
: fn.call(that, args[0], args[1], args[2], args[3]);
|
2258 |
+
} return fn.apply(that, args);
|
2259 |
+
};
|
2260 |
+
|
2261 |
+
|
2262 |
+
/***/ }),
|
2263 |
+
|
2264 |
+
/***/ "./node_modules/core-js/modules/_iobject.js":
|
2265 |
+
/*!**************************************************!*\
|
2266 |
+
!*** ./node_modules/core-js/modules/_iobject.js ***!
|
2267 |
+
\**************************************************/
|
2268 |
+
/*! no static exports found */
|
2269 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2270 |
+
|
2271 |
+
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
2272 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
2273 |
+
// eslint-disable-next-line no-prototype-builtins
|
2274 |
+
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
2275 |
+
return cof(it) == 'String' ? it.split('') : Object(it);
|
2276 |
+
};
|
2277 |
+
|
2278 |
+
|
2279 |
+
/***/ }),
|
2280 |
+
|
2281 |
+
/***/ "./node_modules/core-js/modules/_is-array-iter.js":
|
2282 |
+
/*!********************************************************!*\
|
2283 |
+
!*** ./node_modules/core-js/modules/_is-array-iter.js ***!
|
2284 |
+
\********************************************************/
|
2285 |
+
/*! no static exports found */
|
2286 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2287 |
+
|
2288 |
+
// check on default Array iterator
|
2289 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
2290 |
+
var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator');
|
2291 |
+
var ArrayProto = Array.prototype;
|
2292 |
+
|
2293 |
+
module.exports = function (it) {
|
2294 |
+
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
|
2295 |
+
};
|
2296 |
+
|
2297 |
+
|
2298 |
+
/***/ }),
|
2299 |
+
|
2300 |
+
/***/ "./node_modules/core-js/modules/_is-array.js":
|
2301 |
+
/*!***************************************************!*\
|
2302 |
+
!*** ./node_modules/core-js/modules/_is-array.js ***!
|
2303 |
+
\***************************************************/
|
2304 |
+
/*! no static exports found */
|
2305 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2306 |
+
|
2307 |
+
// 7.2.2 IsArray(argument)
|
2308 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
2309 |
+
module.exports = Array.isArray || function isArray(arg) {
|
2310 |
+
return cof(arg) == 'Array';
|
2311 |
+
};
|
2312 |
+
|
2313 |
+
|
2314 |
+
/***/ }),
|
2315 |
+
|
2316 |
+
/***/ "./node_modules/core-js/modules/_is-integer.js":
|
2317 |
+
/*!*****************************************************!*\
|
2318 |
+
!*** ./node_modules/core-js/modules/_is-integer.js ***!
|
2319 |
+
\*****************************************************/
|
2320 |
+
/*! no static exports found */
|
2321 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2322 |
+
|
2323 |
+
// 20.1.2.3 Number.isInteger(number)
|
2324 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
2325 |
+
var floor = Math.floor;
|
2326 |
+
module.exports = function isInteger(it) {
|
2327 |
+
return !isObject(it) && isFinite(it) && floor(it) === it;
|
2328 |
+
};
|
2329 |
+
|
2330 |
+
|
2331 |
+
/***/ }),
|
2332 |
+
|
2333 |
+
/***/ "./node_modules/core-js/modules/_is-object.js":
|
2334 |
+
/*!****************************************************!*\
|
2335 |
+
!*** ./node_modules/core-js/modules/_is-object.js ***!
|
2336 |
+
\****************************************************/
|
2337 |
+
/*! no static exports found */
|
2338 |
+
/***/ (function(module, exports) {
|
2339 |
+
|
2340 |
+
module.exports = function (it) {
|
2341 |
+
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
2342 |
+
};
|
2343 |
+
|
2344 |
+
|
2345 |
+
/***/ }),
|
2346 |
+
|
2347 |
+
/***/ "./node_modules/core-js/modules/_is-regexp.js":
|
2348 |
+
/*!****************************************************!*\
|
2349 |
+
!*** ./node_modules/core-js/modules/_is-regexp.js ***!
|
2350 |
+
\****************************************************/
|
2351 |
+
/*! no static exports found */
|
2352 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2353 |
+
|
2354 |
+
// 7.2.8 IsRegExp(argument)
|
2355 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
2356 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
2357 |
+
var MATCH = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('match');
|
2358 |
+
module.exports = function (it) {
|
2359 |
+
var isRegExp;
|
2360 |
+
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
|
2361 |
+
};
|
2362 |
+
|
2363 |
+
|
2364 |
+
/***/ }),
|
2365 |
+
|
2366 |
+
/***/ "./node_modules/core-js/modules/_iter-call.js":
|
2367 |
+
/*!****************************************************!*\
|
2368 |
+
!*** ./node_modules/core-js/modules/_iter-call.js ***!
|
2369 |
+
\****************************************************/
|
2370 |
+
/*! no static exports found */
|
2371 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2372 |
+
|
2373 |
+
// call something on iterator step with safe closing on error
|
2374 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2375 |
+
module.exports = function (iterator, fn, value, entries) {
|
2376 |
+
try {
|
2377 |
+
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
|
2378 |
+
// 7.4.6 IteratorClose(iterator, completion)
|
2379 |
+
} catch (e) {
|
2380 |
+
var ret = iterator['return'];
|
2381 |
+
if (ret !== undefined) anObject(ret.call(iterator));
|
2382 |
+
throw e;
|
2383 |
+
}
|
2384 |
+
};
|
2385 |
+
|
2386 |
+
|
2387 |
+
/***/ }),
|
2388 |
+
|
2389 |
+
/***/ "./node_modules/core-js/modules/_iter-create.js":
|
2390 |
+
/*!******************************************************!*\
|
2391 |
+
!*** ./node_modules/core-js/modules/_iter-create.js ***!
|
2392 |
+
\******************************************************/
|
2393 |
+
/*! no static exports found */
|
2394 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2395 |
+
|
2396 |
+
"use strict";
|
2397 |
+
|
2398 |
+
var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js");
|
2399 |
+
var descriptor = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
2400 |
+
var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js");
|
2401 |
+
var IteratorPrototype = {};
|
2402 |
+
|
2403 |
+
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
2404 |
+
__webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")(IteratorPrototype, __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'), function () { return this; });
|
2405 |
+
|
2406 |
+
module.exports = function (Constructor, NAME, next) {
|
2407 |
+
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
|
2408 |
+
setToStringTag(Constructor, NAME + ' Iterator');
|
2409 |
+
};
|
2410 |
+
|
2411 |
+
|
2412 |
+
/***/ }),
|
2413 |
+
|
2414 |
+
/***/ "./node_modules/core-js/modules/_iter-define.js":
|
2415 |
+
/*!******************************************************!*\
|
2416 |
+
!*** ./node_modules/core-js/modules/_iter-define.js ***!
|
2417 |
+
\******************************************************/
|
2418 |
+
/*! no static exports found */
|
2419 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2420 |
+
|
2421 |
+
"use strict";
|
2422 |
+
|
2423 |
+
var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js");
|
2424 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
2425 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
2426 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
2427 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
2428 |
+
var $iterCreate = __webpack_require__(/*! ./_iter-create */ "./node_modules/core-js/modules/_iter-create.js");
|
2429 |
+
var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js");
|
2430 |
+
var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
2431 |
+
var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator');
|
2432 |
+
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
|
2433 |
+
var FF_ITERATOR = '@@iterator';
|
2434 |
+
var KEYS = 'keys';
|
2435 |
+
var VALUES = 'values';
|
2436 |
+
|
2437 |
+
var returnThis = function () { return this; };
|
2438 |
+
|
2439 |
+
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
|
2440 |
+
$iterCreate(Constructor, NAME, next);
|
2441 |
+
var getMethod = function (kind) {
|
2442 |
+
if (!BUGGY && kind in proto) return proto[kind];
|
2443 |
+
switch (kind) {
|
2444 |
+
case KEYS: return function keys() { return new Constructor(this, kind); };
|
2445 |
+
case VALUES: return function values() { return new Constructor(this, kind); };
|
2446 |
+
} return function entries() { return new Constructor(this, kind); };
|
2447 |
+
};
|
2448 |
+
var TAG = NAME + ' Iterator';
|
2449 |
+
var DEF_VALUES = DEFAULT == VALUES;
|
2450 |
+
var VALUES_BUG = false;
|
2451 |
+
var proto = Base.prototype;
|
2452 |
+
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
|
2453 |
+
var $default = $native || getMethod(DEFAULT);
|
2454 |
+
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
|
2455 |
+
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
|
2456 |
+
var methods, key, IteratorPrototype;
|
2457 |
+
// Fix native
|
2458 |
+
if ($anyNative) {
|
2459 |
+
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
|
2460 |
+
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
|
2461 |
+
// Set @@toStringTag to native iterators
|
2462 |
+
setToStringTag(IteratorPrototype, TAG, true);
|
2463 |
+
// fix for some old engines
|
2464 |
+
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
|
2465 |
+
}
|
2466 |
+
}
|
2467 |
+
// fix Array#{values, @@iterator}.name in V8 / FF
|
2468 |
+
if (DEF_VALUES && $native && $native.name !== VALUES) {
|
2469 |
+
VALUES_BUG = true;
|
2470 |
+
$default = function values() { return $native.call(this); };
|
2471 |
+
}
|
2472 |
+
// Define iterator
|
2473 |
+
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
|
2474 |
+
hide(proto, ITERATOR, $default);
|
2475 |
+
}
|
2476 |
+
// Plug for library
|
2477 |
+
Iterators[NAME] = $default;
|
2478 |
+
Iterators[TAG] = returnThis;
|
2479 |
+
if (DEFAULT) {
|
2480 |
+
methods = {
|
2481 |
+
values: DEF_VALUES ? $default : getMethod(VALUES),
|
2482 |
+
keys: IS_SET ? $default : getMethod(KEYS),
|
2483 |
+
entries: $entries
|
2484 |
+
};
|
2485 |
+
if (FORCED) for (key in methods) {
|
2486 |
+
if (!(key in proto)) redefine(proto, key, methods[key]);
|
2487 |
+
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
|
2488 |
+
}
|
2489 |
+
return methods;
|
2490 |
+
};
|
2491 |
+
|
2492 |
+
|
2493 |
+
/***/ }),
|
2494 |
+
|
2495 |
+
/***/ "./node_modules/core-js/modules/_iter-detect.js":
|
2496 |
+
/*!******************************************************!*\
|
2497 |
+
!*** ./node_modules/core-js/modules/_iter-detect.js ***!
|
2498 |
+
\******************************************************/
|
2499 |
+
/*! no static exports found */
|
2500 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2501 |
+
|
2502 |
+
var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator');
|
2503 |
+
var SAFE_CLOSING = false;
|
2504 |
+
|
2505 |
+
try {
|
2506 |
+
var riter = [7][ITERATOR]();
|
2507 |
+
riter['return'] = function () { SAFE_CLOSING = true; };
|
2508 |
+
// eslint-disable-next-line no-throw-literal
|
2509 |
+
Array.from(riter, function () { throw 2; });
|
2510 |
+
} catch (e) { /* empty */ }
|
2511 |
+
|
2512 |
+
module.exports = function (exec, skipClosing) {
|
2513 |
+
if (!skipClosing && !SAFE_CLOSING) return false;
|
2514 |
+
var safe = false;
|
2515 |
+
try {
|
2516 |
+
var arr = [7];
|
2517 |
+
var iter = arr[ITERATOR]();
|
2518 |
+
iter.next = function () { return { done: safe = true }; };
|
2519 |
+
arr[ITERATOR] = function () { return iter; };
|
2520 |
+
exec(arr);
|
2521 |
+
} catch (e) { /* empty */ }
|
2522 |
+
return safe;
|
2523 |
+
};
|
2524 |
+
|
2525 |
+
|
2526 |
+
/***/ }),
|
2527 |
+
|
2528 |
+
/***/ "./node_modules/core-js/modules/_iter-step.js":
|
2529 |
+
/*!****************************************************!*\
|
2530 |
+
!*** ./node_modules/core-js/modules/_iter-step.js ***!
|
2531 |
+
\****************************************************/
|
2532 |
+
/*! no static exports found */
|
2533 |
+
/***/ (function(module, exports) {
|
2534 |
+
|
2535 |
+
module.exports = function (done, value) {
|
2536 |
+
return { value: value, done: !!done };
|
2537 |
+
};
|
2538 |
+
|
2539 |
+
|
2540 |
+
/***/ }),
|
2541 |
+
|
2542 |
+
/***/ "./node_modules/core-js/modules/_iterators.js":
|
2543 |
+
/*!****************************************************!*\
|
2544 |
+
!*** ./node_modules/core-js/modules/_iterators.js ***!
|
2545 |
+
\****************************************************/
|
2546 |
+
/*! no static exports found */
|
2547 |
+
/***/ (function(module, exports) {
|
2548 |
+
|
2549 |
+
module.exports = {};
|
2550 |
+
|
2551 |
+
|
2552 |
+
/***/ }),
|
2553 |
+
|
2554 |
+
/***/ "./node_modules/core-js/modules/_library.js":
|
2555 |
+
/*!**************************************************!*\
|
2556 |
+
!*** ./node_modules/core-js/modules/_library.js ***!
|
2557 |
+
\**************************************************/
|
2558 |
+
/*! no static exports found */
|
2559 |
+
/***/ (function(module, exports) {
|
2560 |
+
|
2561 |
+
module.exports = false;
|
2562 |
+
|
2563 |
+
|
2564 |
+
/***/ }),
|
2565 |
+
|
2566 |
+
/***/ "./node_modules/core-js/modules/_math-expm1.js":
|
2567 |
+
/*!*****************************************************!*\
|
2568 |
+
!*** ./node_modules/core-js/modules/_math-expm1.js ***!
|
2569 |
+
\*****************************************************/
|
2570 |
+
/*! no static exports found */
|
2571 |
+
/***/ (function(module, exports) {
|
2572 |
+
|
2573 |
+
// 20.2.2.14 Math.expm1(x)
|
2574 |
+
var $expm1 = Math.expm1;
|
2575 |
+
module.exports = (!$expm1
|
2576 |
+
// Old FF bug
|
2577 |
+
|| $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
|
2578 |
+
// Tor Browser bug
|
2579 |
+
|| $expm1(-2e-17) != -2e-17
|
2580 |
+
) ? function expm1(x) {
|
2581 |
+
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
|
2582 |
+
} : $expm1;
|
2583 |
+
|
2584 |
+
|
2585 |
+
/***/ }),
|
2586 |
+
|
2587 |
+
/***/ "./node_modules/core-js/modules/_math-fround.js":
|
2588 |
+
/*!******************************************************!*\
|
2589 |
+
!*** ./node_modules/core-js/modules/_math-fround.js ***!
|
2590 |
+
\******************************************************/
|
2591 |
+
/*! no static exports found */
|
2592 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2593 |
+
|
2594 |
+
// 20.2.2.16 Math.fround(x)
|
2595 |
+
var sign = __webpack_require__(/*! ./_math-sign */ "./node_modules/core-js/modules/_math-sign.js");
|
2596 |
+
var pow = Math.pow;
|
2597 |
+
var EPSILON = pow(2, -52);
|
2598 |
+
var EPSILON32 = pow(2, -23);
|
2599 |
+
var MAX32 = pow(2, 127) * (2 - EPSILON32);
|
2600 |
+
var MIN32 = pow(2, -126);
|
2601 |
+
|
2602 |
+
var roundTiesToEven = function (n) {
|
2603 |
+
return n + 1 / EPSILON - 1 / EPSILON;
|
2604 |
+
};
|
2605 |
+
|
2606 |
+
module.exports = Math.fround || function fround(x) {
|
2607 |
+
var $abs = Math.abs(x);
|
2608 |
+
var $sign = sign(x);
|
2609 |
+
var a, result;
|
2610 |
+
if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
|
2611 |
+
a = (1 + EPSILON32 / EPSILON) * $abs;
|
2612 |
+
result = a - (a - $abs);
|
2613 |
+
// eslint-disable-next-line no-self-compare
|
2614 |
+
if (result > MAX32 || result != result) return $sign * Infinity;
|
2615 |
+
return $sign * result;
|
2616 |
+
};
|
2617 |
+
|
2618 |
+
|
2619 |
+
/***/ }),
|
2620 |
+
|
2621 |
+
/***/ "./node_modules/core-js/modules/_math-log1p.js":
|
2622 |
+
/*!*****************************************************!*\
|
2623 |
+
!*** ./node_modules/core-js/modules/_math-log1p.js ***!
|
2624 |
+
\*****************************************************/
|
2625 |
+
/*! no static exports found */
|
2626 |
+
/***/ (function(module, exports) {
|
2627 |
+
|
2628 |
+
// 20.2.2.20 Math.log1p(x)
|
2629 |
+
module.exports = Math.log1p || function log1p(x) {
|
2630 |
+
return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
|
2631 |
+
};
|
2632 |
+
|
2633 |
+
|
2634 |
+
/***/ }),
|
2635 |
+
|
2636 |
+
/***/ "./node_modules/core-js/modules/_math-sign.js":
|
2637 |
+
/*!****************************************************!*\
|
2638 |
+
!*** ./node_modules/core-js/modules/_math-sign.js ***!
|
2639 |
+
\****************************************************/
|
2640 |
+
/*! no static exports found */
|
2641 |
+
/***/ (function(module, exports) {
|
2642 |
+
|
2643 |
+
// 20.2.2.28 Math.sign(x)
|
2644 |
+
module.exports = Math.sign || function sign(x) {
|
2645 |
+
// eslint-disable-next-line no-self-compare
|
2646 |
+
return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
|
2647 |
+
};
|
2648 |
+
|
2649 |
+
|
2650 |
+
/***/ }),
|
2651 |
+
|
2652 |
+
/***/ "./node_modules/core-js/modules/_meta.js":
|
2653 |
+
/*!***********************************************!*\
|
2654 |
+
!*** ./node_modules/core-js/modules/_meta.js ***!
|
2655 |
+
\***********************************************/
|
2656 |
+
/*! no static exports found */
|
2657 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2658 |
+
|
2659 |
+
var META = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('meta');
|
2660 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
2661 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
2662 |
+
var setDesc = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
2663 |
+
var id = 0;
|
2664 |
+
var isExtensible = Object.isExtensible || function () {
|
2665 |
+
return true;
|
2666 |
+
};
|
2667 |
+
var FREEZE = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
2668 |
+
return isExtensible(Object.preventExtensions({}));
|
2669 |
+
});
|
2670 |
+
var setMeta = function (it) {
|
2671 |
+
setDesc(it, META, { value: {
|
2672 |
+
i: 'O' + ++id, // object ID
|
2673 |
+
w: {} // weak collections IDs
|
2674 |
+
} });
|
2675 |
+
};
|
2676 |
+
var fastKey = function (it, create) {
|
2677 |
+
// return primitive with prefix
|
2678 |
+
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
|
2679 |
+
if (!has(it, META)) {
|
2680 |
+
// can't set metadata to uncaught frozen object
|
2681 |
+
if (!isExtensible(it)) return 'F';
|
2682 |
+
// not necessary to add metadata
|
2683 |
+
if (!create) return 'E';
|
2684 |
+
// add missing metadata
|
2685 |
+
setMeta(it);
|
2686 |
+
// return object ID
|
2687 |
+
} return it[META].i;
|
2688 |
+
};
|
2689 |
+
var getWeak = function (it, create) {
|
2690 |
+
if (!has(it, META)) {
|
2691 |
+
// can't set metadata to uncaught frozen object
|
2692 |
+
if (!isExtensible(it)) return true;
|
2693 |
+
// not necessary to add metadata
|
2694 |
+
if (!create) return false;
|
2695 |
+
// add missing metadata
|
2696 |
+
setMeta(it);
|
2697 |
+
// return hash weak collections IDs
|
2698 |
+
} return it[META].w;
|
2699 |
+
};
|
2700 |
+
// add metadata on freeze-family methods calling
|
2701 |
+
var onFreeze = function (it) {
|
2702 |
+
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
|
2703 |
+
return it;
|
2704 |
+
};
|
2705 |
+
var meta = module.exports = {
|
2706 |
+
KEY: META,
|
2707 |
+
NEED: false,
|
2708 |
+
fastKey: fastKey,
|
2709 |
+
getWeak: getWeak,
|
2710 |
+
onFreeze: onFreeze
|
2711 |
+
};
|
2712 |
+
|
2713 |
+
|
2714 |
+
/***/ }),
|
2715 |
+
|
2716 |
+
/***/ "./node_modules/core-js/modules/_microtask.js":
|
2717 |
+
/*!****************************************************!*\
|
2718 |
+
!*** ./node_modules/core-js/modules/_microtask.js ***!
|
2719 |
+
\****************************************************/
|
2720 |
+
/*! no static exports found */
|
2721 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2722 |
+
|
2723 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
2724 |
+
var macrotask = __webpack_require__(/*! ./_task */ "./node_modules/core-js/modules/_task.js").set;
|
2725 |
+
var Observer = global.MutationObserver || global.WebKitMutationObserver;
|
2726 |
+
var process = global.process;
|
2727 |
+
var Promise = global.Promise;
|
2728 |
+
var isNode = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js")(process) == 'process';
|
2729 |
+
|
2730 |
+
module.exports = function () {
|
2731 |
+
var head, last, notify;
|
2732 |
+
|
2733 |
+
var flush = function () {
|
2734 |
+
var parent, fn;
|
2735 |
+
if (isNode && (parent = process.domain)) parent.exit();
|
2736 |
+
while (head) {
|
2737 |
+
fn = head.fn;
|
2738 |
+
head = head.next;
|
2739 |
+
try {
|
2740 |
+
fn();
|
2741 |
+
} catch (e) {
|
2742 |
+
if (head) notify();
|
2743 |
+
else last = undefined;
|
2744 |
+
throw e;
|
2745 |
+
}
|
2746 |
+
} last = undefined;
|
2747 |
+
if (parent) parent.enter();
|
2748 |
+
};
|
2749 |
+
|
2750 |
+
// Node.js
|
2751 |
+
if (isNode) {
|
2752 |
+
notify = function () {
|
2753 |
+
process.nextTick(flush);
|
2754 |
+
};
|
2755 |
+
// browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
|
2756 |
+
} else if (Observer && !(global.navigator && global.navigator.standalone)) {
|
2757 |
+
var toggle = true;
|
2758 |
+
var node = document.createTextNode('');
|
2759 |
+
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
|
2760 |
+
notify = function () {
|
2761 |
+
node.data = toggle = !toggle;
|
2762 |
+
};
|
2763 |
+
// environments with maybe non-completely correct, but existent Promise
|
2764 |
+
} else if (Promise && Promise.resolve) {
|
2765 |
+
// Promise.resolve without an argument throws an error in LG WebOS 2
|
2766 |
+
var promise = Promise.resolve(undefined);
|
2767 |
+
notify = function () {
|
2768 |
+
promise.then(flush);
|
2769 |
+
};
|
2770 |
+
// for other environments - macrotask based on:
|
2771 |
+
// - setImmediate
|
2772 |
+
// - MessageChannel
|
2773 |
+
// - window.postMessag
|
2774 |
+
// - onreadystatechange
|
2775 |
+
// - setTimeout
|
2776 |
+
} else {
|
2777 |
+
notify = function () {
|
2778 |
+
// strange IE + webpack dev server bug - use .call(global)
|
2779 |
+
macrotask.call(global, flush);
|
2780 |
+
};
|
2781 |
+
}
|
2782 |
+
|
2783 |
+
return function (fn) {
|
2784 |
+
var task = { fn: fn, next: undefined };
|
2785 |
+
if (last) last.next = task;
|
2786 |
+
if (!head) {
|
2787 |
+
head = task;
|
2788 |
+
notify();
|
2789 |
+
} last = task;
|
2790 |
+
};
|
2791 |
+
};
|
2792 |
+
|
2793 |
+
|
2794 |
+
/***/ }),
|
2795 |
+
|
2796 |
+
/***/ "./node_modules/core-js/modules/_new-promise-capability.js":
|
2797 |
+
/*!*****************************************************************!*\
|
2798 |
+
!*** ./node_modules/core-js/modules/_new-promise-capability.js ***!
|
2799 |
+
\*****************************************************************/
|
2800 |
+
/*! no static exports found */
|
2801 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2802 |
+
|
2803 |
+
"use strict";
|
2804 |
+
|
2805 |
+
// 25.4.1.5 NewPromiseCapability(C)
|
2806 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
2807 |
+
|
2808 |
+
function PromiseCapability(C) {
|
2809 |
+
var resolve, reject;
|
2810 |
+
this.promise = new C(function ($$resolve, $$reject) {
|
2811 |
+
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
2812 |
+
resolve = $$resolve;
|
2813 |
+
reject = $$reject;
|
2814 |
+
});
|
2815 |
+
this.resolve = aFunction(resolve);
|
2816 |
+
this.reject = aFunction(reject);
|
2817 |
+
}
|
2818 |
+
|
2819 |
+
module.exports.f = function (C) {
|
2820 |
+
return new PromiseCapability(C);
|
2821 |
+
};
|
2822 |
+
|
2823 |
+
|
2824 |
+
/***/ }),
|
2825 |
+
|
2826 |
+
/***/ "./node_modules/core-js/modules/_object-assign.js":
|
2827 |
+
/*!********************************************************!*\
|
2828 |
+
!*** ./node_modules/core-js/modules/_object-assign.js ***!
|
2829 |
+
\********************************************************/
|
2830 |
+
/*! no static exports found */
|
2831 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2832 |
+
|
2833 |
+
"use strict";
|
2834 |
+
|
2835 |
+
// 19.1.2.1 Object.assign(target, source, ...)
|
2836 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
2837 |
+
var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
2838 |
+
var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js");
|
2839 |
+
var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js");
|
2840 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
2841 |
+
var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js");
|
2842 |
+
var $assign = Object.assign;
|
2843 |
+
|
2844 |
+
// should work with symbols and should have deterministic property order (V8 bug)
|
2845 |
+
module.exports = !$assign || __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
2846 |
+
var A = {};
|
2847 |
+
var B = {};
|
2848 |
+
// eslint-disable-next-line no-undef
|
2849 |
+
var S = Symbol();
|
2850 |
+
var K = 'abcdefghijklmnopqrst';
|
2851 |
+
A[S] = 7;
|
2852 |
+
K.split('').forEach(function (k) { B[k] = k; });
|
2853 |
+
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
|
2854 |
+
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
|
2855 |
+
var T = toObject(target);
|
2856 |
+
var aLen = arguments.length;
|
2857 |
+
var index = 1;
|
2858 |
+
var getSymbols = gOPS.f;
|
2859 |
+
var isEnum = pIE.f;
|
2860 |
+
while (aLen > index) {
|
2861 |
+
var S = IObject(arguments[index++]);
|
2862 |
+
var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
|
2863 |
+
var length = keys.length;
|
2864 |
+
var j = 0;
|
2865 |
+
var key;
|
2866 |
+
while (length > j) {
|
2867 |
+
key = keys[j++];
|
2868 |
+
if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
|
2869 |
+
}
|
2870 |
+
} return T;
|
2871 |
+
} : $assign;
|
2872 |
+
|
2873 |
+
|
2874 |
+
/***/ }),
|
2875 |
+
|
2876 |
+
/***/ "./node_modules/core-js/modules/_object-create.js":
|
2877 |
+
/*!********************************************************!*\
|
2878 |
+
!*** ./node_modules/core-js/modules/_object-create.js ***!
|
2879 |
+
\********************************************************/
|
2880 |
+
/*! no static exports found */
|
2881 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2882 |
+
|
2883 |
+
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
2884 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2885 |
+
var dPs = __webpack_require__(/*! ./_object-dps */ "./node_modules/core-js/modules/_object-dps.js");
|
2886 |
+
var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js");
|
2887 |
+
var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO');
|
2888 |
+
var Empty = function () { /* empty */ };
|
2889 |
+
var PROTOTYPE = 'prototype';
|
2890 |
+
|
2891 |
+
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
2892 |
+
var createDict = function () {
|
2893 |
+
// Thrash, waste and sodomy: IE GC bug
|
2894 |
+
var iframe = __webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('iframe');
|
2895 |
+
var i = enumBugKeys.length;
|
2896 |
+
var lt = '<';
|
2897 |
+
var gt = '>';
|
2898 |
+
var iframeDocument;
|
2899 |
+
iframe.style.display = 'none';
|
2900 |
+
__webpack_require__(/*! ./_html */ "./node_modules/core-js/modules/_html.js").appendChild(iframe);
|
2901 |
+
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
2902 |
+
// createDict = iframe.contentWindow.Object;
|
2903 |
+
// html.removeChild(iframe);
|
2904 |
+
iframeDocument = iframe.contentWindow.document;
|
2905 |
+
iframeDocument.open();
|
2906 |
+
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
2907 |
+
iframeDocument.close();
|
2908 |
+
createDict = iframeDocument.F;
|
2909 |
+
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
2910 |
+
return createDict();
|
2911 |
+
};
|
2912 |
+
|
2913 |
+
module.exports = Object.create || function create(O, Properties) {
|
2914 |
+
var result;
|
2915 |
+
if (O !== null) {
|
2916 |
+
Empty[PROTOTYPE] = anObject(O);
|
2917 |
+
result = new Empty();
|
2918 |
+
Empty[PROTOTYPE] = null;
|
2919 |
+
// add "__proto__" for Object.getPrototypeOf polyfill
|
2920 |
+
result[IE_PROTO] = O;
|
2921 |
+
} else result = createDict();
|
2922 |
+
return Properties === undefined ? result : dPs(result, Properties);
|
2923 |
+
};
|
2924 |
+
|
2925 |
+
|
2926 |
+
/***/ }),
|
2927 |
+
|
2928 |
+
/***/ "./node_modules/core-js/modules/_object-dp.js":
|
2929 |
+
/*!****************************************************!*\
|
2930 |
+
!*** ./node_modules/core-js/modules/_object-dp.js ***!
|
2931 |
+
\****************************************************/
|
2932 |
+
/*! no static exports found */
|
2933 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2934 |
+
|
2935 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2936 |
+
var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js");
|
2937 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
2938 |
+
var dP = Object.defineProperty;
|
2939 |
+
|
2940 |
+
exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
2941 |
+
anObject(O);
|
2942 |
+
P = toPrimitive(P, true);
|
2943 |
+
anObject(Attributes);
|
2944 |
+
if (IE8_DOM_DEFINE) try {
|
2945 |
+
return dP(O, P, Attributes);
|
2946 |
+
} catch (e) { /* empty */ }
|
2947 |
+
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
2948 |
+
if ('value' in Attributes) O[P] = Attributes.value;
|
2949 |
+
return O;
|
2950 |
+
};
|
2951 |
+
|
2952 |
+
|
2953 |
+
/***/ }),
|
2954 |
+
|
2955 |
+
/***/ "./node_modules/core-js/modules/_object-dps.js":
|
2956 |
+
/*!*****************************************************!*\
|
2957 |
+
!*** ./node_modules/core-js/modules/_object-dps.js ***!
|
2958 |
+
\*****************************************************/
|
2959 |
+
/*! no static exports found */
|
2960 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2961 |
+
|
2962 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
2963 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
2964 |
+
var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
2965 |
+
|
2966 |
+
module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperties : function defineProperties(O, Properties) {
|
2967 |
+
anObject(O);
|
2968 |
+
var keys = getKeys(Properties);
|
2969 |
+
var length = keys.length;
|
2970 |
+
var i = 0;
|
2971 |
+
var P;
|
2972 |
+
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
|
2973 |
+
return O;
|
2974 |
+
};
|
2975 |
+
|
2976 |
+
|
2977 |
+
/***/ }),
|
2978 |
+
|
2979 |
+
/***/ "./node_modules/core-js/modules/_object-gopd.js":
|
2980 |
+
/*!******************************************************!*\
|
2981 |
+
!*** ./node_modules/core-js/modules/_object-gopd.js ***!
|
2982 |
+
\******************************************************/
|
2983 |
+
/*! no static exports found */
|
2984 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2985 |
+
|
2986 |
+
var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js");
|
2987 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
2988 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
2989 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
2990 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
2991 |
+
var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js");
|
2992 |
+
var gOPD = Object.getOwnPropertyDescriptor;
|
2993 |
+
|
2994 |
+
exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
2995 |
+
O = toIObject(O);
|
2996 |
+
P = toPrimitive(P, true);
|
2997 |
+
if (IE8_DOM_DEFINE) try {
|
2998 |
+
return gOPD(O, P);
|
2999 |
+
} catch (e) { /* empty */ }
|
3000 |
+
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
3001 |
+
};
|
3002 |
+
|
3003 |
+
|
3004 |
+
/***/ }),
|
3005 |
+
|
3006 |
+
/***/ "./node_modules/core-js/modules/_object-gopn-ext.js":
|
3007 |
+
/*!**********************************************************!*\
|
3008 |
+
!*** ./node_modules/core-js/modules/_object-gopn-ext.js ***!
|
3009 |
+
\**********************************************************/
|
3010 |
+
/*! no static exports found */
|
3011 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3012 |
+
|
3013 |
+
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
3014 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
3015 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f;
|
3016 |
+
var toString = {}.toString;
|
3017 |
+
|
3018 |
+
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
3019 |
+
? Object.getOwnPropertyNames(window) : [];
|
3020 |
+
|
3021 |
+
var getWindowNames = function (it) {
|
3022 |
+
try {
|
3023 |
+
return gOPN(it);
|
3024 |
+
} catch (e) {
|
3025 |
+
return windowNames.slice();
|
3026 |
+
}
|
3027 |
+
};
|
3028 |
+
|
3029 |
+
module.exports.f = function getOwnPropertyNames(it) {
|
3030 |
+
return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
|
3031 |
+
};
|
3032 |
+
|
3033 |
+
|
3034 |
+
/***/ }),
|
3035 |
+
|
3036 |
+
/***/ "./node_modules/core-js/modules/_object-gopn.js":
|
3037 |
+
/*!******************************************************!*\
|
3038 |
+
!*** ./node_modules/core-js/modules/_object-gopn.js ***!
|
3039 |
+
\******************************************************/
|
3040 |
+
/*! no static exports found */
|
3041 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3042 |
+
|
3043 |
+
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
3044 |
+
var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/core-js/modules/_object-keys-internal.js");
|
3045 |
+
var hiddenKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js").concat('length', 'prototype');
|
3046 |
+
|
3047 |
+
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
3048 |
+
return $keys(O, hiddenKeys);
|
3049 |
+
};
|
3050 |
+
|
3051 |
+
|
3052 |
+
/***/ }),
|
3053 |
+
|
3054 |
+
/***/ "./node_modules/core-js/modules/_object-gops.js":
|
3055 |
+
/*!******************************************************!*\
|
3056 |
+
!*** ./node_modules/core-js/modules/_object-gops.js ***!
|
3057 |
+
\******************************************************/
|
3058 |
+
/*! no static exports found */
|
3059 |
+
/***/ (function(module, exports) {
|
3060 |
+
|
3061 |
+
exports.f = Object.getOwnPropertySymbols;
|
3062 |
+
|
3063 |
+
|
3064 |
+
/***/ }),
|
3065 |
+
|
3066 |
+
/***/ "./node_modules/core-js/modules/_object-gpo.js":
|
3067 |
+
/*!*****************************************************!*\
|
3068 |
+
!*** ./node_modules/core-js/modules/_object-gpo.js ***!
|
3069 |
+
\*****************************************************/
|
3070 |
+
/*! no static exports found */
|
3071 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3072 |
+
|
3073 |
+
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
3074 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
3075 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
3076 |
+
var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO');
|
3077 |
+
var ObjectProto = Object.prototype;
|
3078 |
+
|
3079 |
+
module.exports = Object.getPrototypeOf || function (O) {
|
3080 |
+
O = toObject(O);
|
3081 |
+
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
3082 |
+
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
3083 |
+
return O.constructor.prototype;
|
3084 |
+
} return O instanceof Object ? ObjectProto : null;
|
3085 |
+
};
|
3086 |
+
|
3087 |
+
|
3088 |
+
/***/ }),
|
3089 |
+
|
3090 |
+
/***/ "./node_modules/core-js/modules/_object-keys-internal.js":
|
3091 |
+
/*!***************************************************************!*\
|
3092 |
+
!*** ./node_modules/core-js/modules/_object-keys-internal.js ***!
|
3093 |
+
\***************************************************************/
|
3094 |
+
/*! no static exports found */
|
3095 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3096 |
+
|
3097 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
3098 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
3099 |
+
var arrayIndexOf = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js")(false);
|
3100 |
+
var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO');
|
3101 |
+
|
3102 |
+
module.exports = function (object, names) {
|
3103 |
+
var O = toIObject(object);
|
3104 |
+
var i = 0;
|
3105 |
+
var result = [];
|
3106 |
+
var key;
|
3107 |
+
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
|
3108 |
+
// Don't enum bug & hidden keys
|
3109 |
+
while (names.length > i) if (has(O, key = names[i++])) {
|
3110 |
+
~arrayIndexOf(result, key) || result.push(key);
|
3111 |
+
}
|
3112 |
+
return result;
|
3113 |
+
};
|
3114 |
+
|
3115 |
+
|
3116 |
+
/***/ }),
|
3117 |
+
|
3118 |
+
/***/ "./node_modules/core-js/modules/_object-keys.js":
|
3119 |
+
/*!******************************************************!*\
|
3120 |
+
!*** ./node_modules/core-js/modules/_object-keys.js ***!
|
3121 |
+
\******************************************************/
|
3122 |
+
/*! no static exports found */
|
3123 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3124 |
+
|
3125 |
+
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
3126 |
+
var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/core-js/modules/_object-keys-internal.js");
|
3127 |
+
var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js");
|
3128 |
+
|
3129 |
+
module.exports = Object.keys || function keys(O) {
|
3130 |
+
return $keys(O, enumBugKeys);
|
3131 |
+
};
|
3132 |
+
|
3133 |
+
|
3134 |
+
/***/ }),
|
3135 |
+
|
3136 |
+
/***/ "./node_modules/core-js/modules/_object-pie.js":
|
3137 |
+
/*!*****************************************************!*\
|
3138 |
+
!*** ./node_modules/core-js/modules/_object-pie.js ***!
|
3139 |
+
\*****************************************************/
|
3140 |
+
/*! no static exports found */
|
3141 |
+
/***/ (function(module, exports) {
|
3142 |
+
|
3143 |
+
exports.f = {}.propertyIsEnumerable;
|
3144 |
+
|
3145 |
+
|
3146 |
+
/***/ }),
|
3147 |
+
|
3148 |
+
/***/ "./node_modules/core-js/modules/_object-sap.js":
|
3149 |
+
/*!*****************************************************!*\
|
3150 |
+
!*** ./node_modules/core-js/modules/_object-sap.js ***!
|
3151 |
+
\*****************************************************/
|
3152 |
+
/*! no static exports found */
|
3153 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3154 |
+
|
3155 |
+
// most Object methods by ES6 should accept primitives
|
3156 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
3157 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js");
|
3158 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
3159 |
+
module.exports = function (KEY, exec) {
|
3160 |
+
var fn = (core.Object || {})[KEY] || Object[KEY];
|
3161 |
+
var exp = {};
|
3162 |
+
exp[KEY] = exec(fn);
|
3163 |
+
$export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
|
3164 |
+
};
|
3165 |
+
|
3166 |
+
|
3167 |
+
/***/ }),
|
3168 |
+
|
3169 |
+
/***/ "./node_modules/core-js/modules/_object-to-array.js":
|
3170 |
+
/*!**********************************************************!*\
|
3171 |
+
!*** ./node_modules/core-js/modules/_object-to-array.js ***!
|
3172 |
+
\**********************************************************/
|
3173 |
+
/*! no static exports found */
|
3174 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3175 |
+
|
3176 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
3177 |
+
var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
3178 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
3179 |
+
var isEnum = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js").f;
|
3180 |
+
module.exports = function (isEntries) {
|
3181 |
+
return function (it) {
|
3182 |
+
var O = toIObject(it);
|
3183 |
+
var keys = getKeys(O);
|
3184 |
+
var length = keys.length;
|
3185 |
+
var i = 0;
|
3186 |
+
var result = [];
|
3187 |
+
var key;
|
3188 |
+
while (length > i) {
|
3189 |
+
key = keys[i++];
|
3190 |
+
if (!DESCRIPTORS || isEnum.call(O, key)) {
|
3191 |
+
result.push(isEntries ? [key, O[key]] : O[key]);
|
3192 |
+
}
|
3193 |
+
}
|
3194 |
+
return result;
|
3195 |
+
};
|
3196 |
+
};
|
3197 |
+
|
3198 |
+
|
3199 |
+
/***/ }),
|
3200 |
+
|
3201 |
+
/***/ "./node_modules/core-js/modules/_own-keys.js":
|
3202 |
+
/*!***************************************************!*\
|
3203 |
+
!*** ./node_modules/core-js/modules/_own-keys.js ***!
|
3204 |
+
\***************************************************/
|
3205 |
+
/*! no static exports found */
|
3206 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3207 |
+
|
3208 |
+
// all object keys, includes non-enumerable and symbols
|
3209 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js");
|
3210 |
+
var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js");
|
3211 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
3212 |
+
var Reflect = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Reflect;
|
3213 |
+
module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
|
3214 |
+
var keys = gOPN.f(anObject(it));
|
3215 |
+
var getSymbols = gOPS.f;
|
3216 |
+
return getSymbols ? keys.concat(getSymbols(it)) : keys;
|
3217 |
+
};
|
3218 |
+
|
3219 |
+
|
3220 |
+
/***/ }),
|
3221 |
+
|
3222 |
+
/***/ "./node_modules/core-js/modules/_parse-float.js":
|
3223 |
+
/*!******************************************************!*\
|
3224 |
+
!*** ./node_modules/core-js/modules/_parse-float.js ***!
|
3225 |
+
\******************************************************/
|
3226 |
+
/*! no static exports found */
|
3227 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3228 |
+
|
3229 |
+
var $parseFloat = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").parseFloat;
|
3230 |
+
var $trim = __webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js").trim;
|
3231 |
+
|
3232 |
+
module.exports = 1 / $parseFloat(__webpack_require__(/*! ./_string-ws */ "./node_modules/core-js/modules/_string-ws.js") + '-0') !== -Infinity ? function parseFloat(str) {
|
3233 |
+
var string = $trim(String(str), 3);
|
3234 |
+
var result = $parseFloat(string);
|
3235 |
+
return result === 0 && string.charAt(0) == '-' ? -0 : result;
|
3236 |
+
} : $parseFloat;
|
3237 |
+
|
3238 |
+
|
3239 |
+
/***/ }),
|
3240 |
+
|
3241 |
+
/***/ "./node_modules/core-js/modules/_parse-int.js":
|
3242 |
+
/*!****************************************************!*\
|
3243 |
+
!*** ./node_modules/core-js/modules/_parse-int.js ***!
|
3244 |
+
\****************************************************/
|
3245 |
+
/*! no static exports found */
|
3246 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3247 |
+
|
3248 |
+
var $parseInt = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").parseInt;
|
3249 |
+
var $trim = __webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js").trim;
|
3250 |
+
var ws = __webpack_require__(/*! ./_string-ws */ "./node_modules/core-js/modules/_string-ws.js");
|
3251 |
+
var hex = /^[-+]?0[xX]/;
|
3252 |
+
|
3253 |
+
module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
|
3254 |
+
var string = $trim(String(str), 3);
|
3255 |
+
return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
|
3256 |
+
} : $parseInt;
|
3257 |
+
|
3258 |
+
|
3259 |
+
/***/ }),
|
3260 |
+
|
3261 |
+
/***/ "./node_modules/core-js/modules/_perform.js":
|
3262 |
+
/*!**************************************************!*\
|
3263 |
+
!*** ./node_modules/core-js/modules/_perform.js ***!
|
3264 |
+
\**************************************************/
|
3265 |
+
/*! no static exports found */
|
3266 |
+
/***/ (function(module, exports) {
|
3267 |
+
|
3268 |
+
module.exports = function (exec) {
|
3269 |
+
try {
|
3270 |
+
return { e: false, v: exec() };
|
3271 |
+
} catch (e) {
|
3272 |
+
return { e: true, v: e };
|
3273 |
+
}
|
3274 |
+
};
|
3275 |
+
|
3276 |
+
|
3277 |
+
/***/ }),
|
3278 |
+
|
3279 |
+
/***/ "./node_modules/core-js/modules/_promise-resolve.js":
|
3280 |
+
/*!**********************************************************!*\
|
3281 |
+
!*** ./node_modules/core-js/modules/_promise-resolve.js ***!
|
3282 |
+
\**********************************************************/
|
3283 |
+
/*! no static exports found */
|
3284 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3285 |
+
|
3286 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
3287 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
3288 |
+
var newPromiseCapability = __webpack_require__(/*! ./_new-promise-capability */ "./node_modules/core-js/modules/_new-promise-capability.js");
|
3289 |
+
|
3290 |
+
module.exports = function (C, x) {
|
3291 |
+
anObject(C);
|
3292 |
+
if (isObject(x) && x.constructor === C) return x;
|
3293 |
+
var promiseCapability = newPromiseCapability.f(C);
|
3294 |
+
var resolve = promiseCapability.resolve;
|
3295 |
+
resolve(x);
|
3296 |
+
return promiseCapability.promise;
|
3297 |
+
};
|
3298 |
+
|
3299 |
+
|
3300 |
+
/***/ }),
|
3301 |
+
|
3302 |
+
/***/ "./node_modules/core-js/modules/_property-desc.js":
|
3303 |
+
/*!********************************************************!*\
|
3304 |
+
!*** ./node_modules/core-js/modules/_property-desc.js ***!
|
3305 |
+
\********************************************************/
|
3306 |
+
/*! no static exports found */
|
3307 |
+
/***/ (function(module, exports) {
|
3308 |
+
|
3309 |
+
module.exports = function (bitmap, value) {
|
3310 |
+
return {
|
3311 |
+
enumerable: !(bitmap & 1),
|
3312 |
+
configurable: !(bitmap & 2),
|
3313 |
+
writable: !(bitmap & 4),
|
3314 |
+
value: value
|
3315 |
+
};
|
3316 |
+
};
|
3317 |
+
|
3318 |
+
|
3319 |
+
/***/ }),
|
3320 |
+
|
3321 |
+
/***/ "./node_modules/core-js/modules/_redefine-all.js":
|
3322 |
+
/*!*******************************************************!*\
|
3323 |
+
!*** ./node_modules/core-js/modules/_redefine-all.js ***!
|
3324 |
+
\*******************************************************/
|
3325 |
+
/*! no static exports found */
|
3326 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3327 |
+
|
3328 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
3329 |
+
module.exports = function (target, src, safe) {
|
3330 |
+
for (var key in src) redefine(target, key, src[key], safe);
|
3331 |
+
return target;
|
3332 |
+
};
|
3333 |
+
|
3334 |
+
|
3335 |
+
/***/ }),
|
3336 |
+
|
3337 |
+
/***/ "./node_modules/core-js/modules/_redefine.js":
|
3338 |
+
/*!***************************************************!*\
|
3339 |
+
!*** ./node_modules/core-js/modules/_redefine.js ***!
|
3340 |
+
\***************************************************/
|
3341 |
+
/*! no static exports found */
|
3342 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3343 |
+
|
3344 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
3345 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
3346 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
3347 |
+
var SRC = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('src');
|
3348 |
+
var $toString = __webpack_require__(/*! ./_function-to-string */ "./node_modules/core-js/modules/_function-to-string.js");
|
3349 |
+
var TO_STRING = 'toString';
|
3350 |
+
var TPL = ('' + $toString).split(TO_STRING);
|
3351 |
+
|
3352 |
+
__webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").inspectSource = function (it) {
|
3353 |
+
return $toString.call(it);
|
3354 |
+
};
|
3355 |
+
|
3356 |
+
(module.exports = function (O, key, val, safe) {
|
3357 |
+
var isFunction = typeof val == 'function';
|
3358 |
+
if (isFunction) has(val, 'name') || hide(val, 'name', key);
|
3359 |
+
if (O[key] === val) return;
|
3360 |
+
if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
|
3361 |
+
if (O === global) {
|
3362 |
+
O[key] = val;
|
3363 |
+
} else if (!safe) {
|
3364 |
+
delete O[key];
|
3365 |
+
hide(O, key, val);
|
3366 |
+
} else if (O[key]) {
|
3367 |
+
O[key] = val;
|
3368 |
+
} else {
|
3369 |
+
hide(O, key, val);
|
3370 |
+
}
|
3371 |
+
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
3372 |
+
})(Function.prototype, TO_STRING, function toString() {
|
3373 |
+
return typeof this == 'function' && this[SRC] || $toString.call(this);
|
3374 |
+
});
|
3375 |
+
|
3376 |
+
|
3377 |
+
/***/ }),
|
3378 |
+
|
3379 |
+
/***/ "./node_modules/core-js/modules/_regexp-exec-abstract.js":
|
3380 |
+
/*!***************************************************************!*\
|
3381 |
+
!*** ./node_modules/core-js/modules/_regexp-exec-abstract.js ***!
|
3382 |
+
\***************************************************************/
|
3383 |
+
/*! no static exports found */
|
3384 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3385 |
+
|
3386 |
+
"use strict";
|
3387 |
+
|
3388 |
+
|
3389 |
+
var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js");
|
3390 |
+
var builtinExec = RegExp.prototype.exec;
|
3391 |
+
|
3392 |
+
// `RegExpExec` abstract operation
|
3393 |
+
// https://tc39.github.io/ecma262/#sec-regexpexec
|
3394 |
+
module.exports = function (R, S) {
|
3395 |
+
var exec = R.exec;
|
3396 |
+
if (typeof exec === 'function') {
|
3397 |
+
var result = exec.call(R, S);
|
3398 |
+
if (typeof result !== 'object') {
|
3399 |
+
throw new TypeError('RegExp exec method returned something other than an Object or null');
|
3400 |
+
}
|
3401 |
+
return result;
|
3402 |
+
}
|
3403 |
+
if (classof(R) !== 'RegExp') {
|
3404 |
+
throw new TypeError('RegExp#exec called on incompatible receiver');
|
3405 |
+
}
|
3406 |
+
return builtinExec.call(R, S);
|
3407 |
+
};
|
3408 |
+
|
3409 |
+
|
3410 |
+
/***/ }),
|
3411 |
+
|
3412 |
+
/***/ "./node_modules/core-js/modules/_regexp-exec.js":
|
3413 |
+
/*!******************************************************!*\
|
3414 |
+
!*** ./node_modules/core-js/modules/_regexp-exec.js ***!
|
3415 |
+
\******************************************************/
|
3416 |
+
/*! no static exports found */
|
3417 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3418 |
+
|
3419 |
+
"use strict";
|
3420 |
+
|
3421 |
+
|
3422 |
+
var regexpFlags = __webpack_require__(/*! ./_flags */ "./node_modules/core-js/modules/_flags.js");
|
3423 |
+
|
3424 |
+
var nativeExec = RegExp.prototype.exec;
|
3425 |
+
// This always refers to the native implementation, because the
|
3426 |
+
// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
|
3427 |
+
// which loads this file before patching the method.
|
3428 |
+
var nativeReplace = String.prototype.replace;
|
3429 |
+
|
3430 |
+
var patchedExec = nativeExec;
|
3431 |
+
|
3432 |
+
var LAST_INDEX = 'lastIndex';
|
3433 |
+
|
3434 |
+
var UPDATES_LAST_INDEX_WRONG = (function () {
|
3435 |
+
var re1 = /a/,
|
3436 |
+
re2 = /b*/g;
|
3437 |
+
nativeExec.call(re1, 'a');
|
3438 |
+
nativeExec.call(re2, 'a');
|
3439 |
+
return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;
|
3440 |
+
})();
|
3441 |
+
|
3442 |
+
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
3443 |
+
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
3444 |
+
|
3445 |
+
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;
|
3446 |
+
|
3447 |
+
if (PATCH) {
|
3448 |
+
patchedExec = function exec(str) {
|
3449 |
+
var re = this;
|
3450 |
+
var lastIndex, reCopy, match, i;
|
3451 |
+
|
3452 |
+
if (NPCG_INCLUDED) {
|
3453 |
+
reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re));
|
3454 |
+
}
|
3455 |
+
if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];
|
3456 |
+
|
3457 |
+
match = nativeExec.call(re, str);
|
3458 |
+
|
3459 |
+
if (UPDATES_LAST_INDEX_WRONG && match) {
|
3460 |
+
re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;
|
3461 |
+
}
|
3462 |
+
if (NPCG_INCLUDED && match && match.length > 1) {
|
3463 |
+
// Fix browsers whose `exec` methods don't consistently return `undefined`
|
3464 |
+
// for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
|
3465 |
+
// eslint-disable-next-line no-loop-func
|
3466 |
+
nativeReplace.call(match[0], reCopy, function () {
|
3467 |
+
for (i = 1; i < arguments.length - 2; i++) {
|
3468 |
+
if (arguments[i] === undefined) match[i] = undefined;
|
3469 |
+
}
|
3470 |
+
});
|
3471 |
+
}
|
3472 |
+
|
3473 |
+
return match;
|
3474 |
+
};
|
3475 |
+
}
|
3476 |
+
|
3477 |
+
module.exports = patchedExec;
|
3478 |
+
|
3479 |
+
|
3480 |
+
/***/ }),
|
3481 |
+
|
3482 |
+
/***/ "./node_modules/core-js/modules/_same-value.js":
|
3483 |
+
/*!*****************************************************!*\
|
3484 |
+
!*** ./node_modules/core-js/modules/_same-value.js ***!
|
3485 |
+
\*****************************************************/
|
3486 |
+
/*! no static exports found */
|
3487 |
+
/***/ (function(module, exports) {
|
3488 |
+
|
3489 |
+
// 7.2.9 SameValue(x, y)
|
3490 |
+
module.exports = Object.is || function is(x, y) {
|
3491 |
+
// eslint-disable-next-line no-self-compare
|
3492 |
+
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
|
3493 |
+
};
|
3494 |
+
|
3495 |
+
|
3496 |
+
/***/ }),
|
3497 |
+
|
3498 |
+
/***/ "./node_modules/core-js/modules/_set-proto.js":
|
3499 |
+
/*!****************************************************!*\
|
3500 |
+
!*** ./node_modules/core-js/modules/_set-proto.js ***!
|
3501 |
+
\****************************************************/
|
3502 |
+
/*! no static exports found */
|
3503 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3504 |
+
|
3505 |
+
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
3506 |
+
/* eslint-disable no-proto */
|
3507 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
3508 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
3509 |
+
var check = function (O, proto) {
|
3510 |
+
anObject(O);
|
3511 |
+
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
|
3512 |
+
};
|
3513 |
+
module.exports = {
|
3514 |
+
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
|
3515 |
+
function (test, buggy, set) {
|
3516 |
+
try {
|
3517 |
+
set = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js")(Function.call, __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f(Object.prototype, '__proto__').set, 2);
|
3518 |
+
set(test, []);
|
3519 |
+
buggy = !(test instanceof Array);
|
3520 |
+
} catch (e) { buggy = true; }
|
3521 |
+
return function setPrototypeOf(O, proto) {
|
3522 |
+
check(O, proto);
|
3523 |
+
if (buggy) O.__proto__ = proto;
|
3524 |
+
else set(O, proto);
|
3525 |
+
return O;
|
3526 |
+
};
|
3527 |
+
}({}, false) : undefined),
|
3528 |
+
check: check
|
3529 |
+
};
|
3530 |
+
|
3531 |
+
|
3532 |
+
/***/ }),
|
3533 |
+
|
3534 |
+
/***/ "./node_modules/core-js/modules/_set-species.js":
|
3535 |
+
/*!******************************************************!*\
|
3536 |
+
!*** ./node_modules/core-js/modules/_set-species.js ***!
|
3537 |
+
\******************************************************/
|
3538 |
+
/*! no static exports found */
|
3539 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3540 |
+
|
3541 |
+
"use strict";
|
3542 |
+
|
3543 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
3544 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
3545 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
3546 |
+
var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species');
|
3547 |
+
|
3548 |
+
module.exports = function (KEY) {
|
3549 |
+
var C = global[KEY];
|
3550 |
+
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
|
3551 |
+
configurable: true,
|
3552 |
+
get: function () { return this; }
|
3553 |
+
});
|
3554 |
+
};
|
3555 |
+
|
3556 |
+
|
3557 |
+
/***/ }),
|
3558 |
+
|
3559 |
+
/***/ "./node_modules/core-js/modules/_set-to-string-tag.js":
|
3560 |
+
/*!************************************************************!*\
|
3561 |
+
!*** ./node_modules/core-js/modules/_set-to-string-tag.js ***!
|
3562 |
+
\************************************************************/
|
3563 |
+
/*! no static exports found */
|
3564 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3565 |
+
|
3566 |
+
var def = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
3567 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
3568 |
+
var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag');
|
3569 |
+
|
3570 |
+
module.exports = function (it, tag, stat) {
|
3571 |
+
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
3572 |
+
};
|
3573 |
+
|
3574 |
+
|
3575 |
+
/***/ }),
|
3576 |
+
|
3577 |
+
/***/ "./node_modules/core-js/modules/_shared-key.js":
|
3578 |
+
/*!*****************************************************!*\
|
3579 |
+
!*** ./node_modules/core-js/modules/_shared-key.js ***!
|
3580 |
+
\*****************************************************/
|
3581 |
+
/*! no static exports found */
|
3582 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3583 |
+
|
3584 |
+
var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('keys');
|
3585 |
+
var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js");
|
3586 |
+
module.exports = function (key) {
|
3587 |
+
return shared[key] || (shared[key] = uid(key));
|
3588 |
+
};
|
3589 |
+
|
3590 |
+
|
3591 |
+
/***/ }),
|
3592 |
+
|
3593 |
+
/***/ "./node_modules/core-js/modules/_shared.js":
|
3594 |
+
/*!*************************************************!*\
|
3595 |
+
!*** ./node_modules/core-js/modules/_shared.js ***!
|
3596 |
+
\*************************************************/
|
3597 |
+
/*! no static exports found */
|
3598 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3599 |
+
|
3600 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js");
|
3601 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
3602 |
+
var SHARED = '__core-js_shared__';
|
3603 |
+
var store = global[SHARED] || (global[SHARED] = {});
|
3604 |
+
|
3605 |
+
(module.exports = function (key, value) {
|
3606 |
+
return store[key] || (store[key] = value !== undefined ? value : {});
|
3607 |
+
})('versions', []).push({
|
3608 |
+
version: core.version,
|
3609 |
+
mode: __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js") ? 'pure' : 'global',
|
3610 |
+
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
|
3611 |
+
});
|
3612 |
+
|
3613 |
+
|
3614 |
+
/***/ }),
|
3615 |
+
|
3616 |
+
/***/ "./node_modules/core-js/modules/_species-constructor.js":
|
3617 |
+
/*!**************************************************************!*\
|
3618 |
+
!*** ./node_modules/core-js/modules/_species-constructor.js ***!
|
3619 |
+
\**************************************************************/
|
3620 |
+
/*! no static exports found */
|
3621 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3622 |
+
|
3623 |
+
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
|
3624 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
3625 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
3626 |
+
var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species');
|
3627 |
+
module.exports = function (O, D) {
|
3628 |
+
var C = anObject(O).constructor;
|
3629 |
+
var S;
|
3630 |
+
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
|
3631 |
+
};
|
3632 |
+
|
3633 |
+
|
3634 |
+
/***/ }),
|
3635 |
+
|
3636 |
+
/***/ "./node_modules/core-js/modules/_strict-method.js":
|
3637 |
+
/*!********************************************************!*\
|
3638 |
+
!*** ./node_modules/core-js/modules/_strict-method.js ***!
|
3639 |
+
\********************************************************/
|
3640 |
+
/*! no static exports found */
|
3641 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3642 |
+
|
3643 |
+
"use strict";
|
3644 |
+
|
3645 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
3646 |
+
|
3647 |
+
module.exports = function (method, arg) {
|
3648 |
+
return !!method && fails(function () {
|
3649 |
+
// eslint-disable-next-line no-useless-call
|
3650 |
+
arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
|
3651 |
+
});
|
3652 |
+
};
|
3653 |
+
|
3654 |
+
|
3655 |
+
/***/ }),
|
3656 |
+
|
3657 |
+
/***/ "./node_modules/core-js/modules/_string-at.js":
|
3658 |
+
/*!****************************************************!*\
|
3659 |
+
!*** ./node_modules/core-js/modules/_string-at.js ***!
|
3660 |
+
\****************************************************/
|
3661 |
+
/*! no static exports found */
|
3662 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3663 |
+
|
3664 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
3665 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3666 |
+
// true -> String#at
|
3667 |
+
// false -> String#codePointAt
|
3668 |
+
module.exports = function (TO_STRING) {
|
3669 |
+
return function (that, pos) {
|
3670 |
+
var s = String(defined(that));
|
3671 |
+
var i = toInteger(pos);
|
3672 |
+
var l = s.length;
|
3673 |
+
var a, b;
|
3674 |
+
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
|
3675 |
+
a = s.charCodeAt(i);
|
3676 |
+
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
|
3677 |
+
? TO_STRING ? s.charAt(i) : a
|
3678 |
+
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
|
3679 |
+
};
|
3680 |
+
};
|
3681 |
+
|
3682 |
+
|
3683 |
+
/***/ }),
|
3684 |
+
|
3685 |
+
/***/ "./node_modules/core-js/modules/_string-context.js":
|
3686 |
+
/*!*********************************************************!*\
|
3687 |
+
!*** ./node_modules/core-js/modules/_string-context.js ***!
|
3688 |
+
\*********************************************************/
|
3689 |
+
/*! no static exports found */
|
3690 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3691 |
+
|
3692 |
+
// helper for String#{startsWith, endsWith, includes}
|
3693 |
+
var isRegExp = __webpack_require__(/*! ./_is-regexp */ "./node_modules/core-js/modules/_is-regexp.js");
|
3694 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3695 |
+
|
3696 |
+
module.exports = function (that, searchString, NAME) {
|
3697 |
+
if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
|
3698 |
+
return String(defined(that));
|
3699 |
+
};
|
3700 |
+
|
3701 |
+
|
3702 |
+
/***/ }),
|
3703 |
+
|
3704 |
+
/***/ "./node_modules/core-js/modules/_string-html.js":
|
3705 |
+
/*!******************************************************!*\
|
3706 |
+
!*** ./node_modules/core-js/modules/_string-html.js ***!
|
3707 |
+
\******************************************************/
|
3708 |
+
/*! no static exports found */
|
3709 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3710 |
+
|
3711 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
3712 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
3713 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3714 |
+
var quot = /"/g;
|
3715 |
+
// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
|
3716 |
+
var createHTML = function (string, tag, attribute, value) {
|
3717 |
+
var S = String(defined(string));
|
3718 |
+
var p1 = '<' + tag;
|
3719 |
+
if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
|
3720 |
+
return p1 + '>' + S + '</' + tag + '>';
|
3721 |
+
};
|
3722 |
+
module.exports = function (NAME, exec) {
|
3723 |
+
var O = {};
|
3724 |
+
O[NAME] = exec(createHTML);
|
3725 |
+
$export($export.P + $export.F * fails(function () {
|
3726 |
+
var test = ''[NAME]('"');
|
3727 |
+
return test !== test.toLowerCase() || test.split('"').length > 3;
|
3728 |
+
}), 'String', O);
|
3729 |
+
};
|
3730 |
+
|
3731 |
+
|
3732 |
+
/***/ }),
|
3733 |
+
|
3734 |
+
/***/ "./node_modules/core-js/modules/_string-pad.js":
|
3735 |
+
/*!*****************************************************!*\
|
3736 |
+
!*** ./node_modules/core-js/modules/_string-pad.js ***!
|
3737 |
+
\*****************************************************/
|
3738 |
+
/*! no static exports found */
|
3739 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3740 |
+
|
3741 |
+
// https://github.com/tc39/proposal-string-pad-start-end
|
3742 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
3743 |
+
var repeat = __webpack_require__(/*! ./_string-repeat */ "./node_modules/core-js/modules/_string-repeat.js");
|
3744 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3745 |
+
|
3746 |
+
module.exports = function (that, maxLength, fillString, left) {
|
3747 |
+
var S = String(defined(that));
|
3748 |
+
var stringLength = S.length;
|
3749 |
+
var fillStr = fillString === undefined ? ' ' : String(fillString);
|
3750 |
+
var intMaxLength = toLength(maxLength);
|
3751 |
+
if (intMaxLength <= stringLength || fillStr == '') return S;
|
3752 |
+
var fillLen = intMaxLength - stringLength;
|
3753 |
+
var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
|
3754 |
+
if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
|
3755 |
+
return left ? stringFiller + S : S + stringFiller;
|
3756 |
+
};
|
3757 |
+
|
3758 |
+
|
3759 |
+
/***/ }),
|
3760 |
+
|
3761 |
+
/***/ "./node_modules/core-js/modules/_string-repeat.js":
|
3762 |
+
/*!********************************************************!*\
|
3763 |
+
!*** ./node_modules/core-js/modules/_string-repeat.js ***!
|
3764 |
+
\********************************************************/
|
3765 |
+
/*! no static exports found */
|
3766 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3767 |
+
|
3768 |
+
"use strict";
|
3769 |
+
|
3770 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
3771 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3772 |
+
|
3773 |
+
module.exports = function repeat(count) {
|
3774 |
+
var str = String(defined(this));
|
3775 |
+
var res = '';
|
3776 |
+
var n = toInteger(count);
|
3777 |
+
if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
|
3778 |
+
for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;
|
3779 |
+
return res;
|
3780 |
+
};
|
3781 |
+
|
3782 |
+
|
3783 |
+
/***/ }),
|
3784 |
+
|
3785 |
+
/***/ "./node_modules/core-js/modules/_string-trim.js":
|
3786 |
+
/*!******************************************************!*\
|
3787 |
+
!*** ./node_modules/core-js/modules/_string-trim.js ***!
|
3788 |
+
\******************************************************/
|
3789 |
+
/*! no static exports found */
|
3790 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3791 |
+
|
3792 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
3793 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
3794 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
3795 |
+
var spaces = __webpack_require__(/*! ./_string-ws */ "./node_modules/core-js/modules/_string-ws.js");
|
3796 |
+
var space = '[' + spaces + ']';
|
3797 |
+
var non = '\u200b\u0085';
|
3798 |
+
var ltrim = RegExp('^' + space + space + '*');
|
3799 |
+
var rtrim = RegExp(space + space + '*$');
|
3800 |
+
|
3801 |
+
var exporter = function (KEY, exec, ALIAS) {
|
3802 |
+
var exp = {};
|
3803 |
+
var FORCE = fails(function () {
|
3804 |
+
return !!spaces[KEY]() || non[KEY]() != non;
|
3805 |
+
});
|
3806 |
+
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
|
3807 |
+
if (ALIAS) exp[ALIAS] = fn;
|
3808 |
+
$export($export.P + $export.F * FORCE, 'String', exp);
|
3809 |
+
};
|
3810 |
+
|
3811 |
+
// 1 -> String#trimLeft
|
3812 |
+
// 2 -> String#trimRight
|
3813 |
+
// 3 -> String#trim
|
3814 |
+
var trim = exporter.trim = function (string, TYPE) {
|
3815 |
+
string = String(defined(string));
|
3816 |
+
if (TYPE & 1) string = string.replace(ltrim, '');
|
3817 |
+
if (TYPE & 2) string = string.replace(rtrim, '');
|
3818 |
+
return string;
|
3819 |
+
};
|
3820 |
+
|
3821 |
+
module.exports = exporter;
|
3822 |
+
|
3823 |
+
|
3824 |
+
/***/ }),
|
3825 |
+
|
3826 |
+
/***/ "./node_modules/core-js/modules/_string-ws.js":
|
3827 |
+
/*!****************************************************!*\
|
3828 |
+
!*** ./node_modules/core-js/modules/_string-ws.js ***!
|
3829 |
+
\****************************************************/
|
3830 |
+
/*! no static exports found */
|
3831 |
+
/***/ (function(module, exports) {
|
3832 |
+
|
3833 |
+
module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
|
3834 |
+
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
3835 |
+
|
3836 |
+
|
3837 |
+
/***/ }),
|
3838 |
+
|
3839 |
+
/***/ "./node_modules/core-js/modules/_task.js":
|
3840 |
+
/*!***********************************************!*\
|
3841 |
+
!*** ./node_modules/core-js/modules/_task.js ***!
|
3842 |
+
\***********************************************/
|
3843 |
+
/*! no static exports found */
|
3844 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3845 |
+
|
3846 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
3847 |
+
var invoke = __webpack_require__(/*! ./_invoke */ "./node_modules/core-js/modules/_invoke.js");
|
3848 |
+
var html = __webpack_require__(/*! ./_html */ "./node_modules/core-js/modules/_html.js");
|
3849 |
+
var cel = __webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js");
|
3850 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
3851 |
+
var process = global.process;
|
3852 |
+
var setTask = global.setImmediate;
|
3853 |
+
var clearTask = global.clearImmediate;
|
3854 |
+
var MessageChannel = global.MessageChannel;
|
3855 |
+
var Dispatch = global.Dispatch;
|
3856 |
+
var counter = 0;
|
3857 |
+
var queue = {};
|
3858 |
+
var ONREADYSTATECHANGE = 'onreadystatechange';
|
3859 |
+
var defer, channel, port;
|
3860 |
+
var run = function () {
|
3861 |
+
var id = +this;
|
3862 |
+
// eslint-disable-next-line no-prototype-builtins
|
3863 |
+
if (queue.hasOwnProperty(id)) {
|
3864 |
+
var fn = queue[id];
|
3865 |
+
delete queue[id];
|
3866 |
+
fn();
|
3867 |
+
}
|
3868 |
+
};
|
3869 |
+
var listener = function (event) {
|
3870 |
+
run.call(event.data);
|
3871 |
+
};
|
3872 |
+
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
3873 |
+
if (!setTask || !clearTask) {
|
3874 |
+
setTask = function setImmediate(fn) {
|
3875 |
+
var args = [];
|
3876 |
+
var i = 1;
|
3877 |
+
while (arguments.length > i) args.push(arguments[i++]);
|
3878 |
+
queue[++counter] = function () {
|
3879 |
+
// eslint-disable-next-line no-new-func
|
3880 |
+
invoke(typeof fn == 'function' ? fn : Function(fn), args);
|
3881 |
+
};
|
3882 |
+
defer(counter);
|
3883 |
+
return counter;
|
3884 |
+
};
|
3885 |
+
clearTask = function clearImmediate(id) {
|
3886 |
+
delete queue[id];
|
3887 |
+
};
|
3888 |
+
// Node.js 0.8-
|
3889 |
+
if (__webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js")(process) == 'process') {
|
3890 |
+
defer = function (id) {
|
3891 |
+
process.nextTick(ctx(run, id, 1));
|
3892 |
+
};
|
3893 |
+
// Sphere (JS game engine) Dispatch API
|
3894 |
+
} else if (Dispatch && Dispatch.now) {
|
3895 |
+
defer = function (id) {
|
3896 |
+
Dispatch.now(ctx(run, id, 1));
|
3897 |
+
};
|
3898 |
+
// Browsers with MessageChannel, includes WebWorkers
|
3899 |
+
} else if (MessageChannel) {
|
3900 |
+
channel = new MessageChannel();
|
3901 |
+
port = channel.port2;
|
3902 |
+
channel.port1.onmessage = listener;
|
3903 |
+
defer = ctx(port.postMessage, port, 1);
|
3904 |
+
// Browsers with postMessage, skip WebWorkers
|
3905 |
+
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
3906 |
+
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
|
3907 |
+
defer = function (id) {
|
3908 |
+
global.postMessage(id + '', '*');
|
3909 |
+
};
|
3910 |
+
global.addEventListener('message', listener, false);
|
3911 |
+
// IE8-
|
3912 |
+
} else if (ONREADYSTATECHANGE in cel('script')) {
|
3913 |
+
defer = function (id) {
|
3914 |
+
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
|
3915 |
+
html.removeChild(this);
|
3916 |
+
run.call(id);
|
3917 |
+
};
|
3918 |
+
};
|
3919 |
+
// Rest old browsers
|
3920 |
+
} else {
|
3921 |
+
defer = function (id) {
|
3922 |
+
setTimeout(ctx(run, id, 1), 0);
|
3923 |
+
};
|
3924 |
+
}
|
3925 |
+
}
|
3926 |
+
module.exports = {
|
3927 |
+
set: setTask,
|
3928 |
+
clear: clearTask
|
3929 |
+
};
|
3930 |
+
|
3931 |
+
|
3932 |
+
/***/ }),
|
3933 |
+
|
3934 |
+
/***/ "./node_modules/core-js/modules/_to-absolute-index.js":
|
3935 |
+
/*!************************************************************!*\
|
3936 |
+
!*** ./node_modules/core-js/modules/_to-absolute-index.js ***!
|
3937 |
+
\************************************************************/
|
3938 |
+
/*! no static exports found */
|
3939 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3940 |
+
|
3941 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
3942 |
+
var max = Math.max;
|
3943 |
+
var min = Math.min;
|
3944 |
+
module.exports = function (index, length) {
|
3945 |
+
index = toInteger(index);
|
3946 |
+
return index < 0 ? max(index + length, 0) : min(index, length);
|
3947 |
+
};
|
3948 |
+
|
3949 |
+
|
3950 |
+
/***/ }),
|
3951 |
+
|
3952 |
+
/***/ "./node_modules/core-js/modules/_to-index.js":
|
3953 |
+
/*!***************************************************!*\
|
3954 |
+
!*** ./node_modules/core-js/modules/_to-index.js ***!
|
3955 |
+
\***************************************************/
|
3956 |
+
/*! no static exports found */
|
3957 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3958 |
+
|
3959 |
+
// https://tc39.github.io/ecma262/#sec-toindex
|
3960 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
3961 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
3962 |
+
module.exports = function (it) {
|
3963 |
+
if (it === undefined) return 0;
|
3964 |
+
var number = toInteger(it);
|
3965 |
+
var length = toLength(number);
|
3966 |
+
if (number !== length) throw RangeError('Wrong length!');
|
3967 |
+
return length;
|
3968 |
+
};
|
3969 |
+
|
3970 |
+
|
3971 |
+
/***/ }),
|
3972 |
+
|
3973 |
+
/***/ "./node_modules/core-js/modules/_to-integer.js":
|
3974 |
+
/*!*****************************************************!*\
|
3975 |
+
!*** ./node_modules/core-js/modules/_to-integer.js ***!
|
3976 |
+
\*****************************************************/
|
3977 |
+
/*! no static exports found */
|
3978 |
+
/***/ (function(module, exports) {
|
3979 |
+
|
3980 |
+
// 7.1.4 ToInteger
|
3981 |
+
var ceil = Math.ceil;
|
3982 |
+
var floor = Math.floor;
|
3983 |
+
module.exports = function (it) {
|
3984 |
+
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
3985 |
+
};
|
3986 |
+
|
3987 |
+
|
3988 |
+
/***/ }),
|
3989 |
+
|
3990 |
+
/***/ "./node_modules/core-js/modules/_to-iobject.js":
|
3991 |
+
/*!*****************************************************!*\
|
3992 |
+
!*** ./node_modules/core-js/modules/_to-iobject.js ***!
|
3993 |
+
\*****************************************************/
|
3994 |
+
/*! no static exports found */
|
3995 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3996 |
+
|
3997 |
+
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
3998 |
+
var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js");
|
3999 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
4000 |
+
module.exports = function (it) {
|
4001 |
+
return IObject(defined(it));
|
4002 |
+
};
|
4003 |
+
|
4004 |
+
|
4005 |
+
/***/ }),
|
4006 |
+
|
4007 |
+
/***/ "./node_modules/core-js/modules/_to-length.js":
|
4008 |
+
/*!****************************************************!*\
|
4009 |
+
!*** ./node_modules/core-js/modules/_to-length.js ***!
|
4010 |
+
\****************************************************/
|
4011 |
+
/*! no static exports found */
|
4012 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4013 |
+
|
4014 |
+
// 7.1.15 ToLength
|
4015 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
4016 |
+
var min = Math.min;
|
4017 |
+
module.exports = function (it) {
|
4018 |
+
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
4019 |
+
};
|
4020 |
+
|
4021 |
+
|
4022 |
+
/***/ }),
|
4023 |
+
|
4024 |
+
/***/ "./node_modules/core-js/modules/_to-object.js":
|
4025 |
+
/*!****************************************************!*\
|
4026 |
+
!*** ./node_modules/core-js/modules/_to-object.js ***!
|
4027 |
+
\****************************************************/
|
4028 |
+
/*! no static exports found */
|
4029 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4030 |
+
|
4031 |
+
// 7.1.13 ToObject(argument)
|
4032 |
+
var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js");
|
4033 |
+
module.exports = function (it) {
|
4034 |
+
return Object(defined(it));
|
4035 |
+
};
|
4036 |
+
|
4037 |
+
|
4038 |
+
/***/ }),
|
4039 |
+
|
4040 |
+
/***/ "./node_modules/core-js/modules/_to-primitive.js":
|
4041 |
+
/*!*******************************************************!*\
|
4042 |
+
!*** ./node_modules/core-js/modules/_to-primitive.js ***!
|
4043 |
+
\*******************************************************/
|
4044 |
+
/*! no static exports found */
|
4045 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4046 |
+
|
4047 |
+
// 7.1.1 ToPrimitive(input [, PreferredType])
|
4048 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
4049 |
+
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
4050 |
+
// and the second argument - flag - preferred type is a string
|
4051 |
+
module.exports = function (it, S) {
|
4052 |
+
if (!isObject(it)) return it;
|
4053 |
+
var fn, val;
|
4054 |
+
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
4055 |
+
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
4056 |
+
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
4057 |
+
throw TypeError("Can't convert object to primitive value");
|
4058 |
+
};
|
4059 |
+
|
4060 |
+
|
4061 |
+
/***/ }),
|
4062 |
+
|
4063 |
+
/***/ "./node_modules/core-js/modules/_typed-array.js":
|
4064 |
+
/*!******************************************************!*\
|
4065 |
+
!*** ./node_modules/core-js/modules/_typed-array.js ***!
|
4066 |
+
\******************************************************/
|
4067 |
+
/*! no static exports found */
|
4068 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4069 |
+
|
4070 |
+
"use strict";
|
4071 |
+
|
4072 |
+
if (__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js")) {
|
4073 |
+
var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js");
|
4074 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
4075 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
4076 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
4077 |
+
var $typed = __webpack_require__(/*! ./_typed */ "./node_modules/core-js/modules/_typed.js");
|
4078 |
+
var $buffer = __webpack_require__(/*! ./_typed-buffer */ "./node_modules/core-js/modules/_typed-buffer.js");
|
4079 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
4080 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
4081 |
+
var propertyDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
4082 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
4083 |
+
var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js");
|
4084 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
4085 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
4086 |
+
var toIndex = __webpack_require__(/*! ./_to-index */ "./node_modules/core-js/modules/_to-index.js");
|
4087 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
4088 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
4089 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
4090 |
+
var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js");
|
4091 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
4092 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
4093 |
+
var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "./node_modules/core-js/modules/_is-array-iter.js");
|
4094 |
+
var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js");
|
4095 |
+
var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
4096 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f;
|
4097 |
+
var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "./node_modules/core-js/modules/core.get-iterator-method.js");
|
4098 |
+
var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js");
|
4099 |
+
var wks = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js");
|
4100 |
+
var createArrayMethod = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js");
|
4101 |
+
var createArrayIncludes = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js");
|
4102 |
+
var speciesConstructor = __webpack_require__(/*! ./_species-constructor */ "./node_modules/core-js/modules/_species-constructor.js");
|
4103 |
+
var ArrayIterators = __webpack_require__(/*! ./es6.array.iterator */ "./node_modules/core-js/modules/es6.array.iterator.js");
|
4104 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
4105 |
+
var $iterDetect = __webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js");
|
4106 |
+
var setSpecies = __webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js");
|
4107 |
+
var arrayFill = __webpack_require__(/*! ./_array-fill */ "./node_modules/core-js/modules/_array-fill.js");
|
4108 |
+
var arrayCopyWithin = __webpack_require__(/*! ./_array-copy-within */ "./node_modules/core-js/modules/_array-copy-within.js");
|
4109 |
+
var $DP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
4110 |
+
var $GOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
4111 |
+
var dP = $DP.f;
|
4112 |
+
var gOPD = $GOPD.f;
|
4113 |
+
var RangeError = global.RangeError;
|
4114 |
+
var TypeError = global.TypeError;
|
4115 |
+
var Uint8Array = global.Uint8Array;
|
4116 |
+
var ARRAY_BUFFER = 'ArrayBuffer';
|
4117 |
+
var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;
|
4118 |
+
var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
|
4119 |
+
var PROTOTYPE = 'prototype';
|
4120 |
+
var ArrayProto = Array[PROTOTYPE];
|
4121 |
+
var $ArrayBuffer = $buffer.ArrayBuffer;
|
4122 |
+
var $DataView = $buffer.DataView;
|
4123 |
+
var arrayForEach = createArrayMethod(0);
|
4124 |
+
var arrayFilter = createArrayMethod(2);
|
4125 |
+
var arraySome = createArrayMethod(3);
|
4126 |
+
var arrayEvery = createArrayMethod(4);
|
4127 |
+
var arrayFind = createArrayMethod(5);
|
4128 |
+
var arrayFindIndex = createArrayMethod(6);
|
4129 |
+
var arrayIncludes = createArrayIncludes(true);
|
4130 |
+
var arrayIndexOf = createArrayIncludes(false);
|
4131 |
+
var arrayValues = ArrayIterators.values;
|
4132 |
+
var arrayKeys = ArrayIterators.keys;
|
4133 |
+
var arrayEntries = ArrayIterators.entries;
|
4134 |
+
var arrayLastIndexOf = ArrayProto.lastIndexOf;
|
4135 |
+
var arrayReduce = ArrayProto.reduce;
|
4136 |
+
var arrayReduceRight = ArrayProto.reduceRight;
|
4137 |
+
var arrayJoin = ArrayProto.join;
|
4138 |
+
var arraySort = ArrayProto.sort;
|
4139 |
+
var arraySlice = ArrayProto.slice;
|
4140 |
+
var arrayToString = ArrayProto.toString;
|
4141 |
+
var arrayToLocaleString = ArrayProto.toLocaleString;
|
4142 |
+
var ITERATOR = wks('iterator');
|
4143 |
+
var TAG = wks('toStringTag');
|
4144 |
+
var TYPED_CONSTRUCTOR = uid('typed_constructor');
|
4145 |
+
var DEF_CONSTRUCTOR = uid('def_constructor');
|
4146 |
+
var ALL_CONSTRUCTORS = $typed.CONSTR;
|
4147 |
+
var TYPED_ARRAY = $typed.TYPED;
|
4148 |
+
var VIEW = $typed.VIEW;
|
4149 |
+
var WRONG_LENGTH = 'Wrong length!';
|
4150 |
+
|
4151 |
+
var $map = createArrayMethod(1, function (O, length) {
|
4152 |
+
return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
|
4153 |
+
});
|
4154 |
+
|
4155 |
+
var LITTLE_ENDIAN = fails(function () {
|
4156 |
+
// eslint-disable-next-line no-undef
|
4157 |
+
return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
|
4158 |
+
});
|
4159 |
+
|
4160 |
+
var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
|
4161 |
+
new Uint8Array(1).set({});
|
4162 |
+
});
|
4163 |
+
|
4164 |
+
var toOffset = function (it, BYTES) {
|
4165 |
+
var offset = toInteger(it);
|
4166 |
+
if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
|
4167 |
+
return offset;
|
4168 |
+
};
|
4169 |
+
|
4170 |
+
var validate = function (it) {
|
4171 |
+
if (isObject(it) && TYPED_ARRAY in it) return it;
|
4172 |
+
throw TypeError(it + ' is not a typed array!');
|
4173 |
+
};
|
4174 |
+
|
4175 |
+
var allocate = function (C, length) {
|
4176 |
+
if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
|
4177 |
+
throw TypeError('It is not a typed array constructor!');
|
4178 |
+
} return new C(length);
|
4179 |
+
};
|
4180 |
+
|
4181 |
+
var speciesFromList = function (O, list) {
|
4182 |
+
return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
|
4183 |
+
};
|
4184 |
+
|
4185 |
+
var fromList = function (C, list) {
|
4186 |
+
var index = 0;
|
4187 |
+
var length = list.length;
|
4188 |
+
var result = allocate(C, length);
|
4189 |
+
while (length > index) result[index] = list[index++];
|
4190 |
+
return result;
|
4191 |
+
};
|
4192 |
+
|
4193 |
+
var addGetter = function (it, key, internal) {
|
4194 |
+
dP(it, key, { get: function () { return this._d[internal]; } });
|
4195 |
+
};
|
4196 |
+
|
4197 |
+
var $from = function from(source /* , mapfn, thisArg */) {
|
4198 |
+
var O = toObject(source);
|
4199 |
+
var aLen = arguments.length;
|
4200 |
+
var mapfn = aLen > 1 ? arguments[1] : undefined;
|
4201 |
+
var mapping = mapfn !== undefined;
|
4202 |
+
var iterFn = getIterFn(O);
|
4203 |
+
var i, length, values, result, step, iterator;
|
4204 |
+
if (iterFn != undefined && !isArrayIter(iterFn)) {
|
4205 |
+
for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
|
4206 |
+
values.push(step.value);
|
4207 |
+
} O = values;
|
4208 |
+
}
|
4209 |
+
if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
|
4210 |
+
for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
|
4211 |
+
result[i] = mapping ? mapfn(O[i], i) : O[i];
|
4212 |
+
}
|
4213 |
+
return result;
|
4214 |
+
};
|
4215 |
+
|
4216 |
+
var $of = function of(/* ...items */) {
|
4217 |
+
var index = 0;
|
4218 |
+
var length = arguments.length;
|
4219 |
+
var result = allocate(this, length);
|
4220 |
+
while (length > index) result[index] = arguments[index++];
|
4221 |
+
return result;
|
4222 |
+
};
|
4223 |
+
|
4224 |
+
// iOS Safari 6.x fails here
|
4225 |
+
var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });
|
4226 |
+
|
4227 |
+
var $toLocaleString = function toLocaleString() {
|
4228 |
+
return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
|
4229 |
+
};
|
4230 |
+
|
4231 |
+
var proto = {
|
4232 |
+
copyWithin: function copyWithin(target, start /* , end */) {
|
4233 |
+
return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
|
4234 |
+
},
|
4235 |
+
every: function every(callbackfn /* , thisArg */) {
|
4236 |
+
return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
4237 |
+
},
|
4238 |
+
fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars
|
4239 |
+
return arrayFill.apply(validate(this), arguments);
|
4240 |
+
},
|
4241 |
+
filter: function filter(callbackfn /* , thisArg */) {
|
4242 |
+
return speciesFromList(this, arrayFilter(validate(this), callbackfn,
|
4243 |
+
arguments.length > 1 ? arguments[1] : undefined));
|
4244 |
+
},
|
4245 |
+
find: function find(predicate /* , thisArg */) {
|
4246 |
+
return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
4247 |
+
},
|
4248 |
+
findIndex: function findIndex(predicate /* , thisArg */) {
|
4249 |
+
return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
4250 |
+
},
|
4251 |
+
forEach: function forEach(callbackfn /* , thisArg */) {
|
4252 |
+
arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
4253 |
+
},
|
4254 |
+
indexOf: function indexOf(searchElement /* , fromIndex */) {
|
4255 |
+
return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
4256 |
+
},
|
4257 |
+
includes: function includes(searchElement /* , fromIndex */) {
|
4258 |
+
return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
4259 |
+
},
|
4260 |
+
join: function join(separator) { // eslint-disable-line no-unused-vars
|
4261 |
+
return arrayJoin.apply(validate(this), arguments);
|
4262 |
+
},
|
4263 |
+
lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars
|
4264 |
+
return arrayLastIndexOf.apply(validate(this), arguments);
|
4265 |
+
},
|
4266 |
+
map: function map(mapfn /* , thisArg */) {
|
4267 |
+
return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
|
4268 |
+
},
|
4269 |
+
reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
|
4270 |
+
return arrayReduce.apply(validate(this), arguments);
|
4271 |
+
},
|
4272 |
+
reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
|
4273 |
+
return arrayReduceRight.apply(validate(this), arguments);
|
4274 |
+
},
|
4275 |
+
reverse: function reverse() {
|
4276 |
+
var that = this;
|
4277 |
+
var length = validate(that).length;
|
4278 |
+
var middle = Math.floor(length / 2);
|
4279 |
+
var index = 0;
|
4280 |
+
var value;
|
4281 |
+
while (index < middle) {
|
4282 |
+
value = that[index];
|
4283 |
+
that[index++] = that[--length];
|
4284 |
+
that[length] = value;
|
4285 |
+
} return that;
|
4286 |
+
},
|
4287 |
+
some: function some(callbackfn /* , thisArg */) {
|
4288 |
+
return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
4289 |
+
},
|
4290 |
+
sort: function sort(comparefn) {
|
4291 |
+
return arraySort.call(validate(this), comparefn);
|
4292 |
+
},
|
4293 |
+
subarray: function subarray(begin, end) {
|
4294 |
+
var O = validate(this);
|
4295 |
+
var length = O.length;
|
4296 |
+
var $begin = toAbsoluteIndex(begin, length);
|
4297 |
+
return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
|
4298 |
+
O.buffer,
|
4299 |
+
O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
|
4300 |
+
toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)
|
4301 |
+
);
|
4302 |
+
}
|
4303 |
+
};
|
4304 |
+
|
4305 |
+
var $slice = function slice(start, end) {
|
4306 |
+
return speciesFromList(this, arraySlice.call(validate(this), start, end));
|
4307 |
+
};
|
4308 |
+
|
4309 |
+
var $set = function set(arrayLike /* , offset */) {
|
4310 |
+
validate(this);
|
4311 |
+
var offset = toOffset(arguments[1], 1);
|
4312 |
+
var length = this.length;
|
4313 |
+
var src = toObject(arrayLike);
|
4314 |
+
var len = toLength(src.length);
|
4315 |
+
var index = 0;
|
4316 |
+
if (len + offset > length) throw RangeError(WRONG_LENGTH);
|
4317 |
+
while (index < len) this[offset + index] = src[index++];
|
4318 |
+
};
|
4319 |
+
|
4320 |
+
var $iterators = {
|
4321 |
+
entries: function entries() {
|
4322 |
+
return arrayEntries.call(validate(this));
|
4323 |
+
},
|
4324 |
+
keys: function keys() {
|
4325 |
+
return arrayKeys.call(validate(this));
|
4326 |
+
},
|
4327 |
+
values: function values() {
|
4328 |
+
return arrayValues.call(validate(this));
|
4329 |
+
}
|
4330 |
+
};
|
4331 |
+
|
4332 |
+
var isTAIndex = function (target, key) {
|
4333 |
+
return isObject(target)
|
4334 |
+
&& target[TYPED_ARRAY]
|
4335 |
+
&& typeof key != 'symbol'
|
4336 |
+
&& key in target
|
4337 |
+
&& String(+key) == String(key);
|
4338 |
+
};
|
4339 |
+
var $getDesc = function getOwnPropertyDescriptor(target, key) {
|
4340 |
+
return isTAIndex(target, key = toPrimitive(key, true))
|
4341 |
+
? propertyDesc(2, target[key])
|
4342 |
+
: gOPD(target, key);
|
4343 |
+
};
|
4344 |
+
var $setDesc = function defineProperty(target, key, desc) {
|
4345 |
+
if (isTAIndex(target, key = toPrimitive(key, true))
|
4346 |
+
&& isObject(desc)
|
4347 |
+
&& has(desc, 'value')
|
4348 |
+
&& !has(desc, 'get')
|
4349 |
+
&& !has(desc, 'set')
|
4350 |
+
// TODO: add validation descriptor w/o calling accessors
|
4351 |
+
&& !desc.configurable
|
4352 |
+
&& (!has(desc, 'writable') || desc.writable)
|
4353 |
+
&& (!has(desc, 'enumerable') || desc.enumerable)
|
4354 |
+
) {
|
4355 |
+
target[key] = desc.value;
|
4356 |
+
return target;
|
4357 |
+
} return dP(target, key, desc);
|
4358 |
+
};
|
4359 |
+
|
4360 |
+
if (!ALL_CONSTRUCTORS) {
|
4361 |
+
$GOPD.f = $getDesc;
|
4362 |
+
$DP.f = $setDesc;
|
4363 |
+
}
|
4364 |
+
|
4365 |
+
$export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
|
4366 |
+
getOwnPropertyDescriptor: $getDesc,
|
4367 |
+
defineProperty: $setDesc
|
4368 |
+
});
|
4369 |
+
|
4370 |
+
if (fails(function () { arrayToString.call({}); })) {
|
4371 |
+
arrayToString = arrayToLocaleString = function toString() {
|
4372 |
+
return arrayJoin.call(this);
|
4373 |
+
};
|
4374 |
+
}
|
4375 |
+
|
4376 |
+
var $TypedArrayPrototype$ = redefineAll({}, proto);
|
4377 |
+
redefineAll($TypedArrayPrototype$, $iterators);
|
4378 |
+
hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
|
4379 |
+
redefineAll($TypedArrayPrototype$, {
|
4380 |
+
slice: $slice,
|
4381 |
+
set: $set,
|
4382 |
+
constructor: function () { /* noop */ },
|
4383 |
+
toString: arrayToString,
|
4384 |
+
toLocaleString: $toLocaleString
|
4385 |
+
});
|
4386 |
+
addGetter($TypedArrayPrototype$, 'buffer', 'b');
|
4387 |
+
addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
|
4388 |
+
addGetter($TypedArrayPrototype$, 'byteLength', 'l');
|
4389 |
+
addGetter($TypedArrayPrototype$, 'length', 'e');
|
4390 |
+
dP($TypedArrayPrototype$, TAG, {
|
4391 |
+
get: function () { return this[TYPED_ARRAY]; }
|
4392 |
+
});
|
4393 |
+
|
4394 |
+
// eslint-disable-next-line max-statements
|
4395 |
+
module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
|
4396 |
+
CLAMPED = !!CLAMPED;
|
4397 |
+
var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';
|
4398 |
+
var GETTER = 'get' + KEY;
|
4399 |
+
var SETTER = 'set' + KEY;
|
4400 |
+
var TypedArray = global[NAME];
|
4401 |
+
var Base = TypedArray || {};
|
4402 |
+
var TAC = TypedArray && getPrototypeOf(TypedArray);
|
4403 |
+
var FORCED = !TypedArray || !$typed.ABV;
|
4404 |
+
var O = {};
|
4405 |
+
var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
|
4406 |
+
var getter = function (that, index) {
|
4407 |
+
var data = that._d;
|
4408 |
+
return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
|
4409 |
+
};
|
4410 |
+
var setter = function (that, index, value) {
|
4411 |
+
var data = that._d;
|
4412 |
+
if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
|
4413 |
+
data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
|
4414 |
+
};
|
4415 |
+
var addElement = function (that, index) {
|
4416 |
+
dP(that, index, {
|
4417 |
+
get: function () {
|
4418 |
+
return getter(this, index);
|
4419 |
+
},
|
4420 |
+
set: function (value) {
|
4421 |
+
return setter(this, index, value);
|
4422 |
+
},
|
4423 |
+
enumerable: true
|
4424 |
+
});
|
4425 |
+
};
|
4426 |
+
if (FORCED) {
|
4427 |
+
TypedArray = wrapper(function (that, data, $offset, $length) {
|
4428 |
+
anInstance(that, TypedArray, NAME, '_d');
|
4429 |
+
var index = 0;
|
4430 |
+
var offset = 0;
|
4431 |
+
var buffer, byteLength, length, klass;
|
4432 |
+
if (!isObject(data)) {
|
4433 |
+
length = toIndex(data);
|
4434 |
+
byteLength = length * BYTES;
|
4435 |
+
buffer = new $ArrayBuffer(byteLength);
|
4436 |
+
} else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
|
4437 |
+
buffer = data;
|
4438 |
+
offset = toOffset($offset, BYTES);
|
4439 |
+
var $len = data.byteLength;
|
4440 |
+
if ($length === undefined) {
|
4441 |
+
if ($len % BYTES) throw RangeError(WRONG_LENGTH);
|
4442 |
+
byteLength = $len - offset;
|
4443 |
+
if (byteLength < 0) throw RangeError(WRONG_LENGTH);
|
4444 |
+
} else {
|
4445 |
+
byteLength = toLength($length) * BYTES;
|
4446 |
+
if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
|
4447 |
+
}
|
4448 |
+
length = byteLength / BYTES;
|
4449 |
+
} else if (TYPED_ARRAY in data) {
|
4450 |
+
return fromList(TypedArray, data);
|
4451 |
+
} else {
|
4452 |
+
return $from.call(TypedArray, data);
|
4453 |
+
}
|
4454 |
+
hide(that, '_d', {
|
4455 |
+
b: buffer,
|
4456 |
+
o: offset,
|
4457 |
+
l: byteLength,
|
4458 |
+
e: length,
|
4459 |
+
v: new $DataView(buffer)
|
4460 |
+
});
|
4461 |
+
while (index < length) addElement(that, index++);
|
4462 |
+
});
|
4463 |
+
TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
|
4464 |
+
hide(TypedArrayPrototype, 'constructor', TypedArray);
|
4465 |
+
} else if (!fails(function () {
|
4466 |
+
TypedArray(1);
|
4467 |
+
}) || !fails(function () {
|
4468 |
+
new TypedArray(-1); // eslint-disable-line no-new
|
4469 |
+
}) || !$iterDetect(function (iter) {
|
4470 |
+
new TypedArray(); // eslint-disable-line no-new
|
4471 |
+
new TypedArray(null); // eslint-disable-line no-new
|
4472 |
+
new TypedArray(1.5); // eslint-disable-line no-new
|
4473 |
+
new TypedArray(iter); // eslint-disable-line no-new
|
4474 |
+
}, true)) {
|
4475 |
+
TypedArray = wrapper(function (that, data, $offset, $length) {
|
4476 |
+
anInstance(that, TypedArray, NAME);
|
4477 |
+
var klass;
|
4478 |
+
// `ws` module bug, temporarily remove validation length for Uint8Array
|
4479 |
+
// https://github.com/websockets/ws/pull/645
|
4480 |
+
if (!isObject(data)) return new Base(toIndex(data));
|
4481 |
+
if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
|
4482 |
+
return $length !== undefined
|
4483 |
+
? new Base(data, toOffset($offset, BYTES), $length)
|
4484 |
+
: $offset !== undefined
|
4485 |
+
? new Base(data, toOffset($offset, BYTES))
|
4486 |
+
: new Base(data);
|
4487 |
+
}
|
4488 |
+
if (TYPED_ARRAY in data) return fromList(TypedArray, data);
|
4489 |
+
return $from.call(TypedArray, data);
|
4490 |
+
});
|
4491 |
+
arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
|
4492 |
+
if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
|
4493 |
+
});
|
4494 |
+
TypedArray[PROTOTYPE] = TypedArrayPrototype;
|
4495 |
+
if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
|
4496 |
+
}
|
4497 |
+
var $nativeIterator = TypedArrayPrototype[ITERATOR];
|
4498 |
+
var CORRECT_ITER_NAME = !!$nativeIterator
|
4499 |
+
&& ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);
|
4500 |
+
var $iterator = $iterators.values;
|
4501 |
+
hide(TypedArray, TYPED_CONSTRUCTOR, true);
|
4502 |
+
hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
|
4503 |
+
hide(TypedArrayPrototype, VIEW, true);
|
4504 |
+
hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
|
4505 |
+
|
4506 |
+
if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
|
4507 |
+
dP(TypedArrayPrototype, TAG, {
|
4508 |
+
get: function () { return NAME; }
|
4509 |
+
});
|
4510 |
+
}
|
4511 |
+
|
4512 |
+
O[NAME] = TypedArray;
|
4513 |
+
|
4514 |
+
$export($export.G + $export.W + $export.F * (TypedArray != Base), O);
|
4515 |
+
|
4516 |
+
$export($export.S, NAME, {
|
4517 |
+
BYTES_PER_ELEMENT: BYTES
|
4518 |
+
});
|
4519 |
+
|
4520 |
+
$export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {
|
4521 |
+
from: $from,
|
4522 |
+
of: $of
|
4523 |
+
});
|
4524 |
+
|
4525 |
+
if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
|
4526 |
+
|
4527 |
+
$export($export.P, NAME, proto);
|
4528 |
+
|
4529 |
+
setSpecies(NAME);
|
4530 |
+
|
4531 |
+
$export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
|
4532 |
+
|
4533 |
+
$export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
|
4534 |
+
|
4535 |
+
if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;
|
4536 |
+
|
4537 |
+
$export($export.P + $export.F * fails(function () {
|
4538 |
+
new TypedArray(1).slice();
|
4539 |
+
}), NAME, { slice: $slice });
|
4540 |
+
|
4541 |
+
$export($export.P + $export.F * (fails(function () {
|
4542 |
+
return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
|
4543 |
+
}) || !fails(function () {
|
4544 |
+
TypedArrayPrototype.toLocaleString.call([1, 2]);
|
4545 |
+
})), NAME, { toLocaleString: $toLocaleString });
|
4546 |
+
|
4547 |
+
Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
|
4548 |
+
if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
|
4549 |
+
};
|
4550 |
+
} else module.exports = function () { /* empty */ };
|
4551 |
+
|
4552 |
+
|
4553 |
+
/***/ }),
|
4554 |
+
|
4555 |
+
/***/ "./node_modules/core-js/modules/_typed-buffer.js":
|
4556 |
+
/*!*******************************************************!*\
|
4557 |
+
!*** ./node_modules/core-js/modules/_typed-buffer.js ***!
|
4558 |
+
\*******************************************************/
|
4559 |
+
/*! no static exports found */
|
4560 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4561 |
+
|
4562 |
+
"use strict";
|
4563 |
+
|
4564 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
4565 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
4566 |
+
var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js");
|
4567 |
+
var $typed = __webpack_require__(/*! ./_typed */ "./node_modules/core-js/modules/_typed.js");
|
4568 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
4569 |
+
var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js");
|
4570 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
4571 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
4572 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
4573 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
4574 |
+
var toIndex = __webpack_require__(/*! ./_to-index */ "./node_modules/core-js/modules/_to-index.js");
|
4575 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f;
|
4576 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
4577 |
+
var arrayFill = __webpack_require__(/*! ./_array-fill */ "./node_modules/core-js/modules/_array-fill.js");
|
4578 |
+
var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js");
|
4579 |
+
var ARRAY_BUFFER = 'ArrayBuffer';
|
4580 |
+
var DATA_VIEW = 'DataView';
|
4581 |
+
var PROTOTYPE = 'prototype';
|
4582 |
+
var WRONG_LENGTH = 'Wrong length!';
|
4583 |
+
var WRONG_INDEX = 'Wrong index!';
|
4584 |
+
var $ArrayBuffer = global[ARRAY_BUFFER];
|
4585 |
+
var $DataView = global[DATA_VIEW];
|
4586 |
+
var Math = global.Math;
|
4587 |
+
var RangeError = global.RangeError;
|
4588 |
+
// eslint-disable-next-line no-shadow-restricted-names
|
4589 |
+
var Infinity = global.Infinity;
|
4590 |
+
var BaseBuffer = $ArrayBuffer;
|
4591 |
+
var abs = Math.abs;
|
4592 |
+
var pow = Math.pow;
|
4593 |
+
var floor = Math.floor;
|
4594 |
+
var log = Math.log;
|
4595 |
+
var LN2 = Math.LN2;
|
4596 |
+
var BUFFER = 'buffer';
|
4597 |
+
var BYTE_LENGTH = 'byteLength';
|
4598 |
+
var BYTE_OFFSET = 'byteOffset';
|
4599 |
+
var $BUFFER = DESCRIPTORS ? '_b' : BUFFER;
|
4600 |
+
var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;
|
4601 |
+
var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
|
4602 |
+
|
4603 |
+
// IEEE754 conversions based on https://github.com/feross/ieee754
|
4604 |
+
function packIEEE754(value, mLen, nBytes) {
|
4605 |
+
var buffer = new Array(nBytes);
|
4606 |
+
var eLen = nBytes * 8 - mLen - 1;
|
4607 |
+
var eMax = (1 << eLen) - 1;
|
4608 |
+
var eBias = eMax >> 1;
|
4609 |
+
var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;
|
4610 |
+
var i = 0;
|
4611 |
+
var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
|
4612 |
+
var e, m, c;
|
4613 |
+
value = abs(value);
|
4614 |
+
// eslint-disable-next-line no-self-compare
|
4615 |
+
if (value != value || value === Infinity) {
|
4616 |
+
// eslint-disable-next-line no-self-compare
|
4617 |
+
m = value != value ? 1 : 0;
|
4618 |
+
e = eMax;
|
4619 |
+
} else {
|
4620 |
+
e = floor(log(value) / LN2);
|
4621 |
+
if (value * (c = pow(2, -e)) < 1) {
|
4622 |
+
e--;
|
4623 |
+
c *= 2;
|
4624 |
+
}
|
4625 |
+
if (e + eBias >= 1) {
|
4626 |
+
value += rt / c;
|
4627 |
+
} else {
|
4628 |
+
value += rt * pow(2, 1 - eBias);
|
4629 |
+
}
|
4630 |
+
if (value * c >= 2) {
|
4631 |
+
e++;
|
4632 |
+
c /= 2;
|
4633 |
+
}
|
4634 |
+
if (e + eBias >= eMax) {
|
4635 |
+
m = 0;
|
4636 |
+
e = eMax;
|
4637 |
+
} else if (e + eBias >= 1) {
|
4638 |
+
m = (value * c - 1) * pow(2, mLen);
|
4639 |
+
e = e + eBias;
|
4640 |
+
} else {
|
4641 |
+
m = value * pow(2, eBias - 1) * pow(2, mLen);
|
4642 |
+
e = 0;
|
4643 |
+
}
|
4644 |
+
}
|
4645 |
+
for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
|
4646 |
+
e = e << mLen | m;
|
4647 |
+
eLen += mLen;
|
4648 |
+
for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
|
4649 |
+
buffer[--i] |= s * 128;
|
4650 |
+
return buffer;
|
4651 |
+
}
|
4652 |
+
function unpackIEEE754(buffer, mLen, nBytes) {
|
4653 |
+
var eLen = nBytes * 8 - mLen - 1;
|
4654 |
+
var eMax = (1 << eLen) - 1;
|
4655 |
+
var eBias = eMax >> 1;
|
4656 |
+
var nBits = eLen - 7;
|
4657 |
+
var i = nBytes - 1;
|
4658 |
+
var s = buffer[i--];
|
4659 |
+
var e = s & 127;
|
4660 |
+
var m;
|
4661 |
+
s >>= 7;
|
4662 |
+
for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
|
4663 |
+
m = e & (1 << -nBits) - 1;
|
4664 |
+
e >>= -nBits;
|
4665 |
+
nBits += mLen;
|
4666 |
+
for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
|
4667 |
+
if (e === 0) {
|
4668 |
+
e = 1 - eBias;
|
4669 |
+
} else if (e === eMax) {
|
4670 |
+
return m ? NaN : s ? -Infinity : Infinity;
|
4671 |
+
} else {
|
4672 |
+
m = m + pow(2, mLen);
|
4673 |
+
e = e - eBias;
|
4674 |
+
} return (s ? -1 : 1) * m * pow(2, e - mLen);
|
4675 |
+
}
|
4676 |
+
|
4677 |
+
function unpackI32(bytes) {
|
4678 |
+
return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
|
4679 |
+
}
|
4680 |
+
function packI8(it) {
|
4681 |
+
return [it & 0xff];
|
4682 |
+
}
|
4683 |
+
function packI16(it) {
|
4684 |
+
return [it & 0xff, it >> 8 & 0xff];
|
4685 |
+
}
|
4686 |
+
function packI32(it) {
|
4687 |
+
return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
|
4688 |
+
}
|
4689 |
+
function packF64(it) {
|
4690 |
+
return packIEEE754(it, 52, 8);
|
4691 |
+
}
|
4692 |
+
function packF32(it) {
|
4693 |
+
return packIEEE754(it, 23, 4);
|
4694 |
+
}
|
4695 |
+
|
4696 |
+
function addGetter(C, key, internal) {
|
4697 |
+
dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });
|
4698 |
+
}
|
4699 |
+
|
4700 |
+
function get(view, bytes, index, isLittleEndian) {
|
4701 |
+
var numIndex = +index;
|
4702 |
+
var intIndex = toIndex(numIndex);
|
4703 |
+
if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
|
4704 |
+
var store = view[$BUFFER]._b;
|
4705 |
+
var start = intIndex + view[$OFFSET];
|
4706 |
+
var pack = store.slice(start, start + bytes);
|
4707 |
+
return isLittleEndian ? pack : pack.reverse();
|
4708 |
+
}
|
4709 |
+
function set(view, bytes, index, conversion, value, isLittleEndian) {
|
4710 |
+
var numIndex = +index;
|
4711 |
+
var intIndex = toIndex(numIndex);
|
4712 |
+
if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
|
4713 |
+
var store = view[$BUFFER]._b;
|
4714 |
+
var start = intIndex + view[$OFFSET];
|
4715 |
+
var pack = conversion(+value);
|
4716 |
+
for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
|
4717 |
+
}
|
4718 |
+
|
4719 |
+
if (!$typed.ABV) {
|
4720 |
+
$ArrayBuffer = function ArrayBuffer(length) {
|
4721 |
+
anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
|
4722 |
+
var byteLength = toIndex(length);
|
4723 |
+
this._b = arrayFill.call(new Array(byteLength), 0);
|
4724 |
+
this[$LENGTH] = byteLength;
|
4725 |
+
};
|
4726 |
+
|
4727 |
+
$DataView = function DataView(buffer, byteOffset, byteLength) {
|
4728 |
+
anInstance(this, $DataView, DATA_VIEW);
|
4729 |
+
anInstance(buffer, $ArrayBuffer, DATA_VIEW);
|
4730 |
+
var bufferLength = buffer[$LENGTH];
|
4731 |
+
var offset = toInteger(byteOffset);
|
4732 |
+
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
|
4733 |
+
byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
|
4734 |
+
if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
|
4735 |
+
this[$BUFFER] = buffer;
|
4736 |
+
this[$OFFSET] = offset;
|
4737 |
+
this[$LENGTH] = byteLength;
|
4738 |
+
};
|
4739 |
+
|
4740 |
+
if (DESCRIPTORS) {
|
4741 |
+
addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
|
4742 |
+
addGetter($DataView, BUFFER, '_b');
|
4743 |
+
addGetter($DataView, BYTE_LENGTH, '_l');
|
4744 |
+
addGetter($DataView, BYTE_OFFSET, '_o');
|
4745 |
+
}
|
4746 |
+
|
4747 |
+
redefineAll($DataView[PROTOTYPE], {
|
4748 |
+
getInt8: function getInt8(byteOffset) {
|
4749 |
+
return get(this, 1, byteOffset)[0] << 24 >> 24;
|
4750 |
+
},
|
4751 |
+
getUint8: function getUint8(byteOffset) {
|
4752 |
+
return get(this, 1, byteOffset)[0];
|
4753 |
+
},
|
4754 |
+
getInt16: function getInt16(byteOffset /* , littleEndian */) {
|
4755 |
+
var bytes = get(this, 2, byteOffset, arguments[1]);
|
4756 |
+
return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
|
4757 |
+
},
|
4758 |
+
getUint16: function getUint16(byteOffset /* , littleEndian */) {
|
4759 |
+
var bytes = get(this, 2, byteOffset, arguments[1]);
|
4760 |
+
return bytes[1] << 8 | bytes[0];
|
4761 |
+
},
|
4762 |
+
getInt32: function getInt32(byteOffset /* , littleEndian */) {
|
4763 |
+
return unpackI32(get(this, 4, byteOffset, arguments[1]));
|
4764 |
+
},
|
4765 |
+
getUint32: function getUint32(byteOffset /* , littleEndian */) {
|
4766 |
+
return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
|
4767 |
+
},
|
4768 |
+
getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
|
4769 |
+
return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
|
4770 |
+
},
|
4771 |
+
getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
|
4772 |
+
return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
|
4773 |
+
},
|
4774 |
+
setInt8: function setInt8(byteOffset, value) {
|
4775 |
+
set(this, 1, byteOffset, packI8, value);
|
4776 |
+
},
|
4777 |
+
setUint8: function setUint8(byteOffset, value) {
|
4778 |
+
set(this, 1, byteOffset, packI8, value);
|
4779 |
+
},
|
4780 |
+
setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
|
4781 |
+
set(this, 2, byteOffset, packI16, value, arguments[2]);
|
4782 |
+
},
|
4783 |
+
setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
|
4784 |
+
set(this, 2, byteOffset, packI16, value, arguments[2]);
|
4785 |
+
},
|
4786 |
+
setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
|
4787 |
+
set(this, 4, byteOffset, packI32, value, arguments[2]);
|
4788 |
+
},
|
4789 |
+
setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
|
4790 |
+
set(this, 4, byteOffset, packI32, value, arguments[2]);
|
4791 |
+
},
|
4792 |
+
setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
|
4793 |
+
set(this, 4, byteOffset, packF32, value, arguments[2]);
|
4794 |
+
},
|
4795 |
+
setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
|
4796 |
+
set(this, 8, byteOffset, packF64, value, arguments[2]);
|
4797 |
+
}
|
4798 |
+
});
|
4799 |
+
} else {
|
4800 |
+
if (!fails(function () {
|
4801 |
+
$ArrayBuffer(1);
|
4802 |
+
}) || !fails(function () {
|
4803 |
+
new $ArrayBuffer(-1); // eslint-disable-line no-new
|
4804 |
+
}) || fails(function () {
|
4805 |
+
new $ArrayBuffer(); // eslint-disable-line no-new
|
4806 |
+
new $ArrayBuffer(1.5); // eslint-disable-line no-new
|
4807 |
+
new $ArrayBuffer(NaN); // eslint-disable-line no-new
|
4808 |
+
return $ArrayBuffer.name != ARRAY_BUFFER;
|
4809 |
+
})) {
|
4810 |
+
$ArrayBuffer = function ArrayBuffer(length) {
|
4811 |
+
anInstance(this, $ArrayBuffer);
|
4812 |
+
return new BaseBuffer(toIndex(length));
|
4813 |
+
};
|
4814 |
+
var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
|
4815 |
+
for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
|
4816 |
+
if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);
|
4817 |
+
}
|
4818 |
+
if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
|
4819 |
+
}
|
4820 |
+
// iOS Safari 7.x bug
|
4821 |
+
var view = new $DataView(new $ArrayBuffer(2));
|
4822 |
+
var $setInt8 = $DataView[PROTOTYPE].setInt8;
|
4823 |
+
view.setInt8(0, 2147483648);
|
4824 |
+
view.setInt8(1, 2147483649);
|
4825 |
+
if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
|
4826 |
+
setInt8: function setInt8(byteOffset, value) {
|
4827 |
+
$setInt8.call(this, byteOffset, value << 24 >> 24);
|
4828 |
+
},
|
4829 |
+
setUint8: function setUint8(byteOffset, value) {
|
4830 |
+
$setInt8.call(this, byteOffset, value << 24 >> 24);
|
4831 |
+
}
|
4832 |
+
}, true);
|
4833 |
+
}
|
4834 |
+
setToStringTag($ArrayBuffer, ARRAY_BUFFER);
|
4835 |
+
setToStringTag($DataView, DATA_VIEW);
|
4836 |
+
hide($DataView[PROTOTYPE], $typed.VIEW, true);
|
4837 |
+
exports[ARRAY_BUFFER] = $ArrayBuffer;
|
4838 |
+
exports[DATA_VIEW] = $DataView;
|
4839 |
+
|
4840 |
+
|
4841 |
+
/***/ }),
|
4842 |
+
|
4843 |
+
/***/ "./node_modules/core-js/modules/_typed.js":
|
4844 |
+
/*!************************************************!*\
|
4845 |
+
!*** ./node_modules/core-js/modules/_typed.js ***!
|
4846 |
+
\************************************************/
|
4847 |
+
/*! no static exports found */
|
4848 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4849 |
+
|
4850 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
4851 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
4852 |
+
var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js");
|
4853 |
+
var TYPED = uid('typed_array');
|
4854 |
+
var VIEW = uid('view');
|
4855 |
+
var ABV = !!(global.ArrayBuffer && global.DataView);
|
4856 |
+
var CONSTR = ABV;
|
4857 |
+
var i = 0;
|
4858 |
+
var l = 9;
|
4859 |
+
var Typed;
|
4860 |
+
|
4861 |
+
var TypedArrayConstructors = (
|
4862 |
+
'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
|
4863 |
+
).split(',');
|
4864 |
+
|
4865 |
+
while (i < l) {
|
4866 |
+
if (Typed = global[TypedArrayConstructors[i++]]) {
|
4867 |
+
hide(Typed.prototype, TYPED, true);
|
4868 |
+
hide(Typed.prototype, VIEW, true);
|
4869 |
+
} else CONSTR = false;
|
4870 |
+
}
|
4871 |
+
|
4872 |
+
module.exports = {
|
4873 |
+
ABV: ABV,
|
4874 |
+
CONSTR: CONSTR,
|
4875 |
+
TYPED: TYPED,
|
4876 |
+
VIEW: VIEW
|
4877 |
+
};
|
4878 |
+
|
4879 |
+
|
4880 |
+
/***/ }),
|
4881 |
+
|
4882 |
+
/***/ "./node_modules/core-js/modules/_uid.js":
|
4883 |
+
/*!**********************************************!*\
|
4884 |
+
!*** ./node_modules/core-js/modules/_uid.js ***!
|
4885 |
+
\**********************************************/
|
4886 |
+
/*! no static exports found */
|
4887 |
+
/***/ (function(module, exports) {
|
4888 |
+
|
4889 |
+
var id = 0;
|
4890 |
+
var px = Math.random();
|
4891 |
+
module.exports = function (key) {
|
4892 |
+
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
4893 |
+
};
|
4894 |
+
|
4895 |
+
|
4896 |
+
/***/ }),
|
4897 |
+
|
4898 |
+
/***/ "./node_modules/core-js/modules/_user-agent.js":
|
4899 |
+
/*!*****************************************************!*\
|
4900 |
+
!*** ./node_modules/core-js/modules/_user-agent.js ***!
|
4901 |
+
\*****************************************************/
|
4902 |
+
/*! no static exports found */
|
4903 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4904 |
+
|
4905 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
4906 |
+
var navigator = global.navigator;
|
4907 |
+
|
4908 |
+
module.exports = navigator && navigator.userAgent || '';
|
4909 |
+
|
4910 |
+
|
4911 |
+
/***/ }),
|
4912 |
+
|
4913 |
+
/***/ "./node_modules/core-js/modules/_validate-collection.js":
|
4914 |
+
/*!**************************************************************!*\
|
4915 |
+
!*** ./node_modules/core-js/modules/_validate-collection.js ***!
|
4916 |
+
\**************************************************************/
|
4917 |
+
/*! no static exports found */
|
4918 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4919 |
+
|
4920 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
4921 |
+
module.exports = function (it, TYPE) {
|
4922 |
+
if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
|
4923 |
+
return it;
|
4924 |
+
};
|
4925 |
+
|
4926 |
+
|
4927 |
+
/***/ }),
|
4928 |
+
|
4929 |
+
/***/ "./node_modules/core-js/modules/_wks-define.js":
|
4930 |
+
/*!*****************************************************!*\
|
4931 |
+
!*** ./node_modules/core-js/modules/_wks-define.js ***!
|
4932 |
+
\*****************************************************/
|
4933 |
+
/*! no static exports found */
|
4934 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4935 |
+
|
4936 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
4937 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js");
|
4938 |
+
var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js");
|
4939 |
+
var wksExt = __webpack_require__(/*! ./_wks-ext */ "./node_modules/core-js/modules/_wks-ext.js");
|
4940 |
+
var defineProperty = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
4941 |
+
module.exports = function (name) {
|
4942 |
+
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
|
4943 |
+
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
|
4944 |
+
};
|
4945 |
+
|
4946 |
+
|
4947 |
+
/***/ }),
|
4948 |
+
|
4949 |
+
/***/ "./node_modules/core-js/modules/_wks-ext.js":
|
4950 |
+
/*!**************************************************!*\
|
4951 |
+
!*** ./node_modules/core-js/modules/_wks-ext.js ***!
|
4952 |
+
\**************************************************/
|
4953 |
+
/*! no static exports found */
|
4954 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4955 |
+
|
4956 |
+
exports.f = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js");
|
4957 |
+
|
4958 |
+
|
4959 |
+
/***/ }),
|
4960 |
+
|
4961 |
+
/***/ "./node_modules/core-js/modules/_wks.js":
|
4962 |
+
/*!**********************************************!*\
|
4963 |
+
!*** ./node_modules/core-js/modules/_wks.js ***!
|
4964 |
+
\**********************************************/
|
4965 |
+
/*! no static exports found */
|
4966 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4967 |
+
|
4968 |
+
var store = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('wks');
|
4969 |
+
var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js");
|
4970 |
+
var Symbol = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Symbol;
|
4971 |
+
var USE_SYMBOL = typeof Symbol == 'function';
|
4972 |
+
|
4973 |
+
var $exports = module.exports = function (name) {
|
4974 |
+
return store[name] || (store[name] =
|
4975 |
+
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
4976 |
+
};
|
4977 |
+
|
4978 |
+
$exports.store = store;
|
4979 |
+
|
4980 |
+
|
4981 |
+
/***/ }),
|
4982 |
+
|
4983 |
+
/***/ "./node_modules/core-js/modules/core.get-iterator-method.js":
|
4984 |
+
/*!******************************************************************!*\
|
4985 |
+
!*** ./node_modules/core-js/modules/core.get-iterator-method.js ***!
|
4986 |
+
\******************************************************************/
|
4987 |
+
/*! no static exports found */
|
4988 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4989 |
+
|
4990 |
+
var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js");
|
4991 |
+
var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator');
|
4992 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
4993 |
+
module.exports = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").getIteratorMethod = function (it) {
|
4994 |
+
if (it != undefined) return it[ITERATOR]
|
4995 |
+
|| it['@@iterator']
|
4996 |
+
|| Iterators[classof(it)];
|
4997 |
+
};
|
4998 |
+
|
4999 |
+
|
5000 |
+
/***/ }),
|
5001 |
+
|
5002 |
+
/***/ "./node_modules/core-js/modules/es6.array.copy-within.js":
|
5003 |
+
/*!***************************************************************!*\
|
5004 |
+
!*** ./node_modules/core-js/modules/es6.array.copy-within.js ***!
|
5005 |
+
\***************************************************************/
|
5006 |
+
/*! no static exports found */
|
5007 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5008 |
+
|
5009 |
+
// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
|
5010 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5011 |
+
|
5012 |
+
$export($export.P, 'Array', { copyWithin: __webpack_require__(/*! ./_array-copy-within */ "./node_modules/core-js/modules/_array-copy-within.js") });
|
5013 |
+
|
5014 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")('copyWithin');
|
5015 |
+
|
5016 |
+
|
5017 |
+
/***/ }),
|
5018 |
+
|
5019 |
+
/***/ "./node_modules/core-js/modules/es6.array.every.js":
|
5020 |
+
/*!*********************************************************!*\
|
5021 |
+
!*** ./node_modules/core-js/modules/es6.array.every.js ***!
|
5022 |
+
\*********************************************************/
|
5023 |
+
/*! no static exports found */
|
5024 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5025 |
+
|
5026 |
+
"use strict";
|
5027 |
+
|
5028 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5029 |
+
var $every = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(4);
|
5030 |
+
|
5031 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].every, true), 'Array', {
|
5032 |
+
// 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
|
5033 |
+
every: function every(callbackfn /* , thisArg */) {
|
5034 |
+
return $every(this, callbackfn, arguments[1]);
|
5035 |
+
}
|
5036 |
+
});
|
5037 |
+
|
5038 |
+
|
5039 |
+
/***/ }),
|
5040 |
+
|
5041 |
+
/***/ "./node_modules/core-js/modules/es6.array.fill.js":
|
5042 |
+
/*!********************************************************!*\
|
5043 |
+
!*** ./node_modules/core-js/modules/es6.array.fill.js ***!
|
5044 |
+
\********************************************************/
|
5045 |
+
/*! no static exports found */
|
5046 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5047 |
+
|
5048 |
+
// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
|
5049 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5050 |
+
|
5051 |
+
$export($export.P, 'Array', { fill: __webpack_require__(/*! ./_array-fill */ "./node_modules/core-js/modules/_array-fill.js") });
|
5052 |
+
|
5053 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")('fill');
|
5054 |
+
|
5055 |
+
|
5056 |
+
/***/ }),
|
5057 |
+
|
5058 |
+
/***/ "./node_modules/core-js/modules/es6.array.filter.js":
|
5059 |
+
/*!**********************************************************!*\
|
5060 |
+
!*** ./node_modules/core-js/modules/es6.array.filter.js ***!
|
5061 |
+
\**********************************************************/
|
5062 |
+
/*! no static exports found */
|
5063 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5064 |
+
|
5065 |
+
"use strict";
|
5066 |
+
|
5067 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5068 |
+
var $filter = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(2);
|
5069 |
+
|
5070 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].filter, true), 'Array', {
|
5071 |
+
// 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
|
5072 |
+
filter: function filter(callbackfn /* , thisArg */) {
|
5073 |
+
return $filter(this, callbackfn, arguments[1]);
|
5074 |
+
}
|
5075 |
+
});
|
5076 |
+
|
5077 |
+
|
5078 |
+
/***/ }),
|
5079 |
+
|
5080 |
+
/***/ "./node_modules/core-js/modules/es6.array.find-index.js":
|
5081 |
+
/*!**************************************************************!*\
|
5082 |
+
!*** ./node_modules/core-js/modules/es6.array.find-index.js ***!
|
5083 |
+
\**************************************************************/
|
5084 |
+
/*! no static exports found */
|
5085 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5086 |
+
|
5087 |
+
"use strict";
|
5088 |
+
|
5089 |
+
// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
|
5090 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5091 |
+
var $find = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(6);
|
5092 |
+
var KEY = 'findIndex';
|
5093 |
+
var forced = true;
|
5094 |
+
// Shouldn't skip holes
|
5095 |
+
if (KEY in []) Array(1)[KEY](function () { forced = false; });
|
5096 |
+
$export($export.P + $export.F * forced, 'Array', {
|
5097 |
+
findIndex: function findIndex(callbackfn /* , that = undefined */) {
|
5098 |
+
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
5099 |
+
}
|
5100 |
+
});
|
5101 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")(KEY);
|
5102 |
+
|
5103 |
+
|
5104 |
+
/***/ }),
|
5105 |
+
|
5106 |
+
/***/ "./node_modules/core-js/modules/es6.array.find.js":
|
5107 |
+
/*!********************************************************!*\
|
5108 |
+
!*** ./node_modules/core-js/modules/es6.array.find.js ***!
|
5109 |
+
\********************************************************/
|
5110 |
+
/*! no static exports found */
|
5111 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5112 |
+
|
5113 |
+
"use strict";
|
5114 |
+
|
5115 |
+
// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
|
5116 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5117 |
+
var $find = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(5);
|
5118 |
+
var KEY = 'find';
|
5119 |
+
var forced = true;
|
5120 |
+
// Shouldn't skip holes
|
5121 |
+
if (KEY in []) Array(1)[KEY](function () { forced = false; });
|
5122 |
+
$export($export.P + $export.F * forced, 'Array', {
|
5123 |
+
find: function find(callbackfn /* , that = undefined */) {
|
5124 |
+
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
5125 |
+
}
|
5126 |
+
});
|
5127 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")(KEY);
|
5128 |
+
|
5129 |
+
|
5130 |
+
/***/ }),
|
5131 |
+
|
5132 |
+
/***/ "./node_modules/core-js/modules/es6.array.for-each.js":
|
5133 |
+
/*!************************************************************!*\
|
5134 |
+
!*** ./node_modules/core-js/modules/es6.array.for-each.js ***!
|
5135 |
+
\************************************************************/
|
5136 |
+
/*! no static exports found */
|
5137 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5138 |
+
|
5139 |
+
"use strict";
|
5140 |
+
|
5141 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5142 |
+
var $forEach = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(0);
|
5143 |
+
var STRICT = __webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].forEach, true);
|
5144 |
+
|
5145 |
+
$export($export.P + $export.F * !STRICT, 'Array', {
|
5146 |
+
// 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
|
5147 |
+
forEach: function forEach(callbackfn /* , thisArg */) {
|
5148 |
+
return $forEach(this, callbackfn, arguments[1]);
|
5149 |
+
}
|
5150 |
+
});
|
5151 |
+
|
5152 |
+
|
5153 |
+
/***/ }),
|
5154 |
+
|
5155 |
+
/***/ "./node_modules/core-js/modules/es6.array.from.js":
|
5156 |
+
/*!********************************************************!*\
|
5157 |
+
!*** ./node_modules/core-js/modules/es6.array.from.js ***!
|
5158 |
+
\********************************************************/
|
5159 |
+
/*! no static exports found */
|
5160 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5161 |
+
|
5162 |
+
"use strict";
|
5163 |
+
|
5164 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
5165 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5166 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
5167 |
+
var call = __webpack_require__(/*! ./_iter-call */ "./node_modules/core-js/modules/_iter-call.js");
|
5168 |
+
var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "./node_modules/core-js/modules/_is-array-iter.js");
|
5169 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
5170 |
+
var createProperty = __webpack_require__(/*! ./_create-property */ "./node_modules/core-js/modules/_create-property.js");
|
5171 |
+
var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "./node_modules/core-js/modules/core.get-iterator-method.js");
|
5172 |
+
|
5173 |
+
$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js")(function (iter) { Array.from(iter); }), 'Array', {
|
5174 |
+
// 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
|
5175 |
+
from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
|
5176 |
+
var O = toObject(arrayLike);
|
5177 |
+
var C = typeof this == 'function' ? this : Array;
|
5178 |
+
var aLen = arguments.length;
|
5179 |
+
var mapfn = aLen > 1 ? arguments[1] : undefined;
|
5180 |
+
var mapping = mapfn !== undefined;
|
5181 |
+
var index = 0;
|
5182 |
+
var iterFn = getIterFn(O);
|
5183 |
+
var length, result, step, iterator;
|
5184 |
+
if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
|
5185 |
+
// if object isn't iterable or it's array with default iterator - use simple case
|
5186 |
+
if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
|
5187 |
+
for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
|
5188 |
+
createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
|
5189 |
+
}
|
5190 |
+
} else {
|
5191 |
+
length = toLength(O.length);
|
5192 |
+
for (result = new C(length); length > index; index++) {
|
5193 |
+
createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
|
5194 |
+
}
|
5195 |
+
}
|
5196 |
+
result.length = index;
|
5197 |
+
return result;
|
5198 |
+
}
|
5199 |
+
});
|
5200 |
+
|
5201 |
+
|
5202 |
+
/***/ }),
|
5203 |
+
|
5204 |
+
/***/ "./node_modules/core-js/modules/es6.array.index-of.js":
|
5205 |
+
/*!************************************************************!*\
|
5206 |
+
!*** ./node_modules/core-js/modules/es6.array.index-of.js ***!
|
5207 |
+
\************************************************************/
|
5208 |
+
/*! no static exports found */
|
5209 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5210 |
+
|
5211 |
+
"use strict";
|
5212 |
+
|
5213 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5214 |
+
var $indexOf = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js")(false);
|
5215 |
+
var $native = [].indexOf;
|
5216 |
+
var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
|
5217 |
+
|
5218 |
+
$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")($native)), 'Array', {
|
5219 |
+
// 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
|
5220 |
+
indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
|
5221 |
+
return NEGATIVE_ZERO
|
5222 |
+
// convert -0 to +0
|
5223 |
+
? $native.apply(this, arguments) || 0
|
5224 |
+
: $indexOf(this, searchElement, arguments[1]);
|
5225 |
+
}
|
5226 |
+
});
|
5227 |
+
|
5228 |
+
|
5229 |
+
/***/ }),
|
5230 |
+
|
5231 |
+
/***/ "./node_modules/core-js/modules/es6.array.is-array.js":
|
5232 |
+
/*!************************************************************!*\
|
5233 |
+
!*** ./node_modules/core-js/modules/es6.array.is-array.js ***!
|
5234 |
+
\************************************************************/
|
5235 |
+
/*! no static exports found */
|
5236 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5237 |
+
|
5238 |
+
// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
|
5239 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5240 |
+
|
5241 |
+
$export($export.S, 'Array', { isArray: __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js") });
|
5242 |
+
|
5243 |
+
|
5244 |
+
/***/ }),
|
5245 |
+
|
5246 |
+
/***/ "./node_modules/core-js/modules/es6.array.iterator.js":
|
5247 |
+
/*!************************************************************!*\
|
5248 |
+
!*** ./node_modules/core-js/modules/es6.array.iterator.js ***!
|
5249 |
+
\************************************************************/
|
5250 |
+
/*! no static exports found */
|
5251 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5252 |
+
|
5253 |
+
"use strict";
|
5254 |
+
|
5255 |
+
var addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js");
|
5256 |
+
var step = __webpack_require__(/*! ./_iter-step */ "./node_modules/core-js/modules/_iter-step.js");
|
5257 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
5258 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
5259 |
+
|
5260 |
+
// 22.1.3.4 Array.prototype.entries()
|
5261 |
+
// 22.1.3.13 Array.prototype.keys()
|
5262 |
+
// 22.1.3.29 Array.prototype.values()
|
5263 |
+
// 22.1.3.30 Array.prototype[@@iterator]()
|
5264 |
+
module.exports = __webpack_require__(/*! ./_iter-define */ "./node_modules/core-js/modules/_iter-define.js")(Array, 'Array', function (iterated, kind) {
|
5265 |
+
this._t = toIObject(iterated); // target
|
5266 |
+
this._i = 0; // next index
|
5267 |
+
this._k = kind; // kind
|
5268 |
+
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
|
5269 |
+
}, function () {
|
5270 |
+
var O = this._t;
|
5271 |
+
var kind = this._k;
|
5272 |
+
var index = this._i++;
|
5273 |
+
if (!O || index >= O.length) {
|
5274 |
+
this._t = undefined;
|
5275 |
+
return step(1);
|
5276 |
+
}
|
5277 |
+
if (kind == 'keys') return step(0, index);
|
5278 |
+
if (kind == 'values') return step(0, O[index]);
|
5279 |
+
return step(0, [index, O[index]]);
|
5280 |
+
}, 'values');
|
5281 |
+
|
5282 |
+
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
|
5283 |
+
Iterators.Arguments = Iterators.Array;
|
5284 |
+
|
5285 |
+
addToUnscopables('keys');
|
5286 |
+
addToUnscopables('values');
|
5287 |
+
addToUnscopables('entries');
|
5288 |
+
|
5289 |
+
|
5290 |
+
/***/ }),
|
5291 |
+
|
5292 |
+
/***/ "./node_modules/core-js/modules/es6.array.join.js":
|
5293 |
+
/*!********************************************************!*\
|
5294 |
+
!*** ./node_modules/core-js/modules/es6.array.join.js ***!
|
5295 |
+
\********************************************************/
|
5296 |
+
/*! no static exports found */
|
5297 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5298 |
+
|
5299 |
+
"use strict";
|
5300 |
+
|
5301 |
+
// 22.1.3.13 Array.prototype.join(separator)
|
5302 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5303 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
5304 |
+
var arrayJoin = [].join;
|
5305 |
+
|
5306 |
+
// fallback for not array-like strings
|
5307 |
+
$export($export.P + $export.F * (__webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js") != Object || !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")(arrayJoin)), 'Array', {
|
5308 |
+
join: function join(separator) {
|
5309 |
+
return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
|
5310 |
+
}
|
5311 |
+
});
|
5312 |
+
|
5313 |
+
|
5314 |
+
/***/ }),
|
5315 |
+
|
5316 |
+
/***/ "./node_modules/core-js/modules/es6.array.last-index-of.js":
|
5317 |
+
/*!*****************************************************************!*\
|
5318 |
+
!*** ./node_modules/core-js/modules/es6.array.last-index-of.js ***!
|
5319 |
+
\*****************************************************************/
|
5320 |
+
/*! no static exports found */
|
5321 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5322 |
+
|
5323 |
+
"use strict";
|
5324 |
+
|
5325 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5326 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
5327 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
5328 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
5329 |
+
var $native = [].lastIndexOf;
|
5330 |
+
var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
|
5331 |
+
|
5332 |
+
$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")($native)), 'Array', {
|
5333 |
+
// 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
|
5334 |
+
lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
5335 |
+
// convert -0 to +0
|
5336 |
+
if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
|
5337 |
+
var O = toIObject(this);
|
5338 |
+
var length = toLength(O.length);
|
5339 |
+
var index = length - 1;
|
5340 |
+
if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
|
5341 |
+
if (index < 0) index = length + index;
|
5342 |
+
for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;
|
5343 |
+
return -1;
|
5344 |
+
}
|
5345 |
+
});
|
5346 |
+
|
5347 |
+
|
5348 |
+
/***/ }),
|
5349 |
+
|
5350 |
+
/***/ "./node_modules/core-js/modules/es6.array.map.js":
|
5351 |
+
/*!*******************************************************!*\
|
5352 |
+
!*** ./node_modules/core-js/modules/es6.array.map.js ***!
|
5353 |
+
\*******************************************************/
|
5354 |
+
/*! no static exports found */
|
5355 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5356 |
+
|
5357 |
+
"use strict";
|
5358 |
+
|
5359 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5360 |
+
var $map = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(1);
|
5361 |
+
|
5362 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].map, true), 'Array', {
|
5363 |
+
// 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
|
5364 |
+
map: function map(callbackfn /* , thisArg */) {
|
5365 |
+
return $map(this, callbackfn, arguments[1]);
|
5366 |
+
}
|
5367 |
+
});
|
5368 |
+
|
5369 |
+
|
5370 |
+
/***/ }),
|
5371 |
+
|
5372 |
+
/***/ "./node_modules/core-js/modules/es6.array.of.js":
|
5373 |
+
/*!******************************************************!*\
|
5374 |
+
!*** ./node_modules/core-js/modules/es6.array.of.js ***!
|
5375 |
+
\******************************************************/
|
5376 |
+
/*! no static exports found */
|
5377 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5378 |
+
|
5379 |
+
"use strict";
|
5380 |
+
|
5381 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5382 |
+
var createProperty = __webpack_require__(/*! ./_create-property */ "./node_modules/core-js/modules/_create-property.js");
|
5383 |
+
|
5384 |
+
// WebKit Array.of isn't generic
|
5385 |
+
$export($export.S + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
5386 |
+
function F() { /* empty */ }
|
5387 |
+
return !(Array.of.call(F) instanceof F);
|
5388 |
+
}), 'Array', {
|
5389 |
+
// 22.1.2.3 Array.of( ...items)
|
5390 |
+
of: function of(/* ...args */) {
|
5391 |
+
var index = 0;
|
5392 |
+
var aLen = arguments.length;
|
5393 |
+
var result = new (typeof this == 'function' ? this : Array)(aLen);
|
5394 |
+
while (aLen > index) createProperty(result, index, arguments[index++]);
|
5395 |
+
result.length = aLen;
|
5396 |
+
return result;
|
5397 |
+
}
|
5398 |
+
});
|
5399 |
+
|
5400 |
+
|
5401 |
+
/***/ }),
|
5402 |
+
|
5403 |
+
/***/ "./node_modules/core-js/modules/es6.array.reduce-right.js":
|
5404 |
+
/*!****************************************************************!*\
|
5405 |
+
!*** ./node_modules/core-js/modules/es6.array.reduce-right.js ***!
|
5406 |
+
\****************************************************************/
|
5407 |
+
/*! no static exports found */
|
5408 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5409 |
+
|
5410 |
+
"use strict";
|
5411 |
+
|
5412 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5413 |
+
var $reduce = __webpack_require__(/*! ./_array-reduce */ "./node_modules/core-js/modules/_array-reduce.js");
|
5414 |
+
|
5415 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].reduceRight, true), 'Array', {
|
5416 |
+
// 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
|
5417 |
+
reduceRight: function reduceRight(callbackfn /* , initialValue */) {
|
5418 |
+
return $reduce(this, callbackfn, arguments.length, arguments[1], true);
|
5419 |
+
}
|
5420 |
+
});
|
5421 |
+
|
5422 |
+
|
5423 |
+
/***/ }),
|
5424 |
+
|
5425 |
+
/***/ "./node_modules/core-js/modules/es6.array.reduce.js":
|
5426 |
+
/*!**********************************************************!*\
|
5427 |
+
!*** ./node_modules/core-js/modules/es6.array.reduce.js ***!
|
5428 |
+
\**********************************************************/
|
5429 |
+
/*! no static exports found */
|
5430 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5431 |
+
|
5432 |
+
"use strict";
|
5433 |
+
|
5434 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5435 |
+
var $reduce = __webpack_require__(/*! ./_array-reduce */ "./node_modules/core-js/modules/_array-reduce.js");
|
5436 |
+
|
5437 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].reduce, true), 'Array', {
|
5438 |
+
// 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
|
5439 |
+
reduce: function reduce(callbackfn /* , initialValue */) {
|
5440 |
+
return $reduce(this, callbackfn, arguments.length, arguments[1], false);
|
5441 |
+
}
|
5442 |
+
});
|
5443 |
+
|
5444 |
+
|
5445 |
+
/***/ }),
|
5446 |
+
|
5447 |
+
/***/ "./node_modules/core-js/modules/es6.array.slice.js":
|
5448 |
+
/*!*********************************************************!*\
|
5449 |
+
!*** ./node_modules/core-js/modules/es6.array.slice.js ***!
|
5450 |
+
\*********************************************************/
|
5451 |
+
/*! no static exports found */
|
5452 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5453 |
+
|
5454 |
+
"use strict";
|
5455 |
+
|
5456 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5457 |
+
var html = __webpack_require__(/*! ./_html */ "./node_modules/core-js/modules/_html.js");
|
5458 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
5459 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
5460 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
5461 |
+
var arraySlice = [].slice;
|
5462 |
+
|
5463 |
+
// fallback for not array-like ES3 strings and DOM objects
|
5464 |
+
$export($export.P + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
5465 |
+
if (html) arraySlice.call(html);
|
5466 |
+
}), 'Array', {
|
5467 |
+
slice: function slice(begin, end) {
|
5468 |
+
var len = toLength(this.length);
|
5469 |
+
var klass = cof(this);
|
5470 |
+
end = end === undefined ? len : end;
|
5471 |
+
if (klass == 'Array') return arraySlice.call(this, begin, end);
|
5472 |
+
var start = toAbsoluteIndex(begin, len);
|
5473 |
+
var upTo = toAbsoluteIndex(end, len);
|
5474 |
+
var size = toLength(upTo - start);
|
5475 |
+
var cloned = new Array(size);
|
5476 |
+
var i = 0;
|
5477 |
+
for (; i < size; i++) cloned[i] = klass == 'String'
|
5478 |
+
? this.charAt(start + i)
|
5479 |
+
: this[start + i];
|
5480 |
+
return cloned;
|
5481 |
+
}
|
5482 |
+
});
|
5483 |
+
|
5484 |
+
|
5485 |
+
/***/ }),
|
5486 |
+
|
5487 |
+
/***/ "./node_modules/core-js/modules/es6.array.some.js":
|
5488 |
+
/*!********************************************************!*\
|
5489 |
+
!*** ./node_modules/core-js/modules/es6.array.some.js ***!
|
5490 |
+
\********************************************************/
|
5491 |
+
/*! no static exports found */
|
5492 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5493 |
+
|
5494 |
+
"use strict";
|
5495 |
+
|
5496 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5497 |
+
var $some = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(3);
|
5498 |
+
|
5499 |
+
$export($export.P + $export.F * !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")([].some, true), 'Array', {
|
5500 |
+
// 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
|
5501 |
+
some: function some(callbackfn /* , thisArg */) {
|
5502 |
+
return $some(this, callbackfn, arguments[1]);
|
5503 |
+
}
|
5504 |
+
});
|
5505 |
+
|
5506 |
+
|
5507 |
+
/***/ }),
|
5508 |
+
|
5509 |
+
/***/ "./node_modules/core-js/modules/es6.array.sort.js":
|
5510 |
+
/*!********************************************************!*\
|
5511 |
+
!*** ./node_modules/core-js/modules/es6.array.sort.js ***!
|
5512 |
+
\********************************************************/
|
5513 |
+
/*! no static exports found */
|
5514 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5515 |
+
|
5516 |
+
"use strict";
|
5517 |
+
|
5518 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5519 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
5520 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
5521 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
5522 |
+
var $sort = [].sort;
|
5523 |
+
var test = [1, 2, 3];
|
5524 |
+
|
5525 |
+
$export($export.P + $export.F * (fails(function () {
|
5526 |
+
// IE8-
|
5527 |
+
test.sort(undefined);
|
5528 |
+
}) || !fails(function () {
|
5529 |
+
// V8 bug
|
5530 |
+
test.sort(null);
|
5531 |
+
// Old WebKit
|
5532 |
+
}) || !__webpack_require__(/*! ./_strict-method */ "./node_modules/core-js/modules/_strict-method.js")($sort)), 'Array', {
|
5533 |
+
// 22.1.3.25 Array.prototype.sort(comparefn)
|
5534 |
+
sort: function sort(comparefn) {
|
5535 |
+
return comparefn === undefined
|
5536 |
+
? $sort.call(toObject(this))
|
5537 |
+
: $sort.call(toObject(this), aFunction(comparefn));
|
5538 |
+
}
|
5539 |
+
});
|
5540 |
+
|
5541 |
+
|
5542 |
+
/***/ }),
|
5543 |
+
|
5544 |
+
/***/ "./node_modules/core-js/modules/es6.array.species.js":
|
5545 |
+
/*!***********************************************************!*\
|
5546 |
+
!*** ./node_modules/core-js/modules/es6.array.species.js ***!
|
5547 |
+
\***********************************************************/
|
5548 |
+
/*! no static exports found */
|
5549 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5550 |
+
|
5551 |
+
__webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js")('Array');
|
5552 |
+
|
5553 |
+
|
5554 |
+
/***/ }),
|
5555 |
+
|
5556 |
+
/***/ "./node_modules/core-js/modules/es6.date.now.js":
|
5557 |
+
/*!******************************************************!*\
|
5558 |
+
!*** ./node_modules/core-js/modules/es6.date.now.js ***!
|
5559 |
+
\******************************************************/
|
5560 |
+
/*! no static exports found */
|
5561 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5562 |
+
|
5563 |
+
// 20.3.3.1 / 15.9.4.4 Date.now()
|
5564 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5565 |
+
|
5566 |
+
$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });
|
5567 |
+
|
5568 |
+
|
5569 |
+
/***/ }),
|
5570 |
+
|
5571 |
+
/***/ "./node_modules/core-js/modules/es6.date.to-iso-string.js":
|
5572 |
+
/*!****************************************************************!*\
|
5573 |
+
!*** ./node_modules/core-js/modules/es6.date.to-iso-string.js ***!
|
5574 |
+
\****************************************************************/
|
5575 |
+
/*! no static exports found */
|
5576 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5577 |
+
|
5578 |
+
// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
|
5579 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5580 |
+
var toISOString = __webpack_require__(/*! ./_date-to-iso-string */ "./node_modules/core-js/modules/_date-to-iso-string.js");
|
5581 |
+
|
5582 |
+
// PhantomJS / old WebKit has a broken implementations
|
5583 |
+
$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {
|
5584 |
+
toISOString: toISOString
|
5585 |
+
});
|
5586 |
+
|
5587 |
+
|
5588 |
+
/***/ }),
|
5589 |
+
|
5590 |
+
/***/ "./node_modules/core-js/modules/es6.date.to-json.js":
|
5591 |
+
/*!**********************************************************!*\
|
5592 |
+
!*** ./node_modules/core-js/modules/es6.date.to-json.js ***!
|
5593 |
+
\**********************************************************/
|
5594 |
+
/*! no static exports found */
|
5595 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5596 |
+
|
5597 |
+
"use strict";
|
5598 |
+
|
5599 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5600 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
5601 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
5602 |
+
|
5603 |
+
$export($export.P + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
5604 |
+
return new Date(NaN).toJSON() !== null
|
5605 |
+
|| Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
|
5606 |
+
}), 'Date', {
|
5607 |
+
// eslint-disable-next-line no-unused-vars
|
5608 |
+
toJSON: function toJSON(key) {
|
5609 |
+
var O = toObject(this);
|
5610 |
+
var pv = toPrimitive(O);
|
5611 |
+
return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
|
5612 |
+
}
|
5613 |
+
});
|
5614 |
+
|
5615 |
+
|
5616 |
+
/***/ }),
|
5617 |
+
|
5618 |
+
/***/ "./node_modules/core-js/modules/es6.date.to-primitive.js":
|
5619 |
+
/*!***************************************************************!*\
|
5620 |
+
!*** ./node_modules/core-js/modules/es6.date.to-primitive.js ***!
|
5621 |
+
\***************************************************************/
|
5622 |
+
/*! no static exports found */
|
5623 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5624 |
+
|
5625 |
+
var TO_PRIMITIVE = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toPrimitive');
|
5626 |
+
var proto = Date.prototype;
|
5627 |
+
|
5628 |
+
if (!(TO_PRIMITIVE in proto)) __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")(proto, TO_PRIMITIVE, __webpack_require__(/*! ./_date-to-primitive */ "./node_modules/core-js/modules/_date-to-primitive.js"));
|
5629 |
+
|
5630 |
+
|
5631 |
+
/***/ }),
|
5632 |
+
|
5633 |
+
/***/ "./node_modules/core-js/modules/es6.date.to-string.js":
|
5634 |
+
/*!************************************************************!*\
|
5635 |
+
!*** ./node_modules/core-js/modules/es6.date.to-string.js ***!
|
5636 |
+
\************************************************************/
|
5637 |
+
/*! no static exports found */
|
5638 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5639 |
+
|
5640 |
+
var DateProto = Date.prototype;
|
5641 |
+
var INVALID_DATE = 'Invalid Date';
|
5642 |
+
var TO_STRING = 'toString';
|
5643 |
+
var $toString = DateProto[TO_STRING];
|
5644 |
+
var getTime = DateProto.getTime;
|
5645 |
+
if (new Date(NaN) + '' != INVALID_DATE) {
|
5646 |
+
__webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js")(DateProto, TO_STRING, function toString() {
|
5647 |
+
var value = getTime.call(this);
|
5648 |
+
// eslint-disable-next-line no-self-compare
|
5649 |
+
return value === value ? $toString.call(this) : INVALID_DATE;
|
5650 |
+
});
|
5651 |
+
}
|
5652 |
+
|
5653 |
+
|
5654 |
+
/***/ }),
|
5655 |
+
|
5656 |
+
/***/ "./node_modules/core-js/modules/es6.function.bind.js":
|
5657 |
+
/*!***********************************************************!*\
|
5658 |
+
!*** ./node_modules/core-js/modules/es6.function.bind.js ***!
|
5659 |
+
\***********************************************************/
|
5660 |
+
/*! no static exports found */
|
5661 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5662 |
+
|
5663 |
+
// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
|
5664 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5665 |
+
|
5666 |
+
$export($export.P, 'Function', { bind: __webpack_require__(/*! ./_bind */ "./node_modules/core-js/modules/_bind.js") });
|
5667 |
+
|
5668 |
+
|
5669 |
+
/***/ }),
|
5670 |
+
|
5671 |
+
/***/ "./node_modules/core-js/modules/es6.function.has-instance.js":
|
5672 |
+
/*!*******************************************************************!*\
|
5673 |
+
!*** ./node_modules/core-js/modules/es6.function.has-instance.js ***!
|
5674 |
+
\*******************************************************************/
|
5675 |
+
/*! no static exports found */
|
5676 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5677 |
+
|
5678 |
+
"use strict";
|
5679 |
+
|
5680 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
5681 |
+
var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
5682 |
+
var HAS_INSTANCE = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('hasInstance');
|
5683 |
+
var FunctionProto = Function.prototype;
|
5684 |
+
// 19.2.3.6 Function.prototype[@@hasInstance](V)
|
5685 |
+
if (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f(FunctionProto, HAS_INSTANCE, { value: function (O) {
|
5686 |
+
if (typeof this != 'function' || !isObject(O)) return false;
|
5687 |
+
if (!isObject(this.prototype)) return O instanceof this;
|
5688 |
+
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
|
5689 |
+
while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
|
5690 |
+
return false;
|
5691 |
+
} });
|
5692 |
+
|
5693 |
+
|
5694 |
+
/***/ }),
|
5695 |
+
|
5696 |
+
/***/ "./node_modules/core-js/modules/es6.function.name.js":
|
5697 |
+
/*!***********************************************************!*\
|
5698 |
+
!*** ./node_modules/core-js/modules/es6.function.name.js ***!
|
5699 |
+
\***********************************************************/
|
5700 |
+
/*! no static exports found */
|
5701 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5702 |
+
|
5703 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
5704 |
+
var FProto = Function.prototype;
|
5705 |
+
var nameRE = /^\s*function ([^ (]*)/;
|
5706 |
+
var NAME = 'name';
|
5707 |
+
|
5708 |
+
// 19.2.4.2 name
|
5709 |
+
NAME in FProto || __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && dP(FProto, NAME, {
|
5710 |
+
configurable: true,
|
5711 |
+
get: function () {
|
5712 |
+
try {
|
5713 |
+
return ('' + this).match(nameRE)[1];
|
5714 |
+
} catch (e) {
|
5715 |
+
return '';
|
5716 |
+
}
|
5717 |
+
}
|
5718 |
+
});
|
5719 |
+
|
5720 |
+
|
5721 |
+
/***/ }),
|
5722 |
+
|
5723 |
+
/***/ "./node_modules/core-js/modules/es6.map.js":
|
5724 |
+
/*!*************************************************!*\
|
5725 |
+
!*** ./node_modules/core-js/modules/es6.map.js ***!
|
5726 |
+
\*************************************************/
|
5727 |
+
/*! no static exports found */
|
5728 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5729 |
+
|
5730 |
+
"use strict";
|
5731 |
+
|
5732 |
+
var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js");
|
5733 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
5734 |
+
var MAP = 'Map';
|
5735 |
+
|
5736 |
+
// 23.1 Map Objects
|
5737 |
+
module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(MAP, function (get) {
|
5738 |
+
return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
|
5739 |
+
}, {
|
5740 |
+
// 23.1.3.6 Map.prototype.get(key)
|
5741 |
+
get: function get(key) {
|
5742 |
+
var entry = strong.getEntry(validate(this, MAP), key);
|
5743 |
+
return entry && entry.v;
|
5744 |
+
},
|
5745 |
+
// 23.1.3.9 Map.prototype.set(key, value)
|
5746 |
+
set: function set(key, value) {
|
5747 |
+
return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
|
5748 |
+
}
|
5749 |
+
}, strong, true);
|
5750 |
+
|
5751 |
+
|
5752 |
+
/***/ }),
|
5753 |
+
|
5754 |
+
/***/ "./node_modules/core-js/modules/es6.math.acosh.js":
|
5755 |
+
/*!********************************************************!*\
|
5756 |
+
!*** ./node_modules/core-js/modules/es6.math.acosh.js ***!
|
5757 |
+
\********************************************************/
|
5758 |
+
/*! no static exports found */
|
5759 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5760 |
+
|
5761 |
+
// 20.2.2.3 Math.acosh(x)
|
5762 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5763 |
+
var log1p = __webpack_require__(/*! ./_math-log1p */ "./node_modules/core-js/modules/_math-log1p.js");
|
5764 |
+
var sqrt = Math.sqrt;
|
5765 |
+
var $acosh = Math.acosh;
|
5766 |
+
|
5767 |
+
$export($export.S + $export.F * !($acosh
|
5768 |
+
// V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
|
5769 |
+
&& Math.floor($acosh(Number.MAX_VALUE)) == 710
|
5770 |
+
// Tor Browser bug: Math.acosh(Infinity) -> NaN
|
5771 |
+
&& $acosh(Infinity) == Infinity
|
5772 |
+
), 'Math', {
|
5773 |
+
acosh: function acosh(x) {
|
5774 |
+
return (x = +x) < 1 ? NaN : x > 94906265.62425156
|
5775 |
+
? Math.log(x) + Math.LN2
|
5776 |
+
: log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
|
5777 |
+
}
|
5778 |
+
});
|
5779 |
+
|
5780 |
+
|
5781 |
+
/***/ }),
|
5782 |
+
|
5783 |
+
/***/ "./node_modules/core-js/modules/es6.math.asinh.js":
|
5784 |
+
/*!********************************************************!*\
|
5785 |
+
!*** ./node_modules/core-js/modules/es6.math.asinh.js ***!
|
5786 |
+
\********************************************************/
|
5787 |
+
/*! no static exports found */
|
5788 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5789 |
+
|
5790 |
+
// 20.2.2.5 Math.asinh(x)
|
5791 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5792 |
+
var $asinh = Math.asinh;
|
5793 |
+
|
5794 |
+
function asinh(x) {
|
5795 |
+
return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
|
5796 |
+
}
|
5797 |
+
|
5798 |
+
// Tor Browser bug: Math.asinh(0) -> -0
|
5799 |
+
$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });
|
5800 |
+
|
5801 |
+
|
5802 |
+
/***/ }),
|
5803 |
+
|
5804 |
+
/***/ "./node_modules/core-js/modules/es6.math.atanh.js":
|
5805 |
+
/*!********************************************************!*\
|
5806 |
+
!*** ./node_modules/core-js/modules/es6.math.atanh.js ***!
|
5807 |
+
\********************************************************/
|
5808 |
+
/*! no static exports found */
|
5809 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5810 |
+
|
5811 |
+
// 20.2.2.7 Math.atanh(x)
|
5812 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5813 |
+
var $atanh = Math.atanh;
|
5814 |
+
|
5815 |
+
// Tor Browser bug: Math.atanh(-0) -> 0
|
5816 |
+
$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
|
5817 |
+
atanh: function atanh(x) {
|
5818 |
+
return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
|
5819 |
+
}
|
5820 |
+
});
|
5821 |
+
|
5822 |
+
|
5823 |
+
/***/ }),
|
5824 |
+
|
5825 |
+
/***/ "./node_modules/core-js/modules/es6.math.cbrt.js":
|
5826 |
+
/*!*******************************************************!*\
|
5827 |
+
!*** ./node_modules/core-js/modules/es6.math.cbrt.js ***!
|
5828 |
+
\*******************************************************/
|
5829 |
+
/*! no static exports found */
|
5830 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5831 |
+
|
5832 |
+
// 20.2.2.9 Math.cbrt(x)
|
5833 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5834 |
+
var sign = __webpack_require__(/*! ./_math-sign */ "./node_modules/core-js/modules/_math-sign.js");
|
5835 |
+
|
5836 |
+
$export($export.S, 'Math', {
|
5837 |
+
cbrt: function cbrt(x) {
|
5838 |
+
return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
|
5839 |
+
}
|
5840 |
+
});
|
5841 |
+
|
5842 |
+
|
5843 |
+
/***/ }),
|
5844 |
+
|
5845 |
+
/***/ "./node_modules/core-js/modules/es6.math.clz32.js":
|
5846 |
+
/*!********************************************************!*\
|
5847 |
+
!*** ./node_modules/core-js/modules/es6.math.clz32.js ***!
|
5848 |
+
\********************************************************/
|
5849 |
+
/*! no static exports found */
|
5850 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5851 |
+
|
5852 |
+
// 20.2.2.11 Math.clz32(x)
|
5853 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5854 |
+
|
5855 |
+
$export($export.S, 'Math', {
|
5856 |
+
clz32: function clz32(x) {
|
5857 |
+
return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
|
5858 |
+
}
|
5859 |
+
});
|
5860 |
+
|
5861 |
+
|
5862 |
+
/***/ }),
|
5863 |
+
|
5864 |
+
/***/ "./node_modules/core-js/modules/es6.math.cosh.js":
|
5865 |
+
/*!*******************************************************!*\
|
5866 |
+
!*** ./node_modules/core-js/modules/es6.math.cosh.js ***!
|
5867 |
+
\*******************************************************/
|
5868 |
+
/*! no static exports found */
|
5869 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5870 |
+
|
5871 |
+
// 20.2.2.12 Math.cosh(x)
|
5872 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5873 |
+
var exp = Math.exp;
|
5874 |
+
|
5875 |
+
$export($export.S, 'Math', {
|
5876 |
+
cosh: function cosh(x) {
|
5877 |
+
return (exp(x = +x) + exp(-x)) / 2;
|
5878 |
+
}
|
5879 |
+
});
|
5880 |
+
|
5881 |
+
|
5882 |
+
/***/ }),
|
5883 |
+
|
5884 |
+
/***/ "./node_modules/core-js/modules/es6.math.expm1.js":
|
5885 |
+
/*!********************************************************!*\
|
5886 |
+
!*** ./node_modules/core-js/modules/es6.math.expm1.js ***!
|
5887 |
+
\********************************************************/
|
5888 |
+
/*! no static exports found */
|
5889 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5890 |
+
|
5891 |
+
// 20.2.2.14 Math.expm1(x)
|
5892 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5893 |
+
var $expm1 = __webpack_require__(/*! ./_math-expm1 */ "./node_modules/core-js/modules/_math-expm1.js");
|
5894 |
+
|
5895 |
+
$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });
|
5896 |
+
|
5897 |
+
|
5898 |
+
/***/ }),
|
5899 |
+
|
5900 |
+
/***/ "./node_modules/core-js/modules/es6.math.fround.js":
|
5901 |
+
/*!*********************************************************!*\
|
5902 |
+
!*** ./node_modules/core-js/modules/es6.math.fround.js ***!
|
5903 |
+
\*********************************************************/
|
5904 |
+
/*! no static exports found */
|
5905 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5906 |
+
|
5907 |
+
// 20.2.2.16 Math.fround(x)
|
5908 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5909 |
+
|
5910 |
+
$export($export.S, 'Math', { fround: __webpack_require__(/*! ./_math-fround */ "./node_modules/core-js/modules/_math-fround.js") });
|
5911 |
+
|
5912 |
+
|
5913 |
+
/***/ }),
|
5914 |
+
|
5915 |
+
/***/ "./node_modules/core-js/modules/es6.math.hypot.js":
|
5916 |
+
/*!********************************************************!*\
|
5917 |
+
!*** ./node_modules/core-js/modules/es6.math.hypot.js ***!
|
5918 |
+
\********************************************************/
|
5919 |
+
/*! no static exports found */
|
5920 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5921 |
+
|
5922 |
+
// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
|
5923 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5924 |
+
var abs = Math.abs;
|
5925 |
+
|
5926 |
+
$export($export.S, 'Math', {
|
5927 |
+
hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
|
5928 |
+
var sum = 0;
|
5929 |
+
var i = 0;
|
5930 |
+
var aLen = arguments.length;
|
5931 |
+
var larg = 0;
|
5932 |
+
var arg, div;
|
5933 |
+
while (i < aLen) {
|
5934 |
+
arg = abs(arguments[i++]);
|
5935 |
+
if (larg < arg) {
|
5936 |
+
div = larg / arg;
|
5937 |
+
sum = sum * div * div + 1;
|
5938 |
+
larg = arg;
|
5939 |
+
} else if (arg > 0) {
|
5940 |
+
div = arg / larg;
|
5941 |
+
sum += div * div;
|
5942 |
+
} else sum += arg;
|
5943 |
+
}
|
5944 |
+
return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
|
5945 |
+
}
|
5946 |
+
});
|
5947 |
+
|
5948 |
+
|
5949 |
+
/***/ }),
|
5950 |
+
|
5951 |
+
/***/ "./node_modules/core-js/modules/es6.math.imul.js":
|
5952 |
+
/*!*******************************************************!*\
|
5953 |
+
!*** ./node_modules/core-js/modules/es6.math.imul.js ***!
|
5954 |
+
\*******************************************************/
|
5955 |
+
/*! no static exports found */
|
5956 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5957 |
+
|
5958 |
+
// 20.2.2.18 Math.imul(x, y)
|
5959 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5960 |
+
var $imul = Math.imul;
|
5961 |
+
|
5962 |
+
// some WebKit versions fails with big numbers, some has wrong arity
|
5963 |
+
$export($export.S + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
5964 |
+
return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
|
5965 |
+
}), 'Math', {
|
5966 |
+
imul: function imul(x, y) {
|
5967 |
+
var UINT16 = 0xffff;
|
5968 |
+
var xn = +x;
|
5969 |
+
var yn = +y;
|
5970 |
+
var xl = UINT16 & xn;
|
5971 |
+
var yl = UINT16 & yn;
|
5972 |
+
return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
|
5973 |
+
}
|
5974 |
+
});
|
5975 |
+
|
5976 |
+
|
5977 |
+
/***/ }),
|
5978 |
+
|
5979 |
+
/***/ "./node_modules/core-js/modules/es6.math.log10.js":
|
5980 |
+
/*!********************************************************!*\
|
5981 |
+
!*** ./node_modules/core-js/modules/es6.math.log10.js ***!
|
5982 |
+
\********************************************************/
|
5983 |
+
/*! no static exports found */
|
5984 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5985 |
+
|
5986 |
+
// 20.2.2.21 Math.log10(x)
|
5987 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
5988 |
+
|
5989 |
+
$export($export.S, 'Math', {
|
5990 |
+
log10: function log10(x) {
|
5991 |
+
return Math.log(x) * Math.LOG10E;
|
5992 |
+
}
|
5993 |
+
});
|
5994 |
+
|
5995 |
+
|
5996 |
+
/***/ }),
|
5997 |
+
|
5998 |
+
/***/ "./node_modules/core-js/modules/es6.math.log1p.js":
|
5999 |
+
/*!********************************************************!*\
|
6000 |
+
!*** ./node_modules/core-js/modules/es6.math.log1p.js ***!
|
6001 |
+
\********************************************************/
|
6002 |
+
/*! no static exports found */
|
6003 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6004 |
+
|
6005 |
+
// 20.2.2.20 Math.log1p(x)
|
6006 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6007 |
+
|
6008 |
+
$export($export.S, 'Math', { log1p: __webpack_require__(/*! ./_math-log1p */ "./node_modules/core-js/modules/_math-log1p.js") });
|
6009 |
+
|
6010 |
+
|
6011 |
+
/***/ }),
|
6012 |
+
|
6013 |
+
/***/ "./node_modules/core-js/modules/es6.math.log2.js":
|
6014 |
+
/*!*******************************************************!*\
|
6015 |
+
!*** ./node_modules/core-js/modules/es6.math.log2.js ***!
|
6016 |
+
\*******************************************************/
|
6017 |
+
/*! no static exports found */
|
6018 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6019 |
+
|
6020 |
+
// 20.2.2.22 Math.log2(x)
|
6021 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6022 |
+
|
6023 |
+
$export($export.S, 'Math', {
|
6024 |
+
log2: function log2(x) {
|
6025 |
+
return Math.log(x) / Math.LN2;
|
6026 |
+
}
|
6027 |
+
});
|
6028 |
+
|
6029 |
+
|
6030 |
+
/***/ }),
|
6031 |
+
|
6032 |
+
/***/ "./node_modules/core-js/modules/es6.math.sign.js":
|
6033 |
+
/*!*******************************************************!*\
|
6034 |
+
!*** ./node_modules/core-js/modules/es6.math.sign.js ***!
|
6035 |
+
\*******************************************************/
|
6036 |
+
/*! no static exports found */
|
6037 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6038 |
+
|
6039 |
+
// 20.2.2.28 Math.sign(x)
|
6040 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6041 |
+
|
6042 |
+
$export($export.S, 'Math', { sign: __webpack_require__(/*! ./_math-sign */ "./node_modules/core-js/modules/_math-sign.js") });
|
6043 |
+
|
6044 |
+
|
6045 |
+
/***/ }),
|
6046 |
+
|
6047 |
+
/***/ "./node_modules/core-js/modules/es6.math.sinh.js":
|
6048 |
+
/*!*******************************************************!*\
|
6049 |
+
!*** ./node_modules/core-js/modules/es6.math.sinh.js ***!
|
6050 |
+
\*******************************************************/
|
6051 |
+
/*! no static exports found */
|
6052 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6053 |
+
|
6054 |
+
// 20.2.2.30 Math.sinh(x)
|
6055 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6056 |
+
var expm1 = __webpack_require__(/*! ./_math-expm1 */ "./node_modules/core-js/modules/_math-expm1.js");
|
6057 |
+
var exp = Math.exp;
|
6058 |
+
|
6059 |
+
// V8 near Chromium 38 has a problem with very small numbers
|
6060 |
+
$export($export.S + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
6061 |
+
return !Math.sinh(-2e-17) != -2e-17;
|
6062 |
+
}), 'Math', {
|
6063 |
+
sinh: function sinh(x) {
|
6064 |
+
return Math.abs(x = +x) < 1
|
6065 |
+
? (expm1(x) - expm1(-x)) / 2
|
6066 |
+
: (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
|
6067 |
+
}
|
6068 |
+
});
|
6069 |
+
|
6070 |
+
|
6071 |
+
/***/ }),
|
6072 |
+
|
6073 |
+
/***/ "./node_modules/core-js/modules/es6.math.tanh.js":
|
6074 |
+
/*!*******************************************************!*\
|
6075 |
+
!*** ./node_modules/core-js/modules/es6.math.tanh.js ***!
|
6076 |
+
\*******************************************************/
|
6077 |
+
/*! no static exports found */
|
6078 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6079 |
+
|
6080 |
+
// 20.2.2.33 Math.tanh(x)
|
6081 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6082 |
+
var expm1 = __webpack_require__(/*! ./_math-expm1 */ "./node_modules/core-js/modules/_math-expm1.js");
|
6083 |
+
var exp = Math.exp;
|
6084 |
+
|
6085 |
+
$export($export.S, 'Math', {
|
6086 |
+
tanh: function tanh(x) {
|
6087 |
+
var a = expm1(x = +x);
|
6088 |
+
var b = expm1(-x);
|
6089 |
+
return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
|
6090 |
+
}
|
6091 |
+
});
|
6092 |
+
|
6093 |
+
|
6094 |
+
/***/ }),
|
6095 |
+
|
6096 |
+
/***/ "./node_modules/core-js/modules/es6.math.trunc.js":
|
6097 |
+
/*!********************************************************!*\
|
6098 |
+
!*** ./node_modules/core-js/modules/es6.math.trunc.js ***!
|
6099 |
+
\********************************************************/
|
6100 |
+
/*! no static exports found */
|
6101 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6102 |
+
|
6103 |
+
// 20.2.2.34 Math.trunc(x)
|
6104 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6105 |
+
|
6106 |
+
$export($export.S, 'Math', {
|
6107 |
+
trunc: function trunc(it) {
|
6108 |
+
return (it > 0 ? Math.floor : Math.ceil)(it);
|
6109 |
+
}
|
6110 |
+
});
|
6111 |
+
|
6112 |
+
|
6113 |
+
/***/ }),
|
6114 |
+
|
6115 |
+
/***/ "./node_modules/core-js/modules/es6.number.constructor.js":
|
6116 |
+
/*!****************************************************************!*\
|
6117 |
+
!*** ./node_modules/core-js/modules/es6.number.constructor.js ***!
|
6118 |
+
\****************************************************************/
|
6119 |
+
/*! no static exports found */
|
6120 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6121 |
+
|
6122 |
+
"use strict";
|
6123 |
+
|
6124 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
6125 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
6126 |
+
var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js");
|
6127 |
+
var inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ "./node_modules/core-js/modules/_inherit-if-required.js");
|
6128 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
6129 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
6130 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f;
|
6131 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f;
|
6132 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
6133 |
+
var $trim = __webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js").trim;
|
6134 |
+
var NUMBER = 'Number';
|
6135 |
+
var $Number = global[NUMBER];
|
6136 |
+
var Base = $Number;
|
6137 |
+
var proto = $Number.prototype;
|
6138 |
+
// Opera ~12 has broken Object#toString
|
6139 |
+
var BROKEN_COF = cof(__webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js")(proto)) == NUMBER;
|
6140 |
+
var TRIM = 'trim' in String.prototype;
|
6141 |
+
|
6142 |
+
// 7.1.3 ToNumber(argument)
|
6143 |
+
var toNumber = function (argument) {
|
6144 |
+
var it = toPrimitive(argument, false);
|
6145 |
+
if (typeof it == 'string' && it.length > 2) {
|
6146 |
+
it = TRIM ? it.trim() : $trim(it, 3);
|
6147 |
+
var first = it.charCodeAt(0);
|
6148 |
+
var third, radix, maxCode;
|
6149 |
+
if (first === 43 || first === 45) {
|
6150 |
+
third = it.charCodeAt(2);
|
6151 |
+
if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
|
6152 |
+
} else if (first === 48) {
|
6153 |
+
switch (it.charCodeAt(1)) {
|
6154 |
+
case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
|
6155 |
+
case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
|
6156 |
+
default: return +it;
|
6157 |
+
}
|
6158 |
+
for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
|
6159 |
+
code = digits.charCodeAt(i);
|
6160 |
+
// parseInt parses a string to a first unavailable symbol
|
6161 |
+
// but ToNumber should return NaN if a string contains unavailable symbols
|
6162 |
+
if (code < 48 || code > maxCode) return NaN;
|
6163 |
+
} return parseInt(digits, radix);
|
6164 |
+
}
|
6165 |
+
} return +it;
|
6166 |
+
};
|
6167 |
+
|
6168 |
+
if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
|
6169 |
+
$Number = function Number(value) {
|
6170 |
+
var it = arguments.length < 1 ? 0 : value;
|
6171 |
+
var that = this;
|
6172 |
+
return that instanceof $Number
|
6173 |
+
// check on 1..constructor(foo) case
|
6174 |
+
&& (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)
|
6175 |
+
? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
|
6176 |
+
};
|
6177 |
+
for (var keys = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? gOPN(Base) : (
|
6178 |
+
// ES3:
|
6179 |
+
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
|
6180 |
+
// ES6 (in case, if modules with ES6 Number statics required before):
|
6181 |
+
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
|
6182 |
+
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
|
6183 |
+
).split(','), j = 0, key; keys.length > j; j++) {
|
6184 |
+
if (has(Base, key = keys[j]) && !has($Number, key)) {
|
6185 |
+
dP($Number, key, gOPD(Base, key));
|
6186 |
+
}
|
6187 |
+
}
|
6188 |
+
$Number.prototype = proto;
|
6189 |
+
proto.constructor = $Number;
|
6190 |
+
__webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js")(global, NUMBER, $Number);
|
6191 |
+
}
|
6192 |
+
|
6193 |
+
|
6194 |
+
/***/ }),
|
6195 |
+
|
6196 |
+
/***/ "./node_modules/core-js/modules/es6.number.epsilon.js":
|
6197 |
+
/*!************************************************************!*\
|
6198 |
+
!*** ./node_modules/core-js/modules/es6.number.epsilon.js ***!
|
6199 |
+
\************************************************************/
|
6200 |
+
/*! no static exports found */
|
6201 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6202 |
+
|
6203 |
+
// 20.1.2.1 Number.EPSILON
|
6204 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6205 |
+
|
6206 |
+
$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });
|
6207 |
+
|
6208 |
+
|
6209 |
+
/***/ }),
|
6210 |
+
|
6211 |
+
/***/ "./node_modules/core-js/modules/es6.number.is-finite.js":
|
6212 |
+
/*!**************************************************************!*\
|
6213 |
+
!*** ./node_modules/core-js/modules/es6.number.is-finite.js ***!
|
6214 |
+
\**************************************************************/
|
6215 |
+
/*! no static exports found */
|
6216 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6217 |
+
|
6218 |
+
// 20.1.2.2 Number.isFinite(number)
|
6219 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6220 |
+
var _isFinite = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").isFinite;
|
6221 |
+
|
6222 |
+
$export($export.S, 'Number', {
|
6223 |
+
isFinite: function isFinite(it) {
|
6224 |
+
return typeof it == 'number' && _isFinite(it);
|
6225 |
+
}
|
6226 |
+
});
|
6227 |
+
|
6228 |
+
|
6229 |
+
/***/ }),
|
6230 |
+
|
6231 |
+
/***/ "./node_modules/core-js/modules/es6.number.is-integer.js":
|
6232 |
+
/*!***************************************************************!*\
|
6233 |
+
!*** ./node_modules/core-js/modules/es6.number.is-integer.js ***!
|
6234 |
+
\***************************************************************/
|
6235 |
+
/*! no static exports found */
|
6236 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6237 |
+
|
6238 |
+
// 20.1.2.3 Number.isInteger(number)
|
6239 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6240 |
+
|
6241 |
+
$export($export.S, 'Number', { isInteger: __webpack_require__(/*! ./_is-integer */ "./node_modules/core-js/modules/_is-integer.js") });
|
6242 |
+
|
6243 |
+
|
6244 |
+
/***/ }),
|
6245 |
+
|
6246 |
+
/***/ "./node_modules/core-js/modules/es6.number.is-nan.js":
|
6247 |
+
/*!***********************************************************!*\
|
6248 |
+
!*** ./node_modules/core-js/modules/es6.number.is-nan.js ***!
|
6249 |
+
\***********************************************************/
|
6250 |
+
/*! no static exports found */
|
6251 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6252 |
+
|
6253 |
+
// 20.1.2.4 Number.isNaN(number)
|
6254 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6255 |
+
|
6256 |
+
$export($export.S, 'Number', {
|
6257 |
+
isNaN: function isNaN(number) {
|
6258 |
+
// eslint-disable-next-line no-self-compare
|
6259 |
+
return number != number;
|
6260 |
+
}
|
6261 |
+
});
|
6262 |
+
|
6263 |
+
|
6264 |
+
/***/ }),
|
6265 |
+
|
6266 |
+
/***/ "./node_modules/core-js/modules/es6.number.is-safe-integer.js":
|
6267 |
+
/*!********************************************************************!*\
|
6268 |
+
!*** ./node_modules/core-js/modules/es6.number.is-safe-integer.js ***!
|
6269 |
+
\********************************************************************/
|
6270 |
+
/*! no static exports found */
|
6271 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6272 |
+
|
6273 |
+
// 20.1.2.5 Number.isSafeInteger(number)
|
6274 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6275 |
+
var isInteger = __webpack_require__(/*! ./_is-integer */ "./node_modules/core-js/modules/_is-integer.js");
|
6276 |
+
var abs = Math.abs;
|
6277 |
+
|
6278 |
+
$export($export.S, 'Number', {
|
6279 |
+
isSafeInteger: function isSafeInteger(number) {
|
6280 |
+
return isInteger(number) && abs(number) <= 0x1fffffffffffff;
|
6281 |
+
}
|
6282 |
+
});
|
6283 |
+
|
6284 |
+
|
6285 |
+
/***/ }),
|
6286 |
+
|
6287 |
+
/***/ "./node_modules/core-js/modules/es6.number.max-safe-integer.js":
|
6288 |
+
/*!*********************************************************************!*\
|
6289 |
+
!*** ./node_modules/core-js/modules/es6.number.max-safe-integer.js ***!
|
6290 |
+
\*********************************************************************/
|
6291 |
+
/*! no static exports found */
|
6292 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6293 |
+
|
6294 |
+
// 20.1.2.6 Number.MAX_SAFE_INTEGER
|
6295 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6296 |
+
|
6297 |
+
$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });
|
6298 |
+
|
6299 |
+
|
6300 |
+
/***/ }),
|
6301 |
+
|
6302 |
+
/***/ "./node_modules/core-js/modules/es6.number.min-safe-integer.js":
|
6303 |
+
/*!*********************************************************************!*\
|
6304 |
+
!*** ./node_modules/core-js/modules/es6.number.min-safe-integer.js ***!
|
6305 |
+
\*********************************************************************/
|
6306 |
+
/*! no static exports found */
|
6307 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6308 |
+
|
6309 |
+
// 20.1.2.10 Number.MIN_SAFE_INTEGER
|
6310 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6311 |
+
|
6312 |
+
$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });
|
6313 |
+
|
6314 |
+
|
6315 |
+
/***/ }),
|
6316 |
+
|
6317 |
+
/***/ "./node_modules/core-js/modules/es6.number.parse-float.js":
|
6318 |
+
/*!****************************************************************!*\
|
6319 |
+
!*** ./node_modules/core-js/modules/es6.number.parse-float.js ***!
|
6320 |
+
\****************************************************************/
|
6321 |
+
/*! no static exports found */
|
6322 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6323 |
+
|
6324 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6325 |
+
var $parseFloat = __webpack_require__(/*! ./_parse-float */ "./node_modules/core-js/modules/_parse-float.js");
|
6326 |
+
// 20.1.2.12 Number.parseFloat(string)
|
6327 |
+
$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });
|
6328 |
+
|
6329 |
+
|
6330 |
+
/***/ }),
|
6331 |
+
|
6332 |
+
/***/ "./node_modules/core-js/modules/es6.number.parse-int.js":
|
6333 |
+
/*!**************************************************************!*\
|
6334 |
+
!*** ./node_modules/core-js/modules/es6.number.parse-int.js ***!
|
6335 |
+
\**************************************************************/
|
6336 |
+
/*! no static exports found */
|
6337 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6338 |
+
|
6339 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6340 |
+
var $parseInt = __webpack_require__(/*! ./_parse-int */ "./node_modules/core-js/modules/_parse-int.js");
|
6341 |
+
// 20.1.2.13 Number.parseInt(string, radix)
|
6342 |
+
$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });
|
6343 |
+
|
6344 |
+
|
6345 |
+
/***/ }),
|
6346 |
+
|
6347 |
+
/***/ "./node_modules/core-js/modules/es6.number.to-fixed.js":
|
6348 |
+
/*!*************************************************************!*\
|
6349 |
+
!*** ./node_modules/core-js/modules/es6.number.to-fixed.js ***!
|
6350 |
+
\*************************************************************/
|
6351 |
+
/*! no static exports found */
|
6352 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6353 |
+
|
6354 |
+
"use strict";
|
6355 |
+
|
6356 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6357 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
6358 |
+
var aNumberValue = __webpack_require__(/*! ./_a-number-value */ "./node_modules/core-js/modules/_a-number-value.js");
|
6359 |
+
var repeat = __webpack_require__(/*! ./_string-repeat */ "./node_modules/core-js/modules/_string-repeat.js");
|
6360 |
+
var $toFixed = 1.0.toFixed;
|
6361 |
+
var floor = Math.floor;
|
6362 |
+
var data = [0, 0, 0, 0, 0, 0];
|
6363 |
+
var ERROR = 'Number.toFixed: incorrect invocation!';
|
6364 |
+
var ZERO = '0';
|
6365 |
+
|
6366 |
+
var multiply = function (n, c) {
|
6367 |
+
var i = -1;
|
6368 |
+
var c2 = c;
|
6369 |
+
while (++i < 6) {
|
6370 |
+
c2 += n * data[i];
|
6371 |
+
data[i] = c2 % 1e7;
|
6372 |
+
c2 = floor(c2 / 1e7);
|
6373 |
+
}
|
6374 |
+
};
|
6375 |
+
var divide = function (n) {
|
6376 |
+
var i = 6;
|
6377 |
+
var c = 0;
|
6378 |
+
while (--i >= 0) {
|
6379 |
+
c += data[i];
|
6380 |
+
data[i] = floor(c / n);
|
6381 |
+
c = (c % n) * 1e7;
|
6382 |
+
}
|
6383 |
+
};
|
6384 |
+
var numToString = function () {
|
6385 |
+
var i = 6;
|
6386 |
+
var s = '';
|
6387 |
+
while (--i >= 0) {
|
6388 |
+
if (s !== '' || i === 0 || data[i] !== 0) {
|
6389 |
+
var t = String(data[i]);
|
6390 |
+
s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
|
6391 |
+
}
|
6392 |
+
} return s;
|
6393 |
+
};
|
6394 |
+
var pow = function (x, n, acc) {
|
6395 |
+
return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
|
6396 |
+
};
|
6397 |
+
var log = function (x) {
|
6398 |
+
var n = 0;
|
6399 |
+
var x2 = x;
|
6400 |
+
while (x2 >= 4096) {
|
6401 |
+
n += 12;
|
6402 |
+
x2 /= 4096;
|
6403 |
+
}
|
6404 |
+
while (x2 >= 2) {
|
6405 |
+
n += 1;
|
6406 |
+
x2 /= 2;
|
6407 |
+
} return n;
|
6408 |
+
};
|
6409 |
+
|
6410 |
+
$export($export.P + $export.F * (!!$toFixed && (
|
6411 |
+
0.00008.toFixed(3) !== '0.000' ||
|
6412 |
+
0.9.toFixed(0) !== '1' ||
|
6413 |
+
1.255.toFixed(2) !== '1.25' ||
|
6414 |
+
1000000000000000128.0.toFixed(0) !== '1000000000000000128'
|
6415 |
+
) || !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
6416 |
+
// V8 ~ Android 4.3-
|
6417 |
+
$toFixed.call({});
|
6418 |
+
})), 'Number', {
|
6419 |
+
toFixed: function toFixed(fractionDigits) {
|
6420 |
+
var x = aNumberValue(this, ERROR);
|
6421 |
+
var f = toInteger(fractionDigits);
|
6422 |
+
var s = '';
|
6423 |
+
var m = ZERO;
|
6424 |
+
var e, z, j, k;
|
6425 |
+
if (f < 0 || f > 20) throw RangeError(ERROR);
|
6426 |
+
// eslint-disable-next-line no-self-compare
|
6427 |
+
if (x != x) return 'NaN';
|
6428 |
+
if (x <= -1e21 || x >= 1e21) return String(x);
|
6429 |
+
if (x < 0) {
|
6430 |
+
s = '-';
|
6431 |
+
x = -x;
|
6432 |
+
}
|
6433 |
+
if (x > 1e-21) {
|
6434 |
+
e = log(x * pow(2, 69, 1)) - 69;
|
6435 |
+
z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
|
6436 |
+
z *= 0x10000000000000;
|
6437 |
+
e = 52 - e;
|
6438 |
+
if (e > 0) {
|
6439 |
+
multiply(0, z);
|
6440 |
+
j = f;
|
6441 |
+
while (j >= 7) {
|
6442 |
+
multiply(1e7, 0);
|
6443 |
+
j -= 7;
|
6444 |
+
}
|
6445 |
+
multiply(pow(10, j, 1), 0);
|
6446 |
+
j = e - 1;
|
6447 |
+
while (j >= 23) {
|
6448 |
+
divide(1 << 23);
|
6449 |
+
j -= 23;
|
6450 |
+
}
|
6451 |
+
divide(1 << j);
|
6452 |
+
multiply(1, 1);
|
6453 |
+
divide(2);
|
6454 |
+
m = numToString();
|
6455 |
+
} else {
|
6456 |
+
multiply(0, z);
|
6457 |
+
multiply(1 << -e, 0);
|
6458 |
+
m = numToString() + repeat.call(ZERO, f);
|
6459 |
+
}
|
6460 |
+
}
|
6461 |
+
if (f > 0) {
|
6462 |
+
k = m.length;
|
6463 |
+
m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
|
6464 |
+
} else {
|
6465 |
+
m = s + m;
|
6466 |
+
} return m;
|
6467 |
+
}
|
6468 |
+
});
|
6469 |
+
|
6470 |
+
|
6471 |
+
/***/ }),
|
6472 |
+
|
6473 |
+
/***/ "./node_modules/core-js/modules/es6.number.to-precision.js":
|
6474 |
+
/*!*****************************************************************!*\
|
6475 |
+
!*** ./node_modules/core-js/modules/es6.number.to-precision.js ***!
|
6476 |
+
\*****************************************************************/
|
6477 |
+
/*! no static exports found */
|
6478 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6479 |
+
|
6480 |
+
"use strict";
|
6481 |
+
|
6482 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6483 |
+
var $fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
6484 |
+
var aNumberValue = __webpack_require__(/*! ./_a-number-value */ "./node_modules/core-js/modules/_a-number-value.js");
|
6485 |
+
var $toPrecision = 1.0.toPrecision;
|
6486 |
+
|
6487 |
+
$export($export.P + $export.F * ($fails(function () {
|
6488 |
+
// IE7-
|
6489 |
+
return $toPrecision.call(1, undefined) !== '1';
|
6490 |
+
}) || !$fails(function () {
|
6491 |
+
// V8 ~ Android 4.3-
|
6492 |
+
$toPrecision.call({});
|
6493 |
+
})), 'Number', {
|
6494 |
+
toPrecision: function toPrecision(precision) {
|
6495 |
+
var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
|
6496 |
+
return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
|
6497 |
+
}
|
6498 |
+
});
|
6499 |
+
|
6500 |
+
|
6501 |
+
/***/ }),
|
6502 |
+
|
6503 |
+
/***/ "./node_modules/core-js/modules/es6.object.assign.js":
|
6504 |
+
/*!***********************************************************!*\
|
6505 |
+
!*** ./node_modules/core-js/modules/es6.object.assign.js ***!
|
6506 |
+
\***********************************************************/
|
6507 |
+
/*! no static exports found */
|
6508 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6509 |
+
|
6510 |
+
// 19.1.3.1 Object.assign(target, source)
|
6511 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6512 |
+
|
6513 |
+
$export($export.S + $export.F, 'Object', { assign: __webpack_require__(/*! ./_object-assign */ "./node_modules/core-js/modules/_object-assign.js") });
|
6514 |
+
|
6515 |
+
|
6516 |
+
/***/ }),
|
6517 |
+
|
6518 |
+
/***/ "./node_modules/core-js/modules/es6.object.create.js":
|
6519 |
+
/*!***********************************************************!*\
|
6520 |
+
!*** ./node_modules/core-js/modules/es6.object.create.js ***!
|
6521 |
+
\***********************************************************/
|
6522 |
+
/*! no static exports found */
|
6523 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6524 |
+
|
6525 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6526 |
+
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
6527 |
+
$export($export.S, 'Object', { create: __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js") });
|
6528 |
+
|
6529 |
+
|
6530 |
+
/***/ }),
|
6531 |
+
|
6532 |
+
/***/ "./node_modules/core-js/modules/es6.object.define-properties.js":
|
6533 |
+
/*!**********************************************************************!*\
|
6534 |
+
!*** ./node_modules/core-js/modules/es6.object.define-properties.js ***!
|
6535 |
+
\**********************************************************************/
|
6536 |
+
/*! no static exports found */
|
6537 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6538 |
+
|
6539 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6540 |
+
// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
|
6541 |
+
$export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"), 'Object', { defineProperties: __webpack_require__(/*! ./_object-dps */ "./node_modules/core-js/modules/_object-dps.js") });
|
6542 |
+
|
6543 |
+
|
6544 |
+
/***/ }),
|
6545 |
+
|
6546 |
+
/***/ "./node_modules/core-js/modules/es6.object.define-property.js":
|
6547 |
+
/*!********************************************************************!*\
|
6548 |
+
!*** ./node_modules/core-js/modules/es6.object.define-property.js ***!
|
6549 |
+
\********************************************************************/
|
6550 |
+
/*! no static exports found */
|
6551 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6552 |
+
|
6553 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6554 |
+
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
|
6555 |
+
$export($export.S + $export.F * !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"), 'Object', { defineProperty: __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f });
|
6556 |
+
|
6557 |
+
|
6558 |
+
/***/ }),
|
6559 |
+
|
6560 |
+
/***/ "./node_modules/core-js/modules/es6.object.freeze.js":
|
6561 |
+
/*!***********************************************************!*\
|
6562 |
+
!*** ./node_modules/core-js/modules/es6.object.freeze.js ***!
|
6563 |
+
\***********************************************************/
|
6564 |
+
/*! no static exports found */
|
6565 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6566 |
+
|
6567 |
+
// 19.1.2.5 Object.freeze(O)
|
6568 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6569 |
+
var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").onFreeze;
|
6570 |
+
|
6571 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('freeze', function ($freeze) {
|
6572 |
+
return function freeze(it) {
|
6573 |
+
return $freeze && isObject(it) ? $freeze(meta(it)) : it;
|
6574 |
+
};
|
6575 |
+
});
|
6576 |
+
|
6577 |
+
|
6578 |
+
/***/ }),
|
6579 |
+
|
6580 |
+
/***/ "./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js":
|
6581 |
+
/*!********************************************************************************!*\
|
6582 |
+
!*** ./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js ***!
|
6583 |
+
\********************************************************************************/
|
6584 |
+
/*! no static exports found */
|
6585 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6586 |
+
|
6587 |
+
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
6588 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
6589 |
+
var $getOwnPropertyDescriptor = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f;
|
6590 |
+
|
6591 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('getOwnPropertyDescriptor', function () {
|
6592 |
+
return function getOwnPropertyDescriptor(it, key) {
|
6593 |
+
return $getOwnPropertyDescriptor(toIObject(it), key);
|
6594 |
+
};
|
6595 |
+
});
|
6596 |
+
|
6597 |
+
|
6598 |
+
/***/ }),
|
6599 |
+
|
6600 |
+
/***/ "./node_modules/core-js/modules/es6.object.get-own-property-names.js":
|
6601 |
+
/*!***************************************************************************!*\
|
6602 |
+
!*** ./node_modules/core-js/modules/es6.object.get-own-property-names.js ***!
|
6603 |
+
\***************************************************************************/
|
6604 |
+
/*! no static exports found */
|
6605 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6606 |
+
|
6607 |
+
// 19.1.2.7 Object.getOwnPropertyNames(O)
|
6608 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('getOwnPropertyNames', function () {
|
6609 |
+
return __webpack_require__(/*! ./_object-gopn-ext */ "./node_modules/core-js/modules/_object-gopn-ext.js").f;
|
6610 |
+
});
|
6611 |
+
|
6612 |
+
|
6613 |
+
/***/ }),
|
6614 |
+
|
6615 |
+
/***/ "./node_modules/core-js/modules/es6.object.get-prototype-of.js":
|
6616 |
+
/*!*********************************************************************!*\
|
6617 |
+
!*** ./node_modules/core-js/modules/es6.object.get-prototype-of.js ***!
|
6618 |
+
\*********************************************************************/
|
6619 |
+
/*! no static exports found */
|
6620 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6621 |
+
|
6622 |
+
// 19.1.2.9 Object.getPrototypeOf(O)
|
6623 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
6624 |
+
var $getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
6625 |
+
|
6626 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('getPrototypeOf', function () {
|
6627 |
+
return function getPrototypeOf(it) {
|
6628 |
+
return $getPrototypeOf(toObject(it));
|
6629 |
+
};
|
6630 |
+
});
|
6631 |
+
|
6632 |
+
|
6633 |
+
/***/ }),
|
6634 |
+
|
6635 |
+
/***/ "./node_modules/core-js/modules/es6.object.is-extensible.js":
|
6636 |
+
/*!******************************************************************!*\
|
6637 |
+
!*** ./node_modules/core-js/modules/es6.object.is-extensible.js ***!
|
6638 |
+
\******************************************************************/
|
6639 |
+
/*! no static exports found */
|
6640 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6641 |
+
|
6642 |
+
// 19.1.2.11 Object.isExtensible(O)
|
6643 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6644 |
+
|
6645 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('isExtensible', function ($isExtensible) {
|
6646 |
+
return function isExtensible(it) {
|
6647 |
+
return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
|
6648 |
+
};
|
6649 |
+
});
|
6650 |
+
|
6651 |
+
|
6652 |
+
/***/ }),
|
6653 |
+
|
6654 |
+
/***/ "./node_modules/core-js/modules/es6.object.is-frozen.js":
|
6655 |
+
/*!**************************************************************!*\
|
6656 |
+
!*** ./node_modules/core-js/modules/es6.object.is-frozen.js ***!
|
6657 |
+
\**************************************************************/
|
6658 |
+
/*! no static exports found */
|
6659 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6660 |
+
|
6661 |
+
// 19.1.2.12 Object.isFrozen(O)
|
6662 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6663 |
+
|
6664 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('isFrozen', function ($isFrozen) {
|
6665 |
+
return function isFrozen(it) {
|
6666 |
+
return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
|
6667 |
+
};
|
6668 |
+
});
|
6669 |
+
|
6670 |
+
|
6671 |
+
/***/ }),
|
6672 |
+
|
6673 |
+
/***/ "./node_modules/core-js/modules/es6.object.is-sealed.js":
|
6674 |
+
/*!**************************************************************!*\
|
6675 |
+
!*** ./node_modules/core-js/modules/es6.object.is-sealed.js ***!
|
6676 |
+
\**************************************************************/
|
6677 |
+
/*! no static exports found */
|
6678 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6679 |
+
|
6680 |
+
// 19.1.2.13 Object.isSealed(O)
|
6681 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6682 |
+
|
6683 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('isSealed', function ($isSealed) {
|
6684 |
+
return function isSealed(it) {
|
6685 |
+
return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
|
6686 |
+
};
|
6687 |
+
});
|
6688 |
+
|
6689 |
+
|
6690 |
+
/***/ }),
|
6691 |
+
|
6692 |
+
/***/ "./node_modules/core-js/modules/es6.object.is.js":
|
6693 |
+
/*!*******************************************************!*\
|
6694 |
+
!*** ./node_modules/core-js/modules/es6.object.is.js ***!
|
6695 |
+
\*******************************************************/
|
6696 |
+
/*! no static exports found */
|
6697 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6698 |
+
|
6699 |
+
// 19.1.3.10 Object.is(value1, value2)
|
6700 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6701 |
+
$export($export.S, 'Object', { is: __webpack_require__(/*! ./_same-value */ "./node_modules/core-js/modules/_same-value.js") });
|
6702 |
+
|
6703 |
+
|
6704 |
+
/***/ }),
|
6705 |
+
|
6706 |
+
/***/ "./node_modules/core-js/modules/es6.object.keys.js":
|
6707 |
+
/*!*********************************************************!*\
|
6708 |
+
!*** ./node_modules/core-js/modules/es6.object.keys.js ***!
|
6709 |
+
\*********************************************************/
|
6710 |
+
/*! no static exports found */
|
6711 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6712 |
+
|
6713 |
+
// 19.1.2.14 Object.keys(O)
|
6714 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
6715 |
+
var $keys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
6716 |
+
|
6717 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('keys', function () {
|
6718 |
+
return function keys(it) {
|
6719 |
+
return $keys(toObject(it));
|
6720 |
+
};
|
6721 |
+
});
|
6722 |
+
|
6723 |
+
|
6724 |
+
/***/ }),
|
6725 |
+
|
6726 |
+
/***/ "./node_modules/core-js/modules/es6.object.prevent-extensions.js":
|
6727 |
+
/*!***********************************************************************!*\
|
6728 |
+
!*** ./node_modules/core-js/modules/es6.object.prevent-extensions.js ***!
|
6729 |
+
\***********************************************************************/
|
6730 |
+
/*! no static exports found */
|
6731 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6732 |
+
|
6733 |
+
// 19.1.2.15 Object.preventExtensions(O)
|
6734 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6735 |
+
var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").onFreeze;
|
6736 |
+
|
6737 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('preventExtensions', function ($preventExtensions) {
|
6738 |
+
return function preventExtensions(it) {
|
6739 |
+
return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
|
6740 |
+
};
|
6741 |
+
});
|
6742 |
+
|
6743 |
+
|
6744 |
+
/***/ }),
|
6745 |
+
|
6746 |
+
/***/ "./node_modules/core-js/modules/es6.object.seal.js":
|
6747 |
+
/*!*********************************************************!*\
|
6748 |
+
!*** ./node_modules/core-js/modules/es6.object.seal.js ***!
|
6749 |
+
\*********************************************************/
|
6750 |
+
/*! no static exports found */
|
6751 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6752 |
+
|
6753 |
+
// 19.1.2.17 Object.seal(O)
|
6754 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6755 |
+
var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").onFreeze;
|
6756 |
+
|
6757 |
+
__webpack_require__(/*! ./_object-sap */ "./node_modules/core-js/modules/_object-sap.js")('seal', function ($seal) {
|
6758 |
+
return function seal(it) {
|
6759 |
+
return $seal && isObject(it) ? $seal(meta(it)) : it;
|
6760 |
+
};
|
6761 |
+
});
|
6762 |
+
|
6763 |
+
|
6764 |
+
/***/ }),
|
6765 |
+
|
6766 |
+
/***/ "./node_modules/core-js/modules/es6.object.set-prototype-of.js":
|
6767 |
+
/*!*********************************************************************!*\
|
6768 |
+
!*** ./node_modules/core-js/modules/es6.object.set-prototype-of.js ***!
|
6769 |
+
\*********************************************************************/
|
6770 |
+
/*! no static exports found */
|
6771 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6772 |
+
|
6773 |
+
// 19.1.3.19 Object.setPrototypeOf(O, proto)
|
6774 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6775 |
+
$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(/*! ./_set-proto */ "./node_modules/core-js/modules/_set-proto.js").set });
|
6776 |
+
|
6777 |
+
|
6778 |
+
/***/ }),
|
6779 |
+
|
6780 |
+
/***/ "./node_modules/core-js/modules/es6.object.to-string.js":
|
6781 |
+
/*!**************************************************************!*\
|
6782 |
+
!*** ./node_modules/core-js/modules/es6.object.to-string.js ***!
|
6783 |
+
\**************************************************************/
|
6784 |
+
/*! no static exports found */
|
6785 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6786 |
+
|
6787 |
+
"use strict";
|
6788 |
+
|
6789 |
+
// 19.1.3.6 Object.prototype.toString()
|
6790 |
+
var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js");
|
6791 |
+
var test = {};
|
6792 |
+
test[__webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag')] = 'z';
|
6793 |
+
if (test + '' != '[object z]') {
|
6794 |
+
__webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js")(Object.prototype, 'toString', function toString() {
|
6795 |
+
return '[object ' + classof(this) + ']';
|
6796 |
+
}, true);
|
6797 |
+
}
|
6798 |
+
|
6799 |
+
|
6800 |
+
/***/ }),
|
6801 |
+
|
6802 |
+
/***/ "./node_modules/core-js/modules/es6.parse-float.js":
|
6803 |
+
/*!*********************************************************!*\
|
6804 |
+
!*** ./node_modules/core-js/modules/es6.parse-float.js ***!
|
6805 |
+
\*********************************************************/
|
6806 |
+
/*! no static exports found */
|
6807 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6808 |
+
|
6809 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6810 |
+
var $parseFloat = __webpack_require__(/*! ./_parse-float */ "./node_modules/core-js/modules/_parse-float.js");
|
6811 |
+
// 18.2.4 parseFloat(string)
|
6812 |
+
$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
|
6813 |
+
|
6814 |
+
|
6815 |
+
/***/ }),
|
6816 |
+
|
6817 |
+
/***/ "./node_modules/core-js/modules/es6.parse-int.js":
|
6818 |
+
/*!*******************************************************!*\
|
6819 |
+
!*** ./node_modules/core-js/modules/es6.parse-int.js ***!
|
6820 |
+
\*******************************************************/
|
6821 |
+
/*! no static exports found */
|
6822 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6823 |
+
|
6824 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6825 |
+
var $parseInt = __webpack_require__(/*! ./_parse-int */ "./node_modules/core-js/modules/_parse-int.js");
|
6826 |
+
// 18.2.5 parseInt(string, radix)
|
6827 |
+
$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
|
6828 |
+
|
6829 |
+
|
6830 |
+
/***/ }),
|
6831 |
+
|
6832 |
+
/***/ "./node_modules/core-js/modules/es6.promise.js":
|
6833 |
+
/*!*****************************************************!*\
|
6834 |
+
!*** ./node_modules/core-js/modules/es6.promise.js ***!
|
6835 |
+
\*****************************************************/
|
6836 |
+
/*! no static exports found */
|
6837 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6838 |
+
|
6839 |
+
"use strict";
|
6840 |
+
|
6841 |
+
var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js");
|
6842 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
6843 |
+
var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js");
|
6844 |
+
var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js");
|
6845 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
6846 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
6847 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
6848 |
+
var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js");
|
6849 |
+
var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js");
|
6850 |
+
var speciesConstructor = __webpack_require__(/*! ./_species-constructor */ "./node_modules/core-js/modules/_species-constructor.js");
|
6851 |
+
var task = __webpack_require__(/*! ./_task */ "./node_modules/core-js/modules/_task.js").set;
|
6852 |
+
var microtask = __webpack_require__(/*! ./_microtask */ "./node_modules/core-js/modules/_microtask.js")();
|
6853 |
+
var newPromiseCapabilityModule = __webpack_require__(/*! ./_new-promise-capability */ "./node_modules/core-js/modules/_new-promise-capability.js");
|
6854 |
+
var perform = __webpack_require__(/*! ./_perform */ "./node_modules/core-js/modules/_perform.js");
|
6855 |
+
var userAgent = __webpack_require__(/*! ./_user-agent */ "./node_modules/core-js/modules/_user-agent.js");
|
6856 |
+
var promiseResolve = __webpack_require__(/*! ./_promise-resolve */ "./node_modules/core-js/modules/_promise-resolve.js");
|
6857 |
+
var PROMISE = 'Promise';
|
6858 |
+
var TypeError = global.TypeError;
|
6859 |
+
var process = global.process;
|
6860 |
+
var versions = process && process.versions;
|
6861 |
+
var v8 = versions && versions.v8 || '';
|
6862 |
+
var $Promise = global[PROMISE];
|
6863 |
+
var isNode = classof(process) == 'process';
|
6864 |
+
var empty = function () { /* empty */ };
|
6865 |
+
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
|
6866 |
+
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
|
6867 |
+
|
6868 |
+
var USE_NATIVE = !!function () {
|
6869 |
+
try {
|
6870 |
+
// correct subclassing with @@species support
|
6871 |
+
var promise = $Promise.resolve(1);
|
6872 |
+
var FakePromise = (promise.constructor = {})[__webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species')] = function (exec) {
|
6873 |
+
exec(empty, empty);
|
6874 |
+
};
|
6875 |
+
// unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
6876 |
+
return (isNode || typeof PromiseRejectionEvent == 'function')
|
6877 |
+
&& promise.then(empty) instanceof FakePromise
|
6878 |
+
// v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
6879 |
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
6880 |
+
// we can't detect it synchronously, so just check versions
|
6881 |
+
&& v8.indexOf('6.6') !== 0
|
6882 |
+
&& userAgent.indexOf('Chrome/66') === -1;
|
6883 |
+
} catch (e) { /* empty */ }
|
6884 |
+
}();
|
6885 |
+
|
6886 |
+
// helpers
|
6887 |
+
var isThenable = function (it) {
|
6888 |
+
var then;
|
6889 |
+
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
|
6890 |
+
};
|
6891 |
+
var notify = function (promise, isReject) {
|
6892 |
+
if (promise._n) return;
|
6893 |
+
promise._n = true;
|
6894 |
+
var chain = promise._c;
|
6895 |
+
microtask(function () {
|
6896 |
+
var value = promise._v;
|
6897 |
+
var ok = promise._s == 1;
|
6898 |
+
var i = 0;
|
6899 |
+
var run = function (reaction) {
|
6900 |
+
var handler = ok ? reaction.ok : reaction.fail;
|
6901 |
+
var resolve = reaction.resolve;
|
6902 |
+
var reject = reaction.reject;
|
6903 |
+
var domain = reaction.domain;
|
6904 |
+
var result, then, exited;
|
6905 |
+
try {
|
6906 |
+
if (handler) {
|
6907 |
+
if (!ok) {
|
6908 |
+
if (promise._h == 2) onHandleUnhandled(promise);
|
6909 |
+
promise._h = 1;
|
6910 |
+
}
|
6911 |
+
if (handler === true) result = value;
|
6912 |
+
else {
|
6913 |
+
if (domain) domain.enter();
|
6914 |
+
result = handler(value); // may throw
|
6915 |
+
if (domain) {
|
6916 |
+
domain.exit();
|
6917 |
+
exited = true;
|
6918 |
+
}
|
6919 |
+
}
|
6920 |
+
if (result === reaction.promise) {
|
6921 |
+
reject(TypeError('Promise-chain cycle'));
|
6922 |
+
} else if (then = isThenable(result)) {
|
6923 |
+
then.call(result, resolve, reject);
|
6924 |
+
} else resolve(result);
|
6925 |
+
} else reject(value);
|
6926 |
+
} catch (e) {
|
6927 |
+
if (domain && !exited) domain.exit();
|
6928 |
+
reject(e);
|
6929 |
+
}
|
6930 |
+
};
|
6931 |
+
while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
|
6932 |
+
promise._c = [];
|
6933 |
+
promise._n = false;
|
6934 |
+
if (isReject && !promise._h) onUnhandled(promise);
|
6935 |
+
});
|
6936 |
+
};
|
6937 |
+
var onUnhandled = function (promise) {
|
6938 |
+
task.call(global, function () {
|
6939 |
+
var value = promise._v;
|
6940 |
+
var unhandled = isUnhandled(promise);
|
6941 |
+
var result, handler, console;
|
6942 |
+
if (unhandled) {
|
6943 |
+
result = perform(function () {
|
6944 |
+
if (isNode) {
|
6945 |
+
process.emit('unhandledRejection', value, promise);
|
6946 |
+
} else if (handler = global.onunhandledrejection) {
|
6947 |
+
handler({ promise: promise, reason: value });
|
6948 |
+
} else if ((console = global.console) && console.error) {
|
6949 |
+
console.error('Unhandled promise rejection', value);
|
6950 |
+
}
|
6951 |
+
});
|
6952 |
+
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
6953 |
+
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
|
6954 |
+
} promise._a = undefined;
|
6955 |
+
if (unhandled && result.e) throw result.v;
|
6956 |
+
});
|
6957 |
+
};
|
6958 |
+
var isUnhandled = function (promise) {
|
6959 |
+
return promise._h !== 1 && (promise._a || promise._c).length === 0;
|
6960 |
+
};
|
6961 |
+
var onHandleUnhandled = function (promise) {
|
6962 |
+
task.call(global, function () {
|
6963 |
+
var handler;
|
6964 |
+
if (isNode) {
|
6965 |
+
process.emit('rejectionHandled', promise);
|
6966 |
+
} else if (handler = global.onrejectionhandled) {
|
6967 |
+
handler({ promise: promise, reason: promise._v });
|
6968 |
+
}
|
6969 |
+
});
|
6970 |
+
};
|
6971 |
+
var $reject = function (value) {
|
6972 |
+
var promise = this;
|
6973 |
+
if (promise._d) return;
|
6974 |
+
promise._d = true;
|
6975 |
+
promise = promise._w || promise; // unwrap
|
6976 |
+
promise._v = value;
|
6977 |
+
promise._s = 2;
|
6978 |
+
if (!promise._a) promise._a = promise._c.slice();
|
6979 |
+
notify(promise, true);
|
6980 |
+
};
|
6981 |
+
var $resolve = function (value) {
|
6982 |
+
var promise = this;
|
6983 |
+
var then;
|
6984 |
+
if (promise._d) return;
|
6985 |
+
promise._d = true;
|
6986 |
+
promise = promise._w || promise; // unwrap
|
6987 |
+
try {
|
6988 |
+
if (promise === value) throw TypeError("Promise can't be resolved itself");
|
6989 |
+
if (then = isThenable(value)) {
|
6990 |
+
microtask(function () {
|
6991 |
+
var wrapper = { _w: promise, _d: false }; // wrap
|
6992 |
+
try {
|
6993 |
+
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
|
6994 |
+
} catch (e) {
|
6995 |
+
$reject.call(wrapper, e);
|
6996 |
+
}
|
6997 |
+
});
|
6998 |
+
} else {
|
6999 |
+
promise._v = value;
|
7000 |
+
promise._s = 1;
|
7001 |
+
notify(promise, false);
|
7002 |
+
}
|
7003 |
+
} catch (e) {
|
7004 |
+
$reject.call({ _w: promise, _d: false }, e); // wrap
|
7005 |
+
}
|
7006 |
+
};
|
7007 |
+
|
7008 |
+
// constructor polyfill
|
7009 |
+
if (!USE_NATIVE) {
|
7010 |
+
// 25.4.3.1 Promise(executor)
|
7011 |
+
$Promise = function Promise(executor) {
|
7012 |
+
anInstance(this, $Promise, PROMISE, '_h');
|
7013 |
+
aFunction(executor);
|
7014 |
+
Internal.call(this);
|
7015 |
+
try {
|
7016 |
+
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
|
7017 |
+
} catch (err) {
|
7018 |
+
$reject.call(this, err);
|
7019 |
+
}
|
7020 |
+
};
|
7021 |
+
// eslint-disable-next-line no-unused-vars
|
7022 |
+
Internal = function Promise(executor) {
|
7023 |
+
this._c = []; // <- awaiting reactions
|
7024 |
+
this._a = undefined; // <- checked in isUnhandled reactions
|
7025 |
+
this._s = 0; // <- state
|
7026 |
+
this._d = false; // <- done
|
7027 |
+
this._v = undefined; // <- value
|
7028 |
+
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
|
7029 |
+
this._n = false; // <- notify
|
7030 |
+
};
|
7031 |
+
Internal.prototype = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js")($Promise.prototype, {
|
7032 |
+
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
|
7033 |
+
then: function then(onFulfilled, onRejected) {
|
7034 |
+
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
|
7035 |
+
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
7036 |
+
reaction.fail = typeof onRejected == 'function' && onRejected;
|
7037 |
+
reaction.domain = isNode ? process.domain : undefined;
|
7038 |
+
this._c.push(reaction);
|
7039 |
+
if (this._a) this._a.push(reaction);
|
7040 |
+
if (this._s) notify(this, false);
|
7041 |
+
return reaction.promise;
|
7042 |
+
},
|
7043 |
+
// 25.4.5.1 Promise.prototype.catch(onRejected)
|
7044 |
+
'catch': function (onRejected) {
|
7045 |
+
return this.then(undefined, onRejected);
|
7046 |
+
}
|
7047 |
+
});
|
7048 |
+
OwnPromiseCapability = function () {
|
7049 |
+
var promise = new Internal();
|
7050 |
+
this.promise = promise;
|
7051 |
+
this.resolve = ctx($resolve, promise, 1);
|
7052 |
+
this.reject = ctx($reject, promise, 1);
|
7053 |
+
};
|
7054 |
+
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
|
7055 |
+
return C === $Promise || C === Wrapper
|
7056 |
+
? new OwnPromiseCapability(C)
|
7057 |
+
: newGenericPromiseCapability(C);
|
7058 |
+
};
|
7059 |
+
}
|
7060 |
+
|
7061 |
+
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
|
7062 |
+
__webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js")($Promise, PROMISE);
|
7063 |
+
__webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js")(PROMISE);
|
7064 |
+
Wrapper = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js")[PROMISE];
|
7065 |
+
|
7066 |
+
// statics
|
7067 |
+
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
|
7068 |
+
// 25.4.4.5 Promise.reject(r)
|
7069 |
+
reject: function reject(r) {
|
7070 |
+
var capability = newPromiseCapability(this);
|
7071 |
+
var $$reject = capability.reject;
|
7072 |
+
$$reject(r);
|
7073 |
+
return capability.promise;
|
7074 |
+
}
|
7075 |
+
});
|
7076 |
+
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
|
7077 |
+
// 25.4.4.6 Promise.resolve(x)
|
7078 |
+
resolve: function resolve(x) {
|
7079 |
+
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
|
7080 |
+
}
|
7081 |
+
});
|
7082 |
+
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js")(function (iter) {
|
7083 |
+
$Promise.all(iter)['catch'](empty);
|
7084 |
+
})), PROMISE, {
|
7085 |
+
// 25.4.4.1 Promise.all(iterable)
|
7086 |
+
all: function all(iterable) {
|
7087 |
+
var C = this;
|
7088 |
+
var capability = newPromiseCapability(C);
|
7089 |
+
var resolve = capability.resolve;
|
7090 |
+
var reject = capability.reject;
|
7091 |
+
var result = perform(function () {
|
7092 |
+
var values = [];
|
7093 |
+
var index = 0;
|
7094 |
+
var remaining = 1;
|
7095 |
+
forOf(iterable, false, function (promise) {
|
7096 |
+
var $index = index++;
|
7097 |
+
var alreadyCalled = false;
|
7098 |
+
values.push(undefined);
|
7099 |
+
remaining++;
|
7100 |
+
C.resolve(promise).then(function (value) {
|
7101 |
+
if (alreadyCalled) return;
|
7102 |
+
alreadyCalled = true;
|
7103 |
+
values[$index] = value;
|
7104 |
+
--remaining || resolve(values);
|
7105 |
+
}, reject);
|
7106 |
+
});
|
7107 |
+
--remaining || resolve(values);
|
7108 |
+
});
|
7109 |
+
if (result.e) reject(result.v);
|
7110 |
+
return capability.promise;
|
7111 |
+
},
|
7112 |
+
// 25.4.4.4 Promise.race(iterable)
|
7113 |
+
race: function race(iterable) {
|
7114 |
+
var C = this;
|
7115 |
+
var capability = newPromiseCapability(C);
|
7116 |
+
var reject = capability.reject;
|
7117 |
+
var result = perform(function () {
|
7118 |
+
forOf(iterable, false, function (promise) {
|
7119 |
+
C.resolve(promise).then(capability.resolve, reject);
|
7120 |
+
});
|
7121 |
+
});
|
7122 |
+
if (result.e) reject(result.v);
|
7123 |
+
return capability.promise;
|
7124 |
+
}
|
7125 |
+
});
|
7126 |
+
|
7127 |
+
|
7128 |
+
/***/ }),
|
7129 |
+
|
7130 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.apply.js":
|
7131 |
+
/*!***********************************************************!*\
|
7132 |
+
!*** ./node_modules/core-js/modules/es6.reflect.apply.js ***!
|
7133 |
+
\***********************************************************/
|
7134 |
+
/*! no static exports found */
|
7135 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7136 |
+
|
7137 |
+
// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
|
7138 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7139 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
7140 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7141 |
+
var rApply = (__webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Reflect || {}).apply;
|
7142 |
+
var fApply = Function.apply;
|
7143 |
+
// MS Edge argumentsList argument is optional
|
7144 |
+
$export($export.S + $export.F * !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
7145 |
+
rApply(function () { /* empty */ });
|
7146 |
+
}), 'Reflect', {
|
7147 |
+
apply: function apply(target, thisArgument, argumentsList) {
|
7148 |
+
var T = aFunction(target);
|
7149 |
+
var L = anObject(argumentsList);
|
7150 |
+
return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
|
7151 |
+
}
|
7152 |
+
});
|
7153 |
+
|
7154 |
+
|
7155 |
+
/***/ }),
|
7156 |
+
|
7157 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.construct.js":
|
7158 |
+
/*!***************************************************************!*\
|
7159 |
+
!*** ./node_modules/core-js/modules/es6.reflect.construct.js ***!
|
7160 |
+
\***************************************************************/
|
7161 |
+
/*! no static exports found */
|
7162 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7163 |
+
|
7164 |
+
// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
|
7165 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7166 |
+
var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js");
|
7167 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
7168 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7169 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
7170 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
7171 |
+
var bind = __webpack_require__(/*! ./_bind */ "./node_modules/core-js/modules/_bind.js");
|
7172 |
+
var rConstruct = (__webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Reflect || {}).construct;
|
7173 |
+
|
7174 |
+
// MS Edge supports only 2 arguments and argumentsList argument is optional
|
7175 |
+
// FF Nightly sets third argument as `new.target`, but does not create `this` from it
|
7176 |
+
var NEW_TARGET_BUG = fails(function () {
|
7177 |
+
function F() { /* empty */ }
|
7178 |
+
return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);
|
7179 |
+
});
|
7180 |
+
var ARGS_BUG = !fails(function () {
|
7181 |
+
rConstruct(function () { /* empty */ });
|
7182 |
+
});
|
7183 |
+
|
7184 |
+
$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
|
7185 |
+
construct: function construct(Target, args /* , newTarget */) {
|
7186 |
+
aFunction(Target);
|
7187 |
+
anObject(args);
|
7188 |
+
var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
|
7189 |
+
if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
|
7190 |
+
if (Target == newTarget) {
|
7191 |
+
// w/o altered newTarget, optimization for 0-4 arguments
|
7192 |
+
switch (args.length) {
|
7193 |
+
case 0: return new Target();
|
7194 |
+
case 1: return new Target(args[0]);
|
7195 |
+
case 2: return new Target(args[0], args[1]);
|
7196 |
+
case 3: return new Target(args[0], args[1], args[2]);
|
7197 |
+
case 4: return new Target(args[0], args[1], args[2], args[3]);
|
7198 |
+
}
|
7199 |
+
// w/o altered newTarget, lot of arguments case
|
7200 |
+
var $args = [null];
|
7201 |
+
$args.push.apply($args, args);
|
7202 |
+
return new (bind.apply(Target, $args))();
|
7203 |
+
}
|
7204 |
+
// with altered newTarget, not support built-in constructors
|
7205 |
+
var proto = newTarget.prototype;
|
7206 |
+
var instance = create(isObject(proto) ? proto : Object.prototype);
|
7207 |
+
var result = Function.apply.call(Target, instance, args);
|
7208 |
+
return isObject(result) ? result : instance;
|
7209 |
+
}
|
7210 |
+
});
|
7211 |
+
|
7212 |
+
|
7213 |
+
/***/ }),
|
7214 |
+
|
7215 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.define-property.js":
|
7216 |
+
/*!*********************************************************************!*\
|
7217 |
+
!*** ./node_modules/core-js/modules/es6.reflect.define-property.js ***!
|
7218 |
+
\*********************************************************************/
|
7219 |
+
/*! no static exports found */
|
7220 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7221 |
+
|
7222 |
+
// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
|
7223 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
7224 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7225 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7226 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
7227 |
+
|
7228 |
+
// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
|
7229 |
+
$export($export.S + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
7230 |
+
// eslint-disable-next-line no-undef
|
7231 |
+
Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
|
7232 |
+
}), 'Reflect', {
|
7233 |
+
defineProperty: function defineProperty(target, propertyKey, attributes) {
|
7234 |
+
anObject(target);
|
7235 |
+
propertyKey = toPrimitive(propertyKey, true);
|
7236 |
+
anObject(attributes);
|
7237 |
+
try {
|
7238 |
+
dP.f(target, propertyKey, attributes);
|
7239 |
+
return true;
|
7240 |
+
} catch (e) {
|
7241 |
+
return false;
|
7242 |
+
}
|
7243 |
+
}
|
7244 |
+
});
|
7245 |
+
|
7246 |
+
|
7247 |
+
/***/ }),
|
7248 |
+
|
7249 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.delete-property.js":
|
7250 |
+
/*!*********************************************************************!*\
|
7251 |
+
!*** ./node_modules/core-js/modules/es6.reflect.delete-property.js ***!
|
7252 |
+
\*********************************************************************/
|
7253 |
+
/*! no static exports found */
|
7254 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7255 |
+
|
7256 |
+
// 26.1.4 Reflect.deleteProperty(target, propertyKey)
|
7257 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7258 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f;
|
7259 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7260 |
+
|
7261 |
+
$export($export.S, 'Reflect', {
|
7262 |
+
deleteProperty: function deleteProperty(target, propertyKey) {
|
7263 |
+
var desc = gOPD(anObject(target), propertyKey);
|
7264 |
+
return desc && !desc.configurable ? false : delete target[propertyKey];
|
7265 |
+
}
|
7266 |
+
});
|
7267 |
+
|
7268 |
+
|
7269 |
+
/***/ }),
|
7270 |
+
|
7271 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.enumerate.js":
|
7272 |
+
/*!***************************************************************!*\
|
7273 |
+
!*** ./node_modules/core-js/modules/es6.reflect.enumerate.js ***!
|
7274 |
+
\***************************************************************/
|
7275 |
+
/*! no static exports found */
|
7276 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7277 |
+
|
7278 |
+
"use strict";
|
7279 |
+
|
7280 |
+
// 26.1.5 Reflect.enumerate(target)
|
7281 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7282 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7283 |
+
var Enumerate = function (iterated) {
|
7284 |
+
this._t = anObject(iterated); // target
|
7285 |
+
this._i = 0; // next index
|
7286 |
+
var keys = this._k = []; // keys
|
7287 |
+
var key;
|
7288 |
+
for (key in iterated) keys.push(key);
|
7289 |
+
};
|
7290 |
+
__webpack_require__(/*! ./_iter-create */ "./node_modules/core-js/modules/_iter-create.js")(Enumerate, 'Object', function () {
|
7291 |
+
var that = this;
|
7292 |
+
var keys = that._k;
|
7293 |
+
var key;
|
7294 |
+
do {
|
7295 |
+
if (that._i >= keys.length) return { value: undefined, done: true };
|
7296 |
+
} while (!((key = keys[that._i++]) in that._t));
|
7297 |
+
return { value: key, done: false };
|
7298 |
+
});
|
7299 |
+
|
7300 |
+
$export($export.S, 'Reflect', {
|
7301 |
+
enumerate: function enumerate(target) {
|
7302 |
+
return new Enumerate(target);
|
7303 |
+
}
|
7304 |
+
});
|
7305 |
+
|
7306 |
+
|
7307 |
+
/***/ }),
|
7308 |
+
|
7309 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js":
|
7310 |
+
/*!*********************************************************************************!*\
|
7311 |
+
!*** ./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js ***!
|
7312 |
+
\*********************************************************************************/
|
7313 |
+
/*! no static exports found */
|
7314 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7315 |
+
|
7316 |
+
// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
|
7317 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
7318 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7319 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7320 |
+
|
7321 |
+
$export($export.S, 'Reflect', {
|
7322 |
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
|
7323 |
+
return gOPD.f(anObject(target), propertyKey);
|
7324 |
+
}
|
7325 |
+
});
|
7326 |
+
|
7327 |
+
|
7328 |
+
/***/ }),
|
7329 |
+
|
7330 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.get-prototype-of.js":
|
7331 |
+
/*!**********************************************************************!*\
|
7332 |
+
!*** ./node_modules/core-js/modules/es6.reflect.get-prototype-of.js ***!
|
7333 |
+
\**********************************************************************/
|
7334 |
+
/*! no static exports found */
|
7335 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7336 |
+
|
7337 |
+
// 26.1.8 Reflect.getPrototypeOf(target)
|
7338 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7339 |
+
var getProto = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
7340 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7341 |
+
|
7342 |
+
$export($export.S, 'Reflect', {
|
7343 |
+
getPrototypeOf: function getPrototypeOf(target) {
|
7344 |
+
return getProto(anObject(target));
|
7345 |
+
}
|
7346 |
+
});
|
7347 |
+
|
7348 |
+
|
7349 |
+
/***/ }),
|
7350 |
+
|
7351 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.get.js":
|
7352 |
+
/*!*********************************************************!*\
|
7353 |
+
!*** ./node_modules/core-js/modules/es6.reflect.get.js ***!
|
7354 |
+
\*********************************************************/
|
7355 |
+
/*! no static exports found */
|
7356 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7357 |
+
|
7358 |
+
// 26.1.6 Reflect.get(target, propertyKey [, receiver])
|
7359 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
7360 |
+
var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
7361 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
7362 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7363 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
7364 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7365 |
+
|
7366 |
+
function get(target, propertyKey /* , receiver */) {
|
7367 |
+
var receiver = arguments.length < 3 ? target : arguments[2];
|
7368 |
+
var desc, proto;
|
7369 |
+
if (anObject(target) === receiver) return target[propertyKey];
|
7370 |
+
if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')
|
7371 |
+
? desc.value
|
7372 |
+
: desc.get !== undefined
|
7373 |
+
? desc.get.call(receiver)
|
7374 |
+
: undefined;
|
7375 |
+
if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
|
7376 |
+
}
|
7377 |
+
|
7378 |
+
$export($export.S, 'Reflect', { get: get });
|
7379 |
+
|
7380 |
+
|
7381 |
+
/***/ }),
|
7382 |
+
|
7383 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.has.js":
|
7384 |
+
/*!*********************************************************!*\
|
7385 |
+
!*** ./node_modules/core-js/modules/es6.reflect.has.js ***!
|
7386 |
+
\*********************************************************/
|
7387 |
+
/*! no static exports found */
|
7388 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7389 |
+
|
7390 |
+
// 26.1.9 Reflect.has(target, propertyKey)
|
7391 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7392 |
+
|
7393 |
+
$export($export.S, 'Reflect', {
|
7394 |
+
has: function has(target, propertyKey) {
|
7395 |
+
return propertyKey in target;
|
7396 |
+
}
|
7397 |
+
});
|
7398 |
+
|
7399 |
+
|
7400 |
+
/***/ }),
|
7401 |
+
|
7402 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.is-extensible.js":
|
7403 |
+
/*!*******************************************************************!*\
|
7404 |
+
!*** ./node_modules/core-js/modules/es6.reflect.is-extensible.js ***!
|
7405 |
+
\*******************************************************************/
|
7406 |
+
/*! no static exports found */
|
7407 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7408 |
+
|
7409 |
+
// 26.1.10 Reflect.isExtensible(target)
|
7410 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7411 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7412 |
+
var $isExtensible = Object.isExtensible;
|
7413 |
+
|
7414 |
+
$export($export.S, 'Reflect', {
|
7415 |
+
isExtensible: function isExtensible(target) {
|
7416 |
+
anObject(target);
|
7417 |
+
return $isExtensible ? $isExtensible(target) : true;
|
7418 |
+
}
|
7419 |
+
});
|
7420 |
+
|
7421 |
+
|
7422 |
+
/***/ }),
|
7423 |
+
|
7424 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.own-keys.js":
|
7425 |
+
/*!**************************************************************!*\
|
7426 |
+
!*** ./node_modules/core-js/modules/es6.reflect.own-keys.js ***!
|
7427 |
+
\**************************************************************/
|
7428 |
+
/*! no static exports found */
|
7429 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7430 |
+
|
7431 |
+
// 26.1.11 Reflect.ownKeys(target)
|
7432 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7433 |
+
|
7434 |
+
$export($export.S, 'Reflect', { ownKeys: __webpack_require__(/*! ./_own-keys */ "./node_modules/core-js/modules/_own-keys.js") });
|
7435 |
+
|
7436 |
+
|
7437 |
+
/***/ }),
|
7438 |
+
|
7439 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.prevent-extensions.js":
|
7440 |
+
/*!************************************************************************!*\
|
7441 |
+
!*** ./node_modules/core-js/modules/es6.reflect.prevent-extensions.js ***!
|
7442 |
+
\************************************************************************/
|
7443 |
+
/*! no static exports found */
|
7444 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7445 |
+
|
7446 |
+
// 26.1.12 Reflect.preventExtensions(target)
|
7447 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7448 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7449 |
+
var $preventExtensions = Object.preventExtensions;
|
7450 |
+
|
7451 |
+
$export($export.S, 'Reflect', {
|
7452 |
+
preventExtensions: function preventExtensions(target) {
|
7453 |
+
anObject(target);
|
7454 |
+
try {
|
7455 |
+
if ($preventExtensions) $preventExtensions(target);
|
7456 |
+
return true;
|
7457 |
+
} catch (e) {
|
7458 |
+
return false;
|
7459 |
+
}
|
7460 |
+
}
|
7461 |
+
});
|
7462 |
+
|
7463 |
+
|
7464 |
+
/***/ }),
|
7465 |
+
|
7466 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.set-prototype-of.js":
|
7467 |
+
/*!**********************************************************************!*\
|
7468 |
+
!*** ./node_modules/core-js/modules/es6.reflect.set-prototype-of.js ***!
|
7469 |
+
\**********************************************************************/
|
7470 |
+
/*! no static exports found */
|
7471 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7472 |
+
|
7473 |
+
// 26.1.14 Reflect.setPrototypeOf(target, proto)
|
7474 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7475 |
+
var setProto = __webpack_require__(/*! ./_set-proto */ "./node_modules/core-js/modules/_set-proto.js");
|
7476 |
+
|
7477 |
+
if (setProto) $export($export.S, 'Reflect', {
|
7478 |
+
setPrototypeOf: function setPrototypeOf(target, proto) {
|
7479 |
+
setProto.check(target, proto);
|
7480 |
+
try {
|
7481 |
+
setProto.set(target, proto);
|
7482 |
+
return true;
|
7483 |
+
} catch (e) {
|
7484 |
+
return false;
|
7485 |
+
}
|
7486 |
+
}
|
7487 |
+
});
|
7488 |
+
|
7489 |
+
|
7490 |
+
/***/ }),
|
7491 |
+
|
7492 |
+
/***/ "./node_modules/core-js/modules/es6.reflect.set.js":
|
7493 |
+
/*!*********************************************************!*\
|
7494 |
+
!*** ./node_modules/core-js/modules/es6.reflect.set.js ***!
|
7495 |
+
\*********************************************************/
|
7496 |
+
/*! no static exports found */
|
7497 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7498 |
+
|
7499 |
+
// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
|
7500 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
7501 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
7502 |
+
var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js");
|
7503 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
7504 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
7505 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
7506 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7507 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
7508 |
+
|
7509 |
+
function set(target, propertyKey, V /* , receiver */) {
|
7510 |
+
var receiver = arguments.length < 4 ? target : arguments[3];
|
7511 |
+
var ownDesc = gOPD.f(anObject(target), propertyKey);
|
7512 |
+
var existingDescriptor, proto;
|
7513 |
+
if (!ownDesc) {
|
7514 |
+
if (isObject(proto = getPrototypeOf(target))) {
|
7515 |
+
return set(proto, propertyKey, V, receiver);
|
7516 |
+
}
|
7517 |
+
ownDesc = createDesc(0);
|
7518 |
+
}
|
7519 |
+
if (has(ownDesc, 'value')) {
|
7520 |
+
if (ownDesc.writable === false || !isObject(receiver)) return false;
|
7521 |
+
if (existingDescriptor = gOPD.f(receiver, propertyKey)) {
|
7522 |
+
if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
|
7523 |
+
existingDescriptor.value = V;
|
7524 |
+
dP.f(receiver, propertyKey, existingDescriptor);
|
7525 |
+
} else dP.f(receiver, propertyKey, createDesc(0, V));
|
7526 |
+
return true;
|
7527 |
+
}
|
7528 |
+
return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
|
7529 |
+
}
|
7530 |
+
|
7531 |
+
$export($export.S, 'Reflect', { set: set });
|
7532 |
+
|
7533 |
+
|
7534 |
+
/***/ }),
|
7535 |
+
|
7536 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.constructor.js":
|
7537 |
+
/*!****************************************************************!*\
|
7538 |
+
!*** ./node_modules/core-js/modules/es6.regexp.constructor.js ***!
|
7539 |
+
\****************************************************************/
|
7540 |
+
/*! no static exports found */
|
7541 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7542 |
+
|
7543 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
7544 |
+
var inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ "./node_modules/core-js/modules/_inherit-if-required.js");
|
7545 |
+
var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f;
|
7546 |
+
var gOPN = __webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f;
|
7547 |
+
var isRegExp = __webpack_require__(/*! ./_is-regexp */ "./node_modules/core-js/modules/_is-regexp.js");
|
7548 |
+
var $flags = __webpack_require__(/*! ./_flags */ "./node_modules/core-js/modules/_flags.js");
|
7549 |
+
var $RegExp = global.RegExp;
|
7550 |
+
var Base = $RegExp;
|
7551 |
+
var proto = $RegExp.prototype;
|
7552 |
+
var re1 = /a/g;
|
7553 |
+
var re2 = /a/g;
|
7554 |
+
// "new" creates a new object, old webkit buggy here
|
7555 |
+
var CORRECT_NEW = new $RegExp(re1) !== re1;
|
7556 |
+
|
7557 |
+
if (__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && (!CORRECT_NEW || __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
7558 |
+
re2[__webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('match')] = false;
|
7559 |
+
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
7560 |
+
return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
|
7561 |
+
}))) {
|
7562 |
+
$RegExp = function RegExp(p, f) {
|
7563 |
+
var tiRE = this instanceof $RegExp;
|
7564 |
+
var piRE = isRegExp(p);
|
7565 |
+
var fiU = f === undefined;
|
7566 |
+
return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
|
7567 |
+
: inheritIfRequired(CORRECT_NEW
|
7568 |
+
? new Base(piRE && !fiU ? p.source : p, f)
|
7569 |
+
: Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
|
7570 |
+
, tiRE ? this : proto, $RegExp);
|
7571 |
+
};
|
7572 |
+
var proxy = function (key) {
|
7573 |
+
key in $RegExp || dP($RegExp, key, {
|
7574 |
+
configurable: true,
|
7575 |
+
get: function () { return Base[key]; },
|
7576 |
+
set: function (it) { Base[key] = it; }
|
7577 |
+
});
|
7578 |
+
};
|
7579 |
+
for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);
|
7580 |
+
proto.constructor = $RegExp;
|
7581 |
+
$RegExp.prototype = proto;
|
7582 |
+
__webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js")(global, 'RegExp', $RegExp);
|
7583 |
+
}
|
7584 |
+
|
7585 |
+
__webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js")('RegExp');
|
7586 |
+
|
7587 |
+
|
7588 |
+
/***/ }),
|
7589 |
+
|
7590 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.exec.js":
|
7591 |
+
/*!*********************************************************!*\
|
7592 |
+
!*** ./node_modules/core-js/modules/es6.regexp.exec.js ***!
|
7593 |
+
\*********************************************************/
|
7594 |
+
/*! no static exports found */
|
7595 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7596 |
+
|
7597 |
+
"use strict";
|
7598 |
+
|
7599 |
+
var regexpExec = __webpack_require__(/*! ./_regexp-exec */ "./node_modules/core-js/modules/_regexp-exec.js");
|
7600 |
+
__webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js")({
|
7601 |
+
target: 'RegExp',
|
7602 |
+
proto: true,
|
7603 |
+
forced: regexpExec !== /./.exec
|
7604 |
+
}, {
|
7605 |
+
exec: regexpExec
|
7606 |
+
});
|
7607 |
+
|
7608 |
+
|
7609 |
+
/***/ }),
|
7610 |
+
|
7611 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.flags.js":
|
7612 |
+
/*!**********************************************************!*\
|
7613 |
+
!*** ./node_modules/core-js/modules/es6.regexp.flags.js ***!
|
7614 |
+
\**********************************************************/
|
7615 |
+
/*! no static exports found */
|
7616 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7617 |
+
|
7618 |
+
// 21.2.5.3 get RegExp.prototype.flags()
|
7619 |
+
if (__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && /./g.flags != 'g') __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f(RegExp.prototype, 'flags', {
|
7620 |
+
configurable: true,
|
7621 |
+
get: __webpack_require__(/*! ./_flags */ "./node_modules/core-js/modules/_flags.js")
|
7622 |
+
});
|
7623 |
+
|
7624 |
+
|
7625 |
+
/***/ }),
|
7626 |
+
|
7627 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.match.js":
|
7628 |
+
/*!**********************************************************!*\
|
7629 |
+
!*** ./node_modules/core-js/modules/es6.regexp.match.js ***!
|
7630 |
+
\**********************************************************/
|
7631 |
+
/*! no static exports found */
|
7632 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7633 |
+
|
7634 |
+
"use strict";
|
7635 |
+
|
7636 |
+
|
7637 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7638 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
7639 |
+
var advanceStringIndex = __webpack_require__(/*! ./_advance-string-index */ "./node_modules/core-js/modules/_advance-string-index.js");
|
7640 |
+
var regExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ "./node_modules/core-js/modules/_regexp-exec-abstract.js");
|
7641 |
+
|
7642 |
+
// @@match logic
|
7643 |
+
__webpack_require__(/*! ./_fix-re-wks */ "./node_modules/core-js/modules/_fix-re-wks.js")('match', 1, function (defined, MATCH, $match, maybeCallNative) {
|
7644 |
+
return [
|
7645 |
+
// `String.prototype.match` method
|
7646 |
+
// https://tc39.github.io/ecma262/#sec-string.prototype.match
|
7647 |
+
function match(regexp) {
|
7648 |
+
var O = defined(this);
|
7649 |
+
var fn = regexp == undefined ? undefined : regexp[MATCH];
|
7650 |
+
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
|
7651 |
+
},
|
7652 |
+
// `RegExp.prototype[@@match]` method
|
7653 |
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
|
7654 |
+
function (regexp) {
|
7655 |
+
var res = maybeCallNative($match, regexp, this);
|
7656 |
+
if (res.done) return res.value;
|
7657 |
+
var rx = anObject(regexp);
|
7658 |
+
var S = String(this);
|
7659 |
+
if (!rx.global) return regExpExec(rx, S);
|
7660 |
+
var fullUnicode = rx.unicode;
|
7661 |
+
rx.lastIndex = 0;
|
7662 |
+
var A = [];
|
7663 |
+
var n = 0;
|
7664 |
+
var result;
|
7665 |
+
while ((result = regExpExec(rx, S)) !== null) {
|
7666 |
+
var matchStr = String(result[0]);
|
7667 |
+
A[n] = matchStr;
|
7668 |
+
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
7669 |
+
n++;
|
7670 |
+
}
|
7671 |
+
return n === 0 ? null : A;
|
7672 |
+
}
|
7673 |
+
];
|
7674 |
+
});
|
7675 |
+
|
7676 |
+
|
7677 |
+
/***/ }),
|
7678 |
+
|
7679 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.replace.js":
|
7680 |
+
/*!************************************************************!*\
|
7681 |
+
!*** ./node_modules/core-js/modules/es6.regexp.replace.js ***!
|
7682 |
+
\************************************************************/
|
7683 |
+
/*! no static exports found */
|
7684 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7685 |
+
|
7686 |
+
"use strict";
|
7687 |
+
|
7688 |
+
|
7689 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7690 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
7691 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
7692 |
+
var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js");
|
7693 |
+
var advanceStringIndex = __webpack_require__(/*! ./_advance-string-index */ "./node_modules/core-js/modules/_advance-string-index.js");
|
7694 |
+
var regExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ "./node_modules/core-js/modules/_regexp-exec-abstract.js");
|
7695 |
+
var max = Math.max;
|
7696 |
+
var min = Math.min;
|
7697 |
+
var floor = Math.floor;
|
7698 |
+
var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g;
|
7699 |
+
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g;
|
7700 |
+
|
7701 |
+
var maybeToString = function (it) {
|
7702 |
+
return it === undefined ? it : String(it);
|
7703 |
+
};
|
7704 |
+
|
7705 |
+
// @@replace logic
|
7706 |
+
__webpack_require__(/*! ./_fix-re-wks */ "./node_modules/core-js/modules/_fix-re-wks.js")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {
|
7707 |
+
return [
|
7708 |
+
// `String.prototype.replace` method
|
7709 |
+
// https://tc39.github.io/ecma262/#sec-string.prototype.replace
|
7710 |
+
function replace(searchValue, replaceValue) {
|
7711 |
+
var O = defined(this);
|
7712 |
+
var fn = searchValue == undefined ? undefined : searchValue[REPLACE];
|
7713 |
+
return fn !== undefined
|
7714 |
+
? fn.call(searchValue, O, replaceValue)
|
7715 |
+
: $replace.call(String(O), searchValue, replaceValue);
|
7716 |
+
},
|
7717 |
+
// `RegExp.prototype[@@replace]` method
|
7718 |
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
|
7719 |
+
function (regexp, replaceValue) {
|
7720 |
+
var res = maybeCallNative($replace, regexp, this, replaceValue);
|
7721 |
+
if (res.done) return res.value;
|
7722 |
+
|
7723 |
+
var rx = anObject(regexp);
|
7724 |
+
var S = String(this);
|
7725 |
+
var functionalReplace = typeof replaceValue === 'function';
|
7726 |
+
if (!functionalReplace) replaceValue = String(replaceValue);
|
7727 |
+
var global = rx.global;
|
7728 |
+
if (global) {
|
7729 |
+
var fullUnicode = rx.unicode;
|
7730 |
+
rx.lastIndex = 0;
|
7731 |
+
}
|
7732 |
+
var results = [];
|
7733 |
+
while (true) {
|
7734 |
+
var result = regExpExec(rx, S);
|
7735 |
+
if (result === null) break;
|
7736 |
+
results.push(result);
|
7737 |
+
if (!global) break;
|
7738 |
+
var matchStr = String(result[0]);
|
7739 |
+
if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
|
7740 |
+
}
|
7741 |
+
var accumulatedResult = '';
|
7742 |
+
var nextSourcePosition = 0;
|
7743 |
+
for (var i = 0; i < results.length; i++) {
|
7744 |
+
result = results[i];
|
7745 |
+
var matched = String(result[0]);
|
7746 |
+
var position = max(min(toInteger(result.index), S.length), 0);
|
7747 |
+
var captures = [];
|
7748 |
+
// NOTE: This is equivalent to
|
7749 |
+
// captures = result.slice(1).map(maybeToString)
|
7750 |
+
// but for some reason `nativeSlice.call(result, 1, result.length)` (called in
|
7751 |
+
// the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
|
7752 |
+
// causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
|
7753 |
+
for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
|
7754 |
+
var namedCaptures = result.groups;
|
7755 |
+
if (functionalReplace) {
|
7756 |
+
var replacerArgs = [matched].concat(captures, position, S);
|
7757 |
+
if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
|
7758 |
+
var replacement = String(replaceValue.apply(undefined, replacerArgs));
|
7759 |
+
} else {
|
7760 |
+
replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
|
7761 |
+
}
|
7762 |
+
if (position >= nextSourcePosition) {
|
7763 |
+
accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
|
7764 |
+
nextSourcePosition = position + matched.length;
|
7765 |
+
}
|
7766 |
+
}
|
7767 |
+
return accumulatedResult + S.slice(nextSourcePosition);
|
7768 |
+
}
|
7769 |
+
];
|
7770 |
+
|
7771 |
+
// https://tc39.github.io/ecma262/#sec-getsubstitution
|
7772 |
+
function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
|
7773 |
+
var tailPos = position + matched.length;
|
7774 |
+
var m = captures.length;
|
7775 |
+
var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
|
7776 |
+
if (namedCaptures !== undefined) {
|
7777 |
+
namedCaptures = toObject(namedCaptures);
|
7778 |
+
symbols = SUBSTITUTION_SYMBOLS;
|
7779 |
+
}
|
7780 |
+
return $replace.call(replacement, symbols, function (match, ch) {
|
7781 |
+
var capture;
|
7782 |
+
switch (ch.charAt(0)) {
|
7783 |
+
case '$': return '$';
|
7784 |
+
case '&': return matched;
|
7785 |
+
case '`': return str.slice(0, position);
|
7786 |
+
case "'": return str.slice(tailPos);
|
7787 |
+
case '<':
|
7788 |
+
capture = namedCaptures[ch.slice(1, -1)];
|
7789 |
+
break;
|
7790 |
+
default: // \d\d?
|
7791 |
+
var n = +ch;
|
7792 |
+
if (n === 0) return match;
|
7793 |
+
if (n > m) {
|
7794 |
+
var f = floor(n / 10);
|
7795 |
+
if (f === 0) return match;
|
7796 |
+
if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
|
7797 |
+
return match;
|
7798 |
+
}
|
7799 |
+
capture = captures[n - 1];
|
7800 |
+
}
|
7801 |
+
return capture === undefined ? '' : capture;
|
7802 |
+
});
|
7803 |
+
}
|
7804 |
+
});
|
7805 |
+
|
7806 |
+
|
7807 |
+
/***/ }),
|
7808 |
+
|
7809 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.search.js":
|
7810 |
+
/*!***********************************************************!*\
|
7811 |
+
!*** ./node_modules/core-js/modules/es6.regexp.search.js ***!
|
7812 |
+
\***********************************************************/
|
7813 |
+
/*! no static exports found */
|
7814 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7815 |
+
|
7816 |
+
"use strict";
|
7817 |
+
|
7818 |
+
|
7819 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7820 |
+
var sameValue = __webpack_require__(/*! ./_same-value */ "./node_modules/core-js/modules/_same-value.js");
|
7821 |
+
var regExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ "./node_modules/core-js/modules/_regexp-exec-abstract.js");
|
7822 |
+
|
7823 |
+
// @@search logic
|
7824 |
+
__webpack_require__(/*! ./_fix-re-wks */ "./node_modules/core-js/modules/_fix-re-wks.js")('search', 1, function (defined, SEARCH, $search, maybeCallNative) {
|
7825 |
+
return [
|
7826 |
+
// `String.prototype.search` method
|
7827 |
+
// https://tc39.github.io/ecma262/#sec-string.prototype.search
|
7828 |
+
function search(regexp) {
|
7829 |
+
var O = defined(this);
|
7830 |
+
var fn = regexp == undefined ? undefined : regexp[SEARCH];
|
7831 |
+
return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
|
7832 |
+
},
|
7833 |
+
// `RegExp.prototype[@@search]` method
|
7834 |
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
|
7835 |
+
function (regexp) {
|
7836 |
+
var res = maybeCallNative($search, regexp, this);
|
7837 |
+
if (res.done) return res.value;
|
7838 |
+
var rx = anObject(regexp);
|
7839 |
+
var S = String(this);
|
7840 |
+
var previousLastIndex = rx.lastIndex;
|
7841 |
+
if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
|
7842 |
+
var result = regExpExec(rx, S);
|
7843 |
+
if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
|
7844 |
+
return result === null ? -1 : result.index;
|
7845 |
+
}
|
7846 |
+
];
|
7847 |
+
});
|
7848 |
+
|
7849 |
+
|
7850 |
+
/***/ }),
|
7851 |
+
|
7852 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.split.js":
|
7853 |
+
/*!**********************************************************!*\
|
7854 |
+
!*** ./node_modules/core-js/modules/es6.regexp.split.js ***!
|
7855 |
+
\**********************************************************/
|
7856 |
+
/*! no static exports found */
|
7857 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7858 |
+
|
7859 |
+
"use strict";
|
7860 |
+
|
7861 |
+
|
7862 |
+
var isRegExp = __webpack_require__(/*! ./_is-regexp */ "./node_modules/core-js/modules/_is-regexp.js");
|
7863 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
7864 |
+
var speciesConstructor = __webpack_require__(/*! ./_species-constructor */ "./node_modules/core-js/modules/_species-constructor.js");
|
7865 |
+
var advanceStringIndex = __webpack_require__(/*! ./_advance-string-index */ "./node_modules/core-js/modules/_advance-string-index.js");
|
7866 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
7867 |
+
var callRegExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ "./node_modules/core-js/modules/_regexp-exec-abstract.js");
|
7868 |
+
var regexpExec = __webpack_require__(/*! ./_regexp-exec */ "./node_modules/core-js/modules/_regexp-exec.js");
|
7869 |
+
var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
7870 |
+
var $min = Math.min;
|
7871 |
+
var $push = [].push;
|
7872 |
+
var $SPLIT = 'split';
|
7873 |
+
var LENGTH = 'length';
|
7874 |
+
var LAST_INDEX = 'lastIndex';
|
7875 |
+
var MAX_UINT32 = 0xffffffff;
|
7876 |
+
|
7877 |
+
// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
|
7878 |
+
var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });
|
7879 |
+
|
7880 |
+
// @@split logic
|
7881 |
+
__webpack_require__(/*! ./_fix-re-wks */ "./node_modules/core-js/modules/_fix-re-wks.js")('split', 2, function (defined, SPLIT, $split, maybeCallNative) {
|
7882 |
+
var internalSplit;
|
7883 |
+
if (
|
7884 |
+
'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
|
7885 |
+
'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
|
7886 |
+
'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
|
7887 |
+
'.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
|
7888 |
+
'.'[$SPLIT](/()()/)[LENGTH] > 1 ||
|
7889 |
+
''[$SPLIT](/.?/)[LENGTH]
|
7890 |
+
) {
|
7891 |
+
// based on es5-shim implementation, need to rework it
|
7892 |
+
internalSplit = function (separator, limit) {
|
7893 |
+
var string = String(this);
|
7894 |
+
if (separator === undefined && limit === 0) return [];
|
7895 |
+
// If `separator` is not a regex, use native split
|
7896 |
+
if (!isRegExp(separator)) return $split.call(string, separator, limit);
|
7897 |
+
var output = [];
|
7898 |
+
var flags = (separator.ignoreCase ? 'i' : '') +
|
7899 |
+
(separator.multiline ? 'm' : '') +
|
7900 |
+
(separator.unicode ? 'u' : '') +
|
7901 |
+
(separator.sticky ? 'y' : '');
|
7902 |
+
var lastLastIndex = 0;
|
7903 |
+
var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
7904 |
+
// Make `global` and avoid `lastIndex` issues by working with a copy
|
7905 |
+
var separatorCopy = new RegExp(separator.source, flags + 'g');
|
7906 |
+
var match, lastIndex, lastLength;
|
7907 |
+
while (match = regexpExec.call(separatorCopy, string)) {
|
7908 |
+
lastIndex = separatorCopy[LAST_INDEX];
|
7909 |
+
if (lastIndex > lastLastIndex) {
|
7910 |
+
output.push(string.slice(lastLastIndex, match.index));
|
7911 |
+
if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
|
7912 |
+
lastLength = match[0][LENGTH];
|
7913 |
+
lastLastIndex = lastIndex;
|
7914 |
+
if (output[LENGTH] >= splitLimit) break;
|
7915 |
+
}
|
7916 |
+
if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
|
7917 |
+
}
|
7918 |
+
if (lastLastIndex === string[LENGTH]) {
|
7919 |
+
if (lastLength || !separatorCopy.test('')) output.push('');
|
7920 |
+
} else output.push(string.slice(lastLastIndex));
|
7921 |
+
return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
|
7922 |
+
};
|
7923 |
+
// Chakra, V8
|
7924 |
+
} else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
|
7925 |
+
internalSplit = function (separator, limit) {
|
7926 |
+
return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);
|
7927 |
+
};
|
7928 |
+
} else {
|
7929 |
+
internalSplit = $split;
|
7930 |
+
}
|
7931 |
+
|
7932 |
+
return [
|
7933 |
+
// `String.prototype.split` method
|
7934 |
+
// https://tc39.github.io/ecma262/#sec-string.prototype.split
|
7935 |
+
function split(separator, limit) {
|
7936 |
+
var O = defined(this);
|
7937 |
+
var splitter = separator == undefined ? undefined : separator[SPLIT];
|
7938 |
+
return splitter !== undefined
|
7939 |
+
? splitter.call(separator, O, limit)
|
7940 |
+
: internalSplit.call(String(O), separator, limit);
|
7941 |
+
},
|
7942 |
+
// `RegExp.prototype[@@split]` method
|
7943 |
+
// https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
|
7944 |
+
//
|
7945 |
+
// NOTE: This cannot be properly polyfilled in engines that don't support
|
7946 |
+
// the 'y' flag.
|
7947 |
+
function (regexp, limit) {
|
7948 |
+
var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);
|
7949 |
+
if (res.done) return res.value;
|
7950 |
+
|
7951 |
+
var rx = anObject(regexp);
|
7952 |
+
var S = String(this);
|
7953 |
+
var C = speciesConstructor(rx, RegExp);
|
7954 |
+
|
7955 |
+
var unicodeMatching = rx.unicode;
|
7956 |
+
var flags = (rx.ignoreCase ? 'i' : '') +
|
7957 |
+
(rx.multiline ? 'm' : '') +
|
7958 |
+
(rx.unicode ? 'u' : '') +
|
7959 |
+
(SUPPORTS_Y ? 'y' : 'g');
|
7960 |
+
|
7961 |
+
// ^(? + rx + ) is needed, in combination with some S slicing, to
|
7962 |
+
// simulate the 'y' flag.
|
7963 |
+
var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
|
7964 |
+
var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
|
7965 |
+
if (lim === 0) return [];
|
7966 |
+
if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
|
7967 |
+
var p = 0;
|
7968 |
+
var q = 0;
|
7969 |
+
var A = [];
|
7970 |
+
while (q < S.length) {
|
7971 |
+
splitter.lastIndex = SUPPORTS_Y ? q : 0;
|
7972 |
+
var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
|
7973 |
+
var e;
|
7974 |
+
if (
|
7975 |
+
z === null ||
|
7976 |
+
(e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
|
7977 |
+
) {
|
7978 |
+
q = advanceStringIndex(S, q, unicodeMatching);
|
7979 |
+
} else {
|
7980 |
+
A.push(S.slice(p, q));
|
7981 |
+
if (A.length === lim) return A;
|
7982 |
+
for (var i = 1; i <= z.length - 1; i++) {
|
7983 |
+
A.push(z[i]);
|
7984 |
+
if (A.length === lim) return A;
|
7985 |
+
}
|
7986 |
+
q = p = e;
|
7987 |
+
}
|
7988 |
+
}
|
7989 |
+
A.push(S.slice(p));
|
7990 |
+
return A;
|
7991 |
+
}
|
7992 |
+
];
|
7993 |
+
});
|
7994 |
+
|
7995 |
+
|
7996 |
+
/***/ }),
|
7997 |
+
|
7998 |
+
/***/ "./node_modules/core-js/modules/es6.regexp.to-string.js":
|
7999 |
+
/*!**************************************************************!*\
|
8000 |
+
!*** ./node_modules/core-js/modules/es6.regexp.to-string.js ***!
|
8001 |
+
\**************************************************************/
|
8002 |
+
/*! no static exports found */
|
8003 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8004 |
+
|
8005 |
+
"use strict";
|
8006 |
+
|
8007 |
+
__webpack_require__(/*! ./es6.regexp.flags */ "./node_modules/core-js/modules/es6.regexp.flags.js");
|
8008 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
8009 |
+
var $flags = __webpack_require__(/*! ./_flags */ "./node_modules/core-js/modules/_flags.js");
|
8010 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
8011 |
+
var TO_STRING = 'toString';
|
8012 |
+
var $toString = /./[TO_STRING];
|
8013 |
+
|
8014 |
+
var define = function (fn) {
|
8015 |
+
__webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js")(RegExp.prototype, TO_STRING, fn, true);
|
8016 |
+
};
|
8017 |
+
|
8018 |
+
// 21.2.5.14 RegExp.prototype.toString()
|
8019 |
+
if (__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {
|
8020 |
+
define(function toString() {
|
8021 |
+
var R = anObject(this);
|
8022 |
+
return '/'.concat(R.source, '/',
|
8023 |
+
'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
|
8024 |
+
});
|
8025 |
+
// FF44- RegExp#toString has a wrong name
|
8026 |
+
} else if ($toString.name != TO_STRING) {
|
8027 |
+
define(function toString() {
|
8028 |
+
return $toString.call(this);
|
8029 |
+
});
|
8030 |
+
}
|
8031 |
+
|
8032 |
+
|
8033 |
+
/***/ }),
|
8034 |
+
|
8035 |
+
/***/ "./node_modules/core-js/modules/es6.set.js":
|
8036 |
+
/*!*************************************************!*\
|
8037 |
+
!*** ./node_modules/core-js/modules/es6.set.js ***!
|
8038 |
+
\*************************************************/
|
8039 |
+
/*! no static exports found */
|
8040 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8041 |
+
|
8042 |
+
"use strict";
|
8043 |
+
|
8044 |
+
var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js");
|
8045 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
8046 |
+
var SET = 'Set';
|
8047 |
+
|
8048 |
+
// 23.2 Set Objects
|
8049 |
+
module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(SET, function (get) {
|
8050 |
+
return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
|
8051 |
+
}, {
|
8052 |
+
// 23.2.3.1 Set.prototype.add(value)
|
8053 |
+
add: function add(value) {
|
8054 |
+
return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);
|
8055 |
+
}
|
8056 |
+
}, strong);
|
8057 |
+
|
8058 |
+
|
8059 |
+
/***/ }),
|
8060 |
+
|
8061 |
+
/***/ "./node_modules/core-js/modules/es6.string.anchor.js":
|
8062 |
+
/*!***********************************************************!*\
|
8063 |
+
!*** ./node_modules/core-js/modules/es6.string.anchor.js ***!
|
8064 |
+
\***********************************************************/
|
8065 |
+
/*! no static exports found */
|
8066 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8067 |
+
|
8068 |
+
"use strict";
|
8069 |
+
|
8070 |
+
// B.2.3.2 String.prototype.anchor(name)
|
8071 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('anchor', function (createHTML) {
|
8072 |
+
return function anchor(name) {
|
8073 |
+
return createHTML(this, 'a', 'name', name);
|
8074 |
+
};
|
8075 |
+
});
|
8076 |
+
|
8077 |
+
|
8078 |
+
/***/ }),
|
8079 |
+
|
8080 |
+
/***/ "./node_modules/core-js/modules/es6.string.big.js":
|
8081 |
+
/*!********************************************************!*\
|
8082 |
+
!*** ./node_modules/core-js/modules/es6.string.big.js ***!
|
8083 |
+
\********************************************************/
|
8084 |
+
/*! no static exports found */
|
8085 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8086 |
+
|
8087 |
+
"use strict";
|
8088 |
+
|
8089 |
+
// B.2.3.3 String.prototype.big()
|
8090 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('big', function (createHTML) {
|
8091 |
+
return function big() {
|
8092 |
+
return createHTML(this, 'big', '', '');
|
8093 |
+
};
|
8094 |
+
});
|
8095 |
+
|
8096 |
+
|
8097 |
+
/***/ }),
|
8098 |
+
|
8099 |
+
/***/ "./node_modules/core-js/modules/es6.string.blink.js":
|
8100 |
+
/*!**********************************************************!*\
|
8101 |
+
!*** ./node_modules/core-js/modules/es6.string.blink.js ***!
|
8102 |
+
\**********************************************************/
|
8103 |
+
/*! no static exports found */
|
8104 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8105 |
+
|
8106 |
+
"use strict";
|
8107 |
+
|
8108 |
+
// B.2.3.4 String.prototype.blink()
|
8109 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('blink', function (createHTML) {
|
8110 |
+
return function blink() {
|
8111 |
+
return createHTML(this, 'blink', '', '');
|
8112 |
+
};
|
8113 |
+
});
|
8114 |
+
|
8115 |
+
|
8116 |
+
/***/ }),
|
8117 |
+
|
8118 |
+
/***/ "./node_modules/core-js/modules/es6.string.bold.js":
|
8119 |
+
/*!*********************************************************!*\
|
8120 |
+
!*** ./node_modules/core-js/modules/es6.string.bold.js ***!
|
8121 |
+
\*********************************************************/
|
8122 |
+
/*! no static exports found */
|
8123 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8124 |
+
|
8125 |
+
"use strict";
|
8126 |
+
|
8127 |
+
// B.2.3.5 String.prototype.bold()
|
8128 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('bold', function (createHTML) {
|
8129 |
+
return function bold() {
|
8130 |
+
return createHTML(this, 'b', '', '');
|
8131 |
+
};
|
8132 |
+
});
|
8133 |
+
|
8134 |
+
|
8135 |
+
/***/ }),
|
8136 |
+
|
8137 |
+
/***/ "./node_modules/core-js/modules/es6.string.code-point-at.js":
|
8138 |
+
/*!******************************************************************!*\
|
8139 |
+
!*** ./node_modules/core-js/modules/es6.string.code-point-at.js ***!
|
8140 |
+
\******************************************************************/
|
8141 |
+
/*! no static exports found */
|
8142 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8143 |
+
|
8144 |
+
"use strict";
|
8145 |
+
|
8146 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8147 |
+
var $at = __webpack_require__(/*! ./_string-at */ "./node_modules/core-js/modules/_string-at.js")(false);
|
8148 |
+
$export($export.P, 'String', {
|
8149 |
+
// 21.1.3.3 String.prototype.codePointAt(pos)
|
8150 |
+
codePointAt: function codePointAt(pos) {
|
8151 |
+
return $at(this, pos);
|
8152 |
+
}
|
8153 |
+
});
|
8154 |
+
|
8155 |
+
|
8156 |
+
/***/ }),
|
8157 |
+
|
8158 |
+
/***/ "./node_modules/core-js/modules/es6.string.ends-with.js":
|
8159 |
+
/*!**************************************************************!*\
|
8160 |
+
!*** ./node_modules/core-js/modules/es6.string.ends-with.js ***!
|
8161 |
+
\**************************************************************/
|
8162 |
+
/*! no static exports found */
|
8163 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8164 |
+
|
8165 |
+
"use strict";
|
8166 |
+
// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
|
8167 |
+
|
8168 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8169 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
8170 |
+
var context = __webpack_require__(/*! ./_string-context */ "./node_modules/core-js/modules/_string-context.js");
|
8171 |
+
var ENDS_WITH = 'endsWith';
|
8172 |
+
var $endsWith = ''[ENDS_WITH];
|
8173 |
+
|
8174 |
+
$export($export.P + $export.F * __webpack_require__(/*! ./_fails-is-regexp */ "./node_modules/core-js/modules/_fails-is-regexp.js")(ENDS_WITH), 'String', {
|
8175 |
+
endsWith: function endsWith(searchString /* , endPosition = @length */) {
|
8176 |
+
var that = context(this, searchString, ENDS_WITH);
|
8177 |
+
var endPosition = arguments.length > 1 ? arguments[1] : undefined;
|
8178 |
+
var len = toLength(that.length);
|
8179 |
+
var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);
|
8180 |
+
var search = String(searchString);
|
8181 |
+
return $endsWith
|
8182 |
+
? $endsWith.call(that, search, end)
|
8183 |
+
: that.slice(end - search.length, end) === search;
|
8184 |
+
}
|
8185 |
+
});
|
8186 |
+
|
8187 |
+
|
8188 |
+
/***/ }),
|
8189 |
+
|
8190 |
+
/***/ "./node_modules/core-js/modules/es6.string.fixed.js":
|
8191 |
+
/*!**********************************************************!*\
|
8192 |
+
!*** ./node_modules/core-js/modules/es6.string.fixed.js ***!
|
8193 |
+
\**********************************************************/
|
8194 |
+
/*! no static exports found */
|
8195 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8196 |
+
|
8197 |
+
"use strict";
|
8198 |
+
|
8199 |
+
// B.2.3.6 String.prototype.fixed()
|
8200 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('fixed', function (createHTML) {
|
8201 |
+
return function fixed() {
|
8202 |
+
return createHTML(this, 'tt', '', '');
|
8203 |
+
};
|
8204 |
+
});
|
8205 |
+
|
8206 |
+
|
8207 |
+
/***/ }),
|
8208 |
+
|
8209 |
+
/***/ "./node_modules/core-js/modules/es6.string.fontcolor.js":
|
8210 |
+
/*!**************************************************************!*\
|
8211 |
+
!*** ./node_modules/core-js/modules/es6.string.fontcolor.js ***!
|
8212 |
+
\**************************************************************/
|
8213 |
+
/*! no static exports found */
|
8214 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8215 |
+
|
8216 |
+
"use strict";
|
8217 |
+
|
8218 |
+
// B.2.3.7 String.prototype.fontcolor(color)
|
8219 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('fontcolor', function (createHTML) {
|
8220 |
+
return function fontcolor(color) {
|
8221 |
+
return createHTML(this, 'font', 'color', color);
|
8222 |
+
};
|
8223 |
+
});
|
8224 |
+
|
8225 |
+
|
8226 |
+
/***/ }),
|
8227 |
+
|
8228 |
+
/***/ "./node_modules/core-js/modules/es6.string.fontsize.js":
|
8229 |
+
/*!*************************************************************!*\
|
8230 |
+
!*** ./node_modules/core-js/modules/es6.string.fontsize.js ***!
|
8231 |
+
\*************************************************************/
|
8232 |
+
/*! no static exports found */
|
8233 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8234 |
+
|
8235 |
+
"use strict";
|
8236 |
+
|
8237 |
+
// B.2.3.8 String.prototype.fontsize(size)
|
8238 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('fontsize', function (createHTML) {
|
8239 |
+
return function fontsize(size) {
|
8240 |
+
return createHTML(this, 'font', 'size', size);
|
8241 |
+
};
|
8242 |
+
});
|
8243 |
+
|
8244 |
+
|
8245 |
+
/***/ }),
|
8246 |
+
|
8247 |
+
/***/ "./node_modules/core-js/modules/es6.string.from-code-point.js":
|
8248 |
+
/*!********************************************************************!*\
|
8249 |
+
!*** ./node_modules/core-js/modules/es6.string.from-code-point.js ***!
|
8250 |
+
\********************************************************************/
|
8251 |
+
/*! no static exports found */
|
8252 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8253 |
+
|
8254 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8255 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
8256 |
+
var fromCharCode = String.fromCharCode;
|
8257 |
+
var $fromCodePoint = String.fromCodePoint;
|
8258 |
+
|
8259 |
+
// length should be 1, old FF problem
|
8260 |
+
$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
|
8261 |
+
// 21.1.2.2 String.fromCodePoint(...codePoints)
|
8262 |
+
fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
|
8263 |
+
var res = [];
|
8264 |
+
var aLen = arguments.length;
|
8265 |
+
var i = 0;
|
8266 |
+
var code;
|
8267 |
+
while (aLen > i) {
|
8268 |
+
code = +arguments[i++];
|
8269 |
+
if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');
|
8270 |
+
res.push(code < 0x10000
|
8271 |
+
? fromCharCode(code)
|
8272 |
+
: fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
|
8273 |
+
);
|
8274 |
+
} return res.join('');
|
8275 |
+
}
|
8276 |
+
});
|
8277 |
+
|
8278 |
+
|
8279 |
+
/***/ }),
|
8280 |
+
|
8281 |
+
/***/ "./node_modules/core-js/modules/es6.string.includes.js":
|
8282 |
+
/*!*************************************************************!*\
|
8283 |
+
!*** ./node_modules/core-js/modules/es6.string.includes.js ***!
|
8284 |
+
\*************************************************************/
|
8285 |
+
/*! no static exports found */
|
8286 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8287 |
+
|
8288 |
+
"use strict";
|
8289 |
+
// 21.1.3.7 String.prototype.includes(searchString, position = 0)
|
8290 |
+
|
8291 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8292 |
+
var context = __webpack_require__(/*! ./_string-context */ "./node_modules/core-js/modules/_string-context.js");
|
8293 |
+
var INCLUDES = 'includes';
|
8294 |
+
|
8295 |
+
$export($export.P + $export.F * __webpack_require__(/*! ./_fails-is-regexp */ "./node_modules/core-js/modules/_fails-is-regexp.js")(INCLUDES), 'String', {
|
8296 |
+
includes: function includes(searchString /* , position = 0 */) {
|
8297 |
+
return !!~context(this, searchString, INCLUDES)
|
8298 |
+
.indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
|
8299 |
+
}
|
8300 |
+
});
|
8301 |
+
|
8302 |
+
|
8303 |
+
/***/ }),
|
8304 |
+
|
8305 |
+
/***/ "./node_modules/core-js/modules/es6.string.italics.js":
|
8306 |
+
/*!************************************************************!*\
|
8307 |
+
!*** ./node_modules/core-js/modules/es6.string.italics.js ***!
|
8308 |
+
\************************************************************/
|
8309 |
+
/*! no static exports found */
|
8310 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8311 |
+
|
8312 |
+
"use strict";
|
8313 |
+
|
8314 |
+
// B.2.3.9 String.prototype.italics()
|
8315 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('italics', function (createHTML) {
|
8316 |
+
return function italics() {
|
8317 |
+
return createHTML(this, 'i', '', '');
|
8318 |
+
};
|
8319 |
+
});
|
8320 |
+
|
8321 |
+
|
8322 |
+
/***/ }),
|
8323 |
+
|
8324 |
+
/***/ "./node_modules/core-js/modules/es6.string.iterator.js":
|
8325 |
+
/*!*************************************************************!*\
|
8326 |
+
!*** ./node_modules/core-js/modules/es6.string.iterator.js ***!
|
8327 |
+
\*************************************************************/
|
8328 |
+
/*! no static exports found */
|
8329 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8330 |
+
|
8331 |
+
"use strict";
|
8332 |
+
|
8333 |
+
var $at = __webpack_require__(/*! ./_string-at */ "./node_modules/core-js/modules/_string-at.js")(true);
|
8334 |
+
|
8335 |
+
// 21.1.3.27 String.prototype[@@iterator]()
|
8336 |
+
__webpack_require__(/*! ./_iter-define */ "./node_modules/core-js/modules/_iter-define.js")(String, 'String', function (iterated) {
|
8337 |
+
this._t = String(iterated); // target
|
8338 |
+
this._i = 0; // next index
|
8339 |
+
// 21.1.5.2.1 %StringIteratorPrototype%.next()
|
8340 |
+
}, function () {
|
8341 |
+
var O = this._t;
|
8342 |
+
var index = this._i;
|
8343 |
+
var point;
|
8344 |
+
if (index >= O.length) return { value: undefined, done: true };
|
8345 |
+
point = $at(O, index);
|
8346 |
+
this._i += point.length;
|
8347 |
+
return { value: point, done: false };
|
8348 |
+
});
|
8349 |
+
|
8350 |
+
|
8351 |
+
/***/ }),
|
8352 |
+
|
8353 |
+
/***/ "./node_modules/core-js/modules/es6.string.link.js":
|
8354 |
+
/*!*********************************************************!*\
|
8355 |
+
!*** ./node_modules/core-js/modules/es6.string.link.js ***!
|
8356 |
+
\*********************************************************/
|
8357 |
+
/*! no static exports found */
|
8358 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8359 |
+
|
8360 |
+
"use strict";
|
8361 |
+
|
8362 |
+
// B.2.3.10 String.prototype.link(url)
|
8363 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('link', function (createHTML) {
|
8364 |
+
return function link(url) {
|
8365 |
+
return createHTML(this, 'a', 'href', url);
|
8366 |
+
};
|
8367 |
+
});
|
8368 |
+
|
8369 |
+
|
8370 |
+
/***/ }),
|
8371 |
+
|
8372 |
+
/***/ "./node_modules/core-js/modules/es6.string.raw.js":
|
8373 |
+
/*!********************************************************!*\
|
8374 |
+
!*** ./node_modules/core-js/modules/es6.string.raw.js ***!
|
8375 |
+
\********************************************************/
|
8376 |
+
/*! no static exports found */
|
8377 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8378 |
+
|
8379 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8380 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
8381 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
8382 |
+
|
8383 |
+
$export($export.S, 'String', {
|
8384 |
+
// 21.1.2.4 String.raw(callSite, ...substitutions)
|
8385 |
+
raw: function raw(callSite) {
|
8386 |
+
var tpl = toIObject(callSite.raw);
|
8387 |
+
var len = toLength(tpl.length);
|
8388 |
+
var aLen = arguments.length;
|
8389 |
+
var res = [];
|
8390 |
+
var i = 0;
|
8391 |
+
while (len > i) {
|
8392 |
+
res.push(String(tpl[i++]));
|
8393 |
+
if (i < aLen) res.push(String(arguments[i]));
|
8394 |
+
} return res.join('');
|
8395 |
+
}
|
8396 |
+
});
|
8397 |
+
|
8398 |
+
|
8399 |
+
/***/ }),
|
8400 |
+
|
8401 |
+
/***/ "./node_modules/core-js/modules/es6.string.repeat.js":
|
8402 |
+
/*!***********************************************************!*\
|
8403 |
+
!*** ./node_modules/core-js/modules/es6.string.repeat.js ***!
|
8404 |
+
\***********************************************************/
|
8405 |
+
/*! no static exports found */
|
8406 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8407 |
+
|
8408 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8409 |
+
|
8410 |
+
$export($export.P, 'String', {
|
8411 |
+
// 21.1.3.13 String.prototype.repeat(count)
|
8412 |
+
repeat: __webpack_require__(/*! ./_string-repeat */ "./node_modules/core-js/modules/_string-repeat.js")
|
8413 |
+
});
|
8414 |
+
|
8415 |
+
|
8416 |
+
/***/ }),
|
8417 |
+
|
8418 |
+
/***/ "./node_modules/core-js/modules/es6.string.small.js":
|
8419 |
+
/*!**********************************************************!*\
|
8420 |
+
!*** ./node_modules/core-js/modules/es6.string.small.js ***!
|
8421 |
+
\**********************************************************/
|
8422 |
+
/*! no static exports found */
|
8423 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8424 |
+
|
8425 |
+
"use strict";
|
8426 |
+
|
8427 |
+
// B.2.3.11 String.prototype.small()
|
8428 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('small', function (createHTML) {
|
8429 |
+
return function small() {
|
8430 |
+
return createHTML(this, 'small', '', '');
|
8431 |
+
};
|
8432 |
+
});
|
8433 |
+
|
8434 |
+
|
8435 |
+
/***/ }),
|
8436 |
+
|
8437 |
+
/***/ "./node_modules/core-js/modules/es6.string.starts-with.js":
|
8438 |
+
/*!****************************************************************!*\
|
8439 |
+
!*** ./node_modules/core-js/modules/es6.string.starts-with.js ***!
|
8440 |
+
\****************************************************************/
|
8441 |
+
/*! no static exports found */
|
8442 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8443 |
+
|
8444 |
+
"use strict";
|
8445 |
+
// 21.1.3.18 String.prototype.startsWith(searchString [, position ])
|
8446 |
+
|
8447 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8448 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
8449 |
+
var context = __webpack_require__(/*! ./_string-context */ "./node_modules/core-js/modules/_string-context.js");
|
8450 |
+
var STARTS_WITH = 'startsWith';
|
8451 |
+
var $startsWith = ''[STARTS_WITH];
|
8452 |
+
|
8453 |
+
$export($export.P + $export.F * __webpack_require__(/*! ./_fails-is-regexp */ "./node_modules/core-js/modules/_fails-is-regexp.js")(STARTS_WITH), 'String', {
|
8454 |
+
startsWith: function startsWith(searchString /* , position = 0 */) {
|
8455 |
+
var that = context(this, searchString, STARTS_WITH);
|
8456 |
+
var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));
|
8457 |
+
var search = String(searchString);
|
8458 |
+
return $startsWith
|
8459 |
+
? $startsWith.call(that, search, index)
|
8460 |
+
: that.slice(index, index + search.length) === search;
|
8461 |
+
}
|
8462 |
+
});
|
8463 |
+
|
8464 |
+
|
8465 |
+
/***/ }),
|
8466 |
+
|
8467 |
+
/***/ "./node_modules/core-js/modules/es6.string.strike.js":
|
8468 |
+
/*!***********************************************************!*\
|
8469 |
+
!*** ./node_modules/core-js/modules/es6.string.strike.js ***!
|
8470 |
+
\***********************************************************/
|
8471 |
+
/*! no static exports found */
|
8472 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8473 |
+
|
8474 |
+
"use strict";
|
8475 |
+
|
8476 |
+
// B.2.3.12 String.prototype.strike()
|
8477 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('strike', function (createHTML) {
|
8478 |
+
return function strike() {
|
8479 |
+
return createHTML(this, 'strike', '', '');
|
8480 |
+
};
|
8481 |
+
});
|
8482 |
+
|
8483 |
+
|
8484 |
+
/***/ }),
|
8485 |
+
|
8486 |
+
/***/ "./node_modules/core-js/modules/es6.string.sub.js":
|
8487 |
+
/*!********************************************************!*\
|
8488 |
+
!*** ./node_modules/core-js/modules/es6.string.sub.js ***!
|
8489 |
+
\********************************************************/
|
8490 |
+
/*! no static exports found */
|
8491 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8492 |
+
|
8493 |
+
"use strict";
|
8494 |
+
|
8495 |
+
// B.2.3.13 String.prototype.sub()
|
8496 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('sub', function (createHTML) {
|
8497 |
+
return function sub() {
|
8498 |
+
return createHTML(this, 'sub', '', '');
|
8499 |
+
};
|
8500 |
+
});
|
8501 |
+
|
8502 |
+
|
8503 |
+
/***/ }),
|
8504 |
+
|
8505 |
+
/***/ "./node_modules/core-js/modules/es6.string.sup.js":
|
8506 |
+
/*!********************************************************!*\
|
8507 |
+
!*** ./node_modules/core-js/modules/es6.string.sup.js ***!
|
8508 |
+
\********************************************************/
|
8509 |
+
/*! no static exports found */
|
8510 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8511 |
+
|
8512 |
+
"use strict";
|
8513 |
+
|
8514 |
+
// B.2.3.14 String.prototype.sup()
|
8515 |
+
__webpack_require__(/*! ./_string-html */ "./node_modules/core-js/modules/_string-html.js")('sup', function (createHTML) {
|
8516 |
+
return function sup() {
|
8517 |
+
return createHTML(this, 'sup', '', '');
|
8518 |
+
};
|
8519 |
+
});
|
8520 |
+
|
8521 |
+
|
8522 |
+
/***/ }),
|
8523 |
+
|
8524 |
+
/***/ "./node_modules/core-js/modules/es6.string.trim.js":
|
8525 |
+
/*!*********************************************************!*\
|
8526 |
+
!*** ./node_modules/core-js/modules/es6.string.trim.js ***!
|
8527 |
+
\*********************************************************/
|
8528 |
+
/*! no static exports found */
|
8529 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8530 |
+
|
8531 |
+
"use strict";
|
8532 |
+
|
8533 |
+
// 21.1.3.25 String.prototype.trim()
|
8534 |
+
__webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js")('trim', function ($trim) {
|
8535 |
+
return function trim() {
|
8536 |
+
return $trim(this, 3);
|
8537 |
+
};
|
8538 |
+
});
|
8539 |
+
|
8540 |
+
|
8541 |
+
/***/ }),
|
8542 |
+
|
8543 |
+
/***/ "./node_modules/core-js/modules/es6.symbol.js":
|
8544 |
+
/*!****************************************************!*\
|
8545 |
+
!*** ./node_modules/core-js/modules/es6.symbol.js ***!
|
8546 |
+
\****************************************************/
|
8547 |
+
/*! no static exports found */
|
8548 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8549 |
+
|
8550 |
+
"use strict";
|
8551 |
+
|
8552 |
+
// ECMAScript 6 symbols shim
|
8553 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
8554 |
+
var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js");
|
8555 |
+
var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js");
|
8556 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8557 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
8558 |
+
var META = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").KEY;
|
8559 |
+
var $fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js");
|
8560 |
+
var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js");
|
8561 |
+
var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js");
|
8562 |
+
var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js");
|
8563 |
+
var wks = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js");
|
8564 |
+
var wksExt = __webpack_require__(/*! ./_wks-ext */ "./node_modules/core-js/modules/_wks-ext.js");
|
8565 |
+
var wksDefine = __webpack_require__(/*! ./_wks-define */ "./node_modules/core-js/modules/_wks-define.js");
|
8566 |
+
var enumKeys = __webpack_require__(/*! ./_enum-keys */ "./node_modules/core-js/modules/_enum-keys.js");
|
8567 |
+
var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js");
|
8568 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
8569 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
8570 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
8571 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
8572 |
+
var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js");
|
8573 |
+
var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js");
|
8574 |
+
var _create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js");
|
8575 |
+
var gOPNExt = __webpack_require__(/*! ./_object-gopn-ext */ "./node_modules/core-js/modules/_object-gopn-ext.js");
|
8576 |
+
var $GOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
8577 |
+
var $GOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js");
|
8578 |
+
var $DP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js");
|
8579 |
+
var $keys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
8580 |
+
var gOPD = $GOPD.f;
|
8581 |
+
var dP = $DP.f;
|
8582 |
+
var gOPN = gOPNExt.f;
|
8583 |
+
var $Symbol = global.Symbol;
|
8584 |
+
var $JSON = global.JSON;
|
8585 |
+
var _stringify = $JSON && $JSON.stringify;
|
8586 |
+
var PROTOTYPE = 'prototype';
|
8587 |
+
var HIDDEN = wks('_hidden');
|
8588 |
+
var TO_PRIMITIVE = wks('toPrimitive');
|
8589 |
+
var isEnum = {}.propertyIsEnumerable;
|
8590 |
+
var SymbolRegistry = shared('symbol-registry');
|
8591 |
+
var AllSymbols = shared('symbols');
|
8592 |
+
var OPSymbols = shared('op-symbols');
|
8593 |
+
var ObjectProto = Object[PROTOTYPE];
|
8594 |
+
var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
|
8595 |
+
var QObject = global.QObject;
|
8596 |
+
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
8597 |
+
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
8598 |
+
|
8599 |
+
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
|
8600 |
+
var setSymbolDesc = DESCRIPTORS && $fails(function () {
|
8601 |
+
return _create(dP({}, 'a', {
|
8602 |
+
get: function () { return dP(this, 'a', { value: 7 }).a; }
|
8603 |
+
})).a != 7;
|
8604 |
+
}) ? function (it, key, D) {
|
8605 |
+
var protoDesc = gOPD(ObjectProto, key);
|
8606 |
+
if (protoDesc) delete ObjectProto[key];
|
8607 |
+
dP(it, key, D);
|
8608 |
+
if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
|
8609 |
+
} : dP;
|
8610 |
+
|
8611 |
+
var wrap = function (tag) {
|
8612 |
+
var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
|
8613 |
+
sym._k = tag;
|
8614 |
+
return sym;
|
8615 |
+
};
|
8616 |
+
|
8617 |
+
var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
|
8618 |
+
return typeof it == 'symbol';
|
8619 |
+
} : function (it) {
|
8620 |
+
return it instanceof $Symbol;
|
8621 |
+
};
|
8622 |
+
|
8623 |
+
var $defineProperty = function defineProperty(it, key, D) {
|
8624 |
+
if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
|
8625 |
+
anObject(it);
|
8626 |
+
key = toPrimitive(key, true);
|
8627 |
+
anObject(D);
|
8628 |
+
if (has(AllSymbols, key)) {
|
8629 |
+
if (!D.enumerable) {
|
8630 |
+
if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
|
8631 |
+
it[HIDDEN][key] = true;
|
8632 |
+
} else {
|
8633 |
+
if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
|
8634 |
+
D = _create(D, { enumerable: createDesc(0, false) });
|
8635 |
+
} return setSymbolDesc(it, key, D);
|
8636 |
+
} return dP(it, key, D);
|
8637 |
+
};
|
8638 |
+
var $defineProperties = function defineProperties(it, P) {
|
8639 |
+
anObject(it);
|
8640 |
+
var keys = enumKeys(P = toIObject(P));
|
8641 |
+
var i = 0;
|
8642 |
+
var l = keys.length;
|
8643 |
+
var key;
|
8644 |
+
while (l > i) $defineProperty(it, key = keys[i++], P[key]);
|
8645 |
+
return it;
|
8646 |
+
};
|
8647 |
+
var $create = function create(it, P) {
|
8648 |
+
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
|
8649 |
+
};
|
8650 |
+
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
|
8651 |
+
var E = isEnum.call(this, key = toPrimitive(key, true));
|
8652 |
+
if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
|
8653 |
+
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
|
8654 |
+
};
|
8655 |
+
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
|
8656 |
+
it = toIObject(it);
|
8657 |
+
key = toPrimitive(key, true);
|
8658 |
+
if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
|
8659 |
+
var D = gOPD(it, key);
|
8660 |
+
if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
|
8661 |
+
return D;
|
8662 |
+
};
|
8663 |
+
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
|
8664 |
+
var names = gOPN(toIObject(it));
|
8665 |
+
var result = [];
|
8666 |
+
var i = 0;
|
8667 |
+
var key;
|
8668 |
+
while (names.length > i) {
|
8669 |
+
if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
|
8670 |
+
} return result;
|
8671 |
+
};
|
8672 |
+
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
|
8673 |
+
var IS_OP = it === ObjectProto;
|
8674 |
+
var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
|
8675 |
+
var result = [];
|
8676 |
+
var i = 0;
|
8677 |
+
var key;
|
8678 |
+
while (names.length > i) {
|
8679 |
+
if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
|
8680 |
+
} return result;
|
8681 |
+
};
|
8682 |
+
|
8683 |
+
// 19.4.1.1 Symbol([description])
|
8684 |
+
if (!USE_NATIVE) {
|
8685 |
+
$Symbol = function Symbol() {
|
8686 |
+
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
|
8687 |
+
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
|
8688 |
+
var $set = function (value) {
|
8689 |
+
if (this === ObjectProto) $set.call(OPSymbols, value);
|
8690 |
+
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
|
8691 |
+
setSymbolDesc(this, tag, createDesc(1, value));
|
8692 |
+
};
|
8693 |
+
if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
|
8694 |
+
return wrap(tag);
|
8695 |
+
};
|
8696 |
+
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
|
8697 |
+
return this._k;
|
8698 |
+
});
|
8699 |
+
|
8700 |
+
$GOPD.f = $getOwnPropertyDescriptor;
|
8701 |
+
$DP.f = $defineProperty;
|
8702 |
+
__webpack_require__(/*! ./_object-gopn */ "./node_modules/core-js/modules/_object-gopn.js").f = gOPNExt.f = $getOwnPropertyNames;
|
8703 |
+
__webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js").f = $propertyIsEnumerable;
|
8704 |
+
$GOPS.f = $getOwnPropertySymbols;
|
8705 |
+
|
8706 |
+
if (DESCRIPTORS && !__webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js")) {
|
8707 |
+
redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
|
8708 |
+
}
|
8709 |
+
|
8710 |
+
wksExt.f = function (name) {
|
8711 |
+
return wrap(wks(name));
|
8712 |
+
};
|
8713 |
+
}
|
8714 |
+
|
8715 |
+
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
|
8716 |
+
|
8717 |
+
for (var es6Symbols = (
|
8718 |
+
// 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
|
8719 |
+
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
|
8720 |
+
).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
|
8721 |
+
|
8722 |
+
for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
|
8723 |
+
|
8724 |
+
$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
|
8725 |
+
// 19.4.2.1 Symbol.for(key)
|
8726 |
+
'for': function (key) {
|
8727 |
+
return has(SymbolRegistry, key += '')
|
8728 |
+
? SymbolRegistry[key]
|
8729 |
+
: SymbolRegistry[key] = $Symbol(key);
|
8730 |
+
},
|
8731 |
+
// 19.4.2.5 Symbol.keyFor(sym)
|
8732 |
+
keyFor: function keyFor(sym) {
|
8733 |
+
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
|
8734 |
+
for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
|
8735 |
+
},
|
8736 |
+
useSetter: function () { setter = true; },
|
8737 |
+
useSimple: function () { setter = false; }
|
8738 |
+
});
|
8739 |
+
|
8740 |
+
$export($export.S + $export.F * !USE_NATIVE, 'Object', {
|
8741 |
+
// 19.1.2.2 Object.create(O [, Properties])
|
8742 |
+
create: $create,
|
8743 |
+
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
|
8744 |
+
defineProperty: $defineProperty,
|
8745 |
+
// 19.1.2.3 Object.defineProperties(O, Properties)
|
8746 |
+
defineProperties: $defineProperties,
|
8747 |
+
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
8748 |
+
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
|
8749 |
+
// 19.1.2.7 Object.getOwnPropertyNames(O)
|
8750 |
+
getOwnPropertyNames: $getOwnPropertyNames,
|
8751 |
+
// 19.1.2.8 Object.getOwnPropertySymbols(O)
|
8752 |
+
getOwnPropertySymbols: $getOwnPropertySymbols
|
8753 |
+
});
|
8754 |
+
|
8755 |
+
// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
|
8756 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
|
8757 |
+
var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
|
8758 |
+
|
8759 |
+
$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
|
8760 |
+
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
|
8761 |
+
return $GOPS.f(toObject(it));
|
8762 |
+
}
|
8763 |
+
});
|
8764 |
+
|
8765 |
+
// 24.3.2 JSON.stringify(value [, replacer [, space]])
|
8766 |
+
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
|
8767 |
+
var S = $Symbol();
|
8768 |
+
// MS Edge converts symbol values to JSON as {}
|
8769 |
+
// WebKit converts symbol values to JSON as null
|
8770 |
+
// V8 throws on boxed symbols
|
8771 |
+
return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
|
8772 |
+
})), 'JSON', {
|
8773 |
+
stringify: function stringify(it) {
|
8774 |
+
var args = [it];
|
8775 |
+
var i = 1;
|
8776 |
+
var replacer, $replacer;
|
8777 |
+
while (arguments.length > i) args.push(arguments[i++]);
|
8778 |
+
$replacer = replacer = args[1];
|
8779 |
+
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
8780 |
+
if (!isArray(replacer)) replacer = function (key, value) {
|
8781 |
+
if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
|
8782 |
+
if (!isSymbol(value)) return value;
|
8783 |
+
};
|
8784 |
+
args[1] = replacer;
|
8785 |
+
return _stringify.apply($JSON, args);
|
8786 |
+
}
|
8787 |
+
});
|
8788 |
+
|
8789 |
+
// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
|
8790 |
+
$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
|
8791 |
+
// 19.4.3.5 Symbol.prototype[@@toStringTag]
|
8792 |
+
setToStringTag($Symbol, 'Symbol');
|
8793 |
+
// 20.2.1.9 Math[@@toStringTag]
|
8794 |
+
setToStringTag(Math, 'Math', true);
|
8795 |
+
// 24.3.3 JSON[@@toStringTag]
|
8796 |
+
setToStringTag(global.JSON, 'JSON', true);
|
8797 |
+
|
8798 |
+
|
8799 |
+
/***/ }),
|
8800 |
+
|
8801 |
+
/***/ "./node_modules/core-js/modules/es6.typed.array-buffer.js":
|
8802 |
+
/*!****************************************************************!*\
|
8803 |
+
!*** ./node_modules/core-js/modules/es6.typed.array-buffer.js ***!
|
8804 |
+
\****************************************************************/
|
8805 |
+
/*! no static exports found */
|
8806 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8807 |
+
|
8808 |
+
"use strict";
|
8809 |
+
|
8810 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8811 |
+
var $typed = __webpack_require__(/*! ./_typed */ "./node_modules/core-js/modules/_typed.js");
|
8812 |
+
var buffer = __webpack_require__(/*! ./_typed-buffer */ "./node_modules/core-js/modules/_typed-buffer.js");
|
8813 |
+
var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js");
|
8814 |
+
var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js");
|
8815 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
8816 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
8817 |
+
var ArrayBuffer = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").ArrayBuffer;
|
8818 |
+
var speciesConstructor = __webpack_require__(/*! ./_species-constructor */ "./node_modules/core-js/modules/_species-constructor.js");
|
8819 |
+
var $ArrayBuffer = buffer.ArrayBuffer;
|
8820 |
+
var $DataView = buffer.DataView;
|
8821 |
+
var $isView = $typed.ABV && ArrayBuffer.isView;
|
8822 |
+
var $slice = $ArrayBuffer.prototype.slice;
|
8823 |
+
var VIEW = $typed.VIEW;
|
8824 |
+
var ARRAY_BUFFER = 'ArrayBuffer';
|
8825 |
+
|
8826 |
+
$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });
|
8827 |
+
|
8828 |
+
$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
|
8829 |
+
// 24.1.3.1 ArrayBuffer.isView(arg)
|
8830 |
+
isView: function isView(it) {
|
8831 |
+
return $isView && $isView(it) || isObject(it) && VIEW in it;
|
8832 |
+
}
|
8833 |
+
});
|
8834 |
+
|
8835 |
+
$export($export.P + $export.U + $export.F * __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () {
|
8836 |
+
return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
|
8837 |
+
}), ARRAY_BUFFER, {
|
8838 |
+
// 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
|
8839 |
+
slice: function slice(start, end) {
|
8840 |
+
if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
|
8841 |
+
var len = anObject(this).byteLength;
|
8842 |
+
var first = toAbsoluteIndex(start, len);
|
8843 |
+
var fin = toAbsoluteIndex(end === undefined ? len : end, len);
|
8844 |
+
var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));
|
8845 |
+
var viewS = new $DataView(this);
|
8846 |
+
var viewT = new $DataView(result);
|
8847 |
+
var index = 0;
|
8848 |
+
while (first < fin) {
|
8849 |
+
viewT.setUint8(index++, viewS.getUint8(first++));
|
8850 |
+
} return result;
|
8851 |
+
}
|
8852 |
+
});
|
8853 |
+
|
8854 |
+
__webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js")(ARRAY_BUFFER);
|
8855 |
+
|
8856 |
+
|
8857 |
+
/***/ }),
|
8858 |
+
|
8859 |
+
/***/ "./node_modules/core-js/modules/es6.typed.data-view.js":
|
8860 |
+
/*!*************************************************************!*\
|
8861 |
+
!*** ./node_modules/core-js/modules/es6.typed.data-view.js ***!
|
8862 |
+
\*************************************************************/
|
8863 |
+
/*! no static exports found */
|
8864 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8865 |
+
|
8866 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
8867 |
+
$export($export.G + $export.W + $export.F * !__webpack_require__(/*! ./_typed */ "./node_modules/core-js/modules/_typed.js").ABV, {
|
8868 |
+
DataView: __webpack_require__(/*! ./_typed-buffer */ "./node_modules/core-js/modules/_typed-buffer.js").DataView
|
8869 |
+
});
|
8870 |
+
|
8871 |
+
|
8872 |
+
/***/ }),
|
8873 |
+
|
8874 |
+
/***/ "./node_modules/core-js/modules/es6.typed.float32-array.js":
|
8875 |
+
/*!*****************************************************************!*\
|
8876 |
+
!*** ./node_modules/core-js/modules/es6.typed.float32-array.js ***!
|
8877 |
+
\*****************************************************************/
|
8878 |
+
/*! no static exports found */
|
8879 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8880 |
+
|
8881 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Float32', 4, function (init) {
|
8882 |
+
return function Float32Array(data, byteOffset, length) {
|
8883 |
+
return init(this, data, byteOffset, length);
|
8884 |
+
};
|
8885 |
+
});
|
8886 |
+
|
8887 |
+
|
8888 |
+
/***/ }),
|
8889 |
+
|
8890 |
+
/***/ "./node_modules/core-js/modules/es6.typed.float64-array.js":
|
8891 |
+
/*!*****************************************************************!*\
|
8892 |
+
!*** ./node_modules/core-js/modules/es6.typed.float64-array.js ***!
|
8893 |
+
\*****************************************************************/
|
8894 |
+
/*! no static exports found */
|
8895 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8896 |
+
|
8897 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Float64', 8, function (init) {
|
8898 |
+
return function Float64Array(data, byteOffset, length) {
|
8899 |
+
return init(this, data, byteOffset, length);
|
8900 |
+
};
|
8901 |
+
});
|
8902 |
+
|
8903 |
+
|
8904 |
+
/***/ }),
|
8905 |
+
|
8906 |
+
/***/ "./node_modules/core-js/modules/es6.typed.int16-array.js":
|
8907 |
+
/*!***************************************************************!*\
|
8908 |
+
!*** ./node_modules/core-js/modules/es6.typed.int16-array.js ***!
|
8909 |
+
\***************************************************************/
|
8910 |
+
/*! no static exports found */
|
8911 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8912 |
+
|
8913 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Int16', 2, function (init) {
|
8914 |
+
return function Int16Array(data, byteOffset, length) {
|
8915 |
+
return init(this, data, byteOffset, length);
|
8916 |
+
};
|
8917 |
+
});
|
8918 |
+
|
8919 |
+
|
8920 |
+
/***/ }),
|
8921 |
+
|
8922 |
+
/***/ "./node_modules/core-js/modules/es6.typed.int32-array.js":
|
8923 |
+
/*!***************************************************************!*\
|
8924 |
+
!*** ./node_modules/core-js/modules/es6.typed.int32-array.js ***!
|
8925 |
+
\***************************************************************/
|
8926 |
+
/*! no static exports found */
|
8927 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8928 |
+
|
8929 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Int32', 4, function (init) {
|
8930 |
+
return function Int32Array(data, byteOffset, length) {
|
8931 |
+
return init(this, data, byteOffset, length);
|
8932 |
+
};
|
8933 |
+
});
|
8934 |
+
|
8935 |
+
|
8936 |
+
/***/ }),
|
8937 |
+
|
8938 |
+
/***/ "./node_modules/core-js/modules/es6.typed.int8-array.js":
|
8939 |
+
/*!**************************************************************!*\
|
8940 |
+
!*** ./node_modules/core-js/modules/es6.typed.int8-array.js ***!
|
8941 |
+
\**************************************************************/
|
8942 |
+
/*! no static exports found */
|
8943 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8944 |
+
|
8945 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Int8', 1, function (init) {
|
8946 |
+
return function Int8Array(data, byteOffset, length) {
|
8947 |
+
return init(this, data, byteOffset, length);
|
8948 |
+
};
|
8949 |
+
});
|
8950 |
+
|
8951 |
+
|
8952 |
+
/***/ }),
|
8953 |
+
|
8954 |
+
/***/ "./node_modules/core-js/modules/es6.typed.uint16-array.js":
|
8955 |
+
/*!****************************************************************!*\
|
8956 |
+
!*** ./node_modules/core-js/modules/es6.typed.uint16-array.js ***!
|
8957 |
+
\****************************************************************/
|
8958 |
+
/*! no static exports found */
|
8959 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8960 |
+
|
8961 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Uint16', 2, function (init) {
|
8962 |
+
return function Uint16Array(data, byteOffset, length) {
|
8963 |
+
return init(this, data, byteOffset, length);
|
8964 |
+
};
|
8965 |
+
});
|
8966 |
+
|
8967 |
+
|
8968 |
+
/***/ }),
|
8969 |
+
|
8970 |
+
/***/ "./node_modules/core-js/modules/es6.typed.uint32-array.js":
|
8971 |
+
/*!****************************************************************!*\
|
8972 |
+
!*** ./node_modules/core-js/modules/es6.typed.uint32-array.js ***!
|
8973 |
+
\****************************************************************/
|
8974 |
+
/*! no static exports found */
|
8975 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8976 |
+
|
8977 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Uint32', 4, function (init) {
|
8978 |
+
return function Uint32Array(data, byteOffset, length) {
|
8979 |
+
return init(this, data, byteOffset, length);
|
8980 |
+
};
|
8981 |
+
});
|
8982 |
+
|
8983 |
+
|
8984 |
+
/***/ }),
|
8985 |
+
|
8986 |
+
/***/ "./node_modules/core-js/modules/es6.typed.uint8-array.js":
|
8987 |
+
/*!***************************************************************!*\
|
8988 |
+
!*** ./node_modules/core-js/modules/es6.typed.uint8-array.js ***!
|
8989 |
+
\***************************************************************/
|
8990 |
+
/*! no static exports found */
|
8991 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8992 |
+
|
8993 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Uint8', 1, function (init) {
|
8994 |
+
return function Uint8Array(data, byteOffset, length) {
|
8995 |
+
return init(this, data, byteOffset, length);
|
8996 |
+
};
|
8997 |
+
});
|
8998 |
+
|
8999 |
+
|
9000 |
+
/***/ }),
|
9001 |
+
|
9002 |
+
/***/ "./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js":
|
9003 |
+
/*!***********************************************************************!*\
|
9004 |
+
!*** ./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js ***!
|
9005 |
+
\***********************************************************************/
|
9006 |
+
/*! no static exports found */
|
9007 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9008 |
+
|
9009 |
+
__webpack_require__(/*! ./_typed-array */ "./node_modules/core-js/modules/_typed-array.js")('Uint8', 1, function (init) {
|
9010 |
+
return function Uint8ClampedArray(data, byteOffset, length) {
|
9011 |
+
return init(this, data, byteOffset, length);
|
9012 |
+
};
|
9013 |
+
}, true);
|
9014 |
+
|
9015 |
+
|
9016 |
+
/***/ }),
|
9017 |
+
|
9018 |
+
/***/ "./node_modules/core-js/modules/es6.weak-map.js":
|
9019 |
+
/*!******************************************************!*\
|
9020 |
+
!*** ./node_modules/core-js/modules/es6.weak-map.js ***!
|
9021 |
+
\******************************************************/
|
9022 |
+
/*! no static exports found */
|
9023 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9024 |
+
|
9025 |
+
"use strict";
|
9026 |
+
|
9027 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
9028 |
+
var each = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(0);
|
9029 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
9030 |
+
var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js");
|
9031 |
+
var assign = __webpack_require__(/*! ./_object-assign */ "./node_modules/core-js/modules/_object-assign.js");
|
9032 |
+
var weak = __webpack_require__(/*! ./_collection-weak */ "./node_modules/core-js/modules/_collection-weak.js");
|
9033 |
+
var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js");
|
9034 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
9035 |
+
var NATIVE_WEAK_MAP = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
9036 |
+
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
|
9037 |
+
var WEAK_MAP = 'WeakMap';
|
9038 |
+
var getWeak = meta.getWeak;
|
9039 |
+
var isExtensible = Object.isExtensible;
|
9040 |
+
var uncaughtFrozenStore = weak.ufstore;
|
9041 |
+
var InternalMap;
|
9042 |
+
|
9043 |
+
var wrapper = function (get) {
|
9044 |
+
return function WeakMap() {
|
9045 |
+
return get(this, arguments.length > 0 ? arguments[0] : undefined);
|
9046 |
+
};
|
9047 |
+
};
|
9048 |
+
|
9049 |
+
var methods = {
|
9050 |
+
// 23.3.3.3 WeakMap.prototype.get(key)
|
9051 |
+
get: function get(key) {
|
9052 |
+
if (isObject(key)) {
|
9053 |
+
var data = getWeak(key);
|
9054 |
+
if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);
|
9055 |
+
return data ? data[this._i] : undefined;
|
9056 |
+
}
|
9057 |
+
},
|
9058 |
+
// 23.3.3.5 WeakMap.prototype.set(key, value)
|
9059 |
+
set: function set(key, value) {
|
9060 |
+
return weak.def(validate(this, WEAK_MAP), key, value);
|
9061 |
+
}
|
9062 |
+
};
|
9063 |
+
|
9064 |
+
// 23.3 WeakMap Objects
|
9065 |
+
var $WeakMap = module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(WEAK_MAP, wrapper, methods, weak, true, true);
|
9066 |
+
|
9067 |
+
// IE11 WeakMap frozen keys fix
|
9068 |
+
if (NATIVE_WEAK_MAP && IS_IE11) {
|
9069 |
+
InternalMap = weak.getConstructor(wrapper, WEAK_MAP);
|
9070 |
+
assign(InternalMap.prototype, methods);
|
9071 |
+
meta.NEED = true;
|
9072 |
+
each(['delete', 'has', 'get', 'set'], function (key) {
|
9073 |
+
var proto = $WeakMap.prototype;
|
9074 |
+
var method = proto[key];
|
9075 |
+
redefine(proto, key, function (a, b) {
|
9076 |
+
// store frozen objects on internal weakmap shim
|
9077 |
+
if (isObject(a) && !isExtensible(a)) {
|
9078 |
+
if (!this._f) this._f = new InternalMap();
|
9079 |
+
var result = this._f[key](a, b);
|
9080 |
+
return key == 'set' ? this : result;
|
9081 |
+
// store all the rest on native weakmap
|
9082 |
+
} return method.call(this, a, b);
|
9083 |
+
});
|
9084 |
+
});
|
9085 |
+
}
|
9086 |
+
|
9087 |
+
|
9088 |
+
/***/ }),
|
9089 |
+
|
9090 |
+
/***/ "./node_modules/core-js/modules/es6.weak-set.js":
|
9091 |
+
/*!******************************************************!*\
|
9092 |
+
!*** ./node_modules/core-js/modules/es6.weak-set.js ***!
|
9093 |
+
\******************************************************/
|
9094 |
+
/*! no static exports found */
|
9095 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9096 |
+
|
9097 |
+
"use strict";
|
9098 |
+
|
9099 |
+
var weak = __webpack_require__(/*! ./_collection-weak */ "./node_modules/core-js/modules/_collection-weak.js");
|
9100 |
+
var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js");
|
9101 |
+
var WEAK_SET = 'WeakSet';
|
9102 |
+
|
9103 |
+
// 23.4 WeakSet Objects
|
9104 |
+
__webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(WEAK_SET, function (get) {
|
9105 |
+
return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
|
9106 |
+
}, {
|
9107 |
+
// 23.4.3.1 WeakSet.prototype.add(value)
|
9108 |
+
add: function add(value) {
|
9109 |
+
return weak.def(validate(this, WEAK_SET), value, true);
|
9110 |
+
}
|
9111 |
+
}, weak, false, true);
|
9112 |
+
|
9113 |
+
|
9114 |
+
/***/ }),
|
9115 |
+
|
9116 |
+
/***/ "./node_modules/core-js/modules/es7.array.flat-map.js":
|
9117 |
+
/*!************************************************************!*\
|
9118 |
+
!*** ./node_modules/core-js/modules/es7.array.flat-map.js ***!
|
9119 |
+
\************************************************************/
|
9120 |
+
/*! no static exports found */
|
9121 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9122 |
+
|
9123 |
+
"use strict";
|
9124 |
+
|
9125 |
+
// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
|
9126 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9127 |
+
var flattenIntoArray = __webpack_require__(/*! ./_flatten-into-array */ "./node_modules/core-js/modules/_flatten-into-array.js");
|
9128 |
+
var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js");
|
9129 |
+
var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js");
|
9130 |
+
var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js");
|
9131 |
+
var arraySpeciesCreate = __webpack_require__(/*! ./_array-species-create */ "./node_modules/core-js/modules/_array-species-create.js");
|
9132 |
+
|
9133 |
+
$export($export.P, 'Array', {
|
9134 |
+
flatMap: function flatMap(callbackfn /* , thisArg */) {
|
9135 |
+
var O = toObject(this);
|
9136 |
+
var sourceLen, A;
|
9137 |
+
aFunction(callbackfn);
|
9138 |
+
sourceLen = toLength(O.length);
|
9139 |
+
A = arraySpeciesCreate(O, 0);
|
9140 |
+
flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);
|
9141 |
+
return A;
|
9142 |
+
}
|
9143 |
+
});
|
9144 |
+
|
9145 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")('flatMap');
|
9146 |
+
|
9147 |
+
|
9148 |
+
/***/ }),
|
9149 |
+
|
9150 |
+
/***/ "./node_modules/core-js/modules/es7.array.includes.js":
|
9151 |
+
/*!************************************************************!*\
|
9152 |
+
!*** ./node_modules/core-js/modules/es7.array.includes.js ***!
|
9153 |
+
\************************************************************/
|
9154 |
+
/*! no static exports found */
|
9155 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9156 |
+
|
9157 |
+
"use strict";
|
9158 |
+
|
9159 |
+
// https://github.com/tc39/Array.prototype.includes
|
9160 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9161 |
+
var $includes = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js")(true);
|
9162 |
+
|
9163 |
+
$export($export.P, 'Array', {
|
9164 |
+
includes: function includes(el /* , fromIndex = 0 */) {
|
9165 |
+
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
9166 |
+
}
|
9167 |
+
});
|
9168 |
+
|
9169 |
+
__webpack_require__(/*! ./_add-to-unscopables */ "./node_modules/core-js/modules/_add-to-unscopables.js")('includes');
|
9170 |
+
|
9171 |
+
|
9172 |
+
/***/ }),
|
9173 |
+
|
9174 |
+
/***/ "./node_modules/core-js/modules/es7.object.entries.js":
|
9175 |
+
/*!************************************************************!*\
|
9176 |
+
!*** ./node_modules/core-js/modules/es7.object.entries.js ***!
|
9177 |
+
\************************************************************/
|
9178 |
+
/*! no static exports found */
|
9179 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9180 |
+
|
9181 |
+
// https://github.com/tc39/proposal-object-values-entries
|
9182 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9183 |
+
var $entries = __webpack_require__(/*! ./_object-to-array */ "./node_modules/core-js/modules/_object-to-array.js")(true);
|
9184 |
+
|
9185 |
+
$export($export.S, 'Object', {
|
9186 |
+
entries: function entries(it) {
|
9187 |
+
return $entries(it);
|
9188 |
+
}
|
9189 |
+
});
|
9190 |
+
|
9191 |
+
|
9192 |
+
/***/ }),
|
9193 |
+
|
9194 |
+
/***/ "./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js":
|
9195 |
+
/*!*********************************************************************************!*\
|
9196 |
+
!*** ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js ***!
|
9197 |
+
\*********************************************************************************/
|
9198 |
+
/*! no static exports found */
|
9199 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9200 |
+
|
9201 |
+
// https://github.com/tc39/proposal-object-getownpropertydescriptors
|
9202 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9203 |
+
var ownKeys = __webpack_require__(/*! ./_own-keys */ "./node_modules/core-js/modules/_own-keys.js");
|
9204 |
+
var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js");
|
9205 |
+
var gOPD = __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js");
|
9206 |
+
var createProperty = __webpack_require__(/*! ./_create-property */ "./node_modules/core-js/modules/_create-property.js");
|
9207 |
+
|
9208 |
+
$export($export.S, 'Object', {
|
9209 |
+
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
9210 |
+
var O = toIObject(object);
|
9211 |
+
var getDesc = gOPD.f;
|
9212 |
+
var keys = ownKeys(O);
|
9213 |
+
var result = {};
|
9214 |
+
var i = 0;
|
9215 |
+
var key, desc;
|
9216 |
+
while (keys.length > i) {
|
9217 |
+
desc = getDesc(O, key = keys[i++]);
|
9218 |
+
if (desc !== undefined) createProperty(result, key, desc);
|
9219 |
+
}
|
9220 |
+
return result;
|
9221 |
+
}
|
9222 |
+
});
|
9223 |
+
|
9224 |
+
|
9225 |
+
/***/ }),
|
9226 |
+
|
9227 |
+
/***/ "./node_modules/core-js/modules/es7.object.values.js":
|
9228 |
+
/*!***********************************************************!*\
|
9229 |
+
!*** ./node_modules/core-js/modules/es7.object.values.js ***!
|
9230 |
+
\***********************************************************/
|
9231 |
+
/*! no static exports found */
|
9232 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9233 |
+
|
9234 |
+
// https://github.com/tc39/proposal-object-values-entries
|
9235 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9236 |
+
var $values = __webpack_require__(/*! ./_object-to-array */ "./node_modules/core-js/modules/_object-to-array.js")(false);
|
9237 |
+
|
9238 |
+
$export($export.S, 'Object', {
|
9239 |
+
values: function values(it) {
|
9240 |
+
return $values(it);
|
9241 |
+
}
|
9242 |
+
});
|
9243 |
+
|
9244 |
+
|
9245 |
+
/***/ }),
|
9246 |
+
|
9247 |
+
/***/ "./node_modules/core-js/modules/es7.promise.finally.js":
|
9248 |
+
/*!*************************************************************!*\
|
9249 |
+
!*** ./node_modules/core-js/modules/es7.promise.finally.js ***!
|
9250 |
+
\*************************************************************/
|
9251 |
+
/*! no static exports found */
|
9252 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9253 |
+
|
9254 |
+
"use strict";
|
9255 |
+
// https://github.com/tc39/proposal-promise-finally
|
9256 |
+
|
9257 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9258 |
+
var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js");
|
9259 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
9260 |
+
var speciesConstructor = __webpack_require__(/*! ./_species-constructor */ "./node_modules/core-js/modules/_species-constructor.js");
|
9261 |
+
var promiseResolve = __webpack_require__(/*! ./_promise-resolve */ "./node_modules/core-js/modules/_promise-resolve.js");
|
9262 |
+
|
9263 |
+
$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
|
9264 |
+
var C = speciesConstructor(this, core.Promise || global.Promise);
|
9265 |
+
var isFunction = typeof onFinally == 'function';
|
9266 |
+
return this.then(
|
9267 |
+
isFunction ? function (x) {
|
9268 |
+
return promiseResolve(C, onFinally()).then(function () { return x; });
|
9269 |
+
} : onFinally,
|
9270 |
+
isFunction ? function (e) {
|
9271 |
+
return promiseResolve(C, onFinally()).then(function () { throw e; });
|
9272 |
+
} : onFinally
|
9273 |
+
);
|
9274 |
+
} });
|
9275 |
+
|
9276 |
+
|
9277 |
+
/***/ }),
|
9278 |
+
|
9279 |
+
/***/ "./node_modules/core-js/modules/es7.string.pad-end.js":
|
9280 |
+
/*!************************************************************!*\
|
9281 |
+
!*** ./node_modules/core-js/modules/es7.string.pad-end.js ***!
|
9282 |
+
\************************************************************/
|
9283 |
+
/*! no static exports found */
|
9284 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9285 |
+
|
9286 |
+
"use strict";
|
9287 |
+
|
9288 |
+
// https://github.com/tc39/proposal-string-pad-start-end
|
9289 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9290 |
+
var $pad = __webpack_require__(/*! ./_string-pad */ "./node_modules/core-js/modules/_string-pad.js");
|
9291 |
+
var userAgent = __webpack_require__(/*! ./_user-agent */ "./node_modules/core-js/modules/_user-agent.js");
|
9292 |
+
|
9293 |
+
// https://github.com/zloirock/core-js/issues/280
|
9294 |
+
var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
|
9295 |
+
|
9296 |
+
$export($export.P + $export.F * WEBKIT_BUG, 'String', {
|
9297 |
+
padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
|
9298 |
+
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
|
9299 |
+
}
|
9300 |
+
});
|
9301 |
+
|
9302 |
+
|
9303 |
+
/***/ }),
|
9304 |
+
|
9305 |
+
/***/ "./node_modules/core-js/modules/es7.string.pad-start.js":
|
9306 |
+
/*!**************************************************************!*\
|
9307 |
+
!*** ./node_modules/core-js/modules/es7.string.pad-start.js ***!
|
9308 |
+
\**************************************************************/
|
9309 |
+
/*! no static exports found */
|
9310 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9311 |
+
|
9312 |
+
"use strict";
|
9313 |
+
|
9314 |
+
// https://github.com/tc39/proposal-string-pad-start-end
|
9315 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9316 |
+
var $pad = __webpack_require__(/*! ./_string-pad */ "./node_modules/core-js/modules/_string-pad.js");
|
9317 |
+
var userAgent = __webpack_require__(/*! ./_user-agent */ "./node_modules/core-js/modules/_user-agent.js");
|
9318 |
+
|
9319 |
+
// https://github.com/zloirock/core-js/issues/280
|
9320 |
+
var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
|
9321 |
+
|
9322 |
+
$export($export.P + $export.F * WEBKIT_BUG, 'String', {
|
9323 |
+
padStart: function padStart(maxLength /* , fillString = ' ' */) {
|
9324 |
+
return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
|
9325 |
+
}
|
9326 |
+
});
|
9327 |
+
|
9328 |
+
|
9329 |
+
/***/ }),
|
9330 |
+
|
9331 |
+
/***/ "./node_modules/core-js/modules/es7.string.trim-left.js":
|
9332 |
+
/*!**************************************************************!*\
|
9333 |
+
!*** ./node_modules/core-js/modules/es7.string.trim-left.js ***!
|
9334 |
+
\**************************************************************/
|
9335 |
+
/*! no static exports found */
|
9336 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9337 |
+
|
9338 |
+
"use strict";
|
9339 |
+
|
9340 |
+
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
|
9341 |
+
__webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js")('trimLeft', function ($trim) {
|
9342 |
+
return function trimLeft() {
|
9343 |
+
return $trim(this, 1);
|
9344 |
+
};
|
9345 |
+
}, 'trimStart');
|
9346 |
+
|
9347 |
+
|
9348 |
+
/***/ }),
|
9349 |
+
|
9350 |
+
/***/ "./node_modules/core-js/modules/es7.string.trim-right.js":
|
9351 |
+
/*!***************************************************************!*\
|
9352 |
+
!*** ./node_modules/core-js/modules/es7.string.trim-right.js ***!
|
9353 |
+
\***************************************************************/
|
9354 |
+
/*! no static exports found */
|
9355 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9356 |
+
|
9357 |
+
"use strict";
|
9358 |
+
|
9359 |
+
// https://github.com/sebmarkbage/ecmascript-string-left-right-trim
|
9360 |
+
__webpack_require__(/*! ./_string-trim */ "./node_modules/core-js/modules/_string-trim.js")('trimRight', function ($trim) {
|
9361 |
+
return function trimRight() {
|
9362 |
+
return $trim(this, 2);
|
9363 |
+
};
|
9364 |
+
}, 'trimEnd');
|
9365 |
+
|
9366 |
+
|
9367 |
+
/***/ }),
|
9368 |
+
|
9369 |
+
/***/ "./node_modules/core-js/modules/es7.symbol.async-iterator.js":
|
9370 |
+
/*!*******************************************************************!*\
|
9371 |
+
!*** ./node_modules/core-js/modules/es7.symbol.async-iterator.js ***!
|
9372 |
+
\*******************************************************************/
|
9373 |
+
/*! no static exports found */
|
9374 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9375 |
+
|
9376 |
+
__webpack_require__(/*! ./_wks-define */ "./node_modules/core-js/modules/_wks-define.js")('asyncIterator');
|
9377 |
+
|
9378 |
+
|
9379 |
+
/***/ }),
|
9380 |
+
|
9381 |
+
/***/ "./node_modules/core-js/modules/web.dom.iterable.js":
|
9382 |
+
/*!**********************************************************!*\
|
9383 |
+
!*** ./node_modules/core-js/modules/web.dom.iterable.js ***!
|
9384 |
+
\**********************************************************/
|
9385 |
+
/*! no static exports found */
|
9386 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9387 |
+
|
9388 |
+
var $iterators = __webpack_require__(/*! ./es6.array.iterator */ "./node_modules/core-js/modules/es6.array.iterator.js");
|
9389 |
+
var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js");
|
9390 |
+
var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js");
|
9391 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
9392 |
+
var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js");
|
9393 |
+
var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js");
|
9394 |
+
var wks = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js");
|
9395 |
+
var ITERATOR = wks('iterator');
|
9396 |
+
var TO_STRING_TAG = wks('toStringTag');
|
9397 |
+
var ArrayValues = Iterators.Array;
|
9398 |
+
|
9399 |
+
var DOMIterables = {
|
9400 |
+
CSSRuleList: true, // TODO: Not spec compliant, should be false.
|
9401 |
+
CSSStyleDeclaration: false,
|
9402 |
+
CSSValueList: false,
|
9403 |
+
ClientRectList: false,
|
9404 |
+
DOMRectList: false,
|
9405 |
+
DOMStringList: false,
|
9406 |
+
DOMTokenList: true,
|
9407 |
+
DataTransferItemList: false,
|
9408 |
+
FileList: false,
|
9409 |
+
HTMLAllCollection: false,
|
9410 |
+
HTMLCollection: false,
|
9411 |
+
HTMLFormElement: false,
|
9412 |
+
HTMLSelectElement: false,
|
9413 |
+
MediaList: true, // TODO: Not spec compliant, should be false.
|
9414 |
+
MimeTypeArray: false,
|
9415 |
+
NamedNodeMap: false,
|
9416 |
+
NodeList: true,
|
9417 |
+
PaintRequestList: false,
|
9418 |
+
Plugin: false,
|
9419 |
+
PluginArray: false,
|
9420 |
+
SVGLengthList: false,
|
9421 |
+
SVGNumberList: false,
|
9422 |
+
SVGPathSegList: false,
|
9423 |
+
SVGPointList: false,
|
9424 |
+
SVGStringList: false,
|
9425 |
+
SVGTransformList: false,
|
9426 |
+
SourceBufferList: false,
|
9427 |
+
StyleSheetList: true, // TODO: Not spec compliant, should be false.
|
9428 |
+
TextTrackCueList: false,
|
9429 |
+
TextTrackList: false,
|
9430 |
+
TouchList: false
|
9431 |
+
};
|
9432 |
+
|
9433 |
+
for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
|
9434 |
+
var NAME = collections[i];
|
9435 |
+
var explicit = DOMIterables[NAME];
|
9436 |
+
var Collection = global[NAME];
|
9437 |
+
var proto = Collection && Collection.prototype;
|
9438 |
+
var key;
|
9439 |
+
if (proto) {
|
9440 |
+
if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
|
9441 |
+
if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
|
9442 |
+
Iterators[NAME] = ArrayValues;
|
9443 |
+
if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);
|
9444 |
+
}
|
9445 |
+
}
|
9446 |
+
|
9447 |
+
|
9448 |
+
/***/ }),
|
9449 |
+
|
9450 |
+
/***/ "./node_modules/core-js/modules/web.immediate.js":
|
9451 |
+
/*!*******************************************************!*\
|
9452 |
+
!*** ./node_modules/core-js/modules/web.immediate.js ***!
|
9453 |
+
\*******************************************************/
|
9454 |
+
/*! no static exports found */
|
9455 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9456 |
+
|
9457 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9458 |
+
var $task = __webpack_require__(/*! ./_task */ "./node_modules/core-js/modules/_task.js");
|
9459 |
+
$export($export.G + $export.B, {
|
9460 |
+
setImmediate: $task.set,
|
9461 |
+
clearImmediate: $task.clear
|
9462 |
+
});
|
9463 |
+
|
9464 |
+
|
9465 |
+
/***/ }),
|
9466 |
+
|
9467 |
+
/***/ "./node_modules/core-js/modules/web.timers.js":
|
9468 |
+
/*!****************************************************!*\
|
9469 |
+
!*** ./node_modules/core-js/modules/web.timers.js ***!
|
9470 |
+
\****************************************************/
|
9471 |
+
/*! no static exports found */
|
9472 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9473 |
+
|
9474 |
+
// ie9- setTimeout & setInterval additional parameters fix
|
9475 |
+
var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js");
|
9476 |
+
var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js");
|
9477 |
+
var userAgent = __webpack_require__(/*! ./_user-agent */ "./node_modules/core-js/modules/_user-agent.js");
|
9478 |
+
var slice = [].slice;
|
9479 |
+
var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
|
9480 |
+
var wrap = function (set) {
|
9481 |
+
return function (fn, time /* , ...args */) {
|
9482 |
+
var boundArgs = arguments.length > 2;
|
9483 |
+
var args = boundArgs ? slice.call(arguments, 2) : false;
|
9484 |
+
return set(boundArgs ? function () {
|
9485 |
+
// eslint-disable-next-line no-new-func
|
9486 |
+
(typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
|
9487 |
+
} : fn, time);
|
9488 |
+
};
|
9489 |
+
};
|
9490 |
+
$export($export.G + $export.B + $export.F * MSIE, {
|
9491 |
+
setTimeout: wrap(global.setTimeout),
|
9492 |
+
setInterval: wrap(global.setInterval)
|
9493 |
+
});
|
9494 |
+
|
9495 |
+
|
9496 |
+
/***/ }),
|
9497 |
+
|
9498 |
+
/***/ "./node_modules/core-js/web/index.js":
|
9499 |
+
/*!*******************************************!*\
|
9500 |
+
!*** ./node_modules/core-js/web/index.js ***!
|
9501 |
+
\*******************************************/
|
9502 |
+
/*! no static exports found */
|
9503 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9504 |
+
|
9505 |
+
__webpack_require__(/*! ../modules/web.timers */ "./node_modules/core-js/modules/web.timers.js");
|
9506 |
+
__webpack_require__(/*! ../modules/web.immediate */ "./node_modules/core-js/modules/web.immediate.js");
|
9507 |
+
__webpack_require__(/*! ../modules/web.dom.iterable */ "./node_modules/core-js/modules/web.dom.iterable.js");
|
9508 |
+
module.exports = __webpack_require__(/*! ../modules/_core */ "./node_modules/core-js/modules/_core.js");
|
9509 |
+
|
9510 |
+
|
9511 |
+
/***/ }),
|
9512 |
+
|
9513 |
+
/***/ "./node_modules/regenerator-runtime/runtime.js":
|
9514 |
+
/*!*****************************************************!*\
|
9515 |
+
!*** ./node_modules/regenerator-runtime/runtime.js ***!
|
9516 |
+
\*****************************************************/
|
9517 |
+
/*! no static exports found */
|
9518 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9519 |
+
|
9520 |
+
/**
|
9521 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
9522 |
+
*
|
9523 |
+
* This source code is licensed under the MIT license found in the
|
9524 |
+
* LICENSE file in the root directory of this source tree.
|
9525 |
+
*/
|
9526 |
+
|
9527 |
+
var runtime = (function (exports) {
|
9528 |
+
"use strict";
|
9529 |
+
|
9530 |
+
var Op = Object.prototype;
|
9531 |
+
var hasOwn = Op.hasOwnProperty;
|
9532 |
+
var undefined; // More compressible than void 0.
|
9533 |
+
var $Symbol = typeof Symbol === "function" ? Symbol : {};
|
9534 |
+
var iteratorSymbol = $Symbol.iterator || "@@iterator";
|
9535 |
+
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
|
9536 |
+
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
|
9537 |
+
|
9538 |
+
function define(obj, key, value) {
|
9539 |
+
Object.defineProperty(obj, key, {
|
9540 |
+
value: value,
|
9541 |
+
enumerable: true,
|
9542 |
+
configurable: true,
|
9543 |
+
writable: true
|
9544 |
+
});
|
9545 |
+
return obj[key];
|
9546 |
+
}
|
9547 |
+
try {
|
9548 |
+
// IE 8 has a broken Object.defineProperty that only works on DOM objects.
|
9549 |
+
define({}, "");
|
9550 |
+
} catch (err) {
|
9551 |
+
define = function(obj, key, value) {
|
9552 |
+
return obj[key] = value;
|
9553 |
+
};
|
9554 |
+
}
|
9555 |
+
|
9556 |
+
function wrap(innerFn, outerFn, self, tryLocsList) {
|
9557 |
+
// If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
|
9558 |
+
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
|
9559 |
+
var generator = Object.create(protoGenerator.prototype);
|
9560 |
+
var context = new Context(tryLocsList || []);
|
9561 |
+
|
9562 |
+
// The ._invoke method unifies the implementations of the .next,
|
9563 |
+
// .throw, and .return methods.
|
9564 |
+
generator._invoke = makeInvokeMethod(innerFn, self, context);
|
9565 |
+
|
9566 |
+
return generator;
|
9567 |
+
}
|
9568 |
+
exports.wrap = wrap;
|
9569 |
+
|
9570 |
+
// Try/catch helper to minimize deoptimizations. Returns a completion
|
9571 |
+
// record like context.tryEntries[i].completion. This interface could
|
9572 |
+
// have been (and was previously) designed to take a closure to be
|
9573 |
+
// invoked without arguments, but in all the cases we care about we
|
9574 |
+
// already have an existing method we want to call, so there's no need
|
9575 |
+
// to create a new function object. We can even get away with assuming
|
9576 |
+
// the method takes exactly one argument, since that happens to be true
|
9577 |
+
// in every case, so we don't have to touch the arguments object. The
|
9578 |
+
// only additional allocation required is the completion record, which
|
9579 |
+
// has a stable shape and so hopefully should be cheap to allocate.
|
9580 |
+
function tryCatch(fn, obj, arg) {
|
9581 |
+
try {
|
9582 |
+
return { type: "normal", arg: fn.call(obj, arg) };
|
9583 |
+
} catch (err) {
|
9584 |
+
return { type: "throw", arg: err };
|
9585 |
+
}
|
9586 |
+
}
|
9587 |
+
|
9588 |
+
var GenStateSuspendedStart = "suspendedStart";
|
9589 |
+
var GenStateSuspendedYield = "suspendedYield";
|
9590 |
+
var GenStateExecuting = "executing";
|
9591 |
+
var GenStateCompleted = "completed";
|
9592 |
+
|
9593 |
+
// Returning this object from the innerFn has the same effect as
|
9594 |
+
// breaking out of the dispatch switch statement.
|
9595 |
+
var ContinueSentinel = {};
|
9596 |
+
|
9597 |
+
// Dummy constructor functions that we use as the .constructor and
|
9598 |
+
// .constructor.prototype properties for functions that return Generator
|
9599 |
+
// objects. For full spec compliance, you may wish to configure your
|
9600 |
+
// minifier not to mangle the names of these two functions.
|
9601 |
+
function Generator() {}
|
9602 |
+
function GeneratorFunction() {}
|
9603 |
+
function GeneratorFunctionPrototype() {}
|
9604 |
+
|
9605 |
+
// This is a polyfill for %IteratorPrototype% for environments that
|
9606 |
+
// don't natively support it.
|
9607 |
+
var IteratorPrototype = {};
|
9608 |
+
define(IteratorPrototype, iteratorSymbol, function () {
|
9609 |
+
return this;
|
9610 |
+
});
|
9611 |
+
|
9612 |
+
var getProto = Object.getPrototypeOf;
|
9613 |
+
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
9614 |
+
if (NativeIteratorPrototype &&
|
9615 |
+
NativeIteratorPrototype !== Op &&
|
9616 |
+
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
|
9617 |
+
// This environment has a native %IteratorPrototype%; use it instead
|
9618 |
+
// of the polyfill.
|
9619 |
+
IteratorPrototype = NativeIteratorPrototype;
|
9620 |
+
}
|
9621 |
+
|
9622 |
+
var Gp = GeneratorFunctionPrototype.prototype =
|
9623 |
+
Generator.prototype = Object.create(IteratorPrototype);
|
9624 |
+
GeneratorFunction.prototype = GeneratorFunctionPrototype;
|
9625 |
+
define(Gp, "constructor", GeneratorFunctionPrototype);
|
9626 |
+
define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
|
9627 |
+
GeneratorFunction.displayName = define(
|
9628 |
+
GeneratorFunctionPrototype,
|
9629 |
+
toStringTagSymbol,
|
9630 |
+
"GeneratorFunction"
|
9631 |
+
);
|
9632 |
+
|
9633 |
+
// Helper for defining the .next, .throw, and .return methods of the
|
9634 |
+
// Iterator interface in terms of a single ._invoke method.
|
9635 |
+
function defineIteratorMethods(prototype) {
|
9636 |
+
["next", "throw", "return"].forEach(function(method) {
|
9637 |
+
define(prototype, method, function(arg) {
|
9638 |
+
return this._invoke(method, arg);
|
9639 |
+
});
|
9640 |
+
});
|
9641 |
+
}
|
9642 |
+
|
9643 |
+
exports.isGeneratorFunction = function(genFun) {
|
9644 |
+
var ctor = typeof genFun === "function" && genFun.constructor;
|
9645 |
+
return ctor
|
9646 |
+
? ctor === GeneratorFunction ||
|
9647 |
+
// For the native GeneratorFunction constructor, the best we can
|
9648 |
+
// do is to check its .name property.
|
9649 |
+
(ctor.displayName || ctor.name) === "GeneratorFunction"
|
9650 |
+
: false;
|
9651 |
+
};
|
9652 |
+
|
9653 |
+
exports.mark = function(genFun) {
|
9654 |
+
if (Object.setPrototypeOf) {
|
9655 |
+
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
|
9656 |
+
} else {
|
9657 |
+
genFun.__proto__ = GeneratorFunctionPrototype;
|
9658 |
+
define(genFun, toStringTagSymbol, "GeneratorFunction");
|
9659 |
+
}
|
9660 |
+
genFun.prototype = Object.create(Gp);
|
9661 |
+
return genFun;
|
9662 |
+
};
|
9663 |
+
|
9664 |
+
// Within the body of any async function, `await x` is transformed to
|
9665 |
+
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
|
9666 |
+
// `hasOwn.call(value, "__await")` to determine if the yielded value is
|
9667 |
+
// meant to be awaited.
|
9668 |
+
exports.awrap = function(arg) {
|
9669 |
+
return { __await: arg };
|
9670 |
+
};
|
9671 |
+
|
9672 |
+
function AsyncIterator(generator, PromiseImpl) {
|
9673 |
+
function invoke(method, arg, resolve, reject) {
|
9674 |
+
var record = tryCatch(generator[method], generator, arg);
|
9675 |
+
if (record.type === "throw") {
|
9676 |
+
reject(record.arg);
|
9677 |
+
} else {
|
9678 |
+
var result = record.arg;
|
9679 |
+
var value = result.value;
|
9680 |
+
if (value &&
|
9681 |
+
typeof value === "object" &&
|
9682 |
+
hasOwn.call(value, "__await")) {
|
9683 |
+
return PromiseImpl.resolve(value.__await).then(function(value) {
|
9684 |
+
invoke("next", value, resolve, reject);
|
9685 |
+
}, function(err) {
|
9686 |
+
invoke("throw", err, resolve, reject);
|
9687 |
+
});
|
9688 |
+
}
|
9689 |
+
|
9690 |
+
return PromiseImpl.resolve(value).then(function(unwrapped) {
|
9691 |
+
// When a yielded Promise is resolved, its final value becomes
|
9692 |
+
// the .value of the Promise<{value,done}> result for the
|
9693 |
+
// current iteration.
|
9694 |
+
result.value = unwrapped;
|
9695 |
+
resolve(result);
|
9696 |
+
}, function(error) {
|
9697 |
+
// If a rejected Promise was yielded, throw the rejection back
|
9698 |
+
// into the async generator function so it can be handled there.
|
9699 |
+
return invoke("throw", error, resolve, reject);
|
9700 |
+
});
|
9701 |
+
}
|
9702 |
+
}
|
9703 |
+
|
9704 |
+
var previousPromise;
|
9705 |
+
|
9706 |
+
function enqueue(method, arg) {
|
9707 |
+
function callInvokeWithMethodAndArg() {
|
9708 |
+
return new PromiseImpl(function(resolve, reject) {
|
9709 |
+
invoke(method, arg, resolve, reject);
|
9710 |
+
});
|
9711 |
+
}
|
9712 |
+
|
9713 |
+
return previousPromise =
|
9714 |
+
// If enqueue has been called before, then we want to wait until
|
9715 |
+
// all previous Promises have been resolved before calling invoke,
|
9716 |
+
// so that results are always delivered in the correct order. If
|
9717 |
+
// enqueue has not been called before, then it is important to
|
9718 |
+
// call invoke immediately, without waiting on a callback to fire,
|
9719 |
+
// so that the async generator function has the opportunity to do
|
9720 |
+
// any necessary setup in a predictable way. This predictability
|
9721 |
+
// is why the Promise constructor synchronously invokes its
|
9722 |
+
// executor callback, and why async functions synchronously
|
9723 |
+
// execute code before the first await. Since we implement simple
|
9724 |
+
// async functions in terms of async generators, it is especially
|
9725 |
+
// important to get this right, even though it requires care.
|
9726 |
+
previousPromise ? previousPromise.then(
|
9727 |
+
callInvokeWithMethodAndArg,
|
9728 |
+
// Avoid propagating failures to Promises returned by later
|
9729 |
+
// invocations of the iterator.
|
9730 |
+
callInvokeWithMethodAndArg
|
9731 |
+
) : callInvokeWithMethodAndArg();
|
9732 |
+
}
|
9733 |
+
|
9734 |
+
// Define the unified helper method that is used to implement .next,
|
9735 |
+
// .throw, and .return (see defineIteratorMethods).
|
9736 |
+
this._invoke = enqueue;
|
9737 |
+
}
|
9738 |
+
|
9739 |
+
defineIteratorMethods(AsyncIterator.prototype);
|
9740 |
+
define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
|
9741 |
+
return this;
|
9742 |
+
});
|
9743 |
+
exports.AsyncIterator = AsyncIterator;
|
9744 |
+
|
9745 |
+
// Note that simple async functions are implemented on top of
|
9746 |
+
// AsyncIterator objects; they just return a Promise for the value of
|
9747 |
+
// the final result produced by the iterator.
|
9748 |
+
exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
|
9749 |
+
if (PromiseImpl === void 0) PromiseImpl = Promise;
|
9750 |
+
|
9751 |
+
var iter = new AsyncIterator(
|
9752 |
+
wrap(innerFn, outerFn, self, tryLocsList),
|
9753 |
+
PromiseImpl
|
9754 |
+
);
|
9755 |
+
|
9756 |
+
return exports.isGeneratorFunction(outerFn)
|
9757 |
+
? iter // If outerFn is a generator, return the full iterator.
|
9758 |
+
: iter.next().then(function(result) {
|
9759 |
+
return result.done ? result.value : iter.next();
|
9760 |
+
});
|
9761 |
+
};
|
9762 |
+
|
9763 |
+
function makeInvokeMethod(innerFn, self, context) {
|
9764 |
+
var state = GenStateSuspendedStart;
|
9765 |
+
|
9766 |
+
return function invoke(method, arg) {
|
9767 |
+
if (state === GenStateExecuting) {
|
9768 |
+
throw new Error("Generator is already running");
|
9769 |
+
}
|
9770 |
+
|
9771 |
+
if (state === GenStateCompleted) {
|
9772 |
+
if (method === "throw") {
|
9773 |
+
throw arg;
|
9774 |
+
}
|
9775 |
+
|
9776 |
+
// Be forgiving, per 25.3.3.3.3 of the spec:
|
9777 |
+
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
|
9778 |
+
return doneResult();
|
9779 |
+
}
|
9780 |
+
|
9781 |
+
context.method = method;
|
9782 |
+
context.arg = arg;
|
9783 |
+
|
9784 |
+
while (true) {
|
9785 |
+
var delegate = context.delegate;
|
9786 |
+
if (delegate) {
|
9787 |
+
var delegateResult = maybeInvokeDelegate(delegate, context);
|
9788 |
+
if (delegateResult) {
|
9789 |
+
if (delegateResult === ContinueSentinel) continue;
|
9790 |
+
return delegateResult;
|
9791 |
+
}
|
9792 |
+
}
|
9793 |
+
|
9794 |
+
if (context.method === "next") {
|
9795 |
+
// Setting context._sent for legacy support of Babel's
|
9796 |
+
// function.sent implementation.
|
9797 |
+
context.sent = context._sent = context.arg;
|
9798 |
+
|
9799 |
+
} else if (context.method === "throw") {
|
9800 |
+
if (state === GenStateSuspendedStart) {
|
9801 |
+
state = GenStateCompleted;
|
9802 |
+
throw context.arg;
|
9803 |
+
}
|
9804 |
+
|
9805 |
+
context.dispatchException(context.arg);
|
9806 |
+
|
9807 |
+
} else if (context.method === "return") {
|
9808 |
+
context.abrupt("return", context.arg);
|
9809 |
+
}
|
9810 |
+
|
9811 |
+
state = GenStateExecuting;
|
9812 |
+
|
9813 |
+
var record = tryCatch(innerFn, self, context);
|
9814 |
+
if (record.type === "normal") {
|
9815 |
+
// If an exception is thrown from innerFn, we leave state ===
|
9816 |
+
// GenStateExecuting and loop back for another invocation.
|
9817 |
+
state = context.done
|
9818 |
+
? GenStateCompleted
|
9819 |
+
: GenStateSuspendedYield;
|
9820 |
+
|
9821 |
+
if (record.arg === ContinueSentinel) {
|
9822 |
+
continue;
|
9823 |
+
}
|
9824 |
+
|
9825 |
+
return {
|
9826 |
+
value: record.arg,
|
9827 |
+
done: context.done
|
9828 |
+
};
|
9829 |
+
|
9830 |
+
} else if (record.type === "throw") {
|
9831 |
+
state = GenStateCompleted;
|
9832 |
+
// Dispatch the exception by looping back around to the
|
9833 |
+
// context.dispatchException(context.arg) call above.
|
9834 |
+
context.method = "throw";
|
9835 |
+
context.arg = record.arg;
|
9836 |
+
}
|
9837 |
+
}
|
9838 |
+
};
|
9839 |
+
}
|
9840 |
+
|
9841 |
+
// Call delegate.iterator[context.method](context.arg) and handle the
|
9842 |
+
// result, either by returning a { value, done } result from the
|
9843 |
+
// delegate iterator, or by modifying context.method and context.arg,
|
9844 |
+
// setting context.delegate to null, and returning the ContinueSentinel.
|
9845 |
+
function maybeInvokeDelegate(delegate, context) {
|
9846 |
+
var method = delegate.iterator[context.method];
|
9847 |
+
if (method === undefined) {
|
9848 |
+
// A .throw or .return when the delegate iterator has no .throw
|
9849 |
+
// method always terminates the yield* loop.
|
9850 |
+
context.delegate = null;
|
9851 |
+
|
9852 |
+
if (context.method === "throw") {
|
9853 |
+
// Note: ["return"] must be used for ES3 parsing compatibility.
|
9854 |
+
if (delegate.iterator["return"]) {
|
9855 |
+
// If the delegate iterator has a return method, give it a
|
9856 |
+
// chance to clean up.
|
9857 |
+
context.method = "return";
|
9858 |
+
context.arg = undefined;
|
9859 |
+
maybeInvokeDelegate(delegate, context);
|
9860 |
+
|
9861 |
+
if (context.method === "throw") {
|
9862 |
+
// If maybeInvokeDelegate(context) changed context.method from
|
9863 |
+
// "return" to "throw", let that override the TypeError below.
|
9864 |
+
return ContinueSentinel;
|
9865 |
+
}
|
9866 |
+
}
|
9867 |
+
|
9868 |
+
context.method = "throw";
|
9869 |
+
context.arg = new TypeError(
|
9870 |
+
"The iterator does not provide a 'throw' method");
|
9871 |
+
}
|
9872 |
+
|
9873 |
+
return ContinueSentinel;
|
9874 |
+
}
|
9875 |
+
|
9876 |
+
var record = tryCatch(method, delegate.iterator, context.arg);
|
9877 |
+
|
9878 |
+
if (record.type === "throw") {
|
9879 |
+
context.method = "throw";
|
9880 |
+
context.arg = record.arg;
|
9881 |
+
context.delegate = null;
|
9882 |
+
return ContinueSentinel;
|
9883 |
+
}
|
9884 |
+
|
9885 |
+
var info = record.arg;
|
9886 |
+
|
9887 |
+
if (! info) {
|
9888 |
+
context.method = "throw";
|
9889 |
+
context.arg = new TypeError("iterator result is not an object");
|
9890 |
+
context.delegate = null;
|
9891 |
+
return ContinueSentinel;
|
9892 |
+
}
|
9893 |
+
|
9894 |
+
if (info.done) {
|
9895 |
+
// Assign the result of the finished delegate to the temporary
|
9896 |
+
// variable specified by delegate.resultName (see delegateYield).
|
9897 |
+
context[delegate.resultName] = info.value;
|
9898 |
+
|
9899 |
+
// Resume execution at the desired location (see delegateYield).
|
9900 |
+
context.next = delegate.nextLoc;
|
9901 |
+
|
9902 |
+
// If context.method was "throw" but the delegate handled the
|
9903 |
+
// exception, let the outer generator proceed normally. If
|
9904 |
+
// context.method was "next", forget context.arg since it has been
|
9905 |
+
// "consumed" by the delegate iterator. If context.method was
|
9906 |
+
// "return", allow the original .return call to continue in the
|
9907 |
+
// outer generator.
|
9908 |
+
if (context.method !== "return") {
|
9909 |
+
context.method = "next";
|
9910 |
+
context.arg = undefined;
|
9911 |
+
}
|
9912 |
+
|
9913 |
+
} else {
|
9914 |
+
// Re-yield the result returned by the delegate method.
|
9915 |
+
return info;
|
9916 |
+
}
|
9917 |
+
|
9918 |
+
// The delegate iterator is finished, so forget it and continue with
|
9919 |
+
// the outer generator.
|
9920 |
+
context.delegate = null;
|
9921 |
+
return ContinueSentinel;
|
9922 |
+
}
|
9923 |
+
|
9924 |
+
// Define Generator.prototype.{next,throw,return} in terms of the
|
9925 |
+
// unified ._invoke helper method.
|
9926 |
+
defineIteratorMethods(Gp);
|
9927 |
+
|
9928 |
+
define(Gp, toStringTagSymbol, "Generator");
|
9929 |
+
|
9930 |
+
// A Generator should always return itself as the iterator object when the
|
9931 |
+
// @@iterator function is called on it. Some browsers' implementations of the
|
9932 |
+
// iterator prototype chain incorrectly implement this, causing the Generator
|
9933 |
+
// object to not be returned from this call. This ensures that doesn't happen.
|
9934 |
+
// See https://github.com/facebook/regenerator/issues/274 for more details.
|
9935 |
+
define(Gp, iteratorSymbol, function() {
|
9936 |
+
return this;
|
9937 |
+
});
|
9938 |
+
|
9939 |
+
define(Gp, "toString", function() {
|
9940 |
+
return "[object Generator]";
|
9941 |
+
});
|
9942 |
+
|
9943 |
+
function pushTryEntry(locs) {
|
9944 |
+
var entry = { tryLoc: locs[0] };
|
9945 |
+
|
9946 |
+
if (1 in locs) {
|
9947 |
+
entry.catchLoc = locs[1];
|
9948 |
+
}
|
9949 |
+
|
9950 |
+
if (2 in locs) {
|
9951 |
+
entry.finallyLoc = locs[2];
|
9952 |
+
entry.afterLoc = locs[3];
|
9953 |
+
}
|
9954 |
+
|
9955 |
+
this.tryEntries.push(entry);
|
9956 |
+
}
|
9957 |
+
|
9958 |
+
function resetTryEntry(entry) {
|
9959 |
+
var record = entry.completion || {};
|
9960 |
+
record.type = "normal";
|
9961 |
+
delete record.arg;
|
9962 |
+
entry.completion = record;
|
9963 |
+
}
|
9964 |
+
|
9965 |
+
function Context(tryLocsList) {
|
9966 |
+
// The root entry object (effectively a try statement without a catch
|
9967 |
+
// or a finally block) gives us a place to store values thrown from
|
9968 |
+
// locations where there is no enclosing try statement.
|
9969 |
+
this.tryEntries = [{ tryLoc: "root" }];
|
9970 |
+
tryLocsList.forEach(pushTryEntry, this);
|
9971 |
+
this.reset(true);
|
9972 |
+
}
|
9973 |
+
|
9974 |
+
exports.keys = function(object) {
|
9975 |
+
var keys = [];
|
9976 |
+
for (var key in object) {
|
9977 |
+
keys.push(key);
|
9978 |
+
}
|
9979 |
+
keys.reverse();
|
9980 |
+
|
9981 |
+
// Rather than returning an object with a next method, we keep
|
9982 |
+
// things simple and return the next function itself.
|
9983 |
+
return function next() {
|
9984 |
+
while (keys.length) {
|
9985 |
+
var key = keys.pop();
|
9986 |
+
if (key in object) {
|
9987 |
+
next.value = key;
|
9988 |
+
next.done = false;
|
9989 |
+
return next;
|
9990 |
+
}
|
9991 |
+
}
|
9992 |
+
|
9993 |
+
// To avoid creating an additional object, we just hang the .value
|
9994 |
+
// and .done properties off the next function object itself. This
|
9995 |
+
// also ensures that the minifier will not anonymize the function.
|
9996 |
+
next.done = true;
|
9997 |
+
return next;
|
9998 |
+
};
|
9999 |
+
};
|
10000 |
+
|
10001 |
+
function values(iterable) {
|
10002 |
+
if (iterable) {
|
10003 |
+
var iteratorMethod = iterable[iteratorSymbol];
|
10004 |
+
if (iteratorMethod) {
|
10005 |
+
return iteratorMethod.call(iterable);
|
10006 |
+
}
|
10007 |
+
|
10008 |
+
if (typeof iterable.next === "function") {
|
10009 |
+
return iterable;
|
10010 |
+
}
|
10011 |
+
|
10012 |
+
if (!isNaN(iterable.length)) {
|
10013 |
+
var i = -1, next = function next() {
|
10014 |
+
while (++i < iterable.length) {
|
10015 |
+
if (hasOwn.call(iterable, i)) {
|
10016 |
+
next.value = iterable[i];
|
10017 |
+
next.done = false;
|
10018 |
+
return next;
|
10019 |
+
}
|
10020 |
+
}
|
10021 |
+
|
10022 |
+
next.value = undefined;
|
10023 |
+
next.done = true;
|
10024 |
+
|
10025 |
+
return next;
|
10026 |
+
};
|
10027 |
+
|
10028 |
+
return next.next = next;
|
10029 |
+
}
|
10030 |
+
}
|
10031 |
+
|
10032 |
+
// Return an iterator with no values.
|
10033 |
+
return { next: doneResult };
|
10034 |
+
}
|
10035 |
+
exports.values = values;
|
10036 |
+
|
10037 |
+
function doneResult() {
|
10038 |
+
return { value: undefined, done: true };
|
10039 |
+
}
|
10040 |
+
|
10041 |
+
Context.prototype = {
|
10042 |
+
constructor: Context,
|
10043 |
+
|
10044 |
+
reset: function(skipTempReset) {
|
10045 |
+
this.prev = 0;
|
10046 |
+
this.next = 0;
|
10047 |
+
// Resetting context._sent for legacy support of Babel's
|
10048 |
+
// function.sent implementation.
|
10049 |
+
this.sent = this._sent = undefined;
|
10050 |
+
this.done = false;
|
10051 |
+
this.delegate = null;
|
10052 |
+
|
10053 |
+
this.method = "next";
|
10054 |
+
this.arg = undefined;
|
10055 |
+
|
10056 |
+
this.tryEntries.forEach(resetTryEntry);
|
10057 |
+
|
10058 |
+
if (!skipTempReset) {
|
10059 |
+
for (var name in this) {
|
10060 |
+
// Not sure about the optimal order of these conditions:
|
10061 |
+
if (name.charAt(0) === "t" &&
|
10062 |
+
hasOwn.call(this, name) &&
|
10063 |
+
!isNaN(+name.slice(1))) {
|
10064 |
+
this[name] = undefined;
|
10065 |
+
}
|
10066 |
+
}
|
10067 |
+
}
|
10068 |
+
},
|
10069 |
+
|
10070 |
+
stop: function() {
|
10071 |
+
this.done = true;
|
10072 |
+
|
10073 |
+
var rootEntry = this.tryEntries[0];
|
10074 |
+
var rootRecord = rootEntry.completion;
|
10075 |
+
if (rootRecord.type === "throw") {
|
10076 |
+
throw rootRecord.arg;
|
10077 |
+
}
|
10078 |
+
|
10079 |
+
return this.rval;
|
10080 |
+
},
|
10081 |
+
|
10082 |
+
dispatchException: function(exception) {
|
10083 |
+
if (this.done) {
|
10084 |
+
throw exception;
|
10085 |
+
}
|
10086 |
+
|
10087 |
+
var context = this;
|
10088 |
+
function handle(loc, caught) {
|
10089 |
+
record.type = "throw";
|
10090 |
+
record.arg = exception;
|
10091 |
+
context.next = loc;
|
10092 |
+
|
10093 |
+
if (caught) {
|
10094 |
+
// If the dispatched exception was caught by a catch block,
|
10095 |
+
// then let that catch block handle the exception normally.
|
10096 |
+
context.method = "next";
|
10097 |
+
context.arg = undefined;
|
10098 |
+
}
|
10099 |
+
|
10100 |
+
return !! caught;
|
10101 |
+
}
|
10102 |
+
|
10103 |
+
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
10104 |
+
var entry = this.tryEntries[i];
|
10105 |
+
var record = entry.completion;
|
10106 |
+
|
10107 |
+
if (entry.tryLoc === "root") {
|
10108 |
+
// Exception thrown outside of any try block that could handle
|
10109 |
+
// it, so set the completion value of the entire function to
|
10110 |
+
// throw the exception.
|
10111 |
+
return handle("end");
|
10112 |
+
}
|
10113 |
+
|
10114 |
+
if (entry.tryLoc <= this.prev) {
|
10115 |
+
var hasCatch = hasOwn.call(entry, "catchLoc");
|
10116 |
+
var hasFinally = hasOwn.call(entry, "finallyLoc");
|
10117 |
+
|
10118 |
+
if (hasCatch && hasFinally) {
|
10119 |
+
if (this.prev < entry.catchLoc) {
|
10120 |
+
return handle(entry.catchLoc, true);
|
10121 |
+
} else if (this.prev < entry.finallyLoc) {
|
10122 |
+
return handle(entry.finallyLoc);
|
10123 |
+
}
|
10124 |
+
|
10125 |
+
} else if (hasCatch) {
|
10126 |
+
if (this.prev < entry.catchLoc) {
|
10127 |
+
return handle(entry.catchLoc, true);
|
10128 |
+
}
|
10129 |
+
|
10130 |
+
} else if (hasFinally) {
|
10131 |
+
if (this.prev < entry.finallyLoc) {
|
10132 |
+
return handle(entry.finallyLoc);
|
10133 |
+
}
|
10134 |
+
|
10135 |
+
} else {
|
10136 |
+
throw new Error("try statement without catch or finally");
|
10137 |
+
}
|
10138 |
+
}
|
10139 |
+
}
|
10140 |
+
},
|
10141 |
+
|
10142 |
+
abrupt: function(type, arg) {
|
10143 |
+
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
10144 |
+
var entry = this.tryEntries[i];
|
10145 |
+
if (entry.tryLoc <= this.prev &&
|
10146 |
+
hasOwn.call(entry, "finallyLoc") &&
|
10147 |
+
this.prev < entry.finallyLoc) {
|
10148 |
+
var finallyEntry = entry;
|
10149 |
+
break;
|
10150 |
+
}
|
10151 |
+
}
|
10152 |
+
|
10153 |
+
if (finallyEntry &&
|
10154 |
+
(type === "break" ||
|
10155 |
+
type === "continue") &&
|
10156 |
+
finallyEntry.tryLoc <= arg &&
|
10157 |
+
arg <= finallyEntry.finallyLoc) {
|
10158 |
+
// Ignore the finally entry if control is not jumping to a
|
10159 |
+
// location outside the try/catch block.
|
10160 |
+
finallyEntry = null;
|
10161 |
+
}
|
10162 |
+
|
10163 |
+
var record = finallyEntry ? finallyEntry.completion : {};
|
10164 |
+
record.type = type;
|
10165 |
+
record.arg = arg;
|
10166 |
+
|
10167 |
+
if (finallyEntry) {
|
10168 |
+
this.method = "next";
|
10169 |
+
this.next = finallyEntry.finallyLoc;
|
10170 |
+
return ContinueSentinel;
|
10171 |
+
}
|
10172 |
+
|
10173 |
+
return this.complete(record);
|
10174 |
+
},
|
10175 |
+
|
10176 |
+
complete: function(record, afterLoc) {
|
10177 |
+
if (record.type === "throw") {
|
10178 |
+
throw record.arg;
|
10179 |
+
}
|
10180 |
+
|
10181 |
+
if (record.type === "break" ||
|
10182 |
+
record.type === "continue") {
|
10183 |
+
this.next = record.arg;
|
10184 |
+
} else if (record.type === "return") {
|
10185 |
+
this.rval = this.arg = record.arg;
|
10186 |
+
this.method = "return";
|
10187 |
+
this.next = "end";
|
10188 |
+
} else if (record.type === "normal" && afterLoc) {
|
10189 |
+
this.next = afterLoc;
|
10190 |
+
}
|
10191 |
+
|
10192 |
+
return ContinueSentinel;
|
10193 |
+
},
|
10194 |
+
|
10195 |
+
finish: function(finallyLoc) {
|
10196 |
+
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
10197 |
+
var entry = this.tryEntries[i];
|
10198 |
+
if (entry.finallyLoc === finallyLoc) {
|
10199 |
+
this.complete(entry.completion, entry.afterLoc);
|
10200 |
+
resetTryEntry(entry);
|
10201 |
+
return ContinueSentinel;
|
10202 |
+
}
|
10203 |
+
}
|
10204 |
+
},
|
10205 |
+
|
10206 |
+
"catch": function(tryLoc) {
|
10207 |
+
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
10208 |
+
var entry = this.tryEntries[i];
|
10209 |
+
if (entry.tryLoc === tryLoc) {
|
10210 |
+
var record = entry.completion;
|
10211 |
+
if (record.type === "throw") {
|
10212 |
+
var thrown = record.arg;
|
10213 |
+
resetTryEntry(entry);
|
10214 |
+
}
|
10215 |
+
return thrown;
|
10216 |
+
}
|
10217 |
+
}
|
10218 |
+
|
10219 |
+
// The context.catch method must only be called with a location
|
10220 |
+
// argument that corresponds to a known catch block.
|
10221 |
+
throw new Error("illegal catch attempt");
|
10222 |
+
},
|
10223 |
+
|
10224 |
+
delegateYield: function(iterable, resultName, nextLoc) {
|
10225 |
+
this.delegate = {
|
10226 |
+
iterator: values(iterable),
|
10227 |
+
resultName: resultName,
|
10228 |
+
nextLoc: nextLoc
|
10229 |
+
};
|
10230 |
+
|
10231 |
+
if (this.method === "next") {
|
10232 |
+
// Deliberately forget the last sent value so that we don't
|
10233 |
+
// accidentally pass it on to the delegate.
|
10234 |
+
this.arg = undefined;
|
10235 |
+
}
|
10236 |
+
|
10237 |
+
return ContinueSentinel;
|
10238 |
+
}
|
10239 |
+
};
|
10240 |
+
|
10241 |
+
// Regardless of whether this script is executing as a CommonJS module
|
10242 |
+
// or not, return the runtime object so that we can declare the variable
|
10243 |
+
// regeneratorRuntime in the outer scope, which allows this module to be
|
10244 |
+
// injected easily by `bin/regenerator --include-runtime script.js`.
|
10245 |
+
return exports;
|
10246 |
+
|
10247 |
+
}(
|
10248 |
+
// If this script is executing as a CommonJS module, use module.exports
|
10249 |
+
// as the regeneratorRuntime namespace. Otherwise create a new empty
|
10250 |
+
// object. Either way, the resulting object will be used to initialize
|
10251 |
+
// the regeneratorRuntime variable at the top of this file.
|
10252 |
+
true ? module.exports : undefined
|
10253 |
+
));
|
10254 |
+
|
10255 |
+
try {
|
10256 |
+
regeneratorRuntime = runtime;
|
10257 |
+
} catch (accidentalStrictMode) {
|
10258 |
+
// This module should not be running in strict mode, so the above
|
10259 |
+
// assignment should always work unless something is misconfigured. Just
|
10260 |
+
// in case runtime.js accidentally runs in strict mode, in modern engines
|
10261 |
+
// we can explicitly access globalThis. In older engines we can escape
|
10262 |
+
// strict mode using a global Function call. This could conceivably fail
|
10263 |
+
// if a Content Security Policy forbids using Function, but in that case
|
10264 |
+
// the proper solution is to fix the accidental strict mode problem. If
|
10265 |
+
// you've misconfigured your bundler to force strict mode and applied a
|
10266 |
+
// CSP to forbid Function, and you're not willing to fix either of those
|
10267 |
+
// problems, please detail your unique predicament in a GitHub issue.
|
10268 |
+
if (typeof globalThis === "object") {
|
10269 |
+
globalThis.regeneratorRuntime = runtime;
|
10270 |
+
} else {
|
10271 |
+
Function("r", "regeneratorRuntime = r")(runtime);
|
10272 |
+
}
|
10273 |
+
}
|
10274 |
+
|
10275 |
+
|
10276 |
+
/***/ })
|
10277 |
+
|
10278 |
+
/******/ });
|
10279 |
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wb2x5ZmlsbC9saWIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wb2x5ZmlsbC9saWIvbm9Db25mbGljdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9lczYvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vYXJyYXkvZmxhdC1tYXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vYXJyYXkvaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vb2JqZWN0L2VudHJpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vb2JqZWN0L2dldC1vd24tcHJvcGVydHktZGVzY3JpcHRvcnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vb2JqZWN0L3ZhbHVlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mbi9wcm9taXNlL2ZpbmFsbHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vc3RyaW5nL3BhZC1lbmQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vc3RyaW5nL3BhZC1zdGFydC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mbi9zdHJpbmcvdHJpbS1lbmQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vc3RyaW5nL3RyaW0tc3RhcnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZm4vc3ltYm9sL2FzeW5jLWl0ZXJhdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fYS1mdW5jdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2FuLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2NvcmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jdHguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2RvbS1jcmVhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19leHBvcnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hhcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2hpZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2lzLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX29iamVjdC1kcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL190by1wcmltaXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL2VzNy5nbG9iYWwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYS1mdW5jdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hLW51bWJlci12YWx1ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hZGQtdG8tdW5zY29wYWJsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYWR2YW5jZS1zdHJpbmctaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYW4taW5zdGFuY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYW4tb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LWNvcHktd2l0aGluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LWZpbGwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktbWV0aG9kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1yZWR1Y2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fYXJyYXktc3BlY2llcy1jb25zdHJ1Y3Rvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1zcGVjaWVzLWNyZWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19iaW5kLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NsYXNzb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY29mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvbGxlY3Rpb24tc3Ryb25nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvbGxlY3Rpb24td2Vhay5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2xsZWN0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvcmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY3JlYXRlLXByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kYXRlLXRvLWlzby1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGF0ZS10by1wcmltaXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZGVmaW5lZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2VudW0tYnVnLWtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZW51bS1rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2V4cG9ydC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy1pcy1yZWdleHAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZmFpbHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZml4LXJlLXdrcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGF0dGVuLWludG8tYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZm9yLW9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Z1bmN0aW9uLXRvLXN0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGFzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2hpZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faHRtbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pbmhlcml0LWlmLXJlcXVpcmVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ludm9rZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2lzLWFycmF5LWl0ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtaW50ZWdlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY2FsbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWNyZWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRldGVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLXN0ZXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlcmF0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2xpYnJhcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fbWF0aC1leHBtMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tYXRoLWZyb3VuZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tYXRoLWxvZzFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX21hdGgtc2lnbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19tZXRhLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX21pY3JvdGFzay5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19uZXctcHJvbWlzZS1jYXBhYmlsaXR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1hc3NpZ24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWNyZWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWRwcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ29wbi1leHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcG4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdvcHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdwby5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtcGllLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1zYXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LXRvLWFycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX293bi1rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3BhcnNlLWZsb2F0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3BhcnNlLWludC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wZXJmb3JtLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb21pc2UtcmVzb2x2ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZGVmaW5lLWFsbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy1hYnN0cmFjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zYW1lLXZhbHVlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NldC1wcm90by5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtc3BlY2llcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQta2V5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3NoYXJlZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zcGVjaWVzLWNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmljdC1tZXRob2QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWF0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1jb250ZXh0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1odG1sLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3N0cmluZy1wYWQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLXJlcGVhdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctdHJpbS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctd3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdGFzay5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWlvYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8tbGVuZ3RoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdHlwZWQtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdHlwZWQtYnVmZmVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3R5cGVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191c2VyLWFnZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3ZhbGlkYXRlLWNvbGxlY3Rpb24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fd2tzLWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MtZXh0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5jb3B5LXdpdGhpbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5ldmVyeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbHRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5maW5kLWluZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LmZpbmQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZnJvbS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5pbmRleC1vZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5pcy1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5qb2luLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5Lmxhc3QtaW5kZXgtb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkubWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5Lm9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LnJlZHVjZS1yaWdodC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5yZWR1Y2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuc2xpY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuc29tZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5zb3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmFycmF5LnNwZWNpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZGF0ZS5ub3cuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZGF0ZS50by1pc28tc3RyaW5nLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmRhdGUudG8tanNvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5kYXRlLnRvLXByaW1pdGl2ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5kYXRlLnRvLXN0cmluZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5iaW5kLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LmZ1bmN0aW9uLmhhcy1pbnN0YW5jZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5uYW1lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmFjb3NoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguYXNpbmguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5hdGFuaC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmNicnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5jbHozMi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmNvc2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5leHBtMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmZyb3VuZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmh5cG90LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguaW11bC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLmxvZzEwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGgubG9nMXAuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC5sb2cyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGguc2lnbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5tYXRoLnNpbmguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubWF0aC50YW5oLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm1hdGgudHJ1bmMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmNvbnN0cnVjdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5lcHNpbG9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5pcy1maW5pdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYubnVtYmVyLmlzLW5hbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIuaXMtc2FmZS1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5tYXgtc2FmZS1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5taW4tc2FmZS1pbnRlZ2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1mbG9hdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtaW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm51bWJlci50by1maXhlZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5udW1iZXIudG8tcHJlY2lzaW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmNyZWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuZGVmaW5lLXByb3BlcnRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuZnJlZXplLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmdldC1vd24tcHJvcGVydHktbmFtZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmdldC1wcm90b3R5cGUtb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmlzLWV4dGVuc2libGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYub2JqZWN0LmlzLWZyb3plbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QuaXMtc2VhbGVkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5pcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3Qua2V5cy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5vYmplY3QucHJldmVudC1leHRlbnNpb25zLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5zZWFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC5zZXQtcHJvdG90eXBlLW9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2Lm9iamVjdC50by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucGFyc2UtZmxvYXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucGFyc2UtaW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnByb21pc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5hcHBseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmNvbnN0cnVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmRlZmluZS1wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmRlbGV0ZS1wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmVudW1lcmF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmdldC1vd24tcHJvcGVydHktZGVzY3JpcHRvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWZsZWN0LmdldC1wcm90b3R5cGUtb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5nZXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5oYXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5pcy1leHRlbnNpYmxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3Qub3duLWtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5wcmV2ZW50LWV4dGVuc2lvbnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVmbGVjdC5zZXQtcHJvdG90eXBlLW9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZmxlY3Quc2V0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5jb25zdHJ1Y3Rvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZXhlYy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZmxhZ3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLm1hdGNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5zZWFyY2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYucmVnZXhwLnNwbGl0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc2V0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5hbmNob3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmJpZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuYmxpbmsuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmJvbGQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmNvZGUtcG9pbnQtYXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmVuZHMtd2l0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuZml4ZWQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmZvbnRjb2xvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuZm9udHNpemUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLmZyb20tY29kZS1wb2ludC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLml0YWxpY3MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5saW5rLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5yYXcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnJlcGVhdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuc21hbGwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN0YXJ0cy13aXRoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy5zdHJpa2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLnN1Yi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuc3VwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN0cmluZy50cmltLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnN5bWJvbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5hcnJheS1idWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYudHlwZWQuZGF0YS12aWV3LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLmZsb2F0MzItYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYudHlwZWQuZmxvYXQ2NC1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5pbnQxNi1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5pbnQzMi1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC5pbnQ4LWFycmF5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnR5cGVkLnVpbnQxNi1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi50eXBlZC51aW50MzItYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYudHlwZWQudWludDgtYXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYudHlwZWQudWludDgtY2xhbXBlZC1hcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi53ZWFrLW1hcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi53ZWFrLXNldC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5hcnJheS5mbGF0LW1hcC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5hcnJheS5pbmNsdWRlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYmplY3QuZW50cmllcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5vYmplY3QudmFsdWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnByb21pc2UuZmluYWxseS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5zdHJpbmcucGFkLWVuZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNy5zdHJpbmcucGFkLXN0YXJ0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM3LnN0cmluZy50cmltLWxlZnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3RyaW5nLnRyaW0tcmlnaHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczcuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL3dlYi5pbW1lZGlhdGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy93ZWIudGltZXJzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL3dlYi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7UUFBQTtRQUNBOztRQUVBO1FBQ0E7O1FBRUE7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7O1FBRUE7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTs7O1FBR0E7UUFDQTs7UUFFQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBLDBDQUEwQyxnQ0FBZ0M7UUFDMUU7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQSx3REFBd0Qsa0JBQWtCO1FBQzFFO1FBQ0EsaURBQWlELGNB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QjtBQUNuQyxtQkFBTyxDQUFDLGlGQUEwQjtBQUNsQyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLGlGQUEwQjtBQUNsQyxtQkFBTyxDQUFDLGlGQUEwQjtBQUNsQyxtQkFBTyxDQUFDLGlGQUEwQjtBQUNsQyxtQkFBTyxDQUFDLGlGQUEwQjtBQUNsQyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLDJHQUF1QztBQUMvQyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLHFGQUE0QjtBQUNwQyxtQkFBTyxDQUFDLDZGQUFnQztBQUN4QyxtQkFBTyxDQUFDLHVHQUFxQztBQUM3QyxtQkFBTyxDQUFDLCtGQUFpQztBQUN6QyxtQkFBTyxDQUFDLDZGQUFnQztBQUN4QyxtQkFBTyxDQUFDLHlGQUE4QjtBQUN0QyxtQkFBTyxDQUFDLG1HQUFtQztBQUMzQyxtQkFBTyxDQUFDLHlGQUE4QjtBQUN0QyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLHVGQUE2QjtBQUNyQyxtQkFBTyxDQUFDLHFGQUE0QjtBQUNwQyxtQkFBTyxDQUFDLHVGQUE2QjtBQUNyQyxtQkFBTyxDQUFDLCtGQUFpQztBQUN6QyxtQkFBTyxDQUFDLDZGQUFnQztBQUN4QyxtQkFBTyxDQUFDLDJGQUErQjtBQUN2QyxtQkFBTyxDQUFDLHFGQUE0QjtBQUNwQyxtQkFBTyxDQUFDLHVGQUE2QjtBQUNyQyxtQkFBTyxDQUFDLHlGQUE4QjtBQUN0QyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFBTyxDQUFDLCtFQUF5QjtBQUNqQyxtQkFBTyxDQUFDLHVGQUE2QjtBQUNyQyxtQkFBTyxDQUFDLG1HQUFtQztBQUMzQyxtQkFBTyxDQUFDLDJGQUErQjtBQUN2QyxtQkFBTyxDQUFDLGlHQUFrQztBQUMxQyxtQkFBTyxDQUFDLDJGQUErQjtBQUN2QyxtQkFBTyxDQUFDLG1GQUEyQjtBQUNuQyxtQkFB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LHdDQUF3QyxXQUFXO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsU0FBUztBQUNUO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0MsY0FBYztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsa0JBQWtCO0FBQ25EO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQSxZQUFZO0FBQ1o7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSw4Q0FBOEMsUUFBUTtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7O0FBRUEsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSw4Q0FBOEMsUUFBUTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLDhDQUE4QyxRQUFRO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLDhDQUE4QyxRQUFRO0FBQ3REO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxLQUEwQixvQkFBb0IsU0FBRTtBQUNsRDs7QUFFQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EiLCJmaWxlIjoiYmFiZWwtcG9seWZpbGwubWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvcHVibGljL2pzL1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL25vZGVfbW9kdWxlcy9AYmFiZWwvcG9seWZpbGwvbGliL2luZGV4LmpzXCIpO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnJlcXVpcmUoXCIuL25vQ29uZmxpY3RcIik7XG5cbnZhciBfZ2xvYmFsID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiY29yZS1qcy9saWJyYXJ5L2ZuL2dsb2JhbFwiKSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IFwiZGVmYXVsdFwiOiBvYmogfTsgfVxuXG5pZiAoX2dsb2JhbFtcImRlZmF1bHRcIl0uX2JhYmVsUG9seWZpbGwgJiYgdHlwZW9mIGNvbnNvbGUgIT09IFwidW5kZWZpbmVkXCIgJiYgY29uc29sZS53YXJuKSB7XG4gIGNvbnNvbGUud2FybihcIkBiYWJlbC9wb2x5ZmlsbCBpcyBsb2FkZWQgbW9yZSB0aGFuIG9uY2Ugb24gdGhpcyBwYWdlLiBUaGlzIGlzIHByb2JhYmx5IG5vdCBkZXNpcmFibGUvaW50ZW5kZWQgXCIgKyBcImFuZCBtYXkgaGF2ZSBjb25zZXF1ZW5jZXMgaWYgZGlmZmVyZW50IHZlcnNpb25zIG9mIHRoZSBwb2x5ZmlsbHMgYXJlIGFwcGxpZWQgc2VxdWVudGlhbGx5LiBcIiArIFwiSWYgeW91IGRvIG5lZWQgdG8gbG9hZCB0aGUgcG9seWZpbGwgbW9yZSB0aGFuIG9uY2UsIHVzZSBAYmFiZWwvcG9seWZpbGwvbm9Db25mbGljdCBcIiArIFwiaW5zdGVhZCB0byBieXBhc3MgdGhlIHdhcm5pbmcuXCIpO1xufVxuXG5fZ2xvYmFsW1wiZGVmYXVsdFwiXS5fYmFiZWxQb2x5ZmlsbCA9IHRydWU7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbnJlcXVpcmUoXCJjb3JlLWpzL2VzNlwiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vYXJyYXkvaW5jbHVkZXNcIik7XG5cbnJlcXVpcmUoXCJjb3JlLWpzL2ZuL2FycmF5L2ZsYXQtbWFwXCIpO1xuXG5yZXF1aXJlKFwiY29yZS1qcy9mbi9zdHJpbmcvcGFkLXN0YXJ0XCIpO1xuXG5yZXF1aXJlKFwiY29yZS1qcy9mbi9zdHJpbmcvcGFkLWVuZFwiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vc3RyaW5nL3RyaW0tc3RhcnRcIik7XG5cbnJlcXVpcmUoXCJjb3JlLWpzL2ZuL3N0cmluZy90cmltLWVuZFwiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vc3ltYm9sL2FzeW5jLWl0ZXJhdG9yXCIpO1xuXG5yZXF1aXJlKFwiY29yZS1qcy9mbi9vYmplY3QvZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9yc1wiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vb2JqZWN0L3ZhbHVlc1wiKTtcblxucmVxdWlyZShcImNvcmUtanMvZm4vb2JqZWN0L2VudHJpZXNcIik7XG5cbnJlcXVpcmUoXCJjb3JlLWpzL2ZuL3Byb21pc2UvZmluYWxseVwiKTtcblxucmVxdWlyZShcImNvcmUtanMvd2ViXCIpO1xuXG5yZXF1aXJlKFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lXCIpOyIsInJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN5bWJvbCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmNyZWF0ZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0aWVzJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9yJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5vYmplY3QuZ2V0LXByb3RvdHlwZS1vZicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmtleXMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm9iamVjdC5nZXQtb3duLXByb3BlcnR5LW5hbWVzJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5vYmplY3QuZnJlZXplJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5vYmplY3Quc2VhbCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LnByZXZlbnQtZXh0ZW5zaW9ucycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmlzLWZyb3plbicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmlzLXNlYWxlZCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LmlzLWV4dGVuc2libGUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm9iamVjdC5hc3NpZ24nKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm9iamVjdC5pcycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYub2JqZWN0LnNldC1wcm90b3R5cGUtb2YnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm9iamVjdC50by1zdHJpbmcnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmZ1bmN0aW9uLmJpbmQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmZ1bmN0aW9uLm5hbWUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmZ1bmN0aW9uLmhhcy1pbnN0YW5jZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucGFyc2UtaW50Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5wYXJzZS1mbG9hdCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubnVtYmVyLmNvbnN0cnVjdG9yJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5udW1iZXIudG8tZml4ZWQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm51bWJlci50by1wcmVjaXNpb24nKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm51bWJlci5lcHNpbG9uJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtZmluaXRlJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5udW1iZXIuaXMtaW50ZWdlcicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubnVtYmVyLmlzLW5hbicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubnVtYmVyLmlzLXNhZmUtaW50ZWdlcicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubnVtYmVyLm1heC1zYWZlLWludGVnZXInKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm51bWJlci5taW4tc2FmZS1pbnRlZ2VyJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5udW1iZXIucGFyc2UtZmxvYXQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm51bWJlci5wYXJzZS1pbnQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGguYWNvc2gnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGguYXNpbmgnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGguYXRhbmgnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGguY2JydCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubWF0aC5jbHozMicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubWF0aC5jb3NoJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLmV4cG0xJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLmZyb3VuZCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubWF0aC5oeXBvdCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubWF0aC5pbXVsJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLmxvZzEwJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLmxvZzFwJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLmxvZzInKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGguc2lnbicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYubWF0aC5zaW5oJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXRoLnRhbmgnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2Lm1hdGgudHJ1bmMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5mcm9tLWNvZGUtcG9pbnQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5yYXcnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy50cmltJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3InKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5jb2RlLXBvaW50LWF0Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuZW5kcy13aXRoJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuaW5jbHVkZXMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5yZXBlYXQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5zdGFydHMtd2l0aCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLmFuY2hvcicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLmJpZycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLmJsaW5rJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuYm9sZCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLmZpeGVkJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuZm9udGNvbG9yJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuZm9udHNpemUnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnN0cmluZy5pdGFsaWNzJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcubGluaycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuc3RyaW5nLnNtYWxsJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuc3RyaWtlJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuc3ViJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5zdHJpbmcuc3VwJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5kYXRlLm5vdycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuZGF0ZS50by1qc29uJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5kYXRlLnRvLWlzby1zdHJpbmcnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmRhdGUudG8tc3RyaW5nJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5kYXRlLnRvLXByaW1pdGl2ZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuaXMtYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmFycmF5LmZyb20nKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmFycmF5Lm9mJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5qb2luJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5zbGljZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuc29ydCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuZm9yLWVhY2gnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmFycmF5Lm1hcCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuZmlsdGVyJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5zb21lJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5ldmVyeScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkucmVkdWNlJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5yZWR1Y2UtcmlnaHQnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LmFycmF5LmluZGV4LW9mJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5sYXN0LWluZGV4LW9mJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5hcnJheS5jb3B5LXdpdGhpbicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuZmlsbCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuZmluZCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuZmluZC1pbmRleCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuc3BlY2llcycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3InKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZ2V4cC5jb25zdHJ1Y3RvcicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVnZXhwLmV4ZWMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZ2V4cC50by1zdHJpbmcnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZ2V4cC5mbGFncycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVnZXhwLm1hdGNoJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5yZWdleHAucmVwbGFjZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVnZXhwLnNlYXJjaCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVnZXhwLnNwbGl0Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5wcm9taXNlJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5tYXAnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnNldCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYud2Vhay1tYXAnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LndlYWstc2V0Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi50eXBlZC5hcnJheS1idWZmZXInKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLmRhdGEtdmlldycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYudHlwZWQuaW50OC1hcnJheScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYudHlwZWQudWludDgtYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLnVpbnQ4LWNsYW1wZWQtYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLmludDE2LWFycmF5Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi50eXBlZC51aW50MTYtYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLmludDMyLWFycmF5Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi50eXBlZC51aW50MzItYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLmZsb2F0MzItYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnR5cGVkLmZsb2F0NjQtYXJyYXknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3QuYXBwbHknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3QuY29uc3RydWN0Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5yZWZsZWN0LmRlZmluZS1wcm9wZXJ0eScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVmbGVjdC5kZWxldGUtcHJvcGVydHknKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3QuZW51bWVyYXRlJyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5yZWZsZWN0LmdldCcpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVmbGVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3InKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3QuZ2V0LXByb3RvdHlwZS1vZicpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVmbGVjdC5oYXMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3QuaXMtZXh0ZW5zaWJsZScpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVmbGVjdC5vd24ta2V5cycpO1xucmVxdWlyZSgnLi4vbW9kdWxlcy9lczYucmVmbGVjdC5wcmV2ZW50LWV4dGVuc2lvbnMnKTtcbnJlcXVpcmUoJy4uL21vZHVsZXMvZXM2LnJlZmxlY3Quc2V0Jyk7XG5yZXF1aXJlKCcuLi9tb2R1bGVzL2VzNi5yZWZsZWN0LnNldC1wcm90b3R5cGUtb2YnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vbW9kdWxlcy9fY29yZScpO1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczcuYXJyYXkuZmxhdC1tYXAnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLkFycmF5LmZsYXRNYXA7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5hcnJheS5pbmNsdWRlcycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuQXJyYXkuaW5jbHVkZXM7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5vYmplY3QuZW50cmllcycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuT2JqZWN0LmVudHJpZXM7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5vYmplY3QuZ2V0LW93bi1wcm9wZXJ0eS1kZXNjcmlwdG9ycycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5vYmplY3QudmFsdWVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5PYmplY3QudmFsdWVzO1xuIiwiJ3VzZSBzdHJpY3QnO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczYucHJvbWlzZScpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczcucHJvbWlzZS5maW5hbGx5Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5Qcm9taXNlWydmaW5hbGx5J107XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzNy5zdHJpbmcucGFkLWVuZCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3RyaW5nLnBhZEVuZDtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM3LnN0cmluZy5wYWQtc3RhcnQnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLlN0cmluZy5wYWRTdGFydDtcbiIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM3LnN0cmluZy50cmltLXJpZ2h0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX2NvcmUnKS5TdHJpbmcudHJpbVJpZ2h0O1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczcuc3RyaW5nLnRyaW0tbGVmdCcpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9tb2R1bGVzL19jb3JlJykuU3RyaW5nLnRyaW1MZWZ0O1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lczcuc3ltYm9sLmFzeW5jLWl0ZXJhdG9yJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL21vZHVsZXMvX3drcy1leHQnKS5mKCdhc3luY0l0ZXJhdG9yJyk7XG4iLCJyZXF1aXJlKCcuLi9tb2R1bGVzL2VzNy5nbG9iYWwnKTtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi4vbW9kdWxlcy9fY29yZScpLmdsb2JhbDtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKGl0ICsgJyBpcyBub3QgYSBmdW5jdGlvbiEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGFuIG9iamVjdCEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuMTInIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwiLy8gb3B0aW9uYWwgLyBzaW1wbGUgY29udGV4dCBiaW5kaW5nXG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIHRoYXQsIGxlbmd0aCkge1xuICBhRnVuY3Rpb24oZm4pO1xuICBpZiAodGhhdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZm47XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24gKGEpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEpO1xuICAgIH07XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIpO1xuICAgIH07XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIsIGMpO1xuICAgIH07XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgvKiAuLi5hcmdzICovKSB7XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7XG4gIH07XG59O1xuIiwiLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgaXMgPSBpc09iamVjdChkb2N1bWVudCkgJiYgaXNPYmplY3QoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXMgPyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGl0KSA6IHt9O1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciBJU19XUkFQID0gdHlwZSAmICRleHBvcnQuVztcbiAgdmFyIGV4cG9ydHMgPSBJU19HTE9CQUwgPyBjb3JlIDogY29yZVtuYW1lXSB8fCAoY29yZVtuYW1lXSA9IHt9KTtcbiAgdmFyIGV4cFByb3RvID0gZXhwb3J0c1tQUk9UT1RZUEVdO1xuICB2YXIgdGFyZ2V0ID0gSVNfR0xPQkFMID8gZ2xvYmFsIDogSVNfU1RBVElDID8gZ2xvYmFsW25hbWVdIDogKGdsb2JhbFtuYW1lXSB8fCB7fSlbUFJPVE9UWVBFXTtcbiAgdmFyIGtleSwgb3duLCBvdXQ7XG4gIGlmIChJU19HTE9CQUwpIHNvdXJjZSA9IG5hbWU7XG4gIGZvciAoa2V5IGluIHNvdXJjZSkge1xuICAgIC8vIGNvbnRhaW5zIGluIG5hdGl2ZVxuICAgIG93biA9ICFJU19GT1JDRUQgJiYgdGFyZ2V0ICYmIHRhcmdldFtrZXldICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKG93biAmJiBoYXMoZXhwb3J0cywga2V5KSkgY29udGludWU7XG4gICAgLy8gZXhwb3J0IG5hdGl2ZSBvciBwYXNzZWRcbiAgICBvdXQgPSBvd24gPyB0YXJnZXRba2V5XSA6IHNvdXJjZVtrZXldO1xuICAgIC8vIHByZXZlbnQgZ2xvYmFsIHBvbGx1dGlvbiBmb3IgbmFtZXNwYWNlc1xuICAgIGV4cG9ydHNba2V5XSA9IElTX0dMT0JBTCAmJiB0eXBlb2YgdGFyZ2V0W2tleV0gIT0gJ2Z1bmN0aW9uJyA/IHNvdXJjZVtrZXldXG4gICAgLy8gYmluZCB0aW1lcnMgdG8gZ2xvYmFsIGZvciBjYWxsIGZyb20gZXhwb3J0IGNvbnRleHRcbiAgICA6IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKVxuICAgIC8vIHdyYXAgZ2xvYmFsIGNvbnN0cnVjdG9ycyBmb3IgcHJldmVudCBjaGFuZ2UgdGhlbSBpbiBsaWJyYXJ5XG4gICAgOiBJU19XUkFQICYmIHRhcmdldFtrZXldID09IG91dCA/IChmdW5jdGlvbiAoQykge1xuICAgICAgdmFyIEYgPSBmdW5jdGlvbiAoYSwgYiwgYykge1xuICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIEMpIHtcbiAgICAgICAgICBzd2l0Y2ggKGFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNhc2UgMDogcmV0dXJuIG5ldyBDKCk7XG4gICAgICAgICAgICBjYXNlIDE6IHJldHVybiBuZXcgQyhhKTtcbiAgICAgICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBDKGEsIGIpO1xuICAgICAgICAgIH0gcmV0dXJuIG5ldyBDKGEsIGIsIGMpO1xuICAgICAgICB9IHJldHVybiBDLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgRltQUk9UT1RZUEVdID0gQ1tQUk9UT1RZUEVdO1xuICAgICAgcmV0dXJuIEY7XG4gICAgLy8gbWFrZSBzdGF0aWMgdmVyc2lvbnMgZm9yIHByb3RvdHlwZSBtZXRob2RzXG4gICAgfSkob3V0KSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4cG9ydCBwcm90byBtZXRob2RzIHRvIGNvcmUuJUNPTlNUUlVDVE9SJS5tZXRob2RzLiVOQU1FJVxuICAgIGlmIChJU19QUk9UTykge1xuICAgICAgKGV4cG9ydHMudmlydHVhbCB8fCAoZXhwb3J0cy52aXJ0dWFsID0ge30pKVtrZXldID0gb3V0O1xuICAgICAgLy8gZXhwb3J0IHByb3RvIG1ldGhvZHMgdG8gY29yZS4lQ09OU1RSVUNUT1IlLnByb3RvdHlwZS4lTkFNRSVcbiAgICAgIGlmICh0eXBlICYgJGV4cG9ydC5SICYmIGV4cFByb3RvICYmICFleHBQcm90b1trZXldKSBoaWRlKGV4cFByb3RvLCBrZXksIG91dCk7XG4gICAgfVxuICB9XG59O1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYykge1xuICB0cnkge1xuICAgIHJldHVybiAhIWV4ZWMoKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgJiYgIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcXVpcmUoJy4vX2RvbS1jcmVhdGUnKSgnZGl2JyksICdhJywgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSkuYSAhPSA3O1xufSk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIiwiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtZ2xvYmFsXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuRywgeyBnbG9iYWw6IHJlcXVpcmUoJy4vX2dsb2JhbCcpIH0pO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKHR5cGVvZiBpdCAhPSAnZnVuY3Rpb24nKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhIGZ1bmN0aW9uIScpO1xuICByZXR1cm4gaXQ7XG59O1xuIiwidmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIG1zZykge1xuICBpZiAodHlwZW9mIGl0ICE9ICdudW1iZXInICYmIGNvZihpdCkgIT0gJ051bWJlcicpIHRocm93IFR5cGVFcnJvcihtc2cpO1xuICByZXR1cm4gK2l0O1xufTtcbiIsIi8vIDIyLjEuMy4zMSBBcnJheS5wcm90b3R5cGVbQEB1bnNjb3BhYmxlc11cbnZhciBVTlNDT1BBQkxFUyA9IHJlcXVpcmUoJy4vX3drcycpKCd1bnNjb3BhYmxlcycpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5pZiAoQXJyYXlQcm90b1tVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSByZXF1aXJlKCcuL19oaWRlJykoQXJyYXlQcm90bywgVU5TQ09QQUJMRVMsIHt9KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICBBcnJheVByb3RvW1VOU0NPUEFCTEVTXVtrZXldID0gdHJ1ZTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYXQgPSByZXF1aXJlKCcuL19zdHJpbmctYXQnKSh0cnVlKTtcblxuIC8vIGBBZHZhbmNlU3RyaW5nSW5kZXhgIGFic3RyYWN0IG9wZXJhdGlvblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYWR2YW5jZXN0cmluZ2luZGV4XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChTLCBpbmRleCwgdW5pY29kZSkge1xuICByZXR1cm4gaW5kZXggKyAodW5pY29kZSA/IGF0KFMsIGluZGV4KS5sZW5ndGggOiAxKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgQ29uc3RydWN0b3IsIG5hbWUsIGZvcmJpZGRlbkZpZWxkKSB7XG4gIGlmICghKGl0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpIHx8IChmb3JiaWRkZW5GaWVsZCAhPT0gdW5kZWZpbmVkICYmIGZvcmJpZGRlbkZpZWxkIGluIGl0KSkge1xuICAgIHRocm93IFR5cGVFcnJvcihuYW1lICsgJzogaW5jb3JyZWN0IGludm9jYXRpb24hJyk7XG4gIH0gcmV0dXJuIGl0O1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGFuIG9iamVjdCEnKTtcbiAgcmV0dXJuIGl0O1xufTtcbiIsIi8vIDIyLjEuMy4zIEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKHRhcmdldCwgc3RhcnQsIGVuZCA9IHRoaXMubGVuZ3RoKVxuJ3VzZSBzdHJpY3QnO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFtdLmNvcHlXaXRoaW4gfHwgZnVuY3Rpb24gY29weVdpdGhpbih0YXJnZXQgLyogPSAwICovLCBzdGFydCAvKiA9IDAsIGVuZCA9IEBsZW5ndGggKi8pIHtcbiAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgdmFyIGxlbiA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgdmFyIHRvID0gdG9BYnNvbHV0ZUluZGV4KHRhcmdldCwgbGVuKTtcbiAgdmFyIGZyb20gPSB0b0Fic29sdXRlSW5kZXgoc3RhcnQsIGxlbik7XG4gIHZhciBlbmQgPSBhcmd1bWVudHMubGVuZ3RoID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZDtcbiAgdmFyIGNvdW50ID0gTWF0aC5taW4oKGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuIDogdG9BYnNvbHV0ZUluZGV4KGVuZCwgbGVuKSkgLSBmcm9tLCBsZW4gLSB0byk7XG4gIHZhciBpbmMgPSAxO1xuICBpZiAoZnJvbSA8IHRvICYmIHRvIDwgZnJvbSArIGNvdW50KSB7XG4gICAgaW5jID0gLTE7XG4gICAgZnJvbSArPSBjb3VudCAtIDE7XG4gICAgdG8gKz0gY291bnQgLSAxO1xuICB9XG4gIHdoaWxlIChjb3VudC0tID4gMCkge1xuICAgIGlmIChmcm9tIGluIE8pIE9bdG9dID0gT1tmcm9tXTtcbiAgICBlbHNlIGRlbGV0ZSBPW3RvXTtcbiAgICB0byArPSBpbmM7XG4gICAgZnJvbSArPSBpbmM7XG4gIH0gcmV0dXJuIE87XG59O1xuIiwiLy8gMjIuMS4zLjYgQXJyYXkucHJvdG90eXBlLmZpbGwodmFsdWUsIHN0YXJ0ID0gMCwgZW5kID0gdGhpcy5sZW5ndGgpXG4ndXNlIHN0cmljdCc7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGZpbGwodmFsdWUgLyogLCBzdGFydCA9IDAsIGVuZCA9IEBsZW5ndGggKi8pIHtcbiAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgdmFyIGFMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICB2YXIgaW5kZXggPSB0b0Fic29sdXRlSW5kZXgoYUxlbiA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIGxlbmd0aCk7XG4gIHZhciBlbmQgPSBhTGVuID4gMiA/IGFyZ3VtZW50c1syXSA6IHVuZGVmaW5lZDtcbiAgdmFyIGVuZFBvcyA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuZ3RoIDogdG9BYnNvbHV0ZUluZGV4KGVuZCwgbGVuZ3RoKTtcbiAgd2hpbGUgKGVuZFBvcyA+IGluZGV4KSBPW2luZGV4KytdID0gdmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiIsIi8vIGZhbHNlIC0+IEFycmF5I2luZGV4T2Zcbi8vIHRydWUgIC0+IEFycmF5I2luY2x1ZGVzXG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgdG9BYnNvbHV0ZUluZGV4ID0gcmVxdWlyZSgnLi9fdG8tYWJzb2x1dGUtaW5kZXgnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKElTX0lOQ0xVREVTKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIGVsLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgTyA9IHRvSU9iamVjdCgkdGhpcyk7XG4gICAgdmFyIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKTtcbiAgICB2YXIgaW5kZXggPSB0b0Fic29sdXRlSW5kZXgoZnJvbUluZGV4LCBsZW5ndGgpO1xuICAgIHZhciB2YWx1ZTtcbiAgICAvLyBBcnJheSNpbmNsdWRlcyB1c2VzIFNhbWVWYWx1ZVplcm8gZXF1YWxpdHkgYWxnb3JpdGhtXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIGlmIChJU19JTkNMVURFUyAmJiBlbCAhPSBlbCkgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSB7XG4gICAgICB2YWx1ZSA9IE9baW5kZXgrK107XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgICBpZiAodmFsdWUgIT0gdmFsdWUpIHJldHVybiB0cnVlO1xuICAgIC8vIEFycmF5I2luZGV4T2YgaWdub3JlcyBob2xlcywgQXJyYXkjaW5jbHVkZXMgLSBub3RcbiAgICB9IGVsc2UgZm9yICg7bGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIGlmIChJU19JTkNMVURFUyB8fCBpbmRleCBpbiBPKSB7XG4gICAgICBpZiAoT1tpbmRleF0gPT09IGVsKSByZXR1cm4gSVNfSU5DTFVERVMgfHwgaW5kZXggfHwgMDtcbiAgICB9IHJldHVybiAhSVNfSU5DTFVERVMgJiYgLTE7XG4gIH07XG59O1xuIiwiLy8gMCAtPiBBcnJheSNmb3JFYWNoXG4vLyAxIC0+IEFycmF5I21hcFxuLy8gMiAtPiBBcnJheSNmaWx0ZXJcbi8vIDMgLT4gQXJyYXkjc29tZVxuLy8gNCAtPiBBcnJheSNldmVyeVxuLy8gNSAtPiBBcnJheSNmaW5kXG4vLyA2IC0+IEFycmF5I2ZpbmRJbmRleFxudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGFzYyA9IHJlcXVpcmUoJy4vX2FycmF5LXNwZWNpZXMtY3JlYXRlJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChUWVBFLCAkY3JlYXRlKSB7XG4gIHZhciBJU19NQVAgPSBUWVBFID09IDE7XG4gIHZhciBJU19GSUxURVIgPSBUWVBFID09IDI7XG4gIHZhciBJU19TT01FID0gVFlQRSA9PSAzO1xuICB2YXIgSVNfRVZFUlkgPSBUWVBFID09IDQ7XG4gIHZhciBJU19GSU5EX0lOREVYID0gVFlQRSA9PSA2O1xuICB2YXIgTk9fSE9MRVMgPSBUWVBFID09IDUgfHwgSVNfRklORF9JTkRFWDtcbiAgdmFyIGNyZWF0ZSA9ICRjcmVhdGUgfHwgYXNjO1xuICByZXR1cm4gZnVuY3Rpb24gKCR0aGlzLCBjYWxsYmFja2ZuLCB0aGF0KSB7XG4gICAgdmFyIE8gPSB0b09iamVjdCgkdGhpcyk7XG4gICAgdmFyIHNlbGYgPSBJT2JqZWN0KE8pO1xuICAgIHZhciBmID0gY3R4KGNhbGxiYWNrZm4sIHRoYXQsIDMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChzZWxmLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICB2YXIgcmVzdWx0ID0gSVNfTUFQID8gY3JlYXRlKCR0aGlzLCBsZW5ndGgpIDogSVNfRklMVEVSID8gY3JlYXRlKCR0aGlzLCAwKSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgdmFsLCByZXM7XG4gICAgZm9yICg7bGVuZ3RoID4gaW5kZXg7IGluZGV4KyspIGlmIChOT19IT0xFUyB8fCBpbmRleCBpbiBzZWxmKSB7XG4gICAgICB2YWwgPSBzZWxmW2luZGV4XTtcbiAgICAgIHJlcyA9IGYodmFsLCBpbmRleCwgTyk7XG4gICAgICBpZiAoVFlQRSkge1xuICAgICAgICBpZiAoSVNfTUFQKSByZXN1bHRbaW5kZXhdID0gcmVzOyAgIC8vIG1hcFxuICAgICAgICBlbHNlIGlmIChyZXMpIHN3aXRjaCAoVFlQRSkge1xuICAgICAgICAgIGNhc2UgMzogcmV0dXJuIHRydWU7ICAgICAgICAgICAgIC8vIHNvbWVcbiAgICAgICAgICBjYXNlIDU6IHJldHVybiB2YWw7ICAgICAgICAgICAgICAvLyBmaW5kXG4gICAgICAgICAgY2FzZSA2OiByZXR1cm4gaW5kZXg7ICAgICAgICAgICAgLy8gZmluZEluZGV4XG4gICAgICAgICAgY2FzZSAyOiByZXN1bHQucHVzaCh2YWwpOyAgICAgICAgLy8gZmlsdGVyXG4gICAgICAgIH0gZWxzZSBpZiAoSVNfRVZFUlkpIHJldHVybiBmYWxzZTsgLy8gZXZlcnlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIElTX0ZJTkRfSU5ERVggPyAtMSA6IElTX1NPTUUgfHwgSVNfRVZFUlkgPyBJU19FVkVSWSA6IHJlc3VsdDtcbiAgfTtcbn07XG4iLCJ2YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0aGF0LCBjYWxsYmFja2ZuLCBhTGVuLCBtZW1vLCBpc1JpZ2h0KSB7XG4gIGFGdW5jdGlvbihjYWxsYmFja2ZuKTtcbiAgdmFyIE8gPSB0b09iamVjdCh0aGF0KTtcbiAgdmFyIHNlbGYgPSBJT2JqZWN0KE8pO1xuICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICB2YXIgaW5kZXggPSBpc1JpZ2h0ID8gbGVuZ3RoIC0gMSA6IDA7XG4gIHZhciBpID0gaXNSaWdodCA/IC0xIDogMTtcbiAgaWYgKGFMZW4gPCAyKSBmb3IgKDs7KSB7XG4gICAgaWYgKGluZGV4IGluIHNlbGYpIHtcbiAgICAgIG1lbW8gPSBzZWxmW2luZGV4XTtcbiAgICAgIGluZGV4ICs9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggKz0gaTtcbiAgICBpZiAoaXNSaWdodCA/IGluZGV4IDwgMCA6IGxlbmd0aCA8PSBpbmRleCkge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKCdSZWR1Y2Ugb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlJyk7XG4gICAgfVxuICB9XG4gIGZvciAoO2lzUmlnaHQgPyBpbmRleCA+PSAwIDogbGVuZ3RoID4gaW5kZXg7IGluZGV4ICs9IGkpIGlmIChpbmRleCBpbiBzZWxmKSB7XG4gICAgbWVtbyA9IGNhbGxiYWNrZm4obWVtbywgc2VsZltpbmRleF0sIGluZGV4LCBPKTtcbiAgfVxuICByZXR1cm4gbWVtbztcbn07XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBpc0FycmF5ID0gcmVxdWlyZSgnLi9faXMtYXJyYXknKTtcbnZhciBTUEVDSUVTID0gcmVxdWlyZSgnLi9fd2tzJykoJ3NwZWNpZXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3JpZ2luYWwpIHtcbiAgdmFyIEM7XG4gIGlmIChpc0FycmF5KG9yaWdpbmFsKSkge1xuICAgIEMgPSBvcmlnaW5hbC5jb25zdHJ1Y3RvcjtcbiAgICAvLyBjcm9zcy1yZWFsbSBmYWxsYmFja1xuICAgIGlmICh0eXBlb2YgQyA9PSAnZnVuY3Rpb24nICYmIChDID09PSBBcnJheSB8fCBpc0FycmF5KEMucHJvdG90eXBlKSkpIEMgPSB1bmRlZmluZWQ7XG4gICAgaWYgKGlzT2JqZWN0KEMpKSB7XG4gICAgICBDID0gQ1tTUEVDSUVTXTtcbiAgICAgIGlmIChDID09PSBudWxsKSBDID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSByZXR1cm4gQyA9PT0gdW5kZWZpbmVkID8gQXJyYXkgOiBDO1xufTtcbiIsIi8vIDkuNC4yLjMgQXJyYXlTcGVjaWVzQ3JlYXRlKG9yaWdpbmFsQXJyYXksIGxlbmd0aClcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuL19hcnJheS1zcGVjaWVzLWNvbnN0cnVjdG9yJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9yaWdpbmFsLCBsZW5ndGgpIHtcbiAgcmV0dXJuIG5ldyAoc3BlY2llc0NvbnN0cnVjdG9yKG9yaWdpbmFsKSkobGVuZ3RoKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgaW52b2tlID0gcmVxdWlyZSgnLi9faW52b2tlJyk7XG52YXIgYXJyYXlTbGljZSA9IFtdLnNsaWNlO1xudmFyIGZhY3RvcmllcyA9IHt9O1xuXG52YXIgY29uc3RydWN0ID0gZnVuY3Rpb24gKEYsIGxlbiwgYXJncykge1xuICBpZiAoIShsZW4gaW4gZmFjdG9yaWVzKSkge1xuICAgIGZvciAodmFyIG4gPSBbXSwgaSA9IDA7IGkgPCBsZW47IGkrKykgbltpXSA9ICdhWycgKyBpICsgJ10nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICAgIGZhY3Rvcmllc1tsZW5dID0gRnVuY3Rpb24oJ0YsYScsICdyZXR1cm4gbmV3IEYoJyArIG4uam9pbignLCcpICsgJyknKTtcbiAgfSByZXR1cm4gZmFjdG9yaWVzW2xlbl0oRiwgYXJncyk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IEZ1bmN0aW9uLmJpbmQgfHwgZnVuY3Rpb24gYmluZCh0aGF0IC8qICwgLi4uYXJncyAqLykge1xuICB2YXIgZm4gPSBhRnVuY3Rpb24odGhpcyk7XG4gIHZhciBwYXJ0QXJncyA9IGFycmF5U2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICB2YXIgYm91bmQgPSBmdW5jdGlvbiAoLyogYXJncy4uLiAqLykge1xuICAgIHZhciBhcmdzID0gcGFydEFyZ3MuY29uY2F0KGFycmF5U2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGJvdW5kID8gY29uc3RydWN0KGZuLCBhcmdzLmxlbmd0aCwgYXJncykgOiBpbnZva2UoZm4sIGFyZ3MsIHRoYXQpO1xuICB9O1xuICBpZiAoaXNPYmplY3QoZm4ucHJvdG90eXBlKSkgYm91bmQucHJvdG90eXBlID0gZm4ucHJvdG90eXBlO1xuICByZXR1cm4gYm91bmQ7XG59O1xuIiwiLy8gZ2V0dGluZyB0YWcgZnJvbSAxOS4xLjMuNiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKClcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBUQUcgPSByZXF1aXJlKCcuL193a3MnKSgndG9TdHJpbmdUYWcnKTtcbi8vIEVTMyB3cm9uZyBoZXJlXG52YXIgQVJHID0gY29mKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA9PSAnQXJndW1lbnRzJztcblxuLy8gZmFsbGJhY2sgZm9yIElFMTEgU2NyaXB0IEFjY2VzcyBEZW5pZWQgZXJyb3JcbnZhciB0cnlHZXQgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICB0cnkge1xuICAgIHJldHVybiBpdFtrZXldO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBPLCBULCBCO1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCA/ICdVbmRlZmluZWQnIDogaXQgPT09IG51bGwgPyAnTnVsbCdcbiAgICAvLyBAQHRvU3RyaW5nVGFnIGNhc2VcbiAgICA6IHR5cGVvZiAoVCA9IHRyeUdldChPID0gT2JqZWN0KGl0KSwgVEFHKSkgPT0gJ3N0cmluZycgPyBUXG4gICAgLy8gYnVpbHRpblRhZyBjYXNlXG4gICAgOiBBUkcgPyBjb2YoTylcbiAgICAvLyBFUzMgYXJndW1lbnRzIGZhbGxiYWNrXG4gICAgOiAoQiA9IGNvZihPKSkgPT0gJ09iamVjdCcgJiYgdHlwZW9mIE8uY2FsbGVlID09ICdmdW5jdGlvbicgPyAnQXJndW1lbnRzJyA6IEI7XG59O1xuIiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGl0KS5zbGljZSg4LCAtMSk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciBjcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG52YXIgcmVkZWZpbmVBbGwgPSByZXF1aXJlKCcuL19yZWRlZmluZS1hbGwnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xudmFyICRpdGVyRGVmaW5lID0gcmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKTtcbnZhciBzdGVwID0gcmVxdWlyZSgnLi9faXRlci1zdGVwJyk7XG52YXIgc2V0U3BlY2llcyA9IHJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJyk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyIGZhc3RLZXkgPSByZXF1aXJlKCcuL19tZXRhJykuZmFzdEtleTtcbnZhciB2YWxpZGF0ZSA9IHJlcXVpcmUoJy4vX3ZhbGlkYXRlLWNvbGxlY3Rpb24nKTtcbnZhciBTSVpFID0gREVTQ1JJUFRPUlMgPyAnX3MnIDogJ3NpemUnO1xuXG52YXIgZ2V0RW50cnkgPSBmdW5jdGlvbiAodGhhdCwga2V5KSB7XG4gIC8vIGZhc3QgY2FzZVxuICB2YXIgaW5kZXggPSBmYXN0S2V5KGtleSk7XG4gIHZhciBlbnRyeTtcbiAgaWYgKGluZGV4ICE9PSAnRicpIHJldHVybiB0aGF0Ll9pW2luZGV4XTtcbiAgLy8gZnJvemVuIG9iamVjdCBjYXNlXG4gIGZvciAoZW50cnkgPSB0aGF0Ll9mOyBlbnRyeTsgZW50cnkgPSBlbnRyeS5uKSB7XG4gICAgaWYgKGVudHJ5LmsgPT0ga2V5KSByZXR1cm4gZW50cnk7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBnZXRDb25zdHJ1Y3RvcjogZnVuY3Rpb24gKHdyYXBwZXIsIE5BTUUsIElTX01BUCwgQURERVIpIHtcbiAgICB2YXIgQyA9IHdyYXBwZXIoZnVuY3Rpb24gKHRoYXQsIGl0ZXJhYmxlKSB7XG4gICAgICBhbkluc3RhbmNlKHRoYXQsIEMsIE5BTUUsICdfaScpO1xuICAgICAgdGhhdC5fdCA9IE5BTUU7ICAgICAgICAgLy8gY29sbGVjdGlvbiB0eXBlXG4gICAgICB0aGF0Ll9pID0gY3JlYXRlKG51bGwpOyAvLyBpbmRleFxuICAgICAgdGhhdC5fZiA9IHVuZGVmaW5lZDsgICAgLy8gZmlyc3QgZW50cnlcbiAgICAgIHRoYXQuX2wgPSB1bmRlZmluZWQ7ICAgIC8vIGxhc3QgZW50cnlcbiAgICAgIHRoYXRbU0laRV0gPSAwOyAgICAgICAgIC8vIHNpemVcbiAgICAgIGlmIChpdGVyYWJsZSAhPSB1bmRlZmluZWQpIGZvck9mKGl0ZXJhYmxlLCBJU19NQVAsIHRoYXRbQURERVJdLCB0aGF0KTtcbiAgICB9KTtcbiAgICByZWRlZmluZUFsbChDLnByb3RvdHlwZSwge1xuICAgICAgLy8gMjMuMS4zLjEgTWFwLnByb3RvdHlwZS5jbGVhcigpXG4gICAgICAvLyAyMy4yLjMuMiBTZXQucHJvdG90eXBlLmNsZWFyKClcbiAgICAgIGNsZWFyOiBmdW5jdGlvbiBjbGVhcigpIHtcbiAgICAgICAgZm9yICh2YXIgdGhhdCA9IHZhbGlkYXRlKHRoaXMsIE5BTUUpLCBkYXRhID0gdGhhdC5faSwgZW50cnkgPSB0aGF0Ll9mOyBlbnRyeTsgZW50cnkgPSBlbnRyeS5uKSB7XG4gICAgICAgICAgZW50cnkuciA9IHRydWU7XG4gICAgICAgICAgaWYgKGVudHJ5LnApIGVudHJ5LnAgPSBlbnRyeS5wLm4gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgZGVsZXRlIGRhdGFbZW50cnkuaV07XG4gICAgICAgIH1cbiAgICAgICAgdGhhdC5fZiA9IHRoYXQuX2wgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoYXRbU0laRV0gPSAwO1xuICAgICAgfSxcbiAgICAgIC8vIDIzLjEuMy4zIE1hcC5wcm90b3R5cGUuZGVsZXRlKGtleSlcbiAgICAgIC8vIDIzLjIuMy40IFNldC5wcm90b3R5cGUuZGVsZXRlKHZhbHVlKVxuICAgICAgJ2RlbGV0ZSc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgdmFyIHRoYXQgPSB2YWxpZGF0ZSh0aGlzLCBOQU1FKTtcbiAgICAgICAgdmFyIGVudHJ5ID0gZ2V0RW50cnkodGhhdCwga2V5KTtcbiAgICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgICAgdmFyIG5leHQgPSBlbnRyeS5uO1xuICAgICAgICAgIHZhciBwcmV2ID0gZW50cnkucDtcbiAgICAgICAgICBkZWxldGUgdGhhdC5faVtlbnRyeS5pXTtcbiAgICAgICAgICBlbnRyeS5yID0gdHJ1ZTtcbiAgICAgICAgICBpZiAocHJldikgcHJldi5uID0gbmV4dDtcbiAgICAgICAgICBpZiAobmV4dCkgbmV4dC5wID0gcHJldjtcbiAgICAgICAgICBpZiAodGhhdC5fZiA9PSBlbnRyeSkgdGhhdC5fZiA9IG5leHQ7XG4gICAgICAgICAgaWYgKHRoYXQuX2wgPT0gZW50cnkpIHRoYXQuX2wgPSBwcmV2O1xuICAgICAgICAgIHRoYXRbU0laRV0tLTtcbiAgICAgICAgfSByZXR1cm4gISFlbnRyeTtcbiAgICAgIH0sXG4gICAgICAvLyAyMy4yLjMuNiBTZXQucHJvdG90eXBlLmZvckVhY2goY2FsbGJhY2tmbiwgdGhpc0FyZyA9IHVuZGVmaW5lZClcbiAgICAgIC8vIDIzLjEuMy41IE1hcC5wcm90b3R5cGUuZm9yRWFjaChjYWxsYmFja2ZuLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxuICAgICAgZm9yRWFjaDogZnVuY3Rpb24gZm9yRWFjaChjYWxsYmFja2ZuIC8qICwgdGhhdCA9IHVuZGVmaW5lZCAqLykge1xuICAgICAgICB2YWxpZGF0ZSh0aGlzLCBOQU1FKTtcbiAgICAgICAgdmFyIGYgPSBjdHgoY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQsIDMpO1xuICAgICAgICB2YXIgZW50cnk7XG4gICAgICAgIHdoaWxlIChlbnRyeSA9IGVudHJ5ID8gZW50cnkubiA6IHRoaXMuX2YpIHtcbiAgICAgICAgICBmKGVudHJ5LnYsIGVudHJ5LmssIHRoaXMpO1xuICAgICAgICAgIC8vIHJldmVydCB0byB0aGUgbGFzdCBleGlzdGluZyBlbnRyeVxuICAgICAgICAgIHdoaWxlIChlbnRyeSAmJiBlbnRyeS5yKSBlbnRyeSA9IGVudHJ5LnA7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAvLyAyMy4xLjMuNyBNYXAucHJvdG90eXBlLmhhcyhrZXkpXG4gICAgICAvLyAyMy4yLjMuNyBTZXQucHJvdG90eXBlLmhhcyh2YWx1ZSlcbiAgICAgIGhhczogZnVuY3Rpb24gaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gISFnZXRFbnRyeSh2YWxpZGF0ZSh0aGlzLCBOQU1FKSwga2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoREVTQ1JJUFRPUlMpIGRQKEMucHJvdG90eXBlLCAnc2l6ZScsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGUodGhpcywgTkFNRSlbU0laRV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIEM7XG4gIH0sXG4gIGRlZjogZnVuY3Rpb24gKHRoYXQsIGtleSwgdmFsdWUpIHtcbiAgICB2YXIgZW50cnkgPSBnZXRFbnRyeSh0aGF0LCBrZXkpO1xuICAgIHZhciBwcmV2LCBpbmRleDtcbiAgICAvLyBjaGFuZ2UgZXhpc3RpbmcgZW50cnlcbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIGVudHJ5LnYgPSB2YWx1ZTtcbiAgICAvLyBjcmVhdGUgbmV3IGVudHJ5XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoYXQuX2wgPSBlbnRyeSA9IHtcbiAgICAgICAgaTogaW5kZXggPSBmYXN0S2V5KGtleSwgdHJ1ZSksIC8vIDwtIGluZGV4XG4gICAgICAgIGs6IGtleSwgICAgICAgICAgICAgICAgICAgICAgICAvLyA8LSBrZXlcbiAgICAgICAgdjogdmFsdWUsICAgICAgICAgICAgICAgICAgICAgIC8vIDwtIHZhbHVlXG4gICAgICAgIHA6IHByZXYgPSB0aGF0Ll9sLCAgICAgICAgICAgICAvLyA8LSBwcmV2aW91cyBlbnRyeVxuICAgICAgICBuOiB1bmRlZmluZWQsICAgICAgICAgICAgICAgICAgLy8gPC0gbmV4dCBlbnRyeVxuICAgICAgICByOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgLy8gPC0gcmVtb3ZlZFxuICAgICAgfTtcbiAgICAgIGlmICghdGhhdC5fZikgdGhhdC5fZiA9IGVudHJ5O1xuICAgICAgaWYgKHByZXYpIHByZXYubiA9IGVudHJ5O1xuICAgICAgdGhhdFtTSVpFXSsrO1xuICAgICAgLy8gYWRkIHRvIGluZGV4XG4gICAgICBpZiAoaW5kZXggIT09ICdGJykgdGhhdC5faVtpbmRleF0gPSBlbnRyeTtcbiAgICB9IHJldHVybiB0aGF0O1xuICB9LFxuICBnZXRFbnRyeTogZ2V0RW50cnksXG4gIHNldFN0cm9uZzogZnVuY3Rpb24gKEMsIE5BTUUsIElTX01BUCkge1xuICAgIC8vIGFkZCAua2V5cywgLnZhbHVlcywgLmVudHJpZXMsIFtAQGl0ZXJhdG9yXVxuICAgIC8vIDIzLjEuMy40LCAyMy4xLjMuOCwgMjMuMS4zLjExLCAyMy4xLjMuMTIsIDIzLjIuMy41LCAyMy4yLjMuOCwgMjMuMi4zLjEwLCAyMy4yLjMuMTFcbiAgICAkaXRlckRlZmluZShDLCBOQU1FLCBmdW5jdGlvbiAoaXRlcmF0ZWQsIGtpbmQpIHtcbiAgICAgIHRoaXMuX3QgPSB2YWxpZGF0ZShpdGVyYXRlZCwgTkFNRSk7IC8vIHRhcmdldFxuICAgICAgdGhpcy5fayA9IGtpbmQ7ICAgICAgICAgICAgICAgICAgICAgLy8ga2luZFxuICAgICAgdGhpcy5fbCA9IHVuZGVmaW5lZDsgICAgICAgICAgICAgICAgLy8gcHJldmlvdXNcbiAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICB2YXIga2luZCA9IHRoYXQuX2s7XG4gICAgICB2YXIgZW50cnkgPSB0aGF0Ll9sO1xuICAgICAgLy8gcmV2ZXJ0IHRvIHRoZSBsYXN0IGV4aXN0aW5nIGVudHJ5XG4gICAgICB3aGlsZSAoZW50cnkgJiYgZW50cnkucikgZW50cnkgPSBlbnRyeS5wO1xuICAgICAgLy8gZ2V0IG5leHQgZW50cnlcbiAgICAgIGlmICghdGhhdC5fdCB8fCAhKHRoYXQuX2wgPSBlbnRyeSA9IGVudHJ5ID8gZW50cnkubiA6IHRoYXQuX3QuX2YpKSB7XG4gICAgICAgIC8vIG9yIGZpbmlzaCB0aGUgaXRlcmF0aW9uXG4gICAgICAgIHRoYXQuX3QgPSB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBzdGVwKDEpO1xuICAgICAgfVxuICAgICAgLy8gcmV0dXJuIHN0ZXAgYnkga2luZFxuICAgICAgaWYgKGtpbmQgPT0gJ2tleXMnKSByZXR1cm4gc3RlcCgwLCBlbnRyeS5rKTtcbiAgICAgIGlmIChraW5kID09ICd2YWx1ZXMnKSByZXR1cm4gc3RlcCgwLCBlbnRyeS52KTtcbiAgICAgIHJldHVybiBzdGVwKDAsIFtlbnRyeS5rLCBlbnRyeS52XSk7XG4gICAgfSwgSVNfTUFQID8gJ2VudHJpZXMnIDogJ3ZhbHVlcycsICFJU19NQVAsIHRydWUpO1xuXG4gICAgLy8gYWRkIFtAQHNwZWNpZXNdLCAyMy4xLjIuMiwgMjMuMi4yLjJcbiAgICBzZXRTcGVjaWVzKE5BTUUpO1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIHJlZGVmaW5lQWxsID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUtYWxsJyk7XG52YXIgZ2V0V2VhayA9IHJlcXVpcmUoJy4vX21ldGEnKS5nZXRXZWFrO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xudmFyIGNyZWF0ZUFycmF5TWV0aG9kID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpO1xudmFyICRoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB2YWxpZGF0ZSA9IHJlcXVpcmUoJy4vX3ZhbGlkYXRlLWNvbGxlY3Rpb24nKTtcbnZhciBhcnJheUZpbmQgPSBjcmVhdGVBcnJheU1ldGhvZCg1KTtcbnZhciBhcnJheUZpbmRJbmRleCA9IGNyZWF0ZUFycmF5TWV0aG9kKDYpO1xudmFyIGlkID0gMDtcblxuLy8gZmFsbGJhY2sgZm9yIHVuY2F1Z2h0IGZyb3plbiBrZXlzXG52YXIgdW5jYXVnaHRGcm96ZW5TdG9yZSA9IGZ1bmN0aW9uICh0aGF0KSB7XG4gIHJldHVybiB0aGF0Ll9sIHx8ICh0aGF0Ll9sID0gbmV3IFVuY2F1Z2h0RnJvemVuU3RvcmUoKSk7XG59O1xudmFyIFVuY2F1Z2h0RnJvemVuU3RvcmUgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuYSA9IFtdO1xufTtcbnZhciBmaW5kVW5jYXVnaHRGcm96ZW4gPSBmdW5jdGlvbiAoc3RvcmUsIGtleSkge1xuICByZXR1cm4gYXJyYXlGaW5kKHN0b3JlLmEsIGZ1bmN0aW9uIChpdCkge1xuICAgIHJldHVybiBpdFswXSA9PT0ga2V5O1xuICB9KTtcbn07XG5VbmNhdWdodEZyb3plblN0b3JlLnByb3RvdHlwZSA9IHtcbiAgZ2V0OiBmdW5jdGlvbiAoa2V5KSB7XG4gICAgdmFyIGVudHJ5ID0gZmluZFVuY2F1Z2h0RnJvemVuKHRoaXMsIGtleSk7XG4gICAgaWYgKGVudHJ5KSByZXR1cm4gZW50cnlbMV07XG4gIH0sXG4gIGhhczogZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiAhIWZpbmRVbmNhdWdodEZyb3plbih0aGlzLCBrZXkpO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgdmFyIGVudHJ5ID0gZmluZFVuY2F1Z2h0RnJvemVuKHRoaXMsIGtleSk7XG4gICAgaWYgKGVudHJ5KSBlbnRyeVsxXSA9IHZhbHVlO1xuICAgIGVsc2UgdGhpcy5hLnB1c2goW2tleSwgdmFsdWVdKTtcbiAgfSxcbiAgJ2RlbGV0ZSc6IGZ1bmN0aW9uIChrZXkpIHtcbiAgICB2YXIgaW5kZXggPSBhcnJheUZpbmRJbmRleCh0aGlzLmEsIGZ1bmN0aW9uIChpdCkge1xuICAgICAgcmV0dXJuIGl0WzBdID09PSBrZXk7XG4gICAgfSk7XG4gICAgaWYgKH5pbmRleCkgdGhpcy5hLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuICEhfmluZGV4O1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZ2V0Q29uc3RydWN0b3I6IGZ1bmN0aW9uICh3cmFwcGVyLCBOQU1FLCBJU19NQVAsIEFEREVSKSB7XG4gICAgdmFyIEMgPSB3cmFwcGVyKGZ1bmN0aW9uICh0aGF0LCBpdGVyYWJsZSkge1xuICAgICAgYW5JbnN0YW5jZSh0aGF0LCBDLCBOQU1FLCAnX2knKTtcbiAgICAgIHRoYXQuX3QgPSBOQU1FOyAgICAgIC8vIGNvbGxlY3Rpb24gdHlwZVxuICAgICAgdGhhdC5faSA9IGlkKys7ICAgICAgLy8gY29sbGVjdGlvbiBpZFxuICAgICAgdGhhdC5fbCA9IHVuZGVmaW5lZDsgLy8gbGVhayBzdG9yZSBmb3IgdW5jYXVnaHQgZnJvemVuIG9iamVjdHNcbiAgICAgIGlmIChpdGVyYWJsZSAhPSB1bmRlZmluZWQpIGZvck9mKGl0ZXJhYmxlLCBJU19NQVAsIHRoYXRbQURERVJdLCB0aGF0KTtcbiAgICB9KTtcbiAgICByZWRlZmluZUFsbChDLnByb3RvdHlwZSwge1xuICAgICAgLy8gMjMuMy4zLjIgV2Vha01hcC5wcm90b3R5cGUuZGVsZXRlKGtleSlcbiAgICAgIC8vIDIzLjQuMy4zIFdlYWtTZXQucHJvdG90eXBlLmRlbGV0ZSh2YWx1ZSlcbiAgICAgICdkZWxldGUnOiBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICghaXNPYmplY3Qoa2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgZGF0YSA9IGdldFdlYWsoa2V5KTtcbiAgICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHJldHVybiB1bmNhdWdodEZyb3plblN0b3JlKHZhbGlkYXRlKHRoaXMsIE5BTUUpKVsnZGVsZXRlJ10oa2V5KTtcbiAgICAgICAgcmV0dXJuIGRhdGEgJiYgJGhhcyhkYXRhLCB0aGlzLl9pKSAmJiBkZWxldGUgZGF0YVt0aGlzLl9pXTtcbiAgICAgIH0sXG4gICAgICAvLyAyMy4zLjMuNCBXZWFrTWFwLnByb3RvdHlwZS5oYXMoa2V5KVxuICAgICAgLy8gMjMuNC4zLjQgV2Vha1NldC5wcm90b3R5cGUuaGFzKHZhbHVlKVxuICAgICAgaGFzOiBmdW5jdGlvbiBoYXMoa2V5KSB7XG4gICAgICAgIGlmICghaXNPYmplY3Qoa2V5KSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgZGF0YSA9IGdldFdlYWsoa2V5KTtcbiAgICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHJldHVybiB1bmNhdWdodEZyb3plblN0b3JlKHZhbGlkYXRlKHRoaXMsIE5BTUUpKS5oYXMoa2V5KTtcbiAgICAgICAgcmV0dXJuIGRhdGEgJiYgJGhhcyhkYXRhLCB0aGlzLl9pKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQztcbiAgfSxcbiAgZGVmOiBmdW5jdGlvbiAodGhhdCwga2V5LCB2YWx1ZSkge1xuICAgIHZhciBkYXRhID0gZ2V0V2Vhayhhbk9iamVjdChrZXkpLCB0cnVlKTtcbiAgICBpZiAoZGF0YSA9PT0gdHJ1ZSkgdW5jYXVnaHRGcm96ZW5TdG9yZSh0aGF0KS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgZWxzZSBkYXRhW3RoYXQuX2ldID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoYXQ7XG4gIH0sXG4gIHVmc3RvcmU6IHVuY2F1Z2h0RnJvemVuU3RvcmVcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciByZWRlZmluZUFsbCA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpO1xudmFyIG1ldGEgPSByZXF1aXJlKCcuL19tZXRhJyk7XG52YXIgZm9yT2YgPSByZXF1aXJlKCcuL19mb3Itb2YnKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciAkaXRlckRldGVjdCA9IHJlcXVpcmUoJy4vX2l0ZXItZGV0ZWN0Jyk7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSByZXF1aXJlKCcuL19zZXQtdG8tc3RyaW5nLXRhZycpO1xudmFyIGluaGVyaXRJZlJlcXVpcmVkID0gcmVxdWlyZSgnLi9faW5oZXJpdC1pZi1yZXF1aXJlZCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChOQU1FLCB3cmFwcGVyLCBtZXRob2RzLCBjb21tb24sIElTX01BUCwgSVNfV0VBSykge1xuICB2YXIgQmFzZSA9IGdsb2JhbFtOQU1FXTtcbiAgdmFyIEMgPSBCYXNlO1xuICB2YXIgQURERVIgPSBJU19NQVAgPyAnc2V0JyA6ICdhZGQnO1xuICB2YXIgcHJvdG8gPSBDICYmIEMucHJvdG90eXBlO1xuICB2YXIgTyA9IHt9O1xuICB2YXIgZml4TWV0aG9kID0gZnVuY3Rpb24gKEtFWSkge1xuICAgIHZhciBmbiA9IHByb3RvW0tFWV07XG4gICAgcmVkZWZpbmUocHJvdG8sIEtFWSxcbiAgICAgIEtFWSA9PSAnZGVsZXRlJyA/IGZ1bmN0aW9uIChhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IGZhbHNlIDogZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEpO1xuICAgICAgfSA6IEtFWSA9PSAnaGFzJyA/IGZ1bmN0aW9uIGhhcyhhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IGZhbHNlIDogZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEpO1xuICAgICAgfSA6IEtFWSA9PSAnZ2V0JyA/IGZ1bmN0aW9uIGdldChhKSB7XG4gICAgICAgIHJldHVybiBJU19XRUFLICYmICFpc09iamVjdChhKSA/IHVuZGVmaW5lZCA6IGZuLmNhbGwodGhpcywgYSA9PT0gMCA/IDAgOiBhKTtcbiAgICAgIH0gOiBLRVkgPT0gJ2FkZCcgPyBmdW5jdGlvbiBhZGQoYSkgeyBmbi5jYWxsKHRoaXMsIGEgPT09IDAgPyAwIDogYSk7IHJldHVybiB0aGlzOyB9XG4gICAgICAgIDogZnVuY3Rpb24gc2V0KGEsIGIpIHsgZm4uY2FsbCh0aGlzLCBhID09PSAwID8gMCA6IGEsIGIpOyByZXR1cm4gdGhpczsgfVxuICAgICk7XG4gIH07XG4gIGlmICh0eXBlb2YgQyAhPSAnZnVuY3Rpb24nIHx8ICEoSVNfV0VBSyB8fCBwcm90by5mb3JFYWNoICYmICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgbmV3IEMoKS5lbnRyaWVzKCkubmV4dCgpO1xuICB9KSkpIHtcbiAgICAvLyBjcmVhdGUgY29sbGVjdGlvbiBjb25zdHJ1Y3RvclxuICAgIEMgPSBjb21tb24uZ2V0Q29uc3RydWN0b3Iod3JhcHBlciwgTkFNRSwgSVNfTUFQLCBBRERFUik7XG4gICAgcmVkZWZpbmVBbGwoQy5wcm90b3R5cGUsIG1ldGhvZHMpO1xuICAgIG1ldGEuTkVFRCA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGluc3RhbmNlID0gbmV3IEMoKTtcbiAgICAvLyBlYXJseSBpbXBsZW1lbnRhdGlvbnMgbm90IHN1cHBvcnRzIGNoYWluaW5nXG4gICAgdmFyIEhBU05UX0NIQUlOSU5HID0gaW5zdGFuY2VbQURERVJdKElTX1dFQUsgPyB7fSA6IC0wLCAxKSAhPSBpbnN0YW5jZTtcbiAgICAvLyBWOCB+ICBDaHJvbWl1bSA0MC0gd2Vhay1jb2xsZWN0aW9ucyB0aHJvd3Mgb24gcHJpbWl0aXZlcywgYnV0IHNob3VsZCByZXR1cm4gZmFsc2VcbiAgICB2YXIgVEhST1dTX09OX1BSSU1JVElWRVMgPSBmYWlscyhmdW5jdGlvbiAoKSB7IGluc3RhbmNlLmhhcygxKTsgfSk7XG4gICAgLy8gbW9zdCBlYXJseSBpbXBsZW1lbnRhdGlvbnMgZG9lc24ndCBzdXBwb3J0cyBpdGVyYWJsZXMsIG1vc3QgbW9kZXJuIC0gbm90IGNsb3NlIGl0IGNvcnJlY3RseVxuICAgIHZhciBBQ0NFUFRfSVRFUkFCTEVTID0gJGl0ZXJEZXRlY3QoZnVuY3Rpb24gKGl0ZXIpIHsgbmV3IEMoaXRlcik7IH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIC8vIGZvciBlYXJseSBpbXBsZW1lbnRhdGlvbnMgLTAgYW5kICswIG5vdCB0aGUgc2FtZVxuICAgIHZhciBCVUdHWV9aRVJPID0gIUlTX1dFQUsgJiYgZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgICAgLy8gVjggfiBDaHJvbWl1bSA0Mi0gZmFpbHMgb25seSB3aXRoIDUrIGVsZW1lbnRzXG4gICAgICB2YXIgJGluc3RhbmNlID0gbmV3IEMoKTtcbiAgICAgIHZhciBpbmRleCA9IDU7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkgJGluc3RhbmNlW0FEREVSXShpbmRleCwgaW5kZXgpO1xuICAgICAgcmV0dXJuICEkaW5zdGFuY2UuaGFzKC0wKTtcbiAgICB9KTtcbiAgICBpZiAoIUFDQ0VQVF9JVEVSQUJMRVMpIHtcbiAgICAgIEMgPSB3cmFwcGVyKGZ1bmN0aW9uICh0YXJnZXQsIGl0ZXJhYmxlKSB7XG4gICAgICAgIGFuSW5zdGFuY2UodGFyZ2V0LCBDLCBOQU1FKTtcbiAgICAgICAgdmFyIHRoYXQgPSBpbmhlcml0SWZSZXF1aXJlZChuZXcgQmFzZSgpLCB0YXJnZXQsIEMpO1xuICAgICAgICBpZiAoaXRlcmFibGUgIT0gdW5kZWZpbmVkKSBmb3JPZihpdGVyYWJsZSwgSVNfTUFQLCB0aGF0W0FEREVSXSwgdGhhdCk7XG4gICAgICAgIHJldHVybiB0aGF0O1xuICAgICAgfSk7XG4gICAgICBDLnByb3RvdHlwZSA9IHByb3RvO1xuICAgICAgcHJvdG8uY29uc3RydWN0b3IgPSBDO1xuICAgIH1cbiAgICBpZiAoVEhST1dTX09OX1BSSU1JVElWRVMgfHwgQlVHR1lfWkVSTykge1xuICAgICAgZml4TWV0aG9kKCdkZWxldGUnKTtcbiAgICAgIGZpeE1ldGhvZCgnaGFzJyk7XG4gICAgICBJU19NQVAgJiYgZml4TWV0aG9kKCdnZXQnKTtcbiAgICB9XG4gICAgaWYgKEJVR0dZX1pFUk8gfHwgSEFTTlRfQ0hBSU5JTkcpIGZpeE1ldGhvZChBRERFUik7XG4gICAgLy8gd2VhayBjb2xsZWN0aW9ucyBzaG91bGQgbm90IGNvbnRhaW5zIC5jbGVhciBtZXRob2RcbiAgICBpZiAoSVNfV0VBSyAmJiBwcm90by5jbGVhcikgZGVsZXRlIHByb3RvLmNsZWFyO1xuICB9XG5cbiAgc2V0VG9TdHJpbmdUYWcoQywgTkFNRSk7XG5cbiAgT1tOQU1FXSA9IEM7XG4gICRleHBvcnQoJGV4cG9ydC5HICsgJGV4cG9ydC5XICsgJGV4cG9ydC5GICogKEMgIT0gQmFzZSksIE8pO1xuXG4gIGlmICghSVNfV0VBSykgY29tbW9uLnNldFN0cm9uZyhDLCBOQU1FLCBJU19NQVApO1xuXG4gIHJldHVybiBDO1xufTtcbiIsInZhciBjb3JlID0gbW9kdWxlLmV4cG9ydHMgPSB7IHZlcnNpb246ICcyLjYuMTInIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgaW5kZXgsIHZhbHVlKSB7XG4gIGlmIChpbmRleCBpbiBvYmplY3QpICRkZWZpbmVQcm9wZXJ0eS5mKG9iamVjdCwgaW5kZXgsIGNyZWF0ZURlc2MoMCwgdmFsdWUpKTtcbiAgZWxzZSBvYmplY3RbaW5kZXhdID0gdmFsdWU7XG59O1xuIiwiLy8gb3B0aW9uYWwgLyBzaW1wbGUgY29udGV4dCBiaW5kaW5nXG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIHRoYXQsIGxlbmd0aCkge1xuICBhRnVuY3Rpb24oZm4pO1xuICBpZiAodGhhdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZm47XG4gIHN3aXRjaCAobGVuZ3RoKSB7XG4gICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24gKGEpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEpO1xuICAgIH07XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIpO1xuICAgIH07XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIsIGMpO1xuICAgIH07XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgvKiAuLi5hcmdzICovKSB7XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7XG4gIH07XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjAuMy40LjM2IC8gMTUuOS41LjQzIERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nKClcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgZ2V0VGltZSA9IERhdGUucHJvdG90eXBlLmdldFRpbWU7XG52YXIgJHRvSVNPU3RyaW5nID0gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc7XG5cbnZhciBseiA9IGZ1bmN0aW9uIChudW0pIHtcbiAgcmV0dXJuIG51bSA+IDkgPyBudW0gOiAnMCcgKyBudW07XG59O1xuXG4vLyBQaGFudG9tSlMgLyBvbGQgV2ViS2l0IGhhcyBhIGJyb2tlbiBpbXBsZW1lbnRhdGlvbnNcbm1vZHVsZS5leHBvcnRzID0gKGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuICR0b0lTT1N0cmluZy5jYWxsKG5ldyBEYXRlKC01ZTEzIC0gMSkpICE9ICcwMzg1LTA3LTI1VDA3OjA2OjM5Ljk5OVonO1xufSkgfHwgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgJHRvSVNPU3RyaW5nLmNhbGwobmV3IERhdGUoTmFOKSk7XG59KSkgPyBmdW5jdGlvbiB0b0lTT1N0cmluZygpIHtcbiAgaWYgKCFpc0Zpbml0ZShnZXRUaW1lLmNhbGwodGhpcykpKSB0aHJvdyBSYW5nZUVycm9yKCdJbnZhbGlkIHRpbWUgdmFsdWUnKTtcbiAgdmFyIGQgPSB0aGlzO1xuICB2YXIgeSA9IGQuZ2V0VVRDRnVsbFllYXIoKTtcbiAgdmFyIG0gPSBkLmdldFVUQ01pbGxpc2Vjb25kcygpO1xuICB2YXIgcyA9IHkgPCAwID8gJy0nIDogeSA+IDk5OTkgPyAnKycgOiAnJztcbiAgcmV0dXJuIHMgKyAoJzAwMDAwJyArIE1hdGguYWJzKHkpKS5zbGljZShzID8gLTYgOiAtNCkgK1xuICAgICctJyArIGx6KGQuZ2V0VVRDTW9udGgoKSArIDEpICsgJy0nICsgbHooZC5nZXRVVENEYXRlKCkpICtcbiAgICAnVCcgKyBseihkLmdldFVUQ0hvdXJzKCkpICsgJzonICsgbHooZC5nZXRVVENNaW51dGVzKCkpICtcbiAgICAnOicgKyBseihkLmdldFVUQ1NlY29uZHMoKSkgKyAnLicgKyAobSA+IDk5ID8gbSA6ICcwJyArIGx6KG0pKSArICdaJztcbn0gOiAkdG9JU09TdHJpbmc7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIE5VTUJFUiA9ICdudW1iZXInO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChoaW50KSB7XG4gIGlmIChoaW50ICE9PSAnc3RyaW5nJyAmJiBoaW50ICE9PSBOVU1CRVIgJiYgaGludCAhPT0gJ2RlZmF1bHQnKSB0aHJvdyBUeXBlRXJyb3IoJ0luY29ycmVjdCBoaW50Jyk7XG4gIHJldHVybiB0b1ByaW1pdGl2ZShhbk9iamVjdCh0aGlzKSwgaGludCAhPSBOVU1CRVIpO1xufTtcbiIsIi8vIDcuMi4xIFJlcXVpcmVPYmplY3RDb2VyY2libGUoYXJndW1lbnQpXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgPT0gdW5kZWZpbmVkKSB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAgXCIgKyBpdCk7XG4gIHJldHVybiBpdDtcbn07XG4iLCIvLyBUaGFuaydzIElFOCBmb3IgaGlzIGZ1bm55IGRlZmluZVByb3BlcnR5XG5tb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ2EnLCB7IGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfSB9KS5hICE9IDc7XG59KTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGRvY3VtZW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIiwiLy8gSUUgOC0gZG9uJ3QgZW51bSBidWcga2V5c1xubW9kdWxlLmV4cG9ydHMgPSAoXG4gICdjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2YnXG4pLnNwbGl0KCcsJyk7XG4iLCIvLyBhbGwgZW51bWVyYWJsZSBvYmplY3Qga2V5cywgaW5jbHVkZXMgc3ltYm9sc1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xudmFyIGdPUFMgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wcycpO1xudmFyIHBJRSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciByZXN1bHQgPSBnZXRLZXlzKGl0KTtcbiAgdmFyIGdldFN5bWJvbHMgPSBnT1BTLmY7XG4gIGlmIChnZXRTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBnZXRTeW1ib2xzKGl0KTtcbiAgICB2YXIgaXNFbnVtID0gcElFLmY7XG4gICAgdmFyIGkgPSAwO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKHN5bWJvbHMubGVuZ3RoID4gaSkgaWYgKGlzRW51bS5jYWxsKGl0LCBrZXkgPSBzeW1ib2xzW2krK10pKSByZXN1bHQucHVzaChrZXkpO1xuICB9IHJldHVybiByZXN1bHQ7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gfHwgKGdsb2JhbFtuYW1lXSA9IHt9KSA6IChnbG9iYWxbbmFtZV0gfHwge30pW1BST1RPVFlQRV07XG4gIHZhciBleHBvcnRzID0gSVNfR0xPQkFMID8gY29yZSA6IGNvcmVbbmFtZV0gfHwgKGNvcmVbbmFtZV0gPSB7fSk7XG4gIHZhciBleHBQcm90byA9IGV4cG9ydHNbUFJPVE9UWVBFXSB8fCAoZXhwb3J0c1tQUk9UT1RZUEVdID0ge30pO1xuICB2YXIga2V5LCBvd24sIG91dCwgZXhwO1xuICBpZiAoSVNfR0xPQkFMKSBzb3VyY2UgPSBuYW1lO1xuICBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICAvLyBjb250YWlucyBpbiBuYXRpdmVcbiAgICBvd24gPSAhSVNfRk9SQ0VEICYmIHRhcmdldCAmJiB0YXJnZXRba2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIC8vIGV4cG9ydCBuYXRpdmUgb3IgcGFzc2VkXG4gICAgb3V0ID0gKG93biA/IHRhcmdldCA6IHNvdXJjZSlba2V5XTtcbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIGV4cCA9IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4dGVuZCBnbG9iYWxcbiAgICBpZiAodGFyZ2V0KSByZWRlZmluZSh0YXJnZXQsIGtleSwgb3V0LCB0eXBlICYgJGV4cG9ydC5VKTtcbiAgICAvLyBleHBvcnRcbiAgICBpZiAoZXhwb3J0c1trZXldICE9IG91dCkgaGlkZShleHBvcnRzLCBrZXksIGV4cCk7XG4gICAgaWYgKElTX1BST1RPICYmIGV4cFByb3RvW2tleV0gIT0gb3V0KSBleHBQcm90b1trZXldID0gb3V0O1xuICB9XG59O1xuZ2xvYmFsLmNvcmUgPSBjb3JlO1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuIiwidmFyIE1BVENIID0gcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVkpIHtcbiAgdmFyIHJlID0gLy4vO1xuICB0cnkge1xuICAgICcvLi8nW0tFWV0ocmUpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlW01BVENIXSA9IGZhbHNlO1xuICAgICAgcmV0dXJuICEnLy4vJ1tLRVldKHJlKTtcbiAgICB9IGNhdGNoIChmKSB7IC8qIGVtcHR5ICovIH1cbiAgfSByZXR1cm4gdHJ1ZTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG4iLCIndXNlIHN0cmljdCc7XG5yZXF1aXJlKCcuL2VzNi5yZWdleHAuZXhlYycpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xudmFyIHdrcyA9IHJlcXVpcmUoJy4vX3drcycpO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xuXG52YXIgU1BFQ0lFUyA9IHdrcygnc3BlY2llcycpO1xuXG52YXIgUkVQTEFDRV9TVVBQT1JUU19OQU1FRF9HUk9VUFMgPSAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyAjcmVwbGFjZSBuZWVkcyBidWlsdC1pbiBzdXBwb3J0IGZvciBuYW1lZCBncm91cHMuXG4gIC8vICNtYXRjaCB3b3JrcyBmaW5lIGJlY2F1c2UgaXQganVzdCByZXR1cm4gdGhlIGV4ZWMgcmVzdWx0cywgZXZlbiBpZiBpdCBoYXNcbiAgLy8gYSBcImdyb3BzXCIgcHJvcGVydHkuXG4gIHZhciByZSA9IC8uLztcbiAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgcmVzdWx0Lmdyb3VwcyA9IHsgYTogJzcnIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcmV0dXJuICcnLnJlcGxhY2UocmUsICckPGE+JykgIT09ICc3Jztcbn0pO1xuXG52YXIgU1BMSVRfV09SS1NfV0lUSF9PVkVSV1JJVFRFTl9FWEVDID0gKGZ1bmN0aW9uICgpIHtcbiAgLy8gQ2hyb21lIDUxIGhhcyBhIGJ1Z2d5IFwic3BsaXRcIiBpbXBsZW1lbnRhdGlvbiB3aGVuIFJlZ0V4cCNleGVjICE9PSBuYXRpdmVFeGVjXG4gIHZhciByZSA9IC8oPzopLztcbiAgdmFyIG9yaWdpbmFsRXhlYyA9IHJlLmV4ZWM7XG4gIHJlLmV4ZWMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBvcmlnaW5hbEV4ZWMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfTtcbiAgdmFyIHJlc3VsdCA9ICdhYicuc3BsaXQocmUpO1xuICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMiAmJiByZXN1bHRbMF0gPT09ICdhJyAmJiByZXN1bHRbMV0gPT09ICdiJztcbn0pKCk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSwgbGVuZ3RoLCBleGVjKSB7XG4gIHZhciBTWU1CT0wgPSB3a3MoS0VZKTtcblxuICB2YXIgREVMRUdBVEVTX1RPX1NZTUJPTCA9ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gU3RyaW5nIG1ldGhvZHMgY2FsbCBzeW1ib2wtbmFtZWQgUmVnRXAgbWV0aG9kc1xuICAgIHZhciBPID0ge307XG4gICAgT1tTWU1CT0xdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfTtcbiAgICByZXR1cm4gJydbS0VZXShPKSAhPSA3O1xuICB9KTtcblxuICB2YXIgREVMRUdBVEVTX1RPX0VYRUMgPSBERUxFR0FURVNfVE9fU1lNQk9MID8gIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBTeW1ib2wtbmFtZWQgUmVnRXhwIG1ldGhvZHMgY2FsbCAuZXhlY1xuICAgIHZhciBleGVjQ2FsbGVkID0gZmFsc2U7XG4gICAgdmFyIHJlID0gL2EvO1xuICAgIHJlLmV4ZWMgPSBmdW5jdGlvbiAoKSB7IGV4ZWNDYWxsZWQgPSB0cnVlOyByZXR1cm4gbnVsbDsgfTtcbiAgICBpZiAoS0VZID09PSAnc3BsaXQnKSB7XG4gICAgICAvLyBSZWdFeHBbQEBzcGxpdF0gZG9lc24ndCBjYWxsIHRoZSByZWdleCdzIGV4ZWMgbWV0aG9kLCBidXQgZmlyc3QgY3JlYXRlc1xuICAgICAgLy8gYSBuZXcgb25lLiBXZSBuZWVkIHRvIHJldHVybiB0aGUgcGF0Y2hlZCByZWdleCB3aGVuIGNyZWF0aW5nIHRoZSBuZXcgb25lLlxuICAgICAgcmUuY29uc3RydWN0b3IgPSB7fTtcbiAgICAgIHJlLmNvbnN0cnVjdG9yW1NQRUNJRVNdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcmU7IH07XG4gICAgfVxuICAgIHJlW1NZTUJPTF0oJycpO1xuICAgIHJldHVybiAhZXhlY0NhbGxlZDtcbiAgfSkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKFxuICAgICFERUxFR0FURVNfVE9fU1lNQk9MIHx8XG4gICAgIURFTEVHQVRFU19UT19FWEVDIHx8XG4gICAgKEtFWSA9PT0gJ3JlcGxhY2UnICYmICFSRVBMQUNFX1NVUFBPUlRTX05BTUVEX0dST1VQUykgfHxcbiAgICAoS0VZID09PSAnc3BsaXQnICYmICFTUExJVF9XT1JLU19XSVRIX09WRVJXUklUVEVOX0VYRUMpXG4gICkge1xuICAgIHZhciBuYXRpdmVSZWdFeHBNZXRob2QgPSAvLi9bU1lNQk9MXTtcbiAgICB2YXIgZm5zID0gZXhlYyhcbiAgICAgIGRlZmluZWQsXG4gICAgICBTWU1CT0wsXG4gICAgICAnJ1tLRVldLFxuICAgICAgZnVuY3Rpb24gbWF5YmVDYWxsTmF0aXZlKG5hdGl2ZU1ldGhvZCwgcmVnZXhwLCBzdHIsIGFyZzIsIGZvcmNlU3RyaW5nTWV0aG9kKSB7XG4gICAgICAgIGlmIChyZWdleHAuZXhlYyA9PT0gcmVnZXhwRXhlYykge1xuICAgICAgICAgIGlmIChERUxFR0FURVNfVE9fU1lNQk9MICYmICFmb3JjZVN0cmluZ01ldGhvZCkge1xuICAgICAgICAgICAgLy8gVGhlIG5hdGl2ZSBTdHJpbmcgbWV0aG9kIGFscmVhZHkgZGVsZWdhdGVzIHRvIEBAbWV0aG9kICh0aGlzXG4gICAgICAgICAgICAvLyBwb2x5ZmlsbGVkIGZ1bmN0aW9uKSwgbGVhc2luZyB0byBpbmZpbml0ZSByZWN1cnNpb24uXG4gICAgICAgICAgICAvLyBXZSBhdm9pZCBpdCBieSBkaXJlY3RseSBjYWxsaW5nIHRoZSBuYXRpdmUgQEBtZXRob2QgbWV0aG9kLlxuICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogdHJ1ZSwgdmFsdWU6IG5hdGl2ZVJlZ0V4cE1ldGhvZC5jYWxsKHJlZ2V4cCwgc3RyLCBhcmcyKSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlLCB2YWx1ZTogbmF0aXZlTWV0aG9kLmNhbGwoc3RyLCByZWdleHAsIGFyZzIpIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UgfTtcbiAgICAgIH1cbiAgICApO1xuICAgIHZhciBzdHJmbiA9IGZuc1swXTtcbiAgICB2YXIgcnhmbiA9IGZuc1sxXTtcblxuICAgIHJlZGVmaW5lKFN0cmluZy5wcm90b3R5cGUsIEtFWSwgc3RyZm4pO1xuICAgIGhpZGUoUmVnRXhwLnByb3RvdHlwZSwgU1lNQk9MLCBsZW5ndGggPT0gMlxuICAgICAgLy8gMjEuMi41LjggUmVnRXhwLnByb3RvdHlwZVtAQHJlcGxhY2VdKHN0cmluZywgcmVwbGFjZVZhbHVlKVxuICAgICAgLy8gMjEuMi41LjExIFJlZ0V4cC5wcm90b3R5cGVbQEBzcGxpdF0oc3RyaW5nLCBsaW1pdClcbiAgICAgID8gZnVuY3Rpb24gKHN0cmluZywgYXJnKSB7IHJldHVybiByeGZuLmNhbGwoc3RyaW5nLCB0aGlzLCBhcmcpOyB9XG4gICAgICAvLyAyMS4yLjUuNiBSZWdFeHAucHJvdG90eXBlW0BAbWF0Y2hdKHN0cmluZylcbiAgICAgIC8vIDIxLjIuNS45IFJlZ0V4cC5wcm90b3R5cGVbQEBzZWFyY2hdKHN0cmluZylcbiAgICAgIDogZnVuY3Rpb24gKHN0cmluZykgeyByZXR1cm4gcnhmbi5jYWxsKHN0cmluZywgdGhpcyk7IH1cbiAgICApO1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjEuMi41LjMgZ2V0IFJlZ0V4cC5wcm90b3R5cGUuZmxhZ3NcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciB0aGF0ID0gYW5PYmplY3QodGhpcyk7XG4gIHZhciByZXN1bHQgPSAnJztcbiAgaWYgKHRoYXQuZ2xvYmFsKSByZXN1bHQgKz0gJ2cnO1xuICBpZiAodGhhdC5pZ25vcmVDYXNlKSByZXN1bHQgKz0gJ2knO1xuICBpZiAodGhhdC5tdWx0aWxpbmUpIHJlc3VsdCArPSAnbSc7XG4gIGlmICh0aGF0LnVuaWNvZGUpIHJlc3VsdCArPSAndSc7XG4gIGlmICh0aGF0LnN0aWNreSkgcmVzdWx0ICs9ICd5JztcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG4iLCIndXNlIHN0cmljdCc7XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL3Byb3Bvc2FsLWZsYXRNYXAvI3NlYy1GbGF0dGVuSW50b0FycmF5XG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJy4vX2lzLWFycmF5Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGN0eCA9IHJlcXVpcmUoJy4vX2N0eCcpO1xudmFyIElTX0NPTkNBVF9TUFJFQURBQkxFID0gcmVxdWlyZSgnLi9fd2tzJykoJ2lzQ29uY2F0U3ByZWFkYWJsZScpO1xuXG5mdW5jdGlvbiBmbGF0dGVuSW50b0FycmF5KHRhcmdldCwgb3JpZ2luYWwsIHNvdXJjZSwgc291cmNlTGVuLCBzdGFydCwgZGVwdGgsIG1hcHBlciwgdGhpc0FyZykge1xuICB2YXIgdGFyZ2V0SW5kZXggPSBzdGFydDtcbiAgdmFyIHNvdXJjZUluZGV4ID0gMDtcbiAgdmFyIG1hcEZuID0gbWFwcGVyID8gY3R4KG1hcHBlciwgdGhpc0FyZywgMykgOiBmYWxzZTtcbiAgdmFyIGVsZW1lbnQsIHNwcmVhZGFibGU7XG5cbiAgd2hpbGUgKHNvdXJjZUluZGV4IDwgc291cmNlTGVuKSB7XG4gICAgaWYgKHNvdXJjZUluZGV4IGluIHNvdXJjZSkge1xuICAgICAgZWxlbWVudCA9IG1hcEZuID8gbWFwRm4oc291cmNlW3NvdXJjZUluZGV4XSwgc291cmNlSW5kZXgsIG9yaWdpbmFsKSA6IHNvdXJjZVtzb3VyY2VJbmRleF07XG5cbiAgICAgIHNwcmVhZGFibGUgPSBmYWxzZTtcbiAgICAgIGlmIChpc09iamVjdChlbGVtZW50KSkge1xuICAgICAgICBzcHJlYWRhYmxlID0gZWxlbWVudFtJU19DT05DQVRfU1BSRUFEQUJMRV07XG4gICAgICAgIHNwcmVhZGFibGUgPSBzcHJlYWRhYmxlICE9PSB1bmRlZmluZWQgPyAhIXNwcmVhZGFibGUgOiBpc0FycmF5KGVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3ByZWFkYWJsZSAmJiBkZXB0aCA+IDApIHtcbiAgICAgICAgdGFyZ2V0SW5kZXggPSBmbGF0dGVuSW50b0FycmF5KHRhcmdldCwgb3JpZ2luYWwsIGVsZW1lbnQsIHRvTGVuZ3RoKGVsZW1lbnQubGVuZ3RoKSwgdGFyZ2V0SW5kZXgsIGRlcHRoIC0gMSkgLSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRhcmdldEluZGV4ID49IDB4MWZmZmZmZmZmZmZmZmYpIHRocm93IFR5cGVFcnJvcigpO1xuICAgICAgICB0YXJnZXRbdGFyZ2V0SW5kZXhdID0gZWxlbWVudDtcbiAgICAgIH1cblxuICAgICAgdGFyZ2V0SW5kZXgrKztcbiAgICB9XG4gICAgc291cmNlSW5kZXgrKztcbiAgfVxuICByZXR1cm4gdGFyZ2V0SW5kZXg7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZmxhdHRlbkludG9BcnJheTtcbiIsInZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBjYWxsID0gcmVxdWlyZSgnLi9faXRlci1jYWxsJyk7XG52YXIgaXNBcnJheUl0ZXIgPSByZXF1aXJlKCcuL19pcy1hcnJheS1pdGVyJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGdldEl0ZXJGbiA9IHJlcXVpcmUoJy4vY29yZS5nZXQtaXRlcmF0b3ItbWV0aG9kJyk7XG52YXIgQlJFQUsgPSB7fTtcbnZhciBSRVRVUk4gPSB7fTtcbnZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmFibGUsIGVudHJpZXMsIGZuLCB0aGF0LCBJVEVSQVRPUikge1xuICB2YXIgaXRlckZuID0gSVRFUkFUT1IgPyBmdW5jdGlvbiAoKSB7IHJldHVybiBpdGVyYWJsZTsgfSA6IGdldEl0ZXJGbihpdGVyYWJsZSk7XG4gIHZhciBmID0gY3R4KGZuLCB0aGF0LCBlbnRyaWVzID8gMiA6IDEpO1xuICB2YXIgaW5kZXggPSAwO1xuICB2YXIgbGVuZ3RoLCBzdGVwLCBpdGVyYXRvciwgcmVzdWx0O1xuICBpZiAodHlwZW9mIGl0ZXJGbiAhPSAnZnVuY3Rpb24nKSB0aHJvdyBUeXBlRXJyb3IoaXRlcmFibGUgKyAnIGlzIG5vdCBpdGVyYWJsZSEnKTtcbiAgLy8gZmFzdCBjYXNlIGZvciBhcnJheXMgd2l0aCBkZWZhdWx0IGl0ZXJhdG9yXG4gIGlmIChpc0FycmF5SXRlcihpdGVyRm4pKSBmb3IgKGxlbmd0aCA9IHRvTGVuZ3RoKGl0ZXJhYmxlLmxlbmd0aCk7IGxlbmd0aCA+IGluZGV4OyBpbmRleCsrKSB7XG4gICAgcmVzdWx0ID0gZW50cmllcyA/IGYoYW5PYmplY3Qoc3RlcCA9IGl0ZXJhYmxlW2luZGV4XSlbMF0sIHN0ZXBbMV0pIDogZihpdGVyYWJsZVtpbmRleF0pO1xuICAgIGlmIChyZXN1bHQgPT09IEJSRUFLIHx8IHJlc3VsdCA9PT0gUkVUVVJOKSByZXR1cm4gcmVzdWx0O1xuICB9IGVsc2UgZm9yIChpdGVyYXRvciA9IGl0ZXJGbi5jYWxsKGl0ZXJhYmxlKTsgIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lOykge1xuICAgIHJlc3VsdCA9IGNhbGwoaXRlcmF0b3IsIGYsIHN0ZXAudmFsdWUsIGVudHJpZXMpO1xuICAgIGlmIChyZXN1bHQgPT09IEJSRUFLIHx8IHJlc3VsdCA9PT0gUkVUVVJOKSByZXR1cm4gcmVzdWx0O1xuICB9XG59O1xuZXhwb3J0cy5CUkVBSyA9IEJSRUFLO1xuZXhwb3J0cy5SRVRVUk4gPSBSRVRVUk47XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCduYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nJywgRnVuY3Rpb24udG9TdHJpbmcpO1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIiwidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiIsInZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xubW9kdWxlLmV4cG9ydHMgPSBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgc2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19zZXQtcHJvdG8nKS5zZXQ7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0aGF0LCB0YXJnZXQsIEMpIHtcbiAgdmFyIFMgPSB0YXJnZXQuY29uc3RydWN0b3I7XG4gIHZhciBQO1xuICBpZiAoUyAhPT0gQyAmJiB0eXBlb2YgUyA9PSAnZnVuY3Rpb24nICYmIChQID0gUy5wcm90b3R5cGUpICE9PSBDLnByb3RvdHlwZSAmJiBpc09iamVjdChQKSAmJiBzZXRQcm90b3R5cGVPZikge1xuICAgIHNldFByb3RvdHlwZU9mKHRoYXQsIFApO1xuICB9IHJldHVybiB0aGF0O1xufTtcbiIsIi8vIGZhc3QgYXBwbHksIGh0dHA6Ly9qc3BlcmYubG5raXQuY29tL2Zhc3QtYXBwbHkvNVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZm4sIGFyZ3MsIHRoYXQpIHtcbiAgdmFyIHVuID0gdGhhdCA9PT0gdW5kZWZpbmVkO1xuICBzd2l0Y2ggKGFyZ3MubGVuZ3RoKSB7XG4gICAgY2FzZSAwOiByZXR1cm4gdW4gPyBmbigpXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQpO1xuICAgIGNhc2UgMTogcmV0dXJuIHVuID8gZm4oYXJnc1swXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSk7XG4gICAgY2FzZSAyOiByZXR1cm4gdW4gPyBmbihhcmdzWzBdLCBhcmdzWzFdKVxuICAgICAgICAgICAgICAgICAgICAgIDogZm4uY2FsbCh0aGF0LCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICBjYXNlIDM6IHJldHVybiB1biA/IGZuKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pXG4gICAgICAgICAgICAgICAgICAgICAgOiBmbi5jYWxsKHRoYXQsIGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgIGNhc2UgNDogcmV0dXJuIHVuID8gZm4oYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSlcbiAgICAgICAgICAgICAgICAgICAgICA6IGZuLmNhbGwodGhhdCwgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7XG4gIH0gcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3MpO1xufTtcbiIsIi8vIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgYW5kIG5vbi1lbnVtZXJhYmxlIG9sZCBWOCBzdHJpbmdzXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdCgneicpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApID8gT2JqZWN0IDogZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBjb2YoaXQpID09ICdTdHJpbmcnID8gaXQuc3BsaXQoJycpIDogT2JqZWN0KGl0KTtcbn07XG4iLCIvLyBjaGVjayBvbiBkZWZhdWx0IEFycmF5IGl0ZXJhdG9yXG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBBcnJheVByb3RvID0gQXJyYXkucHJvdG90eXBlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgIT09IHVuZGVmaW5lZCAmJiAoSXRlcmF0b3JzLkFycmF5ID09PSBpdCB8fCBBcnJheVByb3RvW0lURVJBVE9SXSA9PT0gaXQpO1xufTtcbiIsIi8vIDcuMi4yIElzQXJyYXkoYXJndW1lbnQpXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG5tb2R1bGUuZXhwb3J0cyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gaXNBcnJheShhcmcpIHtcbiAgcmV0dXJuIGNvZihhcmcpID09ICdBcnJheSc7XG59O1xuIiwiLy8gMjAuMS4yLjMgTnVtYmVyLmlzSW50ZWdlcihudW1iZXIpXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzSW50ZWdlcihpdCkge1xuICByZXR1cm4gIWlzT2JqZWN0KGl0KSAmJiBpc0Zpbml0ZShpdCkgJiYgZmxvb3IoaXQpID09PSBpdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiIsIi8vIDcuMi44IElzUmVnRXhwKGFyZ3VtZW50KVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG52YXIgTUFUQ0ggPSByZXF1aXJlKCcuL193a3MnKSgnbWF0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHZhciBpc1JlZ0V4cDtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiAoKGlzUmVnRXhwID0gaXRbTUFUQ0hdKSAhPT0gdW5kZWZpbmVkID8gISFpc1JlZ0V4cCA6IGNvZihpdCkgPT0gJ1JlZ0V4cCcpO1xufTtcbiIsIi8vIGNhbGwgc29tZXRoaW5nIG9uIGl0ZXJhdG9yIHN0ZXAgd2l0aCBzYWZlIGNsb3Npbmcgb24gZXJyb3JcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmF0b3IsIGZuLCB2YWx1ZSwgZW50cmllcykge1xuICB0cnkge1xuICAgIHJldHVybiBlbnRyaWVzID8gZm4oYW5PYmplY3QodmFsdWUpWzBdLCB2YWx1ZVsxXSkgOiBmbih2YWx1ZSk7XG4gIC8vIDcuNC42IEl0ZXJhdG9yQ2xvc2UoaXRlcmF0b3IsIGNvbXBsZXRpb24pXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIgcmV0ID0gaXRlcmF0b3JbJ3JldHVybiddO1xuICAgIGlmIChyZXQgIT09IHVuZGVmaW5lZCkgYW5PYmplY3QocmV0LmNhbGwoaXRlcmF0b3IpKTtcbiAgICB0aHJvdyBlO1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciBkZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBJdGVyYXRvclByb3RvdHlwZSA9IHt9O1xuXG4vLyAyNS4xLjIuMS4xICVJdGVyYXRvclByb3RvdHlwZSVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faGlkZScpKEl0ZXJhdG9yUHJvdG90eXBlLCByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgTElCUkFSWSA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKTtcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG52YXIgJGl0ZXJDcmVhdGUgPSByZXF1aXJlKCcuL19pdGVyLWNyZWF0ZScpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbnZhciBJVEVSQVRPUiA9IHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpO1xudmFyIEJVR0dZID0gIShbXS5rZXlzICYmICduZXh0JyBpbiBbXS5rZXlzKCkpOyAvLyBTYWZhcmkgaGFzIGJ1Z2d5IGl0ZXJhdG9ycyB3L28gYG5leHRgXG52YXIgRkZfSVRFUkFUT1IgPSAnQEBpdGVyYXRvcic7XG52YXIgS0VZUyA9ICdrZXlzJztcbnZhciBWQUxVRVMgPSAndmFsdWVzJztcblxudmFyIHJldHVyblRoaXMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChCYXNlLCBOQU1FLCBDb25zdHJ1Y3RvciwgbmV4dCwgREVGQVVMVCwgSVNfU0VULCBGT1JDRUQpIHtcbiAgJGl0ZXJDcmVhdGUoQ29uc3RydWN0b3IsIE5BTUUsIG5leHQpO1xuICB2YXIgZ2V0TWV0aG9kID0gZnVuY3Rpb24gKGtpbmQpIHtcbiAgICBpZiAoIUJVR0dZICYmIGtpbmQgaW4gcHJvdG8pIHJldHVybiBwcm90b1traW5kXTtcbiAgICBzd2l0Y2ggKGtpbmQpIHtcbiAgICAgIGNhc2UgS0VZUzogcmV0dXJuIGZ1bmN0aW9uIGtleXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgICBjYXNlIFZBTFVFUzogcmV0dXJuIGZ1bmN0aW9uIHZhbHVlcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgICB9IHJldHVybiBmdW5jdGlvbiBlbnRyaWVzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICB9O1xuICB2YXIgVEFHID0gTkFNRSArICcgSXRlcmF0b3InO1xuICB2YXIgREVGX1ZBTFVFUyA9IERFRkFVTFQgPT0gVkFMVUVTO1xuICB2YXIgVkFMVUVTX0JVRyA9IGZhbHNlO1xuICB2YXIgcHJvdG8gPSBCYXNlLnByb3RvdHlwZTtcbiAgdmFyICRuYXRpdmUgPSBwcm90b1tJVEVSQVRPUl0gfHwgcHJvdG9bRkZfSVRFUkFUT1JdIHx8IERFRkFVTFQgJiYgcHJvdG9bREVGQVVMVF07XG4gIHZhciAkZGVmYXVsdCA9ICRuYXRpdmUgfHwgZ2V0TWV0aG9kKERFRkFVTFQpO1xuICB2YXIgJGVudHJpZXMgPSBERUZBVUxUID8gIURFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZCgnZW50cmllcycpIDogdW5kZWZpbmVkO1xuICB2YXIgJGFueU5hdGl2ZSA9IE5BTUUgPT0gJ0FycmF5JyA/IHByb3RvLmVudHJpZXMgfHwgJG5hdGl2ZSA6ICRuYXRpdmU7XG4gIHZhciBtZXRob2RzLCBrZXksIEl0ZXJhdG9yUHJvdG90eXBlO1xuICAvLyBGaXggbmF0aXZlXG4gIGlmICgkYW55TmF0aXZlKSB7XG4gICAgSXRlcmF0b3JQcm90b3R5cGUgPSBnZXRQcm90b3R5cGVPZigkYW55TmF0aXZlLmNhbGwobmV3IEJhc2UoKSkpO1xuICAgIGlmIChJdGVyYXRvclByb3RvdHlwZSAhPT0gT2JqZWN0LnByb3RvdHlwZSAmJiBJdGVyYXRvclByb3RvdHlwZS5uZXh0KSB7XG4gICAgICAvLyBTZXQgQEB0b1N0cmluZ1RhZyB0byBuYXRpdmUgaXRlcmF0b3JzXG4gICAgICBzZXRUb1N0cmluZ1RhZyhJdGVyYXRvclByb3RvdHlwZSwgVEFHLCB0cnVlKTtcbiAgICAgIC8vIGZpeCBmb3Igc29tZSBvbGQgZW5naW5lc1xuICAgICAgaWYgKCFMSUJSQVJZICYmIHR5cGVvZiBJdGVyYXRvclByb3RvdHlwZVtJVEVSQVRPUl0gIT0gJ2Z1bmN0aW9uJykgaGlkZShJdGVyYXRvclByb3RvdHlwZSwgSVRFUkFUT1IsIHJldHVyblRoaXMpO1xuICAgIH1cbiAgfVxuICAvLyBmaXggQXJyYXkje3ZhbHVlcywgQEBpdGVyYXRvcn0ubmFtZSBpbiBWOCAvIEZGXG4gIGlmIChERUZfVkFMVUVTICYmICRuYXRpdmUgJiYgJG5hdGl2ZS5uYW1lICE9PSBWQUxVRVMpIHtcbiAgICBWQUxVRVNfQlVHID0gdHJ1ZTtcbiAgICAkZGVmYXVsdCA9IGZ1bmN0aW9uIHZhbHVlcygpIHsgcmV0dXJuICRuYXRpdmUuY2FsbCh0aGlzKTsgfTtcbiAgfVxuICAvLyBEZWZpbmUgaXRlcmF0b3JcbiAgaWYgKCghTElCUkFSWSB8fCBGT1JDRUQpICYmIChCVUdHWSB8fCBWQUxVRVNfQlVHIHx8ICFwcm90b1tJVEVSQVRPUl0pKSB7XG4gICAgaGlkZShwcm90bywgSVRFUkFUT1IsICRkZWZhdWx0KTtcbiAgfVxuICAvLyBQbHVnIGZvciBsaWJyYXJ5XG4gIEl0ZXJhdG9yc1tOQU1FXSA9ICRkZWZhdWx0O1xuICBJdGVyYXRvcnNbVEFHXSA9IHJldHVyblRoaXM7XG4gIGlmIChERUZBVUxUKSB7XG4gICAgbWV0aG9kcyA9IHtcbiAgICAgIHZhbHVlczogREVGX1ZBTFVFUyA/ICRkZWZhdWx0IDogZ2V0TWV0aG9kKFZBTFVFUyksXG4gICAgICBrZXlzOiBJU19TRVQgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChLRVlTKSxcbiAgICAgIGVudHJpZXM6ICRlbnRyaWVzXG4gICAgfTtcbiAgICBpZiAoRk9SQ0VEKSBmb3IgKGtleSBpbiBtZXRob2RzKSB7XG4gICAgICBpZiAoIShrZXkgaW4gcHJvdG8pKSByZWRlZmluZShwcm90bywga2V5LCBtZXRob2RzW2tleV0pO1xuICAgIH0gZWxzZSAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChCVUdHWSB8fCBWQUxVRVNfQlVHKSwgTkFNRSwgbWV0aG9kcyk7XG4gIH1cbiAgcmV0dXJuIG1ldGhvZHM7XG59O1xuIiwidmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgU0FGRV9DTE9TSU5HID0gZmFsc2U7XG5cbnRyeSB7XG4gIHZhciByaXRlciA9IFs3XVtJVEVSQVRPUl0oKTtcbiAgcml0ZXJbJ3JldHVybiddID0gZnVuY3Rpb24gKCkgeyBTQUZFX0NMT1NJTkcgPSB0cnVlOyB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBBcnJheS5mcm9tKHJpdGVyLCBmdW5jdGlvbiAoKSB7IHRocm93IDI7IH0pO1xufSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMsIHNraXBDbG9zaW5nKSB7XG4gIGlmICghc2tpcENsb3NpbmcgJiYgIVNBRkVfQ0xPU0lORykgcmV0dXJuIGZhbHNlO1xuICB2YXIgc2FmZSA9IGZhbHNlO1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBbN107XG4gICAgdmFyIGl0ZXIgPSBhcnJbSVRFUkFUT1JdKCk7XG4gICAgaXRlci5uZXh0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4geyBkb25lOiBzYWZlID0gdHJ1ZSB9OyB9O1xuICAgIGFycltJVEVSQVRPUl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiBpdGVyOyB9O1xuICAgIGV4ZWMoYXJyKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiBzYWZlO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGRvbmUsIHZhbHVlKSB7XG4gIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogISFkb25lIH07XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSB7fTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZmFsc2U7XG4iLCIvLyAyMC4yLjIuMTQgTWF0aC5leHBtMSh4KVxudmFyICRleHBtMSA9IE1hdGguZXhwbTE7XG5tb2R1bGUuZXhwb3J0cyA9ICghJGV4cG0xXG4gIC8vIE9sZCBGRiBidWdcbiAgfHwgJGV4cG0xKDEwKSA+IDIyMDI1LjQ2NTc5NDgwNjcxOSB8fCAkZXhwbTEoMTApIDwgMjIwMjUuNDY1Nzk0ODA2NzE2NTE2OFxuICAvLyBUb3IgQnJvd3NlciBidWdcbiAgfHwgJGV4cG0xKC0yZS0xNykgIT0gLTJlLTE3XG4pID8gZnVuY3Rpb24gZXhwbTEoeCkge1xuICByZXR1cm4gKHggPSAreCkgPT0gMCA/IHggOiB4ID4gLTFlLTYgJiYgeCA8IDFlLTYgPyB4ICsgeCAqIHggLyAyIDogTWF0aC5leHAoeCkgLSAxO1xufSA6ICRleHBtMTtcbiIsIi8vIDIwLjIuMi4xNiBNYXRoLmZyb3VuZCh4KVxudmFyIHNpZ24gPSByZXF1aXJlKCcuL19tYXRoLXNpZ24nKTtcbnZhciBwb3cgPSBNYXRoLnBvdztcbnZhciBFUFNJTE9OID0gcG93KDIsIC01Mik7XG52YXIgRVBTSUxPTjMyID0gcG93KDIsIC0yMyk7XG52YXIgTUFYMzIgPSBwb3coMiwgMTI3KSAqICgyIC0gRVBTSUxPTjMyKTtcbnZhciBNSU4zMiA9IHBvdygyLCAtMTI2KTtcblxudmFyIHJvdW5kVGllc1RvRXZlbiA9IGZ1bmN0aW9uIChuKSB7XG4gIHJldHVybiBuICsgMSAvIEVQU0lMT04gLSAxIC8gRVBTSUxPTjtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gTWF0aC5mcm91bmQgfHwgZnVuY3Rpb24gZnJvdW5kKHgpIHtcbiAgdmFyICRhYnMgPSBNYXRoLmFicyh4KTtcbiAgdmFyICRzaWduID0gc2lnbih4KTtcbiAgdmFyIGEsIHJlc3VsdDtcbiAgaWYgKCRhYnMgPCBNSU4zMikgcmV0dXJuICRzaWduICogcm91bmRUaWVzVG9FdmVuKCRhYnMgLyBNSU4zMiAvIEVQU0lMT04zMikgKiBNSU4zMiAqIEVQU0lMT04zMjtcbiAgYSA9ICgxICsgRVBTSUxPTjMyIC8gRVBTSUxPTikgKiAkYWJzO1xuICByZXN1bHQgPSBhIC0gKGEgLSAkYWJzKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICBpZiAocmVzdWx0ID4gTUFYMzIgfHwgcmVzdWx0ICE9IHJlc3VsdCkgcmV0dXJuICRzaWduICogSW5maW5pdHk7XG4gIHJldHVybiAkc2lnbiAqIHJlc3VsdDtcbn07XG4iLCIvLyAyMC4yLjIuMjAgTWF0aC5sb2cxcCh4KVxubW9kdWxlLmV4cG9ydHMgPSBNYXRoLmxvZzFwIHx8IGZ1bmN0aW9uIGxvZzFwKHgpIHtcbiAgcmV0dXJuICh4ID0gK3gpID4gLTFlLTggJiYgeCA8IDFlLTggPyB4IC0geCAqIHggLyAyIDogTWF0aC5sb2coMSArIHgpO1xufTtcbiIsIi8vIDIwLjIuMi4yOCBNYXRoLnNpZ24oeClcbm1vZHVsZS5leHBvcnRzID0gTWF0aC5zaWduIHx8IGZ1bmN0aW9uIHNpZ24oeCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gIHJldHVybiAoeCA9ICt4KSA9PSAwIHx8IHggIT0geCA/IHggOiB4IDwgMCA/IC0xIDogMTtcbn07XG4iLCJ2YXIgTUVUQSA9IHJlcXVpcmUoJy4vX3VpZCcpKCdtZXRhJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBzZXREZXNjID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciBpZCA9IDA7XG52YXIgaXNFeHRlbnNpYmxlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSB8fCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0cnVlO1xufTtcbnZhciBGUkVFWkUgPSAhcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBpc0V4dGVuc2libGUoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KSk7XG59KTtcbnZhciBzZXRNZXRhID0gZnVuY3Rpb24gKGl0KSB7XG4gIHNldERlc2MoaXQsIE1FVEEsIHsgdmFsdWU6IHtcbiAgICBpOiAnTycgKyArK2lkLCAvLyBvYmplY3QgSURcbiAgICB3OiB7fSAgICAgICAgICAvLyB3ZWFrIGNvbGxlY3Rpb25zIElEc1xuICB9IH0pO1xufTtcbnZhciBmYXN0S2V5ID0gZnVuY3Rpb24gKGl0LCBjcmVhdGUpIHtcbiAgLy8gcmV0dXJuIHByaW1pdGl2ZSB3aXRoIHByZWZpeFxuICBpZiAoIWlzT2JqZWN0KGl0KSkgcmV0dXJuIHR5cGVvZiBpdCA9PSAnc3ltYm9sJyA/IGl0IDogKHR5cGVvZiBpdCA9PSAnc3RyaW5nJyA/ICdTJyA6ICdQJykgKyBpdDtcbiAgaWYgKCFoYXMoaXQsIE1FVEEpKSB7XG4gICAgLy8gY2FuJ3Qgc2V0IG1ldGFkYXRhIHRvIHVuY2F1Z2h0IGZyb3plbiBvYmplY3RcbiAgICBpZiAoIWlzRXh0ZW5zaWJsZShpdCkpIHJldHVybiAnRic7XG4gICAgLy8gbm90IG5lY2Vzc2FyeSB0byBhZGQgbWV0YWRhdGFcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuICdFJztcbiAgICAvLyBhZGQgbWlzc2luZyBtZXRhZGF0YVxuICAgIHNldE1ldGEoaXQpO1xuICAvLyByZXR1cm4gb2JqZWN0IElEXG4gIH0gcmV0dXJuIGl0W01FVEFdLmk7XG59O1xudmFyIGdldFdlYWsgPSBmdW5jdGlvbiAoaXQsIGNyZWF0ZSkge1xuICBpZiAoIWhhcyhpdCwgTUVUQSkpIHtcbiAgICAvLyBjYW4ndCBzZXQgbWV0YWRhdGEgdG8gdW5jYXVnaHQgZnJvemVuIG9iamVjdFxuICAgIGlmICghaXNFeHRlbnNpYmxlKGl0KSkgcmV0dXJuIHRydWU7XG4gICAgLy8gbm90IG5lY2Vzc2FyeSB0byBhZGQgbWV0YWRhdGFcbiAgICBpZiAoIWNyZWF0ZSkgcmV0dXJuIGZhbHNlO1xuICAgIC8vIGFkZCBtaXNzaW5nIG1ldGFkYXRhXG4gICAgc2V0TWV0YShpdCk7XG4gIC8vIHJldHVybiBoYXNoIHdlYWsgY29sbGVjdGlvbnMgSURzXG4gIH0gcmV0dXJuIGl0W01FVEFdLnc7XG59O1xuLy8gYWRkIG1ldGFkYXRhIG9uIGZyZWV6ZS1mYW1pbHkgbWV0aG9kcyBjYWxsaW5nXG52YXIgb25GcmVlemUgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKEZSRUVaRSAmJiBtZXRhLk5FRUQgJiYgaXNFeHRlbnNpYmxlKGl0KSAmJiAhaGFzKGl0LCBNRVRBKSkgc2V0TWV0YShpdCk7XG4gIHJldHVybiBpdDtcbn07XG52YXIgbWV0YSA9IG1vZHVsZS5leHBvcnRzID0ge1xuICBLRVk6IE1FVEEsXG4gIE5FRUQ6IGZhbHNlLFxuICBmYXN0S2V5OiBmYXN0S2V5LFxuICBnZXRXZWFrOiBnZXRXZWFrLFxuICBvbkZyZWV6ZTogb25GcmVlemVcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgbWFjcm90YXNrID0gcmVxdWlyZSgnLi9fdGFzaycpLnNldDtcbnZhciBPYnNlcnZlciA9IGdsb2JhbC5NdXRhdGlvbk9ic2VydmVyIHx8IGdsb2JhbC5XZWJLaXRNdXRhdGlvbk9ic2VydmVyO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciBQcm9taXNlID0gZ2xvYmFsLlByb21pc2U7XG52YXIgaXNOb2RlID0gcmVxdWlyZSgnLi9fY29mJykocHJvY2VzcykgPT0gJ3Byb2Nlc3MnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGhlYWQsIGxhc3QsIG5vdGlmeTtcblxuICB2YXIgZmx1c2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHBhcmVudCwgZm47XG4gICAgaWYgKGlzTm9kZSAmJiAocGFyZW50ID0gcHJvY2Vzcy5kb21haW4pKSBwYXJlbnQuZXhpdCgpO1xuICAgIHdoaWxlIChoZWFkKSB7XG4gICAgICBmbiA9IGhlYWQuZm47XG4gICAgICBoZWFkID0gaGVhZC5uZXh0O1xuICAgICAgdHJ5IHtcbiAgICAgICAgZm4oKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWYgKGhlYWQpIG5vdGlmeSgpO1xuICAgICAgICBlbHNlIGxhc3QgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfSBsYXN0ID0gdW5kZWZpbmVkO1xuICAgIGlmIChwYXJlbnQpIHBhcmVudC5lbnRlcigpO1xuICB9O1xuXG4gIC8vIE5vZGUuanNcbiAgaWYgKGlzTm9kZSkge1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soZmx1c2gpO1xuICAgIH07XG4gIC8vIGJyb3dzZXJzIHdpdGggTXV0YXRpb25PYnNlcnZlciwgZXhjZXB0IGlPUyBTYWZhcmkgLSBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvMzM5XG4gIH0gZWxzZSBpZiAoT2JzZXJ2ZXIgJiYgIShnbG9iYWwubmF2aWdhdG9yICYmIGdsb2JhbC5uYXZpZ2F0b3Iuc3RhbmRhbG9uZSkpIHtcbiAgICB2YXIgdG9nZ2xlID0gdHJ1ZTtcbiAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTtcbiAgICBuZXcgT2JzZXJ2ZXIoZmx1c2gpLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIG5vZGUuZGF0YSA9IHRvZ2dsZSA9ICF0b2dnbGU7XG4gICAgfTtcbiAgLy8gZW52aXJvbm1lbnRzIHdpdGggbWF5YmUgbm9uLWNvbXBsZXRlbHkgY29ycmVjdCwgYnV0IGV4aXN0ZW50IFByb21pc2VcbiAgfSBlbHNlIGlmIChQcm9taXNlICYmIFByb21pc2UucmVzb2x2ZSkge1xuICAgIC8vIFByb21pc2UucmVzb2x2ZSB3aXRob3V0IGFuIGFyZ3VtZW50IHRocm93cyBhbiBlcnJvciBpbiBMRyBXZWJPUyAyXG4gICAgdmFyIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9taXNlLnRoZW4oZmx1c2gpO1xuICAgIH07XG4gIC8vIGZvciBvdGhlciBlbnZpcm9ubWVudHMgLSBtYWNyb3Rhc2sgYmFzZWQgb246XG4gIC8vIC0gc2V0SW1tZWRpYXRlXG4gIC8vIC0gTWVzc2FnZUNoYW5uZWxcbiAgLy8gLSB3aW5kb3cucG9zdE1lc3NhZ1xuICAvLyAtIG9ucmVhZHlzdGF0ZWNoYW5nZVxuICAvLyAtIHNldFRpbWVvdXRcbiAgfSBlbHNlIHtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBzdHJhbmdlIElFICsgd2VicGFjayBkZXYgc2VydmVyIGJ1ZyAtIHVzZSAuY2FsbChnbG9iYWwpXG4gICAgICBtYWNyb3Rhc2suY2FsbChnbG9iYWwsIGZsdXNoKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChmbikge1xuICAgIHZhciB0YXNrID0geyBmbjogZm4sIG5leHQ6IHVuZGVmaW5lZCB9O1xuICAgIGlmIChsYXN0KSBsYXN0Lm5leHQgPSB0YXNrO1xuICAgIGlmICghaGVhZCkge1xuICAgICAgaGVhZCA9IHRhc2s7XG4gICAgICBub3RpZnkoKTtcbiAgICB9IGxhc3QgPSB0YXNrO1xuICB9O1xufTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIDI1LjQuMS41IE5ld1Byb21pc2VDYXBhYmlsaXR5KEMpXG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xuXG5mdW5jdGlvbiBQcm9taXNlQ2FwYWJpbGl0eShDKSB7XG4gIHZhciByZXNvbHZlLCByZWplY3Q7XG4gIHRoaXMucHJvbWlzZSA9IG5ldyBDKGZ1bmN0aW9uICgkJHJlc29sdmUsICQkcmVqZWN0KSB7XG4gICAgaWYgKHJlc29sdmUgIT09IHVuZGVmaW5lZCB8fCByZWplY3QgIT09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKCdCYWQgUHJvbWlzZSBjb25zdHJ1Y3RvcicpO1xuICAgIHJlc29sdmUgPSAkJHJlc29sdmU7XG4gICAgcmVqZWN0ID0gJCRyZWplY3Q7XG4gIH0pO1xuICB0aGlzLnJlc29sdmUgPSBhRnVuY3Rpb24ocmVzb2x2ZSk7XG4gIHRoaXMucmVqZWN0ID0gYUZ1bmN0aW9uKHJlamVjdCk7XG59XG5cbm1vZHVsZS5leHBvcnRzLmYgPSBmdW5jdGlvbiAoQykge1xuICByZXR1cm4gbmV3IFByb21pc2VDYXBhYmlsaXR5KEMpO1xufTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIDE5LjEuMi4xIE9iamVjdC5hc3NpZ24odGFyZ2V0LCBzb3VyY2UsIC4uLilcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgcElFID0gcmVxdWlyZSgnLi9fb2JqZWN0LXBpZScpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgSU9iamVjdCA9IHJlcXVpcmUoJy4vX2lvYmplY3QnKTtcbnZhciAkYXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICEkYXNzaWduIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICB2YXIgQSA9IHt9O1xuICB2YXIgQiA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIFMgPSBTeW1ib2woKTtcbiAgdmFyIEsgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3QnO1xuICBBW1NdID0gNztcbiAgSy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAoaykgeyBCW2tdID0gazsgfSk7XG4gIHJldHVybiAkYXNzaWduKHt9LCBBKVtTXSAhPSA3IHx8IE9iamVjdC5rZXlzKCRhc3NpZ24oe30sIEIpKS5qb2luKCcnKSAhPSBLO1xufSkgPyBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0LCBzb3VyY2UpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICB2YXIgVCA9IHRvT2JqZWN0KHRhcmdldCk7XG4gIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGluZGV4ID0gMTtcbiAgdmFyIGdldFN5bWJvbHMgPSBnT1BTLmY7XG4gIHZhciBpc0VudW0gPSBwSUUuZjtcbiAgd2hpbGUgKGFMZW4gPiBpbmRleCkge1xuICAgIHZhciBTID0gSU9iamVjdChhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHZhciBrZXlzID0gZ2V0U3ltYm9scyA/IGdldEtleXMoUykuY29uY2F0KGdldFN5bWJvbHMoUykpIDogZ2V0S2V5cyhTKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIGogPSAwO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGopIHtcbiAgICAgIGtleSA9IGtleXNbaisrXTtcbiAgICAgIGlmICghREVTQ1JJUFRPUlMgfHwgaXNFbnVtLmNhbGwoUywga2V5KSkgVFtrZXldID0gU1trZXldO1xuICAgIH1cbiAgfSByZXR1cm4gVDtcbn0gOiAkYXNzaWduO1xuIiwiLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBkUHMgPSByZXF1aXJlKCcuL19vYmplY3QtZHBzJyk7XG52YXIgZW51bUJ1Z0tleXMgPSByZXF1aXJlKCcuL19lbnVtLWJ1Zy1rZXlzJyk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG52YXIgRW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbi8vIENyZWF0ZSBvYmplY3Qgd2l0aCBmYWtlIGBudWxsYCBwcm90b3R5cGU6IHVzZSBpZnJhbWUgT2JqZWN0IHdpdGggY2xlYXJlZCBwcm90b3R5cGVcbnZhciBjcmVhdGVEaWN0ID0gZnVuY3Rpb24gKCkge1xuICAvLyBUaHJhc2gsIHdhc3RlIGFuZCBzb2RvbXk6IElFIEdDIGJ1Z1xuICB2YXIgaWZyYW1lID0gcmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdpZnJhbWUnKTtcbiAgdmFyIGkgPSBlbnVtQnVnS2V5cy5sZW5ndGg7XG4gIHZhciBsdCA9ICc8JztcbiAgdmFyIGd0ID0gJz4nO1xuICB2YXIgaWZyYW1lRG9jdW1lbnQ7XG4gIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICByZXF1aXJlKCcuL19odG1sJykuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lLnNyYyA9ICdqYXZhc2NyaXB0Oic7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2NyaXB0LXVybFxuICAvLyBjcmVhdGVEaWN0ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuT2JqZWN0O1xuICAvLyBodG1sLnJlbW92ZUNoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gIGlmcmFtZURvY3VtZW50Lm9wZW4oKTtcbiAgaWZyYW1lRG9jdW1lbnQud3JpdGUobHQgKyAnc2NyaXB0JyArIGd0ICsgJ2RvY3VtZW50LkY9T2JqZWN0JyArIGx0ICsgJy9zY3JpcHQnICsgZ3QpO1xuICBpZnJhbWVEb2N1bWVudC5jbG9zZSgpO1xuICBjcmVhdGVEaWN0ID0gaWZyYW1lRG9jdW1lbnQuRjtcbiAgd2hpbGUgKGktLSkgZGVsZXRlIGNyZWF0ZURpY3RbUFJPVE9UWVBFXVtlbnVtQnVnS2V5c1tpXV07XG4gIHJldHVybiBjcmVhdGVEaWN0KCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5jcmVhdGUgfHwgZnVuY3Rpb24gY3JlYXRlKE8sIFByb3BlcnRpZXMpIHtcbiAgdmFyIHJlc3VsdDtcbiAgaWYgKE8gIT09IG51bGwpIHtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gYW5PYmplY3QoTyk7XG4gICAgcmVzdWx0ID0gbmV3IEVtcHR5KCk7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IG51bGw7XG4gICAgLy8gYWRkIFwiX19wcm90b19fXCIgZm9yIE9iamVjdC5nZXRQcm90b3R5cGVPZiBwb2x5ZmlsbFxuICAgIHJlc3VsdFtJRV9QUk9UT10gPSBPO1xuICB9IGVsc2UgcmVzdWx0ID0gY3JlYXRlRGljdCgpO1xuICByZXR1cm4gUHJvcGVydGllcyA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogZFBzKHJlc3VsdCwgUHJvcGVydGllcyk7XG59O1xuIiwidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuL19pZTgtZG9tLWRlZmluZScpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG52YXIgZFAgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG5cbmV4cG9ydHMuZiA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkgOiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICBQID0gdG9QcmltaXRpdmUoUCwgdHJ1ZSk7XG4gIGFuT2JqZWN0KEF0dHJpYnV0ZXMpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGRQKE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICB2YXIga2V5cyA9IGdldEtleXMoUHJvcGVydGllcyk7XG4gIHZhciBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgdmFyIGkgPSAwO1xuICB2YXIgUDtcbiAgd2hpbGUgKGxlbmd0aCA+IGkpIGRQLmYoTywgUCA9IGtleXNbaSsrXSwgUHJvcGVydGllc1tQXSk7XG4gIHJldHVybiBPO1xufTtcbiIsInZhciBwSUUgPSByZXF1aXJlKCcuL19vYmplY3QtcGllJyk7XG52YXIgY3JlYXRlRGVzYyA9IHJlcXVpcmUoJy4vX3Byb3BlcnR5LWRlc2MnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgZ09QRCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbmV4cG9ydHMuZiA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBnT1BEIDogZnVuY3Rpb24gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE8sIFApIHtcbiAgTyA9IHRvSU9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBpZiAoSUU4X0RPTV9ERUZJTkUpIHRyeSB7XG4gICAgcmV0dXJuIGdPUEQoTywgUCk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoaGFzKE8sIFApKSByZXR1cm4gY3JlYXRlRGVzYyghcElFLmYuY2FsbChPLCBQKSwgT1tQXSk7XG59O1xuIiwiLy8gZmFsbGJhY2sgZm9yIElFMTEgYnVnZ3kgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgd2l0aCBpZnJhbWUgYW5kIHdpbmRvd1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xudmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbnZhciB3aW5kb3dOYW1lcyA9IHR5cGVvZiB3aW5kb3cgPT0gJ29iamVjdCcgJiYgd2luZG93ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzXG4gID8gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KSA6IFtdO1xuXG52YXIgZ2V0V2luZG93TmFtZXMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZ09QTihpdCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gd2luZG93TmFtZXMuc2xpY2UoKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMuZiA9IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoaXQpIHtcbiAgcmV0dXJuIHdpbmRvd05hbWVzICYmIHRvU3RyaW5nLmNhbGwoaXQpID09ICdbb2JqZWN0IFdpbmRvd10nID8gZ2V0V2luZG93TmFtZXMoaXQpIDogZ09QTih0b0lPYmplY3QoaXQpKTtcbn07XG4iLCIvLyAxOS4xLjIuNyAvIDE1LjIuMy40IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cy1pbnRlcm5hbCcpO1xudmFyIGhpZGRlbktleXMgPSByZXF1aXJlKCcuL19lbnVtLWJ1Zy1rZXlzJykuY29uY2F0KCdsZW5ndGgnLCAncHJvdG90eXBlJyk7XG5cbmV4cG9ydHMuZiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHx8IGZ1bmN0aW9uIGdldE93blByb3BlcnR5TmFtZXMoTykge1xuICByZXR1cm4gJGtleXMoTywgaGlkZGVuS2V5cyk7XG59O1xuIiwiZXhwb3J0cy5mID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbiIsIi8vIDE5LjEuMi45IC8gMTUuMi4zLjIgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcbnZhciBPYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIChPKSB7XG4gIE8gPSB0b09iamVjdChPKTtcbiAgaWYgKGhhcyhPLCBJRV9QUk9UTykpIHJldHVybiBPW0lFX1BST1RPXTtcbiAgaWYgKHR5cGVvZiBPLmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgTyBpbnN0YW5jZW9mIE8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gTy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gIH0gcmV0dXJuIE8gaW5zdGFuY2VvZiBPYmplY3QgPyBPYmplY3RQcm90byA6IG51bGw7XG59O1xuIiwidmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIHRvSU9iamVjdCA9IHJlcXVpcmUoJy4vX3RvLWlvYmplY3QnKTtcbnZhciBhcnJheUluZGV4T2YgPSByZXF1aXJlKCcuL19hcnJheS1pbmNsdWRlcycpKGZhbHNlKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBuYW1lcykge1xuICB2YXIgTyA9IHRvSU9iamVjdChvYmplY3QpO1xuICB2YXIgaSA9IDA7XG4gIHZhciByZXN1bHQgPSBbXTtcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gTykgaWYgKGtleSAhPSBJRV9QUk9UTykgaGFzKE8sIGtleSkgJiYgcmVzdWx0LnB1c2goa2V5KTtcbiAgLy8gRG9uJ3QgZW51bSBidWcgJiBoaWRkZW4ga2V5c1xuICB3aGlsZSAobmFtZXMubGVuZ3RoID4gaSkgaWYgKGhhcyhPLCBrZXkgPSBuYW1lc1tpKytdKSkge1xuICAgIH5hcnJheUluZGV4T2YocmVzdWx0LCBrZXkpIHx8IHJlc3VsdC5wdXNoKGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG4iLCIvLyAxOS4xLjIuMTQgLyAxNS4yLjMuMTQgT2JqZWN0LmtleXMoTylcbnZhciAka2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzLWludGVybmFsJyk7XG52YXIgZW51bUJ1Z0tleXMgPSByZXF1aXJlKCcuL19lbnVtLWJ1Zy1rZXlzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24ga2V5cyhPKSB7XG4gIHJldHVybiAka2V5cyhPLCBlbnVtQnVnS2V5cyk7XG59O1xuIiwiZXhwb3J0cy5mID0ge30ucHJvcGVydHlJc0VudW1lcmFibGU7XG4iLCIvLyBtb3N0IE9iamVjdCBtZXRob2RzIGJ5IEVTNiBzaG91bGQgYWNjZXB0IHByaW1pdGl2ZXNcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVksIGV4ZWMpIHtcbiAgdmFyIGZuID0gKGNvcmUuT2JqZWN0IHx8IHt9KVtLRVldIHx8IE9iamVjdFtLRVldO1xuICB2YXIgZXhwID0ge307XG4gIGV4cFtLRVldID0gZXhlYyhmbik7XG4gICRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogZmFpbHMoZnVuY3Rpb24gKCkgeyBmbigxKTsgfSksICdPYmplY3QnLCBleHApO1xufTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgZ2V0S2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIGlzRW51bSA9IHJlcXVpcmUoJy4vX29iamVjdC1waWUnKS5mO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXNFbnRyaWVzKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoaXQpIHtcbiAgICB2YXIgTyA9IHRvSU9iamVjdChpdCk7XG4gICAgdmFyIGtleXMgPSBnZXRLZXlzKE8pO1xuICAgIHZhciBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIHZhciBrZXk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGkpIHtcbiAgICAgIGtleSA9IGtleXNbaSsrXTtcbiAgICAgIGlmICghREVTQ1JJUFRPUlMgfHwgaXNFbnVtLmNhbGwoTywga2V5KSkge1xuICAgICAgICByZXN1bHQucHVzaChpc0VudHJpZXMgPyBba2V5LCBPW2tleV1dIDogT1trZXldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbn07XG4iLCIvLyBhbGwgb2JqZWN0IGtleXMsIGluY2x1ZGVzIG5vbi1lbnVtZXJhYmxlIGFuZCBzeW1ib2xzXG52YXIgZ09QTiA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BuJyk7XG52YXIgZ09QUyA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BzJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBSZWZsZWN0ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuUmVmbGVjdDtcbm1vZHVsZS5leHBvcnRzID0gUmVmbGVjdCAmJiBSZWZsZWN0Lm93bktleXMgfHwgZnVuY3Rpb24gb3duS2V5cyhpdCkge1xuICB2YXIga2V5cyA9IGdPUE4uZihhbk9iamVjdChpdCkpO1xuICB2YXIgZ2V0U3ltYm9scyA9IGdPUFMuZjtcbiAgcmV0dXJuIGdldFN5bWJvbHMgPyBrZXlzLmNvbmNhdChnZXRTeW1ib2xzKGl0KSkgOiBrZXlzO1xufTtcbiIsInZhciAkcGFyc2VGbG9hdCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLnBhcnNlRmxvYXQ7XG52YXIgJHRyaW0gPSByZXF1aXJlKCcuL19zdHJpbmctdHJpbScpLnRyaW07XG5cbm1vZHVsZS5leHBvcnRzID0gMSAvICRwYXJzZUZsb2F0KHJlcXVpcmUoJy4vX3N0cmluZy13cycpICsgJy0wJykgIT09IC1JbmZpbml0eSA/IGZ1bmN0aW9uIHBhcnNlRmxvYXQoc3RyKSB7XG4gIHZhciBzdHJpbmcgPSAkdHJpbShTdHJpbmcoc3RyKSwgMyk7XG4gIHZhciByZXN1bHQgPSAkcGFyc2VGbG9hdChzdHJpbmcpO1xuICByZXR1cm4gcmVzdWx0ID09PSAwICYmIHN0cmluZy5jaGFyQXQoMCkgPT0gJy0nID8gLTAgOiByZXN1bHQ7XG59IDogJHBhcnNlRmxvYXQ7XG4iLCJ2YXIgJHBhcnNlSW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykucGFyc2VJbnQ7XG52YXIgJHRyaW0gPSByZXF1aXJlKCcuL19zdHJpbmctdHJpbScpLnRyaW07XG52YXIgd3MgPSByZXF1aXJlKCcuL19zdHJpbmctd3MnKTtcbnZhciBoZXggPSAvXlstK10/MFt4WF0vO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICRwYXJzZUludCh3cyArICcwOCcpICE9PSA4IHx8ICRwYXJzZUludCh3cyArICcweDE2JykgIT09IDIyID8gZnVuY3Rpb24gcGFyc2VJbnQoc3RyLCByYWRpeCkge1xuICB2YXIgc3RyaW5nID0gJHRyaW0oU3RyaW5nKHN0ciksIDMpO1xuICByZXR1cm4gJHBhcnNlSW50KHN0cmluZywgKHJhZGl4ID4+PiAwKSB8fCAoaGV4LnRlc3Qoc3RyaW5nKSA/IDE2IDogMTApKTtcbn0gOiAkcGFyc2VJbnQ7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgZTogZmFsc2UsIHY6IGV4ZWMoKSB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHsgZTogdHJ1ZSwgdjogZSB9O1xuICB9XG59O1xuIiwidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBuZXdQcm9taXNlQ2FwYWJpbGl0eSA9IHJlcXVpcmUoJy4vX25ldy1wcm9taXNlLWNhcGFiaWxpdHknKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQywgeCkge1xuICBhbk9iamVjdChDKTtcbiAgaWYgKGlzT2JqZWN0KHgpICYmIHguY29uc3RydWN0b3IgPT09IEMpIHJldHVybiB4O1xuICB2YXIgcHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eS5mKEMpO1xuICB2YXIgcmVzb2x2ZSA9IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmU7XG4gIHJlc29sdmUoeCk7XG4gIHJldHVybiBwcm9taXNlQ2FwYWJpbGl0eS5wcm9taXNlO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGJpdG1hcCwgdmFsdWUpIHtcbiAgcmV0dXJuIHtcbiAgICBlbnVtZXJhYmxlOiAhKGJpdG1hcCAmIDEpLFxuICAgIGNvbmZpZ3VyYWJsZTogIShiaXRtYXAgJiAyKSxcbiAgICB3cml0YWJsZTogIShiaXRtYXAgJiA0KSxcbiAgICB2YWx1ZTogdmFsdWVcbiAgfTtcbn07XG4iLCJ2YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuL19yZWRlZmluZScpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGFyZ2V0LCBzcmMsIHNhZmUpIHtcbiAgZm9yICh2YXIga2V5IGluIHNyYykgcmVkZWZpbmUodGFyZ2V0LCBrZXksIHNyY1trZXldLCBzYWZlKTtcbiAgcmV0dXJuIHRhcmdldDtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBTUkMgPSByZXF1aXJlKCcuL191aWQnKSgnc3JjJyk7XG52YXIgJHRvU3RyaW5nID0gcmVxdWlyZSgnLi9fZnVuY3Rpb24tdG8tc3RyaW5nJyk7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciBUUEwgPSAoJycgKyAkdG9TdHJpbmcpLnNwbGl0KFRPX1NUUklORyk7XG5cbnJlcXVpcmUoJy4vX2NvcmUnKS5pbnNwZWN0U291cmNlID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiAkdG9TdHJpbmcuY2FsbChpdCk7XG59O1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTywga2V5LCB2YWwsIHNhZmUpIHtcbiAgdmFyIGlzRnVuY3Rpb24gPSB0eXBlb2YgdmFsID09ICdmdW5jdGlvbic7XG4gIGlmIChpc0Z1bmN0aW9uKSBoYXModmFsLCAnbmFtZScpIHx8IGhpZGUodmFsLCAnbmFtZScsIGtleSk7XG4gIGlmIChPW2tleV0gPT09IHZhbCkgcmV0dXJuO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgU1JDKSB8fCBoaWRlKHZhbCwgU1JDLCBPW2tleV0gPyAnJyArIE9ba2V5XSA6IFRQTC5qb2luKFN0cmluZyhrZXkpKSk7XG4gIGlmIChPID09PSBnbG9iYWwpIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSBpZiAoIXNhZmUpIHtcbiAgICBkZWxldGUgT1trZXldO1xuICAgIGhpZGUoTywga2V5LCB2YWwpO1xuICB9IGVsc2UgaWYgKE9ba2V5XSkge1xuICAgIE9ba2V5XSA9IHZhbDtcbiAgfSBlbHNlIHtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfVxuLy8gYWRkIGZha2UgRnVuY3Rpb24jdG9TdHJpbmcgZm9yIGNvcnJlY3Qgd29yayB3cmFwcGVkIG1ldGhvZHMgLyBjb25zdHJ1Y3RvcnMgd2l0aCBtZXRob2RzIGxpa2UgTG9EYXNoIGlzTmF0aXZlXG59KShGdW5jdGlvbi5wcm90b3R5cGUsIFRPX1NUUklORywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gIHJldHVybiB0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nICYmIHRoaXNbU1JDXSB8fCAkdG9TdHJpbmcuY2FsbCh0aGlzKTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciBidWlsdGluRXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYztcblxuIC8vIGBSZWdFeHBFeGVjYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXJlZ2V4cGV4ZWNcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFIsIFMpIHtcbiAgdmFyIGV4ZWMgPSBSLmV4ZWM7XG4gIGlmICh0eXBlb2YgZXhlYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZXN1bHQgPSBleGVjLmNhbGwoUiwgUyk7XG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGwnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBpZiAoY2xhc3NvZihSKSAhPT0gJ1JlZ0V4cCcpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyJyk7XG4gIH1cbiAgcmV0dXJuIGJ1aWx0aW5FeGVjLmNhbGwoUiwgUyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVnZXhwRmxhZ3MgPSByZXF1aXJlKCcuL19mbGFncycpO1xuXG52YXIgbmF0aXZlRXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYztcbi8vIFRoaXMgYWx3YXlzIHJlZmVycyB0byB0aGUgbmF0aXZlIGltcGxlbWVudGF0aW9uLCBiZWNhdXNlIHRoZVxuLy8gU3RyaW5nI3JlcGxhY2UgcG9seWZpbGwgdXNlcyAuL2ZpeC1yZWdleHAtd2VsbC1rbm93bi1zeW1ib2wtbG9naWMuanMsXG4vLyB3aGljaCBsb2FkcyB0aGlzIGZpbGUgYmVmb3JlIHBhdGNoaW5nIHRoZSBtZXRob2QuXG52YXIgbmF0aXZlUmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTtcblxudmFyIHBhdGNoZWRFeGVjID0gbmF0aXZlRXhlYztcblxudmFyIExBU1RfSU5ERVggPSAnbGFzdEluZGV4JztcblxudmFyIFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORyA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciByZTEgPSAvYS8sXG4gICAgICByZTIgPSAvYiovZztcbiAgbmF0aXZlRXhlYy5jYWxsKHJlMSwgJ2EnKTtcbiAgbmF0aXZlRXhlYy5jYWxsKHJlMiwgJ2EnKTtcbiAgcmV0dXJuIHJlMVtMQVNUX0lOREVYXSAhPT0gMCB8fCByZTJbTEFTVF9JTkRFWF0gIT09IDA7XG59KSgpO1xuXG4vLyBub25wYXJ0aWNpcGF0aW5nIGNhcHR1cmluZyBncm91cCwgY29waWVkIGZyb20gZXM1LXNoaW0ncyBTdHJpbmcjc3BsaXQgcGF0Y2guXG52YXIgTlBDR19JTkNMVURFRCA9IC8oKT8/Ly5leGVjKCcnKVsxXSAhPT0gdW5kZWZpbmVkO1xuXG52YXIgUEFUQ0ggPSBVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcgfHwgTlBDR19JTkNMVURFRDtcblxuaWYgKFBBVENIKSB7XG4gIHBhdGNoZWRFeGVjID0gZnVuY3Rpb24gZXhlYyhzdHIpIHtcbiAgICB2YXIgcmUgPSB0aGlzO1xuICAgIHZhciBsYXN0SW5kZXgsIHJlQ29weSwgbWF0Y2gsIGk7XG5cbiAgICBpZiAoTlBDR19JTkNMVURFRCkge1xuICAgICAgcmVDb3B5ID0gbmV3IFJlZ0V4cCgnXicgKyByZS5zb3VyY2UgKyAnJCg/IVxcXFxzKScsIHJlZ2V4cEZsYWdzLmNhbGwocmUpKTtcbiAgICB9XG4gICAgaWYgKFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORykgbGFzdEluZGV4ID0gcmVbTEFTVF9JTkRFWF07XG5cbiAgICBtYXRjaCA9IG5hdGl2ZUV4ZWMuY2FsbChyZSwgc3RyKTtcblxuICAgIGlmIChVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcgJiYgbWF0Y2gpIHtcbiAgICAgIHJlW0xBU1RfSU5ERVhdID0gcmUuZ2xvYmFsID8gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGggOiBsYXN0SW5kZXg7XG4gICAgfVxuICAgIGlmIChOUENHX0lOQ0xVREVEICYmIG1hdGNoICYmIG1hdGNoLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIEZpeCBicm93c2VycyB3aG9zZSBgZXhlY2AgbWV0aG9kcyBkb24ndCBjb25zaXN0ZW50bHkgcmV0dXJuIGB1bmRlZmluZWRgXG4gICAgICAvLyBmb3IgTlBDRywgbGlrZSBJRTguIE5PVEU6IFRoaXMgZG9lc24nIHdvcmsgZm9yIC8oLj8pPy9cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcbiAgICAgIG5hdGl2ZVJlcGxhY2UuY2FsbChtYXRjaFswXSwgcmVDb3B5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAoaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMjsgaSsrKSB7XG4gICAgICAgICAgaWYgKGFyZ3VtZW50c1tpXSA9PT0gdW5kZWZpbmVkKSBtYXRjaFtpXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHBhdGNoZWRFeGVjO1xuIiwiLy8gNy4yLjkgU2FtZVZhbHVlKHgsIHkpXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5pcyB8fCBmdW5jdGlvbiBpcyh4LCB5KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgcmV0dXJuIHggPT09IHkgPyB4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSA6IHggIT0geCAmJiB5ICE9IHk7XG59O1xuIiwiLy8gV29ya3Mgd2l0aCBfX3Byb3RvX18gb25seS4gT2xkIHY4IGNhbid0IHdvcmsgd2l0aCBudWxsIHByb3RvIG9iamVjdHMuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90byAqL1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBjaGVjayA9IGZ1bmN0aW9uIChPLCBwcm90bykge1xuICBhbk9iamVjdChPKTtcbiAgaWYgKCFpc09iamVjdChwcm90bykgJiYgcHJvdG8gIT09IG51bGwpIHRocm93IFR5cGVFcnJvcihwcm90byArIFwiOiBjYW4ndCBzZXQgYXMgcHJvdG90eXBlIVwiKTtcbn07XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgc2V0OiBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgKCdfX3Byb3RvX18nIGluIHt9ID8gLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIGZ1bmN0aW9uICh0ZXN0LCBidWdneSwgc2V0KSB7XG4gICAgICB0cnkge1xuICAgICAgICBzZXQgPSByZXF1aXJlKCcuL19jdHgnKShGdW5jdGlvbi5jYWxsLCByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpLmYoT2JqZWN0LnByb3RvdHlwZSwgJ19fcHJvdG9fXycpLnNldCwgMik7XG4gICAgICAgIHNldCh0ZXN0LCBbXSk7XG4gICAgICAgIGJ1Z2d5ID0gISh0ZXN0IGluc3RhbmNlb2YgQXJyYXkpO1xuICAgICAgfSBjYXRjaCAoZSkgeyBidWdneSA9IHRydWU7IH1cbiAgICAgIHJldHVybiBmdW5jdGlvbiBzZXRQcm90b3R5cGVPZihPLCBwcm90bykge1xuICAgICAgICBjaGVjayhPLCBwcm90byk7XG4gICAgICAgIGlmIChidWdneSkgTy5fX3Byb3RvX18gPSBwcm90bztcbiAgICAgICAgZWxzZSBzZXQoTywgcHJvdG8pO1xuICAgICAgICByZXR1cm4gTztcbiAgICAgIH07XG4gICAgfSh7fSwgZmFsc2UpIDogdW5kZWZpbmVkKSxcbiAgY2hlY2s6IGNoZWNrXG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpO1xudmFyIFNQRUNJRVMgPSByZXF1aXJlKCcuL193a3MnKSgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVkpIHtcbiAgdmFyIEMgPSBnbG9iYWxbS0VZXTtcbiAgaWYgKERFU0NSSVBUT1JTICYmIEMgJiYgIUNbU1BFQ0lFU10pIGRQLmYoQywgU1BFQ0lFUywge1xuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH1cbiAgfSk7XG59O1xuIiwidmFyIGRlZiA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCB0YWcsIHN0YXQpIHtcbiAgaWYgKGl0ICYmICFoYXMoaXQgPSBzdGF0ID8gaXQgOiBpdC5wcm90b3R5cGUsIFRBRykpIGRlZihpdCwgVEFHLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgdmFsdWU6IHRhZyB9KTtcbn07XG4iLCJ2YXIgc2hhcmVkID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ2tleXMnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4gc2hhcmVkW2tleV0gfHwgKHNoYXJlZFtrZXldID0gdWlkKGtleSkpO1xufTtcbiIsInZhciBjb3JlID0gcmVxdWlyZSgnLi9fY29yZScpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIFNIQVJFRCA9ICdfX2NvcmUtanNfc2hhcmVkX18nO1xudmFyIHN0b3JlID0gZ2xvYmFsW1NIQVJFRF0gfHwgKGdsb2JhbFtTSEFSRURdID0ge30pO1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICByZXR1cm4gc3RvcmVba2V5XSB8fCAoc3RvcmVba2V5XSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHt9KTtcbn0pKCd2ZXJzaW9ucycsIFtdKS5wdXNoKHtcbiAgdmVyc2lvbjogY29yZS52ZXJzaW9uLFxuICBtb2RlOiByZXF1aXJlKCcuL19saWJyYXJ5JykgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAyMCBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuIiwiLy8gNy4zLjIwIFNwZWNpZXNDb25zdHJ1Y3RvcihPLCBkZWZhdWx0Q29uc3RydWN0b3IpXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgU1BFQ0lFUyA9IHJlcXVpcmUoJy4vX3drcycpKCdzcGVjaWVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChPLCBEKSB7XG4gIHZhciBDID0gYW5PYmplY3QoTykuY29uc3RydWN0b3I7XG4gIHZhciBTO1xuICByZXR1cm4gQyA9PT0gdW5kZWZpbmVkIHx8IChTID0gYW5PYmplY3QoQylbU1BFQ0lFU10pID09IHVuZGVmaW5lZCA/IEQgOiBhRnVuY3Rpb24oUyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWV0aG9kLCBhcmcpIHtcbiAgcmV0dXJuICEhbWV0aG9kICYmIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1jYWxsXG4gICAgYXJnID8gbWV0aG9kLmNhbGwobnVsbCwgZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9LCAxKSA6IG1ldGhvZC5jYWxsKG51bGwpO1xuICB9KTtcbn07XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG4vLyB0cnVlICAtPiBTdHJpbmcjYXRcbi8vIGZhbHNlIC0+IFN0cmluZyNjb2RlUG9pbnRBdFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoVE9fU1RSSU5HKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodGhhdCwgcG9zKSB7XG4gICAgdmFyIHMgPSBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG4gICAgdmFyIGkgPSB0b0ludGVnZXIocG9zKTtcbiAgICB2YXIgbCA9IHMubGVuZ3RoO1xuICAgIHZhciBhLCBiO1xuICAgIGlmIChpIDwgMCB8fCBpID49IGwpIHJldHVybiBUT19TVFJJTkcgPyAnJyA6IHVuZGVmaW5lZDtcbiAgICBhID0gcy5jaGFyQ29kZUF0KGkpO1xuICAgIHJldHVybiBhIDwgMHhkODAwIHx8IGEgPiAweGRiZmYgfHwgaSArIDEgPT09IGwgfHwgKGIgPSBzLmNoYXJDb2RlQXQoaSArIDEpKSA8IDB4ZGMwMCB8fCBiID4gMHhkZmZmXG4gICAgICA/IFRPX1NUUklORyA/IHMuY2hhckF0KGkpIDogYVxuICAgICAgOiBUT19TVFJJTkcgPyBzLnNsaWNlKGksIGkgKyAyKSA6IChhIC0gMHhkODAwIDw8IDEwKSArIChiIC0gMHhkYzAwKSArIDB4MTAwMDA7XG4gIH07XG59O1xuIiwiLy8gaGVscGVyIGZvciBTdHJpbmcje3N0YXJ0c1dpdGgsIGVuZHNXaXRoLCBpbmNsdWRlc31cbnZhciBpc1JlZ0V4cCA9IHJlcXVpcmUoJy4vX2lzLXJlZ2V4cCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRoYXQsIHNlYXJjaFN0cmluZywgTkFNRSkge1xuICBpZiAoaXNSZWdFeHAoc2VhcmNoU3RyaW5nKSkgdGhyb3cgVHlwZUVycm9yKCdTdHJpbmcjJyArIE5BTUUgKyBcIiBkb2Vzbid0IGFjY2VwdCByZWdleCFcIik7XG4gIHJldHVybiBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG59O1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbnZhciBxdW90ID0gL1wiL2c7XG4vLyBCLjIuMy4yLjEgQ3JlYXRlSFRNTChzdHJpbmcsIHRhZywgYXR0cmlidXRlLCB2YWx1ZSlcbnZhciBjcmVhdGVIVE1MID0gZnVuY3Rpb24gKHN0cmluZywgdGFnLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG4gIHZhciBTID0gU3RyaW5nKGRlZmluZWQoc3RyaW5nKSk7XG4gIHZhciBwMSA9ICc8JyArIHRhZztcbiAgaWYgKGF0dHJpYnV0ZSAhPT0gJycpIHAxICs9ICcgJyArIGF0dHJpYnV0ZSArICc9XCInICsgU3RyaW5nKHZhbHVlKS5yZXBsYWNlKHF1b3QsICcmcXVvdDsnKSArICdcIic7XG4gIHJldHVybiBwMSArICc+JyArIFMgKyAnPC8nICsgdGFnICsgJz4nO1xufTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE5BTUUsIGV4ZWMpIHtcbiAgdmFyIE8gPSB7fTtcbiAgT1tOQU1FXSA9IGV4ZWMoY3JlYXRlSFRNTCk7XG4gICRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIHZhciB0ZXN0ID0gJydbTkFNRV0oJ1wiJyk7XG4gICAgcmV0dXJuIHRlc3QgIT09IHRlc3QudG9Mb3dlckNhc2UoKSB8fCB0ZXN0LnNwbGl0KCdcIicpLmxlbmd0aCA+IDM7XG4gIH0pLCAnU3RyaW5nJywgTyk7XG59O1xuIiwiLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtc3RyaW5nLXBhZC1zdGFydC1lbmRcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHJlcGVhdCA9IHJlcXVpcmUoJy4vX3N0cmluZy1yZXBlYXQnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0aGF0LCBtYXhMZW5ndGgsIGZpbGxTdHJpbmcsIGxlZnQpIHtcbiAgdmFyIFMgPSBTdHJpbmcoZGVmaW5lZCh0aGF0KSk7XG4gIHZhciBzdHJpbmdMZW5ndGggPSBTLmxlbmd0aDtcbiAgdmFyIGZpbGxTdHIgPSBmaWxsU3RyaW5nID09PSB1bmRlZmluZWQgPyAnICcgOiBTdHJpbmcoZmlsbFN0cmluZyk7XG4gIHZhciBpbnRNYXhMZW5ndGggPSB0b0xlbmd0aChtYXhMZW5ndGgpO1xuICBpZiAoaW50TWF4TGVuZ3RoIDw9IHN0cmluZ0xlbmd0aCB8fCBmaWxsU3RyID09ICcnKSByZXR1cm4gUztcbiAgdmFyIGZpbGxMZW4gPSBpbnRNYXhMZW5ndGggLSBzdHJpbmdMZW5ndGg7XG4gIHZhciBzdHJpbmdGaWxsZXIgPSByZXBlYXQuY2FsbChmaWxsU3RyLCBNYXRoLmNlaWwoZmlsbExlbiAvIGZpbGxTdHIubGVuZ3RoKSk7XG4gIGlmIChzdHJpbmdGaWxsZXIubGVuZ3RoID4gZmlsbExlbikgc3RyaW5nRmlsbGVyID0gc3RyaW5nRmlsbGVyLnNsaWNlKDAsIGZpbGxMZW4pO1xuICByZXR1cm4gbGVmdCA/IHN0cmluZ0ZpbGxlciArIFMgOiBTICsgc3RyaW5nRmlsbGVyO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByZXBlYXQoY291bnQpIHtcbiAgdmFyIHN0ciA9IFN0cmluZyhkZWZpbmVkKHRoaXMpKTtcbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgbiA9IHRvSW50ZWdlcihjb3VudCk7XG4gIGlmIChuIDwgMCB8fCBuID09IEluZmluaXR5KSB0aHJvdyBSYW5nZUVycm9yKFwiQ291bnQgY2FuJ3QgYmUgbmVnYXRpdmVcIik7XG4gIGZvciAoO24gPiAwOyAobiA+Pj49IDEpICYmIChzdHIgKz0gc3RyKSkgaWYgKG4gJiAxKSByZXMgKz0gc3RyO1xuICByZXR1cm4gcmVzO1xufTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgc3BhY2VzID0gcmVxdWlyZSgnLi9fc3RyaW5nLXdzJyk7XG52YXIgc3BhY2UgPSAnWycgKyBzcGFjZXMgKyAnXSc7XG52YXIgbm9uID0gJ1xcdTIwMGJcXHUwMDg1JztcbnZhciBsdHJpbSA9IFJlZ0V4cCgnXicgKyBzcGFjZSArIHNwYWNlICsgJyonKTtcbnZhciBydHJpbSA9IFJlZ0V4cChzcGFjZSArIHNwYWNlICsgJyokJyk7XG5cbnZhciBleHBvcnRlciA9IGZ1bmN0aW9uIChLRVksIGV4ZWMsIEFMSUFTKSB7XG4gIHZhciBleHAgPSB7fTtcbiAgdmFyIEZPUkNFID0gZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiAhIXNwYWNlc1tLRVldKCkgfHwgbm9uW0tFWV0oKSAhPSBub247XG4gIH0pO1xuICB2YXIgZm4gPSBleHBbS0VZXSA9IEZPUkNFID8gZXhlYyh0cmltKSA6IHNwYWNlc1tLRVldO1xuICBpZiAoQUxJQVMpIGV4cFtBTElBU10gPSBmbjtcbiAgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiBGT1JDRSwgJ1N0cmluZycsIGV4cCk7XG59O1xuXG4vLyAxIC0+IFN0cmluZyN0cmltTGVmdFxuLy8gMiAtPiBTdHJpbmcjdHJpbVJpZ2h0XG4vLyAzIC0+IFN0cmluZyN0cmltXG52YXIgdHJpbSA9IGV4cG9ydGVyLnRyaW0gPSBmdW5jdGlvbiAoc3RyaW5nLCBUWVBFKSB7XG4gIHN0cmluZyA9IFN0cmluZyhkZWZpbmVkKHN0cmluZykpO1xuICBpZiAoVFlQRSAmIDEpIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKGx0cmltLCAnJyk7XG4gIGlmIChUWVBFICYgMikgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UocnRyaW0sICcnKTtcbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0ZXI7XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICdcXHgwOVxceDBBXFx4MEJcXHgwQ1xceDBEXFx4MjBcXHhBMFxcdTE2ODBcXHUxODBFXFx1MjAwMFxcdTIwMDFcXHUyMDAyXFx1MjAwMycgK1xuICAnXFx1MjAwNFxcdTIwMDVcXHUyMDA2XFx1MjAwN1xcdTIwMDhcXHUyMDA5XFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMFxcdTIwMjhcXHUyMDI5XFx1RkVGRic7XG4iLCJ2YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgaW52b2tlID0gcmVxdWlyZSgnLi9faW52b2tlJyk7XG52YXIgaHRtbCA9IHJlcXVpcmUoJy4vX2h0bWwnKTtcbnZhciBjZWwgPSByZXF1aXJlKCcuL19kb20tY3JlYXRlJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyIHNldFRhc2sgPSBnbG9iYWwuc2V0SW1tZWRpYXRlO1xudmFyIGNsZWFyVGFzayA9IGdsb2JhbC5jbGVhckltbWVkaWF0ZTtcbnZhciBNZXNzYWdlQ2hhbm5lbCA9IGdsb2JhbC5NZXNzYWdlQ2hhbm5lbDtcbnZhciBEaXNwYXRjaCA9IGdsb2JhbC5EaXNwYXRjaDtcbnZhciBjb3VudGVyID0gMDtcbnZhciBxdWV1ZSA9IHt9O1xudmFyIE9OUkVBRFlTVEFURUNIQU5HRSA9ICdvbnJlYWR5c3RhdGVjaGFuZ2UnO1xudmFyIGRlZmVyLCBjaGFubmVsLCBwb3J0O1xudmFyIHJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGlkID0gK3RoaXM7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgaWYgKHF1ZXVlLmhhc093blByb3BlcnR5KGlkKSkge1xuICAgIHZhciBmbiA9IHF1ZXVlW2lkXTtcbiAgICBkZWxldGUgcXVldWVbaWRdO1xuICAgIGZuKCk7XG4gIH1cbn07XG52YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgcnVuLmNhbGwoZXZlbnQuZGF0YSk7XG59O1xuLy8gTm9kZS5qcyAwLjkrICYgSUUxMCsgaGFzIHNldEltbWVkaWF0ZSwgb3RoZXJ3aXNlOlxuaWYgKCFzZXRUYXNrIHx8ICFjbGVhclRhc2spIHtcbiAgc2V0VGFzayA9IGZ1bmN0aW9uIHNldEltbWVkaWF0ZShmbikge1xuICAgIHZhciBhcmdzID0gW107XG4gICAgdmFyIGkgPSAxO1xuICAgIHdoaWxlIChhcmd1bWVudHMubGVuZ3RoID4gaSkgYXJncy5wdXNoKGFyZ3VtZW50c1tpKytdKTtcbiAgICBxdWV1ZVsrK2NvdW50ZXJdID0gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gICAgICBpbnZva2UodHlwZW9mIGZuID09ICdmdW5jdGlvbicgPyBmbiA6IEZ1bmN0aW9uKGZuKSwgYXJncyk7XG4gICAgfTtcbiAgICBkZWZlcihjb3VudGVyKTtcbiAgICByZXR1cm4gY291bnRlcjtcbiAgfTtcbiAgY2xlYXJUYXNrID0gZnVuY3Rpb24gY2xlYXJJbW1lZGlhdGUoaWQpIHtcbiAgICBkZWxldGUgcXVldWVbaWRdO1xuICB9O1xuICAvLyBOb2RlLmpzIDAuOC1cbiAgaWYgKHJlcXVpcmUoJy4vX2NvZicpKHByb2Nlc3MpID09ICdwcm9jZXNzJykge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGN0eChydW4sIGlkLCAxKSk7XG4gICAgfTtcbiAgLy8gU3BoZXJlIChKUyBnYW1lIGVuZ2luZSkgRGlzcGF0Y2ggQVBJXG4gIH0gZWxzZSBpZiAoRGlzcGF0Y2ggJiYgRGlzcGF0Y2gubm93KSB7XG4gICAgZGVmZXIgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgIERpc3BhdGNoLm5vdyhjdHgocnVuLCBpZCwgMSkpO1xuICAgIH07XG4gIC8vIEJyb3dzZXJzIHdpdGggTWVzc2FnZUNoYW5uZWwsIGluY2x1ZGVzIFdlYldvcmtlcnNcbiAgfSBlbHNlIGlmIChNZXNzYWdlQ2hhbm5lbCkge1xuICAgIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICBwb3J0ID0gY2hhbm5lbC5wb3J0MjtcbiAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IGxpc3RlbmVyO1xuICAgIGRlZmVyID0gY3R4KHBvcnQucG9zdE1lc3NhZ2UsIHBvcnQsIDEpO1xuICAvLyBCcm93c2VycyB3aXRoIHBvc3RNZXNzYWdlLCBza2lwIFdlYldvcmtlcnNcbiAgLy8gSUU4IGhhcyBwb3N0TWVzc2FnZSwgYnV0IGl0J3Mgc3luYyAmIHR5cGVvZiBpdHMgcG9zdE1lc3NhZ2UgaXMgJ29iamVjdCdcbiAgfSBlbHNlIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lciAmJiB0eXBlb2YgcG9zdE1lc3NhZ2UgPT0gJ2Z1bmN0aW9uJyAmJiAhZ2xvYmFsLmltcG9ydFNjcmlwdHMpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKGlkICsgJycsICcqJyk7XG4gICAgfTtcbiAgICBnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIC8vIElFOC1cbiAgfSBlbHNlIGlmIChPTlJFQURZU1RBVEVDSEFOR0UgaW4gY2VsKCdzY3JpcHQnKSkge1xuICAgIGRlZmVyID0gZnVuY3Rpb24gKGlkKSB7XG4gICAgICBodG1sLmFwcGVuZENoaWxkKGNlbCgnc2NyaXB0JykpW09OUkVBRFlTVEFURUNIQU5HRV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGh0bWwucmVtb3ZlQ2hpbGQodGhpcyk7XG4gICAgICAgIHJ1bi5jYWxsKGlkKTtcbiAgICAgIH07XG4gICAgfTtcbiAgLy8gUmVzdCBvbGQgYnJvd3NlcnNcbiAgfSBlbHNlIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgc2V0VGltZW91dChjdHgocnVuLCBpZCwgMSksIDApO1xuICAgIH07XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0ge1xuICBzZXQ6IHNldFRhc2ssXG4gIGNsZWFyOiBjbGVhclRhc2tcbn07XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5kZXgsIGxlbmd0aCkge1xuICBpbmRleCA9IHRvSW50ZWdlcihpbmRleCk7XG4gIHJldHVybiBpbmRleCA8IDAgPyBtYXgoaW5kZXggKyBsZW5ndGgsIDApIDogbWluKGluZGV4LCBsZW5ndGgpO1xufTtcbiIsIi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRvaW5kZXhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpdCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMDtcbiAgdmFyIG51bWJlciA9IHRvSW50ZWdlcihpdCk7XG4gIHZhciBsZW5ndGggPSB0b0xlbmd0aChudW1iZXIpO1xuICBpZiAobnVtYmVyICE9PSBsZW5ndGgpIHRocm93IFJhbmdlRXJyb3IoJ1dyb25nIGxlbmd0aCEnKTtcbiAgcmV0dXJuIGxlbmd0aDtcbn07XG4iLCIvLyA3LjEuNCBUb0ludGVnZXJcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpc05hTihpdCA9ICtpdCkgPyAwIDogKGl0ID4gMCA/IGZsb29yIDogY2VpbCkoaXQpO1xufTtcbiIsIi8vIHRvIGluZGV4ZWQgb2JqZWN0LCB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIElPYmplY3QgPSByZXF1aXJlKCcuL19pb2JqZWN0Jyk7XG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBJT2JqZWN0KGRlZmluZWQoaXQpKTtcbn07XG4iLCIvLyA3LjEuMTUgVG9MZW5ndGhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiIsIi8vIDcuMS4xMyBUb09iamVjdChhcmd1bWVudClcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIE9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIiwiLy8gNy4xLjEgVG9QcmltaXRpdmUoaW5wdXQgWywgUHJlZmVycmVkVHlwZV0pXG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFMpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHJldHVybiBpdDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGl0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFTICYmIHR5cGVvZiAoZm4gPSBpdC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpdCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuaWYgKHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykpIHtcbiAgdmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG4gIHZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbiAgdmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbiAgdmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbiAgdmFyICR0eXBlZCA9IHJlcXVpcmUoJy4vX3R5cGVkJyk7XG4gIHZhciAkYnVmZmVyID0gcmVxdWlyZSgnLi9fdHlwZWQtYnVmZmVyJyk7XG4gIHZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbiAgdmFyIGFuSW5zdGFuY2UgPSByZXF1aXJlKCcuL19hbi1pbnN0YW5jZScpO1xuICB2YXIgcHJvcGVydHlEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xuICB2YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbiAgdmFyIHJlZGVmaW5lQWxsID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUtYWxsJyk7XG4gIHZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG4gIHZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xuICB2YXIgdG9JbmRleCA9IHJlcXVpcmUoJy4vX3RvLWluZGV4Jyk7XG4gIHZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xuICB2YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbiAgdmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xuICB2YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbiAgdmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4gIHZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xuICB2YXIgaXNBcnJheUl0ZXIgPSByZXF1aXJlKCcuL19pcy1hcnJheS1pdGVyJyk7XG4gIHZhciBjcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG4gIHZhciBnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbiAgdmFyIGdPUE4gPSByZXF1aXJlKCcuL19vYmplY3QtZ29wbicpLmY7XG4gIHZhciBnZXRJdGVyRm4gPSByZXF1aXJlKCcuL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZCcpO1xuICB2YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG4gIHZhciB3a3MgPSByZXF1aXJlKCcuL193a3MnKTtcbiAgdmFyIGNyZWF0ZUFycmF5TWV0aG9kID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpO1xuICB2YXIgY3JlYXRlQXJyYXlJbmNsdWRlcyA9IHJlcXVpcmUoJy4vX2FycmF5LWluY2x1ZGVzJyk7XG4gIHZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuL19zcGVjaWVzLWNvbnN0cnVjdG9yJyk7XG4gIHZhciBBcnJheUl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vZXM2LmFycmF5Lml0ZXJhdG9yJyk7XG4gIHZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbiAgdmFyICRpdGVyRGV0ZWN0ID0gcmVxdWlyZSgnLi9faXRlci1kZXRlY3QnKTtcbiAgdmFyIHNldFNwZWNpZXMgPSByZXF1aXJlKCcuL19zZXQtc3BlY2llcycpO1xuICB2YXIgYXJyYXlGaWxsID0gcmVxdWlyZSgnLi9fYXJyYXktZmlsbCcpO1xuICB2YXIgYXJyYXlDb3B5V2l0aGluID0gcmVxdWlyZSgnLi9fYXJyYXktY29weS13aXRoaW4nKTtcbiAgdmFyICREUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xuICB2YXIgJEdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpO1xuICB2YXIgZFAgPSAkRFAuZjtcbiAgdmFyIGdPUEQgPSAkR09QRC5mO1xuICB2YXIgUmFuZ2VFcnJvciA9IGdsb2JhbC5SYW5nZUVycm9yO1xuICB2YXIgVHlwZUVycm9yID0gZ2xvYmFsLlR5cGVFcnJvcjtcbiAgdmFyIFVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheTtcbiAgdmFyIEFSUkFZX0JVRkZFUiA9ICdBcnJheUJ1ZmZlcic7XG4gIHZhciBTSEFSRURfQlVGRkVSID0gJ1NoYXJlZCcgKyBBUlJBWV9CVUZGRVI7XG4gIHZhciBCWVRFU19QRVJfRUxFTUVOVCA9ICdCWVRFU19QRVJfRUxFTUVOVCc7XG4gIHZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcbiAgdmFyIEFycmF5UHJvdG8gPSBBcnJheVtQUk9UT1RZUEVdO1xuICB2YXIgJEFycmF5QnVmZmVyID0gJGJ1ZmZlci5BcnJheUJ1ZmZlcjtcbiAgdmFyICREYXRhVmlldyA9ICRidWZmZXIuRGF0YVZpZXc7XG4gIHZhciBhcnJheUZvckVhY2ggPSBjcmVhdGVBcnJheU1ldGhvZCgwKTtcbiAgdmFyIGFycmF5RmlsdGVyID0gY3JlYXRlQXJyYXlNZXRob2QoMik7XG4gIHZhciBhcnJheVNvbWUgPSBjcmVhdGVBcnJheU1ldGhvZCgzKTtcbiAgdmFyIGFycmF5RXZlcnkgPSBjcmVhdGVBcnJheU1ldGhvZCg0KTtcbiAgdmFyIGFycmF5RmluZCA9IGNyZWF0ZUFycmF5TWV0aG9kKDUpO1xuICB2YXIgYXJyYXlGaW5kSW5kZXggPSBjcmVhdGVBcnJheU1ldGhvZCg2KTtcbiAgdmFyIGFycmF5SW5jbHVkZXMgPSBjcmVhdGVBcnJheUluY2x1ZGVzKHRydWUpO1xuICB2YXIgYXJyYXlJbmRleE9mID0gY3JlYXRlQXJyYXlJbmNsdWRlcyhmYWxzZSk7XG4gIHZhciBhcnJheVZhbHVlcyA9IEFycmF5SXRlcmF0b3JzLnZhbHVlcztcbiAgdmFyIGFycmF5S2V5cyA9IEFycmF5SXRlcmF0b3JzLmtleXM7XG4gIHZhciBhcnJheUVudHJpZXMgPSBBcnJheUl0ZXJhdG9ycy5lbnRyaWVzO1xuICB2YXIgYXJyYXlMYXN0SW5kZXhPZiA9IEFycmF5UHJvdG8ubGFzdEluZGV4T2Y7XG4gIHZhciBhcnJheVJlZHVjZSA9IEFycmF5UHJvdG8ucmVkdWNlO1xuICB2YXIgYXJyYXlSZWR1Y2VSaWdodCA9IEFycmF5UHJvdG8ucmVkdWNlUmlnaHQ7XG4gIHZhciBhcnJheUpvaW4gPSBBcnJheVByb3RvLmpvaW47XG4gIHZhciBhcnJheVNvcnQgPSBBcnJheVByb3RvLnNvcnQ7XG4gIHZhciBhcnJheVNsaWNlID0gQXJyYXlQcm90by5zbGljZTtcbiAgdmFyIGFycmF5VG9TdHJpbmcgPSBBcnJheVByb3RvLnRvU3RyaW5nO1xuICB2YXIgYXJyYXlUb0xvY2FsZVN0cmluZyA9IEFycmF5UHJvdG8udG9Mb2NhbGVTdHJpbmc7XG4gIHZhciBJVEVSQVRPUiA9IHdrcygnaXRlcmF0b3InKTtcbiAgdmFyIFRBRyA9IHdrcygndG9TdHJpbmdUYWcnKTtcbiAgdmFyIFRZUEVEX0NPTlNUUlVDVE9SID0gdWlkKCd0eXBlZF9jb25zdHJ1Y3RvcicpO1xuICB2YXIgREVGX0NPTlNUUlVDVE9SID0gdWlkKCdkZWZfY29uc3RydWN0b3InKTtcbiAgdmFyIEFMTF9DT05TVFJVQ1RPUlMgPSAkdHlwZWQuQ09OU1RSO1xuICB2YXIgVFlQRURfQVJSQVkgPSAkdHlwZWQuVFlQRUQ7XG4gIHZhciBWSUVXID0gJHR5cGVkLlZJRVc7XG4gIHZhciBXUk9OR19MRU5HVEggPSAnV3JvbmcgbGVuZ3RoISc7XG5cbiAgdmFyICRtYXAgPSBjcmVhdGVBcnJheU1ldGhvZCgxLCBmdW5jdGlvbiAoTywgbGVuZ3RoKSB7XG4gICAgcmV0dXJuIGFsbG9jYXRlKHNwZWNpZXNDb25zdHJ1Y3RvcihPLCBPW0RFRl9DT05TVFJVQ1RPUl0pLCBsZW5ndGgpO1xuICB9KTtcblxuICB2YXIgTElUVExFX0VORElBTiA9IGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkobmV3IFVpbnQxNkFycmF5KFsxXSkuYnVmZmVyKVswXSA9PT0gMTtcbiAgfSk7XG5cbiAgdmFyIEZPUkNFRF9TRVQgPSAhIVVpbnQ4QXJyYXkgJiYgISFVaW50OEFycmF5W1BST1RPVFlQRV0uc2V0ICYmIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgVWludDhBcnJheSgxKS5zZXQoe30pO1xuICB9KTtcblxuICB2YXIgdG9PZmZzZXQgPSBmdW5jdGlvbiAoaXQsIEJZVEVTKSB7XG4gICAgdmFyIG9mZnNldCA9IHRvSW50ZWdlcihpdCk7XG4gICAgaWYgKG9mZnNldCA8IDAgfHwgb2Zmc2V0ICUgQllURVMpIHRocm93IFJhbmdlRXJyb3IoJ1dyb25nIG9mZnNldCEnKTtcbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9O1xuXG4gIHZhciB2YWxpZGF0ZSA9IGZ1bmN0aW9uIChpdCkge1xuICAgIGlmIChpc09iamVjdChpdCkgJiYgVFlQRURfQVJSQVkgaW4gaXQpIHJldHVybiBpdDtcbiAgICB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhIHR5cGVkIGFycmF5IScpO1xuICB9O1xuXG4gIHZhciBhbGxvY2F0ZSA9IGZ1bmN0aW9uIChDLCBsZW5ndGgpIHtcbiAgICBpZiAoIShpc09iamVjdChDKSAmJiBUWVBFRF9DT05TVFJVQ1RPUiBpbiBDKSkge1xuICAgICAgdGhyb3cgVHlwZUVycm9yKCdJdCBpcyBub3QgYSB0eXBlZCBhcnJheSBjb25zdHJ1Y3RvciEnKTtcbiAgICB9IHJldHVybiBuZXcgQyhsZW5ndGgpO1xuICB9O1xuXG4gIHZhciBzcGVjaWVzRnJvbUxpc3QgPSBmdW5jdGlvbiAoTywgbGlzdCkge1xuICAgIHJldHVybiBmcm9tTGlzdChzcGVjaWVzQ29uc3RydWN0b3IoTywgT1tERUZfQ09OU1RSVUNUT1JdKSwgbGlzdCk7XG4gIH07XG5cbiAgdmFyIGZyb21MaXN0ID0gZnVuY3Rpb24gKEMsIGxpc3QpIHtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBsZW5ndGggPSBsaXN0Lmxlbmd0aDtcbiAgICB2YXIgcmVzdWx0ID0gYWxsb2NhdGUoQywgbGVuZ3RoKTtcbiAgICB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHJlc3VsdFtpbmRleF0gPSBsaXN0W2luZGV4KytdO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgdmFyIGFkZEdldHRlciA9IGZ1bmN0aW9uIChpdCwga2V5LCBpbnRlcm5hbCkge1xuICAgIGRQKGl0LCBrZXksIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzLl9kW2ludGVybmFsXTsgfSB9KTtcbiAgfTtcblxuICB2YXIgJGZyb20gPSBmdW5jdGlvbiBmcm9tKHNvdXJjZSAvKiAsIG1hcGZuLCB0aGlzQXJnICovKSB7XG4gICAgdmFyIE8gPSB0b09iamVjdChzb3VyY2UpO1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgbWFwZm4gPSBhTGVuID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDtcbiAgICB2YXIgbWFwcGluZyA9IG1hcGZuICE9PSB1bmRlZmluZWQ7XG4gICAgdmFyIGl0ZXJGbiA9IGdldEl0ZXJGbihPKTtcbiAgICB2YXIgaSwgbGVuZ3RoLCB2YWx1ZXMsIHJlc3VsdCwgc3RlcCwgaXRlcmF0b3I7XG4gICAgaWYgKGl0ZXJGbiAhPSB1bmRlZmluZWQgJiYgIWlzQXJyYXlJdGVyKGl0ZXJGbikpIHtcbiAgICAgIGZvciAoaXRlcmF0b3IgPSBpdGVyRm4uY2FsbChPKSwgdmFsdWVzID0gW10sIGkgPSAwOyAhKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmU7IGkrKykge1xuICAgICAgICB2YWx1ZXMucHVzaChzdGVwLnZhbHVlKTtcbiAgICAgIH0gTyA9IHZhbHVlcztcbiAgICB9XG4gICAgaWYgKG1hcHBpbmcgJiYgYUxlbiA+IDIpIG1hcGZuID0gY3R4KG1hcGZuLCBhcmd1bWVudHNbMl0sIDIpO1xuICAgIGZvciAoaSA9IDAsIGxlbmd0aCA9IHRvTGVuZ3RoKE8ubGVuZ3RoKSwgcmVzdWx0ID0gYWxsb2NhdGUodGhpcywgbGVuZ3RoKTsgbGVuZ3RoID4gaTsgaSsrKSB7XG4gICAgICByZXN1bHRbaV0gPSBtYXBwaW5nID8gbWFwZm4oT1tpXSwgaSkgOiBPW2ldO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIHZhciAkb2YgPSBmdW5jdGlvbiBvZigvKiAuLi5pdGVtcyAqLykge1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIHJlc3VsdCA9IGFsbG9jYXRlKHRoaXMsIGxlbmd0aCk7XG4gICAgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSByZXN1bHRbaW5kZXhdID0gYXJndW1lbnRzW2luZGV4KytdO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgLy8gaU9TIFNhZmFyaSA2LnggZmFpbHMgaGVyZVxuICB2YXIgVE9fTE9DQUxFX0JVRyA9ICEhVWludDhBcnJheSAmJiBmYWlscyhmdW5jdGlvbiAoKSB7IGFycmF5VG9Mb2NhbGVTdHJpbmcuY2FsbChuZXcgVWludDhBcnJheSgxKSk7IH0pO1xuXG4gIHZhciAkdG9Mb2NhbGVTdHJpbmcgPSBmdW5jdGlvbiB0b0xvY2FsZVN0cmluZygpIHtcbiAgICByZXR1cm4gYXJyYXlUb0xvY2FsZVN0cmluZy5hcHBseShUT19MT0NBTEVfQlVHID8gYXJyYXlTbGljZS5jYWxsKHZhbGlkYXRlKHRoaXMpKSA6IHZhbGlkYXRlKHRoaXMpLCBhcmd1bWVudHMpO1xuICB9O1xuXG4gIHZhciBwcm90byA9IHtcbiAgICBjb3B5V2l0aGluOiBmdW5jdGlvbiBjb3B5V2l0aGluKHRhcmdldCwgc3RhcnQgLyogLCBlbmQgKi8pIHtcbiAgICAgIHJldHVybiBhcnJheUNvcHlXaXRoaW4uY2FsbCh2YWxpZGF0ZSh0aGlzKSwgdGFyZ2V0LCBzdGFydCwgYXJndW1lbnRzLmxlbmd0aCA+IDIgPyBhcmd1bWVudHNbMl0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgZXZlcnk6IGZ1bmN0aW9uIGV2ZXJ5KGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgICByZXR1cm4gYXJyYXlFdmVyeSh2YWxpZGF0ZSh0aGlzKSwgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgZmlsbDogZnVuY3Rpb24gZmlsbCh2YWx1ZSAvKiAsIHN0YXJ0LCBlbmQgKi8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgcmV0dXJuIGFycmF5RmlsbC5hcHBseSh2YWxpZGF0ZSh0aGlzKSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGZpbHRlcjogZnVuY3Rpb24gZmlsdGVyKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgICByZXR1cm4gc3BlY2llc0Zyb21MaXN0KHRoaXMsIGFycmF5RmlsdGVyKHZhbGlkYXRlKHRoaXMpLCBjYWxsYmFja2ZuLFxuICAgICAgICBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCkpO1xuICAgIH0sXG4gICAgZmluZDogZnVuY3Rpb24gZmluZChwcmVkaWNhdGUgLyogLCB0aGlzQXJnICovKSB7XG4gICAgICByZXR1cm4gYXJyYXlGaW5kKHZhbGlkYXRlKHRoaXMpLCBwcmVkaWNhdGUsIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIGZpbmRJbmRleDogZnVuY3Rpb24gZmluZEluZGV4KHByZWRpY2F0ZSAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICAgIHJldHVybiBhcnJheUZpbmRJbmRleCh2YWxpZGF0ZSh0aGlzKSwgcHJlZGljYXRlLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gICAgfSxcbiAgICBmb3JFYWNoOiBmdW5jdGlvbiBmb3JFYWNoKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgICBhcnJheUZvckVhY2godmFsaWRhdGUodGhpcyksIGNhbGxiYWNrZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIGluZGV4T2Y6IGZ1bmN0aW9uIGluZGV4T2Yoc2VhcmNoRWxlbWVudCAvKiAsIGZyb21JbmRleCAqLykge1xuICAgICAgcmV0dXJuIGFycmF5SW5kZXhPZih2YWxpZGF0ZSh0aGlzKSwgc2VhcmNoRWxlbWVudCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgaW5jbHVkZXM6IGZ1bmN0aW9uIGluY2x1ZGVzKHNlYXJjaEVsZW1lbnQgLyogLCBmcm9tSW5kZXggKi8pIHtcbiAgICAgIHJldHVybiBhcnJheUluY2x1ZGVzKHZhbGlkYXRlKHRoaXMpLCBzZWFyY2hFbGVtZW50LCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gICAgfSxcbiAgICBqb2luOiBmdW5jdGlvbiBqb2luKHNlcGFyYXRvcikgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICByZXR1cm4gYXJyYXlKb2luLmFwcGx5KHZhbGlkYXRlKHRoaXMpLCBhcmd1bWVudHMpO1xuICAgIH0sXG4gICAgbGFzdEluZGV4T2Y6IGZ1bmN0aW9uIGxhc3RJbmRleE9mKHNlYXJjaEVsZW1lbnQgLyogLCBmcm9tSW5kZXggKi8pIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgcmV0dXJuIGFycmF5TGFzdEluZGV4T2YuYXBwbHkodmFsaWRhdGUodGhpcyksIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICBtYXA6IGZ1bmN0aW9uIG1hcChtYXBmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICAgIHJldHVybiAkbWFwKHZhbGlkYXRlKHRoaXMpLCBtYXBmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgcmVkdWNlOiBmdW5jdGlvbiByZWR1Y2UoY2FsbGJhY2tmbiAvKiAsIGluaXRpYWxWYWx1ZSAqLykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICByZXR1cm4gYXJyYXlSZWR1Y2UuYXBwbHkodmFsaWRhdGUodGhpcyksIGFyZ3VtZW50cyk7XG4gICAgfSxcbiAgICByZWR1Y2VSaWdodDogZnVuY3Rpb24gcmVkdWNlUmlnaHQoY2FsbGJhY2tmbiAvKiAsIGluaXRpYWxWYWx1ZSAqLykgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICByZXR1cm4gYXJyYXlSZWR1Y2VSaWdodC5hcHBseSh2YWxpZGF0ZSh0aGlzKSwgYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIHJldmVyc2U6IGZ1bmN0aW9uIHJldmVyc2UoKSB7XG4gICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICB2YXIgbGVuZ3RoID0gdmFsaWRhdGUodGhhdCkubGVuZ3RoO1xuICAgICAgdmFyIG1pZGRsZSA9IE1hdGguZmxvb3IobGVuZ3RoIC8gMik7XG4gICAgICB2YXIgaW5kZXggPSAwO1xuICAgICAgdmFyIHZhbHVlO1xuICAgICAgd2hpbGUgKGluZGV4IDwgbWlkZGxlKSB7XG4gICAgICAgIHZhbHVlID0gdGhhdFtpbmRleF07XG4gICAgICAgIHRoYXRbaW5kZXgrK10gPSB0aGF0Wy0tbGVuZ3RoXTtcbiAgICAgICAgdGhhdFtsZW5ndGhdID0gdmFsdWU7XG4gICAgICB9IHJldHVybiB0aGF0O1xuICAgIH0sXG4gICAgc29tZTogZnVuY3Rpb24gc29tZShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgICAgcmV0dXJuIGFycmF5U29tZSh2YWxpZGF0ZSh0aGlzKSwgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICAgIH0sXG4gICAgc29ydDogZnVuY3Rpb24gc29ydChjb21wYXJlZm4pIHtcbiAgICAgIHJldHVybiBhcnJheVNvcnQuY2FsbCh2YWxpZGF0ZSh0aGlzKSwgY29tcGFyZWZuKTtcbiAgICB9LFxuICAgIHN1YmFycmF5OiBmdW5jdGlvbiBzdWJhcnJheShiZWdpbiwgZW5kKSB7XG4gICAgICB2YXIgTyA9IHZhbGlkYXRlKHRoaXMpO1xuICAgICAgdmFyIGxlbmd0aCA9IE8ubGVuZ3RoO1xuICAgICAgdmFyICRiZWdpbiA9IHRvQWJzb2x1dGVJbmRleChiZWdpbiwgbGVuZ3RoKTtcbiAgICAgIHJldHVybiBuZXcgKHNwZWNpZXNDb25zdHJ1Y3RvcihPLCBPW0RFRl9DT05TVFJVQ1RPUl0pKShcbiAgICAgICAgTy5idWZmZXIsXG4gICAgICAgIE8uYnl0ZU9mZnNldCArICRiZWdpbiAqIE8uQllURVNfUEVSX0VMRU1FTlQsXG4gICAgICAgIHRvTGVuZ3RoKChlbmQgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IHRvQWJzb2x1dGVJbmRleChlbmQsIGxlbmd0aCkpIC0gJGJlZ2luKVxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdmFyICRzbGljZSA9IGZ1bmN0aW9uIHNsaWNlKHN0YXJ0LCBlbmQpIHtcbiAgICByZXR1cm4gc3BlY2llc0Zyb21MaXN0KHRoaXMsIGFycmF5U2xpY2UuY2FsbCh2YWxpZGF0ZSh0aGlzKSwgc3RhcnQsIGVuZCkpO1xuICB9O1xuXG4gIHZhciAkc2V0ID0gZnVuY3Rpb24gc2V0KGFycmF5TGlrZSAvKiAsIG9mZnNldCAqLykge1xuICAgIHZhbGlkYXRlKHRoaXMpO1xuICAgIHZhciBvZmZzZXQgPSB0b09mZnNldChhcmd1bWVudHNbMV0sIDEpO1xuICAgIHZhciBsZW5ndGggPSB0aGlzLmxlbmd0aDtcbiAgICB2YXIgc3JjID0gdG9PYmplY3QoYXJyYXlMaWtlKTtcbiAgICB2YXIgbGVuID0gdG9MZW5ndGgoc3JjLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICBpZiAobGVuICsgb2Zmc2V0ID4gbGVuZ3RoKSB0aHJvdyBSYW5nZUVycm9yKFdST05HX0xFTkdUSCk7XG4gICAgd2hpbGUgKGluZGV4IDwgbGVuKSB0aGlzW29mZnNldCArIGluZGV4XSA9IHNyY1tpbmRleCsrXTtcbiAgfTtcblxuICB2YXIgJGl0ZXJhdG9ycyA9IHtcbiAgICBlbnRyaWVzOiBmdW5jdGlvbiBlbnRyaWVzKCkge1xuICAgICAgcmV0dXJuIGFycmF5RW50cmllcy5jYWxsKHZhbGlkYXRlKHRoaXMpKTtcbiAgICB9LFxuICAgIGtleXM6IGZ1bmN0aW9uIGtleXMoKSB7XG4gICAgICByZXR1cm4gYXJyYXlLZXlzLmNhbGwodmFsaWRhdGUodGhpcykpO1xuICAgIH0sXG4gICAgdmFsdWVzOiBmdW5jdGlvbiB2YWx1ZXMoKSB7XG4gICAgICByZXR1cm4gYXJyYXlWYWx1ZXMuY2FsbCh2YWxpZGF0ZSh0aGlzKSk7XG4gICAgfVxuICB9O1xuXG4gIHZhciBpc1RBSW5kZXggPSBmdW5jdGlvbiAodGFyZ2V0LCBrZXkpIHtcbiAgICByZXR1cm4gaXNPYmplY3QodGFyZ2V0KVxuICAgICAgJiYgdGFyZ2V0W1RZUEVEX0FSUkFZXVxuICAgICAgJiYgdHlwZW9mIGtleSAhPSAnc3ltYm9sJ1xuICAgICAgJiYga2V5IGluIHRhcmdldFxuICAgICAgJiYgU3RyaW5nKCtrZXkpID09IFN0cmluZyhrZXkpO1xuICB9O1xuICB2YXIgJGdldERlc2MgPSBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIHtcbiAgICByZXR1cm4gaXNUQUluZGV4KHRhcmdldCwga2V5ID0gdG9QcmltaXRpdmUoa2V5LCB0cnVlKSlcbiAgICAgID8gcHJvcGVydHlEZXNjKDIsIHRhcmdldFtrZXldKVxuICAgICAgOiBnT1BEKHRhcmdldCwga2V5KTtcbiAgfTtcbiAgdmFyICRzZXREZXNjID0gZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICBpZiAoaXNUQUluZGV4KHRhcmdldCwga2V5ID0gdG9QcmltaXRpdmUoa2V5LCB0cnVlKSlcbiAgICAgICYmIGlzT2JqZWN0KGRlc2MpXG4gICAgICAmJiBoYXMoZGVzYywgJ3ZhbHVlJylcbiAgICAgICYmICFoYXMoZGVzYywgJ2dldCcpXG4gICAgICAmJiAhaGFzKGRlc2MsICdzZXQnKVxuICAgICAgLy8gVE9ETzogYWRkIHZhbGlkYXRpb24gZGVzY3JpcHRvciB3L28gY2FsbGluZyBhY2Nlc3NvcnNcbiAgICAgICYmICFkZXNjLmNvbmZpZ3VyYWJsZVxuICAgICAgJiYgKCFoYXMoZGVzYywgJ3dyaXRhYmxlJykgfHwgZGVzYy53cml0YWJsZSlcbiAgICAgICYmICghaGFzKGRlc2MsICdlbnVtZXJhYmxlJykgfHwgZGVzYy5lbnVtZXJhYmxlKVxuICAgICkge1xuICAgICAgdGFyZ2V0W2tleV0gPSBkZXNjLnZhbHVlO1xuICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICB9IHJldHVybiBkUCh0YXJnZXQsIGtleSwgZGVzYyk7XG4gIH07XG5cbiAgaWYgKCFBTExfQ09OU1RSVUNUT1JTKSB7XG4gICAgJEdPUEQuZiA9ICRnZXREZXNjO1xuICAgICREUC5mID0gJHNldERlc2M7XG4gIH1cblxuICAkZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFBTExfQ09OU1RSVUNUT1JTLCAnT2JqZWN0Jywge1xuICAgIGdldE93blByb3BlcnR5RGVzY3JpcHRvcjogJGdldERlc2MsXG4gICAgZGVmaW5lUHJvcGVydHk6ICRzZXREZXNjXG4gIH0pO1xuXG4gIGlmIChmYWlscyhmdW5jdGlvbiAoKSB7IGFycmF5VG9TdHJpbmcuY2FsbCh7fSk7IH0pKSB7XG4gICAgYXJyYXlUb1N0cmluZyA9IGFycmF5VG9Mb2NhbGVTdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICAgIHJldHVybiBhcnJheUpvaW4uY2FsbCh0aGlzKTtcbiAgICB9O1xuICB9XG5cbiAgdmFyICRUeXBlZEFycmF5UHJvdG90eXBlJCA9IHJlZGVmaW5lQWxsKHt9LCBwcm90byk7XG4gIHJlZGVmaW5lQWxsKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgJGl0ZXJhdG9ycyk7XG4gIGhpZGUoJFR5cGVkQXJyYXlQcm90b3R5cGUkLCBJVEVSQVRPUiwgJGl0ZXJhdG9ycy52YWx1ZXMpO1xuICByZWRlZmluZUFsbCgkVHlwZWRBcnJheVByb3RvdHlwZSQsIHtcbiAgICBzbGljZTogJHNsaWNlLFxuICAgIHNldDogJHNldCxcbiAgICBjb25zdHJ1Y3RvcjogZnVuY3Rpb24gKCkgeyAvKiBub29wICovIH0sXG4gICAgdG9TdHJpbmc6IGFycmF5VG9TdHJpbmcsXG4gICAgdG9Mb2NhbGVTdHJpbmc6ICR0b0xvY2FsZVN0cmluZ1xuICB9KTtcbiAgYWRkR2V0dGVyKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgJ2J1ZmZlcicsICdiJyk7XG4gIGFkZEdldHRlcigkVHlwZWRBcnJheVByb3RvdHlwZSQsICdieXRlT2Zmc2V0JywgJ28nKTtcbiAgYWRkR2V0dGVyKCRUeXBlZEFycmF5UHJvdG90eXBlJCwgJ2J5dGVMZW5ndGgnLCAnbCcpO1xuICBhZGRHZXR0ZXIoJFR5cGVkQXJyYXlQcm90b3R5cGUkLCAnbGVuZ3RoJywgJ2UnKTtcbiAgZFAoJFR5cGVkQXJyYXlQcm90b3R5cGUkLCBUQUcsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXNbVFlQRURfQVJSQVldOyB9XG4gIH0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtc3RhdGVtZW50c1xuICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChLRVksIEJZVEVTLCB3cmFwcGVyLCBDTEFNUEVEKSB7XG4gICAgQ0xBTVBFRCA9ICEhQ0xBTVBFRDtcbiAgICB2YXIgTkFNRSA9IEtFWSArIChDTEFNUEVEID8gJ0NsYW1wZWQnIDogJycpICsgJ0FycmF5JztcbiAgICB2YXIgR0VUVEVSID0gJ2dldCcgKyBLRVk7XG4gICAgdmFyIFNFVFRFUiA9ICdzZXQnICsgS0VZO1xuICAgIHZhciBUeXBlZEFycmF5ID0gZ2xvYmFsW05BTUVdO1xuICAgIHZhciBCYXNlID0gVHlwZWRBcnJheSB8fCB7fTtcbiAgICB2YXIgVEFDID0gVHlwZWRBcnJheSAmJiBnZXRQcm90b3R5cGVPZihUeXBlZEFycmF5KTtcbiAgICB2YXIgRk9SQ0VEID0gIVR5cGVkQXJyYXkgfHwgISR0eXBlZC5BQlY7XG4gICAgdmFyIE8gPSB7fTtcbiAgICB2YXIgVHlwZWRBcnJheVByb3RvdHlwZSA9IFR5cGVkQXJyYXkgJiYgVHlwZWRBcnJheVtQUk9UT1RZUEVdO1xuICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAodGhhdCwgaW5kZXgpIHtcbiAgICAgIHZhciBkYXRhID0gdGhhdC5fZDtcbiAgICAgIHJldHVybiBkYXRhLnZbR0VUVEVSXShpbmRleCAqIEJZVEVTICsgZGF0YS5vLCBMSVRUTEVfRU5ESUFOKTtcbiAgICB9O1xuICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAodGhhdCwgaW5kZXgsIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoYXQuX2Q7XG4gICAgICBpZiAoQ0xBTVBFRCkgdmFsdWUgPSAodmFsdWUgPSBNYXRoLnJvdW5kKHZhbHVlKSkgPCAwID8gMCA6IHZhbHVlID4gMHhmZiA/IDB4ZmYgOiB2YWx1ZSAmIDB4ZmY7XG4gICAgICBkYXRhLnZbU0VUVEVSXShpbmRleCAqIEJZVEVTICsgZGF0YS5vLCB2YWx1ZSwgTElUVExFX0VORElBTik7XG4gICAgfTtcbiAgICB2YXIgYWRkRWxlbWVudCA9IGZ1bmN0aW9uICh0aGF0LCBpbmRleCkge1xuICAgICAgZFAodGhhdCwgaW5kZXgsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGdldHRlcih0aGlzLCBpbmRleCk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIHNldHRlcih0aGlzLCBpbmRleCwgdmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9O1xuICAgIGlmIChGT1JDRUQpIHtcbiAgICAgIFR5cGVkQXJyYXkgPSB3cmFwcGVyKGZ1bmN0aW9uICh0aGF0LCBkYXRhLCAkb2Zmc2V0LCAkbGVuZ3RoKSB7XG4gICAgICAgIGFuSW5zdGFuY2UodGhhdCwgVHlwZWRBcnJheSwgTkFNRSwgJ19kJyk7XG4gICAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICAgIHZhciBvZmZzZXQgPSAwO1xuICAgICAgICB2YXIgYnVmZmVyLCBieXRlTGVuZ3RoLCBsZW5ndGgsIGtsYXNzO1xuICAgICAgICBpZiAoIWlzT2JqZWN0KGRhdGEpKSB7XG4gICAgICAgICAgbGVuZ3RoID0gdG9JbmRleChkYXRhKTtcbiAgICAgICAgICBieXRlTGVuZ3RoID0gbGVuZ3RoICogQllURVM7XG4gICAgICAgICAgYnVmZmVyID0gbmV3ICRBcnJheUJ1ZmZlcihieXRlTGVuZ3RoKTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhIGluc3RhbmNlb2YgJEFycmF5QnVmZmVyIHx8IChrbGFzcyA9IGNsYXNzb2YoZGF0YSkpID09IEFSUkFZX0JVRkZFUiB8fCBrbGFzcyA9PSBTSEFSRURfQlVGRkVSKSB7XG4gICAgICAgICAgYnVmZmVyID0gZGF0YTtcbiAgICAgICAgICBvZmZzZXQgPSB0b09mZnNldCgkb2Zmc2V0LCBCWVRFUyk7XG4gICAgICAgICAgdmFyICRsZW4gPSBkYXRhLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgaWYgKCRsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKCRsZW4gJSBCWVRFUykgdGhyb3cgUmFuZ2VFcnJvcihXUk9OR19MRU5HVEgpO1xuICAgICAgICAgICAgYnl0ZUxlbmd0aCA9ICRsZW4gLSBvZmZzZXQ7XG4gICAgICAgICAgICBpZiAoYnl0ZUxlbmd0aCA8IDApIHRocm93IFJhbmdlRXJyb3IoV1JPTkdfTEVOR1RIKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnl0ZUxlbmd0aCA9IHRvTGVuZ3RoKCRsZW5ndGgpICogQllURVM7XG4gICAgICAgICAgICBpZiAoYnl0ZUxlbmd0aCArIG9mZnNldCA+ICRsZW4pIHRocm93IFJhbmdlRXJyb3IoV1JPTkdfTEVOR1RIKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGVuZ3RoID0gYnl0ZUxlbmd0aCAvIEJZVEVTO1xuICAgICAgICB9IGVsc2UgaWYgKFRZUEVEX0FSUkFZIGluIGRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gZnJvbUxpc3QoVHlwZWRBcnJheSwgZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuICRmcm9tLmNhbGwoVHlwZWRBcnJheSwgZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgaGlkZSh0aGF0LCAnX2QnLCB7XG4gICAgICAgICAgYjogYnVmZmVyLFxuICAgICAgICAgIG86IG9mZnNldCxcbiAgICAgICAgICBsOiBieXRlTGVuZ3RoLFxuICAgICAgICAgIGU6IGxlbmd0aCxcbiAgICAgICAgICB2OiBuZXcgJERhdGFWaWV3KGJ1ZmZlcilcbiAgICAgICAgfSk7XG4gICAgICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkgYWRkRWxlbWVudCh0aGF0LCBpbmRleCsrKTtcbiAgICAgIH0pO1xuICAgICAgVHlwZWRBcnJheVByb3RvdHlwZSA9IFR5cGVkQXJyYXlbUFJPVE9UWVBFXSA9IGNyZWF0ZSgkVHlwZWRBcnJheVByb3RvdHlwZSQpO1xuICAgICAgaGlkZShUeXBlZEFycmF5UHJvdG90eXBlLCAnY29uc3RydWN0b3InLCBUeXBlZEFycmF5KTtcbiAgICB9IGVsc2UgaWYgKCFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgICBUeXBlZEFycmF5KDEpO1xuICAgIH0pIHx8ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgICBuZXcgVHlwZWRBcnJheSgtMSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgfSkgfHwgISRpdGVyRGV0ZWN0KGZ1bmN0aW9uIChpdGVyKSB7XG4gICAgICBuZXcgVHlwZWRBcnJheSgpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgICAgbmV3IFR5cGVkQXJyYXkobnVsbCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgICBuZXcgVHlwZWRBcnJheSgxLjUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgICAgbmV3IFR5cGVkQXJyYXkoaXRlcik7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgfSwgdHJ1ZSkpIHtcbiAgICAgIFR5cGVkQXJyYXkgPSB3cmFwcGVyKGZ1bmN0aW9uICh0aGF0LCBkYXRhLCAkb2Zmc2V0LCAkbGVuZ3RoKSB7XG4gICAgICAgIGFuSW5zdGFuY2UodGhhdCwgVHlwZWRBcnJheSwgTkFNRSk7XG4gICAgICAgIHZhciBrbGFzcztcbiAgICAgICAgLy8gYHdzYCBtb2R1bGUgYnVnLCB0ZW1wb3JhcmlseSByZW1vdmUgdmFsaWRhdGlvbiBsZW5ndGggZm9yIFVpbnQ4QXJyYXlcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3dlYnNvY2tldHMvd3MvcHVsbC82NDVcbiAgICAgICAgaWYgKCFpc09iamVjdChkYXRhKSkgcmV0dXJuIG5ldyBCYXNlKHRvSW5kZXgoZGF0YSkpO1xuICAgICAgICBpZiAoZGF0YSBpbnN0YW5jZW9mICRBcnJheUJ1ZmZlciB8fCAoa2xhc3MgPSBjbGFzc29mKGRhdGEpKSA9PSBBUlJBWV9CVUZGRVIgfHwga2xhc3MgPT0gU0hBUkVEX0JVRkZFUikge1xuICAgICAgICAgIHJldHVybiAkbGVuZ3RoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gbmV3IEJhc2UoZGF0YSwgdG9PZmZzZXQoJG9mZnNldCwgQllURVMpLCAkbGVuZ3RoKVxuICAgICAgICAgICAgOiAkb2Zmc2V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgPyBuZXcgQmFzZShkYXRhLCB0b09mZnNldCgkb2Zmc2V0LCBCWVRFUykpXG4gICAgICAgICAgICAgIDogbmV3IEJhc2UoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFRZUEVEX0FSUkFZIGluIGRhdGEpIHJldHVybiBmcm9tTGlzdChUeXBlZEFycmF5LCBkYXRhKTtcbiAgICAgICAgcmV0dXJuICRmcm9tLmNhbGwoVHlwZWRBcnJheSwgZGF0YSk7XG4gICAgICB9KTtcbiAgICAgIGFycmF5Rm9yRWFjaChUQUMgIT09IEZ1bmN0aW9uLnByb3RvdHlwZSA/IGdPUE4oQmFzZSkuY29uY2F0KGdPUE4oVEFDKSkgOiBnT1BOKEJhc2UpLCBmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIGlmICghKGtleSBpbiBUeXBlZEFycmF5KSkgaGlkZShUeXBlZEFycmF5LCBrZXksIEJhc2Vba2V5XSk7XG4gICAgICB9KTtcbiAgICAgIFR5cGVkQXJyYXlbUFJPVE9UWVBFXSA9IFR5cGVkQXJyYXlQcm90b3R5cGU7XG4gICAgICBpZiAoIUxJQlJBUlkpIFR5cGVkQXJyYXlQcm90b3R5cGUuY29uc3RydWN0b3IgPSBUeXBlZEFycmF5O1xuICAgIH1cbiAgICB2YXIgJG5hdGl2ZUl0ZXJhdG9yID0gVHlwZWRBcnJheVByb3RvdHlwZVtJVEVSQVRPUl07XG4gICAgdmFyIENPUlJFQ1RfSVRFUl9OQU1FID0gISEkbmF0aXZlSXRlcmF0b3JcbiAgICAgICYmICgkbmF0aXZlSXRlcmF0b3IubmFtZSA9PSAndmFsdWVzJyB8fCAkbmF0aXZlSXRlcmF0b3IubmFtZSA9PSB1bmRlZmluZWQpO1xuICAgIHZhciAkaXRlcmF0b3IgPSAkaXRlcmF0b3JzLnZhbHVlcztcbiAgICBoaWRlKFR5cGVkQXJyYXksIFRZUEVEX0NPTlNUUlVDVE9SLCB0cnVlKTtcbiAgICBoaWRlKFR5cGVkQXJyYXlQcm90b3R5cGUsIFRZUEVEX0FSUkFZLCBOQU1FKTtcbiAgICBoaWRlKFR5cGVkQXJyYXlQcm90b3R5cGUsIFZJRVcsIHRydWUpO1xuICAgIGhpZGUoVHlwZWRBcnJheVByb3RvdHlwZSwgREVGX0NPTlNUUlVDVE9SLCBUeXBlZEFycmF5KTtcblxuICAgIGlmIChDTEFNUEVEID8gbmV3IFR5cGVkQXJyYXkoMSlbVEFHXSAhPSBOQU1FIDogIShUQUcgaW4gVHlwZWRBcnJheVByb3RvdHlwZSkpIHtcbiAgICAgIGRQKFR5cGVkQXJyYXlQcm90b3R5cGUsIFRBRywge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIE5BTUU7IH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIE9bTkFNRV0gPSBUeXBlZEFycmF5O1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LlcgKyAkZXhwb3J0LkYgKiAoVHlwZWRBcnJheSAhPSBCYXNlKSwgTyk7XG5cbiAgICAkZXhwb3J0KCRleHBvcnQuUywgTkFNRSwge1xuICAgICAgQllURVNfUEVSX0VMRU1FTlQ6IEJZVEVTXG4gICAgfSk7XG5cbiAgICAkZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIGZhaWxzKGZ1bmN0aW9uICgpIHsgQmFzZS5vZi5jYWxsKFR5cGVkQXJyYXksIDEpOyB9KSwgTkFNRSwge1xuICAgICAgZnJvbTogJGZyb20sXG4gICAgICBvZjogJG9mXG4gICAgfSk7XG5cbiAgICBpZiAoIShCWVRFU19QRVJfRUxFTUVOVCBpbiBUeXBlZEFycmF5UHJvdG90eXBlKSkgaGlkZShUeXBlZEFycmF5UHJvdG90eXBlLCBCWVRFU19QRVJfRUxFTUVOVCwgQllURVMpO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlAsIE5BTUUsIHByb3RvKTtcblxuICAgIHNldFNwZWNpZXMoTkFNRSk7XG5cbiAgICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIEZPUkNFRF9TRVQsIE5BTUUsIHsgc2V0OiAkc2V0IH0pO1xuXG4gICAgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhQ09SUkVDVF9JVEVSX05BTUUsIE5BTUUsICRpdGVyYXRvcnMpO1xuXG4gICAgaWYgKCFMSUJSQVJZICYmIFR5cGVkQXJyYXlQcm90b3R5cGUudG9TdHJpbmcgIT0gYXJyYXlUb1N0cmluZykgVHlwZWRBcnJheVByb3RvdHlwZS50b1N0cmluZyA9IGFycmF5VG9TdHJpbmc7XG5cbiAgICAkZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAgIG5ldyBUeXBlZEFycmF5KDEpLnNsaWNlKCk7XG4gICAgfSksIE5BTUUsIHsgc2xpY2U6ICRzbGljZSB9KTtcblxuICAgICRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogKGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBbMSwgMl0udG9Mb2NhbGVTdHJpbmcoKSAhPSBuZXcgVHlwZWRBcnJheShbMSwgMl0pLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfSkgfHwgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAgIFR5cGVkQXJyYXlQcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbChbMSwgMl0pO1xuICAgIH0pKSwgTkFNRSwgeyB0b0xvY2FsZVN0cmluZzogJHRvTG9jYWxlU3RyaW5nIH0pO1xuXG4gICAgSXRlcmF0b3JzW05BTUVdID0gQ09SUkVDVF9JVEVSX05BTUUgPyAkbmF0aXZlSXRlcmF0b3IgOiAkaXRlcmF0b3I7XG4gICAgaWYgKCFMSUJSQVJZICYmICFDT1JSRUNUX0lURVJfTkFNRSkgaGlkZShUeXBlZEFycmF5UHJvdG90eXBlLCBJVEVSQVRPUiwgJGl0ZXJhdG9yKTtcbiAgfTtcbn0gZWxzZSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJyk7XG52YXIgTElCUkFSWSA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKTtcbnZhciAkdHlwZWQgPSByZXF1aXJlKCcuL190eXBlZCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgcmVkZWZpbmVBbGwgPSByZXF1aXJlKCcuL19yZWRlZmluZS1hbGwnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgYW5JbnN0YW5jZSA9IHJlcXVpcmUoJy4vX2FuLWluc3RhbmNlJyk7XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgdG9JbmRleCA9IHJlcXVpcmUoJy4vX3RvLWluZGV4Jyk7XG52YXIgZ09QTiA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BuJykuZjtcbnZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgYXJyYXlGaWxsID0gcmVxdWlyZSgnLi9fYXJyYXktZmlsbCcpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBBUlJBWV9CVUZGRVIgPSAnQXJyYXlCdWZmZXInO1xudmFyIERBVEFfVklFVyA9ICdEYXRhVmlldyc7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG52YXIgV1JPTkdfTEVOR1RIID0gJ1dyb25nIGxlbmd0aCEnO1xudmFyIFdST05HX0lOREVYID0gJ1dyb25nIGluZGV4ISc7XG52YXIgJEFycmF5QnVmZmVyID0gZ2xvYmFsW0FSUkFZX0JVRkZFUl07XG52YXIgJERhdGFWaWV3ID0gZ2xvYmFsW0RBVEFfVklFV107XG52YXIgTWF0aCA9IGdsb2JhbC5NYXRoO1xudmFyIFJhbmdlRXJyb3IgPSBnbG9iYWwuUmFuZ2VFcnJvcjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3ctcmVzdHJpY3RlZC1uYW1lc1xudmFyIEluZmluaXR5ID0gZ2xvYmFsLkluZmluaXR5O1xudmFyIEJhc2VCdWZmZXIgPSAkQXJyYXlCdWZmZXI7XG52YXIgYWJzID0gTWF0aC5hYnM7XG52YXIgcG93ID0gTWF0aC5wb3c7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xudmFyIGxvZyA9IE1hdGgubG9nO1xudmFyIExOMiA9IE1hdGguTE4yO1xudmFyIEJVRkZFUiA9ICdidWZmZXInO1xudmFyIEJZVEVfTEVOR1RIID0gJ2J5dGVMZW5ndGgnO1xudmFyIEJZVEVfT0ZGU0VUID0gJ2J5dGVPZmZzZXQnO1xudmFyICRCVUZGRVIgPSBERVNDUklQVE9SUyA/ICdfYicgOiBCVUZGRVI7XG52YXIgJExFTkdUSCA9IERFU0NSSVBUT1JTID8gJ19sJyA6IEJZVEVfTEVOR1RIO1xudmFyICRPRkZTRVQgPSBERVNDUklQVE9SUyA/ICdfbycgOiBCWVRFX09GRlNFVDtcblxuLy8gSUVFRTc1NCBjb252ZXJzaW9ucyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vZmVyb3NzL2llZWU3NTRcbmZ1bmN0aW9uIHBhY2tJRUVFNzU0KHZhbHVlLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShuQnl0ZXMpO1xuICB2YXIgZUxlbiA9IG5CeXRlcyAqIDggLSBtTGVuIC0gMTtcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDE7XG4gIHZhciBlQmlhcyA9IGVNYXggPj4gMTtcbiAgdmFyIHJ0ID0gbUxlbiA9PT0gMjMgPyBwb3coMiwgLTI0KSAtIHBvdygyLCAtNzcpIDogMDtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcyA9IHZhbHVlIDwgMCB8fCB2YWx1ZSA9PT0gMCAmJiAxIC8gdmFsdWUgPCAwID8gMSA6IDA7XG4gIHZhciBlLCBtLCBjO1xuICB2YWx1ZSA9IGFicyh2YWx1ZSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgaWYgKHZhbHVlICE9IHZhbHVlIHx8IHZhbHVlID09PSBJbmZpbml0eSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBtID0gdmFsdWUgIT0gdmFsdWUgPyAxIDogMDtcbiAgICBlID0gZU1heDtcbiAgfSBlbHNlIHtcbiAgICBlID0gZmxvb3IobG9nKHZhbHVlKSAvIExOMik7XG4gICAgaWYgKHZhbHVlICogKGMgPSBwb3coMiwgLWUpKSA8IDEpIHtcbiAgICAgIGUtLTtcbiAgICAgIGMgKj0gMjtcbiAgICB9XG4gICAgaWYgKGUgKyBlQmlhcyA+PSAxKSB7XG4gICAgICB2YWx1ZSArPSBydCAvIGM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlICs9IHJ0ICogcG93KDIsIDEgLSBlQmlhcyk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSAqIGMgPj0gMikge1xuICAgICAgZSsrO1xuICAgICAgYyAvPSAyO1xuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IGVNYXgpIHtcbiAgICAgIG0gPSAwO1xuICAgICAgZSA9IGVNYXg7XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICh2YWx1ZSAqIGMgLSAxKSAqIHBvdygyLCBtTGVuKTtcbiAgICAgIGUgPSBlICsgZUJpYXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIG0gPSB2YWx1ZSAqIHBvdygyLCBlQmlhcyAtIDEpICogcG93KDIsIG1MZW4pO1xuICAgICAgZSA9IDA7XG4gICAgfVxuICB9XG4gIGZvciAoOyBtTGVuID49IDg7IGJ1ZmZlcltpKytdID0gbSAmIDI1NSwgbSAvPSAyNTYsIG1MZW4gLT0gOCk7XG4gIGUgPSBlIDw8IG1MZW4gfCBtO1xuICBlTGVuICs9IG1MZW47XG4gIGZvciAoOyBlTGVuID4gMDsgYnVmZmVyW2krK10gPSBlICYgMjU1LCBlIC89IDI1NiwgZUxlbiAtPSA4KTtcbiAgYnVmZmVyWy0taV0gfD0gcyAqIDEyODtcbiAgcmV0dXJuIGJ1ZmZlcjtcbn1cbmZ1bmN0aW9uIHVucGFja0lFRUU3NTQoYnVmZmVyLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGVMZW4gPSBuQnl0ZXMgKiA4IC0gbUxlbiAtIDE7XG4gIHZhciBlTWF4ID0gKDEgPDwgZUxlbikgLSAxO1xuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDE7XG4gIHZhciBuQml0cyA9IGVMZW4gLSA3O1xuICB2YXIgaSA9IG5CeXRlcyAtIDE7XG4gIHZhciBzID0gYnVmZmVyW2ktLV07XG4gIHZhciBlID0gcyAmIDEyNztcbiAgdmFyIG07XG4gIHMgPj49IDc7XG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSBlICogMjU2ICsgYnVmZmVyW2ldLCBpLS0sIG5CaXRzIC09IDgpO1xuICBtID0gZSAmICgxIDw8IC1uQml0cykgLSAxO1xuICBlID4+PSAtbkJpdHM7XG4gIG5CaXRzICs9IG1MZW47XG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSBtICogMjU2ICsgYnVmZmVyW2ldLCBpLS0sIG5CaXRzIC09IDgpO1xuICBpZiAoZSA9PT0gMCkge1xuICAgIGUgPSAxIC0gZUJpYXM7XG4gIH0gZWxzZSBpZiAoZSA9PT0gZU1heCkge1xuICAgIHJldHVybiBtID8gTmFOIDogcyA/IC1JbmZpbml0eSA6IEluZmluaXR5O1xuICB9IGVsc2Uge1xuICAgIG0gPSBtICsgcG93KDIsIG1MZW4pO1xuICAgIGUgPSBlIC0gZUJpYXM7XG4gIH0gcmV0dXJuIChzID8gLTEgOiAxKSAqIG0gKiBwb3coMiwgZSAtIG1MZW4pO1xufVxuXG5mdW5jdGlvbiB1bnBhY2tJMzIoYnl0ZXMpIHtcbiAgcmV0dXJuIGJ5dGVzWzNdIDw8IDI0IHwgYnl0ZXNbMl0gPDwgMTYgfCBieXRlc1sxXSA8PCA4IHwgYnl0ZXNbMF07XG59XG5mdW5jdGlvbiBwYWNrSTgoaXQpIHtcbiAgcmV0dXJuIFtpdCAmIDB4ZmZdO1xufVxuZnVuY3Rpb24gcGFja0kxNihpdCkge1xuICByZXR1cm4gW2l0ICYgMHhmZiwgaXQgPj4gOCAmIDB4ZmZdO1xufVxuZnVuY3Rpb24gcGFja0kzMihpdCkge1xuICByZXR1cm4gW2l0ICYgMHhmZiwgaXQgPj4gOCAmIDB4ZmYsIGl0ID4+IDE2ICYgMHhmZiwgaXQgPj4gMjQgJiAweGZmXTtcbn1cbmZ1bmN0aW9uIHBhY2tGNjQoaXQpIHtcbiAgcmV0dXJuIHBhY2tJRUVFNzU0KGl0LCA1MiwgOCk7XG59XG5mdW5jdGlvbiBwYWNrRjMyKGl0KSB7XG4gIHJldHVybiBwYWNrSUVFRTc1NChpdCwgMjMsIDQpO1xufVxuXG5mdW5jdGlvbiBhZGRHZXR0ZXIoQywga2V5LCBpbnRlcm5hbCkge1xuICBkUChDW1BST1RPVFlQRV0sIGtleSwgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXNbaW50ZXJuYWxdOyB9IH0pO1xufVxuXG5mdW5jdGlvbiBnZXQodmlldywgYnl0ZXMsIGluZGV4LCBpc0xpdHRsZUVuZGlhbikge1xuICB2YXIgbnVtSW5kZXggPSAraW5kZXg7XG4gIHZhciBpbnRJbmRleCA9IHRvSW5kZXgobnVtSW5kZXgpO1xuICBpZiAoaW50SW5kZXggKyBieXRlcyA+IHZpZXdbJExFTkdUSF0pIHRocm93IFJhbmdlRXJyb3IoV1JPTkdfSU5ERVgpO1xuICB2YXIgc3RvcmUgPSB2aWV3WyRCVUZGRVJdLl9iO1xuICB2YXIgc3RhcnQgPSBpbnRJbmRleCArIHZpZXdbJE9GRlNFVF07XG4gIHZhciBwYWNrID0gc3RvcmUuc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgYnl0ZXMpO1xuICByZXR1cm4gaXNMaXR0bGVFbmRpYW4gPyBwYWNrIDogcGFjay5yZXZlcnNlKCk7XG59XG5mdW5jdGlvbiBzZXQodmlldywgYnl0ZXMsIGluZGV4LCBjb252ZXJzaW9uLCB2YWx1ZSwgaXNMaXR0bGVFbmRpYW4pIHtcbiAgdmFyIG51bUluZGV4ID0gK2luZGV4O1xuICB2YXIgaW50SW5kZXggPSB0b0luZGV4KG51bUluZGV4KTtcbiAgaWYgKGludEluZGV4ICsgYnl0ZXMgPiB2aWV3WyRMRU5HVEhdKSB0aHJvdyBSYW5nZUVycm9yKFdST05HX0lOREVYKTtcbiAgdmFyIHN0b3JlID0gdmlld1skQlVGRkVSXS5fYjtcbiAgdmFyIHN0YXJ0ID0gaW50SW5kZXggKyB2aWV3WyRPRkZTRVRdO1xuICB2YXIgcGFjayA9IGNvbnZlcnNpb24oK3ZhbHVlKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlczsgaSsrKSBzdG9yZVtzdGFydCArIGldID0gcGFja1tpc0xpdHRsZUVuZGlhbiA/IGkgOiBieXRlcyAtIGkgLSAxXTtcbn1cblxuaWYgKCEkdHlwZWQuQUJWKSB7XG4gICRBcnJheUJ1ZmZlciA9IGZ1bmN0aW9uIEFycmF5QnVmZmVyKGxlbmd0aCkge1xuICAgIGFuSW5zdGFuY2UodGhpcywgJEFycmF5QnVmZmVyLCBBUlJBWV9CVUZGRVIpO1xuICAgIHZhciBieXRlTGVuZ3RoID0gdG9JbmRleChsZW5ndGgpO1xuICAgIHRoaXMuX2IgPSBhcnJheUZpbGwuY2FsbChuZXcgQXJyYXkoYnl0ZUxlbmd0aCksIDApO1xuICAgIHRoaXNbJExFTkdUSF0gPSBieXRlTGVuZ3RoO1xuICB9O1xuXG4gICREYXRhVmlldyA9IGZ1bmN0aW9uIERhdGFWaWV3KGJ1ZmZlciwgYnl0ZU9mZnNldCwgYnl0ZUxlbmd0aCkge1xuICAgIGFuSW5zdGFuY2UodGhpcywgJERhdGFWaWV3LCBEQVRBX1ZJRVcpO1xuICAgIGFuSW5zdGFuY2UoYnVmZmVyLCAkQXJyYXlCdWZmZXIsIERBVEFfVklFVyk7XG4gICAgdmFyIGJ1ZmZlckxlbmd0aCA9IGJ1ZmZlclskTEVOR1RIXTtcbiAgICB2YXIgb2Zmc2V0ID0gdG9JbnRlZ2VyKGJ5dGVPZmZzZXQpO1xuICAgIGlmIChvZmZzZXQgPCAwIHx8IG9mZnNldCA+IGJ1ZmZlckxlbmd0aCkgdGhyb3cgUmFuZ2VFcnJvcignV3Jvbmcgb2Zmc2V0IScpO1xuICAgIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoID09PSB1bmRlZmluZWQgPyBidWZmZXJMZW5ndGggLSBvZmZzZXQgOiB0b0xlbmd0aChieXRlTGVuZ3RoKTtcbiAgICBpZiAob2Zmc2V0ICsgYnl0ZUxlbmd0aCA+IGJ1ZmZlckxlbmd0aCkgdGhyb3cgUmFuZ2VFcnJvcihXUk9OR19MRU5HVEgpO1xuICAgIHRoaXNbJEJVRkZFUl0gPSBidWZmZXI7XG4gICAgdGhpc1skT0ZGU0VUXSA9IG9mZnNldDtcbiAgICB0aGlzWyRMRU5HVEhdID0gYnl0ZUxlbmd0aDtcbiAgfTtcblxuICBpZiAoREVTQ1JJUFRPUlMpIHtcbiAgICBhZGRHZXR0ZXIoJEFycmF5QnVmZmVyLCBCWVRFX0xFTkdUSCwgJ19sJyk7XG4gICAgYWRkR2V0dGVyKCREYXRhVmlldywgQlVGRkVSLCAnX2InKTtcbiAgICBhZGRHZXR0ZXIoJERhdGFWaWV3LCBCWVRFX0xFTkdUSCwgJ19sJyk7XG4gICAgYWRkR2V0dGVyKCREYXRhVmlldywgQllURV9PRkZTRVQsICdfbycpO1xuICB9XG5cbiAgcmVkZWZpbmVBbGwoJERhdGFWaWV3W1BST1RPVFlQRV0sIHtcbiAgICBnZXRJbnQ4OiBmdW5jdGlvbiBnZXRJbnQ4KGJ5dGVPZmZzZXQpIHtcbiAgICAgIHJldHVybiBnZXQodGhpcywgMSwgYnl0ZU9mZnNldClbMF0gPDwgMjQgPj4gMjQ7XG4gICAgfSxcbiAgICBnZXRVaW50ODogZnVuY3Rpb24gZ2V0VWludDgoYnl0ZU9mZnNldCkge1xuICAgICAgcmV0dXJuIGdldCh0aGlzLCAxLCBieXRlT2Zmc2V0KVswXTtcbiAgICB9LFxuICAgIGdldEludDE2OiBmdW5jdGlvbiBnZXRJbnQxNihieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICB2YXIgYnl0ZXMgPSBnZXQodGhpcywgMiwgYnl0ZU9mZnNldCwgYXJndW1lbnRzWzFdKTtcbiAgICAgIHJldHVybiAoYnl0ZXNbMV0gPDwgOCB8IGJ5dGVzWzBdKSA8PCAxNiA+PiAxNjtcbiAgICB9LFxuICAgIGdldFVpbnQxNjogZnVuY3Rpb24gZ2V0VWludDE2KGJ5dGVPZmZzZXQgLyogLCBsaXR0bGVFbmRpYW4gKi8pIHtcbiAgICAgIHZhciBieXRlcyA9IGdldCh0aGlzLCAyLCBieXRlT2Zmc2V0LCBhcmd1bWVudHNbMV0pO1xuICAgICAgcmV0dXJuIGJ5dGVzWzFdIDw8IDggfCBieXRlc1swXTtcbiAgICB9LFxuICAgIGdldEludDMyOiBmdW5jdGlvbiBnZXRJbnQzMihieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICByZXR1cm4gdW5wYWNrSTMyKGdldCh0aGlzLCA0LCBieXRlT2Zmc2V0LCBhcmd1bWVudHNbMV0pKTtcbiAgICB9LFxuICAgIGdldFVpbnQzMjogZnVuY3Rpb24gZ2V0VWludDMyKGJ5dGVPZmZzZXQgLyogLCBsaXR0bGVFbmRpYW4gKi8pIHtcbiAgICAgIHJldHVybiB1bnBhY2tJMzIoZ2V0KHRoaXMsIDQsIGJ5dGVPZmZzZXQsIGFyZ3VtZW50c1sxXSkpID4+PiAwO1xuICAgIH0sXG4gICAgZ2V0RmxvYXQzMjogZnVuY3Rpb24gZ2V0RmxvYXQzMihieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICByZXR1cm4gdW5wYWNrSUVFRTc1NChnZXQodGhpcywgNCwgYnl0ZU9mZnNldCwgYXJndW1lbnRzWzFdKSwgMjMsIDQpO1xuICAgIH0sXG4gICAgZ2V0RmxvYXQ2NDogZnVuY3Rpb24gZ2V0RmxvYXQ2NChieXRlT2Zmc2V0IC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICByZXR1cm4gdW5wYWNrSUVFRTc1NChnZXQodGhpcywgOCwgYnl0ZU9mZnNldCwgYXJndW1lbnRzWzFdKSwgNTIsIDgpO1xuICAgIH0sXG4gICAgc2V0SW50ODogZnVuY3Rpb24gc2V0SW50OChieXRlT2Zmc2V0LCB2YWx1ZSkge1xuICAgICAgc2V0KHRoaXMsIDEsIGJ5dGVPZmZzZXQsIHBhY2tJOCwgdmFsdWUpO1xuICAgIH0sXG4gICAgc2V0VWludDg6IGZ1bmN0aW9uIHNldFVpbnQ4KGJ5dGVPZmZzZXQsIHZhbHVlKSB7XG4gICAgICBzZXQodGhpcywgMSwgYnl0ZU9mZnNldCwgcGFja0k4LCB2YWx1ZSk7XG4gICAgfSxcbiAgICBzZXRJbnQxNjogZnVuY3Rpb24gc2V0SW50MTYoYnl0ZU9mZnNldCwgdmFsdWUgLyogLCBsaXR0bGVFbmRpYW4gKi8pIHtcbiAgICAgIHNldCh0aGlzLCAyLCBieXRlT2Zmc2V0LCBwYWNrSTE2LCB2YWx1ZSwgYXJndW1lbnRzWzJdKTtcbiAgICB9LFxuICAgIHNldFVpbnQxNjogZnVuY3Rpb24gc2V0VWludDE2KGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgMiwgYnl0ZU9mZnNldCwgcGFja0kxNiwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfSxcbiAgICBzZXRJbnQzMjogZnVuY3Rpb24gc2V0SW50MzIoYnl0ZU9mZnNldCwgdmFsdWUgLyogLCBsaXR0bGVFbmRpYW4gKi8pIHtcbiAgICAgIHNldCh0aGlzLCA0LCBieXRlT2Zmc2V0LCBwYWNrSTMyLCB2YWx1ZSwgYXJndW1lbnRzWzJdKTtcbiAgICB9LFxuICAgIHNldFVpbnQzMjogZnVuY3Rpb24gc2V0VWludDMyKGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgNCwgYnl0ZU9mZnNldCwgcGFja0kzMiwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfSxcbiAgICBzZXRGbG9hdDMyOiBmdW5jdGlvbiBzZXRGbG9hdDMyKGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgNCwgYnl0ZU9mZnNldCwgcGFja0YzMiwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfSxcbiAgICBzZXRGbG9hdDY0OiBmdW5jdGlvbiBzZXRGbG9hdDY0KGJ5dGVPZmZzZXQsIHZhbHVlIC8qICwgbGl0dGxlRW5kaWFuICovKSB7XG4gICAgICBzZXQodGhpcywgOCwgYnl0ZU9mZnNldCwgcGFja0Y2NCwgdmFsdWUsIGFyZ3VtZW50c1syXSk7XG4gICAgfVxuICB9KTtcbn0gZWxzZSB7XG4gIGlmICghZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgICRBcnJheUJ1ZmZlcigxKTtcbiAgfSkgfHwgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICBuZXcgJEFycmF5QnVmZmVyKC0xKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgfSkgfHwgZmFpbHMoZnVuY3Rpb24gKCkge1xuICAgIG5ldyAkQXJyYXlCdWZmZXIoKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICBuZXcgJEFycmF5QnVmZmVyKDEuNSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3XG4gICAgbmV3ICRBcnJheUJ1ZmZlcihOYU4pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIHJldHVybiAkQXJyYXlCdWZmZXIubmFtZSAhPSBBUlJBWV9CVUZGRVI7XG4gIH0pKSB7XG4gICAgJEFycmF5QnVmZmVyID0gZnVuY3Rpb24gQXJyYXlCdWZmZXIobGVuZ3RoKSB7XG4gICAgICBhbkluc3RhbmNlKHRoaXMsICRBcnJheUJ1ZmZlcik7XG4gICAgICByZXR1cm4gbmV3IEJhc2VCdWZmZXIodG9JbmRleChsZW5ndGgpKTtcbiAgICB9O1xuICAgIHZhciBBcnJheUJ1ZmZlclByb3RvID0gJEFycmF5QnVmZmVyW1BST1RPVFlQRV0gPSBCYXNlQnVmZmVyW1BST1RPVFlQRV07XG4gICAgZm9yICh2YXIga2V5cyA9IGdPUE4oQmFzZUJ1ZmZlciksIGogPSAwLCBrZXk7IGtleXMubGVuZ3RoID4gajspIHtcbiAgICAgIGlmICghKChrZXkgPSBrZXlzW2orK10pIGluICRBcnJheUJ1ZmZlcikpIGhpZGUoJEFycmF5QnVmZmVyLCBrZXksIEJhc2VCdWZmZXJba2V5XSk7XG4gICAgfVxuICAgIGlmICghTElCUkFSWSkgQXJyYXlCdWZmZXJQcm90by5jb25zdHJ1Y3RvciA9ICRBcnJheUJ1ZmZlcjtcbiAgfVxuICAvLyBpT1MgU2FmYXJpIDcueCBidWdcbiAgdmFyIHZpZXcgPSBuZXcgJERhdGFWaWV3KG5ldyAkQXJyYXlCdWZmZXIoMikpO1xuICB2YXIgJHNldEludDggPSAkRGF0YVZpZXdbUFJPVE9UWVBFXS5zZXRJbnQ4O1xuICB2aWV3LnNldEludDgoMCwgMjE0NzQ4MzY0OCk7XG4gIHZpZXcuc2V0SW50OCgxLCAyMTQ3NDgzNjQ5KTtcbiAgaWYgKHZpZXcuZ2V0SW50OCgwKSB8fCAhdmlldy5nZXRJbnQ4KDEpKSByZWRlZmluZUFsbCgkRGF0YVZpZXdbUFJPVE9UWVBFXSwge1xuICAgIHNldEludDg6IGZ1bmN0aW9uIHNldEludDgoYnl0ZU9mZnNldCwgdmFsdWUpIHtcbiAgICAgICRzZXRJbnQ4LmNhbGwodGhpcywgYnl0ZU9mZnNldCwgdmFsdWUgPDwgMjQgPj4gMjQpO1xuICAgIH0sXG4gICAgc2V0VWludDg6IGZ1bmN0aW9uIHNldFVpbnQ4KGJ5dGVPZmZzZXQsIHZhbHVlKSB7XG4gICAgICAkc2V0SW50OC5jYWxsKHRoaXMsIGJ5dGVPZmZzZXQsIHZhbHVlIDw8IDI0ID4+IDI0KTtcbiAgICB9XG4gIH0sIHRydWUpO1xufVxuc2V0VG9TdHJpbmdUYWcoJEFycmF5QnVmZmVyLCBBUlJBWV9CVUZGRVIpO1xuc2V0VG9TdHJpbmdUYWcoJERhdGFWaWV3LCBEQVRBX1ZJRVcpO1xuaGlkZSgkRGF0YVZpZXdbUFJPVE9UWVBFXSwgJHR5cGVkLlZJRVcsIHRydWUpO1xuZXhwb3J0c1tBUlJBWV9CVUZGRVJdID0gJEFycmF5QnVmZmVyO1xuZXhwb3J0c1tEQVRBX1ZJRVddID0gJERhdGFWaWV3O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuL19oaWRlJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG52YXIgVFlQRUQgPSB1aWQoJ3R5cGVkX2FycmF5Jyk7XG52YXIgVklFVyA9IHVpZCgndmlldycpO1xudmFyIEFCViA9ICEhKGdsb2JhbC5BcnJheUJ1ZmZlciAmJiBnbG9iYWwuRGF0YVZpZXcpO1xudmFyIENPTlNUUiA9IEFCVjtcbnZhciBpID0gMDtcbnZhciBsID0gOTtcbnZhciBUeXBlZDtcblxudmFyIFR5cGVkQXJyYXlDb25zdHJ1Y3RvcnMgPSAoXG4gICdJbnQ4QXJyYXksVWludDhBcnJheSxVaW50OENsYW1wZWRBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheSdcbikuc3BsaXQoJywnKTtcblxud2hpbGUgKGkgPCBsKSB7XG4gIGlmIChUeXBlZCA9IGdsb2JhbFtUeXBlZEFycmF5Q29uc3RydWN0b3JzW2krK11dKSB7XG4gICAgaGlkZShUeXBlZC5wcm90b3R5cGUsIFRZUEVELCB0cnVlKTtcbiAgICBoaWRlKFR5cGVkLnByb3RvdHlwZSwgVklFVywgdHJ1ZSk7XG4gIH0gZWxzZSBDT05TVFIgPSBmYWxzZTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIEFCVjogQUJWLFxuICBDT05TVFI6IENPTlNUUixcbiAgVFlQRUQ6IFRZUEVELFxuICBWSUVXOiBWSUVXXG59O1xuIiwidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgbmF2aWdhdG9yID0gZ2xvYmFsLm5hdmlnYXRvcjtcblxubW9kdWxlLmV4cG9ydHMgPSBuYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCB8fCAnJztcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIFRZUEUpIHtcbiAgaWYgKCFpc09iamVjdChpdCkgfHwgaXQuX3QgIT09IFRZUEUpIHRocm93IFR5cGVFcnJvcignSW5jb21wYXRpYmxlIHJlY2VpdmVyLCAnICsgVFlQRSArICcgcmVxdWlyZWQhJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBMSUJSQVJZID0gcmVxdWlyZSgnLi9fbGlicmFyeScpO1xudmFyIHdrc0V4dCA9IHJlcXVpcmUoJy4vX3drcy1leHQnKTtcbnZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gIHZhciAkU3ltYm9sID0gY29yZS5TeW1ib2wgfHwgKGNvcmUuU3ltYm9sID0gTElCUkFSWSA/IHt9IDogZ2xvYmFsLlN5bWJvbCB8fCB7fSk7XG4gIGlmIChuYW1lLmNoYXJBdCgwKSAhPSAnXycgJiYgIShuYW1lIGluICRTeW1ib2wpKSBkZWZpbmVQcm9wZXJ0eSgkU3ltYm9sLCBuYW1lLCB7IHZhbHVlOiB3a3NFeHQuZihuYW1lKSB9KTtcbn07XG4iLCJleHBvcnRzLmYgPSByZXF1aXJlKCcuL193a3MnKTtcbiIsInZhciBzdG9yZSA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCd3a3MnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcbiIsInZhciBjbGFzc29mID0gcmVxdWlyZSgnLi9fY2xhc3NvZicpO1xudmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvcmUnKS5nZXRJdGVyYXRvck1ldGhvZCA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgIT0gdW5kZWZpbmVkKSByZXR1cm4gaXRbSVRFUkFUT1JdXG4gICAgfHwgaXRbJ0BAaXRlcmF0b3InXVxuICAgIHx8IEl0ZXJhdG9yc1tjbGFzc29mKGl0KV07XG59O1xuIiwiLy8gMjIuMS4zLjMgQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4odGFyZ2V0LCBzdGFydCwgZW5kID0gdGhpcy5sZW5ndGgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0FycmF5JywgeyBjb3B5V2l0aGluOiByZXF1aXJlKCcuL19hcnJheS1jb3B5LXdpdGhpbicpIH0pO1xuXG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKSgnY29weVdpdGhpbicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZXZlcnkgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoNCk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5ldmVyeSwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjUgLyAxNS40LjQuMTYgQXJyYXkucHJvdG90eXBlLmV2ZXJ5KGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGV2ZXJ5OiBmdW5jdGlvbiBldmVyeShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkZXZlcnkodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIvLyAyMi4xLjMuNiBBcnJheS5wcm90b3R5cGUuZmlsbCh2YWx1ZSwgc3RhcnQgPSAwLCBlbmQgPSB0aGlzLmxlbmd0aClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QLCAnQXJyYXknLCB7IGZpbGw6IHJlcXVpcmUoJy4vX2FycmF5LWZpbGwnKSB9KTtcblxucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoJ2ZpbGwnKTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZpbHRlciA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSgyKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZpbHRlciwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjcgLyAxNS40LjQuMjAgQXJyYXkucHJvdG90eXBlLmZpbHRlcihjYWxsYmFja2ZuIFssIHRoaXNBcmddKVxuICBmaWx0ZXI6IGZ1bmN0aW9uIGZpbHRlcihjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkZmlsdGVyKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjkgQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleChwcmVkaWNhdGUsIHRoaXNBcmcgPSB1bmRlZmluZWQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRmaW5kID0gcmVxdWlyZSgnLi9fYXJyYXktbWV0aG9kcycpKDYpO1xudmFyIEtFWSA9ICdmaW5kSW5kZXgnO1xudmFyIGZvcmNlZCA9IHRydWU7XG4vLyBTaG91bGRuJ3Qgc2tpcCBob2xlc1xuaWYgKEtFWSBpbiBbXSkgQXJyYXkoMSlbS0VZXShmdW5jdGlvbiAoKSB7IGZvcmNlZCA9IGZhbHNlOyB9KTtcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogZm9yY2VkLCAnQXJyYXknLCB7XG4gIGZpbmRJbmRleDogZnVuY3Rpb24gZmluZEluZGV4KGNhbGxiYWNrZm4gLyogLCB0aGF0ID0gdW5kZWZpbmVkICovKSB7XG4gICAgcmV0dXJuICRmaW5kKHRoaXMsIGNhbGxiYWNrZm4sIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgfVxufSk7XG5yZXF1aXJlKCcuL19hZGQtdG8tdW5zY29wYWJsZXMnKShLRVkpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjggQXJyYXkucHJvdG90eXBlLmZpbmQocHJlZGljYXRlLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZmluZCA9IHJlcXVpcmUoJy4vX2FycmF5LW1ldGhvZHMnKSg1KTtcbnZhciBLRVkgPSAnZmluZCc7XG52YXIgZm9yY2VkID0gdHJ1ZTtcbi8vIFNob3VsZG4ndCBza2lwIGhvbGVzXG5pZiAoS0VZIGluIFtdKSBBcnJheSgxKVtLRVldKGZ1bmN0aW9uICgpIHsgZm9yY2VkID0gZmFsc2U7IH0pO1xuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiBmb3JjZWQsICdBcnJheScsIHtcbiAgZmluZDogZnVuY3Rpb24gZmluZChjYWxsYmFja2ZuIC8qICwgdGhhdCA9IHVuZGVmaW5lZCAqLykge1xuICAgIHJldHVybiAkZmluZCh0aGlzLCBjYWxsYmFja2ZuLCBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZCk7XG4gIH1cbn0pO1xucmVxdWlyZSgnLi9fYWRkLXRvLXVuc2NvcGFibGVzJykoS0VZKTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGZvckVhY2ggPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMCk7XG52YXIgU1RSSUNUID0gcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLmZvckVhY2gsIHRydWUpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICFTVFJJQ1QsICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjEwIC8gMTUuNC40LjE4IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIGZvckVhY2g6IGZ1bmN0aW9uIGZvckVhY2goY2FsbGJhY2tmbiAvKiAsIHRoaXNBcmcgKi8pIHtcbiAgICByZXR1cm4gJGZvckVhY2godGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgY2FsbCA9IHJlcXVpcmUoJy4vX2l0ZXItY2FsbCcpO1xudmFyIGlzQXJyYXlJdGVyID0gcmVxdWlyZSgnLi9faXMtYXJyYXktaXRlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY3JlYXRlUHJvcGVydHkgPSByZXF1aXJlKCcuL19jcmVhdGUtcHJvcGVydHknKTtcbnZhciBnZXRJdGVyRm4gPSByZXF1aXJlKCcuL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFyZXF1aXJlKCcuL19pdGVyLWRldGVjdCcpKGZ1bmN0aW9uIChpdGVyKSB7IEFycmF5LmZyb20oaXRlcik7IH0pLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMi4xIEFycmF5LmZyb20oYXJyYXlMaWtlLCBtYXBmbiA9IHVuZGVmaW5lZCwgdGhpc0FyZyA9IHVuZGVmaW5lZClcbiAgZnJvbTogZnVuY3Rpb24gZnJvbShhcnJheUxpa2UgLyogLCBtYXBmbiA9IHVuZGVmaW5lZCwgdGhpc0FyZyA9IHVuZGVmaW5lZCAqLykge1xuICAgIHZhciBPID0gdG9PYmplY3QoYXJyYXlMaWtlKTtcbiAgICB2YXIgQyA9IHR5cGVvZiB0aGlzID09ICdmdW5jdGlvbicgPyB0aGlzIDogQXJyYXk7XG4gICAgdmFyIGFMZW4gPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIHZhciBtYXBmbiA9IGFMZW4gPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkO1xuICAgIHZhciBtYXBwaW5nID0gbWFwZm4gIT09IHVuZGVmaW5lZDtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBpdGVyRm4gPSBnZXRJdGVyRm4oTyk7XG4gICAgdmFyIGxlbmd0aCwgcmVzdWx0LCBzdGVwLCBpdGVyYXRvcjtcbiAgICBpZiAobWFwcGluZykgbWFwZm4gPSBjdHgobWFwZm4sIGFMZW4gPiAyID8gYXJndW1lbnRzWzJdIDogdW5kZWZpbmVkLCAyKTtcbiAgICAvLyBpZiBvYmplY3QgaXNuJ3QgaXRlcmFibGUgb3IgaXQncyBhcnJheSB3aXRoIGRlZmF1bHQgaXRlcmF0b3IgLSB1c2Ugc2ltcGxlIGNhc2VcbiAgICBpZiAoaXRlckZuICE9IHVuZGVmaW5lZCAmJiAhKEMgPT0gQXJyYXkgJiYgaXNBcnJheUl0ZXIoaXRlckZuKSkpIHtcbiAgICAgIGZvciAoaXRlcmF0b3IgPSBpdGVyRm4uY2FsbChPKSwgcmVzdWx0ID0gbmV3IEMoKTsgIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lOyBpbmRleCsrKSB7XG4gICAgICAgIGNyZWF0ZVByb3BlcnR5KHJlc3VsdCwgaW5kZXgsIG1hcHBpbmcgPyBjYWxsKGl0ZXJhdG9yLCBtYXBmbiwgW3N0ZXAudmFsdWUsIGluZGV4XSwgdHJ1ZSkgOiBzdGVwLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgICAgZm9yIChyZXN1bHQgPSBuZXcgQyhsZW5ndGgpOyBsZW5ndGggPiBpbmRleDsgaW5kZXgrKykge1xuICAgICAgICBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBtYXBwaW5nID8gbWFwZm4oT1tpbmRleF0sIGluZGV4KSA6IE9baW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmVzdWx0Lmxlbmd0aCA9IGluZGV4O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW5kZXhPZiA9IHJlcXVpcmUoJy4vX2FycmF5LWluY2x1ZGVzJykoZmFsc2UpO1xudmFyICRuYXRpdmUgPSBbXS5pbmRleE9mO1xudmFyIE5FR0FUSVZFX1pFUk8gPSAhISRuYXRpdmUgJiYgMSAvIFsxXS5pbmRleE9mKDEsIC0wKSA8IDA7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogKE5FR0FUSVZFX1pFUk8gfHwgIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKSgkbmF0aXZlKSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjExIC8gMTUuNC40LjE0IEFycmF5LnByb3RvdHlwZS5pbmRleE9mKHNlYXJjaEVsZW1lbnQgWywgZnJvbUluZGV4XSlcbiAgaW5kZXhPZjogZnVuY3Rpb24gaW5kZXhPZihzZWFyY2hFbGVtZW50IC8qICwgZnJvbUluZGV4ID0gMCAqLykge1xuICAgIHJldHVybiBORUdBVElWRV9aRVJPXG4gICAgICAvLyBjb252ZXJ0IC0wIHRvICswXG4gICAgICA/ICRuYXRpdmUuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCAwXG4gICAgICA6ICRpbmRleE9mKHRoaXMsIHNlYXJjaEVsZW1lbnQsIGFyZ3VtZW50c1sxXSk7XG4gIH1cbn0pO1xuIiwiLy8gMjIuMS4yLjIgLyAxNS40LjMuMiBBcnJheS5pc0FycmF5KGFyZylcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnQXJyYXknLCB7IGlzQXJyYXk6IHJlcXVpcmUoJy4vX2lzLWFycmF5JykgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IHJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpO1xudmFyIHN0ZXAgPSByZXF1aXJlKCcuL19pdGVyLXN0ZXAnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG5cbi8vIDIyLjEuMy40IEFycmF5LnByb3RvdHlwZS5lbnRyaWVzKClcbi8vIDIyLjEuMy4xMyBBcnJheS5wcm90b3R5cGUua2V5cygpXG4vLyAyMi4xLjMuMjkgQXJyYXkucHJvdG90eXBlLnZhbHVlcygpXG4vLyAyMi4xLjMuMzAgQXJyYXkucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKShBcnJheSwgJ0FycmF5JywgZnVuY3Rpb24gKGl0ZXJhdGVkLCBraW5kKSB7XG4gIHRoaXMuX3QgPSB0b0lPYmplY3QoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbiAgdGhpcy5fayA9IGtpbmQ7ICAgICAgICAgICAgICAgIC8vIGtpbmRcbi8vIDIyLjEuNS4yLjEgJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBraW5kID0gdGhpcy5faztcbiAgdmFyIGluZGV4ID0gdGhpcy5faSsrO1xuICBpZiAoIU8gfHwgaW5kZXggPj0gTy5sZW5ndGgpIHtcbiAgICB0aGlzLl90ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBzdGVwKDEpO1xuICB9XG4gIGlmIChraW5kID09ICdrZXlzJykgcmV0dXJuIHN0ZXAoMCwgaW5kZXgpO1xuICBpZiAoa2luZCA9PSAndmFsdWVzJykgcmV0dXJuIHN0ZXAoMCwgT1tpbmRleF0pO1xuICByZXR1cm4gc3RlcCgwLCBbaW5kZXgsIE9baW5kZXhdXSk7XG59LCAndmFsdWVzJyk7XG5cbi8vIGFyZ3VtZW50c0xpc3RbQEBpdGVyYXRvcl0gaXMgJUFycmF5UHJvdG9fdmFsdWVzJSAoOS40LjQuNiwgOS40LjQuNylcbkl0ZXJhdG9ycy5Bcmd1bWVudHMgPSBJdGVyYXRvcnMuQXJyYXk7XG5cbmFkZFRvVW5zY29wYWJsZXMoJ2tleXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ3ZhbHVlcycpO1xuYWRkVG9VbnNjb3BhYmxlcygnZW50cmllcycpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMjIuMS4zLjEzIEFycmF5LnByb3RvdHlwZS5qb2luKHNlcGFyYXRvcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgdG9JT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8taW9iamVjdCcpO1xudmFyIGFycmF5Sm9pbiA9IFtdLmpvaW47XG5cbi8vIGZhbGxiYWNrIGZvciBub3QgYXJyYXktbGlrZSBzdHJpbmdzXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChyZXF1aXJlKCcuL19pb2JqZWN0JykgIT0gT2JqZWN0IHx8ICFyZXF1aXJlKCcuL19zdHJpY3QtbWV0aG9kJykoYXJyYXlKb2luKSksICdBcnJheScsIHtcbiAgam9pbjogZnVuY3Rpb24gam9pbihzZXBhcmF0b3IpIHtcbiAgICByZXR1cm4gYXJyYXlKb2luLmNhbGwodG9JT2JqZWN0KHRoaXMpLCBzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCA/ICcsJyA6IHNlcGFyYXRvcik7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi9fdG8taW50ZWdlcicpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgJG5hdGl2ZSA9IFtdLmxhc3RJbmRleE9mO1xudmFyIE5FR0FUSVZFX1pFUk8gPSAhISRuYXRpdmUgJiYgMSAvIFsxXS5sYXN0SW5kZXhPZigxLCAtMCkgPCAwO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChORUdBVElWRV9aRVJPIHx8ICFyZXF1aXJlKCcuL19zdHJpY3QtbWV0aG9kJykoJG5hdGl2ZSkpLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xNCAvIDE1LjQuNC4xNSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoRWxlbWVudCBbLCBmcm9tSW5kZXhdKVxuICBsYXN0SW5kZXhPZjogZnVuY3Rpb24gbGFzdEluZGV4T2Yoc2VhcmNoRWxlbWVudCAvKiAsIGZyb21JbmRleCA9IEBbKi0xXSAqLykge1xuICAgIC8vIGNvbnZlcnQgLTAgdG8gKzBcbiAgICBpZiAoTkVHQVRJVkVfWkVSTykgcmV0dXJuICRuYXRpdmUuYXBwbHkodGhpcywgYXJndW1lbnRzKSB8fCAwO1xuICAgIHZhciBPID0gdG9JT2JqZWN0KHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIGluZGV4ID0gTWF0aC5taW4oaW5kZXgsIHRvSW50ZWdlcihhcmd1bWVudHNbMV0pKTtcbiAgICBpZiAoaW5kZXggPCAwKSBpbmRleCA9IGxlbmd0aCArIGluZGV4O1xuICAgIGZvciAoO2luZGV4ID49IDA7IGluZGV4LS0pIGlmIChpbmRleCBpbiBPKSBpZiAoT1tpbmRleF0gPT09IHNlYXJjaEVsZW1lbnQpIHJldHVybiBpbmRleCB8fCAwO1xuICAgIHJldHVybiAtMTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRtYXAgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMSk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5tYXAsIHRydWUpLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMy4xNSAvIDE1LjQuNC4xOSBBcnJheS5wcm90b3R5cGUubWFwKGNhbGxiYWNrZm4gWywgdGhpc0FyZ10pXG4gIG1hcDogZnVuY3Rpb24gbWFwKGNhbGxiYWNrZm4gLyogLCB0aGlzQXJnICovKSB7XG4gICAgcmV0dXJuICRtYXAodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzWzFdKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNyZWF0ZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fY3JlYXRlLXByb3BlcnR5Jyk7XG5cbi8vIFdlYktpdCBBcnJheS5vZiBpc24ndCBnZW5lcmljXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBGKCkgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiAhKEFycmF5Lm9mLmNhbGwoRikgaW5zdGFuY2VvZiBGKTtcbn0pLCAnQXJyYXknLCB7XG4gIC8vIDIyLjEuMi4zIEFycmF5Lm9mKCAuLi5pdGVtcylcbiAgb2Y6IGZ1bmN0aW9uIG9mKC8qIC4uLmFyZ3MgKi8pIHtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgcmVzdWx0ID0gbmV3ICh0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nID8gdGhpcyA6IEFycmF5KShhTGVuKTtcbiAgICB3aGlsZSAoYUxlbiA+IGluZGV4KSBjcmVhdGVQcm9wZXJ0eShyZXN1bHQsIGluZGV4LCBhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHJlc3VsdC5sZW5ndGggPSBhTGVuO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkcmVkdWNlID0gcmVxdWlyZSgnLi9fYXJyYXktcmVkdWNlJyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5yZWR1Y2VSaWdodCwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjE5IC8gMTUuNC40LjIyIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuIFssIGluaXRpYWxWYWx1ZV0pXG4gIHJlZHVjZVJpZ2h0OiBmdW5jdGlvbiByZWR1Y2VSaWdodChjYWxsYmFja2ZuIC8qICwgaW5pdGlhbFZhbHVlICovKSB7XG4gICAgcmV0dXJuICRyZWR1Y2UodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCwgYXJndW1lbnRzWzFdLCB0cnVlKTtcbiAgfVxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRyZWR1Y2UgPSByZXF1aXJlKCcuL19hcnJheS1yZWR1Y2UnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKFtdLnJlZHVjZSwgdHJ1ZSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjE4IC8gMTUuNC40LjIxIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UoY2FsbGJhY2tmbiBbLCBpbml0aWFsVmFsdWVdKVxuICByZWR1Y2U6IGZ1bmN0aW9uIHJlZHVjZShjYWxsYmFja2ZuIC8qICwgaW5pdGlhbFZhbHVlICovKSB7XG4gICAgcmV0dXJuICRyZWR1Y2UodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCwgYXJndW1lbnRzWzFdLCBmYWxzZSk7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBodG1sID0gcmVxdWlyZSgnLi9faHRtbCcpO1xudmFyIGNvZiA9IHJlcXVpcmUoJy4vX2NvZicpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4vX3RvLWFic29sdXRlLWluZGV4Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBhcnJheVNsaWNlID0gW10uc2xpY2U7XG5cbi8vIGZhbGxiYWNrIGZvciBub3QgYXJyYXktbGlrZSBFUzMgc3RyaW5ncyBhbmQgRE9NIG9iamVjdHNcbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIGlmIChodG1sKSBhcnJheVNsaWNlLmNhbGwoaHRtbCk7XG59KSwgJ0FycmF5Jywge1xuICBzbGljZTogZnVuY3Rpb24gc2xpY2UoYmVnaW4sIGVuZCkge1xuICAgIHZhciBsZW4gPSB0b0xlbmd0aCh0aGlzLmxlbmd0aCk7XG4gICAgdmFyIGtsYXNzID0gY29mKHRoaXMpO1xuICAgIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gbGVuIDogZW5kO1xuICAgIGlmIChrbGFzcyA9PSAnQXJyYXknKSByZXR1cm4gYXJyYXlTbGljZS5jYWxsKHRoaXMsIGJlZ2luLCBlbmQpO1xuICAgIHZhciBzdGFydCA9IHRvQWJzb2x1dGVJbmRleChiZWdpbiwgbGVuKTtcbiAgICB2YXIgdXBUbyA9IHRvQWJzb2x1dGVJbmRleChlbmQsIGxlbik7XG4gICAgdmFyIHNpemUgPSB0b0xlbmd0aCh1cFRvIC0gc3RhcnQpO1xuICAgIHZhciBjbG9uZWQgPSBuZXcgQXJyYXkoc2l6ZSk7XG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoOyBpIDwgc2l6ZTsgaSsrKSBjbG9uZWRbaV0gPSBrbGFzcyA9PSAnU3RyaW5nJ1xuICAgICAgPyB0aGlzLmNoYXJBdChzdGFydCArIGkpXG4gICAgICA6IHRoaXNbc3RhcnQgKyBpXTtcbiAgICByZXR1cm4gY2xvbmVkO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHNvbWUgPSByZXF1aXJlKCcuL19hcnJheS1tZXRob2RzJykoMyk7XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX3N0cmljdC1tZXRob2QnKShbXS5zb21lLCB0cnVlKSwgJ0FycmF5Jywge1xuICAvLyAyMi4xLjMuMjMgLyAxNS40LjQuMTcgQXJyYXkucHJvdG90eXBlLnNvbWUoY2FsbGJhY2tmbiBbLCB0aGlzQXJnXSlcbiAgc29tZTogZnVuY3Rpb24gc29tZShjYWxsYmFja2ZuIC8qICwgdGhpc0FyZyAqLykge1xuICAgIHJldHVybiAkc29tZSh0aGlzLCBjYWxsYmFja2ZuLCBhcmd1bWVudHNbMV0pO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyICRzb3J0ID0gW10uc29ydDtcbnZhciB0ZXN0ID0gWzEsIDIsIDNdO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIChmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vIElFOC1cbiAgdGVzdC5zb3J0KHVuZGVmaW5lZCk7XG59KSB8fCAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyBWOCBidWdcbiAgdGVzdC5zb3J0KG51bGwpO1xuICAvLyBPbGQgV2ViS2l0XG59KSB8fCAhcmVxdWlyZSgnLi9fc3RyaWN0LW1ldGhvZCcpKCRzb3J0KSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4zLjI1IEFycmF5LnByb3RvdHlwZS5zb3J0KGNvbXBhcmVmbilcbiAgc29ydDogZnVuY3Rpb24gc29ydChjb21wYXJlZm4pIHtcbiAgICByZXR1cm4gY29tcGFyZWZuID09PSB1bmRlZmluZWRcbiAgICAgID8gJHNvcnQuY2FsbCh0b09iamVjdCh0aGlzKSlcbiAgICAgIDogJHNvcnQuY2FsbCh0b09iamVjdCh0aGlzKSwgYUZ1bmN0aW9uKGNvbXBhcmVmbikpO1xuICB9XG59KTtcbiIsInJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoJ0FycmF5Jyk7XG4iLCIvLyAyMC4zLjMuMSAvIDE1LjkuNC40IERhdGUubm93KClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnRGF0ZScsIHsgbm93OiBmdW5jdGlvbiAoKSB7IHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTsgfSB9KTtcbiIsIi8vIDIwLjMuNC4zNiAvIDE1LjkuNS40MyBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZygpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvSVNPU3RyaW5nID0gcmVxdWlyZSgnLi9fZGF0ZS10by1pc28tc3RyaW5nJyk7XG5cbi8vIFBoYW50b21KUyAvIG9sZCBXZWJLaXQgaGFzIGEgYnJva2VuIGltcGxlbWVudGF0aW9uc1xuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgIT09IHRvSVNPU3RyaW5nKSwgJ0RhdGUnLCB7XG4gIHRvSVNPU3RyaW5nOiB0b0lTT1N0cmluZ1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiByZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIG5ldyBEYXRlKE5hTikudG9KU09OKCkgIT09IG51bGxcbiAgICB8fCBEYXRlLnByb3RvdHlwZS50b0pTT04uY2FsbCh7IHRvSVNPU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9IH0pICE9PSAxO1xufSksICdEYXRlJywge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgdG9KU09OOiBmdW5jdGlvbiB0b0pTT04oa2V5KSB7XG4gICAgdmFyIE8gPSB0b09iamVjdCh0aGlzKTtcbiAgICB2YXIgcHYgPSB0b1ByaW1pdGl2ZShPKTtcbiAgICByZXR1cm4gdHlwZW9mIHB2ID09ICdudW1iZXInICYmICFpc0Zpbml0ZShwdikgPyBudWxsIDogTy50b0lTT1N0cmluZygpO1xuICB9XG59KTtcbiIsInZhciBUT19QUklNSVRJVkUgPSByZXF1aXJlKCcuL193a3MnKSgndG9QcmltaXRpdmUnKTtcbnZhciBwcm90byA9IERhdGUucHJvdG90eXBlO1xuXG5pZiAoIShUT19QUklNSVRJVkUgaW4gcHJvdG8pKSByZXF1aXJlKCcuL19oaWRlJykocHJvdG8sIFRPX1BSSU1JVElWRSwgcmVxdWlyZSgnLi9fZGF0ZS10by1wcmltaXRpdmUnKSk7XG4iLCJ2YXIgRGF0ZVByb3RvID0gRGF0ZS5wcm90b3R5cGU7XG52YXIgSU5WQUxJRF9EQVRFID0gJ0ludmFsaWQgRGF0ZSc7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciAkdG9TdHJpbmcgPSBEYXRlUHJvdG9bVE9fU1RSSU5HXTtcbnZhciBnZXRUaW1lID0gRGF0ZVByb3RvLmdldFRpbWU7XG5pZiAobmV3IERhdGUoTmFOKSArICcnICE9IElOVkFMSURfREFURSkge1xuICByZXF1aXJlKCcuL19yZWRlZmluZScpKERhdGVQcm90bywgVE9fU1RSSU5HLCBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICB2YXIgdmFsdWUgPSBnZXRUaW1lLmNhbGwodGhpcyk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWUgPyAkdG9TdHJpbmcuY2FsbCh0aGlzKSA6IElOVkFMSURfREFURTtcbiAgfSk7XG59XG4iLCIvLyAxOS4yLjMuMiAvIDE1LjMuNC41IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKHRoaXNBcmcsIGFyZ3MuLi4pXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUCwgJ0Z1bmN0aW9uJywgeyBiaW5kOiByZXF1aXJlKCcuL19iaW5kJykgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbnZhciBIQVNfSU5TVEFOQ0UgPSByZXF1aXJlKCcuL193a3MnKSgnaGFzSW5zdGFuY2UnKTtcbnZhciBGdW5jdGlvblByb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuLy8gMTkuMi4zLjYgRnVuY3Rpb24ucHJvdG90eXBlW0BAaGFzSW5zdGFuY2VdKFYpXG5pZiAoIShIQVNfSU5TVEFOQ0UgaW4gRnVuY3Rpb25Qcm90bykpIHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmYoRnVuY3Rpb25Qcm90bywgSEFTX0lOU1RBTkNFLCB7IHZhbHVlOiBmdW5jdGlvbiAoTykge1xuICBpZiAodHlwZW9mIHRoaXMgIT0gJ2Z1bmN0aW9uJyB8fCAhaXNPYmplY3QoTykpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFpc09iamVjdCh0aGlzLnByb3RvdHlwZSkpIHJldHVybiBPIGluc3RhbmNlb2YgdGhpcztcbiAgLy8gZm9yIGVudmlyb25tZW50IHcvbyBuYXRpdmUgYEBAaGFzSW5zdGFuY2VgIGxvZ2ljIGVub3VnaCBgaW5zdGFuY2VvZmAsIGJ1dCBhZGQgdGhpczpcbiAgd2hpbGUgKE8gPSBnZXRQcm90b3R5cGVPZihPKSkgaWYgKHRoaXMucHJvdG90eXBlID09PSBPKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIGZhbHNlO1xufSB9KTtcbiIsInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgRlByb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlO1xudmFyIG5hbWVSRSA9IC9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLztcbnZhciBOQU1FID0gJ25hbWUnO1xuXG4vLyAxOS4yLjQuMiBuYW1lXG5OQU1FIGluIEZQcm90byB8fCByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmIGRQKEZQcm90bywgTkFNRSwge1xuICBjb25maWd1cmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKCcnICsgdGhpcykubWF0Y2gobmFtZVJFKVsxXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBzdHJvbmcgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uLXN0cm9uZycpO1xudmFyIHZhbGlkYXRlID0gcmVxdWlyZSgnLi9fdmFsaWRhdGUtY29sbGVjdGlvbicpO1xudmFyIE1BUCA9ICdNYXAnO1xuXG4vLyAyMy4xIE1hcCBPYmplY3RzXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvbGxlY3Rpb24nKShNQVAsIGZ1bmN0aW9uIChnZXQpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIE1hcCgpIHsgcmV0dXJuIGdldCh0aGlzLCBhcmd1bWVudHMubGVuZ3RoID4gMCA/IGFyZ3VtZW50c1swXSA6IHVuZGVmaW5lZCk7IH07XG59LCB7XG4gIC8vIDIzLjEuMy42IE1hcC5wcm90b3R5cGUuZ2V0KGtleSlcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoa2V5KSB7XG4gICAgdmFyIGVudHJ5ID0gc3Ryb25nLmdldEVudHJ5KHZhbGlkYXRlKHRoaXMsIE1BUCksIGtleSk7XG4gICAgcmV0dXJuIGVudHJ5ICYmIGVudHJ5LnY7XG4gIH0sXG4gIC8vIDIzLjEuMy45IE1hcC5wcm90b3R5cGUuc2V0KGtleSwgdmFsdWUpXG4gIHNldDogZnVuY3Rpb24gc2V0KGtleSwgdmFsdWUpIHtcbiAgICByZXR1cm4gc3Ryb25nLmRlZih2YWxpZGF0ZSh0aGlzLCBNQVApLCBrZXkgPT09IDAgPyAwIDoga2V5LCB2YWx1ZSk7XG4gIH1cbn0sIHN0cm9uZywgdHJ1ZSk7XG4iLCIvLyAyMC4yLjIuMyBNYXRoLmFjb3NoKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGxvZzFwID0gcmVxdWlyZSgnLi9fbWF0aC1sb2cxcCcpO1xudmFyIHNxcnQgPSBNYXRoLnNxcnQ7XG52YXIgJGFjb3NoID0gTWF0aC5hY29zaDtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhKCRhY29zaFxuICAvLyBWOCBidWc6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zNTA5XG4gICYmIE1hdGguZmxvb3IoJGFjb3NoKE51bWJlci5NQVhfVkFMVUUpKSA9PSA3MTBcbiAgLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmFjb3NoKEluZmluaXR5KSAtPiBOYU5cbiAgJiYgJGFjb3NoKEluZmluaXR5KSA9PSBJbmZpbml0eVxuKSwgJ01hdGgnLCB7XG4gIGFjb3NoOiBmdW5jdGlvbiBhY29zaCh4KSB7XG4gICAgcmV0dXJuICh4ID0gK3gpIDwgMSA/IE5hTiA6IHggPiA5NDkwNjI2NS42MjQyNTE1NlxuICAgICAgPyBNYXRoLmxvZyh4KSArIE1hdGguTE4yXG4gICAgICA6IGxvZzFwKHggLSAxICsgc3FydCh4IC0gMSkgKiBzcXJ0KHggKyAxKSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjUgTWF0aC5hc2luaCh4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkYXNpbmggPSBNYXRoLmFzaW5oO1xuXG5mdW5jdGlvbiBhc2luaCh4KSB7XG4gIHJldHVybiAhaXNGaW5pdGUoeCA9ICt4KSB8fCB4ID09IDAgPyB4IDogeCA8IDAgPyAtYXNpbmgoLXgpIDogTWF0aC5sb2coeCArIE1hdGguc3FydCh4ICogeCArIDEpKTtcbn1cblxuLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmFzaW5oKDApIC0+IC0wXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoJGFzaW5oICYmIDEgLyAkYXNpbmgoMCkgPiAwKSwgJ01hdGgnLCB7IGFzaW5oOiBhc2luaCB9KTtcbiIsIi8vIDIwLjIuMi43IE1hdGguYXRhbmgoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGF0YW5oID0gTWF0aC5hdGFuaDtcblxuLy8gVG9yIEJyb3dzZXIgYnVnOiBNYXRoLmF0YW5oKC0wKSAtPiAwXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoJGF0YW5oICYmIDEgLyAkYXRhbmgoLTApIDwgMCksICdNYXRoJywge1xuICBhdGFuaDogZnVuY3Rpb24gYXRhbmgoeCkge1xuICAgIHJldHVybiAoeCA9ICt4KSA9PSAwID8geCA6IE1hdGgubG9nKCgxICsgeCkgLyAoMSAtIHgpKSAvIDI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjkgTWF0aC5jYnJ0KHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHNpZ24gPSByZXF1aXJlKCcuL19tYXRoLXNpZ24nKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBjYnJ0OiBmdW5jdGlvbiBjYnJ0KHgpIHtcbiAgICByZXR1cm4gc2lnbih4ID0gK3gpICogTWF0aC5wb3coTWF0aC5hYnMoeCksIDEgLyAzKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMTEgTWF0aC5jbHozMih4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBjbHozMjogZnVuY3Rpb24gY2x6MzIoeCkge1xuICAgIHJldHVybiAoeCA+Pj49IDApID8gMzEgLSBNYXRoLmZsb29yKE1hdGgubG9nKHggKyAwLjUpICogTWF0aC5MT0cyRSkgOiAzMjtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMTIgTWF0aC5jb3NoKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGV4cCA9IE1hdGguZXhwO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGNvc2g6IGZ1bmN0aW9uIGNvc2goeCkge1xuICAgIHJldHVybiAoZXhwKHggPSAreCkgKyBleHAoLXgpKSAvIDI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjE0IE1hdGguZXhwbTEoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGV4cG0xID0gcmVxdWlyZSgnLi9fbWF0aC1leHBtMScpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICgkZXhwbTEgIT0gTWF0aC5leHBtMSksICdNYXRoJywgeyBleHBtMTogJGV4cG0xIH0pO1xuIiwiLy8gMjAuMi4yLjE2IE1hdGguZnJvdW5kKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7IGZyb3VuZDogcmVxdWlyZSgnLi9fbWF0aC1mcm91bmQnKSB9KTtcbiIsIi8vIDIwLjIuMi4xNyBNYXRoLmh5cG90KFt2YWx1ZTFbLCB2YWx1ZTJbLCDigKYgXV1dKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhYnMgPSBNYXRoLmFicztcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywge1xuICBoeXBvdDogZnVuY3Rpb24gaHlwb3QodmFsdWUxLCB2YWx1ZTIpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIHZhciBzdW0gPSAwO1xuICAgIHZhciBpID0gMDtcbiAgICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIGxhcmcgPSAwO1xuICAgIHZhciBhcmcsIGRpdjtcbiAgICB3aGlsZSAoaSA8IGFMZW4pIHtcbiAgICAgIGFyZyA9IGFicyhhcmd1bWVudHNbaSsrXSk7XG4gICAgICBpZiAobGFyZyA8IGFyZykge1xuICAgICAgICBkaXYgPSBsYXJnIC8gYXJnO1xuICAgICAgICBzdW0gPSBzdW0gKiBkaXYgKiBkaXYgKyAxO1xuICAgICAgICBsYXJnID0gYXJnO1xuICAgICAgfSBlbHNlIGlmIChhcmcgPiAwKSB7XG4gICAgICAgIGRpdiA9IGFyZyAvIGxhcmc7XG4gICAgICAgIHN1bSArPSBkaXYgKiBkaXY7XG4gICAgICB9IGVsc2Ugc3VtICs9IGFyZztcbiAgICB9XG4gICAgcmV0dXJuIGxhcmcgPT09IEluZmluaXR5ID8gSW5maW5pdHkgOiBsYXJnICogTWF0aC5zcXJ0KHN1bSk7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjE4IE1hdGguaW11bCh4LCB5KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkaW11bCA9IE1hdGguaW11bDtcblxuLy8gc29tZSBXZWJLaXQgdmVyc2lvbnMgZmFpbHMgd2l0aCBiaWcgbnVtYmVycywgc29tZSBoYXMgd3JvbmcgYXJpdHlcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIHJldHVybiAkaW11bCgweGZmZmZmZmZmLCA1KSAhPSAtNSB8fCAkaW11bC5sZW5ndGggIT0gMjtcbn0pLCAnTWF0aCcsIHtcbiAgaW11bDogZnVuY3Rpb24gaW11bCh4LCB5KSB7XG4gICAgdmFyIFVJTlQxNiA9IDB4ZmZmZjtcbiAgICB2YXIgeG4gPSAreDtcbiAgICB2YXIgeW4gPSAreTtcbiAgICB2YXIgeGwgPSBVSU5UMTYgJiB4bjtcbiAgICB2YXIgeWwgPSBVSU5UMTYgJiB5bjtcbiAgICByZXR1cm4gMCB8IHhsICogeWwgKyAoKFVJTlQxNiAmIHhuID4+PiAxNikgKiB5bCArIHhsICogKFVJTlQxNiAmIHluID4+PiAxNikgPDwgMTYgPj4+IDApO1xuICB9XG59KTtcbiIsIi8vIDIwLjIuMi4yMSBNYXRoLmxvZzEwKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIGxvZzEwOiBmdW5jdGlvbiBsb2cxMCh4KSB7XG4gICAgcmV0dXJuIE1hdGgubG9nKHgpICogTWF0aC5MT0cxMEU7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjIwIE1hdGgubG9nMXAoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHsgbG9nMXA6IHJlcXVpcmUoJy4vX21hdGgtbG9nMXAnKSB9KTtcbiIsIi8vIDIwLjIuMi4yMiBNYXRoLmxvZzIoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTWF0aCcsIHtcbiAgbG9nMjogZnVuY3Rpb24gbG9nMih4KSB7XG4gICAgcmV0dXJuIE1hdGgubG9nKHgpIC8gTWF0aC5MTjI7XG4gIH1cbn0pO1xuIiwiLy8gMjAuMi4yLjI4IE1hdGguc2lnbih4KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdNYXRoJywgeyBzaWduOiByZXF1aXJlKCcuL19tYXRoLXNpZ24nKSB9KTtcbiIsIi8vIDIwLjIuMi4zMCBNYXRoLnNpbmgoeClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZXhwbTEgPSByZXF1aXJlKCcuL19tYXRoLWV4cG0xJyk7XG52YXIgZXhwID0gTWF0aC5leHA7XG5cbi8vIFY4IG5lYXIgQ2hyb21pdW0gMzggaGFzIGEgcHJvYmxlbSB3aXRoIHZlcnkgc21hbGwgbnVtYmVyc1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiByZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuICFNYXRoLnNpbmgoLTJlLTE3KSAhPSAtMmUtMTc7XG59KSwgJ01hdGgnLCB7XG4gIHNpbmg6IGZ1bmN0aW9uIHNpbmgoeCkge1xuICAgIHJldHVybiBNYXRoLmFicyh4ID0gK3gpIDwgMVxuICAgICAgPyAoZXhwbTEoeCkgLSBleHBtMSgteCkpIC8gMlxuICAgICAgOiAoZXhwKHggLSAxKSAtIGV4cCgteCAtIDEpKSAqIChNYXRoLkUgLyAyKTtcbiAgfVxufSk7XG4iLCIvLyAyMC4yLjIuMzMgTWF0aC50YW5oKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGV4cG0xID0gcmVxdWlyZSgnLi9fbWF0aC1leHBtMScpO1xudmFyIGV4cCA9IE1hdGguZXhwO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIHRhbmg6IGZ1bmN0aW9uIHRhbmgoeCkge1xuICAgIHZhciBhID0gZXhwbTEoeCA9ICt4KTtcbiAgICB2YXIgYiA9IGV4cG0xKC14KTtcbiAgICByZXR1cm4gYSA9PSBJbmZpbml0eSA/IDEgOiBiID09IEluZmluaXR5ID8gLTEgOiAoYSAtIGIpIC8gKGV4cCh4KSArIGV4cCgteCkpO1xuICB9XG59KTtcbiIsIi8vIDIwLjIuMi4zNCBNYXRoLnRydW5jKHgpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ01hdGgnLCB7XG4gIHRydW5jOiBmdW5jdGlvbiB0cnVuYyhpdCkge1xuICAgIHJldHVybiAoaXQgPiAwID8gTWF0aC5mbG9vciA6IE1hdGguY2VpbCkoaXQpO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbnZhciBpbmhlcml0SWZSZXF1aXJlZCA9IHJlcXVpcmUoJy4vX2luaGVyaXQtaWYtcmVxdWlyZWQnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xudmFyIGdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpLmY7XG52YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyICR0cmltID0gcmVxdWlyZSgnLi9fc3RyaW5nLXRyaW0nKS50cmltO1xudmFyIE5VTUJFUiA9ICdOdW1iZXInO1xudmFyICROdW1iZXIgPSBnbG9iYWxbTlVNQkVSXTtcbnZhciBCYXNlID0gJE51bWJlcjtcbnZhciBwcm90byA9ICROdW1iZXIucHJvdG90eXBlO1xuLy8gT3BlcmEgfjEyIGhhcyBicm9rZW4gT2JqZWN0I3RvU3RyaW5nXG52YXIgQlJPS0VOX0NPRiA9IGNvZihyZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykocHJvdG8pKSA9PSBOVU1CRVI7XG52YXIgVFJJTSA9ICd0cmltJyBpbiBTdHJpbmcucHJvdG90eXBlO1xuXG4vLyA3LjEuMyBUb051bWJlcihhcmd1bWVudClcbnZhciB0b051bWJlciA9IGZ1bmN0aW9uIChhcmd1bWVudCkge1xuICB2YXIgaXQgPSB0b1ByaW1pdGl2ZShhcmd1bWVudCwgZmFsc2UpO1xuICBpZiAodHlwZW9mIGl0ID09ICdzdHJpbmcnICYmIGl0Lmxlbmd0aCA+IDIpIHtcbiAgICBpdCA9IFRSSU0gPyBpdC50cmltKCkgOiAkdHJpbShpdCwgMyk7XG4gICAgdmFyIGZpcnN0ID0gaXQuY2hhckNvZGVBdCgwKTtcbiAgICB2YXIgdGhpcmQsIHJhZGl4LCBtYXhDb2RlO1xuICAgIGlmIChmaXJzdCA9PT0gNDMgfHwgZmlyc3QgPT09IDQ1KSB7XG4gICAgICB0aGlyZCA9IGl0LmNoYXJDb2RlQXQoMik7XG4gICAgICBpZiAodGhpcmQgPT09IDg4IHx8IHRoaXJkID09PSAxMjApIHJldHVybiBOYU47IC8vIE51bWJlcignKzB4MScpIHNob3VsZCBiZSBOYU4sIG9sZCBWOCBmaXhcbiAgICB9IGVsc2UgaWYgKGZpcnN0ID09PSA0OCkge1xuICAgICAgc3dpdGNoIChpdC5jaGFyQ29kZUF0KDEpKSB7XG4gICAgICAgIGNhc2UgNjY6IGNhc2UgOTg6IHJhZGl4ID0gMjsgbWF4Q29kZSA9IDQ5OyBicmVhazsgLy8gZmFzdCBlcXVhbCAvXjBiWzAxXSskL2lcbiAgICAgICAgY2FzZSA3OTogY2FzZSAxMTE6IHJhZGl4ID0gODsgbWF4Q29kZSA9IDU1OyBicmVhazsgLy8gZmFzdCBlcXVhbCAvXjBvWzAtN10rJC9pXG4gICAgICAgIGRlZmF1bHQ6IHJldHVybiAraXQ7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBkaWdpdHMgPSBpdC5zbGljZSgyKSwgaSA9IDAsIGwgPSBkaWdpdHMubGVuZ3RoLCBjb2RlOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGNvZGUgPSBkaWdpdHMuY2hhckNvZGVBdChpKTtcbiAgICAgICAgLy8gcGFyc2VJbnQgcGFyc2VzIGEgc3RyaW5nIHRvIGEgZmlyc3QgdW5hdmFpbGFibGUgc3ltYm9sXG4gICAgICAgIC8vIGJ1dCBUb051bWJlciBzaG91bGQgcmV0dXJuIE5hTiBpZiBhIHN0cmluZyBjb250YWlucyB1bmF2YWlsYWJsZSBzeW1ib2xzXG4gICAgICAgIGlmIChjb2RlIDwgNDggfHwgY29kZSA+IG1heENvZGUpIHJldHVybiBOYU47XG4gICAgICB9IHJldHVybiBwYXJzZUludChkaWdpdHMsIHJhZGl4KTtcbiAgICB9XG4gIH0gcmV0dXJuICtpdDtcbn07XG5cbmlmICghJE51bWJlcignIDBvMScpIHx8ICEkTnVtYmVyKCcwYjEnKSB8fCAkTnVtYmVyKCcrMHgxJykpIHtcbiAgJE51bWJlciA9IGZ1bmN0aW9uIE51bWJlcih2YWx1ZSkge1xuICAgIHZhciBpdCA9IGFyZ3VtZW50cy5sZW5ndGggPCAxID8gMCA6IHZhbHVlO1xuICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICByZXR1cm4gdGhhdCBpbnN0YW5jZW9mICROdW1iZXJcbiAgICAgIC8vIGNoZWNrIG9uIDEuLmNvbnN0cnVjdG9yKGZvbykgY2FzZVxuICAgICAgJiYgKEJST0tFTl9DT0YgPyBmYWlscyhmdW5jdGlvbiAoKSB7IHByb3RvLnZhbHVlT2YuY2FsbCh0aGF0KTsgfSkgOiBjb2YodGhhdCkgIT0gTlVNQkVSKVxuICAgICAgICA/IGluaGVyaXRJZlJlcXVpcmVkKG5ldyBCYXNlKHRvTnVtYmVyKGl0KSksIHRoYXQsICROdW1iZXIpIDogdG9OdW1iZXIoaXQpO1xuICB9O1xuICBmb3IgKHZhciBrZXlzID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IGdPUE4oQmFzZSkgOiAoXG4gICAgLy8gRVMzOlxuICAgICdNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSwnICtcbiAgICAvLyBFUzYgKGluIGNhc2UsIGlmIG1vZHVsZXMgd2l0aCBFUzYgTnVtYmVyIHN0YXRpY3MgcmVxdWlyZWQgYmVmb3JlKTpcbiAgICAnRVBTSUxPTixpc0Zpbml0ZSxpc0ludGVnZXIsaXNOYU4saXNTYWZlSW50ZWdlcixNQVhfU0FGRV9JTlRFR0VSLCcgK1xuICAgICdNSU5fU0FGRV9JTlRFR0VSLHBhcnNlRmxvYXQscGFyc2VJbnQsaXNJbnRlZ2VyJ1xuICApLnNwbGl0KCcsJyksIGogPSAwLCBrZXk7IGtleXMubGVuZ3RoID4gajsgaisrKSB7XG4gICAgaWYgKGhhcyhCYXNlLCBrZXkgPSBrZXlzW2pdKSAmJiAhaGFzKCROdW1iZXIsIGtleSkpIHtcbiAgICAgIGRQKCROdW1iZXIsIGtleSwgZ09QRChCYXNlLCBrZXkpKTtcbiAgICB9XG4gIH1cbiAgJE51bWJlci5wcm90b3R5cGUgPSBwcm90bztcbiAgcHJvdG8uY29uc3RydWN0b3IgPSAkTnVtYmVyO1xuICByZXF1aXJlKCcuL19yZWRlZmluZScpKGdsb2JhbCwgTlVNQkVSLCAkTnVtYmVyKTtcbn1cbiIsIi8vIDIwLjEuMi4xIE51bWJlci5FUFNJTE9OXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHsgRVBTSUxPTjogTWF0aC5wb3coMiwgLTUyKSB9KTtcbiIsIi8vIDIwLjEuMi4yIE51bWJlci5pc0Zpbml0ZShudW1iZXIpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIF9pc0Zpbml0ZSA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmlzRmluaXRlO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNGaW5pdGU6IGZ1bmN0aW9uIGlzRmluaXRlKGl0KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBpdCA9PSAnbnVtYmVyJyAmJiBfaXNGaW5pdGUoaXQpO1xuICB9XG59KTtcbiIsIi8vIDIwLjEuMi4zIE51bWJlci5pc0ludGVnZXIobnVtYmVyKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IGlzSW50ZWdlcjogcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpIH0pO1xuIiwiLy8gMjAuMS4yLjQgTnVtYmVyLmlzTmFOKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywge1xuICBpc05hTjogZnVuY3Rpb24gaXNOYU4obnVtYmVyKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHJldHVybiBudW1iZXIgIT0gbnVtYmVyO1xuICB9XG59KTtcbiIsIi8vIDIwLjEuMi41IE51bWJlci5pc1NhZmVJbnRlZ2VyKG51bWJlcilcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgaXNJbnRlZ2VyID0gcmVxdWlyZSgnLi9faXMtaW50ZWdlcicpO1xudmFyIGFicyA9IE1hdGguYWJzO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ051bWJlcicsIHtcbiAgaXNTYWZlSW50ZWdlcjogZnVuY3Rpb24gaXNTYWZlSW50ZWdlcihudW1iZXIpIHtcbiAgICByZXR1cm4gaXNJbnRlZ2VyKG51bWJlcikgJiYgYWJzKG51bWJlcikgPD0gMHgxZmZmZmZmZmZmZmZmZjtcbiAgfVxufSk7XG4iLCIvLyAyMC4xLjIuNiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdOdW1iZXInLCB7IE1BWF9TQUZFX0lOVEVHRVI6IDB4MWZmZmZmZmZmZmZmZmYgfSk7XG4iLCIvLyAyMC4xLjIuMTAgTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnTnVtYmVyJywgeyBNSU5fU0FGRV9JTlRFR0VSOiAtMHgxZmZmZmZmZmZmZmZmZiB9KTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhcnNlRmxvYXQgPSByZXF1aXJlKCcuL19wYXJzZS1mbG9hdCcpO1xuLy8gMjAuMS4yLjEyIE51bWJlci5wYXJzZUZsb2F0KHN0cmluZylcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogKE51bWJlci5wYXJzZUZsb2F0ICE9ICRwYXJzZUZsb2F0KSwgJ051bWJlcicsIHsgcGFyc2VGbG9hdDogJHBhcnNlRmxvYXQgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRwYXJzZUludCA9IHJlcXVpcmUoJy4vX3BhcnNlLWludCcpO1xuLy8gMjAuMS4yLjEzIE51bWJlci5wYXJzZUludChzdHJpbmcsIHJhZGl4KVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTnVtYmVyLnBhcnNlSW50ICE9ICRwYXJzZUludCksICdOdW1iZXInLCB7IHBhcnNlSW50OiAkcGFyc2VJbnQgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBhTnVtYmVyVmFsdWUgPSByZXF1aXJlKCcuL19hLW51bWJlci12YWx1ZScpO1xudmFyIHJlcGVhdCA9IHJlcXVpcmUoJy4vX3N0cmluZy1yZXBlYXQnKTtcbnZhciAkdG9GaXhlZCA9IDEuMC50b0ZpeGVkO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBkYXRhID0gWzAsIDAsIDAsIDAsIDAsIDBdO1xudmFyIEVSUk9SID0gJ051bWJlci50b0ZpeGVkOiBpbmNvcnJlY3QgaW52b2NhdGlvbiEnO1xudmFyIFpFUk8gPSAnMCc7XG5cbnZhciBtdWx0aXBseSA9IGZ1bmN0aW9uIChuLCBjKSB7XG4gIHZhciBpID0gLTE7XG4gIHZhciBjMiA9IGM7XG4gIHdoaWxlICgrK2kgPCA2KSB7XG4gICAgYzIgKz0gbiAqIGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGMyICUgMWU3O1xuICAgIGMyID0gZmxvb3IoYzIgLyAxZTcpO1xuICB9XG59O1xudmFyIGRpdmlkZSA9IGZ1bmN0aW9uIChuKSB7XG4gIHZhciBpID0gNjtcbiAgdmFyIGMgPSAwO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBjICs9IGRhdGFbaV07XG4gICAgZGF0YVtpXSA9IGZsb29yKGMgLyBuKTtcbiAgICBjID0gKGMgJSBuKSAqIDFlNztcbiAgfVxufTtcbnZhciBudW1Ub1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGkgPSA2O1xuICB2YXIgcyA9ICcnO1xuICB3aGlsZSAoLS1pID49IDApIHtcbiAgICBpZiAocyAhPT0gJycgfHwgaSA9PT0gMCB8fCBkYXRhW2ldICE9PSAwKSB7XG4gICAgICB2YXIgdCA9IFN0cmluZyhkYXRhW2ldKTtcbiAgICAgIHMgPSBzID09PSAnJyA/IHQgOiBzICsgcmVwZWF0LmNhbGwoWkVSTywgNyAtIHQubGVuZ3RoKSArIHQ7XG4gICAgfVxuICB9IHJldHVybiBzO1xufTtcbnZhciBwb3cgPSBmdW5jdGlvbiAoeCwgbiwgYWNjKSB7XG4gIHJldHVybiBuID09PSAwID8gYWNjIDogbiAlIDIgPT09IDEgPyBwb3coeCwgbiAtIDEsIGFjYyAqIHgpIDogcG93KHggKiB4LCBuIC8gMiwgYWNjKTtcbn07XG52YXIgbG9nID0gZnVuY3Rpb24gKHgpIHtcbiAgdmFyIG4gPSAwO1xuICB2YXIgeDIgPSB4O1xuICB3aGlsZSAoeDIgPj0gNDA5Nikge1xuICAgIG4gKz0gMTI7XG4gICAgeDIgLz0gNDA5NjtcbiAgfVxuICB3aGlsZSAoeDIgPj0gMikge1xuICAgIG4gKz0gMTtcbiAgICB4MiAvPSAyO1xuICB9IHJldHVybiBuO1xufTtcblxuJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoISEkdG9GaXhlZCAmJiAoXG4gIDAuMDAwMDgudG9GaXhlZCgzKSAhPT0gJzAuMDAwJyB8fFxuICAwLjkudG9GaXhlZCgwKSAhPT0gJzEnIHx8XG4gIDEuMjU1LnRvRml4ZWQoMikgIT09ICcxLjI1JyB8fFxuICAxMDAwMDAwMDAwMDAwMDAwMTI4LjAudG9GaXhlZCgwKSAhPT0gJzEwMDAwMDAwMDAwMDAwMDAxMjgnXG4pIHx8ICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgLy8gVjggfiBBbmRyb2lkIDQuMy1cbiAgJHRvRml4ZWQuY2FsbCh7fSk7XG59KSksICdOdW1iZXInLCB7XG4gIHRvRml4ZWQ6IGZ1bmN0aW9uIHRvRml4ZWQoZnJhY3Rpb25EaWdpdHMpIHtcbiAgICB2YXIgeCA9IGFOdW1iZXJWYWx1ZSh0aGlzLCBFUlJPUik7XG4gICAgdmFyIGYgPSB0b0ludGVnZXIoZnJhY3Rpb25EaWdpdHMpO1xuICAgIHZhciBzID0gJyc7XG4gICAgdmFyIG0gPSBaRVJPO1xuICAgIHZhciBlLCB6LCBqLCBrO1xuICAgIGlmIChmIDwgMCB8fCBmID4gMjApIHRocm93IFJhbmdlRXJyb3IoRVJST1IpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoeCAhPSB4KSByZXR1cm4gJ05hTic7XG4gICAgaWYgKHggPD0gLTFlMjEgfHwgeCA+PSAxZTIxKSByZXR1cm4gU3RyaW5nKHgpO1xuICAgIGlmICh4IDwgMCkge1xuICAgICAgcyA9ICctJztcbiAgICAgIHggPSAteDtcbiAgICB9XG4gICAgaWYgKHggPiAxZS0yMSkge1xuICAgICAgZSA9IGxvZyh4ICogcG93KDIsIDY5LCAxKSkgLSA2OTtcbiAgICAgIHogPSBlIDwgMCA/IHggKiBwb3coMiwgLWUsIDEpIDogeCAvIHBvdygyLCBlLCAxKTtcbiAgICAgIHogKj0gMHgxMDAwMDAwMDAwMDAwMDtcbiAgICAgIGUgPSA1MiAtIGU7XG4gICAgICBpZiAoZSA+IDApIHtcbiAgICAgICAgbXVsdGlwbHkoMCwgeik7XG4gICAgICAgIGogPSBmO1xuICAgICAgICB3aGlsZSAoaiA+PSA3KSB7XG4gICAgICAgICAgbXVsdGlwbHkoMWU3LCAwKTtcbiAgICAgICAgICBqIC09IDc7XG4gICAgICAgIH1cbiAgICAgICAgbXVsdGlwbHkocG93KDEwLCBqLCAxKSwgMCk7XG4gICAgICAgIGogPSBlIC0gMTtcbiAgICAgICAgd2hpbGUgKGogPj0gMjMpIHtcbiAgICAgICAgICBkaXZpZGUoMSA8PCAyMyk7XG4gICAgICAgICAgaiAtPSAyMztcbiAgICAgICAgfVxuICAgICAgICBkaXZpZGUoMSA8PCBqKTtcbiAgICAgICAgbXVsdGlwbHkoMSwgMSk7XG4gICAgICAgIGRpdmlkZSgyKTtcbiAgICAgICAgbSA9IG51bVRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtdWx0aXBseSgwLCB6KTtcbiAgICAgICAgbXVsdGlwbHkoMSA8PCAtZSwgMCk7XG4gICAgICAgIG0gPSBudW1Ub1N0cmluZygpICsgcmVwZWF0LmNhbGwoWkVSTywgZik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChmID4gMCkge1xuICAgICAgayA9IG0ubGVuZ3RoO1xuICAgICAgbSA9IHMgKyAoayA8PSBmID8gJzAuJyArIHJlcGVhdC5jYWxsKFpFUk8sIGYgLSBrKSArIG0gOiBtLnNsaWNlKDAsIGsgLSBmKSArICcuJyArIG0uc2xpY2UoayAtIGYpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHMgKyBtO1xuICAgIH0gcmV0dXJuIG07XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciAkZmFpbHMgPSByZXF1aXJlKCcuL19mYWlscycpO1xudmFyIGFOdW1iZXJWYWx1ZSA9IHJlcXVpcmUoJy4vX2EtbnVtYmVyLXZhbHVlJyk7XG52YXIgJHRvUHJlY2lzaW9uID0gMS4wLnRvUHJlY2lzaW9uO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqICgkZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyBJRTctXG4gIHJldHVybiAkdG9QcmVjaXNpb24uY2FsbCgxLCB1bmRlZmluZWQpICE9PSAnMSc7XG59KSB8fCAhJGZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgLy8gVjggfiBBbmRyb2lkIDQuMy1cbiAgJHRvUHJlY2lzaW9uLmNhbGwoe30pO1xufSkpLCAnTnVtYmVyJywge1xuICB0b1ByZWNpc2lvbjogZnVuY3Rpb24gdG9QcmVjaXNpb24ocHJlY2lzaW9uKSB7XG4gICAgdmFyIHRoYXQgPSBhTnVtYmVyVmFsdWUodGhpcywgJ051bWJlciN0b1ByZWNpc2lvbjogaW5jb3JyZWN0IGludm9jYXRpb24hJyk7XG4gICAgcmV0dXJuIHByZWNpc2lvbiA9PT0gdW5kZWZpbmVkID8gJHRvUHJlY2lzaW9uLmNhbGwodGhhdCkgOiAkdG9QcmVjaXNpb24uY2FsbCh0aGF0LCBwcmVjaXNpb24pO1xuICB9XG59KTtcbiIsIi8vIDE5LjEuMy4xIE9iamVjdC5hc3NpZ24odGFyZ2V0LCBzb3VyY2UpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiwgJ09iamVjdCcsIHsgYXNzaWduOiByZXF1aXJlKCcuL19vYmplY3QtYXNzaWduJykgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG4kZXhwb3J0KCRleHBvcnQuUywgJ09iamVjdCcsIHsgY3JlYXRlOiByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJykgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuLy8gMTkuMS4yLjMgLyAxNS4yLjMuNyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSwgJ09iamVjdCcsIHsgZGVmaW5lUHJvcGVydGllczogcmVxdWlyZSgnLi9fb2JqZWN0LWRwcycpIH0pO1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbi8vIDE5LjEuMi40IC8gMTUuMi4zLjYgT2JqZWN0LmRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpXG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpLCAnT2JqZWN0JywgeyBkZWZpbmVQcm9wZXJ0eTogcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZiB9KTtcbiIsIi8vIDE5LjEuMi41IE9iamVjdC5mcmVlemUoTylcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIG1ldGEgPSByZXF1aXJlKCcuL19tZXRhJykub25GcmVlemU7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnZnJlZXplJywgZnVuY3Rpb24gKCRmcmVlemUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGZyZWV6ZShpdCkge1xuICAgIHJldHVybiAkZnJlZXplICYmIGlzT2JqZWN0KGl0KSA/ICRmcmVlemUobWV0YShpdCkpIDogaXQ7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi42IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUClcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgJGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJykuZjtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3InLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaXQsIGtleSkge1xuICAgIHJldHVybiAkZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRvSU9iamVjdChpdCksIGtleSk7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi43IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE8pXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2dldE93blByb3BlcnR5TmFtZXMnLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiByZXF1aXJlKCcuL19vYmplY3QtZ29wbi1leHQnKS5mO1xufSk7XG4iLCIvLyAxOS4xLjIuOSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoTylcbnZhciB0b09iamVjdCA9IHJlcXVpcmUoJy4vX3RvLW9iamVjdCcpO1xudmFyICRnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdnZXRQcm90b3R5cGVPZicsIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGdldFByb3RvdHlwZU9mKGl0KSB7XG4gICAgcmV0dXJuICRnZXRQcm90b3R5cGVPZih0b09iamVjdChpdCkpO1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjIuMTEgT2JqZWN0LmlzRXh0ZW5zaWJsZShPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnaXNFeHRlbnNpYmxlJywgZnVuY3Rpb24gKCRpc0V4dGVuc2libGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGlzRXh0ZW5zaWJsZShpdCkge1xuICAgIHJldHVybiBpc09iamVjdChpdCkgPyAkaXNFeHRlbnNpYmxlID8gJGlzRXh0ZW5zaWJsZShpdCkgOiB0cnVlIDogZmFsc2U7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi4xMiBPYmplY3QuaXNGcm96ZW4oTylcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuXG5yZXF1aXJlKCcuL19vYmplY3Qtc2FwJykoJ2lzRnJvemVuJywgZnVuY3Rpb24gKCRpc0Zyb3plbikge1xuICByZXR1cm4gZnVuY3Rpb24gaXNGcm96ZW4oaXQpIHtcbiAgICByZXR1cm4gaXNPYmplY3QoaXQpID8gJGlzRnJvemVuID8gJGlzRnJvemVuKGl0KSA6IGZhbHNlIDogdHJ1ZTtcbiAgfTtcbn0pO1xuIiwiLy8gMTkuMS4yLjEzIE9iamVjdC5pc1NlYWxlZChPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgnaXNTZWFsZWQnLCBmdW5jdGlvbiAoJGlzU2VhbGVkKSB7XG4gIHJldHVybiBmdW5jdGlvbiBpc1NlYWxlZChpdCkge1xuICAgIHJldHVybiBpc09iamVjdChpdCkgPyAkaXNTZWFsZWQgPyAkaXNTZWFsZWQoaXQpIDogZmFsc2UgOiB0cnVlO1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjMuMTAgT2JqZWN0LmlzKHZhbHVlMSwgdmFsdWUyKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0JywgeyBpczogcmVxdWlyZSgnLi9fc2FtZS12YWx1ZScpIH0pO1xuIiwiLy8gMTkuMS4yLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciAka2V5cyA9IHJlcXVpcmUoJy4vX29iamVjdC1rZXlzJyk7XG5cbnJlcXVpcmUoJy4vX29iamVjdC1zYXAnKSgna2V5cycsIGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGtleXMoaXQpIHtcbiAgICByZXR1cm4gJGtleXModG9PYmplY3QoaXQpKTtcbiAgfTtcbn0pO1xuIiwiLy8gMTkuMS4yLjE1IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKS5vbkZyZWV6ZTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdwcmV2ZW50RXh0ZW5zaW9ucycsIGZ1bmN0aW9uICgkcHJldmVudEV4dGVuc2lvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHByZXZlbnRFeHRlbnNpb25zKGl0KSB7XG4gICAgcmV0dXJuICRwcmV2ZW50RXh0ZW5zaW9ucyAmJiBpc09iamVjdChpdCkgPyAkcHJldmVudEV4dGVuc2lvbnMobWV0YShpdCkpIDogaXQ7XG4gIH07XG59KTtcbiIsIi8vIDE5LjEuMi4xNyBPYmplY3Quc2VhbChPKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgbWV0YSA9IHJlcXVpcmUoJy4vX21ldGEnKS5vbkZyZWV6ZTtcblxucmVxdWlyZSgnLi9fb2JqZWN0LXNhcCcpKCdzZWFsJywgZnVuY3Rpb24gKCRzZWFsKSB7XG4gIHJldHVybiBmdW5jdGlvbiBzZWFsKGl0KSB7XG4gICAgcmV0dXJuICRzZWFsICYmIGlzT2JqZWN0KGl0KSA/ICRzZWFsKG1ldGEoaXQpKSA6IGl0O1xuICB9O1xufSk7XG4iLCIvLyAxOS4xLjMuMTkgT2JqZWN0LnNldFByb3RvdHlwZU9mKE8sIHByb3RvKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbiRleHBvcnQoJGV4cG9ydC5TLCAnT2JqZWN0JywgeyBzZXRQcm90b3R5cGVPZjogcmVxdWlyZSgnLi9fc2V0LXByb3RvJykuc2V0IH0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gMTkuMS4zLjYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciB0ZXN0ID0ge307XG50ZXN0W3JlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpXSA9ICd6JztcbmlmICh0ZXN0ICsgJycgIT0gJ1tvYmplY3Qgel0nKSB7XG4gIHJlcXVpcmUoJy4vX3JlZGVmaW5lJykoT2JqZWN0LnByb3RvdHlwZSwgJ3RvU3RyaW5nJywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICdbb2JqZWN0ICcgKyBjbGFzc29mKHRoaXMpICsgJ10nO1xuICB9LCB0cnVlKTtcbn1cbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJHBhcnNlRmxvYXQgPSByZXF1aXJlKCcuL19wYXJzZS1mbG9hdCcpO1xuLy8gMTguMi40IHBhcnNlRmxvYXQoc3RyaW5nKVxuJGV4cG9ydCgkZXhwb3J0LkcgKyAkZXhwb3J0LkYgKiAocGFyc2VGbG9hdCAhPSAkcGFyc2VGbG9hdCksIHsgcGFyc2VGbG9hdDogJHBhcnNlRmxvYXQgfSk7XG4iLCJ2YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyICRwYXJzZUludCA9IHJlcXVpcmUoJy4vX3BhcnNlLWludCcpO1xuLy8gMTguMi41IHBhcnNlSW50KHN0cmluZywgcmFkaXgpXG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuRiAqIChwYXJzZUludCAhPSAkcGFyc2VJbnQpLCB7IHBhcnNlSW50OiAkcGFyc2VJbnQgfSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgTElCUkFSWSA9IHJlcXVpcmUoJy4vX2xpYnJhcnknKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuL19nbG9iYWwnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBjbGFzc29mID0gcmVxdWlyZSgnLi9fY2xhc3NvZicpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi9fYW4taW5zdGFuY2UnKTtcbnZhciBmb3JPZiA9IHJlcXVpcmUoJy4vX2Zvci1vZicpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX3NwZWNpZXMtY29uc3RydWN0b3InKTtcbnZhciB0YXNrID0gcmVxdWlyZSgnLi9fdGFzaycpLnNldDtcbnZhciBtaWNyb3Rhc2sgPSByZXF1aXJlKCcuL19taWNyb3Rhc2snKSgpO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlID0gcmVxdWlyZSgnLi9fbmV3LXByb21pc2UtY2FwYWJpbGl0eScpO1xudmFyIHBlcmZvcm0gPSByZXF1aXJlKCcuL19wZXJmb3JtJyk7XG52YXIgdXNlckFnZW50ID0gcmVxdWlyZSgnLi9fdXNlci1hZ2VudCcpO1xudmFyIHByb21pc2VSZXNvbHZlID0gcmVxdWlyZSgnLi9fcHJvbWlzZS1yZXNvbHZlJyk7XG52YXIgUFJPTUlTRSA9ICdQcm9taXNlJztcbnZhciBUeXBlRXJyb3IgPSBnbG9iYWwuVHlwZUVycm9yO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciB2ZXJzaW9ucyA9IHByb2Nlc3MgJiYgcHJvY2Vzcy52ZXJzaW9ucztcbnZhciB2OCA9IHZlcnNpb25zICYmIHZlcnNpb25zLnY4IHx8ICcnO1xudmFyICRQcm9taXNlID0gZ2xvYmFsW1BST01JU0VdO1xudmFyIGlzTm9kZSA9IGNsYXNzb2YocHJvY2VzcykgPT0gJ3Byb2Nlc3MnO1xudmFyIGVtcHR5ID0gZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9O1xudmFyIEludGVybmFsLCBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHksIE93blByb21pc2VDYXBhYmlsaXR5LCBXcmFwcGVyO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gbmV3R2VuZXJpY1Byb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZjtcblxudmFyIFVTRV9OQVRJVkUgPSAhIWZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICAvLyBjb3JyZWN0IHN1YmNsYXNzaW5nIHdpdGggQEBzcGVjaWVzIHN1cHBvcnRcbiAgICB2YXIgcHJvbWlzZSA9ICRQcm9taXNlLnJlc29sdmUoMSk7XG4gICAgdmFyIEZha2VQcm9taXNlID0gKHByb21pc2UuY29uc3RydWN0b3IgPSB7fSlbcmVxdWlyZSgnLi9fd2tzJykoJ3NwZWNpZXMnKV0gPSBmdW5jdGlvbiAoZXhlYykge1xuICAgICAgZXhlYyhlbXB0eSwgZW1wdHkpO1xuICAgIH07XG4gICAgLy8gdW5oYW5kbGVkIHJlamVjdGlvbnMgdHJhY2tpbmcgc3VwcG9ydCwgTm9kZUpTIFByb21pc2Ugd2l0aG91dCBpdCBmYWlscyBAQHNwZWNpZXMgdGVzdFxuICAgIHJldHVybiAoaXNOb2RlIHx8IHR5cGVvZiBQcm9taXNlUmVqZWN0aW9uRXZlbnQgPT0gJ2Z1bmN0aW9uJylcbiAgICAgICYmIHByb21pc2UudGhlbihlbXB0eSkgaW5zdGFuY2VvZiBGYWtlUHJvbWlzZVxuICAgICAgLy8gdjggNi42IChOb2RlIDEwIGFuZCBDaHJvbWUgNjYpIGhhdmUgYSBidWcgd2l0aCByZXNvbHZpbmcgY3VzdG9tIHRoZW5hYmxlc1xuICAgICAgLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODMwNTY1XG4gICAgICAvLyB3ZSBjYW4ndCBkZXRlY3QgaXQgc3luY2hyb25vdXNseSwgc28ganVzdCBjaGVjayB2ZXJzaW9uc1xuICAgICAgJiYgdjguaW5kZXhPZignNi42JykgIT09IDBcbiAgICAgICYmIHVzZXJBZ2VudC5pbmRleE9mKCdDaHJvbWUvNjYnKSA9PT0gLTE7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxufSgpO1xuXG4vLyBoZWxwZXJzXG52YXIgaXNUaGVuYWJsZSA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgdGhlbjtcbiAgcmV0dXJuIGlzT2JqZWN0KGl0KSAmJiB0eXBlb2YgKHRoZW4gPSBpdC50aGVuKSA9PSAnZnVuY3Rpb24nID8gdGhlbiA6IGZhbHNlO1xufTtcbnZhciBub3RpZnkgPSBmdW5jdGlvbiAocHJvbWlzZSwgaXNSZWplY3QpIHtcbiAgaWYgKHByb21pc2UuX24pIHJldHVybjtcbiAgcHJvbWlzZS5fbiA9IHRydWU7XG4gIHZhciBjaGFpbiA9IHByb21pc2UuX2M7XG4gIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgb2sgPSBwcm9taXNlLl9zID09IDE7XG4gICAgdmFyIGkgPSAwO1xuICAgIHZhciBydW4gPSBmdW5jdGlvbiAocmVhY3Rpb24pIHtcbiAgICAgIHZhciBoYW5kbGVyID0gb2sgPyByZWFjdGlvbi5vayA6IHJlYWN0aW9uLmZhaWw7XG4gICAgICB2YXIgcmVzb2x2ZSA9IHJlYWN0aW9uLnJlc29sdmU7XG4gICAgICB2YXIgcmVqZWN0ID0gcmVhY3Rpb24ucmVqZWN0O1xuICAgICAgdmFyIGRvbWFpbiA9IHJlYWN0aW9uLmRvbWFpbjtcbiAgICAgIHZhciByZXN1bHQsIHRoZW4sIGV4aXRlZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChoYW5kbGVyKSB7XG4gICAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgICAgaWYgKHByb21pc2UuX2ggPT0gMikgb25IYW5kbGVVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgICAgICAgICBwcm9taXNlLl9oID0gMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGhhbmRsZXIgPT09IHRydWUpIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRvbWFpbikgZG9tYWluLmVudGVyKCk7XG4gICAgICAgICAgICByZXN1bHQgPSBoYW5kbGVyKHZhbHVlKTsgLy8gbWF5IHRocm93XG4gICAgICAgICAgICBpZiAoZG9tYWluKSB7XG4gICAgICAgICAgICAgIGRvbWFpbi5leGl0KCk7XG4gICAgICAgICAgICAgIGV4aXRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHJlYWN0aW9uLnByb21pc2UpIHtcbiAgICAgICAgICAgIHJlamVjdChUeXBlRXJyb3IoJ1Byb21pc2UtY2hhaW4gY3ljbGUnKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGVuID0gaXNUaGVuYWJsZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGVuLmNhbGwocmVzdWx0LCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0gZWxzZSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSByZWplY3QodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpZiAoZG9tYWluICYmICFleGl0ZWQpIGRvbWFpbi5leGl0KCk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHdoaWxlIChjaGFpbi5sZW5ndGggPiBpKSBydW4oY2hhaW5baSsrXSk7IC8vIHZhcmlhYmxlIGxlbmd0aCAtIGNhbid0IHVzZSBmb3JFYWNoXG4gICAgcHJvbWlzZS5fYyA9IFtdO1xuICAgIHByb21pc2UuX24gPSBmYWxzZTtcbiAgICBpZiAoaXNSZWplY3QgJiYgIXByb21pc2UuX2gpIG9uVW5oYW5kbGVkKHByb21pc2UpO1xuICB9KTtcbn07XG52YXIgb25VbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICB0YXNrLmNhbGwoZ2xvYmFsLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gcHJvbWlzZS5fdjtcbiAgICB2YXIgdW5oYW5kbGVkID0gaXNVbmhhbmRsZWQocHJvbWlzZSk7XG4gICAgdmFyIHJlc3VsdCwgaGFuZGxlciwgY29uc29sZTtcbiAgICBpZiAodW5oYW5kbGVkKSB7XG4gICAgICByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGlzTm9kZSkge1xuICAgICAgICAgIHByb2Nlc3MuZW1pdCgndW5oYW5kbGVkUmVqZWN0aW9uJywgdmFsdWUsIHByb21pc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKGhhbmRsZXIgPSBnbG9iYWwub251bmhhbmRsZWRyZWplY3Rpb24pIHtcbiAgICAgICAgICBoYW5kbGVyKHsgcHJvbWlzZTogcHJvbWlzZSwgcmVhc29uOiB2YWx1ZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmICgoY29uc29sZSA9IGdsb2JhbC5jb25zb2xlKSAmJiBjb25zb2xlLmVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIEJyb3dzZXJzIHNob3VsZCBub3QgdHJpZ2dlciBgcmVqZWN0aW9uSGFuZGxlZGAgZXZlbnQgaWYgaXQgd2FzIGhhbmRsZWQgaGVyZSwgTm9kZUpTIC0gc2hvdWxkXG4gICAgICBwcm9taXNlLl9oID0gaXNOb2RlIHx8IGlzVW5oYW5kbGVkKHByb21pc2UpID8gMiA6IDE7XG4gICAgfSBwcm9taXNlLl9hID0gdW5kZWZpbmVkO1xuICAgIGlmICh1bmhhbmRsZWQgJiYgcmVzdWx0LmUpIHRocm93IHJlc3VsdC52O1xuICB9KTtcbn07XG52YXIgaXNVbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSkge1xuICByZXR1cm4gcHJvbWlzZS5faCAhPT0gMSAmJiAocHJvbWlzZS5fYSB8fCBwcm9taXNlLl9jKS5sZW5ndGggPT09IDA7XG59O1xudmFyIG9uSGFuZGxlVW5oYW5kbGVkID0gZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgdGFzay5jYWxsKGdsb2JhbCwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBoYW5kbGVyO1xuICAgIGlmIChpc05vZGUpIHtcbiAgICAgIHByb2Nlc3MuZW1pdCgncmVqZWN0aW9uSGFuZGxlZCcsIHByb21pc2UpO1xuICAgIH0gZWxzZSBpZiAoaGFuZGxlciA9IGdsb2JhbC5vbnJlamVjdGlvbmhhbmRsZWQpIHtcbiAgICAgIGhhbmRsZXIoeyBwcm9taXNlOiBwcm9taXNlLCByZWFzb246IHByb21pc2UuX3YgfSk7XG4gICAgfVxuICB9KTtcbn07XG52YXIgJHJlamVjdCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICB2YXIgcHJvbWlzZSA9IHRoaXM7XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgcHJvbWlzZS5fdiA9IHZhbHVlO1xuICBwcm9taXNlLl9zID0gMjtcbiAgaWYgKCFwcm9taXNlLl9hKSBwcm9taXNlLl9hID0gcHJvbWlzZS5fYy5zbGljZSgpO1xuICBub3RpZnkocHJvbWlzZSwgdHJ1ZSk7XG59O1xudmFyICRyZXNvbHZlID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHZhciBwcm9taXNlID0gdGhpcztcbiAgdmFyIHRoZW47XG4gIGlmIChwcm9taXNlLl9kKSByZXR1cm47XG4gIHByb21pc2UuX2QgPSB0cnVlO1xuICBwcm9taXNlID0gcHJvbWlzZS5fdyB8fCBwcm9taXNlOyAvLyB1bndyYXBcbiAgdHJ5IHtcbiAgICBpZiAocHJvbWlzZSA9PT0gdmFsdWUpIHRocm93IFR5cGVFcnJvcihcIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmXCIpO1xuICAgIGlmICh0aGVuID0gaXNUaGVuYWJsZSh2YWx1ZSkpIHtcbiAgICAgIG1pY3JvdGFzayhmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB3cmFwcGVyID0geyBfdzogcHJvbWlzZSwgX2Q6IGZhbHNlIH07IC8vIHdyYXBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGVuLmNhbGwodmFsdWUsIGN0eCgkcmVzb2x2ZSwgd3JhcHBlciwgMSksIGN0eCgkcmVqZWN0LCB3cmFwcGVyLCAxKSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAkcmVqZWN0LmNhbGwod3JhcHBlciwgZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcm9taXNlLl92ID0gdmFsdWU7XG4gICAgICBwcm9taXNlLl9zID0gMTtcbiAgICAgIG5vdGlmeShwcm9taXNlLCBmYWxzZSk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgJHJlamVjdC5jYWxsKHsgX3c6IHByb21pc2UsIF9kOiBmYWxzZSB9LCBlKTsgLy8gd3JhcFxuICB9XG59O1xuXG4vLyBjb25zdHJ1Y3RvciBwb2x5ZmlsbFxuaWYgKCFVU0VfTkFUSVZFKSB7XG4gIC8vIDI1LjQuMy4xIFByb21pc2UoZXhlY3V0b3IpXG4gICRQcm9taXNlID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIGFuSW5zdGFuY2UodGhpcywgJFByb21pc2UsIFBST01JU0UsICdfaCcpO1xuICAgIGFGdW5jdGlvbihleGVjdXRvcik7XG4gICAgSW50ZXJuYWwuY2FsbCh0aGlzKTtcbiAgICB0cnkge1xuICAgICAgZXhlY3V0b3IoY3R4KCRyZXNvbHZlLCB0aGlzLCAxKSwgY3R4KCRyZWplY3QsIHRoaXMsIDEpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICRyZWplY3QuY2FsbCh0aGlzLCBlcnIpO1xuICAgIH1cbiAgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gIEludGVybmFsID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIHRoaXMuX2MgPSBbXTsgICAgICAgICAgICAgLy8gPC0gYXdhaXRpbmcgcmVhY3Rpb25zXG4gICAgdGhpcy5fYSA9IHVuZGVmaW5lZDsgICAgICAvLyA8LSBjaGVja2VkIGluIGlzVW5oYW5kbGVkIHJlYWN0aW9uc1xuICAgIHRoaXMuX3MgPSAwOyAgICAgICAgICAgICAgLy8gPC0gc3RhdGVcbiAgICB0aGlzLl9kID0gZmFsc2U7ICAgICAgICAgIC8vIDwtIGRvbmVcbiAgICB0aGlzLl92ID0gdW5kZWZpbmVkOyAgICAgIC8vIDwtIHZhbHVlXG4gICAgdGhpcy5faCA9IDA7ICAgICAgICAgICAgICAvLyA8LSByZWplY3Rpb24gc3RhdGUsIDAgLSBkZWZhdWx0LCAxIC0gaGFuZGxlZCwgMiAtIHVuaGFuZGxlZFxuICAgIHRoaXMuX24gPSBmYWxzZTsgICAgICAgICAgLy8gPC0gbm90aWZ5XG4gIH07XG4gIEludGVybmFsLnByb3RvdHlwZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lLWFsbCcpKCRQcm9taXNlLnByb3RvdHlwZSwge1xuICAgIC8vIDI1LjQuNS4zIFByb21pc2UucHJvdG90eXBlLnRoZW4ob25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQpXG4gICAgdGhlbjogZnVuY3Rpb24gdGhlbihvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCkge1xuICAgICAgdmFyIHJlYWN0aW9uID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkoc3BlY2llc0NvbnN0cnVjdG9yKHRoaXMsICRQcm9taXNlKSk7XG4gICAgICByZWFjdGlvbi5vayA9IHR5cGVvZiBvbkZ1bGZpbGxlZCA9PSAnZnVuY3Rpb24nID8gb25GdWxmaWxsZWQgOiB0cnVlO1xuICAgICAgcmVhY3Rpb24uZmFpbCA9IHR5cGVvZiBvblJlamVjdGVkID09ICdmdW5jdGlvbicgJiYgb25SZWplY3RlZDtcbiAgICAgIHJlYWN0aW9uLmRvbWFpbiA9IGlzTm9kZSA/IHByb2Nlc3MuZG9tYWluIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fYy5wdXNoKHJlYWN0aW9uKTtcbiAgICAgIGlmICh0aGlzLl9hKSB0aGlzLl9hLnB1c2gocmVhY3Rpb24pO1xuICAgICAgaWYgKHRoaXMuX3MpIG5vdGlmeSh0aGlzLCBmYWxzZSk7XG4gICAgICByZXR1cm4gcmVhY3Rpb24ucHJvbWlzZTtcbiAgICB9LFxuICAgIC8vIDI1LjQuNS4xIFByb21pc2UucHJvdG90eXBlLmNhdGNoKG9uUmVqZWN0ZWQpXG4gICAgJ2NhdGNoJzogZnVuY3Rpb24gKG9uUmVqZWN0ZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnRoZW4odW5kZWZpbmVkLCBvblJlamVjdGVkKTtcbiAgICB9XG4gIH0pO1xuICBPd25Qcm9taXNlQ2FwYWJpbGl0eSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBJbnRlcm5hbCgpO1xuICAgIHRoaXMucHJvbWlzZSA9IHByb21pc2U7XG4gICAgdGhpcy5yZXNvbHZlID0gY3R4KCRyZXNvbHZlLCBwcm9taXNlLCAxKTtcbiAgICB0aGlzLnJlamVjdCA9IGN0eCgkcmVqZWN0LCBwcm9taXNlLCAxKTtcbiAgfTtcbiAgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZiA9IG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gZnVuY3Rpb24gKEMpIHtcbiAgICByZXR1cm4gQyA9PT0gJFByb21pc2UgfHwgQyA9PT0gV3JhcHBlclxuICAgICAgPyBuZXcgT3duUHJvbWlzZUNhcGFiaWxpdHkoQylcbiAgICAgIDogbmV3R2VuZXJpY1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICB9O1xufVxuXG4kZXhwb3J0KCRleHBvcnQuRyArICRleHBvcnQuVyArICRleHBvcnQuRiAqICFVU0VfTkFUSVZFLCB7IFByb21pc2U6ICRQcm9taXNlIH0pO1xucmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKSgkUHJvbWlzZSwgUFJPTUlTRSk7XG5yZXF1aXJlKCcuL19zZXQtc3BlY2llcycpKFBST01JU0UpO1xuV3JhcHBlciA9IHJlcXVpcmUoJy4vX2NvcmUnKVtQUk9NSVNFXTtcblxuLy8gc3RhdGljc1xuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhVVNFX05BVElWRSwgUFJPTUlTRSwge1xuICAvLyAyNS40LjQuNSBQcm9taXNlLnJlamVjdChyKVxuICByZWplY3Q6IGZ1bmN0aW9uIHJlamVjdChyKSB7XG4gICAgdmFyIGNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eSh0aGlzKTtcbiAgICB2YXIgJCRyZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICAkJHJlamVjdChyKTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9XG59KTtcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogKExJQlJBUlkgfHwgIVVTRV9OQVRJVkUpLCBQUk9NSVNFLCB7XG4gIC8vIDI1LjQuNC42IFByb21pc2UucmVzb2x2ZSh4KVxuICByZXNvbHZlOiBmdW5jdGlvbiByZXNvbHZlKHgpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoTElCUkFSWSAmJiB0aGlzID09PSBXcmFwcGVyID8gJFByb21pc2UgOiB0aGlzLCB4KTtcbiAgfVxufSk7XG4kZXhwb3J0KCRleHBvcnQuUyArICRleHBvcnQuRiAqICEoVVNFX05BVElWRSAmJiByZXF1aXJlKCcuL19pdGVyLWRldGVjdCcpKGZ1bmN0aW9uIChpdGVyKSB7XG4gICRQcm9taXNlLmFsbChpdGVyKVsnY2F0Y2gnXShlbXB0eSk7XG59KSksIFBST01JU0UsIHtcbiAgLy8gMjUuNC40LjEgUHJvbWlzZS5hbGwoaXRlcmFibGUpXG4gIGFsbDogZnVuY3Rpb24gYWxsKGl0ZXJhYmxlKSB7XG4gICAgdmFyIEMgPSB0aGlzO1xuICAgIHZhciBjYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkoQyk7XG4gICAgdmFyIHJlc29sdmUgPSBjYXBhYmlsaXR5LnJlc29sdmU7XG4gICAgdmFyIHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgIHZhciByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB2YWx1ZXMgPSBbXTtcbiAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICB2YXIgcmVtYWluaW5nID0gMTtcbiAgICAgIGZvck9mKGl0ZXJhYmxlLCBmYWxzZSwgZnVuY3Rpb24gKHByb21pc2UpIHtcbiAgICAgICAgdmFyICRpbmRleCA9IGluZGV4Kys7XG4gICAgICAgIHZhciBhbHJlYWR5Q2FsbGVkID0gZmFsc2U7XG4gICAgICAgIHZhbHVlcy5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICAgIHJlbWFpbmluZysrO1xuICAgICAgICBDLnJlc29sdmUocHJvbWlzZSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICBpZiAoYWxyZWFkeUNhbGxlZCkgcmV0dXJuO1xuICAgICAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgIHZhbHVlc1skaW5kZXhdID0gdmFsdWU7XG4gICAgICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgICAgfSk7XG4gICAgICAtLXJlbWFpbmluZyB8fCByZXNvbHZlKHZhbHVlcyk7XG4gICAgfSk7XG4gICAgaWYgKHJlc3VsdC5lKSByZWplY3QocmVzdWx0LnYpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH0sXG4gIC8vIDI1LjQuNC40IFByb21pc2UucmFjZShpdGVyYWJsZSlcbiAgcmFjZTogZnVuY3Rpb24gcmFjZShpdGVyYWJsZSkge1xuICAgIHZhciBDID0gdGhpcztcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICAgIHZhciByZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICB2YXIgcmVzdWx0ID0gcGVyZm9ybShmdW5jdGlvbiAoKSB7XG4gICAgICBmb3JPZihpdGVyYWJsZSwgZmFsc2UsIGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gICAgICAgIEMucmVzb2x2ZShwcm9taXNlKS50aGVuKGNhcGFiaWxpdHkucmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZSkgcmVqZWN0KHJlc3VsdC52KTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9XG59KTtcbiIsIi8vIDI2LjEuMSBSZWZsZWN0LmFwcGx5KHRhcmdldCwgdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuL19hLWZ1bmN0aW9uJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciByQXBwbHkgPSAocmVxdWlyZSgnLi9fZ2xvYmFsJykuUmVmbGVjdCB8fCB7fSkuYXBwbHk7XG52YXIgZkFwcGx5ID0gRnVuY3Rpb24uYXBwbHk7XG4vLyBNUyBFZGdlIGFyZ3VtZW50c0xpc3QgYXJndW1lbnQgaXMgb3B0aW9uYWxcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByQXBwbHkoZnVuY3Rpb24gKCkgeyAvKiBlbXB0eSAqLyB9KTtcbn0pLCAnUmVmbGVjdCcsIHtcbiAgYXBwbHk6IGZ1bmN0aW9uIGFwcGx5KHRhcmdldCwgdGhpc0FyZ3VtZW50LCBhcmd1bWVudHNMaXN0KSB7XG4gICAgdmFyIFQgPSBhRnVuY3Rpb24odGFyZ2V0KTtcbiAgICB2YXIgTCA9IGFuT2JqZWN0KGFyZ3VtZW50c0xpc3QpO1xuICAgIHJldHVybiByQXBwbHkgPyByQXBwbHkoVCwgdGhpc0FyZ3VtZW50LCBMKSA6IGZBcHBseS5jYWxsKFQsIHRoaXNBcmd1bWVudCwgTCk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS4yIFJlZmxlY3QuY29uc3RydWN0KHRhcmdldCwgYXJndW1lbnRzTGlzdCBbLCBuZXdUYXJnZXRdKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBjcmVhdGUgPSByZXF1aXJlKCcuL19vYmplY3QtY3JlYXRlJyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi9fYS1mdW5jdGlvbicpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4vX2ZhaWxzJyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJy4vX2JpbmQnKTtcbnZhciByQ29uc3RydWN0ID0gKHJlcXVpcmUoJy4vX2dsb2JhbCcpLlJlZmxlY3QgfHwge30pLmNvbnN0cnVjdDtcblxuLy8gTVMgRWRnZSBzdXBwb3J0cyBvbmx5IDIgYXJndW1lbnRzIGFuZCBhcmd1bWVudHNMaXN0IGFyZ3VtZW50IGlzIG9wdGlvbmFsXG4vLyBGRiBOaWdodGx5IHNldHMgdGhpcmQgYXJndW1lbnQgYXMgYG5ldy50YXJnZXRgLCBidXQgZG9lcyBub3QgY3JlYXRlIGB0aGlzYCBmcm9tIGl0XG52YXIgTkVXX1RBUkdFVF9CVUcgPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEYoKSB7IC8qIGVtcHR5ICovIH1cbiAgcmV0dXJuICEockNvbnN0cnVjdChmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH0sIFtdLCBGKSBpbnN0YW5jZW9mIEYpO1xufSk7XG52YXIgQVJHU19CVUcgPSAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICByQ29uc3RydWN0KGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSk7XG59KTtcblxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoTkVXX1RBUkdFVF9CVUcgfHwgQVJHU19CVUcpLCAnUmVmbGVjdCcsIHtcbiAgY29uc3RydWN0OiBmdW5jdGlvbiBjb25zdHJ1Y3QoVGFyZ2V0LCBhcmdzIC8qICwgbmV3VGFyZ2V0ICovKSB7XG4gICAgYUZ1bmN0aW9uKFRhcmdldCk7XG4gICAgYW5PYmplY3QoYXJncyk7XG4gICAgdmFyIG5ld1RhcmdldCA9IGFyZ3VtZW50cy5sZW5ndGggPCAzID8gVGFyZ2V0IDogYUZ1bmN0aW9uKGFyZ3VtZW50c1syXSk7XG4gICAgaWYgKEFSR1NfQlVHICYmICFORVdfVEFSR0VUX0JVRykgcmV0dXJuIHJDb25zdHJ1Y3QoVGFyZ2V0LCBhcmdzLCBuZXdUYXJnZXQpO1xuICAgIGlmIChUYXJnZXQgPT0gbmV3VGFyZ2V0KSB7XG4gICAgICAvLyB3L28gYWx0ZXJlZCBuZXdUYXJnZXQsIG9wdGltaXphdGlvbiBmb3IgMC00IGFyZ3VtZW50c1xuICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICBjYXNlIDA6IHJldHVybiBuZXcgVGFyZ2V0KCk7XG4gICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSk7XG4gICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSk7XG4gICAgICAgIGNhc2UgMzogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIGNhc2UgNDogcmV0dXJuIG5ldyBUYXJnZXQoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7XG4gICAgICB9XG4gICAgICAvLyB3L28gYWx0ZXJlZCBuZXdUYXJnZXQsIGxvdCBvZiBhcmd1bWVudHMgY2FzZVxuICAgICAgdmFyICRhcmdzID0gW251bGxdO1xuICAgICAgJGFyZ3MucHVzaC5hcHBseSgkYXJncywgYXJncyk7XG4gICAgICByZXR1cm4gbmV3IChiaW5kLmFwcGx5KFRhcmdldCwgJGFyZ3MpKSgpO1xuICAgIH1cbiAgICAvLyB3aXRoIGFsdGVyZWQgbmV3VGFyZ2V0LCBub3Qgc3VwcG9ydCBidWlsdC1pbiBjb25zdHJ1Y3RvcnNcbiAgICB2YXIgcHJvdG8gPSBuZXdUYXJnZXQucHJvdG90eXBlO1xuICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZShpc09iamVjdChwcm90bykgPyBwcm90byA6IE9iamVjdC5wcm90b3R5cGUpO1xuICAgIHZhciByZXN1bHQgPSBGdW5jdGlvbi5hcHBseS5jYWxsKFRhcmdldCwgaW5zdGFuY2UsIGFyZ3MpO1xuICAgIHJldHVybiBpc09iamVjdChyZXN1bHQpID8gcmVzdWx0IDogaW5zdGFuY2U7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS4zIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSwgYXR0cmlidXRlcylcbnZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvUHJpbWl0aXZlID0gcmVxdWlyZSgnLi9fdG8tcHJpbWl0aXZlJyk7XG5cbi8vIE1TIEVkZ2UgaGFzIGJyb2tlbiBSZWZsZWN0LmRlZmluZVByb3BlcnR5IC0gdGhyb3dpbmcgaW5zdGVhZCBvZiByZXR1cm5pbmcgZmFsc2VcbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KGRQLmYoe30sIDEsIHsgdmFsdWU6IDEgfSksIDEsIHsgdmFsdWU6IDIgfSk7XG59KSwgJ1JlZmxlY3QnLCB7XG4gIGRlZmluZVByb3BlcnR5OiBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCBhdHRyaWJ1dGVzKSB7XG4gICAgYW5PYmplY3QodGFyZ2V0KTtcbiAgICBwcm9wZXJ0eUtleSA9IHRvUHJpbWl0aXZlKHByb3BlcnR5S2V5LCB0cnVlKTtcbiAgICBhbk9iamVjdChhdHRyaWJ1dGVzKTtcbiAgICB0cnkge1xuICAgICAgZFAuZih0YXJnZXQsIHByb3BlcnR5S2V5LCBhdHRyaWJ1dGVzKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS40IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wZXJ0eUtleSlcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJykuZjtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7XG4gIGRlbGV0ZVByb3BlcnR5OiBmdW5jdGlvbiBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgdmFyIGRlc2MgPSBnT1BEKGFuT2JqZWN0KHRhcmdldCksIHByb3BlcnR5S2V5KTtcbiAgICByZXR1cm4gZGVzYyAmJiAhZGVzYy5jb25maWd1cmFibGUgPyBmYWxzZSA6IGRlbGV0ZSB0YXJnZXRbcHJvcGVydHlLZXldO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIDI2LjEuNSBSZWZsZWN0LmVudW1lcmF0ZSh0YXJnZXQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgRW51bWVyYXRlID0gZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX3QgPSBhbk9iamVjdChpdGVyYXRlZCk7IC8vIHRhcmdldFxuICB0aGlzLl9pID0gMDsgICAgICAgICAgICAgICAgICAvLyBuZXh0IGluZGV4XG4gIHZhciBrZXlzID0gdGhpcy5fayA9IFtdOyAgICAgIC8vIGtleXNcbiAgdmFyIGtleTtcbiAgZm9yIChrZXkgaW4gaXRlcmF0ZWQpIGtleXMucHVzaChrZXkpO1xufTtcbnJlcXVpcmUoJy4vX2l0ZXItY3JlYXRlJykoRW51bWVyYXRlLCAnT2JqZWN0JywgZnVuY3Rpb24gKCkge1xuICB2YXIgdGhhdCA9IHRoaXM7XG4gIHZhciBrZXlzID0gdGhhdC5faztcbiAgdmFyIGtleTtcbiAgZG8ge1xuICAgIGlmICh0aGF0Ll9pID49IGtleXMubGVuZ3RoKSByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIH0gd2hpbGUgKCEoKGtleSA9IGtleXNbdGhhdC5faSsrXSkgaW4gdGhhdC5fdCkpO1xuICByZXR1cm4geyB2YWx1ZToga2V5LCBkb25lOiBmYWxzZSB9O1xufSk7XG5cbiRleHBvcnQoJGV4cG9ydC5TLCAnUmVmbGVjdCcsIHtcbiAgZW51bWVyYXRlOiBmdW5jdGlvbiBlbnVtZXJhdGUodGFyZ2V0KSB7XG4gICAgcmV0dXJuIG5ldyBFbnVtZXJhdGUodGFyZ2V0KTtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjcgUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSlcbnZhciBnT1BEID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcGQnKTtcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgcmV0dXJuIGdPUEQuZihhbk9iamVjdCh0YXJnZXQpLCBwcm9wZXJ0eUtleSk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS44IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBnZXRQcm90byA9IHJlcXVpcmUoJy4vX29iamVjdC1ncG8nKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7XG4gIGdldFByb3RvdHlwZU9mOiBmdW5jdGlvbiBnZXRQcm90b3R5cGVPZih0YXJnZXQpIHtcbiAgICByZXR1cm4gZ2V0UHJvdG8oYW5PYmplY3QodGFyZ2V0KSk7XG4gIH1cbn0pO1xuIiwiLy8gMjYuMS42IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHlLZXkgWywgcmVjZWl2ZXJdKVxudmFyIGdPUEQgPSByZXF1aXJlKCcuL19vYmplY3QtZ29wZCcpO1xudmFyIGdldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdwbycpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG5cbmZ1bmN0aW9uIGdldCh0YXJnZXQsIHByb3BlcnR5S2V5IC8qICwgcmVjZWl2ZXIgKi8pIHtcbiAgdmFyIHJlY2VpdmVyID0gYXJndW1lbnRzLmxlbmd0aCA8IDMgPyB0YXJnZXQgOiBhcmd1bWVudHNbMl07XG4gIHZhciBkZXNjLCBwcm90bztcbiAgaWYgKGFuT2JqZWN0KHRhcmdldCkgPT09IHJlY2VpdmVyKSByZXR1cm4gdGFyZ2V0W3Byb3BlcnR5S2V5XTtcbiAgaWYgKGRlc2MgPSBnT1BELmYodGFyZ2V0LCBwcm9wZXJ0eUtleSkpIHJldHVybiBoYXMoZGVzYywgJ3ZhbHVlJylcbiAgICA/IGRlc2MudmFsdWVcbiAgICA6IGRlc2MuZ2V0ICE9PSB1bmRlZmluZWRcbiAgICAgID8gZGVzYy5nZXQuY2FsbChyZWNlaXZlcilcbiAgICAgIDogdW5kZWZpbmVkO1xuICBpZiAoaXNPYmplY3QocHJvdG8gPSBnZXRQcm90b3R5cGVPZih0YXJnZXQpKSkgcmV0dXJuIGdldChwcm90bywgcHJvcGVydHlLZXksIHJlY2VpdmVyKTtcbn1cblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0JywgeyBnZXQ6IGdldCB9KTtcbiIsIi8vIDI2LjEuOSBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBoYXM6IGZ1bmN0aW9uIGhhcyh0YXJnZXQsIHByb3BlcnR5S2V5KSB7XG4gICAgcmV0dXJuIHByb3BlcnR5S2V5IGluIHRhcmdldDtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjEwIFJlZmxlY3QuaXNFeHRlbnNpYmxlKHRhcmdldClcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciAkaXNFeHRlbnNpYmxlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZTtcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBpc0V4dGVuc2libGU6IGZ1bmN0aW9uIGlzRXh0ZW5zaWJsZSh0YXJnZXQpIHtcbiAgICBhbk9iamVjdCh0YXJnZXQpO1xuICAgIHJldHVybiAkaXNFeHRlbnNpYmxlID8gJGlzRXh0ZW5zaWJsZSh0YXJnZXQpIDogdHJ1ZTtcbiAgfVxufSk7XG4iLCIvLyAyNi4xLjExIFJlZmxlY3Qub3duS2V5cyh0YXJnZXQpXG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7IG93bktleXM6IHJlcXVpcmUoJy4vX293bi1rZXlzJykgfSk7XG4iLCIvLyAyNi4xLjEyIFJlZmxlY3QucHJldmVudEV4dGVuc2lvbnModGFyZ2V0KVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyICRwcmV2ZW50RXh0ZW5zaW9ucyA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucztcblxuJGV4cG9ydCgkZXhwb3J0LlMsICdSZWZsZWN0Jywge1xuICBwcmV2ZW50RXh0ZW5zaW9uczogZnVuY3Rpb24gcHJldmVudEV4dGVuc2lvbnModGFyZ2V0KSB7XG4gICAgYW5PYmplY3QodGFyZ2V0KTtcbiAgICB0cnkge1xuICAgICAgaWYgKCRwcmV2ZW50RXh0ZW5zaW9ucykgJHByZXZlbnRFeHRlbnNpb25zKHRhcmdldCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59KTtcbiIsIi8vIDI2LjEuMTQgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih0YXJnZXQsIHByb3RvKVxudmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciBzZXRQcm90byA9IHJlcXVpcmUoJy4vX3NldC1wcm90bycpO1xuXG5pZiAoc2V0UHJvdG8pICRleHBvcnQoJGV4cG9ydC5TLCAnUmVmbGVjdCcsIHtcbiAgc2V0UHJvdG90eXBlT2Y6IGZ1bmN0aW9uIHNldFByb3RvdHlwZU9mKHRhcmdldCwgcHJvdG8pIHtcbiAgICBzZXRQcm90by5jaGVjayh0YXJnZXQsIHByb3RvKTtcbiAgICB0cnkge1xuICAgICAgc2V0UHJvdG8uc2V0KHRhcmdldCwgcHJvdG8pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufSk7XG4iLCIvLyAyNi4xLjEzIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcGVydHlLZXksIFYgWywgcmVjZWl2ZXJdKVxudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG52YXIgZ09QRCA9IHJlcXVpcmUoJy4vX29iamVjdC1nb3BkJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xuXG5mdW5jdGlvbiBzZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgViAvKiAsIHJlY2VpdmVyICovKSB7XG4gIHZhciByZWNlaXZlciA9IGFyZ3VtZW50cy5sZW5ndGggPCA0ID8gdGFyZ2V0IDogYXJndW1lbnRzWzNdO1xuICB2YXIgb3duRGVzYyA9IGdPUEQuZihhbk9iamVjdCh0YXJnZXQpLCBwcm9wZXJ0eUtleSk7XG4gIHZhciBleGlzdGluZ0Rlc2NyaXB0b3IsIHByb3RvO1xuICBpZiAoIW93bkRlc2MpIHtcbiAgICBpZiAoaXNPYmplY3QocHJvdG8gPSBnZXRQcm90b3R5cGVPZih0YXJnZXQpKSkge1xuICAgICAgcmV0dXJuIHNldChwcm90bywgcHJvcGVydHlLZXksIFYsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgb3duRGVzYyA9IGNyZWF0ZURlc2MoMCk7XG4gIH1cbiAgaWYgKGhhcyhvd25EZXNjLCAndmFsdWUnKSkge1xuICAgIGlmIChvd25EZXNjLndyaXRhYmxlID09PSBmYWxzZSB8fCAhaXNPYmplY3QocmVjZWl2ZXIpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGV4aXN0aW5nRGVzY3JpcHRvciA9IGdPUEQuZihyZWNlaXZlciwgcHJvcGVydHlLZXkpKSB7XG4gICAgICBpZiAoZXhpc3RpbmdEZXNjcmlwdG9yLmdldCB8fCBleGlzdGluZ0Rlc2NyaXB0b3Iuc2V0IHx8IGV4aXN0aW5nRGVzY3JpcHRvci53cml0YWJsZSA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICAgIGV4aXN0aW5nRGVzY3JpcHRvci52YWx1ZSA9IFY7XG4gICAgICBkUC5mKHJlY2VpdmVyLCBwcm9wZXJ0eUtleSwgZXhpc3RpbmdEZXNjcmlwdG9yKTtcbiAgICB9IGVsc2UgZFAuZihyZWNlaXZlciwgcHJvcGVydHlLZXksIGNyZWF0ZURlc2MoMCwgVikpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBvd25EZXNjLnNldCA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiAob3duRGVzYy5zZXQuY2FsbChyZWNlaXZlciwgViksIHRydWUpO1xufVxuXG4kZXhwb3J0KCRleHBvcnQuUywgJ1JlZmxlY3QnLCB7IHNldDogc2V0IH0pO1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGluaGVyaXRJZlJlcXVpcmVkID0gcmVxdWlyZSgnLi9faW5oZXJpdC1pZi1yZXF1aXJlZCcpO1xudmFyIGRQID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJykuZjtcbnZhciBnT1BOID0gcmVxdWlyZSgnLi9fb2JqZWN0LWdvcG4nKS5mO1xudmFyIGlzUmVnRXhwID0gcmVxdWlyZSgnLi9faXMtcmVnZXhwJyk7XG52YXIgJGZsYWdzID0gcmVxdWlyZSgnLi9fZmxhZ3MnKTtcbnZhciAkUmVnRXhwID0gZ2xvYmFsLlJlZ0V4cDtcbnZhciBCYXNlID0gJFJlZ0V4cDtcbnZhciBwcm90byA9ICRSZWdFeHAucHJvdG90eXBlO1xudmFyIHJlMSA9IC9hL2c7XG52YXIgcmUyID0gL2EvZztcbi8vIFwibmV3XCIgY3JlYXRlcyBhIG5ldyBvYmplY3QsIG9sZCB3ZWJraXQgYnVnZ3kgaGVyZVxudmFyIENPUlJFQ1RfTkVXID0gbmV3ICRSZWdFeHAocmUxKSAhPT0gcmUxO1xuXG5pZiAocmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSAmJiAoIUNPUlJFQ1RfTkVXIHx8IHJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZTJbcmVxdWlyZSgnLi9fd2tzJykoJ21hdGNoJyldID0gZmFsc2U7XG4gIC8vIFJlZ0V4cCBjb25zdHJ1Y3RvciBjYW4gYWx0ZXIgZmxhZ3MgYW5kIElzUmVnRXhwIHdvcmtzIGNvcnJlY3Qgd2l0aCBAQG1hdGNoXG4gIHJldHVybiAkUmVnRXhwKHJlMSkgIT0gcmUxIHx8ICRSZWdFeHAocmUyKSA9PSByZTIgfHwgJFJlZ0V4cChyZTEsICdpJykgIT0gJy9hL2knO1xufSkpKSB7XG4gICRSZWdFeHAgPSBmdW5jdGlvbiBSZWdFeHAocCwgZikge1xuICAgIHZhciB0aVJFID0gdGhpcyBpbnN0YW5jZW9mICRSZWdFeHA7XG4gICAgdmFyIHBpUkUgPSBpc1JlZ0V4cChwKTtcbiAgICB2YXIgZmlVID0gZiA9PT0gdW5kZWZpbmVkO1xuICAgIHJldHVybiAhdGlSRSAmJiBwaVJFICYmIHAuY29uc3RydWN0b3IgPT09ICRSZWdFeHAgJiYgZmlVID8gcFxuICAgICAgOiBpbmhlcml0SWZSZXF1aXJlZChDT1JSRUNUX05FV1xuICAgICAgICA/IG5ldyBCYXNlKHBpUkUgJiYgIWZpVSA/IHAuc291cmNlIDogcCwgZilcbiAgICAgICAgOiBCYXNlKChwaVJFID0gcCBpbnN0YW5jZW9mICRSZWdFeHApID8gcC5zb3VyY2UgOiBwLCBwaVJFICYmIGZpVSA/ICRmbGFncy5jYWxsKHApIDogZilcbiAgICAgICwgdGlSRSA/IHRoaXMgOiBwcm90bywgJFJlZ0V4cCk7XG4gIH07XG4gIHZhciBwcm94eSA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgICBrZXkgaW4gJFJlZ0V4cCB8fCBkUCgkUmVnRXhwLCBrZXksIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gQmFzZVtrZXldOyB9LFxuICAgICAgc2V0OiBmdW5jdGlvbiAoaXQpIHsgQmFzZVtrZXldID0gaXQ7IH1cbiAgICB9KTtcbiAgfTtcbiAgZm9yICh2YXIga2V5cyA9IGdPUE4oQmFzZSksIGkgPSAwOyBrZXlzLmxlbmd0aCA+IGk7KSBwcm94eShrZXlzW2krK10pO1xuICBwcm90by5jb25zdHJ1Y3RvciA9ICRSZWdFeHA7XG4gICRSZWdFeHAucHJvdG90eXBlID0gcHJvdG87XG4gIHJlcXVpcmUoJy4vX3JlZGVmaW5lJykoZ2xvYmFsLCAnUmVnRXhwJywgJFJlZ0V4cCk7XG59XG5cbnJlcXVpcmUoJy4vX3NldC1zcGVjaWVzJykoJ1JlZ0V4cCcpO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xucmVxdWlyZSgnLi9fZXhwb3J0Jykoe1xuICB0YXJnZXQ6ICdSZWdFeHAnLFxuICBwcm90bzogdHJ1ZSxcbiAgZm9yY2VkOiByZWdleHBFeGVjICE9PSAvLi8uZXhlY1xufSwge1xuICBleGVjOiByZWdleHBFeGVjXG59KTtcbiIsIi8vIDIxLjIuNS4zIGdldCBSZWdFeHAucHJvdG90eXBlLmZsYWdzKClcbmlmIChyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmIC8uL2cuZmxhZ3MgIT0gJ2cnKSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mKFJlZ0V4cC5wcm90b3R5cGUsICdmbGFncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBnZXQ6IHJlcXVpcmUoJy4vX2ZsYWdzJylcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIGFkdmFuY2VTdHJpbmdJbmRleCA9IHJlcXVpcmUoJy4vX2FkdmFuY2Utc3RyaW5nLWluZGV4Jyk7XG52YXIgcmVnRXhwRXhlYyA9IHJlcXVpcmUoJy4vX3JlZ2V4cC1leGVjLWFic3RyYWN0Jyk7XG5cbi8vIEBAbWF0Y2ggbG9naWNcbnJlcXVpcmUoJy4vX2ZpeC1yZS13a3MnKSgnbWF0Y2gnLCAxLCBmdW5jdGlvbiAoZGVmaW5lZCwgTUFUQ0gsICRtYXRjaCwgbWF5YmVDYWxsTmF0aXZlKSB7XG4gIHJldHVybiBbXG4gICAgLy8gYFN0cmluZy5wcm90b3R5cGUubWF0Y2hgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUubWF0Y2hcbiAgICBmdW5jdGlvbiBtYXRjaChyZWdleHApIHtcbiAgICAgIHZhciBPID0gZGVmaW5lZCh0aGlzKTtcbiAgICAgIHZhciBmbiA9IHJlZ2V4cCA9PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiByZWdleHBbTUFUQ0hdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWQgPyBmbi5jYWxsKHJlZ2V4cCwgTykgOiBuZXcgUmVnRXhwKHJlZ2V4cClbTUFUQ0hdKFN0cmluZyhPKSk7XG4gICAgfSxcbiAgICAvLyBgUmVnRXhwLnByb3RvdHlwZVtAQG1hdGNoXWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVnZXhwLnByb3RvdHlwZS1AQG1hdGNoXG4gICAgZnVuY3Rpb24gKHJlZ2V4cCkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkbWF0Y2gsIHJlZ2V4cCwgdGhpcyk7XG4gICAgICBpZiAocmVzLmRvbmUpIHJldHVybiByZXMudmFsdWU7XG4gICAgICB2YXIgcnggPSBhbk9iamVjdChyZWdleHApO1xuICAgICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgICBpZiAoIXJ4Lmdsb2JhbCkgcmV0dXJuIHJlZ0V4cEV4ZWMocngsIFMpO1xuICAgICAgdmFyIGZ1bGxVbmljb2RlID0gcngudW5pY29kZTtcbiAgICAgIHJ4Lmxhc3RJbmRleCA9IDA7XG4gICAgICB2YXIgQSA9IFtdO1xuICAgICAgdmFyIG4gPSAwO1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIHdoaWxlICgocmVzdWx0ID0gcmVnRXhwRXhlYyhyeCwgUykpICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBtYXRjaFN0ciA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICBBW25dID0gbWF0Y2hTdHI7XG4gICAgICAgIGlmIChtYXRjaFN0ciA9PT0gJycpIHJ4Lmxhc3RJbmRleCA9IGFkdmFuY2VTdHJpbmdJbmRleChTLCB0b0xlbmd0aChyeC5sYXN0SW5kZXgpLCBmdWxsVW5pY29kZSk7XG4gICAgICAgIG4rKztcbiAgICAgIH1cbiAgICAgIHJldHVybiBuID09PSAwID8gbnVsbCA6IEE7XG4gICAgfVxuICBdO1xufSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi9fdG8tb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgYWR2YW5jZVN0cmluZ0luZGV4ID0gcmVxdWlyZSgnLi9fYWR2YW5jZS1zdHJpbmctaW5kZXgnKTtcbnZhciByZWdFeHBFeGVjID0gcmVxdWlyZSgnLi9fcmVnZXhwLWV4ZWMtYWJzdHJhY3QnKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbnZhciBmbG9vciA9IE1hdGguZmxvb3I7XG52YXIgU1VCU1RJVFVUSU9OX1NZTUJPTFMgPSAvXFwkKFskJmAnXXxcXGRcXGQ/fDxbXj5dKj4pL2c7XG52YXIgU1VCU1RJVFVUSU9OX1NZTUJPTFNfTk9fTkFNRUQgPSAvXFwkKFskJmAnXXxcXGRcXGQ/KS9nO1xuXG52YXIgbWF5YmVUb1N0cmluZyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPT09IHVuZGVmaW5lZCA/IGl0IDogU3RyaW5nKGl0KTtcbn07XG5cbi8vIEBAcmVwbGFjZSBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdyZXBsYWNlJywgMiwgZnVuY3Rpb24gKGRlZmluZWQsIFJFUExBQ0UsICRyZXBsYWNlLCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zdHJpbmcucHJvdG90eXBlLnJlcGxhY2VcbiAgICBmdW5jdGlvbiByZXBsYWNlKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIHtcbiAgICAgIHZhciBPID0gZGVmaW5lZCh0aGlzKTtcbiAgICAgIHZhciBmbiA9IHNlYXJjaFZhbHVlID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHNlYXJjaFZhbHVlW1JFUExBQ0VdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBmbi5jYWxsKHNlYXJjaFZhbHVlLCBPLCByZXBsYWNlVmFsdWUpXG4gICAgICAgIDogJHJlcGxhY2UuY2FsbChTdHJpbmcoTyksIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEByZXBsYWNlXWAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVnZXhwLnByb3RvdHlwZS1AQHJlcGxhY2VcbiAgICBmdW5jdGlvbiAocmVnZXhwLCByZXBsYWNlVmFsdWUpIHtcbiAgICAgIHZhciByZXMgPSBtYXliZUNhbGxOYXRpdmUoJHJlcGxhY2UsIHJlZ2V4cCwgdGhpcywgcmVwbGFjZVZhbHVlKTtcbiAgICAgIGlmIChyZXMuZG9uZSkgcmV0dXJuIHJlcy52YWx1ZTtcblxuICAgICAgdmFyIHJ4ID0gYW5PYmplY3QocmVnZXhwKTtcbiAgICAgIHZhciBTID0gU3RyaW5nKHRoaXMpO1xuICAgICAgdmFyIGZ1bmN0aW9uYWxSZXBsYWNlID0gdHlwZW9mIHJlcGxhY2VWYWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgIGlmICghZnVuY3Rpb25hbFJlcGxhY2UpIHJlcGxhY2VWYWx1ZSA9IFN0cmluZyhyZXBsYWNlVmFsdWUpO1xuICAgICAgdmFyIGdsb2JhbCA9IHJ4Lmdsb2JhbDtcbiAgICAgIGlmIChnbG9iYWwpIHtcbiAgICAgICAgdmFyIGZ1bGxVbmljb2RlID0gcngudW5pY29kZTtcbiAgICAgICAgcngubGFzdEluZGV4ID0gMDtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHRzID0gW107XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gcmVnRXhwRXhlYyhyeCwgUyk7XG4gICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwpIGJyZWFrO1xuICAgICAgICByZXN1bHRzLnB1c2gocmVzdWx0KTtcbiAgICAgICAgaWYgKCFnbG9iYWwpIGJyZWFrO1xuICAgICAgICB2YXIgbWF0Y2hTdHIgPSBTdHJpbmcocmVzdWx0WzBdKTtcbiAgICAgICAgaWYgKG1hdGNoU3RyID09PSAnJykgcngubGFzdEluZGV4ID0gYWR2YW5jZVN0cmluZ0luZGV4KFMsIHRvTGVuZ3RoKHJ4Lmxhc3RJbmRleCksIGZ1bGxVbmljb2RlKTtcbiAgICAgIH1cbiAgICAgIHZhciBhY2N1bXVsYXRlZFJlc3VsdCA9ICcnO1xuICAgICAgdmFyIG5leHRTb3VyY2VQb3NpdGlvbiA9IDA7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0c1tpXTtcbiAgICAgICAgdmFyIG1hdGNoZWQgPSBTdHJpbmcocmVzdWx0WzBdKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gbWF4KG1pbih0b0ludGVnZXIocmVzdWx0LmluZGV4KSwgUy5sZW5ndGgpLCAwKTtcbiAgICAgICAgdmFyIGNhcHR1cmVzID0gW107XG4gICAgICAgIC8vIE5PVEU6IFRoaXMgaXMgZXF1aXZhbGVudCB0b1xuICAgICAgICAvLyAgIGNhcHR1cmVzID0gcmVzdWx0LnNsaWNlKDEpLm1hcChtYXliZVRvU3RyaW5nKVxuICAgICAgICAvLyBidXQgZm9yIHNvbWUgcmVhc29uIGBuYXRpdmVTbGljZS5jYWxsKHJlc3VsdCwgMSwgcmVzdWx0Lmxlbmd0aClgIChjYWxsZWQgaW5cbiAgICAgICAgLy8gdGhlIHNsaWNlIHBvbHlmaWxsIHdoZW4gc2xpY2luZyBuYXRpdmUgYXJyYXlzKSBcImRvZXNuJ3Qgd29ya1wiIGluIHNhZmFyaSA5IGFuZFxuICAgICAgICAvLyBjYXVzZXMgYSBjcmFzaCAoaHR0cHM6Ly9wYXN0ZWJpbi5jb20vTjIxUXplUUEpIHdoZW4gdHJ5aW5nIHRvIGRlYnVnIGl0LlxuICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8IHJlc3VsdC5sZW5ndGg7IGorKykgY2FwdHVyZXMucHVzaChtYXliZVRvU3RyaW5nKHJlc3VsdFtqXSkpO1xuICAgICAgICB2YXIgbmFtZWRDYXB0dXJlcyA9IHJlc3VsdC5ncm91cHM7XG4gICAgICAgIGlmIChmdW5jdGlvbmFsUmVwbGFjZSkge1xuICAgICAgICAgIHZhciByZXBsYWNlckFyZ3MgPSBbbWF0Y2hlZF0uY29uY2F0KGNhcHR1cmVzLCBwb3NpdGlvbiwgUyk7XG4gICAgICAgICAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IHVuZGVmaW5lZCkgcmVwbGFjZXJBcmdzLnB1c2gobmFtZWRDYXB0dXJlcyk7XG4gICAgICAgICAgdmFyIHJlcGxhY2VtZW50ID0gU3RyaW5nKHJlcGxhY2VWYWx1ZS5hcHBseSh1bmRlZmluZWQsIHJlcGxhY2VyQXJncykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcGxhY2VtZW50ID0gZ2V0U3Vic3RpdHV0aW9uKG1hdGNoZWQsIFMsIHBvc2l0aW9uLCBjYXB0dXJlcywgbmFtZWRDYXB0dXJlcywgcmVwbGFjZVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9zaXRpb24gPj0gbmV4dFNvdXJjZVBvc2l0aW9uKSB7XG4gICAgICAgICAgYWNjdW11bGF0ZWRSZXN1bHQgKz0gUy5zbGljZShuZXh0U291cmNlUG9zaXRpb24sIHBvc2l0aW9uKSArIHJlcGxhY2VtZW50O1xuICAgICAgICAgIG5leHRTb3VyY2VQb3NpdGlvbiA9IHBvc2l0aW9uICsgbWF0Y2hlZC5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2N1bXVsYXRlZFJlc3VsdCArIFMuc2xpY2UobmV4dFNvdXJjZVBvc2l0aW9uKTtcbiAgICB9XG4gIF07XG5cbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1nZXRzdWJzdGl0dXRpb25cbiAgZnVuY3Rpb24gZ2V0U3Vic3RpdHV0aW9uKG1hdGNoZWQsIHN0ciwgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVzLCByZXBsYWNlbWVudCkge1xuICAgIHZhciB0YWlsUG9zID0gcG9zaXRpb24gKyBtYXRjaGVkLmxlbmd0aDtcbiAgICB2YXIgbSA9IGNhcHR1cmVzLmxlbmd0aDtcbiAgICB2YXIgc3ltYm9scyA9IFNVQlNUSVRVVElPTl9TWU1CT0xTX05PX05BTUVEO1xuICAgIGlmIChuYW1lZENhcHR1cmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG5hbWVkQ2FwdHVyZXMgPSB0b09iamVjdChuYW1lZENhcHR1cmVzKTtcbiAgICAgIHN5bWJvbHMgPSBTVUJTVElUVVRJT05fU1lNQk9MUztcbiAgICB9XG4gICAgcmV0dXJuICRyZXBsYWNlLmNhbGwocmVwbGFjZW1lbnQsIHN5bWJvbHMsIGZ1bmN0aW9uIChtYXRjaCwgY2gpIHtcbiAgICAgIHZhciBjYXB0dXJlO1xuICAgICAgc3dpdGNoIChjaC5jaGFyQXQoMCkpIHtcbiAgICAgICAgY2FzZSAnJCc6IHJldHVybiAnJCc7XG4gICAgICAgIGNhc2UgJyYnOiByZXR1cm4gbWF0Y2hlZDtcbiAgICAgICAgY2FzZSAnYCc6IHJldHVybiBzdHIuc2xpY2UoMCwgcG9zaXRpb24pO1xuICAgICAgICBjYXNlIFwiJ1wiOiByZXR1cm4gc3RyLnNsaWNlKHRhaWxQb3MpO1xuICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICBjYXB0dXJlID0gbmFtZWRDYXB0dXJlc1tjaC5zbGljZSgxLCAtMSldO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OiAvLyBcXGRcXGQ/XG4gICAgICAgICAgdmFyIG4gPSArY2g7XG4gICAgICAgICAgaWYgKG4gPT09IDApIHJldHVybiBtYXRjaDtcbiAgICAgICAgICBpZiAobiA+IG0pIHtcbiAgICAgICAgICAgIHZhciBmID0gZmxvb3IobiAvIDEwKTtcbiAgICAgICAgICAgIGlmIChmID09PSAwKSByZXR1cm4gbWF0Y2g7XG4gICAgICAgICAgICBpZiAoZiA8PSBtKSByZXR1cm4gY2FwdHVyZXNbZiAtIDFdID09PSB1bmRlZmluZWQgPyBjaC5jaGFyQXQoMSkgOiBjYXB0dXJlc1tmIC0gMV0gKyBjaC5jaGFyQXQoMSk7XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhcHR1cmUgPSBjYXB0dXJlc1tuIC0gMV07XG4gICAgICB9XG4gICAgICByZXR1cm4gY2FwdHVyZSA9PT0gdW5kZWZpbmVkID8gJycgOiBjYXB0dXJlO1xuICAgIH0pO1xuICB9XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgc2FtZVZhbHVlID0gcmVxdWlyZSgnLi9fc2FtZS12YWx1ZScpO1xudmFyIHJlZ0V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xuXG4vLyBAQHNlYXJjaCBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdzZWFyY2gnLCAxLCBmdW5jdGlvbiAoZGVmaW5lZCwgU0VBUkNILCAkc2VhcmNoLCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2hgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUuc2VhcmNoXG4gICAgZnVuY3Rpb24gc2VhcmNoKHJlZ2V4cCkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIGZuID0gcmVnZXhwID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlZ2V4cFtTRUFSQ0hdO1xuICAgICAgcmV0dXJuIGZuICE9PSB1bmRlZmluZWQgPyBmbi5jYWxsKHJlZ2V4cCwgTykgOiBuZXcgUmVnRXhwKHJlZ2V4cClbU0VBUkNIXShTdHJpbmcoTykpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEBzZWFyY2hdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAc2VhcmNoXG4gICAgZnVuY3Rpb24gKHJlZ2V4cCkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkc2VhcmNoLCByZWdleHAsIHRoaXMpO1xuICAgICAgaWYgKHJlcy5kb25lKSByZXR1cm4gcmVzLnZhbHVlO1xuICAgICAgdmFyIHJ4ID0gYW5PYmplY3QocmVnZXhwKTtcbiAgICAgIHZhciBTID0gU3RyaW5nKHRoaXMpO1xuICAgICAgdmFyIHByZXZpb3VzTGFzdEluZGV4ID0gcngubGFzdEluZGV4O1xuICAgICAgaWYgKCFzYW1lVmFsdWUocHJldmlvdXNMYXN0SW5kZXgsIDApKSByeC5sYXN0SW5kZXggPSAwO1xuICAgICAgdmFyIHJlc3VsdCA9IHJlZ0V4cEV4ZWMocngsIFMpO1xuICAgICAgaWYgKCFzYW1lVmFsdWUocngubGFzdEluZGV4LCBwcmV2aW91c0xhc3RJbmRleCkpIHJ4Lmxhc3RJbmRleCA9IHByZXZpb3VzTGFzdEluZGV4O1xuICAgICAgcmV0dXJuIHJlc3VsdCA9PT0gbnVsbCA/IC0xIDogcmVzdWx0LmluZGV4O1xuICAgIH1cbiAgXTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuL19pcy1yZWdleHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHNwZWNpZXNDb25zdHJ1Y3RvciA9IHJlcXVpcmUoJy4vX3NwZWNpZXMtY29uc3RydWN0b3InKTtcbnZhciBhZHZhbmNlU3RyaW5nSW5kZXggPSByZXF1aXJlKCcuL19hZHZhbmNlLXN0cmluZy1pbmRleCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgY2FsbFJlZ0V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciAkbWluID0gTWF0aC5taW47XG52YXIgJHB1c2ggPSBbXS5wdXNoO1xudmFyICRTUExJVCA9ICdzcGxpdCc7XG52YXIgTEVOR1RIID0gJ2xlbmd0aCc7XG52YXIgTEFTVF9JTkRFWCA9ICdsYXN0SW5kZXgnO1xudmFyIE1BWF9VSU5UMzIgPSAweGZmZmZmZmZmO1xuXG4vLyBiYWJlbC1taW5pZnkgdHJhbnNwaWxlcyBSZWdFeHAoJ3gnLCAneScpIC0+IC94L3kgYW5kIGl0IGNhdXNlcyBTeW50YXhFcnJvclxudmFyIFNVUFBPUlRTX1kgPSAhZmFpbHMoZnVuY3Rpb24gKCkgeyBSZWdFeHAoTUFYX1VJTlQzMiwgJ3knKTsgfSk7XG5cbi8vIEBAc3BsaXQgbG9naWNcbnJlcXVpcmUoJy4vX2ZpeC1yZS13a3MnKSgnc3BsaXQnLCAyLCBmdW5jdGlvbiAoZGVmaW5lZCwgU1BMSVQsICRzcGxpdCwgbWF5YmVDYWxsTmF0aXZlKSB7XG4gIHZhciBpbnRlcm5hbFNwbGl0O1xuICBpZiAoXG4gICAgJ2FiYmMnWyRTUExJVF0oLyhiKSovKVsxXSA9PSAnYycgfHxcbiAgICAndGVzdCdbJFNQTElUXSgvKD86KS8sIC0xKVtMRU5HVEhdICE9IDQgfHxcbiAgICAnYWInWyRTUExJVF0oLyg/OmFiKSovKVtMRU5HVEhdICE9IDIgfHxcbiAgICAnLidbJFNQTElUXSgvKC4/KSguPykvKVtMRU5HVEhdICE9IDQgfHxcbiAgICAnLidbJFNQTElUXSgvKCkoKS8pW0xFTkdUSF0gPiAxIHx8XG4gICAgJydbJFNQTElUXSgvLj8vKVtMRU5HVEhdXG4gICkge1xuICAgIC8vIGJhc2VkIG9uIGVzNS1zaGltIGltcGxlbWVudGF0aW9uLCBuZWVkIHRvIHJld29yayBpdFxuICAgIGludGVybmFsU3BsaXQgPSBmdW5jdGlvbiAoc2VwYXJhdG9yLCBsaW1pdCkge1xuICAgICAgdmFyIHN0cmluZyA9IFN0cmluZyh0aGlzKTtcbiAgICAgIGlmIChzZXBhcmF0b3IgPT09IHVuZGVmaW5lZCAmJiBsaW1pdCA9PT0gMCkgcmV0dXJuIFtdO1xuICAgICAgLy8gSWYgYHNlcGFyYXRvcmAgaXMgbm90IGEgcmVnZXgsIHVzZSBuYXRpdmUgc3BsaXRcbiAgICAgIGlmICghaXNSZWdFeHAoc2VwYXJhdG9yKSkgcmV0dXJuICRzcGxpdC5jYWxsKHN0cmluZywgc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgICB2YXIgb3V0cHV0ID0gW107XG4gICAgICB2YXIgZmxhZ3MgPSAoc2VwYXJhdG9yLmlnbm9yZUNhc2UgPyAnaScgOiAnJykgK1xuICAgICAgICAgICAgICAgICAgKHNlcGFyYXRvci5tdWx0aWxpbmUgPyAnbScgOiAnJykgK1xuICAgICAgICAgICAgICAgICAgKHNlcGFyYXRvci51bmljb2RlID8gJ3UnIDogJycpICtcbiAgICAgICAgICAgICAgICAgIChzZXBhcmF0b3Iuc3RpY2t5ID8gJ3knIDogJycpO1xuICAgICAgdmFyIGxhc3RMYXN0SW5kZXggPSAwO1xuICAgICAgdmFyIHNwbGl0TGltaXQgPSBsaW1pdCA9PT0gdW5kZWZpbmVkID8gTUFYX1VJTlQzMiA6IGxpbWl0ID4+PiAwO1xuICAgICAgLy8gTWFrZSBgZ2xvYmFsYCBhbmQgYXZvaWQgYGxhc3RJbmRleGAgaXNzdWVzIGJ5IHdvcmtpbmcgd2l0aCBhIGNvcHlcbiAgICAgIHZhciBzZXBhcmF0b3JDb3B5ID0gbmV3IFJlZ0V4cChzZXBhcmF0b3Iuc291cmNlLCBmbGFncyArICdnJyk7XG4gICAgICB2YXIgbWF0Y2gsIGxhc3RJbmRleCwgbGFzdExlbmd0aDtcbiAgICAgIHdoaWxlIChtYXRjaCA9IHJlZ2V4cEV4ZWMuY2FsbChzZXBhcmF0b3JDb3B5LCBzdHJpbmcpKSB7XG4gICAgICAgIGxhc3RJbmRleCA9IHNlcGFyYXRvckNvcHlbTEFTVF9JTkRFWF07XG4gICAgICAgIGlmIChsYXN0SW5kZXggPiBsYXN0TGFzdEluZGV4KSB7XG4gICAgICAgICAgb3V0cHV0LnB1c2goc3RyaW5nLnNsaWNlKGxhc3RMYXN0SW5kZXgsIG1hdGNoLmluZGV4KSk7XG4gICAgICAgICAgaWYgKG1hdGNoW0xFTkdUSF0gPiAxICYmIG1hdGNoLmluZGV4IDwgc3RyaW5nW0xFTkdUSF0pICRwdXNoLmFwcGx5KG91dHB1dCwgbWF0Y2guc2xpY2UoMSkpO1xuICAgICAgICAgIGxhc3RMZW5ndGggPSBtYXRjaFswXVtMRU5HVEhdO1xuICAgICAgICAgIGxhc3RMYXN0SW5kZXggPSBsYXN0SW5kZXg7XG4gICAgICAgICAgaWYgKG91dHB1dFtMRU5HVEhdID49IHNwbGl0TGltaXQpIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXBhcmF0b3JDb3B5W0xBU1RfSU5ERVhdID09PSBtYXRjaC5pbmRleCkgc2VwYXJhdG9yQ29weVtMQVNUX0lOREVYXSsrOyAvLyBBdm9pZCBhbiBpbmZpbml0ZSBsb29wXG4gICAgICB9XG4gICAgICBpZiAobGFzdExhc3RJbmRleCA9PT0gc3RyaW5nW0xFTkdUSF0pIHtcbiAgICAgICAgaWYgKGxhc3RMZW5ndGggfHwgIXNlcGFyYXRvckNvcHkudGVzdCgnJykpIG91dHB1dC5wdXNoKCcnKTtcbiAgICAgIH0gZWxzZSBvdXRwdXQucHVzaChzdHJpbmcuc2xpY2UobGFzdExhc3RJbmRleCkpO1xuICAgICAgcmV0dXJuIG91dHB1dFtMRU5HVEhdID4gc3BsaXRMaW1pdCA/IG91dHB1dC5zbGljZSgwLCBzcGxpdExpbWl0KSA6IG91dHB1dDtcbiAgICB9O1xuICAvLyBDaGFrcmEsIFY4XG4gIH0gZWxzZSBpZiAoJzAnWyRTUExJVF0odW5kZWZpbmVkLCAwKVtMRU5HVEhdKSB7XG4gICAgaW50ZXJuYWxTcGxpdCA9IGZ1bmN0aW9uIChzZXBhcmF0b3IsIGxpbWl0KSB7XG4gICAgICByZXR1cm4gc2VwYXJhdG9yID09PSB1bmRlZmluZWQgJiYgbGltaXQgPT09IDAgPyBbXSA6ICRzcGxpdC5jYWxsKHRoaXMsIHNlcGFyYXRvciwgbGltaXQpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgaW50ZXJuYWxTcGxpdCA9ICRzcGxpdDtcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgLy8gYFN0cmluZy5wcm90b3R5cGUuc3BsaXRgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUuc3BsaXRcbiAgICBmdW5jdGlvbiBzcGxpdChzZXBhcmF0b3IsIGxpbWl0KSB7XG4gICAgICB2YXIgTyA9IGRlZmluZWQodGhpcyk7XG4gICAgICB2YXIgc3BsaXR0ZXIgPSBzZXBhcmF0b3IgPT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogc2VwYXJhdG9yW1NQTElUXTtcbiAgICAgIHJldHVybiBzcGxpdHRlciAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gc3BsaXR0ZXIuY2FsbChzZXBhcmF0b3IsIE8sIGxpbWl0KVxuICAgICAgICA6IGludGVybmFsU3BsaXQuY2FsbChTdHJpbmcoTyksIHNlcGFyYXRvciwgbGltaXQpO1xuICAgIH0sXG4gICAgLy8gYFJlZ0V4cC5wcm90b3R5cGVbQEBzcGxpdF1gIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXJlZ2V4cC5wcm90b3R5cGUtQEBzcGxpdFxuICAgIC8vXG4gICAgLy8gTk9URTogVGhpcyBjYW5ub3QgYmUgcHJvcGVybHkgcG9seWZpbGxlZCBpbiBlbmdpbmVzIHRoYXQgZG9uJ3Qgc3VwcG9ydFxuICAgIC8vIHRoZSAneScgZmxhZy5cbiAgICBmdW5jdGlvbiAocmVnZXhwLCBsaW1pdCkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZShpbnRlcm5hbFNwbGl0LCByZWdleHAsIHRoaXMsIGxpbWl0LCBpbnRlcm5hbFNwbGl0ICE9PSAkc3BsaXQpO1xuICAgICAgaWYgKHJlcy5kb25lKSByZXR1cm4gcmVzLnZhbHVlO1xuXG4gICAgICB2YXIgcnggPSBhbk9iamVjdChyZWdleHApO1xuICAgICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgICB2YXIgQyA9IHNwZWNpZXNDb25zdHJ1Y3RvcihyeCwgUmVnRXhwKTtcblxuICAgICAgdmFyIHVuaWNvZGVNYXRjaGluZyA9IHJ4LnVuaWNvZGU7XG4gICAgICB2YXIgZmxhZ3MgPSAocnguaWdub3JlQ2FzZSA/ICdpJyA6ICcnKSArXG4gICAgICAgICAgICAgICAgICAocngubXVsdGlsaW5lID8gJ20nIDogJycpICtcbiAgICAgICAgICAgICAgICAgIChyeC51bmljb2RlID8gJ3UnIDogJycpICtcbiAgICAgICAgICAgICAgICAgIChTVVBQT1JUU19ZID8gJ3knIDogJ2cnKTtcblxuICAgICAgLy8gXig/ICsgcnggKyApIGlzIG5lZWRlZCwgaW4gY29tYmluYXRpb24gd2l0aCBzb21lIFMgc2xpY2luZywgdG9cbiAgICAgIC8vIHNpbXVsYXRlIHRoZSAneScgZmxhZy5cbiAgICAgIHZhciBzcGxpdHRlciA9IG5ldyBDKFNVUFBPUlRTX1kgPyByeCA6ICdeKD86JyArIHJ4LnNvdXJjZSArICcpJywgZmxhZ3MpO1xuICAgICAgdmFyIGxpbSA9IGxpbWl0ID09PSB1bmRlZmluZWQgPyBNQVhfVUlOVDMyIDogbGltaXQgPj4+IDA7XG4gICAgICBpZiAobGltID09PSAwKSByZXR1cm4gW107XG4gICAgICBpZiAoUy5sZW5ndGggPT09IDApIHJldHVybiBjYWxsUmVnRXhwRXhlYyhzcGxpdHRlciwgUykgPT09IG51bGwgPyBbU10gOiBbXTtcbiAgICAgIHZhciBwID0gMDtcbiAgICAgIHZhciBxID0gMDtcbiAgICAgIHZhciBBID0gW107XG4gICAgICB3aGlsZSAocSA8IFMubGVuZ3RoKSB7XG4gICAgICAgIHNwbGl0dGVyLmxhc3RJbmRleCA9IFNVUFBPUlRTX1kgPyBxIDogMDtcbiAgICAgICAgdmFyIHogPSBjYWxsUmVnRXhwRXhlYyhzcGxpdHRlciwgU1VQUE9SVFNfWSA/IFMgOiBTLnNsaWNlKHEpKTtcbiAgICAgICAgdmFyIGU7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB6ID09PSBudWxsIHx8XG4gICAgICAgICAgKGUgPSAkbWluKHRvTGVuZ3RoKHNwbGl0dGVyLmxhc3RJbmRleCArIChTVVBQT1JUU19ZID8gMCA6IHEpKSwgUy5sZW5ndGgpKSA9PT0gcFxuICAgICAgICApIHtcbiAgICAgICAgICBxID0gYWR2YW5jZVN0cmluZ0luZGV4KFMsIHEsIHVuaWNvZGVNYXRjaGluZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgQS5wdXNoKFMuc2xpY2UocCwgcSkpO1xuICAgICAgICAgIGlmIChBLmxlbmd0aCA9PT0gbGltKSByZXR1cm4gQTtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8PSB6Lmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICAgICAgQS5wdXNoKHpbaV0pO1xuICAgICAgICAgICAgaWYgKEEubGVuZ3RoID09PSBsaW0pIHJldHVybiBBO1xuICAgICAgICAgIH1cbiAgICAgICAgICBxID0gcCA9IGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEEucHVzaChTLnNsaWNlKHApKTtcbiAgICAgIHJldHVybiBBO1xuICAgIH1cbiAgXTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xucmVxdWlyZSgnLi9lczYucmVnZXhwLmZsYWdzJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciAkZmxhZ3MgPSByZXF1aXJlKCcuL19mbGFncycpO1xudmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKTtcbnZhciBUT19TVFJJTkcgPSAndG9TdHJpbmcnO1xudmFyICR0b1N0cmluZyA9IC8uL1tUT19TVFJJTkddO1xuXG52YXIgZGVmaW5lID0gZnVuY3Rpb24gKGZuKSB7XG4gIHJlcXVpcmUoJy4vX3JlZGVmaW5lJykoUmVnRXhwLnByb3RvdHlwZSwgVE9fU1RSSU5HLCBmbiwgdHJ1ZSk7XG59O1xuXG4vLyAyMS4yLjUuMTQgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZygpXG5pZiAocmVxdWlyZSgnLi9fZmFpbHMnKShmdW5jdGlvbiAoKSB7IHJldHVybiAkdG9TdHJpbmcuY2FsbCh7IHNvdXJjZTogJ2EnLCBmbGFnczogJ2InIH0pICE9ICcvYS9iJzsgfSkpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHZhciBSID0gYW5PYmplY3QodGhpcyk7XG4gICAgcmV0dXJuICcvJy5jb25jYXQoUi5zb3VyY2UsICcvJyxcbiAgICAgICdmbGFncycgaW4gUiA/IFIuZmxhZ3MgOiAhREVTQ1JJUFRPUlMgJiYgUiBpbnN0YW5jZW9mIFJlZ0V4cCA/ICRmbGFncy5jYWxsKFIpIDogdW5kZWZpbmVkKTtcbiAgfSk7XG4vLyBGRjQ0LSBSZWdFeHAjdG9TdHJpbmcgaGFzIGEgd3JvbmcgbmFtZVxufSBlbHNlIGlmICgkdG9TdHJpbmcubmFtZSAhPSBUT19TVFJJTkcpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiAkdG9TdHJpbmcuY2FsbCh0aGlzKTtcbiAgfSk7XG59XG4iLCIndXNlIHN0cmljdCc7XG52YXIgc3Ryb25nID0gcmVxdWlyZSgnLi9fY29sbGVjdGlvbi1zdHJvbmcnKTtcbnZhciB2YWxpZGF0ZSA9IHJlcXVpcmUoJy4vX3ZhbGlkYXRlLWNvbGxlY3Rpb24nKTtcbnZhciBTRVQgPSAnU2V0JztcblxuLy8gMjMuMiBTZXQgT2JqZWN0c1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19jb2xsZWN0aW9uJykoU0VULCBmdW5jdGlvbiAoZ2V0KSB7XG4gIHJldHVybiBmdW5jdGlvbiBTZXQoKSB7IHJldHVybiBnZXQodGhpcywgYXJndW1lbnRzLmxlbmd0aCA+IDAgPyBhcmd1bWVudHNbMF0gOiB1bmRlZmluZWQpOyB9O1xufSwge1xuICAvLyAyMy4yLjMuMSBTZXQucHJvdG90eXBlLmFkZCh2YWx1ZSlcbiAgYWRkOiBmdW5jdGlvbiBhZGQodmFsdWUpIHtcbiAgICByZXR1cm4gc3Ryb25nLmRlZih2YWxpZGF0ZSh0aGlzLCBTRVQpLCB2YWx1ZSA9IHZhbHVlID09PSAwID8gMCA6IHZhbHVlLCB2YWx1ZSk7XG4gIH1cbn0sIHN0cm9uZyk7XG4iLCIndXNlIHN0cmljdCc7XG4vLyBCLjIuMy4yIFN0cmluZy5wcm90b3R5cGUuYW5jaG9yKG5hbWUpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdhbmNob3InLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gYW5jaG9yKG5hbWUpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnYScsICduYW1lJywgbmFtZSk7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjMgU3RyaW5nLnByb3RvdHlwZS5iaWcoKVxucmVxdWlyZSgnLi9fc3RyaW5nLWh0bWwnKSgnYmlnJywgZnVuY3Rpb24gKGNyZWF0ZUhUTUwpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGJpZygpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnYmlnJywgJycsICcnKTtcbiAgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuNCBTdHJpbmcucHJvdG90eXBlLmJsaW5rKClcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2JsaW5rJywgZnVuY3Rpb24gKGNyZWF0ZUhUTUwpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGJsaW5rKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdibGluaycsICcnLCAnJyk7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjUgU3RyaW5nLnByb3RvdHlwZS5ib2xkKClcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2JvbGQnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gYm9sZCgpIHtcbiAgICByZXR1cm4gY3JlYXRlSFRNTCh0aGlzLCAnYicsICcnLCAnJyk7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgJGF0ID0gcmVxdWlyZSgnLi9fc3RyaW5nLWF0JykoZmFsc2UpO1xuJGV4cG9ydCgkZXhwb3J0LlAsICdTdHJpbmcnLCB7XG4gIC8vIDIxLjEuMy4zIFN0cmluZy5wcm90b3R5cGUuY29kZVBvaW50QXQocG9zKVxuICBjb2RlUG9pbnRBdDogZnVuY3Rpb24gY29kZVBvaW50QXQocG9zKSB7XG4gICAgcmV0dXJuICRhdCh0aGlzLCBwb3MpO1xuICB9XG59KTtcbiIsIi8vIDIxLjEuMy42IFN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgoc2VhcmNoU3RyaW5nIFssIGVuZFBvc2l0aW9uXSlcbid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBjb250ZXh0ID0gcmVxdWlyZSgnLi9fc3RyaW5nLWNvbnRleHQnKTtcbnZhciBFTkRTX1dJVEggPSAnZW5kc1dpdGgnO1xudmFyICRlbmRzV2l0aCA9ICcnW0VORFNfV0lUSF07XG5cbiRleHBvcnQoJGV4cG9ydC5QICsgJGV4cG9ydC5GICogcmVxdWlyZSgnLi9fZmFpbHMtaXMtcmVnZXhwJykoRU5EU19XSVRIKSwgJ1N0cmluZycsIHtcbiAgZW5kc1dpdGg6IGZ1bmN0aW9uIGVuZHNXaXRoKHNlYXJjaFN0cmluZyAvKiAsIGVuZFBvc2l0aW9uID0gQGxlbmd0aCAqLykge1xuICAgIHZhciB0aGF0ID0gY29udGV4dCh0aGlzLCBzZWFyY2hTdHJpbmcsIEVORFNfV0lUSCk7XG4gICAgdmFyIGVuZFBvc2l0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7XG4gICAgdmFyIGxlbiA9IHRvTGVuZ3RoKHRoYXQubGVuZ3RoKTtcbiAgICB2YXIgZW5kID0gZW5kUG9zaXRpb24gPT09IHVuZGVmaW5lZCA/IGxlbiA6IE1hdGgubWluKHRvTGVuZ3RoKGVuZFBvc2l0aW9uKSwgbGVuKTtcbiAgICB2YXIgc2VhcmNoID0gU3RyaW5nKHNlYXJjaFN0cmluZyk7XG4gICAgcmV0dXJuICRlbmRzV2l0aFxuICAgICAgPyAkZW5kc1dpdGguY2FsbCh0aGF0LCBzZWFyY2gsIGVuZClcbiAgICAgIDogdGhhdC5zbGljZShlbmQgLSBzZWFyY2gubGVuZ3RoLCBlbmQpID09PSBzZWFyY2g7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xuLy8gQi4yLjMuNiBTdHJpbmcucHJvdG90eXBlLmZpeGVkKClcbnJlcXVpcmUoJy4vX3N0cmluZy1odG1sJykoJ2ZpeGVkJywgZnVuY3Rpb24gKGNyZWF0ZUhUTUwpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGZpeGVkKCkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICd0dCcsICcnLCAnJyk7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjcgU3RyaW5nLnByb3RvdHlwZS5mb250Y29sb3IoY29sb3IpXG5yZXF1aXJlKCcuL19zdHJpbmctaHRtbCcpKCdmb250Y29sb3InLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gZm9udGNvbG9yKGNvbG9yKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUhUTUwodGhpcywgJ2ZvbnQnLCAnY29sb3InLCBjb2xvcik7XG4gIH07XG59KTtcbiIsIid1c2Ugc3RyaWN0Jztcbi8vIEIuMi4zLjggU3RyaW5nLnByb3RvdHlwZS5mb250c2l6ZShzaXplKVxucmVxdWlyZSgnLi9fc3RyaW5nLWh0bWwnKSgnZm9udHNpemUnLCBmdW5jdGlvbiAoY3JlYXRlSFRNTCkge1xuICByZXR1cm4gZnVuY3Rpb24gZm9udHNpemUoc2l6ZSkge1xuICAgIHJldHVybiBjcmVhdGVIVE1MKHRoaXMsICdmb250JywgJ3NpemUnLCBzaXplKTtcbiAgfTtcbn0pO1xuIiwidmFyICRleHBvcnQgPSByZXF1aXJlKCcuL19leHBvcnQnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xudmFyIGZyb21DaGFyQ29kZSA9IFN0cmluZy5mcm9tQ2hhckNvZGU7XG52YXIgJGZyb21Db2RlUG9pbnQgPSBTdHJpbmcuZnJvbUNvZGVQb2ludDtcblxuLy8gbGVuZ3RoIHNob3VsZCBiZSAxLCBvbGQgRkYgcHJvYmxlbVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAoISEkZnJvbUNvZGVQb2ludCAmJiAkZnJvbUNvZGVQb2ludC5sZW5ndGggIT0gMSksICdTdHJpbmcnLCB7XG4gIC8vIDIxLjEuMi4yIFN0cmluZy5mcm9tQ29kZVBvaW50KC4uLmNvZGVQb2ludHMpXG4gIGZyb21Db2RlUG9pbnQ6IGZ1bmN0aW9uIGZyb21Db2RlUG9pbnQoeCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgdmFyIHJlcyA9IFtdO1xuICAgIHZhciBhTGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIGNvZGU7XG4gICAgd2hpbGUgKGFMZW4gPiBpKSB7XG4gICAgICBjb2RlID0gK2FyZ3VtZW50c1tpKytdO1xuICAgICAgaWYgKHRvQWJzb2x1dGVJbmRleChjb2RlLCAweDEwZmZmZikgIT09IGNvZGUpIHRocm93IFJhbmdlRXJyb3IoY29kZSArICcgaXMgbm90IGEgdmFsaWQgY29kZSBwb2ludCcpO1xuICAgICAgcmVzLnB1c2goY29kZSA8IDB4MTAwMDBcbiAgICAgICAgPyBmcm9tQ2hhckNvZGUoY29kZSlcbiAgICAgICAgOiBmcm9tQ2hhckNvZGUoKChjb2RlIC09IDB4MTAwMDApID4+IDEwKSArIDB4ZDgwMCwgY29kZSAlIDB4NDAwICsgMHhkYzAwKVxuICAgICAgKTtcbiAgICB9IHJldHVybiByZXMuam9pbignJyk7XG4gIH1cbn0pO1xuIiwiLy8gMjEuMS4zLjcgU3RyaW5nLnByb3RvdHlwZS5pbmNsdWRlcyhzZWFyY2hTdHJpbmcsIHBvc2l0aW9uID0gMClcbid1c2Ugc3RyaWN0JztcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgY29udGV4dCA9IHJlcXVpcmUoJy4vX3N0cmluZy1jb250ZXh0Jyk7XG52YXIgSU5DTFVERVMgPSAnaW5jbHVkZXMnO1xuXG4kZXhwb3J0KCRleHBvcnQuUCArICRleHBvcnQuRiAqIHJlcXVpcmUoJy4vX2ZhaWxzLWlzLXJlZ2V4cCcpKElOQ0xVREVTKSwgJ1N0cmluZycsIHtcbiAgaW5jbHVkZXM6IGZ1bmN0aW9uIGluY2x1ZGVzKHNlYXJjaFN0cmluZyAvKiAsIHBvc2l0aW9uID0gMCAqLykge1xuICAgIHJldHVybiAhIX5jb250ZXh0KHRoaXM
|