From 4b6f511df214d538664edd696071d164077d7101 Mon Sep 17 00:00:00 2001 From: beajer <919060679@qq.com> Date: Mon, 3 Aug 2020 15:49:24 +0800 Subject: [PATCH 01/18] feat: support non-english http header (#842) * feat: support non-english http header * test: Add test cases for non-English request header information * feat: add headerEncoding option * feat: add encoder types * fix: remove object spread syntax Co-authored-by: biejia --- lib/browser/client.js | 7 +-- lib/browser/object.js | 2 +- lib/bucket.js | 8 +++- lib/client.js | 7 +-- lib/common/client/initOptions.js | 3 +- lib/common/signUtils.js | 12 +++--- lib/common/utils/createRequest.js | 9 +++- lib/common/utils/createRequest.ts | 10 ++++- lib/common/utils/encoder.d.ts | 1 + lib/common/utils/encoder.js | 9 ++++ lib/common/utils/encoder.ts | 6 +++ lib/object.js | 2 +- lib/types/experimental.ts | 1 + package.json | 2 +- test/browser/browser.test.js | 56 ++++++++++++++++++++++++ test/node/object.test.js | 72 +++++++++++++++++++++++++++++-- 16 files changed, 184 insertions(+), 23 deletions(-) create mode 100644 lib/common/utils/encoder.d.ts create mode 100644 lib/common/utils/encoder.js create mode 100644 lib/common/utils/encoder.ts create mode 100644 lib/types/experimental.ts diff --git a/lib/browser/client.js b/lib/browser/client.js index 08ad5e719..ebea5630d 100644 --- a/lib/browser/client.js +++ b/lib/browser/client.js @@ -14,6 +14,7 @@ const signUtils = require('../common/signUtils'); const { isIP: _isIP } = require('../common/utils/isIP'); const _initOptions = require('../common/client/initOptions'); const { createRequest } = require('../common/utils/createRequest'); +const { encoder } = require('../common/utils/encoder'); const globalHttpAgent = new AgentKeepalive(); @@ -127,7 +128,7 @@ merge(proto, require('../common/parallel')); proto.signature = function signature(stringToSign) { this.debug('authorization stringToSign: %s', stringToSign, 'info'); - return signUtils.computeSignature(this.options.accessKeySecret, stringToSign); + return signUtils.computeSignature(this.options.accessKeySecret, stringToSign, this.options.headerEncoding); }; /** @@ -157,7 +158,7 @@ proto.authorization = function authorization(method, resource, subres, headers) parameters: subres }); - return signUtils.authorization(this.options.accessKeyId, this.options.accessKeySecret, stringToSign); + return signUtils.authorization(this.options.accessKeyId, this.options.accessKeySecret, stringToSign, this.options.headerEncoding); }; /** @@ -221,7 +222,7 @@ proto.request = async function request(params) { proto._getResource = function _getResource(params) { let resource = '/'; if (params.bucket) resource += `${params.bucket}/`; - if (params.object) resource += params.object; + if (params.object) resource += encoder(params.object, this.options.headerEncoding); return resource; }; diff --git a/lib/browser/object.js b/lib/browser/object.js index 15f312f72..be8445955 100644 --- a/lib/browser/object.js +++ b/lib/browser/object.js @@ -267,7 +267,7 @@ proto.signatureUrl = function signatureUrl(name, options) { options['security-token'] = this.options.stsToken; } - const signRes = signHelper._signatureForURL(this.options.accessKeySecret, options, resource, expires); + const signRes = signHelper._signatureForURL(this.options.accessKeySecret, options, resource, expires, this.options.headerEncoding); const url = urlutil.parse(this._getReqUrl(params)); url.query = { diff --git a/lib/bucket.js b/lib/bucket.js index fee48b117..40942bbe7 100644 --- a/lib/bucket.js +++ b/lib/bucket.js @@ -21,7 +21,13 @@ function toArray(obj) { proto.listBuckets = async function listBuckets(query = {}, options = {}) { // prefix, marker, max-keys - const { subres = {}, ...rest } = query; + const { subres = {} } = query; + const rest = {}; + for (const key in query) { + if (key !== 'subres') { + rest[key] = query[key]; + } + } const params = this._bucketRequestParams( 'GET', '', diff --git a/lib/client.js b/lib/client.js index 71730a9f3..03b1c31a7 100644 --- a/lib/client.js +++ b/lib/client.js @@ -17,6 +17,7 @@ const signUtils = require('./common/signUtils'); const { isIP: _isIP } = require('./common/utils/isIP'); const _initOptions = require('./common/client/initOptions'); const { createRequest } = require('./common/utils/createRequest'); +const { encoder } = require('./common/utils/encoder'); const globalHttpAgent = new AgentKeepalive(); const globalHttpsAgent = new HttpsAgentKeepalive(); @@ -112,7 +113,7 @@ Client.STS = require('./sts'); proto.signature = function signature(stringToSign) { debug('authorization stringToSign: %s', stringToSign); - return signUtils.computeSignature(this.options.accessKeySecret, stringToSign); + return signUtils.computeSignature(this.options.accessKeySecret, stringToSign, this.options.headerEncoding); }; /** @@ -142,7 +143,7 @@ proto.authorization = function authorization(method, resource, subres, headers) parameters: subres }); - return signUtils.authorization(this.options.accessKeyId, this.options.accessKeySecret, stringToSign); + return signUtils.authorization(this.options.accessKeyId, this.options.accessKeySecret, stringToSign, this.options.headerEncoding); }; /** @@ -199,7 +200,7 @@ proto.request = async function request(params) { proto._getResource = function _getResource(params) { let resource = '/'; if (params.bucket) resource += `${params.bucket}/`; - if (params.object) resource += params.object; + if (params.object) resource += encoder(params.object, this.options.headerEncoding); return resource; }; diff --git a/lib/common/client/initOptions.js b/lib/common/client/initOptions.js index d6906c43a..b829cb29e 100644 --- a/lib/common/client/initOptions.js +++ b/lib/common/client/initOptions.js @@ -47,7 +47,8 @@ module.exports = function (options) { endpoint: null, cname: false, isRequestPay: false, - sldEnable: false + sldEnable: false, + headerEncoding: 'utf-8' }, options); opts.accessKeyId = opts.accessKeyId.trim(); diff --git a/lib/common/signUtils.js b/lib/common/signUtils.js index c7d6c5a02..4e0c5eabd 100644 --- a/lib/common/signUtils.js +++ b/lib/common/signUtils.js @@ -82,9 +82,9 @@ exports.buildCanonicalString = function canonicalString(method, resourcePath, re * @param {String} accessKeySecret * @param {String} canonicalString */ -exports.computeSignature = function computeSignature(accessKeySecret, canonicalString) { +exports.computeSignature = function computeSignature(accessKeySecret, canonicalString, headerEncoding = 'utf-8') { const signature = crypto.createHmac('sha1', accessKeySecret); - return signature.update(Buffer.from(canonicalString, 'utf8')).digest('base64'); + return signature.update(Buffer.from(canonicalString, headerEncoding)).digest('base64'); }; /** @@ -92,8 +92,8 @@ exports.computeSignature = function computeSignature(accessKeySecret, canonicalS * @param {String} accessKeySecret * @param {String} canonicalString */ -exports.authorization = function authorization(accessKeyId, accessKeySecret, canonicalString) { - return `OSS ${accessKeyId}:${this.computeSignature(accessKeySecret, canonicalString)}`; +exports.authorization = function authorization(accessKeyId, accessKeySecret, canonicalString, headerEncoding) { + return `OSS ${accessKeyId}:${this.computeSignature(accessKeySecret, canonicalString, headerEncoding)}`; }; /** @@ -103,7 +103,7 @@ exports.authorization = function authorization(accessKeyId, accessKeySecret, can * @param {String} resource * @param {Number} expires */ -exports._signatureForURL = function _signatureForURL(accessKeySecret, options = {}, resource, expires) { +exports._signatureForURL = function _signatureForURL(accessKeySecret, options = {}, resource, expires, headerEncoding) { const headers = {}; const { subResource = {} } = options; @@ -168,7 +168,7 @@ exports._signatureForURL = function _signatureForURL(accessKeySecret, options = }, expires.toString()); return { - Signature: this.computeSignature(accessKeySecret, canonicalString), + Signature: this.computeSignature(accessKeySecret, canonicalString, headerEncoding), subResource }; }; diff --git a/lib/common/utils/createRequest.js b/lib/common/utils/createRequest.js index 061a19949..8d1686250 100644 --- a/lib/common/utils/createRequest.js +++ b/lib/common/utils/createRequest.js @@ -7,6 +7,7 @@ const mime = require('mime'); const dateFormat = require('dateformat'); const copy = require('copy-to'); const path = require('path'); +const { encoder } = require('./encoder'); function getHeader(headers, name) { return headers[name] || headers[name.toLowerCase()]; } @@ -53,8 +54,14 @@ function createRequest(params) { headers['Content-Length'] = params.content.length; } } + const { hasOwnProperty } = Object.prototype; + for (const k in headers) { + if (headers[k] && hasOwnProperty.call(headers, k)) { + headers[k] = encoder(String(headers[k]), this.options.headerEncoding); + } + } const authResource = this._getResource(params); - headers.authorization = this.authorization(params.method, authResource, params.subres, headers); + headers.authorization = this.authorization(params.method, authResource, params.subres, headers, this.options.headerEncoding); const url = this._getReqUrl(params); debug('request %s %s, with headers %j, !!stream: %s', params.method, url, headers, !!params.stream); const timeout = params.timeout || this.options.timeout; diff --git a/lib/common/utils/createRequest.ts b/lib/common/utils/createRequest.ts index c5500121e..eb897c3ab 100644 --- a/lib/common/utils/createRequest.ts +++ b/lib/common/utils/createRequest.ts @@ -4,6 +4,7 @@ const mime = require('mime'); const dateFormat = require('dateformat'); const copy = require('copy-to'); const path = require('path'); +const { encoder } = require('./encoder') interface Headers { [propName: string]: any @@ -70,8 +71,15 @@ export function createRequest(this: any, params) { } } + const { hasOwnProperty } = Object.prototype; + for (const k in headers) { + if (headers[k] && hasOwnProperty.call(headers, k)) { + headers[k] = encoder(String(headers[k]), this.options.headerEncoding); + } + } + const authResource = this._getResource(params); - headers.authorization = this.authorization(params.method, authResource, params.subres, headers); + headers.authorization = this.authorization(params.method, authResource, params.subres, headers, this.options.headerEncoding); const url = this._getReqUrl(params); debug('request %s %s, with headers %j, !!stream: %s', params.method, url, headers, !!params.stream); diff --git a/lib/common/utils/encoder.d.ts b/lib/common/utils/encoder.d.ts new file mode 100644 index 000000000..041d26ad9 --- /dev/null +++ b/lib/common/utils/encoder.d.ts @@ -0,0 +1 @@ +export declare function encoder(str: string, encoding?: string): string; diff --git a/lib/common/utils/encoder.js b/lib/common/utils/encoder.js new file mode 100644 index 000000000..a64ffa5c3 --- /dev/null +++ b/lib/common/utils/encoder.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encoder = void 0; +function encoder(str, encoding = 'utf-8') { + if (encoding === 'utf-8') + return str; + return Buffer.from(str).toString('latin1'); +} +exports.encoder = encoder; diff --git a/lib/common/utils/encoder.ts b/lib/common/utils/encoder.ts new file mode 100644 index 000000000..7476afb09 --- /dev/null +++ b/lib/common/utils/encoder.ts @@ -0,0 +1,6 @@ +import { THeaderEncoding } from '../../types/experimental'; + +export function encoder(str: string, encoding: THeaderEncoding = 'utf-8') { + if (encoding === 'utf-8') return str; + return Buffer.from(str).toString('latin1'); +} diff --git a/lib/object.js b/lib/object.js index 6573a01ba..9b7f1fcf8 100644 --- a/lib/object.js +++ b/lib/object.js @@ -270,7 +270,7 @@ proto.signatureUrl = function signatureUrl(name, options) { options['security-token'] = this.options.stsToken; } - const signRes = signHelper._signatureForURL(this.options.accessKeySecret, options, resource, expires); + const signRes = signHelper._signatureForURL(this.options.accessKeySecret, options, resource, expires, this.options.headerEncoding); const url = urlutil.parse(this._getReqUrl(params)); url.query = { diff --git a/lib/types/experimental.ts b/lib/types/experimental.ts new file mode 100644 index 000000000..9c4a96cca --- /dev/null +++ b/lib/types/experimental.ts @@ -0,0 +1 @@ +export type THeaderEncoding = 'utf-8' | 'latin1'; diff --git a/package.json b/package.json index 9da765315..228254e7c 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "prepublish": "npm run snyk-protect", "lint-staged": "lint-staged", "detect-secrets": "node task/detect-secrets", - "tsc": "npm run tsc:clean && tsc:build", + "tsc": "npm run tsc:clean && npm run tsc:build", "tsc:build": "tsc -b tsconfig.json tsconfig-cjs.json", "tsc:watch": "tsc -b tsconfig.json tsconfig-cjs.json --watch", "tsc:clean": "tsc -b tsconfig.json tsconfig-cjs.json --clean " diff --git a/test/browser/browser.test.js b/test/browser/browser.test.js index 43d02c059..e5b00b43c 100644 --- a/test/browser/browser.test.js +++ b/test/browser/browser.test.js @@ -1608,4 +1608,60 @@ describe('browser', () => { store.urllib.request.restore(); }); }); + + describe('options.headerEncoding', () => { + let store; + const utf8_content = '阿达的大多'; + const latin1_content = Buffer.from(utf8_content).toString('latin1'); + let name; + before(async () => { + store = oss(Object.assign({}, ossConfig, { headerEncoding: 'latin1' })); + name = `${prefix}ali-sdk/oss/put-new-latin1.js`; + const result = await store.put(name, Buffer.from('123'), { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(name); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + it('copy() should return 200 when set zh-cn meta', async () => { + const originname = `${prefix}ali-sdk/oss/copy-new-latin1.js`; + const result = await store.copy(originname, name, { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(originname); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + it('copy() should return 200 when set zh-cn meta with zh-cn object name', async () => { + const originname = `${prefix}ali-sdk/oss/copy-new-latin1-中文.js`; + const result = await store.copy(originname, name, { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(originname); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + it('putMeta() should return 200', async () => { + const result = await store.putMeta(name, { + b: utf8_content + }); + assert.equal(result.res.status, 200); + const info = await store.head(name); + assert.equal(info.status, 200); + assert.equal(info.meta.b, latin1_content); + }); + }); }); diff --git a/test/node/object.test.js b/test/node/object.test.js index 2b68a5163..a1cb6aaaa 100644 --- a/test/node/object.test.js +++ b/test/node/object.test.js @@ -1,4 +1,3 @@ - const fs = require('fs'); const path = require('path'); const assert = require('assert'); @@ -1093,7 +1092,7 @@ describe('test/object.test.js', () => { // http://www.aliyun.com/darwin-v4.4.2/ali-sdk/oss/get-meta.js?OSSAccessKeyId= assert.equal(url.indexOf('http://www.aliyun.com/'), 0); }); - + it('should signature url with traffic limit', async () => { const name = `${prefix}ali-sdk/oss/trafficLimit.js`; let url, result; @@ -1105,7 +1104,7 @@ describe('test/object.test.js', () => { trafficLimit: 8 * 1024 * 100 * 4, method: 'PUT' }) - + result = await store.urllib.request(url, { method: 'PUT', stream: fs.createReadStream(file_1mb), @@ -1115,7 +1114,7 @@ describe('test/object.test.js', () => { } catch (error) { assert(false, error.message) } - + try { url = store.signatureUrl(name, { trafficLimit: 8 * 1024 * 100 * 4, @@ -1859,6 +1858,10 @@ describe('test/object.test.js', () => { }); describe('restore()', () => { + after(async () => { + await store.useBucket(bucket); + }); + it('Should return OperationNotSupportedError when the type of bucket is not archive', async () => { const name = '/oss/restore.js'; await store.put(name, __filename); @@ -2130,4 +2133,65 @@ describe('test/object.test.js', () => { } }); }); + + describe('options.headerEncoding', () => { + const utf8_content = '阿达的大多'; + const latin1_content = Buffer.from(utf8_content).toString('latin1'); + let name; + before(async () => { + store.options.headerEncoding = 'latin1'; + + name = `${prefix}ali-sdk/oss/put-new-latin1.js`; + const result = await store.put(name, __filename, { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(name); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + after(() => { + store.options.headerEncoding = 'utf-8'; + }); + + it('copy() should return 200 when set zh-cn meta', async () => { + const originname = `${prefix}ali-sdk/oss/copy-new-latin1.js`; + const result = await store.copy(originname, name, { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(originname); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + it('copy() should return 200 when set zh-cn meta with zh-cn object name', async () => { + const originname = `${prefix}ali-sdk/oss/copy-new-latin1-中文.js`; + const result = await store.copy(originname, name, { + meta: { + a: utf8_content + } + }); + assert.equal(result.res.status, 200); + const info = await store.head(originname); + assert.equal(info.status, 200); + assert.equal(info.meta.a, latin1_content); + }); + + it('putMeta() should return 200', async () => { + const result = await store.putMeta(name, { + b: utf8_content + }); + assert.equal(result.res.status, 200); + const info = await store.head(name); + assert.equal(info.status, 200); + assert.equal(info.meta.b, latin1_content); + }); + }); + }); From 4e38050b7ea7f3776ce3e5940a7a8dd897777224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E8=8B=A5=E9=9C=9C=E5=AF=92?= <912881342@qq.com> Date: Fri, 14 Aug 2020 16:47:06 +0800 Subject: [PATCH 02/18] fix(browser): checkpoint.file (#795) --- lib/browser/managed-upload.js | 2 ++ test/browser/browser.test.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/lib/browser/managed-upload.js b/lib/browser/managed-upload.js index c11f50ffb..92efc31e3 100644 --- a/lib/browser/managed-upload.js +++ b/lib/browser/managed-upload.js @@ -35,6 +35,8 @@ proto.multipartUpload = async function multipartUpload(name, file, options) { this.resetCancelFlag(); options = options || {}; if (options.checkpoint && options.checkpoint.uploadId) { + if (file && isFile(file)) options.checkpoint.file = file; + return await this._resumeMultipart(options.checkpoint, options); } diff --git a/test/browser/browser.test.js b/test/browser/browser.test.js index e5b00b43c..cc4033773 100644 --- a/test/browser/browser.test.js +++ b/test/browser/browser.test.js @@ -1186,6 +1186,34 @@ describe('browser', () => { } }); + it('should multipart upload file with checkpoint', async () => { + const client = store; + // create a file with 1M random data + const fileContent = Array(1024 * 1024).fill('a').join(''); + const file = new File([fileContent], 'multipart-upload-file'); + + const name = `${prefix}multipart/upload-file-checkpoint`; + let checkpoint; + const options = { + async progress(p, _checkpoint) { + if (p > 0.5 && !checkpoint) { + client.resetCancelFlag(); + checkpoint = _checkpoint; + } + }, + partSize: 100 * 1024, + checkpoint + }; + try { + await client.multipartUpload(name, file, options); + } catch (err) { + assert.equal(true, client.isCancel()); + } + await client.multipartUpload(name, file, options); + const result = await client.get(name); + assert.equal(result.content.length, 1024 * 1024); + }); + it('should upload with uploadPart', async () => { const fileContent = Array(10 * 100 * 1024).fill('a').join(''); const file = new File([fileContent], 'multipart-upload-part'); From c0dc40ce905fb3b4e4bc2a0b68a1068aef4801c7 Mon Sep 17 00:00:00 2001 From: weiyie <912881342@qq.com> Date: Fri, 18 Sep 2020 15:11:18 +0800 Subject: [PATCH 03/18] merge branch master into develop --- .eslintrc.js | 2 +- CHANGELOG.md | 19 +- README.md | 75 ++- bower.json | 2 +- dist/aliyun-oss-sdk.js | 715 +++++++++++++----------- dist/aliyun-oss-sdk.min.js | 27 +- lib/browser/client.js | 53 +- lib/browser/managed-upload.js | 48 +- lib/browser/object.js | 78 +-- lib/browser/version.js | 2 +- lib/client.js | 53 +- lib/common/bucket/putBucket.js | 14 +- lib/common/bucket/putBucketLifecycle.js | 2 +- lib/common/client/getReqUrl.d.ts | 1 + lib/common/client/getReqUrl.js | 50 ++ lib/common/client/getReqUrl.ts | 51 ++ lib/common/client/initOptions.js | 14 +- lib/common/multipart-copy.js | 15 +- lib/common/object/copyObject.js | 11 +- lib/common/object/generateObjectUrl.js | 28 + lib/common/object/getObjectUrl.js | 21 + lib/common/object/index.js | 3 + lib/common/object/signatureUrl.js | 40 ++ lib/common/parallel.js | 10 + lib/common/utils/createRequest.js | 13 +- lib/common/utils/createRequest.ts | 16 +- lib/common/utils/encoder.d.ts | 3 +- lib/common/utils/isBuffer.d.ts | 1 + lib/common/utils/isBuffer.js | 7 + lib/common/utils/isBuffer.ts | 3 + lib/common/utils/obj2xml.js | 31 +- lib/common/utils/obj2xml.ts | 25 +- lib/common/utils/setRegion.d.ts | 3 + lib/common/utils/setRegion.js | 18 + lib/common/utils/setRegion.ts | 14 + lib/managed-upload.js | 54 +- lib/object.js | 85 +-- lib/sts.js | 7 +- lib/types/experimental.d.ts | 1 + lib/types/experimental.js | 2 + package.json | 6 +- shims/crypto/crypto.js | 46 +- test/browser/browser.test.js | 48 +- test/node/bucket.test.js | 35 ++ test/node/client.test.js | 4 +- test/node/endpointIsIP.test.js | 56 ++ test/node/multipart.test.js | 68 +++ test/node/object.test.js | 377 +++++++------ 48 files changed, 1393 insertions(+), 864 deletions(-) create mode 100644 lib/common/client/getReqUrl.d.ts create mode 100644 lib/common/client/getReqUrl.js create mode 100644 lib/common/client/getReqUrl.ts create mode 100644 lib/common/object/generateObjectUrl.js create mode 100644 lib/common/object/getObjectUrl.js create mode 100644 lib/common/object/signatureUrl.js create mode 100644 lib/common/utils/isBuffer.d.ts create mode 100644 lib/common/utils/isBuffer.js create mode 100644 lib/common/utils/isBuffer.ts create mode 100644 lib/common/utils/setRegion.d.ts create mode 100644 lib/common/utils/setRegion.js create mode 100644 lib/common/utils/setRegion.ts create mode 100644 lib/types/experimental.d.ts create mode 100644 lib/types/experimental.js create mode 100644 test/node/endpointIsIP.test.js diff --git a/.eslintrc.js b/.eslintrc.js index 25c45bd59..d3ea422ca 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -29,7 +29,7 @@ module.exports = { ignoreTemplateLiterals: true, }], 'no-buffer-constructor': [2], - "comma-dangle": [2, "never"], + "comma-dangle": [0], 'import/prefer-default-export': [0], } }; diff --git a/CHANGELOG.md b/CHANGELOG.md index cf6c18fc9..9c2d4eb7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,24 @@ -# Change Log +# Changelog All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [6.10.0](https://github.com/aliyun/oss-nodejs-sdk/compare/v6.9.0...v6.10.0) (2020-07-14) + + +### Features + +* add async task ([#818](https://github.com/aliyun/oss-nodejs-sdk/issues/818)) ([8d27f24](https://github.com/aliyun/oss-nodejs-sdk/commit/8d27f245f6340291b801613b9c23c3162039c18d)), closes [#810](https://github.com/aliyun/oss-nodejs-sdk/issues/810) [#814](https://github.com/aliyun/oss-nodejs-sdk/issues/814) [#817](https://github.com/aliyun/oss-nodejs-sdk/issues/817) +* add typescript support ([#814](https://github.com/aliyun/oss-nodejs-sdk/issues/814)) ([8ef7528](https://github.com/aliyun/oss-nodejs-sdk/commit/8ef7528d4d39ef641ed2e6998a7dd9ce74a3b57c)) +* asyncFetch ([#817](https://github.com/aliyun/oss-nodejs-sdk/issues/817)) ([bbe2ded](https://github.com/aliyun/oss-nodejs-sdk/commit/bbe2dedb3ff92fa2234f567b07bed3da04946515)) +* listBucket support search by tagging ([#819](https://github.com/aliyun/oss-nodejs-sdk/issues/819)) ([4b8edf6](https://github.com/aliyun/oss-nodejs-sdk/commit/4b8edf6b9cdc2e46d438847a3894d4a090e56a55)) + + +### Bug Fixes + +* **browser:** put unhandle non-RequestTimeTooSkewed error ([#825](https://github.com/aliyun/oss-nodejs-sdk/issues/825)) ([87dd7d6](https://github.com/aliyun/oss-nodejs-sdk/commit/87dd7d6ff964fceae503707ba1bbdb309ac1c033)) +* crypto each exports, close [#473](https://github.com/aliyun/oss-nodejs-sdk/issues/473) ([#830](https://github.com/aliyun/oss-nodejs-sdk/issues/830)) ([1cf7231](https://github.com/aliyun/oss-nodejs-sdk/commit/1cf7231488c21c5fdc9f1c039379d924669df6a8)) +* WebFileReadStream no throw error when filereader onerror ([#824](https://github.com/aliyun/oss-nodejs-sdk/issues/824)) ([d4977bf](https://github.com/aliyun/oss-nodejs-sdk/commit/d4977bf52858b83fac11f65b2c348180b457a5be)) + # [6.9.0](https://github.com/aliyun/oss-nodejs-sdk/compare/v6.8.0...v6.9.0) (2020-06-05) diff --git a/README.md b/README.md index ace6d2381..f50cd97ba 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,8 @@ options: the details you can see [requestPay](https://help.aliyun.com/document_detail/91337.htm) - [useFetch] {Boolean}, default false, it just work in Browser, if true,it means upload object with `fetch` mode ,else `XMLHttpRequest` +- [enableProxy] {Boolean}, Enable proxy request, default is false. +- [proxy] {String | Object}, proxy agent uri or options, default is null. example: @@ -390,8 +392,10 @@ parameters: If bucket exists and not belong to current account, will throw BucketAlreadyExistsError. If bucket not exists, will create a new bucket and set it's ACL. - [options] {Object} optional parameters + - [acl] {String} include `private`,`public-read`,`public-read-write` + - [storageClass] {String} the storage type include (Standard,IA,Archive) + - [dataRedundancyType] {String} default `LRS`, include `LRS`,`ZRS` - [timeout] {Number} the operation timeout - - [StorageClass] {String} the storage type include (Standard,IA,Archive) Success will return the bucket name on `bucket` properties. @@ -2028,7 +2032,7 @@ console.log(result.objects); ### .getBucketVersions(query[, options]) -List objects in the bucket. +List the version information of all objects in the bucket, including the delete marker (Delete Marker). parameters: @@ -2623,10 +2627,10 @@ or give tips in your business code; parameters: - name {String} object name -- file {String|File(only support Browser)|Blob(only support Browser)} file path or HTML5 Web File or web Blob +- file {String|File(only support Browser)|Blob(only support Browser)|Buffer} file path or HTML5 Web File or web Blob or content buffer - [options] {Object} optional args - [parallel] {Number} the number of parts to be uploaded in parallel - - [partSize] {Number} the suggested size for each part + - [partSize] {Number} the suggested size for each part, defalut `1024 * 1024`(1MB), minimum `100 * 1024`(100KB) - [progress] {Function} function | async | Promise, the progress callback called after each successful upload of one part, it will be given three parameters: (percentage {Number}, checkpoint {Object}, res {Object}) @@ -2730,6 +2734,33 @@ const result2 = await store.multipartUpload('object', '/tmp/file', { ``` +- multipartUpload with abort + +>tips: abort multipartUpload support on node and browser + +```js + +//start upload +let abortCheckpoint; +store.multipartUpload('object', '/tmp/file', { + progress: function (p, cpt, res) { + abortCheckpoint = cpt; + } +}).then(res => { + // do something +}.catch(err => { + //if abort will catch abort event + if (err.name === 'abort') { + // handle abort + console.log('error: ', err.message) + } +})) + +// abort +store.abortMultipartUpload(abortCheckpoint.name, abortCheckpoint.uploadId) + +``` + - multipartUpload with cancel >tips: cancel multipartUpload support on node and browser @@ -2795,7 +2826,7 @@ parameters: - [options] {Object} optional args - [timeout] {Number} Milliseconds before a request is considered to be timed out - [parallel] {Number} the number of parts to be uploaded in parallel - - [partSize] {Number} the suggested size for each part + - [partSize] {Number} the suggested size for each part, defalut `1024 * 1024`(1MB), minimum `100 * 1024`(100KB) - [versionId] {String} the version id of history object - [progress] {Function} function | async | Promise, the progress callback called after each successful upload of one part, it will be given three parameters: @@ -2871,6 +2902,36 @@ const result = await store.multipartUploadCopy('object', { console.log(result); ``` + +- multipartUploadCopy with abort + +```js + +//start upload +let abortCheckpoint; +store.multipartUploadCopy('object', { + sourceKey: 'sourceKey', + sourceBucketName: 'sourceBucketName' + }, { + progress: function (p, cpt, res) { + abortCheckpoint = cpt; + } +}).then(res => { + // do something +}.catch(err => { + //if abort will catch abort event + if (err.name === 'abort') { + // handle abort + console.log('error: ', err.message) + } +})) + +//the other event to abort, for example: click event +//to abort upload must use the same client instance +store.abortMultipartUpload(abortCheckpoint.name, abortCheckpoint.uploadId) + +``` + - multipartUploadCopy with cancel ```js @@ -3903,6 +3964,10 @@ Each error return by OSS server will contains these properties: you can send this request id to OSS engineer to find out what's happend. - hostId {String} OSS cluster name for this request +The following table lists the OSS error codes: + +[More code info](https://help.aliyun.com/knowledge_detail/32005.html) + name | code | status | message | message in Chinese --- | --- | --- | --- | --- AccessDeniedError | AccessDenied | 403 | Access Denied | 拒绝访问 diff --git a/bower.json b/bower.json index f741141a3..bb5989ef8 100644 --- a/bower.json +++ b/bower.json @@ -8,5 +8,5 @@ "package.json" ], "main": "dist/aliyun-oss-sdk.js", - "version": "6.9.0" + "version": "6.10.0" } diff --git a/dist/aliyun-oss-sdk.js b/dist/aliyun-oss-sdk.js index 4b3c62540..4fdc1043f 100644 --- a/dist/aliyun-oss-sdk.js +++ b/dist/aliyun-oss-sdk.js @@ -1,4 +1,4 @@ -// Aliyun OSS SDK for JavaScript v6.9.0 +// Aliyun OSS SDK for JavaScript v6.10.0 // Copyright Aliyun.com, Inc. or its affiliates. All Rights Reserved. // License at https://github.com/ali-sdk/ali-oss/blob/master/LICENSE (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.OSS = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 10) { - throw new Error('maximum of 10 tags for a object'); - } - - var rulesIndexKey = ['key', 'value']; - - entries.forEach(function (keyValue) { - keyValue.forEach(function (item, index) { - checkValid(item, rules[rulesIndexKey[index]]); + key: [].concat(commonRules, [{ + pattern: /^.{1,128}$/, + msg: 'tag key can be a maximum of 128 bytes in length' + }]), + value: [].concat(commonRules, [{ + pattern: /^.{0,256}$/, + msg: 'tag value can be a maximum of 256 bytes in length' + }]) +}; +function checkObjectTag(tag) { + if (!isObject(tag)) { + throw new Error('tag must be Object'); + } + var entries = (0, _entries2.default)(tag); + if (entries.length > 10) { + throw new Error('maximum of 10 tags for a object'); + } + var rulesIndexKey = ['key', 'value']; + entries.forEach(function (keyValue) { + keyValue.forEach(function (item, index) { + checkValid(item, rules[rulesIndexKey[index]]); + }); }); - }); -}; +} +exports.checkObjectTag = checkObjectTag; },{"./checkValid":37,"./isObject":46,"babel-runtime/core-js/object/entries":57}],37:[function(require,module,exports){ "use strict"; -module.exports = function checkValid(_value, _rules) { - _rules.forEach(function (rule) { - if (rule.validator) { - rule.validator(_value); - } else if (rule.pattern && !rule.pattern.test(_value)) { - throw new Error(rule.msg); - } - }); -}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checkValid = void 0; +function checkValid(_value, _rules) { + _rules.forEach(function (rule) { + if (rule.validator) { + rule.validator(_value); + } else if (rule.pattern && !rule.pattern.test(_value)) { + throw new Error(rule.msg); + } + }); +} +exports.checkValid = checkValid; },{}],38:[function(require,module,exports){ (function (Buffer){ -'use strict'; +"use strict"; -var _assign = require('babel-runtime/core-js/object/assign'); +var _assign = require("babel-runtime/core-js/object/assign"); var _assign2 = _interopRequireDefault(_assign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createRequest = void 0; var crypto = require('./../../../shims/crypto/crypto.js'); var debug = require('debug')('ali-oss'); var mime = require('mime'); var dateFormat = require('dateformat'); var copy = require('copy-to'); var path = require('path'); - function getHeader(headers, name) { - return headers[name] || headers[name.toLowerCase()]; + return headers[name] || headers[name.toLowerCase()]; } - function delHeader(headers, name) { - delete headers[name]; - delete headers[name.toLowerCase()]; + delete headers[name]; + delete headers[name.toLowerCase()]; } - -module.exports = function createRequest(params) { - var date = new Date(); - if (this.options.amendTimeSkewed) { - date = +new Date() + this.options.amendTimeSkewed; - } - var headers = { - 'x-oss-date': dateFormat(date, 'UTC:ddd, dd mmm yyyy HH:MM:ss \'GMT\''), - 'x-oss-user-agent': this.userAgent - }; - - if (this.userAgent.includes('nodejs')) { - headers['User-Agent'] = this.userAgent; - } - - if (this.options.isRequestPay) { - (0, _assign2.default)(headers, { 'x-oss-request-payer': 'requester' }); - } - - if (this.options.stsToken) { - headers['x-oss-security-token'] = this.options.stsToken; - } - - copy(params.headers).to(headers); - - if (!getHeader(headers, 'Content-Type')) { - if (params.mime && params.mime.indexOf('/') > 0) { - headers['Content-Type'] = params.mime; - } else { - headers['Content-Type'] = mime.getType(params.mime || path.extname(params.object || '')); +function createRequest(params) { + var date = new Date(); + if (this.options.amendTimeSkewed) { + date = +new Date() + this.options.amendTimeSkewed; } - } - - if (!getHeader(headers, 'Content-Type')) { - delHeader(headers, 'Content-Type'); - } - - if (params.content) { - headers['Content-Md5'] = crypto.createHash('md5').update(Buffer.from(params.content, 'utf8')).digest('base64'); - if (!headers['Content-Length']) { - headers['Content-Length'] = params.content.length; + var headers = { + 'x-oss-date': dateFormat(date, 'UTC:ddd, dd mmm yyyy HH:MM:ss \'GMT\''), + 'x-oss-user-agent': this.userAgent + }; + if (this.userAgent.includes('nodejs')) { + headers['User-Agent'] = this.userAgent; } - } - - var authResource = this._getResource(params); - headers.authorization = this.authorization(params.method, authResource, params.subres, headers); - - var url = this._getReqUrl(params); - debug('request %s %s, with headers %j, !!stream: %s', params.method, url, headers, !!params.stream); - var timeout = params.timeout || this.options.timeout; - var reqParams = { - method: params.method, - content: params.content, - stream: params.stream, - headers: headers, - timeout: timeout, - writeStream: params.writeStream, - customResponse: params.customResponse, - ctx: params.ctx || this.ctx - }; - if (this.agent) { - reqParams.agent = this.agent; - } - if (this.httpsAgent) { - reqParams.httpsAgent = this.httpsAgent; - } - - return { - url: url, - params: reqParams - }; -}; + if (this.options.isRequestPay) { + (0, _assign2.default)(headers, { 'x-oss-request-payer': 'requester' }); + } + if (this.options.stsToken) { + headers['x-oss-security-token'] = this.options.stsToken; + } + copy(params.headers).to(headers); + if (!getHeader(headers, 'Content-Type')) { + if (params.mime && params.mime.indexOf('/') > 0) { + headers['Content-Type'] = params.mime; + } else { + headers['Content-Type'] = mime.getType(params.mime || path.extname(params.object || '')); + } + } + if (!getHeader(headers, 'Content-Type')) { + delHeader(headers, 'Content-Type'); + } + if (params.content) { + headers['Content-Md5'] = crypto.createHash('md5').update(Buffer.from(params.content, 'utf8')).digest('base64'); + if (!headers['Content-Length']) { + headers['Content-Length'] = params.content.length; + } + } + var authResource = this._getResource(params); + headers.authorization = this.authorization(params.method, authResource, params.subres, headers); + var url = this._getReqUrl(params); + debug('request %s %s, with headers %j, !!stream: %s', params.method, url, headers, !!params.stream); + var timeout = params.timeout || this.options.timeout; + var reqParams = { + method: params.method, + content: params.content, + stream: params.stream, + headers: headers, + timeout: timeout, + writeStream: params.writeStream, + customResponse: params.customResponse, + ctx: params.ctx || this.ctx + }; + if (this.agent) { + reqParams.agent = this.agent; + } + if (this.httpsAgent) { + reqParams.httpsAgent = this.httpsAgent; + } + return { + url: url, + params: reqParams + }; +} +exports.createRequest = createRequest; }).call(this,require("buffer").Buffer) },{"./../../../shims/crypto/crypto.js":284,"babel-runtime/core-js/object/assign":54,"buffer":73,"copy-to":76,"dateformat":190,"debug":288,"mime":202,"path":205}],39:[function(require,module,exports){ -'use strict'; +"use strict"; -var _keys = require('babel-runtime/core-js/object/keys'); +var _keys = require("babel-runtime/core-js/object/keys"); var _keys2 = _interopRequireDefault(_keys); -var _typeof2 = require('babel-runtime/helpers/typeof'); +var _typeof2 = require("babel-runtime/helpers/typeof"); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -module.exports = function deepCopy(obj) { - var cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - - if (obj === null || (typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) !== 'object') { - return obj; - } - var hit = cache.filter(function (c) { - return c.original === obj; - })[0]; - if (hit) { - return hit.copy; - } - var copy = Array.isArray(obj) ? [] : {}; - cache.push({ - original: obj, - copy: copy - }); - - (0, _keys2.default)(obj).forEach(function (key) { - copy[key] = deepCopy(obj[key], cache); - }); - - return copy; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deepCopy = void 0; +exports.deepCopy = function (obj) { + if (obj === null || (typeof obj === "undefined" ? "undefined" : (0, _typeof3.default)(obj)) !== 'object') { + return obj; + } + var copy = Array.isArray(obj) ? [] : {}; + (0, _keys2.default)(obj).forEach(function (key) { + copy[key] = exports.deepCopy(obj[key]); + }); + return copy; }; },{"babel-runtime/core-js/object/keys":60,"babel-runtime/helpers/typeof":67}],40:[function(require,module,exports){ -'use strict'; +"use strict"; -var _keys = require('babel-runtime/core-js/object/keys'); +var _keys = require("babel-runtime/core-js/object/keys"); var _keys2 = _interopRequireDefault(_keys); -var _typeof2 = require('babel-runtime/helpers/typeof'); +var _typeof2 = require("babel-runtime/helpers/typeof"); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -/* eslint-disable no-use-before-define */ -module.exports = function formatObjKey(obj, type) { - if (obj === null || (typeof obj === 'undefined' ? 'undefined' : (0, _typeof3.default)(obj)) !== 'object') { - return obj; - } - - var o = void 0; - if (Array.isArray(obj)) { - o = []; - for (var i = 0; i < obj.length; i++) { - o.push(formatObjKey(obj[i], type)); +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatObjKey = void 0; +function formatObjKey(obj, type) { + if (obj === null || (typeof obj === "undefined" ? "undefined" : (0, _typeof3.default)(obj)) !== 'object') { + return obj; + } + var o = void 0; + if (Array.isArray(obj)) { + o = []; + for (var i = 0; i < obj.length; i++) { + o.push(formatObjKey(obj[i], type)); + } + } else { + o = {}; + (0, _keys2.default)(obj).forEach(function (key) { + o[handelFormat(key, type)] = formatObjKey(obj[key], type); + }); } - } else { - o = {}; - (0, _keys2.default)(obj).forEach(function (key) { - o[handelFormat(key, type)] = formatObjKey(obj[key], type); - }); - } - return o; -}; - + return o; +} +exports.formatObjKey = formatObjKey; function handelFormat(key, type) { - if (type === 'firstUpperCase') { - key = key.replace(/^./, function (_) { - return _.toUpperCase(); - }); - } else if (type === 'firstLowerCase') { - key = key.replace(/^./, function (_) { - return _.toLowerCase(); - }); - } - return key; + if (type === 'firstUpperCase') { + key = key.replace(/^./, function (_) { + return _.toUpperCase(); + }); + } else if (type === 'firstLowerCase') { + key = key.replace(/^./, function (_) { + return _.toLowerCase(); + }); + } + return key; } },{"babel-runtime/core-js/object/keys":60,"babel-runtime/helpers/typeof":67}],41:[function(require,module,exports){ "use strict"; -module.exports = function getStrBytesCount(str) { - var bytesCount = 0; - for (var i = 0; i < str.length; i++) { - var c = str.charAt(i); - if (/^[\u00-\uff]$/.test(c)) { - bytesCount += 1; - } else { - bytesCount += 2; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getStrBytesCount = void 0; +function getStrBytesCount(str) { + var bytesCount = 0; + for (var i = 0; i < str.length; i++) { + var c = str.charAt(i); + if (/^[\u00-\uff]$/.test(c)) { + bytesCount += 1; + } else { + bytesCount += 2; + } } - } - return bytesCount; -}; + return bytesCount; +} +exports.getStrBytesCount = getStrBytesCount; },{}],42:[function(require,module,exports){ -'use strict'; +"use strict"; -module.exports = function isArray(obj) { - return Object.prototype.toString.call(obj) === '[object Array]'; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isArray = void 0; +exports.isArray = function (obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; }; },{}],43:[function(require,module,exports){ -'use strict'; +"use strict"; -module.exports = function isBlob(blob) { - return typeof Blob !== 'undefined' && blob instanceof Blob; -}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isBlob = void 0; +function isBlob(blob) { + return typeof Blob !== 'undefined' && blob instanceof Blob; +} +exports.isBlob = isBlob; },{}],44:[function(require,module,exports){ -'use strict'; +"use strict"; -module.exports = function isFile(obj) { - return typeof File !== 'undefined' && obj instanceof File; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isFile = void 0; +exports.isFile = function (obj) { + return typeof File !== 'undefined' && obj instanceof File; }; },{}],45:[function(require,module,exports){ "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isIP = void 0; // it provide commont methods for node and browser , we will add more solutions later in this file /** * Judge isIP include ipv4 or ipv6 * @param {String} options * @return {Array} the multipart uploads */ -module.exports = function (host) { +exports.isIP = function (host) { var ipv4Regex = /^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}$/; var ipv6Regex = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; - var isIP = ipv4Regex.test(host) || ipv6Regex.test(host); - return isIP; + return ipv4Regex.test(host) || ipv6Regex.test(host); }; },{}],46:[function(require,module,exports){ -'use strict'; +"use strict"; -module.exports = function isObject(obj) { - return Object.prototype.toString.call(obj) === '[object Object]'; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isObject = void 0; +exports.isObject = function (obj) { + return Object.prototype.toString.call(obj) === '[object Object]'; }; },{}],47:[function(require,module,exports){ -'use strict'; +"use strict"; -var _keys = require('babel-runtime/core-js/object/keys'); +var _keys = require("babel-runtime/core-js/object/keys"); var _keys2 = _interopRequireDefault(_keys); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var formatObjKey = require('./formatObjKey'); - +Object.defineProperty(exports, "__esModule", { value: true }); +exports.obj2xml = void 0; +var formatObjKey_1 = require("./formatObjKey"); function type(params) { - return Object.prototype.toString.call(params).replace(/(.*? |])/g, '').toLowerCase(); + return Object.prototype.toString.call(params).replace(/(.*? |])/g, '').toLowerCase(); } - function obj2xml(obj, options) { - var s = ''; - if (options && options.headers) { - s = '\n'; - } - if (options && options.firstUpperCase) { - obj = formatObjKey(obj, 'firstUpperCase'); - } - if (type(obj) === 'object') { - (0, _keys2.default)(obj).forEach(function (key) { - if (type(obj[key]) === 'string' || type(obj[key]) === 'number') { - s += '<' + key + '>' + obj[key] + ''; - } else if (type(obj[key]) === 'object') { - s += '<' + key + '>' + obj2xml(obj[key]) + ''; - } else if (type(obj[key]) === 'array') { - s += obj[key].map(function (keyChild) { - return '<' + key + '>' + obj2xml(keyChild) + ''; - }).join(''); - } else { - s += '<' + key + '>' + obj[key].toString() + ''; - } - }); - } else { - s += obj.toString(); - } - return s; + var s = ''; + if (options && options.headers) { + s = '\n'; + } + if (options && options.firstUpperCase) { + obj = formatObjKey_1.formatObjKey(obj, 'firstUpperCase'); + } + if (type(obj) === 'object') { + (0, _keys2.default)(obj).forEach(function (key) { + if (type(obj[key]) === 'string' || type(obj[key]) === 'number') { + s += "<" + key + ">" + obj[key] + ""; + } else if (type(obj[key]) === 'object') { + s += "<" + key + ">" + obj2xml(obj[key]) + ""; + } else if (type(obj[key]) === 'array') { + s += obj[key].map(function (keyChild) { + return "<" + key + ">" + obj2xml(keyChild) + ""; + }).join(''); + } else { + s += "<" + key + ">" + obj[key].toString() + ""; + } + }); + } else { + s += obj.toString(); + } + return s; } - -module.exports = obj2xml; +exports.obj2xml = obj2xml; },{"./formatObjKey":40,"babel-runtime/core-js/object/keys":60}],48:[function(require,module,exports){ module.exports = noop; @@ -26760,18 +26819,33 @@ exports.createHmac = function (alg, key) { return hash(alg, key); }; -function each(a, f) { - for (var i in a) { - f(a[i], i); - } -} - -// the least I can do is make error messages for the rest of the node.js/crypto api. -each(['createCredentials', 'createCipher', 'createCipheriv', 'createDecipher', 'createDecipheriv', 'createSign', 'createVerify', 'createDiffieHellman', 'pbkdf2'], function (name) { - exports[name] = function () { - error('sorry,', name, 'is not implemented yet'); - }; -}); +exports.createCredentials = function () { + error('sorry,createCredentials is not implemented yet'); +}; +exports.createCipher = function () { + error('sorry,createCipher is not implemented yet'); +}; +exports.createCipheriv = function () { + error('sorry,createCipheriv is not implemented yet'); +}; +exports.createDecipher = function () { + error('sorry,createDecipher is not implemented yet'); +}; +exports.createDecipheriv = function () { + error('sorry,createDecipheriv is not implemented yet'); +}; +exports.createSign = function () { + error('sorry,createSign is not implemented yet'); +}; +exports.createVerify = function () { + error('sorry,createVerify is not implemented yet'); +}; +exports.createDiffieHellman = function () { + error('sorry,createDiffieHellman is not implemented yet'); +}; +exports.pbkdf2 = function () { + error('sorry,pbkdf2 is not implemented yet'); +}; },{"./md5":286,"./sha":287,"buffer":73}],285:[function(require,module,exports){ 'use strict'; @@ -27082,7 +27156,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var _require = require('stream'), Stream = _require.Stream; -var isArray = require('../lib/common/utils/isArray'); +var _require2 = require('../lib/common/utils/isArray'), + isArray = _require2.isArray; module.exports.string = function isString(obj) { return typeof obj === 'string'; diff --git a/dist/aliyun-oss-sdk.min.js b/dist/aliyun-oss-sdk.min.js index 54a383d7c..7420707b1 100644 --- a/dist/aliyun-oss-sdk.min.js +++ b/dist/aliyun-oss-sdk.min.js @@ -1,15 +1,16 @@ -// Aliyun OSS SDK for JavaScript v6.9.0 +// Aliyun OSS SDK for JavaScript v6.10.0 // Copyright Aliyun.com, Inc. or its affiliates. All Rights Reserved. // License at https://github.com/ali-sdk/ali-oss/blob/master/LICENSE -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.OSS=e()}}(function(){var define,module,exports;return function(){function e(t,r,n){function o(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){return o(t[s][1][e]||e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&m(c).to(p),h=this._divideParts(o,i),d=h.length,b=!1,y=function(r,o){var i=this;return new u.default(function(s,u){var p,y,g,v;return l.default.async(function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,r.isCancel()){i.next=18;break}return p=h[o-1],y={stream:r._createStream(n,p.start,p.end),size:p.end-p.start},i.next=6,l.default.awrap(r._uploadPart(f,a,o,y));case 6:if(g=i.sent,r.isCancel()||b){i.next=15;break}if(e.doneParts.push({number:o,etag:g.res.headers.etag}),!t.progress){i.next=12;break}return i.next=12,l.default.awrap(t.progress(c.length/d,e,g.res));case 12:s({number:o,etag:g.res.headers.etag}),i.next=16;break;case 15:s();case 16:i.next=19;break;case 18:s();case 19:i.next=30;break;case 21:i.prev=21,i.t0=i.catch(0),v=new Error,v.name=i.t0.name,v.message=i.t0.message,v.stack=i.t0.stack,v.partNum=o,m(i.t0).to(v),u(v);case 30:case"end":return i.stop()}},null,i,[[0,21]])})},g=(0,s.default)(new Array(d),function(e,t){return t+1}),v=p.map(function(e){return e.number}),_=g.filter(function(e){return v.indexOf(e)<0}),w=5,x=t.parallel||w,T.next=17,l.default.awrap(this._parallel(_,x,function(e){return new u.default(function(t,n){y(r,e).then(function(e){e&&p.push(e),t()}).catch(function(e){n(e)})})}));case 17:if(E=T.sent,b=!0,!this.isCancel()){T.next=22;break}throw y=null,this._makeCancelEvent();case 22:if(!(E&&E.length>0)){T.next=25;break}throw E[0].message="Failed to upload some parts with error: "+E[0].toString()+" part_num: "+E[0].partNum,E[0];case 25:return T.next=27,l.default.awrap(this.completeMultipartUpload(f,a,p,t));case 27:return T.abrupt("return",T.sent);case 28:case"end":return T.stop()}},null,this)},g._getFileSize=function(e){return l.default.async(function(t){for(;;)switch(t.prev=t.next){case 0:if(!f.buffer(e)){t.next=4;break}return t.abrupt("return",e.length);case 4:if(!b(e)&&!y(e)){t.next=6;break}return t.abrupt("return",e.size);case 6:throw new Error("_getFileSize requires Buffer/File/Blob.");case 7:case"end":return t.stop()}},null,this)};var v=e("stream"),_=v.Readable;p.inherits(o,_),o.prototype.readFileAndPush=function(e){if(this.fileBuffer)for(var t=!0;t&&this.fileBuffer&&this.startthis.fileBuffer.length?this.fileBuffer.length:n,this.start=n,t=this.push(this.fileBuffer.slice(r,n))}},o.prototype._read=function(e){if(this.file&&this.start>=this.file.size||this.fileBuffer&&this.start>=this.fileBuffer.length||this.finish||0===this.start&&!this.file)return this.finish||(this.fileBuffer=null,this.finish=!0),void this.push(null);e=e||16384;var r=this;this.reader.onload=function(n){r.fileBuffer=t.from(new Uint8Array(n.target.result)),r.file=null,r.readFileAndPush(e)},0===this.start?this.reader.readAsArrayBuffer(this.file):this.readFileAndPush(e)},g._createStream=function(e,t,r){if(b(e)||y(e))return new o(e.slice(t,r));throw new Error("_createStream requires File/Blob.")},g._getPartSize=function(e,t){return t?Math.max(Math.ceil(e/1e4),t):1048576},g._divideParts=function(e,t){for(var r=Math.ceil(e/t),n=[],o=0;o255)throw new Error("ID is composed of 255 bytes at most");if(""===e.prefix||void 0===e.prefix)throw new Error("Rule must includes prefix");if(!["Enabled","Disabled"].includes(e.status))throw new Error("Status must be Enabled or Disabled");if(e.transition){if(!["IA","Archive"].includes(e.transition.storageClass))throw new Error("StorageClass must be IA or Archive");o(e.transition,"Transition")}if(e.expiration)if(e.expiration.expiredObjectDeleteMarker){if(e.expiration.days||e.expiration.createdBeforeDate)throw new Error("expiredObjectDeleteMarker cannot be used with days or createdBeforeDate")}else o(e.expiration,"Expiration");if(e.abortMultipartUpload&&o(e.abortMultipartUpload,"AbortMultipartUpload"),!(e.expiration||e.abortMultipartUpload||e.transition||e.noncurrentVersionTransition))throw new Error("Rule must includes expiration or abortMultipartUpload or transition or noncurrentVersionTransition");if(e.tag){if(e.abortMultipartUpload)throw new Error("Tag cannot be used with abortMultipartUpload");i(e.tag)}}var a=e("babel-runtime/regenerator"),u=function(e){return e&&e.__esModule?e:{default:e}}(a),c=e("../utils/checkBucketName"),l=e("../utils/isArray"),f=e("../utils/deepCopy"),p=e("../utils/isObject"),h=e("../utils/obj2xml"),d=e("../utils/checkObjectTag"),m=e("../utils/getStrBytesCount");r.putBucketLifecycle=function(e,t,r){var o,i,a,f,p;return u.default.async(function(d){for(;;)switch(d.prev=d.next){case 0:if(c(e),l(t)){d.next=3;break}throw new Error("rules must be Array");case 3:return o=this._bucketRequestParams("PUT",e,"lifecycle",r),i=[],a={LifecycleConfiguration:{Rule:i}},t.forEach(function(e){n(e),s(e),e.id&&(e.ID=e.id,delete e.id),i.push(e)}),f=h(a,{headers:!0,firstUpperCase:!0}),o.content=f,o.mime="xml",o.successStatuses=[200],d.next=13,u.default.awrap(this.request(o));case 13:return p=d.sent,d.abrupt("return",{res:p.res});case 15:case"end":return d.stop()}},null,this)}},{"../utils/checkBucketName":35,"../utils/checkObjectTag":36,"../utils/deepCopy":39,"../utils/getStrBytesCount":41,"../utils/isArray":42,"../utils/isObject":46,"../utils/obj2xml":47,"babel-runtime/regenerator":68}],12:[function(e,t,r){"use strict";var n=e("babel-runtime/regenerator"),o=function(e){return e&&e.__esModule?e:{default:e}}(n),i=e("../utils/checkBucketName"),s=e("../utils/obj2xml");r.putBucketVersioning=function(e,t){var r,n,a,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o.default.async(function(c){for(;;)switch(c.prev=c.next){case 0:if(i(e),["Enabled","Suspended"].includes(t)){c.next=3;break}throw new Error("status must be Enabled or Suspended");case 3:return r=this._bucketRequestParams("PUT",e,"versioning",u),n={VersioningConfiguration:{Status:t}},r.mime="xml",r.content=s(n,{headers:!0}),c.next=9,o.default.awrap(this.request(r));case 9:return a=c.sent,c.abrupt("return",{res:a.res,status:a.status});case 11:case"end":return c.stop()}},null,this)}},{"../utils/checkBucketName":35,"../utils/obj2xml":47,"babel-runtime/regenerator":68}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/regenerator"),o=function(e){return e&&e.__esModule?e:{default:e}}(n),i=e("../utils/checkBucketName"),s=e("../utils/obj2xml"),a=e("../utils/isArray");r.putBucketWebsite=function(e){var t,r,n,u,c,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=arguments[2];return o.default.async(function(p){for(;;)switch(p.prev=p.next){case 0:if(i(e),t=this._bucketRequestParams("PUT",e,"website",f),r={Suffix:l.index||"index.html"},n={IndexDocument:r},u={WebsiteConfiguration:n},l.supportSubDir&&(r.SupportSubDir=l.supportSubDir),l.type&&(r.Type=l.type),l.error&&(n.ErrorDocument={Key:l.error}),void 0===l.routingRules){p.next=12;break}if(a(l.routingRules)){p.next=11;break}throw new Error("RoutingRules must be Array");case 11:n.RoutingRules={RoutingRule:l.routingRules};case 12:return u=s(u),t.content=u,t.mime="xml",t.successStatuses=[200],p.next=18,o.default.awrap(this.request(t));case 18:return c=p.sent,p.abrupt("return",{res:c.res});case 20:case"end":return p.stop()}},null,this)}},{"../utils/checkBucketName":35,"../utils/isArray":42,"../utils/obj2xml":47,"babel-runtime/regenerator":68}],14:[function(e,t,r){(function(t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/core-js/object/keys"),i=n(o),s=e("babel-runtime/core-js/json/stringify"),a=n(s);r.encodeCallback=function(e,r){if(e.headers=e.headers||{},!Object.prototype.hasOwnProperty.call(e.headers,"x-oss-callback")&&r.callback){var n={callbackUrl:encodeURI(r.callback.url),callbackBody:r.callback.body};r.callback.host&&(n.callbackHost=r.callback.host),r.callback.contentType&&(n.callbackBodyType=r.callback.contentType);var o=t.from((0,a.default)(n)).toString("base64");if(e.headers["x-oss-callback"]=o,r.callback.customValue){var s={};(0,i.default)(r.callback.customValue).forEach(function(e){s["x:"+e]=r.callback.customValue[e]}),e.headers["x-oss-callback-var"]=t.from((0,a.default)(s)).toString("base64")}}}}).call(this,e("buffer").Buffer)},{"babel-runtime/core-js/json/stringify":53,"babel-runtime/core-js/object/keys":60,buffer:73}],15:[function(e,t,r){"use strict";function n(e,t){var r=u.parse(e);if(r.protocol||(r=u.parse("http"+(t?"s":"")+"://"+e)),"http:"!==r.protocol&&"https:"!==r.protocol)throw new Error("Endpoint protocol must be http or https.");return r}function o(e,t,r){var n=r?"https://":"http://",o=t?"-internal.aliyuncs.com":".aliyuncs.com";return"vpc100-oss-cn-"===e.substr(0,"vpc100-oss-cn-".length)&&(o=".aliyuncs.com"),u.parse(n+e+o)}var i=e("babel-runtime/core-js/object/assign"),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=e("humanize-ms"),u=e("url"),c=e("../utils/checkBucketName");t.exports=function(e){if(!e||!e.accessKeyId||!e.accessKeySecret)throw new Error("require accessKeyId, accessKeySecret");e.bucket&&c(e.bucket);var t=(0,s.default)({region:"oss-cn-hangzhou",internal:!1,secure:!1,timeout:6e4,bucket:null,endpoint:null,cname:!1,isRequestPay:!1,sldEnable:!1},e);if(t.accessKeyId=t.accessKeyId.trim(),t.accessKeySecret=t.accessKeySecret.trim(),t.timeout&&(t.timeout=a(t.timeout)),t.endpoint)t.endpoint=n(t.endpoint,t.secure);else{ -if(!t.region)throw new Error("require options.endpoint or options.region");t.endpoint=o(t.region,t.internal,t.secure)}return t.inited=!0,t}},{"../utils/checkBucketName":35,"babel-runtime/core-js/object/assign":54,"humanize-ms":194,url:238}],16:[function(e,t,r){"use strict";e("merge-descriptors")(r,e("./processObjectSave"))},{"./processObjectSave":17,"merge-descriptors":200}],17:[function(e,t,r){"use strict";function n(e,t){if(!e)throw new Error(t+" is required");if("string"!=typeof e)throw new Error(t+" must be String")}var o=e("babel-runtime/regenerator"),i=function(e){return e&&e.__esModule?e:{default:e}}(o),s=e("../utils/checkBucketName"),a=e("querystring"),u=e("js-base64"),c=u.Base64.encode;r.processObjectSave=function(e,t,r,o){var u,l,f,p;return i.default.async(function(h){for(;;)switch(h.prev=h.next){case 0:return n(e,"sourceObject"),n(t,"targetObject"),n(r,"process"),t=this._objectName(t),o&&s(o),u=this._objectRequestParams("POST",e,{subres:"x-oss-process"}),l=o?",b_"+c(o):"",t=c(t),f={"x-oss-process":r+"|sys/saveas,o_"+t+l},u.content=a.stringify(f),h.next=12,i.default.awrap(this.request(u));case 12:return p=h.sent,h.abrupt("return",{res:p.res,status:p.res.status});case 14:case"end":return h.stop()}},null,this)}},{"../utils/checkBucketName":35,"babel-runtime/regenerator":68,"js-base64":199,querystring:212}],18:[function(e,t,r){"use strict";var n=e("babel-runtime/regenerator"),o=function(e){return e&&e.__esModule?e:{default:e}}(n),i=e("copy-to"),s=e("./callback"),a=e("./utils/deepCopy"),u=r;u.listUploads=function(e,t){var r,n,s,a;return o.default.async(function(u){for(;;)switch(u.prev=u.next){case 0:return t=t||{},r={},i(t).to(r),r.subres="uploads",n=this._objectRequestParams("GET","",r),n.query=e,n.xmlResponse=!0,n.successStatuses=[200],u.next=10,o.default.awrap(this.request(n));case 10:return s=u.sent,a=s.data.Upload||[],Array.isArray(a)||(a=[a]),a=a.map(function(e){return{name:e.Key,uploadId:e.UploadId,initiated:e.Initiated}}),u.abrupt("return",{res:s.res,uploads:a,bucket:s.data.Bucket,nextKeyMarker:s.data.NextKeyMarker,nextUploadIdMarker:s.data.NextUploadIdMarker,isTruncated:"true"===s.data.IsTruncated});case 15:case"end":return u.stop()}},null,this)},u.listParts=function(e,t,r,n){var s,a,u;return o.default.async(function(c){for(;;)switch(c.prev=c.next){case 0:return n=n||{},s={},i(n).to(s),s.subres={uploadId:t},a=this._objectRequestParams("GET",e,s),a.query=r,a.xmlResponse=!0,a.successStatuses=[200],c.next=10,o.default.awrap(this.request(a));case 10:return u=c.sent,c.abrupt("return",{res:u.res,uploadId:u.data.UploadId,bucket:u.data.Bucket,name:u.data.Key,partNumberMarker:u.data.PartNumberMarker,nextPartNumberMarker:u.data.NextPartNumberMarker,maxParts:u.data.MaxParts,isTruncated:u.data.IsTruncated,parts:u.data.Part||[]});case 12:case"end":return c.stop()}},null,this)},u.abortMultipartUpload=function(e,t,r){var n,s,a;return o.default.async(function(u){for(;;)switch(u.prev=u.next){case 0:return this._stop(),r=r||{},n={},i(r).to(n),n.subres={uploadId:t},s=this._objectRequestParams("DELETE",e,n),s.successStatuses=[204],u.next=9,o.default.awrap(this.request(s));case 9:return a=u.sent,u.abrupt("return",{res:a.res});case 11:case"end":return u.stop()}},null,this)},u.initMultipartUpload=function(e,t){var r,n,s;return o.default.async(function(a){for(;;)switch(a.prev=a.next){case 0:return t=t||{},r={},i(t).to(r),r.headers=r.headers||{},this._convertMetaToHeaders(t.meta,r.headers),r.subres="uploads",n=this._objectRequestParams("POST",e,r),n.mime=t.mime,n.xmlResponse=!0,n.successStatuses=[200],a.next=12,o.default.awrap(this.request(n));case 12:return s=a.sent,a.abrupt("return",{res:s.res,bucket:s.data.Bucket,name:s.data.Key,uploadId:s.data.UploadId});case 14:case"end":return a.stop()}},null,this)},u.uploadPart=function(e,t,r,n,i,s,a){var u;return o.default.async(function(c){for(;;)switch(c.prev=c.next){case 0:return u={stream:this._createStream(n,i,s),size:s-i},c.next=3,o.default.awrap(this._uploadPart(e,t,r,u,a));case 3:return c.abrupt("return",c.sent);case 4:case"end":return c.stop()}},null,this)},u.completeMultipartUpload=function(e,t,r,n){var i,u,c,l,f,p,h,d;return o.default.async(function(m){for(;;)switch(m.prev=m.next){case 0:for(i=r.concat().sort(function(e,t){return e.number-t.number}).filter(function(e,t,r){return!t||e.number!==r[t-1].number}),u='\n\n',c=0;c\n",u+=""+l.number+"\n",u+=""+l.etag+"\n",u+="\n";return u+="",n=n||{},f={},f=a(n),f.headers&&delete f.headers["x-oss-server-side-encryption"],f.subres={uploadId:t},p=this._objectRequestParams("POST",e,f),s.encodeCallback(p,f),p.mime="xml",p.content=u,p.headers&&p.headers["x-oss-callback"]||(p.xmlResponse=!0),p.successStatuses=[200],m.next=17,o.default.awrap(this.request(p));case 17:return h=m.sent,d={res:h.res,bucket:p.bucket,name:e,etag:h.res.headers.etag},p.headers&&p.headers["x-oss-callback"]&&(d.data=JSON.parse(h.data.toString())),m.abrupt("return",d);case 21:case"end":return m.stop()}},null,this)},u._uploadPart=function(e,t,r,n,s){var a,u,c;return o.default.async(function(l){for(;;)switch(l.prev=l.next){case 0:return s=s||{},a={},i(s).to(a),a.headers={"Content-Length":n.size},a.subres={partNumber:r,uploadId:t},u=this._objectRequestParams("PUT",e,a),u.mime=a.mime,u.stream=n.stream,u.successStatuses=[200],l.next=11,o.default.awrap(this.request(u));case 11:if(c=l.sent,c.res.headers.etag){l.next=14;break}throw new Error("Please set the etag of expose-headers in OSS \n https://help.aliyun.com/document_detail/32069.html");case 14:return n.stream=null,u.stream=null,l.abrupt("return",{name:e,etag:c.res.headers.etag,res:c.res});case 17:case"end":return l.stop()}},null,this)}},{"./callback":14,"./utils/deepCopy":39,"babel-runtime/regenerator":68,"copy-to":76}],19:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/keys"),a=n(s),u=e("babel-runtime/helpers/typeof"),c=n(u),l=e("../utils/checkBucketName"),f=r;f.copy=function(e,t,r,n){var o,s,u;return i.default.async(function(l){for(;;)switch(l.prev=l.next){case 0:return"object"===(void 0===r?"undefined":(0,c.default)(r))&&(n=r),n=n||{},n.headers=n.headers||{},(0,a.default)(n.headers).forEach(function(e){n.headers["x-oss-copy-source-"+e.toLowerCase()]=n.headers[e]}),n.meta&&(n.headers["x-oss-metadata-directive"]="REPLACE"),this._convertMetaToHeaders(n.meta,n.headers),t=this._getSourceName(t,r),n.versionId&&(t=t+"?versionId="+n.versionId),n.headers["x-oss-copy-source"]=t,o=this._objectRequestParams("PUT",e,n),o.xmlResponse=!0,o.successStatuses=[200,304],l.next=14,i.default.awrap(this.request(o));case 14:return s=l.sent,u=s.data,u&&(u={etag:u.ETag,lastModified:u.LastModified}),l.abrupt("return",{data:u,res:s.res});case 18:case"end":return l.stop()}},null,this)},f._getSourceName=function(e,t){return"string"==typeof t?e=this._objectName(e):"/"!==e[0]?t=this.options.bucket:(t=e.replace(/\/(.+?)(\/.*)/,"$1"),e=e.replace(/(\/.+?\/)(.*)/,"$2")),l(t),e=encodeURI(e),e="/"+t+"/"+e}},{"../utils/checkBucketName":35,"babel-runtime/core-js/object/keys":60,"babel-runtime/helpers/typeof":67,"babel-runtime/regenerator":68}],20:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.delete=function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return n.subres=(0,a.default)({},n.subres),n.versionId&&(n.subres.versionId=n.versionId),t=this._objectRequestParams("DELETE",e,n),t.successStatuses=[204],o.next=6,i.default.awrap(this.request(t));case 6:return r=o.sent,o.abrupt("return",{res:r.res});case 8:case"end":return o.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],21:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s),u=e("utility"),c=e("../utils/obj2xml");r.deleteMulti=function(e){var t,r,n,o,s,l,f,p,h,d,m,b,y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(g){for(;;)switch(g.prev=g.next){case 0:if(t=[],e&&e.length){g.next=3;break}throw new Error("names is required");case 3:for(r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return n.subres=(0,a.default)({tagging:""},n.subres),n.versionId&&(n.subres.versionId=n.versionId),e=this._objectName(e),t=this._objectRequestParams("DELETE",e,n),t.successStatuses=[204],o.next=7,i.default.awrap(this.request(t));case 7:return r=o.sent,o.abrupt("return",{status:r.status,res:r.res});case 9:case"end":return o.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],23:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s),u=e("fs"),c=e("is-type-of");r.get=function(e,t){var r,n,o,s,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i.default.async(function(f){for(;;)switch(f.prev=f.next){case 0:return r=null,n=!1,c.writableStream(t)?r=t:c.string(t)?(r=u.createWriteStream(t),n=!0):l=t,l=l||{},l.subres=(0,a.default)({},l.subres),l.versionId&&(l.subres.versionId=l.versionId),l.process&&(l.subres["x-oss-process"]=l.process),o=void 0,f.prev=8,s=this._objectRequestParams("GET",e,l),s.writeStream=r,s.successStatuses=[200,206,304],f.next=14,i.default.awrap(this.request(s));case 14:o=f.sent,n&&r.destroy(),f.next=25;break;case 18:if(f.prev=18,f.t0=f.catch(8),!n){f.next=24;break}return r.destroy(),f.next=24,i.default.awrap(this._deleteFileSafe(t));case 24:throw f.t0;case 25:return f.abrupt("return",{res:o.res,content:o.data});case 26:case"end":return f.stop()}},null,this,[[8,18]])}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68,fs:71,"is-type-of":289}],24:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.getACL=function(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return n.subres=(0,a.default)({acl:""},n.subres),n.versionId&&(n.subres.versionId=n.versionId),e=this._objectName(e),t=this._objectRequestParams("GET",e,n),t.successStatuses=[200],t.xmlResponse=!0,o.next=8,i.default.awrap(this.request(t));case 8:return r=o.sent,o.abrupt("return",{acl:r.data.AccessControlList.Grant,owner:{id:r.data.Owner.ID,displayName:r.data.Owner.DisplayName},res:r.res});case 10:case"end":return o.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],25:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(){var e,t,r,n,o,i,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l.default.async(function(c){for(;;)switch(c.prev=c.next){case 0:if(!a.versionIdMarker||void 0!==a.keyMarker){c.next=2;break}throw new Error("A version-id marker cannot be specified without a key marker");case 2:return u.subres=(0,p.default)({versions:""},u.subres),u.versionId&&(u.subres.versionId=u.versionId),e=this._objectRequestParams("GET","",u),e.xmlResponse=!0,e.successStatuses=[200],e.query=s(a),c.next=10,l.default.awrap(this.request(e));case 10:return t=c.sent,r=t.data.Version||[],n=t.data.DeleteMarker||[],o=this,r&&(Array.isArray(r)||(r=[r]),r=r.map(function(e){return{name:e.Key,url:o._objectUrl(e.Key),lastModified:e.LastModified,isLatest:"true"===e.IsLatest,versionId:e.VersionId,etag:e.ETag,type:e.Type,size:Number(e.Size),storageClass:e.StorageClass,owner:{id:e.Owner.ID,displayName:e.Owner.DisplayName}}})),n&&(m(n)||(n=[n]),n=n.map(function(e){return{name:e.Key,lastModified:e.LastModified,versionId:e.VersionId,owner:{id:e.Owner.ID,displayName:e.Owner.DisplayName}}})),i=t.data.CommonPrefixes||null,i&&(m(i)||(i=[i]),i=i.map(function(e){return e.Prefix})),c.abrupt("return",{res:t.res,objects:r,deleteMarker:n,prefixes:i,nextMarker:t.data.NextMarker||null,NextVersionIdMarker:t.data.NextVersionIdMarker||null,isTruncated:"true"===t.data.IsTruncated});case 19:case"end":return c.stop()}},null,this)}function i(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return d(e)&&(0,u.default)(e).forEach(function(r){t[i(r)]=e[r]}),t}var a=e("babel-runtime/core-js/object/keys"),u=n(a),c=e("babel-runtime/regenerator"),l=n(c),f=e("babel-runtime/core-js/object/assign"),p=n(f),h=r,d=e("../utils/isObject"),m=e("../utils/isArray");h.getBucketVersions=o,h.listObjectVersions=o},{"../utils/isArray":42,"../utils/isObject":46,"babel-runtime/core-js/object/assign":54,"babel-runtime/core-js/object/keys":60,"babel-runtime/regenerator":68}],26:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.getObjectMeta=function(e,t){var r,n;return i.default.async(function(o){for(;;)switch(o.prev=o.next){case 0:return t=t||{},e=this._objectName(e),t.subres=(0,a.default)({objectMeta:""},t.subres),t.versionId&&(t.subres.versionId=t.versionId),r=this._objectRequestParams("HEAD",e,t),r.successStatuses=[200],o.next=8,i.default.awrap(this.request(r));case 8:return n=o.sent,o.abrupt("return",{status:n.status,res:n.res});case 10:case"end":return o.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],27:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s),u=r,c=e("../utils/isObject");u.getObjectTagging=function(e){var t,r,n,o,s,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(l){for(;;)switch(l.prev=l.next){case 0:return u.subres=(0,a.default)({tagging:""},u.subres),u.versionId&&(u.subres.versionId=u.versionId),e=this._objectName(e),t=this._objectRequestParams("GET",e,u),t.successStatuses=[200],l.next=7,i.default.awrap(this.request(t));case 7:return r=l.sent,l.next=10,i.default.awrap(this.parseXML(r.data));case 10:return n=l.sent,o=n.TagSet.Tag,o=o&&c(o)?[o]:o||[],s={},o.forEach(function(e){s[e.Key]=e.Value}),l.abrupt("return",{status:r.status,res:r.res,tag:s});case 16:case"end":return l.stop()}},null,this)}},{"../utils/isObject":46,"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],28:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.getSymlink=function(e){var t,r,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(s){for(;;)switch(s.prev=s.next){case 0:return o.subres=(0,a.default)({symlink:""},o.subres),o.versionId&&(o.subres.versionId=o.versionId),e=this._objectName(e),t=this._objectRequestParams("GET",e,o),t.successStatuses=[200],s.next=7,i.default.awrap(this.request(t));case 7:return r=s.sent,n=r.res.headers["x-oss-symlink-target"],s.abrupt("return",{targetName:decodeURIComponent(n),res:r.res});case 10:case"end":return s.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],29:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/keys"),a=n(s),u=e("babel-runtime/core-js/object/assign"),c=n(u);r.head=function(e){var t,r,n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.default.async(function(s){for(;;)switch(s.prev=s.next){case 0:return o.subres=(0,c.default)({},o.subres),o.versionId&&(o.subres.versionId=o.versionId),t=this._objectRequestParams("HEAD",e,o),t.successStatuses=[200,304],s.next=6,i.default.awrap(this.request(t));case 6:return r=s.sent,n={meta:null,res:r.res,status:r.status},200===r.status&&(0,a.default)(r.headers).forEach(function(e){0===e.indexOf("x-oss-meta-")&&(n.meta||(n.meta={}),n.meta[e.substring(11)]=r.headers[e])}),s.abrupt("return",n);case 10:case"end":return s.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/core-js/object/keys":60,"babel-runtime/regenerator":68}],30:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.putACL=function(e,t,r){var n,o;return i.default.async(function(s){for(;;)switch(s.prev=s.next){case 0:return r=r||{},r.subres=(0,a.default)({acl:""},r.subres),r.versionId&&(r.subres.versionId=r.versionId),r.headers=r.headers||{},r.headers["x-oss-object-acl"]=t,e=this._objectName(e),n=this._objectRequestParams("PUT",e,r),n.successStatuses=[200],s.next=10,i.default.awrap(this.request(n));case 10:return o=s.sent,s.abrupt("return",{res:o.res});case 12:case"end":return s.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],31:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/keys"),a=n(s),u=e("babel-runtime/core-js/object/assign"),c=n(u),l=e("../utils/obj2xml"),f=e("../utils/checkObjectTag");r.putObjectTagging=function(e,t){var r,n,o,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return i.default.async(function(u){for(;;)switch(u.prev=u.next){case 0:return f(t),s.subres=(0,c.default)({tagging:""},s.subres),s.versionId&&(s.subres.versionId=s.versionId),e=this._objectName(e),r=this._objectRequestParams("PUT",e,s),r.successStatuses=[200],t=(0,a.default)(t).map(function(e){return{Key:e,Value:t[e]}}),n={Tagging:{TagSet:{Tag:t}}},r.mime="xml",r.content=l(n),u.next=12,i.default.awrap(this.request(r));case 12:return o=u.sent,u.abrupt("return",{res:o.res,status:o.status});case 14:case"end":return u.stop()}},null,this)}},{"../utils/checkObjectTag":36,"../utils/obj2xml":47,"babel-runtime/core-js/object/assign":54,"babel-runtime/core-js/object/keys":60,"babel-runtime/regenerator":68}],32:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/object/assign"),a=n(s);r.putSymlink=function(e,t,r){var n,o;return i.default.async(function(s){for(;;)switch(s.prev=s.next){case 0:return r=r||{},r.headers=r.headers||{},t=this._escape(this._objectName(t)),this._convertMetaToHeaders(r.meta,r.headers),r.headers["x-oss-symlink-target"]=t,r.subres=(0,a.default)({symlink:""},r.subres),r.versionId&&(r.subres.versionId=r.versionId),r.storageClass&&(r.headers["x-oss-storage-class"]=r.storageClass),e=this._objectName(e),n=this._objectRequestParams("PUT",e,r),n.successStatuses=[200],s.next=13,i.default.awrap(this.request(n));case 13:return o=s.sent,s.abrupt("return",{res:o.res});case 15:case"end":return s.stop()}},null,this)}},{"babel-runtime/core-js/object/assign":54,"babel-runtime/regenerator":68}],33:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/regenerator"),i=n(o),s=e("babel-runtime/core-js/promise"),a=n(s),u=r;u._parallelNode=function(e,t,r,n){var o,s,u,c,l,f,p,h;return i.default.async(function(d){for(;;)switch(d.prev=d.next){case 0:o=this,s=[],u=[],c=e.length/t,l=e.length%t,f=0===l?c:(e.length-l)/t+1,p=1,h=0;case 8:if(!(h0)return f=!0,void(p<=0&&o(c));p+=1,a(e.value,i(s))}h=!1}var c=[];if(t<=0||!e)return void o(c);var l=function(e){var t=-1,r=e.length;return function(){return++tt[0]?1:e[0]1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2],o=arguments[3],s={},u=r.subResource,c=void 0===u?{}:u;if(r.process){c["x-oss-process"]=r.process}if(r.trafficLimit){c["x-oss-traffic-limit"]=r.trafficLimit}if(r.response&&(0,a.default)(r.response).forEach(function(e){var t="response-"+e.toLowerCase();c[t]=r.response[e]}),(0,a.default)(r).forEach(function(e){var t=e.toLowerCase(),n=r[e];0===t.indexOf("x-oss-")?s[t]=n:0===t.indexOf("content-md5")?s[e]=n:0===t.indexOf("content-type")&&(s[e]=n)}),Object.prototype.hasOwnProperty.call(r,"security-token")&&(c["security-token"]=r["security-token"]),Object.prototype.hasOwnProperty.call(r,"callback")){var l={callbackUrl:encodeURI(r.callback.url),callbackBody:r.callback.body};if(r.callback.host&&(l.callbackHost=r.callback.host),r.callback.contentType&&(l.callbackBodyType=r.callback.contentType),c.callback=t.from((0,i.default)(l)).toString("base64"),r.callback.customValue){var f={};(0,a.default)(r.callback.customValue).forEach(function(e){f["x:"+e]=r.callback.customValue[e]}),c["callback-var"]=t.from((0,i.default)(f)).toString("base64")}}var p=this.buildCanonicalString(r.method,n,{headers:s,parameters:c},o.toString());return{Signature:this.computeSignature(e,p),subResource:c}}}).call(this,e("buffer").Buffer)},{"./../../shims/crypto/crypto.js":284,"babel-runtime/core-js/json/stringify":53,"babel-runtime/core-js/object/keys":60,buffer:73,"is-type-of":289}],35:[function(e,t,r){"use strict";t.exports=function(e,t){if(!(t?/^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$/:/^[a-z0-9_][a-z0-9-_]{1,61}[a-z0-9_]$/).test(e))throw new Error("The bucket must be conform to the specifications")}},{}],36:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/entries"),o=function(e){return e&&e.__esModule?e:{default:e}}(n),i=e("./checkValid"),s=e("./isObject"),a=[{validator:function(e){if("string"!=typeof e)throw new Error("the key and value of the tag must be String")}},{pattern:/^[a-zA-Z0-9 +-=._:\/]+$/,msg:"tag can contain letters, numbers, spaces, and the following symbols: plus sign (+), hyphen (-), equal sign (=), period (.), underscore (_), colon (:), and forward slash (/)"}],u={key:[].concat(a,[{pattern:/^.{1,128}$/,msg:"tag key can be a maximum of 128 bytes in length"}]),value:[].concat(a,[{pattern:/^.{0,256}$/,msg:"tag value can be a maximum of 256 bytes in length"}])};t.exports=function(e){if(!s(e))throw new Error("tag must be Object");var t=(0,o.default)(e);if(t.length>10)throw new Error("maximum of 10 tags for a object");var r=["key","value"];t.forEach(function(e){e.forEach(function(e,t){i(e,u[r[t]])})})}},{"./checkValid":37,"./isObject":46,"babel-runtime/core-js/object/entries":57}],37:[function(e,t,r){"use strict";t.exports=function(e,t){t.forEach(function(t){if(t.validator)t.validator(e);else if(t.pattern&&!t.pattern.test(e))throw new Error(t.msg)})}},{}],38:[function(e,t,r){(function(r){"use strict";function n(e,t){return e[t]||e[t.toLowerCase()]}function o(e,t){delete e[t],delete e[t.toLowerCase()]}var i=e("babel-runtime/core-js/object/assign"),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=e("./../../../shims/crypto/crypto.js"),u=e("debug")("ali-oss"),c=e("mime"),l=e("dateformat"),f=e("copy-to"),p=e("path");t.exports=function(e){var t=new Date;this.options.amendTimeSkewed&&(t=+new Date+this.options.amendTimeSkewed);var i={"x-oss-date":l(t,"UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'"),"x-oss-user-agent":this.userAgent};this.userAgent.includes("nodejs")&&(i["User-Agent"]=this.userAgent),this.options.isRequestPay&&(0,s.default)(i,{"x-oss-request-payer":"requester"}),this.options.stsToken&&(i["x-oss-security-token"]=this.options.stsToken),f(e.headers).to(i),n(i,"Content-Type")||(e.mime&&e.mime.indexOf("/")>0?i["Content-Type"]=e.mime:i["Content-Type"]=c.getType(e.mime||p.extname(e.object||""))),n(i,"Content-Type")||o(i,"Content-Type"),e.content&&(i["Content-Md5"]=a.createHash("md5").update(r.from(e.content,"utf8")).digest("base64"),i["Content-Length"]||(i["Content-Length"]=e.content.length));var h=this._getResource(e);i.authorization=this.authorization(e.method,h,e.subres,i);var d=this._getReqUrl(e);u("request %s %s, with headers %j, !!stream: %s",e.method,d,i,!!e.stream);var m=e.timeout||this.options.timeout,b={method:e.method,content:e.content,stream:e.stream,headers:i,timeout:m,writeStream:e.writeStream,customResponse:e.customResponse,ctx:e.ctx||this.ctx};return this.agent&&(b.agent=this.agent),this.httpsAgent&&(b.httpsAgent=this.httpsAgent),{url:d,params:b}}}).call(this,e("buffer").Buffer)},{"./../../../shims/crypto/crypto.js":284,"babel-runtime/core-js/object/assign":54,buffer:73,"copy-to":76,dateformat:190,debug:288,mime:202,path:205}],39:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var o=e("babel-runtime/core-js/object/keys"),i=n(o),s=e("babel-runtime/helpers/typeof"),a=n(s);t.exports=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(null===t||"object"!==(void 0===t?"undefined":(0,a.default)(t)))return t;var n=r.filter(function(e){return e.original===t})[0];if(n)return n.copy;var o=Array.isArray(t)?[]:{};return r.push({original:t,copy:o}),(0,i.default)(t).forEach(function(n){o[n]=e(t[n],r)}),o}},{"babel-runtime/core-js/object/keys":60,"babel-runtime/helpers/typeof":67}],40:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return"firstUpperCase"===t?e=e.replace(/^./,function(e){return e.toUpperCase()}):"firstLowerCase"===t&&(e=e.replace(/^./,function(e){return e.toLowerCase()})),e}var i=e("babel-runtime/core-js/object/keys"),s=n(i),a=e("babel-runtime/helpers/typeof"),u=n(a);t.exports=function e(t,r){if(null===t||"object"!==(void 0===t?"undefined":(0,u.default)(t)))return t;var n=void 0;if(Array.isArray(t)){n=[];for(var i=0;i"+e[t]+"":"object"===n(e[t])?r+="<"+t+">"+o(e[t])+"":"array"===n(e[t])?r+=e[t].map(function(e){return"<"+t+">"+o(e)+""}).join(""):r+="<"+t+">"+e[t].toString()+""}):r+=e.toString(),r}var i=e("babel-runtime/core-js/object/keys"),s=function(e){return e&&e.__esModule?e:{default:e}}(i),a=e("./formatObjKey");t.exports=o},{"./formatObjKey":40,"babel-runtime/core-js/object/keys":60}],48:[function(e,t,r){function n(){}t.exports=n,t.exports.HttpsAgent=n},{}],49:[function(e,t,r){t.exports=e("./register")().Promise},{"./register":51}],50:[function(e,t,r){"use strict";var n=null;t.exports=function(e,t){return function(r,o){r=r||null,o=o||{};var i=!1!==o.global;if(null===n&&i&&(n=e["@@any-promise/REGISTRATION"]||null),null!==n&&null!==r&&n.implementation!==r)throw new Error('any-promise already defined as "'+n.implementation+'". You can only register an implementation before the first call to require("any-promise") and an implementation cannot be changed');return null===n&&(n=null!==r&&void 0!==o.Promise?{Promise:o.Promise,implementation:r}:t(r),i&&(e["@@any-promise/REGISTRATION"]=n)),n}}},{}],51:[function(e,t,r){"use strict";function n(){if(void 0===window.Promise)throw new Error("any-promise browser requires a polyfill or explicit registration e.g: require('any-promise/register/bluebird')");return{Promise:window.Promise,implementation:"window.Promise"}}t.exports=e("./loader")(window,n)},{"./loader":50}],52:[function(e,t,r){t.exports={default:e("core-js/library/fn/array/from"),__esModule:!0}},{"core-js/library/fn/array/from":77}],53:[function(e,t,r){t.exports={default:e("core-js/library/fn/json/stringify"),__esModule:!0}},{"core-js/library/fn/json/stringify":78}],54:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":79}],55:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":80}],56:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":81}],57:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/entries"),__esModule:!0}},{"core-js/library/fn/object/entries":82}],58:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-names"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-names":83}],59:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-prototype-of"),__esModule:!0}},{"core-js/library/fn/object/get-prototype-of":84}],60:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/keys"),__esModule:!0}},{"core-js/library/fn/object/keys":85}],61:[function(e,t,r){t.exports={default:e("core-js/library/fn/promise"),__esModule:!0}},{"core-js/library/fn/promise":86}],62:[function(e,t,r){t.exports={default:e("core-js/library/fn/set-immediate"),__esModule:!0}},{"core-js/library/fn/set-immediate":87}],63:[function(e,t,r){t.exports={default:e("core-js/library/fn/string/from-code-point"),__esModule:!0}},{"core-js/library/fn/string/from-code-point":88}],64:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol"),__esModule:!0}},{"core-js/library/fn/symbol":90}],65:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol/has-instance"),__esModule:!0}},{"core-js/library/fn/symbol/has-instance":89}],66:[function(e,t,r){t.exports={default:e("core-js/library/fn/symbol/iterator"),__esModule:!0}},{"core-js/library/fn/symbol/iterator":91}],67:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0;var o=e("../core-js/symbol/iterator"),i=n(o),s=e("../core-js/symbol"),a=n(s),u="function"==typeof a.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof a.default&&e.constructor===a.default&&e!==a.default.prototype?"symbol":typeof e};r.default="function"==typeof a.default&&"symbol"===u(i.default)?function(e){return void 0===e?"undefined":u(e)}:function(e){return e&&"function"==typeof a.default&&e.constructor===a.default&&e!==a.default.prototype?"symbol":void 0===e?"undefined":u(e)}},{"../core-js/symbol":64,"../core-js/symbol/iterator":66}],68:[function(e,t,r){t.exports=e("regenerator-runtime")},{"regenerator-runtime":226}],69:[function(e,t,r){"use strict";function n(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function o(e){var t=n(e),r=t[0],o=t[1];return 3*(r+o)/4-o}function i(e,t,r){return 3*(t+r)/4-r}function s(e){var t,r,o=n(e),s=o[0],a=o[1],u=new p(i(e,s,a)),c=0,l=a>0?s-4:s;for(r=0;r>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===a&&(t=f[e.charCodeAt(r)]<<2|f[e.charCodeAt(r+1)]>>4,u[c++]=255&t),1===a&&(t=f[e.charCodeAt(r)]<<10|f[e.charCodeAt(r+1)]<<4|f[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u}function a(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function u(e,t,r){for(var n,o=[],i=t;is?s:i+16383));return 1===n?(t=e[r-1],o.push(l[t>>2]+l[t<<4&63]+"==")):2===n&&(t=(e[r-2]<<8)+e[r-1],o.push(l[t>>10]+l[t>>4&63]+l[t<<2&63]+"=")),o.join("")}r.byteLength=o,r.toByteArray=s,r.fromByteArray=c;for(var l=[],f=[],p="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",d=0,m=h.length;d1&&r[1]||""}function r(t){var r=e.match(t);return r&&r.length>1&&r[2]||""}var o,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),a=/like android/i.test(e),u=!a&&/android/i.test(e),c=/nexus\s*[0-6]\s*/i.test(e),l=!c&&/nexus\s*[0-9]+/i.test(e),f=/CrOS/.test(e),p=/silk/i.test(e),h=/sailfish/i.test(e),d=/tizen/i.test(e),m=/(web|hpw)(o|0)s/i.test(e),b=/windows phone/i.test(e),y=(/SamsungBrowser/i.test(e),!b&&/windows/i.test(e)),g=!i&&!p&&/macintosh/i.test(e),v=!u&&!h&&!d&&!m&&/linux/i.test(e),_=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),w=t(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(e)&&!/tablet pc/i.test(e),E=!x&&/[^-]mobi/i.test(e),T=/xbox/i.test(e);/opera/i.test(e)?o={name:"Opera",opera:s,version:w||t(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(e)?o={name:"Opera",opera:s,version:t(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(e)?o={name:"Samsung Internet for Android",samsungBrowser:s,version:w||t(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(e)?o={name:"NAVER Whale browser",whale:s,version:t(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(e)?o={name:"MZ Browser",mzbrowser:s,version:t(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(e)?o={name:"Opera Coast",coast:s,version:w||t(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(e)?o={name:"Focus",focus:s,version:t(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(e)?o={name:"Yandex Browser",yandexbrowser:s,version:w||t(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?o={name:"UC Browser",ucbrowser:s,version:t(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?o={name:"Maxthon",maxthon:s,version:t(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?o={name:"Epiphany",epiphany:s,version:t(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?o={name:"Puffin",puffin:s,version:t(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?o={name:"Sleipnir",sleipnir:s,version:t(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?o={name:"K-Meleon",kMeleon:s,version:t(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:b?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:s},_?(o.msedge=s,o.version=_):(o.msie=s,o.version=t(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?o={name:"Internet Explorer",msie:s,version:t(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?o={name:"Chrome",osname:"Chrome OS",chromeos:s,chromeBook:s,chrome:s,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?o={name:"Microsoft Edge",msedge:s,version:_}:/vivaldi/i.test(e)?o={name:"Vivaldi",vivaldi:s,version:t(/vivaldi\/(\d+(\.\d+)?)/i)||w}:h?o={name:"Sailfish",osname:"Sailfish OS",sailfish:s,version:t(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?o={name:"SeaMonkey",seamonkey:s,version:t(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(o={name:"Firefox",firefox:s,version:t(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(o.firefoxos=s,o.osname="Firefox OS")):p?o={name:"Amazon Silk",silk:s,version:t(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?o={name:"PhantomJS",phantom:s,version:t(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?o={name:"SlimerJS",slimer:s,version:t(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:s,version:w||t(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:m?(o={name:"WebOS",osname:"WebOS",webos:s,version:w||t(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(o.touchpad=s)):/bada/i.test(e)?o={name:"Bada",osname:"Bada",bada:s,version:t(/dolfin\/(\d+(\.\d+)?)/i)}:d?o={name:"Tizen",osname:"Tizen",tizen:s,version:t(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(e)?o={name:"QupZilla",qupzilla:s,version:t(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(e)?o={name:"Chromium",chromium:s,version:t(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(e)?o={name:"Chrome",chrome:s,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:u?o={name:"Android",version:w}:/safari|applewebkit/i.test(e)?(o={name:"Safari",safari:s},w&&(o.version=w)):i?(o={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},w&&(o.version=w)):o=/googlebot/i.test(e)?{name:"Googlebot",googlebot:s,version:t(/googlebot\/(\d+(\.\d+))/i)||w}:{name:t(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(o.name=o.name||"Blink",o.blink=s):(o.name=o.name||"Webkit",o.webkit=s),!o.version&&w&&(o.version=w)):!o.opera&&/gecko\//i.test(e)&&(o.name=o.name||"Gecko",o.gecko=s,o.version=o.version||t(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!u&&!o.silk?!o.windowsphone&&i?(o[i]=s,o.ios=s,o.osname="iOS"):g?(o.mac=s,o.osname="macOS"):T?(o.xbox=s,o.osname="Xbox"):y?(o.windows=s,o.osname="Windows"):v&&(o.linux=s,o.osname="Linux"):(o.android=s,o.osname="Android");var S="";o.windows?S=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(t(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?S=t(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?(S=t(/Mac OS X (\d+([_\.\s]\d+)*)/i),S=S.replace(/[_\s]/g,".")):i?(S=t(/os (\d+([_\s]\d+)*) like mac os x/i),S=S.replace(/[_\s]/g,".")):u?S=t(/android[ \/-](\d+(\.\d+)*)/i):o.webos?S=t(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?S=t(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?S=t(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(S=t(/tizen[\/\s](\d+(\.\d+)*)/i)),S&&(o.osversion=S);var j=!o.windows&&S.split(".")[0];return x||l||"ipad"==i||u&&(3==j||j>=4&&!E)||o.silk?o.tablet=s:(E||"iphone"==i||"ipod"==i||u||c||o.blackberry||o.webos||o.bada)&&(o.mobile=s),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===n([o.version,"1.0"])||o.mzbrowser&&1===n([o.version,"6.0"])||o.focus&&1===n([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=s:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=s:o.x=s,o}function t(e){return e.split(".").length}function r(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r=0;){if(o[0][n]>o[1][n])return 1;if(o[0][n]!==o[1][n])return-1;if(0===n)return 0}}function o(t,r,o){var i=a;"string"==typeof r&&(o=r,r=void 0),void 0===r&&(r=!1),o&&(i=e(o));var s=""+i.version;for(var u in t)if(t.hasOwnProperty(u)&&i[u]){if("string"!=typeof t[u])throw new Error("Browser version in the minVersion map should be a string: "+u+": "+String(t));return n([s,t[u]])<0}return r}function i(e,t,r){return!o(e,t,r)}var s=!0,a=e("undefined"!=typeof navigator?navigator.userAgent||"":"");return a.test=function(e){for(var t=0;t=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived=55296&&n<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var o=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,o),o-=this.charReceived),t+=e.toString(this.encoding,0,o);var o=t.length-1,n=t.charCodeAt(o);if(n>=55296&&n<=56319){var i=this.surrogateSize;return this.charLength+=i,this.charReceived+=i,this.charBuffer.copy(this.charBuffer,i,0,i),e.copy(this.charBuffer,0,0,i),t.substring(0,o)}return t},c.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(t<=2&&r>>4==14){this.charLength=3;break}if(t<=3&&r>>3==30){this.charLength=4;break}}this.charReceived=t},c.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,n=this.charBuffer,o=this.encoding;t+=n.slice(0,r).toString(o)}return t}},{buffer:73}],73:[function(e,t,r){(function(t,n){"use strict";function o(){return n.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function m(e){return+e!=e&&(e=0),n.alloc(+e)}function b(e,t){if(n.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var o=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return z(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return V(e).length;default:if(o)return z(e).length;t=(""+t).toLowerCase(),o=!0}}function y(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,t>>>=0,r<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,r);case"utf8":case"utf-8":return N(this,t,r);case"ascii":return k(this,t,r);case"latin1":case"binary":return C(this,t,r);case"base64":return O(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function g(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(e,t,r,o,i){if(0===e.length)return-1;if("string"==typeof r?(o=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=n.from(t,o)),n.isBuffer(t))return 0===t.length?-1:_(e,t,r,o,i);if("number"==typeof t)return t&=255,n.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):_(e,[t],r,o,i);throw new TypeError("val must be string, number or Buffer")}function _(e,t,r,n,o){function i(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}var s=1,a=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,a/=2,u/=2,r/=2}var c;if(o){var l=-1;for(c=r;ca&&(r=a-u),c=r;c>=0;c--){for(var f=!0,p=0;po&&(n=o):n=o;var i=t.length;if(i%2!=0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var s=0;s239?4:i>223?3:i>191?2:1;if(o+a<=r){var u,c,l,f;switch(a){case 1:i<128&&(s=i);break;case 2:u=e[o+1],128==(192&u)&&(f=(31&i)<<6|63&u)>127&&(s=f);break;case 3:u=e[o+1],c=e[o+2],128==(192&u)&&128==(192&c)&&(f=(15&i)<<12|(63&u)<<6|63&c)>2047&&(f<55296||f>57343)&&(s=f);break;case 4:u=e[o+1],c=e[o+2],l=e[o+3],128==(192&u)&&128==(192&c)&&128==(192&l)&&(f=(15&i)<<18|(63&u)<<12|(63&c)<<6|63&l)>65535&&f<1114112&&(s=f)}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),o+=a}return I(n)}function I(e){var t=e.length;if(t<=Z)return String.fromCharCode.apply(String,e);for(var r="",n=0;nn)&&(r=n);for(var o="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function P(e,t,r,o,i,s){if(!n.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function L(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o>>8*(n?o:1-o)}function R(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o>>8*(n?o:3-o)&255}function B(e,t,r,n,o,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F(e,t,r,n,o){return o||B(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(e,t,r,n,23,4),r+4}function U(e,t,r,n,o){return o||B(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(e,t,r,n,52,8),r+8}function q(e){if(e=X(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function X(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function G(e){return e<16?"0"+e.toString(16):e.toString(16)}function z(e,t){t=t||1/0;for(var r,n=e.length,o=null,i=[],s=0;s55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function H(e){for(var t=[],r=0;r>8,o=r%256,i.push(o),i.push(n);return i}function V(e){return $.toByteArray(q(e))}function K(e,t,r,n){for(var o=0;o=t.length||o>=e.length);++o)t[o+r]=e[o];return o}function Y(e){return e!==e}var $=e("base64-js"),J=e("ieee754"),Q=e("isarray");r.Buffer=n,r.SlowBuffer=m,r.INSPECT_MAX_BYTES=50,n.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),r.kMaxLength=o(),n.poolSize=8192,n._augment=function(e){return e.__proto__=n.prototype,e},n.from=function(e,t,r){return s(null,e,t,r)},n.TYPED_ARRAY_SUPPORT&&(n.prototype.__proto__=Uint8Array.prototype,n.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&n[Symbol.species]===n&&Object.defineProperty(n,Symbol.species,{value:null,configurable:!0})),n.alloc=function(e,t,r){return u(null,e,t,r)},n.allocUnsafe=function(e){return c(null,e)},n.allocUnsafeSlow=function(e){return c(null,e)},n.isBuffer=function(e){return!(null==e||!e._isBuffer)},n.compare=function(e,t){if(!n.isBuffer(e)||!n.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,o=t.length,i=0,s=Math.min(r,o);i0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},n.prototype.compare=function(e,t,r,o,i){if(!n.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===o&&(o=0),void 0===i&&(i=this.length),t<0||r>e.length||o<0||i>this.length)throw new RangeError("out of range index");if(o>=i&&t>=r)return 0;if(o>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,o>>>=0,i>>>=0,this===e)return 0;for(var s=i-o,a=r-t,u=Math.min(s,a),c=this.slice(o,i),l=e.slice(t,r),f=0;fo)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return w(this,e,t,r);case"utf8":case"utf-8":return x(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return T(this,e,t,r);case"base64":return S(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},n.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Z=4096;n.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(o*=256);)n+=this[e+--t]*o;return n},n.prototype.readUInt8=function(e,t){return t||M(e,1,this.length),this[e]},n.prototype.readUInt16LE=function(e,t){return t||M(e,2,this.length),this[e]|this[e+1]<<8},n.prototype.readUInt16BE=function(e,t){return t||M(e,2,this.length),this[e]<<8|this[e+1]},n.prototype.readUInt32LE=function(e,t){return t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},n.prototype.readUInt32BE=function(e,t){return t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},n.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);for(var n=this[e],o=1,i=0;++i=o&&(n-=Math.pow(2,8*t)),n},n.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||M(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*t)),i},n.prototype.readInt8=function(e,t){return t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},n.prototype.readInt16LE=function(e,t){t||M(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},n.prototype.readInt16BE=function(e,t){t||M(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},n.prototype.readInt32LE=function(e,t){return t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},n.prototype.readInt32BE=function(e,t){return t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},n.prototype.readFloatLE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!0,23,4)},n.prototype.readFloatBE=function(e,t){return t||M(e,4,this.length),J.read(this,e,!1,23,4)},n.prototype.readDoubleLE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!0,52,8)},n.prototype.readDoubleBE=function(e,t){return t||M(e,8,this.length),J.read(this,e,!1,52,8)},n.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t|=0,r|=0,!n){P(this,e,t,r,Math.pow(2,8*r)-1,0)}var o=1,i=0;for(this[t]=255&e;++i=0&&(i*=256);)this[t+o]=e/i&255;return t+r},n.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0, -r||P(this,e,t,1,255,0),n.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},n.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,2,65535,0),n.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},n.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,2,65535,0),n.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},n.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,4,4294967295,0),n.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},n.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,4,4294967295,0),n.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},n.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);P(this,e,t,r,o-1,-o)}var i=0,s=1,a=0;for(this[t]=255&e;++i>0)-a&255;return t+r},n.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);P(this,e,t,r,o-1,-o)}var i=r-1,s=1,a=0;for(this[t+i]=255&e;--i>=0&&(s*=256);)e<0&&0===a&&0!==this[t+i+1]&&(a=1),this[t+i]=(e/s>>0)-a&255;return t+r},n.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,1,127,-128),n.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},n.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,2,32767,-32768),n.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},n.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,2,32767,-32768),n.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},n.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,4,2147483647,-2147483648),n.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},n.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),n.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},n.prototype.writeFloatLE=function(e,t,r){return F(this,e,t,!0,r)},n.prototype.writeFloatBE=function(e,t,r){return F(this,e,t,!1,r)},n.prototype.writeDoubleLE=function(e,t,r){return U(this,e,t,!0,r)},n.prototype.writeDoubleBE=function(e,t,r){return U(this,e,t,!1,r)},n.prototype.copy=function(e,t,r,o){if(r||(r=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),o>0&&o=this.length)throw new RangeError("sourceStart out of bounds");if(o<0)throw new RangeError("sourceEnd out of bounds");o>this.length&&(o=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(s<1e3||!n.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var s;if("number"==typeof e)for(s=t;sl;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===r)return e||l||0;return!e&&-1}}},{"./_to-absolute-index":156,"./_to-iobject":158,"./_to-length":159}],97:[function(e,t,r){var n=e("./_cof"),o=e("./_wks")("toStringTag"),i="Arguments"==n(function(){return arguments}()),s=function(e,t){try{return e[t]}catch(e){}};t.exports=function(e){var t,r,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=s(t=Object(e),o))?r:i?n(t):"Object"==(a=n(t))&&"function"==typeof t.callee?"Arguments":a}},{"./_cof":98,"./_wks":166}],98:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],99:[function(e,t,r){var n=t.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},{}],100:[function(e,t,r){"use strict";var n=e("./_object-dp"),o=e("./_property-desc");t.exports=function(e,t,r){t in e?n.f(e,t,o(0,r)):e[t]=r}},{"./_object-dp":132,"./_property-desc":146}],101:[function(e,t,r){var n=e("./_a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":92}],102:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],103:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":108}],104:[function(e,t,r){var n=e("./_is-object"),o=e("./_global").document,i=n(o)&&n(o.createElement);t.exports=function(e){return i?o.createElement(e):{}}},{"./_global":110,"./_is-object":119}],105:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],106:[function(e,t,r){var n=e("./_object-keys"),o=e("./_object-gops"),i=e("./_object-pie");t.exports=function(e){var t=n(e),r=o.f;if(r)for(var s,a=r(e),u=i.f,c=0;a.length>c;)u.call(e,s=a[c++])&&t.push(s);return t}},{"./_object-gops":137,"./_object-keys":140,"./_object-pie":141}],107:[function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_ctx"),s=e("./_hide"),a=e("./_has"),u=function(e,t,r){var c,l,f,p=e&u.F,h=e&u.G,d=e&u.S,m=e&u.P,b=e&u.B,y=e&u.W,g=h?o:o[t]||(o[t]={}),v=g.prototype,_=h?n:d?n[t]:(n[t]||{}).prototype;h&&(r=t);for(c in r)(l=!p&&_&&void 0!==_[c])&&a(g,c)||(f=l?_[c]:r[c],g[c]=h&&"function"!=typeof _[c]?r[c]:b&&l?i(f,n):y&&_[c]==f?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):m&&"function"==typeof f?i(Function.call,f):f,m&&((g.virtual||(g.virtual={}))[c]=f,e&u.R&&v&&!v[c]&&s(v,c,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},{"./_core":99,"./_ctx":101,"./_global":110,"./_has":111,"./_hide":112}],108:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],109:[function(e,t,r){var n=e("./_ctx"),o=e("./_iter-call"),i=e("./_is-array-iter"),s=e("./_an-object"),a=e("./_to-length"),u=e("./core.get-iterator-method"),c={},l={},r=t.exports=function(e,t,r,f,p){var h,d,m,b,y=p?function(){return e}:u(e),g=n(r,f,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(i(y)){for(h=a(e.length);h>v;v++)if((b=t?g(s(d=e[v])[0],d[1]):g(e[v]))===c||b===l)return b}else for(m=y.call(e);!(d=m.next()).done;)if((b=o(m,g,d.value,t))===c||b===l)return b};r.BREAK=c,r.RETURN=l},{"./_an-object":95,"./_ctx":101,"./_is-array-iter":117,"./_iter-call":120,"./_to-length":159,"./core.get-iterator-method":167}],110:[function(e,t,r){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],111:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],112:[function(e,t,r){var n=e("./_object-dp"),o=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":103,"./_object-dp":132,"./_property-desc":146}],113:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":110}],114:[function(e,t,r){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":103,"./_dom-create":104,"./_fails":108}],115:[function(e,t,r){t.exports=function(e,t,r){var n=void 0===r;switch(t.length){case 0:return n?e():e.call(r);case 1:return n?e(t[0]):e.call(r,t[0]);case 2:return n?e(t[0],t[1]):e.call(r,t[0],t[1]);case 3:return n?e(t[0],t[1],t[2]):e.call(r,t[0],t[1],t[2]);case 4:return n?e(t[0],t[1],t[2],t[3]):e.call(r,t[0],t[1],t[2],t[3])}return e.apply(r,t)}},{}],116:[function(e,t,r){var n=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},{"./_cof":98}],117:[function(e,t,r){var n=e("./_iterators"),o=e("./_wks")("iterator"),i=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||i[o]===e)}},{"./_iterators":125,"./_wks":166}],118:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":98}],119:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],120:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,o){try{return o?t(n(r)[0],r[1]):t(r)}catch(t){var i=e.return;throw void 0!==i&&n(i.call(e)),t}}},{"./_an-object":95}],121:[function(e,t,r){"use strict";var n=e("./_object-create"),o=e("./_property-desc"),i=e("./_set-to-string-tag"),s={};e("./_hide")(s,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(s,{next:o(1,r)}),i(e,t+" Iterator")}},{"./_hide":112,"./_object-create":131,"./_property-desc":146,"./_set-to-string-tag":150,"./_wks":166}],122:[function(e,t,r){"use strict";var n=e("./_library"),o=e("./_export"),i=e("./_redefine"),s=e("./_hide"),a=e("./_iterators"),u=e("./_iter-create"),c=e("./_set-to-string-tag"),l=e("./_object-gpo"),f=e("./_wks")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(e,t,r,d,m,b,y){u(r,t,d);var g,v,_,w=function(e){if(!p&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new r(this,e)}}return function(){return new r(this,e)}},x=t+" Iterator",E="values"==m,T=!1,S=e.prototype,j=S[f]||S["@@iterator"]||m&&S[m],O=j||w(m),N=m?E?w("entries"):O:void 0,I="Array"==t?S.entries||j:j;if(I&&(_=l(I.call(new e)))!==Object.prototype&&_.next&&(c(_,x,!0),n||"function"==typeof _[f]||s(_,f,h)),E&&j&&"values"!==j.name&&(T=!0,O=function(){return j.call(this)}),n&&!y||!p&&!T&&S[f]||s(S,f,O),a[t]=O,a[x]=h,m)if(g={values:E?O:w("values"),keys:b?O:w("keys"),entries:N},y)for(v in g)v in S||i(S,v,g[v]);else o(o.P+o.F*(p||T),t,g);return g}},{"./_export":107,"./_hide":112,"./_iter-create":121,"./_iterators":125,"./_library":126,"./_object-gpo":138,"./_redefine":148,"./_set-to-string-tag":150,"./_wks":166}],123:[function(e,t,r){var n=e("./_wks")("iterator"),o=!1;try{var i=[7][n]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!o)return!1;var r=!1;try{var i=[7],s=i[n]();s.next=function(){return{done:r=!0}},i[n]=function(){return s},e(i)}catch(e){}return r}},{"./_wks":166}],124:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],125:[function(e,t,r){t.exports={}},{}],126:[function(e,t,r){t.exports=!0},{}],127:[function(e,t,r){var n=e("./_uid")("meta"),o=e("./_is-object"),i=e("./_has"),s=e("./_object-dp").f,a=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),l=function(e){s(e,n,{value:{i:"O"+ ++a,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[n].i},p=function(e,t){if(!i(e,n)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[n].w},h=function(e){return c&&d.NEED&&u(e)&&!i(e,n)&&l(e),e},d=t.exports={KEY:n,NEED:!1,fastKey:f,getWeak:p,onFreeze:h}},{"./_fails":108,"./_has":111,"./_is-object":119,"./_object-dp":132,"./_uid":162}],128:[function(e,t,r){var n=e("./_global"),o=e("./_task").set,i=n.MutationObserver||n.WebKitMutationObserver,s=n.process,a=n.Promise,u="process"==e("./_cof")(s);t.exports=function(){var e,t,r,c=function(){var n,o;for(u&&(n=s.domain)&&n.exit();e;){o=e.fn,e=e.next;try{o()}catch(n){throw e?r():t=void 0,n}}t=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(c)};else if(!i||n.navigator&&n.navigator.standalone)if(a&&a.resolve){var l=a.resolve(void 0);r=function(){l.then(c)}}else r=function(){o.call(n,c)};else{var f=!0,p=document.createTextNode("");new i(c).observe(p,{characterData:!0}),r=function(){p.data=f=!f}}return function(n){var o={fn:n,next:void 0};t&&(t.next=o),e||(e=o,r()),t=o}}},{"./_cof":98,"./_global":110,"./_task":155}],129:[function(e,t,r){"use strict";function n(e){var t,r;this.promise=new e(function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n}),this.resolve=o(t),this.reject=o(r)}var o=e("./_a-function");t.exports.f=function(e){return new n(e)}},{"./_a-function":92}],130:[function(e,t,r){"use strict";var n=e("./_descriptors"),o=e("./_object-keys"),i=e("./_object-gops"),s=e("./_object-pie"),a=e("./_to-object"),u=e("./_iobject"),c=Object.assign;t.exports=!c||e("./_fails")(function(){var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(e){t[e]=e}),7!=c({},e)[r]||Object.keys(c({},t)).join("")!=n})?function(e,t){for(var r=a(e),c=arguments.length,l=1,f=i.f,p=s.f;c>l;)for(var h,d=u(arguments[l++]),m=f?o(d).concat(f(d)):o(d),b=m.length,y=0;b>y;)h=m[y++],n&&!p.call(d,h)||(r[h]=d[h]);return r}:c},{"./_descriptors":103,"./_fails":108,"./_iobject":116,"./_object-gops":137,"./_object-keys":140,"./_object-pie":141,"./_to-object":160}],131:[function(e,t,r){var n=e("./_an-object"),o=e("./_object-dps"),i=e("./_enum-bug-keys"),s=e("./_shared-key")("IE_PROTO"),a=function(){},u=function(){var t,r=e("./_dom-create")("iframe"),n=i.length;for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",t=r.contentWindow.document,t.open(),t.write("