@daoyi/nmtl-ui 2.0.1-beta.53 → 2.0.1-beta.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/{Autocomplete-3dae80ca.js → Autocomplete-d826e57f.js} +1 -1
- package/lib/components/Autocomplete.js +2 -2
- package/lib/components/BackTop.js +1 -1
- package/lib/components/Carousel.js +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/CollapseContent.js +1 -1
- package/lib/components/{ContactModal-66bcb5d3.js → ContactModal-bc062516.js} +1456 -215
- package/lib/components/ContactModal.js +3 -3
- package/lib/components/{Drawer-df3535c2.js → Drawer-bfcfd292.js} +2 -2
- package/lib/components/Drawer.js +3 -3
- package/lib/components/Dropdown.js +1 -1
- package/lib/components/ExportButton.js +1 -1
- package/lib/components/{ExtraTools-b0bb9399.js → ExtraTools-aa5bc12d.js} +2 -2
- package/lib/components/ExtraTools.js +3 -3
- package/lib/components/Filter.js +1 -1
- package/lib/components/Footer.js +3 -3
- package/lib/components/{ForwardLink-0571e627.js → ForwardLink-fd92b26e.js} +1 -1
- package/lib/components/ForwardLink.js +2 -2
- package/lib/components/Header.js +5 -5
- package/lib/components/Image.js +1 -1
- package/lib/components/InputMethod.js +1 -1
- package/lib/components/{KeywordSearch-568a8a44.js → KeywordSearch-4b7ace9c.js} +2 -2
- package/lib/components/KeywordSearch.js +3 -3
- package/lib/components/KeywordTicker.js +2 -2
- package/lib/components/Keywords.js +1 -1
- package/lib/components/Radio.js +1 -1
- package/lib/components/SNA.js +3 -3
- package/lib/components/{Select-113372b2.js → Select-f3014e5a.js} +1 -1
- package/lib/components/Select.js +2 -2
- package/lib/components/Table.js +1 -1
- package/lib/components/{Tooltip-abe1205f.js → Tooltip-fdee6235.js} +1 -1
- package/lib/components/Tooltip.js +2 -2
- package/lib/components/_rollupPluginBabelHelpers-a52356f6.js +142 -0
- package/lib/components/globalConfig.js +8 -5
- package/lib/utils/sendEmail.js +1 -1
- package/package.json +1 -1
- package/lib/components/_rollupPluginBabelHelpers-3d9c8289.js +0 -478
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { _ as _extends$1, a as _slicedToArray, b as _objectSpread2, e as _defineProperty
|
|
2
|
-
import React__default, { createContext, forwardRef, createElement, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useLayoutEffect, Component, useState } from 'react';
|
|
1
|
+
import { _ as _extends$1, a as _slicedToArray$2, b as _objectSpread2, e as _defineProperty$1 } from './_rollupPluginBabelHelpers-a52356f6.js';
|
|
2
|
+
import React__default, { createContext, forwardRef, createElement, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useLayoutEffect, Component, useState, useImperativeHandle, Fragment } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { h as hoistNonReactStatics_cjs } from './hoist-non-react-statics.cjs-3f408ad2.js';
|
|
5
5
|
import axios from 'axios';
|
|
6
6
|
import { M as Modal } from './Modal-64c4ab0d.js';
|
|
7
7
|
import { c as commonjsGlobal, a as getDefaultExportFromCjs } from './_commonjsHelpers-70de2c37.js';
|
|
8
8
|
import { c as classNames } from './index-66babe67.js';
|
|
9
|
-
import { Input, Button,
|
|
10
|
-
import { S as Select } from './Select-
|
|
9
|
+
import { Input, Button, Box, Typography, FormControl, RadioGroup, FormControlLabel, Radio, TextField, TextareaAutosize } from '@material-ui/core';
|
|
10
|
+
import { S as Select } from './Select-f3014e5a.js';
|
|
11
11
|
import { s as styleInject } from './style-inject.es-1f59c1d0.js';
|
|
12
12
|
import { r as requireCreateSvgIcon, i as interopRequireDefault, a as interopRequireWildcard } from './createSvgIcon-a79ae4b1.js';
|
|
13
13
|
import { getIntl } from './globalConfig';
|
|
@@ -799,7 +799,7 @@ function getNative(object, key) {
|
|
|
799
799
|
}
|
|
800
800
|
|
|
801
801
|
/* Built-in method references that are verified to be native. */
|
|
802
|
-
var Map = getNative(root, 'Map');
|
|
802
|
+
var Map$1 = getNative(root, 'Map');
|
|
803
803
|
|
|
804
804
|
/* Built-in method references that are verified to be native. */
|
|
805
805
|
var nativeCreate = getNative(Object, 'create');
|
|
@@ -935,7 +935,7 @@ function mapCacheClear() {
|
|
|
935
935
|
this.size = 0;
|
|
936
936
|
this.__data__ = {
|
|
937
937
|
'hash': new Hash,
|
|
938
|
-
'map': new (Map || ListCache),
|
|
938
|
+
'map': new (Map$1 || ListCache),
|
|
939
939
|
'string': new Hash
|
|
940
940
|
};
|
|
941
941
|
}
|
|
@@ -1071,7 +1071,7 @@ function stackSet(key, value) {
|
|
|
1071
1071
|
var data = this.__data__;
|
|
1072
1072
|
if (data instanceof ListCache) {
|
|
1073
1073
|
var pairs = data.__data__;
|
|
1074
|
-
if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
|
|
1074
|
+
if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
|
|
1075
1075
|
pairs.push([key, value]);
|
|
1076
1076
|
this.size = ++data.size;
|
|
1077
1077
|
return this;
|
|
@@ -1330,10 +1330,10 @@ var freeModule$2 = freeExports$2 && typeof module == 'object' && module && !modu
|
|
|
1330
1330
|
var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;
|
|
1331
1331
|
|
|
1332
1332
|
/** Built-in value references. */
|
|
1333
|
-
var Buffer$
|
|
1333
|
+
var Buffer$1 = moduleExports$2 ? root.Buffer : undefined;
|
|
1334
1334
|
|
|
1335
1335
|
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
1336
|
-
var nativeIsBuffer = Buffer$
|
|
1336
|
+
var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : undefined;
|
|
1337
1337
|
|
|
1338
1338
|
/**
|
|
1339
1339
|
* Checks if `value` is a buffer.
|
|
@@ -1787,8 +1787,8 @@ var freeModule = freeExports && typeof module == 'object' && module && !module.n
|
|
|
1787
1787
|
var moduleExports = freeModule && freeModule.exports === freeExports;
|
|
1788
1788
|
|
|
1789
1789
|
/** Built-in value references. */
|
|
1790
|
-
var Buffer
|
|
1791
|
-
allocUnsafe = Buffer
|
|
1790
|
+
var Buffer = moduleExports ? root.Buffer : undefined,
|
|
1791
|
+
allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
|
|
1792
1792
|
|
|
1793
1793
|
/**
|
|
1794
1794
|
* Creates a clone of `buffer`.
|
|
@@ -2024,7 +2024,7 @@ var dataViewTag$2 = '[object DataView]';
|
|
|
2024
2024
|
|
|
2025
2025
|
/** Used to detect maps, sets, and weakmaps. */
|
|
2026
2026
|
var dataViewCtorString = toSource(DataView),
|
|
2027
|
-
mapCtorString = toSource(Map),
|
|
2027
|
+
mapCtorString = toSource(Map$1),
|
|
2028
2028
|
promiseCtorString = toSource(Promise$1),
|
|
2029
2029
|
setCtorString = toSource(Set),
|
|
2030
2030
|
weakMapCtorString = toSource(WeakMap$1);
|
|
@@ -2040,7 +2040,7 @@ var getTag = baseGetTag;
|
|
|
2040
2040
|
|
|
2041
2041
|
// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
|
|
2042
2042
|
if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$2) ||
|
|
2043
|
-
(Map && getTag(new Map) != mapTag$3) ||
|
|
2043
|
+
(Map$1 && getTag(new Map$1) != mapTag$3) ||
|
|
2044
2044
|
(Promise$1 && getTag(Promise$1.resolve()) != promiseTag) ||
|
|
2045
2045
|
(Set && getTag(new Set) != setTag$3) ||
|
|
2046
2046
|
(WeakMap$1 && getTag(new WeakMap$1) != weakMapTag$1)) {
|
|
@@ -2090,7 +2090,7 @@ function initCloneArray(array) {
|
|
|
2090
2090
|
}
|
|
2091
2091
|
|
|
2092
2092
|
/** Built-in value references. */
|
|
2093
|
-
var Uint8Array
|
|
2093
|
+
var Uint8Array = root.Uint8Array;
|
|
2094
2094
|
|
|
2095
2095
|
/**
|
|
2096
2096
|
* Creates a clone of `arrayBuffer`.
|
|
@@ -2101,7 +2101,7 @@ var Uint8Array$1 = root.Uint8Array;
|
|
|
2101
2101
|
*/
|
|
2102
2102
|
function cloneArrayBuffer(arrayBuffer) {
|
|
2103
2103
|
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
|
|
2104
|
-
new Uint8Array
|
|
2104
|
+
new Uint8Array(result).set(new Uint8Array(arrayBuffer));
|
|
2105
2105
|
return result;
|
|
2106
2106
|
}
|
|
2107
2107
|
|
|
@@ -2803,7 +2803,7 @@ function _inheritsLoose(subClass, superClass) {
|
|
|
2803
2803
|
subClass.__proto__ = superClass;
|
|
2804
2804
|
}
|
|
2805
2805
|
|
|
2806
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
2806
|
+
function _objectWithoutPropertiesLoose$1(source, excluded) {
|
|
2807
2807
|
if (source == null) return {};
|
|
2808
2808
|
var target = {};
|
|
2809
2809
|
var sourceKeys = Object.keys(source);
|
|
@@ -3062,7 +3062,7 @@ function useFormik(_ref) {
|
|
|
3062
3062
|
_ref$enableReinitiali = _ref.enableReinitialize,
|
|
3063
3063
|
enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,
|
|
3064
3064
|
onSubmit = _ref.onSubmit,
|
|
3065
|
-
rest = _objectWithoutPropertiesLoose(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]);
|
|
3065
|
+
rest = _objectWithoutPropertiesLoose$1(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]);
|
|
3066
3066
|
|
|
3067
3067
|
var props = _extends({
|
|
3068
3068
|
validateOnChange: validateOnChange,
|
|
@@ -3928,10 +3928,10 @@ function Field(_ref) {
|
|
|
3928
3928
|
children = _ref.children,
|
|
3929
3929
|
is = _ref.as,
|
|
3930
3930
|
component = _ref.component,
|
|
3931
|
-
props = _objectWithoutPropertiesLoose(_ref, ["validate", "name", "render", "children", "as", "component"]);
|
|
3931
|
+
props = _objectWithoutPropertiesLoose$1(_ref, ["validate", "name", "render", "children", "as", "component"]);
|
|
3932
3932
|
|
|
3933
3933
|
var _useFormikContext = useFormikContext(),
|
|
3934
|
-
formik = _objectWithoutPropertiesLoose(_useFormikContext, ["validate", "validationSchema"]);
|
|
3934
|
+
formik = _objectWithoutPropertiesLoose$1(_useFormikContext, ["validate", "validationSchema"]);
|
|
3935
3935
|
|
|
3936
3936
|
|
|
3937
3937
|
var registerField = formik.registerField,
|
|
@@ -3969,7 +3969,7 @@ function Field(_ref) {
|
|
|
3969
3969
|
// This behavior is backwards compat with earlier Formik 0.9 to 1.x
|
|
3970
3970
|
if (typeof component === 'string') {
|
|
3971
3971
|
var innerRef = props.innerRef,
|
|
3972
|
-
rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
|
|
3972
|
+
rest = _objectWithoutPropertiesLoose$1(props, ["innerRef"]);
|
|
3973
3973
|
|
|
3974
3974
|
return createElement(component, _extends({
|
|
3975
3975
|
ref: innerRef
|
|
@@ -3988,7 +3988,7 @@ function Field(_ref) {
|
|
|
3988
3988
|
|
|
3989
3989
|
if (typeof asElement === 'string') {
|
|
3990
3990
|
var _innerRef = props.innerRef,
|
|
3991
|
-
_rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
|
|
3991
|
+
_rest = _objectWithoutPropertiesLoose$1(props, ["innerRef"]);
|
|
3992
3992
|
|
|
3993
3993
|
return createElement(asElement, _extends({
|
|
3994
3994
|
ref: _innerRef
|
|
@@ -4002,7 +4002,7 @@ var Form = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
4002
4002
|
// iOS needs an "action" attribute for nice input: https://stackoverflow.com/a/39485162/406725
|
|
4003
4003
|
// We default the action to "#" in case the preventDefault fails (just updates the URL hash)
|
|
4004
4004
|
var action = props.action,
|
|
4005
|
-
rest = _objectWithoutPropertiesLoose(props, ["action"]);
|
|
4005
|
+
rest = _objectWithoutPropertiesLoose$1(props, ["action"]);
|
|
4006
4006
|
|
|
4007
4007
|
var _action = action != null ? action : '#';
|
|
4008
4008
|
|
|
@@ -4066,7 +4066,7 @@ var ErrorMessageImpl = /*#__PURE__*/function (_React$Component) {
|
|
|
4066
4066
|
render = _this$props.render,
|
|
4067
4067
|
children = _this$props.children,
|
|
4068
4068
|
name = _this$props.name,
|
|
4069
|
-
rest = _objectWithoutPropertiesLoose(_this$props, ["component", "formik", "render", "children", "name"]);
|
|
4069
|
+
rest = _objectWithoutPropertiesLoose$1(_this$props, ["component", "formik", "render", "children", "name"]);
|
|
4070
4070
|
|
|
4071
4071
|
var touch = getIn(formik.touched, name);
|
|
4072
4072
|
var error = getIn(formik.errors, name);
|
|
@@ -4087,7 +4087,7 @@ var ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl);
|
|
|
4087
4087
|
//
|
|
4088
4088
|
// apiUrl: "https://api.daoyidh.com/mail"
|
|
4089
4089
|
const sendEmail = function (sendMail, apiUrl, onSuccess) {
|
|
4090
|
-
let timeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] :
|
|
4090
|
+
let timeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10000;
|
|
4091
4091
|
// timeout
|
|
4092
4092
|
axios.defaults.timeout = timeout;
|
|
4093
4093
|
try {
|
|
@@ -9799,29 +9799,11 @@ var moment$1 = {exports: {}};
|
|
|
9799
9799
|
|
|
9800
9800
|
var moment = moment$1.exports;
|
|
9801
9801
|
|
|
9802
|
-
var jszip_min = {exports: {}};
|
|
9803
|
-
|
|
9804
|
-
/*!
|
|
9805
|
-
|
|
9806
|
-
JSZip v3.7.1 - A JavaScript class for generating and reading zip files
|
|
9807
|
-
<http://stuartk.com/jszip>
|
|
9808
|
-
|
|
9809
|
-
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
|
|
9810
|
-
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
|
|
9811
|
-
|
|
9812
|
-
JSZip uses the library pako released under the MIT license :
|
|
9813
|
-
https://github.com/nodeca/pako/blob/master/LICENSE
|
|
9814
|
-
*/
|
|
9815
|
-
|
|
9816
|
-
(function (module, exports) {
|
|
9817
|
-
!function(t){module.exports=t();}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof commonjsRequire&&commonjsRequire;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h);}return o[r].exports}for(var l="function"==typeof commonjsRequire&&commonjsRequire,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){var c=t("./utils"),d=t("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d="string"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u="data:";if(t.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l};},{"./support":30,"./utils":32}],2:[function(t,e,r){var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n;}o.prototype={getContentWorker:function(){var t=new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=o;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){var i=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t;}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return -1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return -1^t}(0|e,t,t.length,0):0};},{"./utils":32}],5:[function(t,e,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null;},{}],6:[function(t,e,r){var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i};},{lie:37}],7:[function(t,e,r){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={};}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1);},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null;},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta});};},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){function A(t,e){var r,i="";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}));},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},s.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,i=function(t,e,r,i,n){var s=I.transformTo("string",n(i));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}});},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},s.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t);}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end();}),t.on("error",function(t){e.error(t);}),this},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return !1;for(var r=0;r<e.length;r++)try{e[r].error(t);}catch(t){}return !0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock();},e.exports=s;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,e,r){var u=t("../compressions"),i=t("./ZipFileWorker");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo("file",{name:t,dir:n,date:s,comment:e.comment||"",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o);}),o.entriesCount=h;}catch(t){o.error(t);}return o};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var t=new i;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t};}(i.prototype=t("./object")).loadAsync=t("./load"),i.support=t("./support"),i.defaults=t("./defaults"),i.version="3.7.1",i.loadAsync=function(t,e){return (new i).loadAsync(t,e)},i.external=t("./external"),e.exports=i;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,e,r){var i=t("./utils"),n=t("./external"),o=t("./utf8"),h=t("./zipEntries"),s=t("./stream/Crc32Probe"),u=t("./nodejsUtils");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on("error",function(t){e(t);}).on("end",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error("Corrupted zip : CRC32 mismatch")):t();}).resume();})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders});}return e.zipComment.length&&(a.comment=e.zipComment),a})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,e,r){var i=t("../utils"),n=t("../stream/GenericWorker");function s(t,e){n.call(this,"Nodejs stream input adapter for "+t),this._upstreamEnded=!1,this._bindStream(e);}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on("data",function(t){e.push({data:t,meta:{percent:0}});}).on("error",function(t){e.isPaused?this.generatedError=t:e.error(t);}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end();});},s.prototype.pause=function(){return !!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,e,r){var n=t("readable-stream").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on("data",function(t,e){i.push(t)||i._helper.pause(),r&&r(e);}).on("error",function(t){i.emit("error",t);}).on("end",function(){i.push(null);});}t("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume();},e.exports=i;},{"../utils":32,"readable-stream":16}],14:[function(t,e,r){e.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if("number"==typeof t)throw new Error('The "data" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}};},{}],15:[function(t,e,r){function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a="string"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e="",s.compression="STORE",n="string");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h;}var n=t("./utf8"),u=t("./utils"),l=t("./stream/GenericWorker"),a=t("./stream/StreamHelper"),f=t("./defaults"),d=t("./compressedObject"),c=t("./zipObject"),o=t("./generate"),p=t("./nodejsUtils"),m=t("./nodejs/NodejsStreamInputAdapter"),_=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0<e?t.substring(0,e):""},g=function(t){return "/"!==t.slice(-1)&&(t+="/"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return "[object RegExp]"===Object.prototype.toString.call(t)}var i={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(t){var e,r,i;for(e in this.files)i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i);},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e);}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return !e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||("/"!==r.slice(-1)&&(r+="/"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].name];return this},generate:function(t){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(t){var e,r={};try{if((r=u.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var i=r.comment||this.comment||"";e=o.generateWorker(this,r,i);}catch(t){(e=new l("error")).error(t);}return new a(e,r.type||"string",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return (t=t||{}).type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,e,r){e.exports=t("stream");},{stream:void 0}],17:[function(t,e,r){var i=t("./DataReader");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e];}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return -1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return [];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n;},{"../utils":32,"./DataReader":18}],18:[function(t,e,r){var i=t("../utils");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0;}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t);},checkIndex:function(t){if(this.length<this.zero+t||t<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?")},setIndex:function(t){this.checkIndex(t),this.index=t;},skip:function(t){this.setIndex(this.index+t);},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n;},{"../utils":32}],19:[function(t,e,r){var i=t("./Uint8ArrayReader");function n(t){i.call(this,t);}t("../utils").inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n;},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){var i=t("./DataReader");function n(t){i.call(this,t);}t("../utils").inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){return t===this.readData(4)},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n;},{"../utils":32,"./DataReader":18}],21:[function(t,e,r){var i=t("./ArrayReader");function n(t){i.call(this,t);}t("../utils").inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n;},{"../utils":32,"./ArrayReader":17}],22:[function(t,e,r){var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b";},{}],24:[function(t,e,r){var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t;}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta});},e.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t);},e.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0);}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length;}n.prototype.processChunk.call(this,t);},e.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat();},function(t){e.error(t);});}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e);}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){function i(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null;}i.prototype={push:function(t){this.emit("data",t);},end:function(){if(this.isFinished)return !1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0;}catch(t){this.emit("error",t);}return !0},error:function(t){return !this.isFinished&&(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[];},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e);},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on("data",function(t){e.processChunk(t);}),t.on("end",function(){e.end();}),t.on("error",function(t){e.error(t);}),this},pause:function(){return !this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var t=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t);},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t]);},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock();},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=i;},{}],29:[function(t,e,r){var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter");}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e);}).on("error",function(t){i=[],r(t);}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return h.newBlob(h.transformTo("arraybuffer",e),r);case"base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case"nodebuffer":return Buffer.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}(n,i),a);e(t);}catch(t){r(t);}i=[];}).resume();})}function f(t,e,r){var i=e;switch(e){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string";}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock();}catch(t){this._worker=new s("error"),this._worker.error(t);}}f.prototype={accumulate:function(t){return l(this,t)},on:function(t,e){var r=this;return "data"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta);}):this._worker.on(t,function(){h.delay(e,arguments,r);}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,e,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:"application/zip"}).size;}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob("application/zip").size;}catch(t){r.blob=!1;}}}try{r.nodestream=!!t("readable-stream").Readable;}catch(t){r.nodestream=!1;}},{"readable-stream":16}],31:[function(t,e,s){for(var o=t("./utils"),h=t("./support"),r=t("./nodejsUtils"),i=t("./stream/GenericWorker"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,"utf-8 decode"),this.leftOver=null;}function l(){i.call(this,"utf-8 encode");}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,"utf-8"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else {for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i);}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length);}else e=this.leftOver.concat(e);this.leftOver=null;}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta});},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta});},s.Utf8EncodeWorker=l;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,a){var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport("blob");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)"array"===e||"nodebuffer"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.join("")},stringifyByChar:function(t){for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return !1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return !1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if("uint8array"===r?i=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2);}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||"",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return "string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":o.nodebuffer&&r.isBuffer(t)?"nodebuffer":o.uint8array&&t instanceof Uint8Array?"uint8array":o.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i="";for(r=0;r<(t||"").length;r++)i+="\\x"+((e=t.charCodeAt(r))<16?"0":"")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[]);});},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r;},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(i)))&&"undefined"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result);},t.onerror=function(t){r(t.target.error);},t.readAsArrayBuffer(i);}):i}).then(function(t){var e=a.getTypeOf(t);return e?("arraybuffer"===e?t=a.transformTo("uint8array",t):"string"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(t,e,r){var i=t("./reader/readerFor"),n=t("./utils"),s=t("./signature"),a=t("./zipEntry"),o=(t("./utf8"),t("./support"));function h(t){this.files=[],this.loadOptions=t;}h.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+n.pretty(e)+", expected "+n.pretty(t)+")")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=o.uint8array?"uint8array":"array",r=n.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r);},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,i=this.zip64EndOfCentralSize-44;0<i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r};},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes();},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(t<0)throw !this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(t);var e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral();}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(t){this.reader=i(t);},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles();}},e.exports=h;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(t,e,r){var i=t("./reader/readerFor"),s=t("./utils"),n=t("./compressedObject"),a=t("./crc32"),o=t("./utf8"),h=t("./compressions"),u=t("./support");function l(t,e){this.options=t,this.loadOptions=e;}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new n(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize));},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength);},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0);},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4));}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n);},handleUTF8:function(){var t=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else {var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else {var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else {var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n);}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,e,r){function i(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions};}var s=t("./stream/StreamHelper"),n=t("./stream/DataWorker"),a=t("./utf8"),o=t("./compressedObject"),h=t("./stream/GenericWorker");i.prototype={internalStream:function(t){var e=null,r="string";try{if(!t)throw new Error("No output type specified.");var i="string"===(r=t.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker));}catch(t){(e=new h("error")).error(t);}return new s(e,r,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,l,e){(function(e){var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2;};}else if(e.setImmediate||void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null;},e.document.documentElement.appendChild(t);}:function(){setTimeout(u,0);};else {var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0);};}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length;}i=!1;}l.exports=function(t){1!==h.push(t)||i||r();};}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(t,e,r){var n=t("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],i=["PENDING"];function o(t){if("function"!=typeof t)throw new TypeError("resolver must be a function");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t);}function h(t,e,r){this.promise=t,"function"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function f(e,r,i){n(function(){var t;try{t=r(i);}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError("Cannot resolve promise with itself")):l.resolve(e,t);});}function d(t){var e=t&&t.then;if(t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof e)return function(){e.apply(t,arguments);}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t));}function n(t){r||(r=!0,l.resolve(e,t));}var s=p(function(){t(n,i);});"error"===s.status&&i(s.value);}function p(t,e){var r={};try{r.value=t(e),r.status="success";}catch(t){r.status="error",r.value=t;}return r}(e.exports=o).prototype.finally=function(e){if("function"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if("function"!=typeof t&&this.state===a||"function"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t);},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t);},h.prototype.callRejected=function(t){l.reject(this.promise,t);},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t);},l.resolve=function(t,e){var r=p(d,e);if("error"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else {t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e);}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s));},function(t){n||(n=!0,l.reject(o,t));});}},o.race=function(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t));},function(t){i||(i=!0,l.reject(s,t));});var a;return s};},{immediate:36}],38:[function(t,e,r){var i={};(0, t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=i;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){var a=t("./zlib/deflate"),o=t("./utils/common"),h=t("./utils/strings"),n=t("./zlib/messages"),s=t("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0;}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return !1;i=e===~~e?e:!0===e?4:0,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)));}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t);},p.prototype.onEnd=function(t){t===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;},r.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return (e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return (e=e||{}).gzip=!0,i(t,e)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){var d=t("./zlib/inflate"),c=t("./utils/common"),p=t("./utils/strings"),m=t("./zlib/constants"),i=t("./zlib/messages"),n=t("./zlib/zstream"),s=t("./zlib/gzheader"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header);}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return !1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof t?h.input=p.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0);}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t);},a.prototype.onEnd=function(t){t===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return (e=e||{}).raw=!0,o(t,e)},r.ungzip=o;},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,r){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s];},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s];},flattenChunks:function(t){return [].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(i);},{}],42:[function(t,e,r){var h=t("./common"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(t){n=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(t){s=!1;}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r="",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e},r.buf2binstring=function(t){return l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else {for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n);}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e};},{"./common":41}],43:[function(t,e,r){e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521;}return n|s<<16|0};},{}],44:[function(t,e,r){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},{}],45:[function(t,e,r){var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t;}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return -1^t};},{}],46:[function(t,e,r){var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return (t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0;}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0));}function N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm);}function U(t,e){t.pending_buf[t.pending++]=e;}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e;}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a];}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f;}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++;}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--;}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n;}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0;}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return (t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else {var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1;}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73);}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s);}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91);}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s);}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103);}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead);}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},{}],48:[function(t,e,r){e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else {if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg="invalid distance too far back",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C;}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C;}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C;}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]));}else {for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]));}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p;};},{}],49:[function(t,e,r){var I=t("../utils/common"),O=t("./adler32"),B=t("./crc32"),R=t("./inffast"),T=t("./inftrees"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return (t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1;}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5;}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(r.flags=u,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=30;break}l=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30;}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else {if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u>>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2;}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3;}else {for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7;}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window;}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8;}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg="incorrect data check",r.mode=30;break}l=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=30;break}l=u=0;}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return -4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,r){var D=t("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return -1;if(0<z&&(0===t||1!==w))return -1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]];}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0;}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0};},{"../utils/common":41}],51:[function(t,e,r){e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},{}],52:[function(t,e,r){var n=t("../utils/common"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0;}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length;}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e;}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255;}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r);}function L(t,e,r){P(t,r[2*e],r[2*e+1]);}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o));}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0;}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0;}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i;}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e);}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--);}}(t,e),Z(s,u,t.bl_count);}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4));}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4);}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r;}(t,e,r,!0);}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p);}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t);},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1);}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t);},r._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8);}(t);};},{"../utils/common":41}],53:[function(t,e,r){e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},{}],54:[function(t,e,r){e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t);};},{}]},{},[10])(10)});
|
|
9818
|
-
} (jszip_min));
|
|
9819
|
-
|
|
9820
9802
|
const EMAIL_TYPE = {
|
|
9821
9803
|
PROVIDER: 'DATA_PROVIDER',
|
|
9822
9804
|
PROBLEM: 'PROBLEM'
|
|
9823
9805
|
};
|
|
9824
|
-
const toBase64 =
|
|
9806
|
+
const toBase64 = file => new Promise((resolve, reject) => {
|
|
9825
9807
|
const reader = new FileReader();
|
|
9826
9808
|
reader.readAsDataURL(file);
|
|
9827
9809
|
reader.onload = () => resolve(reader.result);
|
|
@@ -9953,6 +9935,9 @@ const contactTemplate = _ref => {
|
|
|
9953
9935
|
}),
|
|
9954
9936
|
hint: formatMessage({
|
|
9955
9937
|
id: 'common.form.attachment.hint'
|
|
9938
|
+
}),
|
|
9939
|
+
hint2: formatMessage({
|
|
9940
|
+
id: 'common.form.attachment.hint2'
|
|
9956
9941
|
})
|
|
9957
9942
|
},
|
|
9958
9943
|
// 內容
|
|
@@ -10165,84 +10150,1381 @@ EmailInput.propTypes = {
|
|
|
10165
10150
|
|
|
10166
10151
|
var CloudUpload = {};
|
|
10167
10152
|
|
|
10168
|
-
var _interopRequireDefault
|
|
10153
|
+
var _interopRequireDefault = interopRequireDefault.exports;
|
|
10169
10154
|
|
|
10170
|
-
var _interopRequireWildcard
|
|
10155
|
+
var _interopRequireWildcard = interopRequireWildcard.exports;
|
|
10171
10156
|
|
|
10172
10157
|
Object.defineProperty(CloudUpload, "__esModule", {
|
|
10173
10158
|
value: true
|
|
10174
10159
|
});
|
|
10175
|
-
var default_1
|
|
10160
|
+
var default_1 = CloudUpload.default = void 0;
|
|
10176
10161
|
|
|
10177
|
-
var React
|
|
10162
|
+
var React = _interopRequireWildcard(React__default);
|
|
10178
10163
|
|
|
10179
|
-
var _createSvgIcon
|
|
10164
|
+
var _createSvgIcon = _interopRequireDefault(requireCreateSvgIcon());
|
|
10180
10165
|
|
|
10181
|
-
var _default$1 = (0, _createSvgIcon
|
|
10166
|
+
var _default$1 = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement("path", {
|
|
10182
10167
|
d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"
|
|
10183
10168
|
}), 'CloudUpload');
|
|
10184
10169
|
|
|
10185
|
-
default_1
|
|
10170
|
+
default_1 = CloudUpload.default = _default$1;
|
|
10171
|
+
|
|
10172
|
+
/******************************************************************************
|
|
10173
|
+
Copyright (c) Microsoft Corporation.
|
|
10174
|
+
|
|
10175
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
10176
|
+
purpose with or without fee is hereby granted.
|
|
10177
|
+
|
|
10178
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10179
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
10180
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10181
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
10182
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
10183
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
10184
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
10185
|
+
***************************************************************************** */
|
|
10186
|
+
|
|
10187
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
10188
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10189
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10190
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
10191
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
10192
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10193
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10194
|
+
});
|
|
10195
|
+
}
|
|
10196
|
+
|
|
10197
|
+
function __generator(thisArg, body) {
|
|
10198
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
10199
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
10200
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
10201
|
+
function step(op) {
|
|
10202
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
10203
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
10204
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
10205
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
10206
|
+
switch (op[0]) {
|
|
10207
|
+
case 0: case 1: t = op; break;
|
|
10208
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
10209
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
10210
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
10211
|
+
default:
|
|
10212
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
10213
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
10214
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
10215
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
10216
|
+
if (t[2]) _.ops.pop();
|
|
10217
|
+
_.trys.pop(); continue;
|
|
10218
|
+
}
|
|
10219
|
+
op = body.call(thisArg, _);
|
|
10220
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
10221
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
10222
|
+
}
|
|
10223
|
+
}
|
|
10224
|
+
|
|
10225
|
+
function __read(o, n) {
|
|
10226
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
10227
|
+
if (!m) return o;
|
|
10228
|
+
var i = m.call(o), r, ar = [], e;
|
|
10229
|
+
try {
|
|
10230
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
10231
|
+
}
|
|
10232
|
+
catch (error) { e = { error: error }; }
|
|
10233
|
+
finally {
|
|
10234
|
+
try {
|
|
10235
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
10236
|
+
}
|
|
10237
|
+
finally { if (e) throw e.error; }
|
|
10238
|
+
}
|
|
10239
|
+
return ar;
|
|
10240
|
+
}
|
|
10241
|
+
|
|
10242
|
+
/** @deprecated */
|
|
10243
|
+
function __spread() {
|
|
10244
|
+
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
10245
|
+
ar = ar.concat(__read(arguments[i]));
|
|
10246
|
+
return ar;
|
|
10247
|
+
}
|
|
10186
10248
|
|
|
10187
|
-
var
|
|
10249
|
+
var COMMON_MIME_TYPES = new Map([
|
|
10250
|
+
['avi', 'video/avi'],
|
|
10251
|
+
['gif', 'image/gif'],
|
|
10252
|
+
['ico', 'image/x-icon'],
|
|
10253
|
+
['jpeg', 'image/jpeg'],
|
|
10254
|
+
['jpg', 'image/jpeg'],
|
|
10255
|
+
['mkv', 'video/x-matroska'],
|
|
10256
|
+
['mov', 'video/quicktime'],
|
|
10257
|
+
['mp4', 'video/mp4'],
|
|
10258
|
+
['pdf', 'application/pdf'],
|
|
10259
|
+
['png', 'image/png'],
|
|
10260
|
+
['zip', 'application/zip'],
|
|
10261
|
+
['doc', 'application/msword'],
|
|
10262
|
+
['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']
|
|
10263
|
+
]);
|
|
10264
|
+
function toFileWithPath(file, path) {
|
|
10265
|
+
var f = withMimeType(file);
|
|
10266
|
+
if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
|
|
10267
|
+
var webkitRelativePath = file.webkitRelativePath;
|
|
10268
|
+
Object.defineProperty(f, 'path', {
|
|
10269
|
+
value: typeof path === 'string'
|
|
10270
|
+
? path
|
|
10271
|
+
// If <input webkitdirectory> is set,
|
|
10272
|
+
// the File will have a {webkitRelativePath} property
|
|
10273
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
|
|
10274
|
+
: typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
|
|
10275
|
+
? webkitRelativePath
|
|
10276
|
+
: file.name,
|
|
10277
|
+
writable: false,
|
|
10278
|
+
configurable: false,
|
|
10279
|
+
enumerable: true
|
|
10280
|
+
});
|
|
10281
|
+
}
|
|
10282
|
+
return f;
|
|
10283
|
+
}
|
|
10284
|
+
function withMimeType(file) {
|
|
10285
|
+
var name = file.name;
|
|
10286
|
+
var hasExtension = name && name.lastIndexOf('.') !== -1;
|
|
10287
|
+
if (hasExtension && !file.type) {
|
|
10288
|
+
var ext = name.split('.')
|
|
10289
|
+
.pop().toLowerCase();
|
|
10290
|
+
var type = COMMON_MIME_TYPES.get(ext);
|
|
10291
|
+
if (type) {
|
|
10292
|
+
Object.defineProperty(file, 'type', {
|
|
10293
|
+
value: type,
|
|
10294
|
+
writable: false,
|
|
10295
|
+
configurable: false,
|
|
10296
|
+
enumerable: true
|
|
10297
|
+
});
|
|
10298
|
+
}
|
|
10299
|
+
}
|
|
10300
|
+
return file;
|
|
10301
|
+
}
|
|
10188
10302
|
|
|
10189
|
-
var
|
|
10303
|
+
var FILES_TO_IGNORE = [
|
|
10304
|
+
// Thumbnail cache files for macOS and Windows
|
|
10305
|
+
'.DS_Store',
|
|
10306
|
+
'Thumbs.db' // Windows
|
|
10307
|
+
];
|
|
10308
|
+
/**
|
|
10309
|
+
* Convert a DragEvent's DataTrasfer object to a list of File objects
|
|
10310
|
+
* NOTE: If some of the items are folders,
|
|
10311
|
+
* everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
|
|
10312
|
+
* @param evt
|
|
10313
|
+
*/
|
|
10314
|
+
function fromEvent(evt) {
|
|
10315
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10316
|
+
return __generator(this, function (_a) {
|
|
10317
|
+
return [2 /*return*/, isDragEvt(evt) && evt.dataTransfer
|
|
10318
|
+
? getDataTransferFiles(evt.dataTransfer, evt.type)
|
|
10319
|
+
: getInputFiles(evt)];
|
|
10320
|
+
});
|
|
10321
|
+
});
|
|
10322
|
+
}
|
|
10323
|
+
function isDragEvt(value) {
|
|
10324
|
+
return !!value.dataTransfer;
|
|
10325
|
+
}
|
|
10326
|
+
function getInputFiles(evt) {
|
|
10327
|
+
var files = isInput(evt.target)
|
|
10328
|
+
? evt.target.files
|
|
10329
|
+
? fromList(evt.target.files)
|
|
10330
|
+
: []
|
|
10331
|
+
: [];
|
|
10332
|
+
return files.map(function (file) { return toFileWithPath(file); });
|
|
10333
|
+
}
|
|
10334
|
+
function isInput(value) {
|
|
10335
|
+
return value !== null;
|
|
10336
|
+
}
|
|
10337
|
+
function getDataTransferFiles(dt, type) {
|
|
10338
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10339
|
+
var items, files;
|
|
10340
|
+
return __generator(this, function (_a) {
|
|
10341
|
+
switch (_a.label) {
|
|
10342
|
+
case 0:
|
|
10343
|
+
if (!dt.items) return [3 /*break*/, 2];
|
|
10344
|
+
items = fromList(dt.items)
|
|
10345
|
+
.filter(function (item) { return item.kind === 'file'; });
|
|
10346
|
+
// According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
|
|
10347
|
+
// only 'dragstart' and 'drop' has access to the data (source node)
|
|
10348
|
+
if (type !== 'drop') {
|
|
10349
|
+
return [2 /*return*/, items];
|
|
10350
|
+
}
|
|
10351
|
+
return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
|
|
10352
|
+
case 1:
|
|
10353
|
+
files = _a.sent();
|
|
10354
|
+
return [2 /*return*/, noIgnoredFiles(flatten(files))];
|
|
10355
|
+
case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
|
|
10356
|
+
.map(function (file) { return toFileWithPath(file); }))];
|
|
10357
|
+
}
|
|
10358
|
+
});
|
|
10359
|
+
});
|
|
10360
|
+
}
|
|
10361
|
+
function noIgnoredFiles(files) {
|
|
10362
|
+
return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
|
|
10363
|
+
}
|
|
10364
|
+
// IE11 does not support Array.from()
|
|
10365
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
|
|
10366
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileList
|
|
10367
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
|
|
10368
|
+
function fromList(items) {
|
|
10369
|
+
var files = [];
|
|
10370
|
+
// tslint:disable: prefer-for-of
|
|
10371
|
+
for (var i = 0; i < items.length; i++) {
|
|
10372
|
+
var file = items[i];
|
|
10373
|
+
files.push(file);
|
|
10374
|
+
}
|
|
10375
|
+
return files;
|
|
10376
|
+
}
|
|
10377
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
|
|
10378
|
+
function toFilePromises(item) {
|
|
10379
|
+
if (typeof item.webkitGetAsEntry !== 'function') {
|
|
10380
|
+
return fromDataTransferItem(item);
|
|
10381
|
+
}
|
|
10382
|
+
var entry = item.webkitGetAsEntry();
|
|
10383
|
+
// Safari supports dropping an image node from a different window and can be retrieved using
|
|
10384
|
+
// the DataTransferItem.getAsFile() API
|
|
10385
|
+
// NOTE: FileSystemEntry.file() throws if trying to get the file
|
|
10386
|
+
if (entry && entry.isDirectory) {
|
|
10387
|
+
return fromDirEntry(entry);
|
|
10388
|
+
}
|
|
10389
|
+
return fromDataTransferItem(item);
|
|
10390
|
+
}
|
|
10391
|
+
function flatten(items) {
|
|
10392
|
+
return items.reduce(function (acc, files) { return __spread(acc, (Array.isArray(files) ? flatten(files) : [files])); }, []);
|
|
10393
|
+
}
|
|
10394
|
+
function fromDataTransferItem(item) {
|
|
10395
|
+
var file = item.getAsFile();
|
|
10396
|
+
if (!file) {
|
|
10397
|
+
return Promise.reject(item + " is not a File");
|
|
10398
|
+
}
|
|
10399
|
+
var fwp = toFileWithPath(file);
|
|
10400
|
+
return Promise.resolve(fwp);
|
|
10401
|
+
}
|
|
10402
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
|
|
10403
|
+
function fromEntry(entry) {
|
|
10404
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10405
|
+
return __generator(this, function (_a) {
|
|
10406
|
+
return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
|
|
10407
|
+
});
|
|
10408
|
+
});
|
|
10409
|
+
}
|
|
10410
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
|
|
10411
|
+
function fromDirEntry(entry) {
|
|
10412
|
+
var reader = entry.createReader();
|
|
10413
|
+
return new Promise(function (resolve, reject) {
|
|
10414
|
+
var entries = [];
|
|
10415
|
+
function readEntries() {
|
|
10416
|
+
var _this = this;
|
|
10417
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
|
|
10418
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
|
|
10419
|
+
reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
|
|
10420
|
+
var files, err_1, items;
|
|
10421
|
+
return __generator(this, function (_a) {
|
|
10422
|
+
switch (_a.label) {
|
|
10423
|
+
case 0:
|
|
10424
|
+
if (!!batch.length) return [3 /*break*/, 5];
|
|
10425
|
+
_a.label = 1;
|
|
10426
|
+
case 1:
|
|
10427
|
+
_a.trys.push([1, 3, , 4]);
|
|
10428
|
+
return [4 /*yield*/, Promise.all(entries)];
|
|
10429
|
+
case 2:
|
|
10430
|
+
files = _a.sent();
|
|
10431
|
+
resolve(files);
|
|
10432
|
+
return [3 /*break*/, 4];
|
|
10433
|
+
case 3:
|
|
10434
|
+
err_1 = _a.sent();
|
|
10435
|
+
reject(err_1);
|
|
10436
|
+
return [3 /*break*/, 4];
|
|
10437
|
+
case 4: return [3 /*break*/, 6];
|
|
10438
|
+
case 5:
|
|
10439
|
+
items = Promise.all(batch.map(fromEntry));
|
|
10440
|
+
entries.push(items);
|
|
10441
|
+
// Continue reading
|
|
10442
|
+
readEntries();
|
|
10443
|
+
_a.label = 6;
|
|
10444
|
+
case 6: return [2 /*return*/];
|
|
10445
|
+
}
|
|
10446
|
+
});
|
|
10447
|
+
}); }, function (err) {
|
|
10448
|
+
reject(err);
|
|
10449
|
+
});
|
|
10450
|
+
}
|
|
10451
|
+
readEntries();
|
|
10452
|
+
});
|
|
10453
|
+
}
|
|
10454
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
|
|
10455
|
+
function fromFileEntry(entry) {
|
|
10456
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
10457
|
+
return __generator(this, function (_a) {
|
|
10458
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
10459
|
+
entry.file(function (file) {
|
|
10460
|
+
var fwp = toFileWithPath(file, entry.fullPath);
|
|
10461
|
+
resolve(fwp);
|
|
10462
|
+
}, function (err) {
|
|
10463
|
+
reject(err);
|
|
10464
|
+
});
|
|
10465
|
+
})];
|
|
10466
|
+
});
|
|
10467
|
+
});
|
|
10468
|
+
}
|
|
10190
10469
|
|
|
10191
|
-
var
|
|
10470
|
+
var _default = function (file, acceptedFiles) {
|
|
10471
|
+
if (file && acceptedFiles) {
|
|
10472
|
+
var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
|
|
10473
|
+
var fileName = file.name || '';
|
|
10474
|
+
var mimeType = (file.type || '').toLowerCase();
|
|
10475
|
+
var baseMimeType = mimeType.replace(/\/.*$/, '');
|
|
10476
|
+
return acceptedFilesArray.some(function (type) {
|
|
10477
|
+
var validType = type.trim().toLowerCase();
|
|
10478
|
+
|
|
10479
|
+
if (validType.charAt(0) === '.') {
|
|
10480
|
+
return fileName.toLowerCase().endsWith(validType);
|
|
10481
|
+
} else if (validType.endsWith('/*')) {
|
|
10482
|
+
// This is something like a image/* mime type
|
|
10483
|
+
return baseMimeType === validType.replace(/\/.*$/, '');
|
|
10484
|
+
}
|
|
10192
10485
|
|
|
10193
|
-
|
|
10194
|
-
|
|
10486
|
+
return mimeType === validType;
|
|
10487
|
+
});
|
|
10488
|
+
}
|
|
10489
|
+
|
|
10490
|
+
return true;
|
|
10491
|
+
};
|
|
10492
|
+
|
|
10493
|
+
function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
|
|
10494
|
+
|
|
10495
|
+
function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10496
|
+
|
|
10497
|
+
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(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$1(o, minLen); }
|
|
10498
|
+
|
|
10499
|
+
function _arrayLikeToArray$1(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; }
|
|
10500
|
+
|
|
10501
|
+
function _iterableToArrayLimit$1(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10502
|
+
|
|
10503
|
+
function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
|
|
10504
|
+
|
|
10505
|
+
var FILE_INVALID_TYPE = 'file-invalid-type';
|
|
10506
|
+
var FILE_TOO_LARGE = 'file-too-large';
|
|
10507
|
+
var FILE_TOO_SMALL = 'file-too-small';
|
|
10508
|
+
var TOO_MANY_FILES = 'too-many-files'; // File Errors
|
|
10509
|
+
|
|
10510
|
+
var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
|
|
10511
|
+
accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
|
|
10512
|
+
var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(', ')) : accept;
|
|
10513
|
+
return {
|
|
10514
|
+
code: FILE_INVALID_TYPE,
|
|
10515
|
+
message: "File type must be ".concat(messageSuffix)
|
|
10516
|
+
};
|
|
10517
|
+
};
|
|
10518
|
+
var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
|
|
10519
|
+
return {
|
|
10520
|
+
code: FILE_TOO_LARGE,
|
|
10521
|
+
message: "File is larger than ".concat(maxSize, " bytes")
|
|
10522
|
+
};
|
|
10523
|
+
};
|
|
10524
|
+
var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
|
|
10525
|
+
return {
|
|
10526
|
+
code: FILE_TOO_SMALL,
|
|
10527
|
+
message: "File is smaller than ".concat(minSize, " bytes")
|
|
10528
|
+
};
|
|
10529
|
+
};
|
|
10530
|
+
var TOO_MANY_FILES_REJECTION = {
|
|
10531
|
+
code: TOO_MANY_FILES,
|
|
10532
|
+
message: 'Too many files'
|
|
10533
|
+
}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
|
|
10534
|
+
// that MIME type will always be accepted
|
|
10535
|
+
|
|
10536
|
+
function fileAccepted(file, accept) {
|
|
10537
|
+
var isAcceptable = file.type === 'application/x-moz-file' || _default(file, accept);
|
|
10538
|
+
return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
|
|
10539
|
+
}
|
|
10540
|
+
function fileMatchSize(file, minSize, maxSize) {
|
|
10541
|
+
if (isDefined(file.size)) {
|
|
10542
|
+
if (isDefined(minSize) && isDefined(maxSize)) {
|
|
10543
|
+
if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
10544
|
+
if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
|
|
10545
|
+
} else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
10546
|
+
}
|
|
10547
|
+
|
|
10548
|
+
return [true, null];
|
|
10549
|
+
}
|
|
10550
|
+
|
|
10551
|
+
function isDefined(value) {
|
|
10552
|
+
return value !== undefined && value !== null;
|
|
10553
|
+
}
|
|
10554
|
+
|
|
10555
|
+
function allFilesAccepted(_ref) {
|
|
10556
|
+
var files = _ref.files,
|
|
10557
|
+
accept = _ref.accept,
|
|
10558
|
+
minSize = _ref.minSize,
|
|
10559
|
+
maxSize = _ref.maxSize,
|
|
10560
|
+
multiple = _ref.multiple,
|
|
10561
|
+
maxFiles = _ref.maxFiles;
|
|
10562
|
+
|
|
10563
|
+
if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
|
|
10564
|
+
return false;
|
|
10565
|
+
}
|
|
10566
|
+
|
|
10567
|
+
return files.every(function (file) {
|
|
10568
|
+
var _fileAccepted = fileAccepted(file, accept),
|
|
10569
|
+
_fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
|
|
10570
|
+
accepted = _fileAccepted2[0];
|
|
10571
|
+
|
|
10572
|
+
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
10573
|
+
_fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
|
|
10574
|
+
sizeMatch = _fileMatchSize2[0];
|
|
10575
|
+
|
|
10576
|
+
return accepted && sizeMatch;
|
|
10577
|
+
});
|
|
10578
|
+
} // React's synthetic events has event.isPropagationStopped,
|
|
10579
|
+
// but to remain compatibility with other libs (Preact) fall back
|
|
10580
|
+
// to check event.cancelBubble
|
|
10581
|
+
|
|
10582
|
+
function isPropagationStopped(event) {
|
|
10583
|
+
if (typeof event.isPropagationStopped === 'function') {
|
|
10584
|
+
return event.isPropagationStopped();
|
|
10585
|
+
} else if (typeof event.cancelBubble !== 'undefined') {
|
|
10586
|
+
return event.cancelBubble;
|
|
10587
|
+
}
|
|
10588
|
+
|
|
10589
|
+
return false;
|
|
10590
|
+
}
|
|
10591
|
+
function isEvtWithFiles(event) {
|
|
10592
|
+
if (!event.dataTransfer) {
|
|
10593
|
+
return !!event.target && !!event.target.files;
|
|
10594
|
+
} // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
|
|
10595
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
|
|
10596
|
+
|
|
10597
|
+
|
|
10598
|
+
return Array.prototype.some.call(event.dataTransfer.types, function (type) {
|
|
10599
|
+
return type === 'Files' || type === 'application/x-moz-file';
|
|
10600
|
+
});
|
|
10601
|
+
}
|
|
10602
|
+
|
|
10603
|
+
function onDocumentDragOver(event) {
|
|
10604
|
+
event.preventDefault();
|
|
10605
|
+
}
|
|
10606
|
+
|
|
10607
|
+
function isIe(userAgent) {
|
|
10608
|
+
return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;
|
|
10609
|
+
}
|
|
10610
|
+
|
|
10611
|
+
function isEdge(userAgent) {
|
|
10612
|
+
return userAgent.indexOf('Edge/') !== -1;
|
|
10613
|
+
}
|
|
10614
|
+
|
|
10615
|
+
function isIeOrEdge() {
|
|
10616
|
+
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
|
|
10617
|
+
return isIe(userAgent) || isEdge(userAgent);
|
|
10618
|
+
}
|
|
10619
|
+
/**
|
|
10620
|
+
* This is intended to be used to compose event handlers
|
|
10621
|
+
* They are executed in order until one of them calls `event.isPropagationStopped()`.
|
|
10622
|
+
* Note that the check is done on the first invoke too,
|
|
10623
|
+
* meaning that if propagation was stopped before invoking the fns,
|
|
10624
|
+
* no handlers will be executed.
|
|
10625
|
+
*
|
|
10626
|
+
* @param {Function} fns the event hanlder functions
|
|
10627
|
+
* @return {Function} the event handler to add to an element
|
|
10628
|
+
*/
|
|
10629
|
+
|
|
10630
|
+
function composeEventHandlers() {
|
|
10631
|
+
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
10632
|
+
fns[_key] = arguments[_key];
|
|
10633
|
+
}
|
|
10634
|
+
|
|
10635
|
+
return function (event) {
|
|
10636
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
10637
|
+
args[_key2 - 1] = arguments[_key2];
|
|
10638
|
+
}
|
|
10639
|
+
|
|
10640
|
+
return fns.some(function (fn) {
|
|
10641
|
+
if (!isPropagationStopped(event) && fn) {
|
|
10642
|
+
fn.apply(void 0, [event].concat(args));
|
|
10643
|
+
}
|
|
10644
|
+
|
|
10645
|
+
return isPropagationStopped(event);
|
|
10646
|
+
});
|
|
10647
|
+
};
|
|
10648
|
+
}
|
|
10649
|
+
|
|
10650
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
10651
|
+
|
|
10652
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10653
|
+
|
|
10654
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
10655
|
+
|
|
10656
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10657
|
+
|
|
10658
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10659
|
+
|
|
10660
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10661
|
+
|
|
10662
|
+
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); }
|
|
10663
|
+
|
|
10664
|
+
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; }
|
|
10665
|
+
|
|
10666
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10667
|
+
|
|
10668
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10669
|
+
|
|
10670
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
10671
|
+
|
|
10672
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
10673
|
+
|
|
10674
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10675
|
+
|
|
10676
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
10677
|
+
|
|
10678
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10679
|
+
/**
|
|
10680
|
+
* Convenience wrapper component for the `useDropzone` hook
|
|
10681
|
+
*
|
|
10682
|
+
* ```jsx
|
|
10683
|
+
* <Dropzone>
|
|
10684
|
+
* {({getRootProps, getInputProps}) => (
|
|
10685
|
+
* <div {...getRootProps()}>
|
|
10686
|
+
* <input {...getInputProps()} />
|
|
10687
|
+
* <p>Drag 'n' drop some files here, or click to select files</p>
|
|
10688
|
+
* </div>
|
|
10689
|
+
* )}
|
|
10690
|
+
* </Dropzone>
|
|
10691
|
+
* ```
|
|
10692
|
+
*/
|
|
10693
|
+
|
|
10694
|
+
var Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
10695
|
+
var children = _ref.children,
|
|
10696
|
+
params = _objectWithoutProperties(_ref, ["children"]);
|
|
10697
|
+
|
|
10698
|
+
var _useDropzone = useDropzone(params),
|
|
10699
|
+
open = _useDropzone.open,
|
|
10700
|
+
props = _objectWithoutProperties(_useDropzone, ["open"]);
|
|
10701
|
+
|
|
10702
|
+
useImperativeHandle(ref, function () {
|
|
10703
|
+
return {
|
|
10704
|
+
open: open
|
|
10705
|
+
};
|
|
10706
|
+
}, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
|
|
10707
|
+
|
|
10708
|
+
return /*#__PURE__*/React__default.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {
|
|
10709
|
+
open: open
|
|
10710
|
+
})));
|
|
10195
10711
|
});
|
|
10196
|
-
|
|
10712
|
+
Dropzone.displayName = 'Dropzone'; // Add default props for react-docgen
|
|
10713
|
+
|
|
10714
|
+
var defaultProps = {
|
|
10715
|
+
disabled: false,
|
|
10716
|
+
getFilesFromEvent: fromEvent,
|
|
10717
|
+
maxSize: Infinity,
|
|
10718
|
+
minSize: 0,
|
|
10719
|
+
multiple: true,
|
|
10720
|
+
maxFiles: 0,
|
|
10721
|
+
preventDropOnDocument: true,
|
|
10722
|
+
noClick: false,
|
|
10723
|
+
noKeyboard: false,
|
|
10724
|
+
noDrag: false,
|
|
10725
|
+
noDragEventsBubbling: false,
|
|
10726
|
+
validator: null
|
|
10727
|
+
};
|
|
10728
|
+
Dropzone.defaultProps = defaultProps;
|
|
10729
|
+
Dropzone.propTypes = {
|
|
10730
|
+
/**
|
|
10731
|
+
* Render function that exposes the dropzone state and prop getter fns
|
|
10732
|
+
*
|
|
10733
|
+
* @param {object} params
|
|
10734
|
+
* @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
|
|
10735
|
+
* @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
|
|
10736
|
+
* @param {Function} params.open Open the native file selection dialog
|
|
10737
|
+
* @param {boolean} params.isFocused Dropzone area is in focus
|
|
10738
|
+
* @param {boolean} params.isFileDialogActive File dialog is opened
|
|
10739
|
+
* @param {boolean} params.isDragActive Active drag is in progress
|
|
10740
|
+
* @param {boolean} params.isDragAccept Dragged files are accepted
|
|
10741
|
+
* @param {boolean} params.isDragReject Some dragged files are rejected
|
|
10742
|
+
* @param {File[]} params.draggedFiles Files in active drag
|
|
10743
|
+
* @param {File[]} params.acceptedFiles Accepted files
|
|
10744
|
+
* @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
|
|
10745
|
+
*/
|
|
10746
|
+
children: PropTypes.func,
|
|
10747
|
+
|
|
10748
|
+
/**
|
|
10749
|
+
* Set accepted file types.
|
|
10750
|
+
* See https://github.com/okonet/attr-accept for more information.
|
|
10751
|
+
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
10752
|
+
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
10753
|
+
* Windows. In some cases there might not be a mime type set at all.
|
|
10754
|
+
* See: https://github.com/react-dropzone/react-dropzone/issues/276
|
|
10755
|
+
*/
|
|
10756
|
+
accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
|
|
10197
10757
|
|
|
10198
|
-
|
|
10758
|
+
/**
|
|
10759
|
+
* Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
10760
|
+
*/
|
|
10761
|
+
multiple: PropTypes.bool,
|
|
10199
10762
|
|
|
10200
|
-
|
|
10763
|
+
/**
|
|
10764
|
+
* If false, allow dropped items to take over the current browser window
|
|
10765
|
+
*/
|
|
10766
|
+
preventDropOnDocument: PropTypes.bool,
|
|
10767
|
+
|
|
10768
|
+
/**
|
|
10769
|
+
* If true, disables click to open the native file selection dialog
|
|
10770
|
+
*/
|
|
10771
|
+
noClick: PropTypes.bool,
|
|
10772
|
+
|
|
10773
|
+
/**
|
|
10774
|
+
* If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
10775
|
+
* Note that it also stops tracking the focus state.
|
|
10776
|
+
*/
|
|
10777
|
+
noKeyboard: PropTypes.bool,
|
|
10778
|
+
|
|
10779
|
+
/**
|
|
10780
|
+
* If true, disables drag 'n' drop
|
|
10781
|
+
*/
|
|
10782
|
+
noDrag: PropTypes.bool,
|
|
10201
10783
|
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10784
|
+
/**
|
|
10785
|
+
* If true, stops drag event propagation to parents
|
|
10786
|
+
*/
|
|
10787
|
+
noDragEventsBubbling: PropTypes.bool,
|
|
10788
|
+
|
|
10789
|
+
/**
|
|
10790
|
+
* Minimum file size (in bytes)
|
|
10791
|
+
*/
|
|
10792
|
+
minSize: PropTypes.number,
|
|
10793
|
+
|
|
10794
|
+
/**
|
|
10795
|
+
* Maximum file size (in bytes)
|
|
10796
|
+
*/
|
|
10797
|
+
maxSize: PropTypes.number,
|
|
10798
|
+
|
|
10799
|
+
/**
|
|
10800
|
+
* Maximum accepted number of files
|
|
10801
|
+
* The default value is 0 which means there is no limitation to how many files are accepted.
|
|
10802
|
+
*/
|
|
10803
|
+
maxFiles: PropTypes.number,
|
|
10804
|
+
|
|
10805
|
+
/**
|
|
10806
|
+
* Enable/disable the dropzone
|
|
10807
|
+
*/
|
|
10808
|
+
disabled: PropTypes.bool,
|
|
10205
10809
|
|
|
10206
|
-
|
|
10810
|
+
/**
|
|
10811
|
+
* Use this to provide a custom file aggregator
|
|
10812
|
+
*
|
|
10813
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10814
|
+
*/
|
|
10815
|
+
getFilesFromEvent: PropTypes.func,
|
|
10816
|
+
|
|
10817
|
+
/**
|
|
10818
|
+
* Cb for when closing the file dialog with no selection
|
|
10819
|
+
*/
|
|
10820
|
+
onFileDialogCancel: PropTypes.func,
|
|
10821
|
+
|
|
10822
|
+
/**
|
|
10823
|
+
* Cb for when the `dragenter` event occurs.
|
|
10824
|
+
*
|
|
10825
|
+
* @param {DragEvent} event
|
|
10826
|
+
*/
|
|
10827
|
+
onDragEnter: PropTypes.func,
|
|
10828
|
+
|
|
10829
|
+
/**
|
|
10830
|
+
* Cb for when the `dragleave` event occurs
|
|
10831
|
+
*
|
|
10832
|
+
* @param {DragEvent} event
|
|
10833
|
+
*/
|
|
10834
|
+
onDragLeave: PropTypes.func,
|
|
10835
|
+
|
|
10836
|
+
/**
|
|
10837
|
+
* Cb for when the `dragover` event occurs
|
|
10838
|
+
*
|
|
10839
|
+
* @param {DragEvent} event
|
|
10840
|
+
*/
|
|
10841
|
+
onDragOver: PropTypes.func,
|
|
10842
|
+
|
|
10843
|
+
/**
|
|
10844
|
+
* Cb for when the `drop` event occurs.
|
|
10845
|
+
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
10846
|
+
*
|
|
10847
|
+
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
10848
|
+
* `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
|
|
10849
|
+
* If `multiple` is set to false and additional files are dropped,
|
|
10850
|
+
* all files besides the first will be rejected.
|
|
10851
|
+
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
10852
|
+
*
|
|
10853
|
+
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
10854
|
+
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
10855
|
+
*
|
|
10856
|
+
* `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
|
|
10857
|
+
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
10858
|
+
*
|
|
10859
|
+
* ```js
|
|
10860
|
+
* function onDrop(acceptedFiles) {
|
|
10861
|
+
* const req = request.post('/upload')
|
|
10862
|
+
* acceptedFiles.forEach(file => {
|
|
10863
|
+
* req.attach(file.name, file)
|
|
10864
|
+
* })
|
|
10865
|
+
* req.end(callback)
|
|
10866
|
+
* }
|
|
10867
|
+
* ```
|
|
10868
|
+
*
|
|
10869
|
+
* @param {File[]} acceptedFiles
|
|
10870
|
+
* @param {FileRejection[]} fileRejections
|
|
10871
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10872
|
+
*/
|
|
10873
|
+
onDrop: PropTypes.func,
|
|
10874
|
+
|
|
10875
|
+
/**
|
|
10876
|
+
* Cb for when the `drop` event occurs.
|
|
10877
|
+
* Note that if no files are accepted, this callback is not invoked.
|
|
10878
|
+
*
|
|
10879
|
+
* @param {File[]} files
|
|
10880
|
+
* @param {(DragEvent|Event)} event
|
|
10881
|
+
*/
|
|
10882
|
+
onDropAccepted: PropTypes.func,
|
|
10883
|
+
|
|
10884
|
+
/**
|
|
10885
|
+
* Cb for when the `drop` event occurs.
|
|
10886
|
+
* Note that if no files are rejected, this callback is not invoked.
|
|
10887
|
+
*
|
|
10888
|
+
* @param {FileRejection[]} fileRejections
|
|
10889
|
+
* @param {(DragEvent|Event)} event
|
|
10890
|
+
*/
|
|
10891
|
+
onDropRejected: PropTypes.func,
|
|
10892
|
+
|
|
10893
|
+
/**
|
|
10894
|
+
* Custom validation function
|
|
10895
|
+
* @param {File} file
|
|
10896
|
+
* @returns {FileError|FileError[]}
|
|
10897
|
+
*/
|
|
10898
|
+
validator: PropTypes.func
|
|
10899
|
+
};
|
|
10900
|
+
/**
|
|
10901
|
+
* A function that is invoked for the `dragenter`,
|
|
10902
|
+
* `dragover` and `dragleave` events.
|
|
10903
|
+
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
10904
|
+
*
|
|
10905
|
+
* @callback dragCb
|
|
10906
|
+
* @param {DragEvent} event
|
|
10907
|
+
*/
|
|
10908
|
+
|
|
10909
|
+
/**
|
|
10910
|
+
* A function that is invoked for the `drop` or input change event.
|
|
10911
|
+
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
10912
|
+
*
|
|
10913
|
+
* @callback dropCb
|
|
10914
|
+
* @param {File[]} acceptedFiles List of accepted files
|
|
10915
|
+
* @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
|
|
10916
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10917
|
+
*/
|
|
10918
|
+
|
|
10919
|
+
/**
|
|
10920
|
+
* A function that is invoked for the `drop` or input change event.
|
|
10921
|
+
* It is not invoked if the items are files (such as link, text, etc.).
|
|
10922
|
+
*
|
|
10923
|
+
* @callback dropAcceptedCb
|
|
10924
|
+
* @param {File[]} files List of accepted files that meet the given criteria
|
|
10925
|
+
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
10926
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10927
|
+
*/
|
|
10928
|
+
|
|
10929
|
+
/**
|
|
10930
|
+
* A function that is invoked for the `drop` or input change event.
|
|
10931
|
+
*
|
|
10932
|
+
* @callback dropRejectedCb
|
|
10933
|
+
* @param {File[]} files List of rejected files that do not meet the given criteria
|
|
10934
|
+
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
10935
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10936
|
+
*/
|
|
10937
|
+
|
|
10938
|
+
/**
|
|
10939
|
+
* A function that is used aggregate files,
|
|
10940
|
+
* in a asynchronous fashion, from drag or input change events.
|
|
10941
|
+
*
|
|
10942
|
+
* @callback getFilesFromEvent
|
|
10943
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
10944
|
+
* @returns {(File[]|Promise<File[]>)}
|
|
10945
|
+
*/
|
|
10946
|
+
|
|
10947
|
+
/**
|
|
10948
|
+
* An object with the current dropzone state and some helper functions.
|
|
10949
|
+
*
|
|
10950
|
+
* @typedef {object} DropzoneState
|
|
10951
|
+
* @property {Function} getRootProps Returns the props you should apply to the root drop container you render
|
|
10952
|
+
* @property {Function} getInputProps Returns the props you should apply to hidden file input you render
|
|
10953
|
+
* @property {Function} open Open the native file selection dialog
|
|
10954
|
+
* @property {boolean} isFocused Dropzone area is in focus
|
|
10955
|
+
* @property {boolean} isFileDialogActive File dialog is opened
|
|
10956
|
+
* @property {boolean} isDragActive Active drag is in progress
|
|
10957
|
+
* @property {boolean} isDragAccept Dragged files are accepted
|
|
10958
|
+
* @property {boolean} isDragReject Some dragged files are rejected
|
|
10959
|
+
* @property {File[]} draggedFiles Files in active drag
|
|
10960
|
+
* @property {File[]} acceptedFiles Accepted files
|
|
10961
|
+
* @property {FileRejection[]} fileRejections Rejected files and why they were rejected
|
|
10962
|
+
*/
|
|
10963
|
+
|
|
10964
|
+
var initialState = {
|
|
10965
|
+
isFocused: false,
|
|
10966
|
+
isFileDialogActive: false,
|
|
10967
|
+
isDragActive: false,
|
|
10968
|
+
isDragAccept: false,
|
|
10969
|
+
isDragReject: false,
|
|
10970
|
+
draggedFiles: [],
|
|
10971
|
+
acceptedFiles: [],
|
|
10972
|
+
fileRejections: []
|
|
10973
|
+
};
|
|
10974
|
+
/**
|
|
10975
|
+
* A React hook that creates a drag 'n' drop area.
|
|
10976
|
+
*
|
|
10977
|
+
* ```jsx
|
|
10978
|
+
* function MyDropzone(props) {
|
|
10979
|
+
* const {getRootProps, getInputProps} = useDropzone({
|
|
10980
|
+
* onDrop: acceptedFiles => {
|
|
10981
|
+
* // do something with the File objects, e.g. upload to some server
|
|
10982
|
+
* }
|
|
10983
|
+
* });
|
|
10984
|
+
* return (
|
|
10985
|
+
* <div {...getRootProps()}>
|
|
10986
|
+
* <input {...getInputProps()} />
|
|
10987
|
+
* <p>Drag and drop some files here, or click to select files</p>
|
|
10988
|
+
* </div>
|
|
10989
|
+
* )
|
|
10990
|
+
* }
|
|
10991
|
+
* ```
|
|
10992
|
+
*
|
|
10993
|
+
* @function useDropzone
|
|
10994
|
+
*
|
|
10995
|
+
* @param {object} props
|
|
10996
|
+
* @param {string|string[]} [props.accept] Set accepted file types.
|
|
10997
|
+
* See https://github.com/okonet/attr-accept for more information.
|
|
10998
|
+
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
10999
|
+
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
11000
|
+
* Windows. In some cases there might not be a mime type set at all.
|
|
11001
|
+
* See: https://github.com/react-dropzone/react-dropzone/issues/276
|
|
11002
|
+
* @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
11003
|
+
* @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
|
|
11004
|
+
* @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
|
|
11005
|
+
* @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
11006
|
+
* Note that it also stops tracking the focus state.
|
|
11007
|
+
* @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
|
|
11008
|
+
* @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
|
|
11009
|
+
* @param {number} [props.minSize=0] Minimum file size (in bytes)
|
|
11010
|
+
* @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
|
|
11011
|
+
* @param {boolean} [props.disabled=false] Enable/disable the dropzone
|
|
11012
|
+
* @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
|
|
11013
|
+
* @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
|
|
11014
|
+
* @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
|
|
11015
|
+
* @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
|
|
11016
|
+
* @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
|
|
11017
|
+
* @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
|
|
11018
|
+
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
11019
|
+
*
|
|
11020
|
+
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
11021
|
+
* `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
|
|
11022
|
+
* If `multiple` is set to false and additional files are dropped,
|
|
11023
|
+
* all files besides the first will be rejected.
|
|
11024
|
+
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
11025
|
+
*
|
|
11026
|
+
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
11027
|
+
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
11028
|
+
*
|
|
11029
|
+
* `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
|
|
11030
|
+
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
11031
|
+
*
|
|
11032
|
+
* ```js
|
|
11033
|
+
* function onDrop(acceptedFiles) {
|
|
11034
|
+
* const req = request.post('/upload')
|
|
11035
|
+
* acceptedFiles.forEach(file => {
|
|
11036
|
+
* req.attach(file.name, file)
|
|
11037
|
+
* })
|
|
11038
|
+
* req.end(callback)
|
|
11039
|
+
* }
|
|
11040
|
+
* ```
|
|
11041
|
+
* @param {dropAcceptedCb} [props.onDropAccepted]
|
|
11042
|
+
* @param {dropRejectedCb} [props.onDropRejected]
|
|
11043
|
+
*
|
|
11044
|
+
* @returns {DropzoneState}
|
|
11045
|
+
*/
|
|
11046
|
+
|
|
11047
|
+
function useDropzone() {
|
|
11048
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
11049
|
+
|
|
11050
|
+
var _defaultProps$options = _objectSpread(_objectSpread({}, defaultProps), options),
|
|
11051
|
+
accept = _defaultProps$options.accept,
|
|
11052
|
+
disabled = _defaultProps$options.disabled,
|
|
11053
|
+
getFilesFromEvent = _defaultProps$options.getFilesFromEvent,
|
|
11054
|
+
maxSize = _defaultProps$options.maxSize,
|
|
11055
|
+
minSize = _defaultProps$options.minSize,
|
|
11056
|
+
multiple = _defaultProps$options.multiple,
|
|
11057
|
+
maxFiles = _defaultProps$options.maxFiles,
|
|
11058
|
+
onDragEnter = _defaultProps$options.onDragEnter,
|
|
11059
|
+
onDragLeave = _defaultProps$options.onDragLeave,
|
|
11060
|
+
onDragOver = _defaultProps$options.onDragOver,
|
|
11061
|
+
onDrop = _defaultProps$options.onDrop,
|
|
11062
|
+
onDropAccepted = _defaultProps$options.onDropAccepted,
|
|
11063
|
+
onDropRejected = _defaultProps$options.onDropRejected,
|
|
11064
|
+
onFileDialogCancel = _defaultProps$options.onFileDialogCancel,
|
|
11065
|
+
preventDropOnDocument = _defaultProps$options.preventDropOnDocument,
|
|
11066
|
+
noClick = _defaultProps$options.noClick,
|
|
11067
|
+
noKeyboard = _defaultProps$options.noKeyboard,
|
|
11068
|
+
noDrag = _defaultProps$options.noDrag,
|
|
11069
|
+
noDragEventsBubbling = _defaultProps$options.noDragEventsBubbling,
|
|
11070
|
+
validator = _defaultProps$options.validator;
|
|
11071
|
+
|
|
11072
|
+
var rootRef = useRef(null);
|
|
11073
|
+
var inputRef = useRef(null);
|
|
11074
|
+
|
|
11075
|
+
var _useReducer = useReducer(reducer, initialState),
|
|
11076
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
11077
|
+
state = _useReducer2[0],
|
|
11078
|
+
dispatch = _useReducer2[1];
|
|
11079
|
+
|
|
11080
|
+
var isFocused = state.isFocused,
|
|
11081
|
+
isFileDialogActive = state.isFileDialogActive,
|
|
11082
|
+
draggedFiles = state.draggedFiles; // Fn for opening the file dialog programmatically
|
|
11083
|
+
|
|
11084
|
+
var openFileDialog = useCallback(function () {
|
|
11085
|
+
if (inputRef.current) {
|
|
11086
|
+
dispatch({
|
|
11087
|
+
type: 'openDialog'
|
|
11088
|
+
});
|
|
11089
|
+
inputRef.current.value = null;
|
|
11090
|
+
inputRef.current.click();
|
|
11091
|
+
}
|
|
11092
|
+
}, [dispatch]); // Update file dialog active state when the window is focused on
|
|
11093
|
+
|
|
11094
|
+
var onWindowFocus = function onWindowFocus() {
|
|
11095
|
+
// Execute the timeout only if the file dialog is opened in the browser
|
|
11096
|
+
if (isFileDialogActive) {
|
|
11097
|
+
setTimeout(function () {
|
|
11098
|
+
if (inputRef.current) {
|
|
11099
|
+
var files = inputRef.current.files;
|
|
11100
|
+
|
|
11101
|
+
if (!files.length) {
|
|
11102
|
+
dispatch({
|
|
11103
|
+
type: 'closeDialog'
|
|
11104
|
+
});
|
|
11105
|
+
|
|
11106
|
+
if (typeof onFileDialogCancel === 'function') {
|
|
11107
|
+
onFileDialogCancel();
|
|
11108
|
+
}
|
|
11109
|
+
}
|
|
11110
|
+
}
|
|
11111
|
+
}, 300);
|
|
11112
|
+
}
|
|
11113
|
+
};
|
|
11114
|
+
|
|
11115
|
+
useEffect(function () {
|
|
11116
|
+
window.addEventListener('focus', onWindowFocus, false);
|
|
11117
|
+
return function () {
|
|
11118
|
+
window.removeEventListener('focus', onWindowFocus, false);
|
|
11119
|
+
};
|
|
11120
|
+
}, [inputRef, isFileDialogActive, onFileDialogCancel]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
|
|
11121
|
+
|
|
11122
|
+
var onKeyDownCb = useCallback(function (event) {
|
|
11123
|
+
// Ignore keyboard events bubbling up the DOM tree
|
|
11124
|
+
if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
|
|
11125
|
+
return;
|
|
11126
|
+
}
|
|
11127
|
+
|
|
11128
|
+
if (event.keyCode === 32 || event.keyCode === 13) {
|
|
11129
|
+
event.preventDefault();
|
|
11130
|
+
openFileDialog();
|
|
11131
|
+
}
|
|
11132
|
+
}, [rootRef, inputRef]); // Update focus state for the dropzone
|
|
11133
|
+
|
|
11134
|
+
var onFocusCb = useCallback(function () {
|
|
11135
|
+
dispatch({
|
|
11136
|
+
type: 'focus'
|
|
11137
|
+
});
|
|
11138
|
+
}, []);
|
|
11139
|
+
var onBlurCb = useCallback(function () {
|
|
11140
|
+
dispatch({
|
|
11141
|
+
type: 'blur'
|
|
11142
|
+
});
|
|
11143
|
+
}, []); // Cb to open the file dialog when click occurs on the dropzone
|
|
11144
|
+
|
|
11145
|
+
var onClickCb = useCallback(function () {
|
|
11146
|
+
if (noClick) {
|
|
11147
|
+
return;
|
|
11148
|
+
} // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
|
|
11149
|
+
// to ensure React can handle state changes
|
|
11150
|
+
// See: https://github.com/react-dropzone/react-dropzone/issues/450
|
|
11151
|
+
|
|
11152
|
+
|
|
11153
|
+
if (isIeOrEdge()) {
|
|
11154
|
+
setTimeout(openFileDialog, 0);
|
|
11155
|
+
} else {
|
|
11156
|
+
openFileDialog();
|
|
11157
|
+
}
|
|
11158
|
+
}, [inputRef, noClick]);
|
|
11159
|
+
var dragTargetsRef = useRef([]);
|
|
11160
|
+
|
|
11161
|
+
var onDocumentDrop = function onDocumentDrop(event) {
|
|
11162
|
+
if (rootRef.current && rootRef.current.contains(event.target)) {
|
|
11163
|
+
// If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
|
|
11164
|
+
return;
|
|
11165
|
+
}
|
|
11166
|
+
|
|
11167
|
+
event.preventDefault();
|
|
11168
|
+
dragTargetsRef.current = [];
|
|
11169
|
+
};
|
|
11170
|
+
|
|
11171
|
+
useEffect(function () {
|
|
11172
|
+
if (preventDropOnDocument) {
|
|
11173
|
+
document.addEventListener('dragover', onDocumentDragOver, false);
|
|
11174
|
+
document.addEventListener('drop', onDocumentDrop, false);
|
|
11175
|
+
}
|
|
11176
|
+
|
|
11177
|
+
return function () {
|
|
11178
|
+
if (preventDropOnDocument) {
|
|
11179
|
+
document.removeEventListener('dragover', onDocumentDragOver);
|
|
11180
|
+
document.removeEventListener('drop', onDocumentDrop);
|
|
11181
|
+
}
|
|
11182
|
+
};
|
|
11183
|
+
}, [rootRef, preventDropOnDocument]);
|
|
11184
|
+
var onDragEnterCb = useCallback(function (event) {
|
|
11185
|
+
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
11186
|
+
|
|
11187
|
+
event.persist();
|
|
11188
|
+
stopPropagation(event);
|
|
11189
|
+
dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
|
|
11190
|
+
|
|
11191
|
+
if (isEvtWithFiles(event)) {
|
|
11192
|
+
Promise.resolve(getFilesFromEvent(event)).then(function (draggedFiles) {
|
|
11193
|
+
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
11194
|
+
return;
|
|
11195
|
+
}
|
|
11196
|
+
|
|
11197
|
+
dispatch({
|
|
11198
|
+
draggedFiles: draggedFiles,
|
|
11199
|
+
isDragActive: true,
|
|
11200
|
+
type: 'setDraggedFiles'
|
|
11201
|
+
});
|
|
11202
|
+
|
|
11203
|
+
if (onDragEnter) {
|
|
11204
|
+
onDragEnter(event);
|
|
11205
|
+
}
|
|
11206
|
+
});
|
|
11207
|
+
}
|
|
11208
|
+
}, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]);
|
|
11209
|
+
var onDragOverCb = useCallback(function (event) {
|
|
11210
|
+
event.preventDefault();
|
|
11211
|
+
event.persist();
|
|
11212
|
+
stopPropagation(event);
|
|
11213
|
+
var hasFiles = isEvtWithFiles(event);
|
|
11214
|
+
|
|
11215
|
+
if (hasFiles && event.dataTransfer) {
|
|
11216
|
+
try {
|
|
11217
|
+
event.dataTransfer.dropEffect = 'copy';
|
|
11218
|
+
} catch (_unused) {}
|
|
11219
|
+
/* eslint-disable-line no-empty */
|
|
11220
|
+
|
|
11221
|
+
}
|
|
11222
|
+
|
|
11223
|
+
if (hasFiles && onDragOver) {
|
|
11224
|
+
onDragOver(event);
|
|
11225
|
+
}
|
|
11226
|
+
|
|
11227
|
+
return false;
|
|
11228
|
+
}, [onDragOver, noDragEventsBubbling]);
|
|
11229
|
+
var onDragLeaveCb = useCallback(function (event) {
|
|
11230
|
+
event.preventDefault();
|
|
11231
|
+
event.persist();
|
|
11232
|
+
stopPropagation(event); // Only deactivate once the dropzone and all children have been left
|
|
11233
|
+
|
|
11234
|
+
var targets = dragTargetsRef.current.filter(function (target) {
|
|
11235
|
+
return rootRef.current && rootRef.current.contains(target);
|
|
11236
|
+
}); // Make sure to remove a target present multiple times only once
|
|
11237
|
+
// (Firefox may fire dragenter/dragleave multiple times on the same element)
|
|
11238
|
+
|
|
11239
|
+
var targetIdx = targets.indexOf(event.target);
|
|
11240
|
+
|
|
11241
|
+
if (targetIdx !== -1) {
|
|
11242
|
+
targets.splice(targetIdx, 1);
|
|
11243
|
+
}
|
|
11244
|
+
|
|
11245
|
+
dragTargetsRef.current = targets;
|
|
11246
|
+
|
|
11247
|
+
if (targets.length > 0) {
|
|
11248
|
+
return;
|
|
11249
|
+
}
|
|
11250
|
+
|
|
11251
|
+
dispatch({
|
|
11252
|
+
isDragActive: false,
|
|
11253
|
+
type: 'setDraggedFiles',
|
|
11254
|
+
draggedFiles: []
|
|
11255
|
+
});
|
|
11256
|
+
|
|
11257
|
+
if (isEvtWithFiles(event) && onDragLeave) {
|
|
11258
|
+
onDragLeave(event);
|
|
11259
|
+
}
|
|
11260
|
+
}, [rootRef, onDragLeave, noDragEventsBubbling]);
|
|
11261
|
+
var onDropCb = useCallback(function (event) {
|
|
11262
|
+
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
11263
|
+
|
|
11264
|
+
event.persist();
|
|
11265
|
+
stopPropagation(event);
|
|
11266
|
+
dragTargetsRef.current = [];
|
|
11267
|
+
|
|
11268
|
+
if (isEvtWithFiles(event)) {
|
|
11269
|
+
Promise.resolve(getFilesFromEvent(event)).then(function (files) {
|
|
11270
|
+
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
11271
|
+
return;
|
|
11272
|
+
}
|
|
11273
|
+
|
|
11274
|
+
var acceptedFiles = [];
|
|
11275
|
+
var fileRejections = [];
|
|
11276
|
+
files.forEach(function (file) {
|
|
11277
|
+
var _fileAccepted = fileAccepted(file, accept),
|
|
11278
|
+
_fileAccepted2 = _slicedToArray(_fileAccepted, 2),
|
|
11279
|
+
accepted = _fileAccepted2[0],
|
|
11280
|
+
acceptError = _fileAccepted2[1];
|
|
11281
|
+
|
|
11282
|
+
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
11283
|
+
_fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
|
|
11284
|
+
sizeMatch = _fileMatchSize2[0],
|
|
11285
|
+
sizeError = _fileMatchSize2[1];
|
|
11286
|
+
|
|
11287
|
+
var customErrors = validator ? validator(file) : null;
|
|
11288
|
+
|
|
11289
|
+
if (accepted && sizeMatch && !customErrors) {
|
|
11290
|
+
acceptedFiles.push(file);
|
|
11291
|
+
} else {
|
|
11292
|
+
var errors = [acceptError, sizeError];
|
|
11293
|
+
|
|
11294
|
+
if (customErrors) {
|
|
11295
|
+
errors = errors.concat(customErrors);
|
|
11296
|
+
}
|
|
11297
|
+
|
|
11298
|
+
fileRejections.push({
|
|
11299
|
+
file: file,
|
|
11300
|
+
errors: errors.filter(function (e) {
|
|
11301
|
+
return e;
|
|
11302
|
+
})
|
|
11303
|
+
});
|
|
11304
|
+
}
|
|
11305
|
+
});
|
|
11306
|
+
|
|
11307
|
+
if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
|
|
11308
|
+
// Reject everything and empty accepted files
|
|
11309
|
+
acceptedFiles.forEach(function (file) {
|
|
11310
|
+
fileRejections.push({
|
|
11311
|
+
file: file,
|
|
11312
|
+
errors: [TOO_MANY_FILES_REJECTION]
|
|
11313
|
+
});
|
|
11314
|
+
});
|
|
11315
|
+
acceptedFiles.splice(0);
|
|
11316
|
+
}
|
|
11317
|
+
|
|
11318
|
+
dispatch({
|
|
11319
|
+
acceptedFiles: acceptedFiles,
|
|
11320
|
+
fileRejections: fileRejections,
|
|
11321
|
+
type: 'setFiles'
|
|
11322
|
+
});
|
|
11323
|
+
|
|
11324
|
+
if (onDrop) {
|
|
11325
|
+
onDrop(acceptedFiles, fileRejections, event);
|
|
11326
|
+
}
|
|
11327
|
+
|
|
11328
|
+
if (fileRejections.length > 0 && onDropRejected) {
|
|
11329
|
+
onDropRejected(fileRejections, event);
|
|
11330
|
+
}
|
|
11331
|
+
|
|
11332
|
+
if (acceptedFiles.length > 0 && onDropAccepted) {
|
|
11333
|
+
onDropAccepted(acceptedFiles, event);
|
|
11334
|
+
}
|
|
11335
|
+
});
|
|
11336
|
+
}
|
|
11337
|
+
|
|
11338
|
+
dispatch({
|
|
11339
|
+
type: 'reset'
|
|
11340
|
+
});
|
|
11341
|
+
}, [multiple, accept, minSize, maxSize, maxFiles, getFilesFromEvent, onDrop, onDropAccepted, onDropRejected, noDragEventsBubbling]);
|
|
11342
|
+
|
|
11343
|
+
var composeHandler = function composeHandler(fn) {
|
|
11344
|
+
return disabled ? null : fn;
|
|
11345
|
+
};
|
|
11346
|
+
|
|
11347
|
+
var composeKeyboardHandler = function composeKeyboardHandler(fn) {
|
|
11348
|
+
return noKeyboard ? null : composeHandler(fn);
|
|
11349
|
+
};
|
|
11350
|
+
|
|
11351
|
+
var composeDragHandler = function composeDragHandler(fn) {
|
|
11352
|
+
return noDrag ? null : composeHandler(fn);
|
|
11353
|
+
};
|
|
11354
|
+
|
|
11355
|
+
var stopPropagation = function stopPropagation(event) {
|
|
11356
|
+
if (noDragEventsBubbling) {
|
|
11357
|
+
event.stopPropagation();
|
|
11358
|
+
}
|
|
11359
|
+
};
|
|
11360
|
+
|
|
11361
|
+
var getRootProps = useMemo(function () {
|
|
11362
|
+
return function () {
|
|
11363
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
11364
|
+
_ref2$refKey = _ref2.refKey,
|
|
11365
|
+
refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,
|
|
11366
|
+
onKeyDown = _ref2.onKeyDown,
|
|
11367
|
+
onFocus = _ref2.onFocus,
|
|
11368
|
+
onBlur = _ref2.onBlur,
|
|
11369
|
+
onClick = _ref2.onClick,
|
|
11370
|
+
onDragEnter = _ref2.onDragEnter,
|
|
11371
|
+
onDragOver = _ref2.onDragOver,
|
|
11372
|
+
onDragLeave = _ref2.onDragLeave,
|
|
11373
|
+
onDrop = _ref2.onDrop,
|
|
11374
|
+
rest = _objectWithoutProperties(_ref2, ["refKey", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"]);
|
|
11375
|
+
|
|
11376
|
+
return _objectSpread(_objectSpread(_defineProperty({
|
|
11377
|
+
onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
|
|
11378
|
+
onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
|
|
11379
|
+
onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
|
|
11380
|
+
onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
|
|
11381
|
+
onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
|
|
11382
|
+
onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
|
|
11383
|
+
onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
|
|
11384
|
+
onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb))
|
|
11385
|
+
}, refKey, rootRef), !disabled && !noKeyboard ? {
|
|
11386
|
+
tabIndex: 0
|
|
11387
|
+
} : {}), rest);
|
|
11388
|
+
};
|
|
11389
|
+
}, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
|
|
11390
|
+
var onInputElementClick = useCallback(function (event) {
|
|
11391
|
+
event.stopPropagation();
|
|
11392
|
+
}, []);
|
|
11393
|
+
var getInputProps = useMemo(function () {
|
|
11394
|
+
return function () {
|
|
11395
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
11396
|
+
_ref3$refKey = _ref3.refKey,
|
|
11397
|
+
refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
|
|
11398
|
+
onChange = _ref3.onChange,
|
|
11399
|
+
onClick = _ref3.onClick,
|
|
11400
|
+
rest = _objectWithoutProperties(_ref3, ["refKey", "onChange", "onClick"]);
|
|
11401
|
+
|
|
11402
|
+
var inputProps = _defineProperty({
|
|
11403
|
+
accept: accept,
|
|
11404
|
+
multiple: multiple,
|
|
11405
|
+
type: 'file',
|
|
11406
|
+
style: {
|
|
11407
|
+
display: 'none'
|
|
11408
|
+
},
|
|
11409
|
+
onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
|
|
11410
|
+
onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
|
|
11411
|
+
autoComplete: 'off',
|
|
11412
|
+
tabIndex: -1
|
|
11413
|
+
}, refKey, inputRef);
|
|
11414
|
+
|
|
11415
|
+
return _objectSpread(_objectSpread({}, inputProps), rest);
|
|
11416
|
+
};
|
|
11417
|
+
}, [inputRef, accept, multiple, onDropCb, disabled]);
|
|
11418
|
+
var fileCount = draggedFiles.length;
|
|
11419
|
+
var isDragAccept = fileCount > 0 && allFilesAccepted({
|
|
11420
|
+
files: draggedFiles,
|
|
11421
|
+
accept: accept,
|
|
11422
|
+
minSize: minSize,
|
|
11423
|
+
maxSize: maxSize,
|
|
11424
|
+
multiple: multiple,
|
|
11425
|
+
maxFiles: maxFiles
|
|
11426
|
+
});
|
|
11427
|
+
var isDragReject = fileCount > 0 && !isDragAccept;
|
|
11428
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11429
|
+
isDragAccept: isDragAccept,
|
|
11430
|
+
isDragReject: isDragReject,
|
|
11431
|
+
isFocused: isFocused && !disabled,
|
|
11432
|
+
getRootProps: getRootProps,
|
|
11433
|
+
getInputProps: getInputProps,
|
|
11434
|
+
rootRef: rootRef,
|
|
11435
|
+
inputRef: inputRef,
|
|
11436
|
+
open: composeHandler(openFileDialog)
|
|
11437
|
+
});
|
|
11438
|
+
}
|
|
11439
|
+
|
|
11440
|
+
function reducer(state, action) {
|
|
11441
|
+
/* istanbul ignore next */
|
|
11442
|
+
switch (action.type) {
|
|
11443
|
+
case 'focus':
|
|
11444
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11445
|
+
isFocused: true
|
|
11446
|
+
});
|
|
11447
|
+
|
|
11448
|
+
case 'blur':
|
|
11449
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11450
|
+
isFocused: false
|
|
11451
|
+
});
|
|
11452
|
+
|
|
11453
|
+
case 'openDialog':
|
|
11454
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11455
|
+
isFileDialogActive: true
|
|
11456
|
+
});
|
|
11457
|
+
|
|
11458
|
+
case 'closeDialog':
|
|
11459
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11460
|
+
isFileDialogActive: false
|
|
11461
|
+
});
|
|
11462
|
+
|
|
11463
|
+
case 'setDraggedFiles':
|
|
11464
|
+
/* eslint no-case-declarations: 0 */
|
|
11465
|
+
var isDragActive = action.isDragActive,
|
|
11466
|
+
draggedFiles = action.draggedFiles;
|
|
11467
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11468
|
+
draggedFiles: draggedFiles,
|
|
11469
|
+
isDragActive: isDragActive
|
|
11470
|
+
});
|
|
11471
|
+
|
|
11472
|
+
case 'setFiles':
|
|
11473
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11474
|
+
acceptedFiles: action.acceptedFiles,
|
|
11475
|
+
fileRejections: action.fileRejections
|
|
11476
|
+
});
|
|
11477
|
+
|
|
11478
|
+
case 'reset':
|
|
11479
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
11480
|
+
isFileDialogActive: false,
|
|
11481
|
+
isDragActive: false,
|
|
11482
|
+
draggedFiles: [],
|
|
11483
|
+
acceptedFiles: [],
|
|
11484
|
+
fileRejections: []
|
|
11485
|
+
});
|
|
11486
|
+
|
|
11487
|
+
default:
|
|
11488
|
+
return state;
|
|
11489
|
+
}
|
|
11490
|
+
}
|
|
10207
11491
|
|
|
10208
11492
|
const Upload = _ref => {
|
|
10209
11493
|
let {
|
|
10210
11494
|
onChange
|
|
10211
11495
|
} = _ref;
|
|
10212
|
-
const
|
|
10213
|
-
const
|
|
10214
|
-
|
|
10215
|
-
|
|
10216
|
-
};
|
|
10217
|
-
const handleRemoveFile = index => {
|
|
10218
|
-
const newFiles = [...selectedFiles];
|
|
10219
|
-
newFiles.splice(index, 1);
|
|
10220
|
-
setSelectedFiles(newFiles);
|
|
10221
|
-
onChange(newFiles);
|
|
10222
|
-
};
|
|
10223
|
-
return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Button, {
|
|
10224
|
-
variant: "outlined",
|
|
10225
|
-
color: "primary"
|
|
10226
|
-
}, /*#__PURE__*/React__default.createElement("label", {
|
|
10227
|
-
htmlFor: "fileInput",
|
|
10228
|
-
style: {
|
|
10229
|
-
display: 'flex',
|
|
10230
|
-
cursor: 'pointer'
|
|
10231
|
-
}
|
|
10232
|
-
}, /*#__PURE__*/React__default.createElement(default_1$1, null), "Upload Files", /*#__PURE__*/React__default.createElement("input", {
|
|
10233
|
-
id: "fileInput",
|
|
10234
|
-
type: "file",
|
|
10235
|
-
multiple: true,
|
|
10236
|
-
onChange: handleFileInput,
|
|
10237
|
-
style: {
|
|
10238
|
-
display: 'none'
|
|
11496
|
+
const fileRef = useRef(null);
|
|
11497
|
+
const openDialog = () => {
|
|
11498
|
+
if (fileRef.current) {
|
|
11499
|
+
fileRef.current.open();
|
|
10239
11500
|
}
|
|
10240
|
-
}
|
|
10241
|
-
|
|
10242
|
-
|
|
10243
|
-
|
|
10244
|
-
|
|
10245
|
-
|
|
11501
|
+
};
|
|
11502
|
+
return /*#__PURE__*/React__default.createElement(Dropzone, {
|
|
11503
|
+
ref: fileRef,
|
|
11504
|
+
noClick: true,
|
|
11505
|
+
noKeyboard: true,
|
|
11506
|
+
onDropAccepted: files => onChange(files),
|
|
11507
|
+
multiple: false,
|
|
11508
|
+
noDrag: true
|
|
11509
|
+
}, _ref2 => {
|
|
11510
|
+
let {
|
|
11511
|
+
getRootProps,
|
|
11512
|
+
getInputProps,
|
|
11513
|
+
acceptedFiles
|
|
11514
|
+
} = _ref2;
|
|
11515
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
11516
|
+
className: "container"
|
|
11517
|
+
}, /*#__PURE__*/React__default.createElement("div", getRootProps({
|
|
11518
|
+
className: 'dropzone'
|
|
11519
|
+
}), /*#__PURE__*/React__default.createElement("input", getInputProps()), /*#__PURE__*/React__default.createElement(Button, {
|
|
11520
|
+
variant: "contained",
|
|
11521
|
+
color: "default",
|
|
11522
|
+
startIcon: /*#__PURE__*/React__default.createElement(default_1, null),
|
|
11523
|
+
onClick: openDialog
|
|
11524
|
+
}, "Upload")), /*#__PURE__*/React__default.createElement("aside", null, /*#__PURE__*/React__default.createElement("ul", null, acceptedFiles.map(file => /*#__PURE__*/React__default.createElement("li", {
|
|
11525
|
+
key: file.path
|
|
11526
|
+
}, file.path)))));
|
|
11527
|
+
});
|
|
10246
11528
|
};
|
|
10247
11529
|
Upload.propTypes = {
|
|
10248
11530
|
onChange: PropTypes.func.isRequired
|
|
@@ -10258,6 +11540,7 @@ const FormItem = _ref => {
|
|
|
10258
11540
|
options,
|
|
10259
11541
|
label,
|
|
10260
11542
|
hint,
|
|
11543
|
+
hint2,
|
|
10261
11544
|
placeholder,
|
|
10262
11545
|
required,
|
|
10263
11546
|
setFieldValue,
|
|
@@ -10348,7 +11631,11 @@ const FormItem = _ref => {
|
|
|
10348
11631
|
my: 1
|
|
10349
11632
|
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
10350
11633
|
variant: "body2"
|
|
10351
|
-
}, hint)), /*#__PURE__*/React__default.createElement(
|
|
11634
|
+
}, hint)), hint2 && /*#__PURE__*/React__default.createElement(Box, {
|
|
11635
|
+
my: 1
|
|
11636
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
11637
|
+
variant: "body2"
|
|
11638
|
+
}, hint2)), /*#__PURE__*/React__default.createElement("div", {
|
|
10352
11639
|
className: classNames('formItem__operator', {
|
|
10353
11640
|
'formItem__operator--unsupport': !component
|
|
10354
11641
|
})
|
|
@@ -10364,6 +11651,7 @@ FormItem.defaultProps = {
|
|
|
10364
11651
|
label: undefined,
|
|
10365
11652
|
placeholder: undefined,
|
|
10366
11653
|
hint: undefined,
|
|
11654
|
+
hint2: undefined,
|
|
10367
11655
|
options: [],
|
|
10368
11656
|
required: false,
|
|
10369
11657
|
setFieldValue: () => {},
|
|
@@ -10375,6 +11663,7 @@ FormItem.propTypes = {
|
|
|
10375
11663
|
type: PropTypes.string.isRequired,
|
|
10376
11664
|
label: PropTypes.string,
|
|
10377
11665
|
hint: PropTypes.string,
|
|
11666
|
+
hint2: PropTypes.string,
|
|
10378
11667
|
options: PropTypes.arrayOf(PropTypes.any),
|
|
10379
11668
|
placeholder: PropTypes.string,
|
|
10380
11669
|
required: PropTypes.bool,
|
|
@@ -10518,11 +11807,11 @@ var ContactModal = function ContactModal(_ref) {
|
|
|
10518
11807
|
var _getIntl = getIntl(),
|
|
10519
11808
|
formatMessage = _getIntl.formatMessage;
|
|
10520
11809
|
var _useState = useState(false),
|
|
10521
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
11810
|
+
_useState2 = _slicedToArray$2(_useState, 2),
|
|
10522
11811
|
submitting = _useState2[0],
|
|
10523
11812
|
setSubmitting = _useState2[1];
|
|
10524
11813
|
var _useState3 = useState(type),
|
|
10525
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
11814
|
+
_useState4 = _slicedToArray$2(_useState3, 2),
|
|
10526
11815
|
formType = _useState4[0],
|
|
10527
11816
|
setFormType = _useState4[1];
|
|
10528
11817
|
|
|
@@ -10535,7 +11824,7 @@ var ContactModal = function ContactModal(_ref) {
|
|
|
10535
11824
|
/* 表單控制元件 */
|
|
10536
11825
|
var formik = useFormik({
|
|
10537
11826
|
initialValues: template.reduce(function (obj, item) {
|
|
10538
|
-
return _objectSpread2(_objectSpread2({}, obj), {}, _defineProperty({}, item.name, item.initialValue || ''));
|
|
11827
|
+
return _objectSpread2(_objectSpread2({}, obj), {}, _defineProperty$1({}, item.name, item.initialValue || ''));
|
|
10539
11828
|
}, {}),
|
|
10540
11829
|
validate: function validate(values) {
|
|
10541
11830
|
var errors = {};
|
|
@@ -10578,125 +11867,77 @@ var ContactModal = function ContactModal(_ref) {
|
|
|
10578
11867
|
errorId = Object.keys(errors).length > 0 ? Object.keys(errors).shift() : null;
|
|
10579
11868
|
return errors;
|
|
10580
11869
|
},
|
|
10581
|
-
onSubmit: function () {
|
|
10582
|
-
var
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
|
|
10592
|
-
|
|
10593
|
-
|
|
10594
|
-
|
|
10595
|
-
|
|
10596
|
-
|
|
10597
|
-
|
|
10598
|
-
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
-
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
|
|
10608
|
-
|
|
10609
|
-
|
|
10610
|
-
|
|
10611
|
-
|
|
10612
|
-
|
|
10613
|
-
|
|
10614
|
-
|
|
10615
|
-
|
|
10616
|
-
|
|
10617
|
-
|
|
10618
|
-
|
|
10619
|
-
|
|
10620
|
-
|
|
10621
|
-
|
|
10622
|
-
|
|
10623
|
-
|
|
10624
|
-
|
|
10625
|
-
contentType: contentType
|
|
10626
|
-
});
|
|
10627
|
-
case 7:
|
|
10628
|
-
case "end":
|
|
10629
|
-
return _context.stop();
|
|
10630
|
-
}
|
|
10631
|
-
}
|
|
10632
|
-
}, _callee);
|
|
10633
|
-
}));
|
|
10634
|
-
return function (_x2) {
|
|
10635
|
-
return _ref4.apply(this, arguments);
|
|
10636
|
-
};
|
|
10637
|
-
}());
|
|
10638
|
-
_context2.next = 8;
|
|
10639
|
-
return Promise.all(promises);
|
|
10640
|
-
case 8:
|
|
10641
|
-
attachments = _context2.sent;
|
|
10642
|
-
sendEmail({
|
|
10643
|
-
from: values.email,
|
|
10644
|
-
to: mailto,
|
|
10645
|
-
subject: subject,
|
|
10646
|
-
html: body,
|
|
10647
|
-
attachments: attachments
|
|
10648
|
-
}, emailAPI, function (_ref5) {
|
|
10649
|
-
var state = _ref5.state;
|
|
10650
|
-
if (state) {
|
|
10651
|
-
setSubmitting(false);
|
|
10652
|
-
formik.resetForm();
|
|
10653
|
-
setOpen(false);
|
|
10654
|
-
onNotify({
|
|
10655
|
-
message: 'common.action.success'
|
|
10656
|
-
});
|
|
10657
|
-
} else {
|
|
10658
|
-
onNotify({
|
|
10659
|
-
type: 'error',
|
|
10660
|
-
message: 'common.action.error'
|
|
10661
|
-
});
|
|
10662
|
-
}
|
|
10663
|
-
});
|
|
10664
|
-
_context2.next = 13;
|
|
10665
|
-
break;
|
|
10666
|
-
case 12:
|
|
10667
|
-
sendEmail({
|
|
10668
|
-
from: values.email,
|
|
10669
|
-
to: mailto,
|
|
10670
|
-
subject: subject,
|
|
10671
|
-
html: body
|
|
10672
|
-
}, emailAPI, function (_ref6) {
|
|
10673
|
-
var state = _ref6.state;
|
|
10674
|
-
if (state) {
|
|
10675
|
-
setSubmitting(false);
|
|
10676
|
-
formik.resetForm();
|
|
10677
|
-
setOpen(false);
|
|
10678
|
-
onNotify({
|
|
10679
|
-
message: 'common.action.success'
|
|
10680
|
-
});
|
|
10681
|
-
} else {
|
|
10682
|
-
onNotify({
|
|
10683
|
-
type: 'error',
|
|
10684
|
-
message: 'common.action.error'
|
|
10685
|
-
});
|
|
10686
|
-
}
|
|
10687
|
-
});
|
|
10688
|
-
case 13:
|
|
10689
|
-
case "end":
|
|
10690
|
-
return _context2.stop();
|
|
11870
|
+
onSubmit: function onSubmit(values) {
|
|
11871
|
+
var title = values.subject === EMAIL_TYPE.PROBLEM ? formatMessage({
|
|
11872
|
+
id: 'common.has.problem'
|
|
11873
|
+
}) : formatMessage({
|
|
11874
|
+
id: 'common.form.dataProvide'
|
|
11875
|
+
});
|
|
11876
|
+
var subject = "".concat(title, "-").concat(formatMessage({
|
|
11877
|
+
id: 'header.title'
|
|
11878
|
+
}), "-").concat(values.name);
|
|
11879
|
+
var body = formType === EMAIL_TYPE.PROBLEM ? problemMail({
|
|
11880
|
+
formatMessage: formatMessage,
|
|
11881
|
+
values: values
|
|
11882
|
+
}) : dataProvideMail({
|
|
11883
|
+
formatMessage: formatMessage,
|
|
11884
|
+
values: values
|
|
11885
|
+
});
|
|
11886
|
+
setSubmitting(true);
|
|
11887
|
+
var fileName = values.files && values.files[0] && values.files[0].name;
|
|
11888
|
+
if (values.files && values.files.length > 0) {
|
|
11889
|
+
toBase64(values.files[0]).then(function (data) {
|
|
11890
|
+
sendEmail({
|
|
11891
|
+
from: values.email,
|
|
11892
|
+
to: mailto,
|
|
11893
|
+
subject: subject,
|
|
11894
|
+
html: body,
|
|
11895
|
+
attachments: [{
|
|
11896
|
+
// stream as an attachment
|
|
11897
|
+
filename: fileName,
|
|
11898
|
+
content: data
|
|
11899
|
+
}]
|
|
11900
|
+
}, emailAPI, function (_ref4) {
|
|
11901
|
+
var state = _ref4.state;
|
|
11902
|
+
if (state) {
|
|
11903
|
+
setSubmitting(false);
|
|
11904
|
+
formik.resetForm();
|
|
11905
|
+
setOpen(false);
|
|
11906
|
+
onNotify({
|
|
11907
|
+
message: 'common.action.success'
|
|
11908
|
+
});
|
|
11909
|
+
} else {
|
|
11910
|
+
onNotify({
|
|
11911
|
+
type: 'error',
|
|
11912
|
+
message: 'common.action.error'
|
|
11913
|
+
});
|
|
10691
11914
|
}
|
|
11915
|
+
});
|
|
11916
|
+
});
|
|
11917
|
+
} else {
|
|
11918
|
+
sendEmail({
|
|
11919
|
+
from: values.email,
|
|
11920
|
+
to: mailto,
|
|
11921
|
+
subject: subject,
|
|
11922
|
+
html: body
|
|
11923
|
+
}, emailAPI, function (_ref5) {
|
|
11924
|
+
var state = _ref5.state;
|
|
11925
|
+
if (state) {
|
|
11926
|
+
setSubmitting(false);
|
|
11927
|
+
formik.resetForm();
|
|
11928
|
+
setOpen(false);
|
|
11929
|
+
onNotify({
|
|
11930
|
+
message: 'common.action.success'
|
|
11931
|
+
});
|
|
11932
|
+
} else {
|
|
11933
|
+
onNotify({
|
|
11934
|
+
type: 'error',
|
|
11935
|
+
message: 'common.action.error'
|
|
11936
|
+
});
|
|
10692
11937
|
}
|
|
10693
|
-
}
|
|
10694
|
-
}));
|
|
10695
|
-
function onSubmit(_x) {
|
|
10696
|
-
return _onSubmit.apply(this, arguments);
|
|
11938
|
+
});
|
|
10697
11939
|
}
|
|
10698
|
-
|
|
10699
|
-
}()
|
|
11940
|
+
}
|
|
10700
11941
|
});
|
|
10701
11942
|
|
|
10702
11943
|
/* 關閉表單 */
|