@salesforce/core-bundle 8.0.1 → 8.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +1041 -678
  2. package/package.json +3 -5
package/lib/index.js CHANGED
@@ -12088,7 +12088,7 @@ var require_package2 = __commonJS({
12088
12088
  "package.json"(exports2, module2) {
12089
12089
  module2.exports = {
12090
12090
  name: "@salesforce/core-bundle",
12091
- version: "8.0.1",
12091
+ version: "8.0.3",
12092
12092
  description: "Core libraries to interact with SFDX projects, orgs, and APIs.",
12093
12093
  main: "lib/index",
12094
12094
  types: "lib/index.d.ts",
@@ -12128,7 +12128,7 @@ var require_package2 = __commonJS({
12128
12128
  "@salesforce/kit": "^3.1.6",
12129
12129
  "@salesforce/schemas": "^1.9.0",
12130
12130
  "@salesforce/ts-types": "^2.0.10",
12131
- ajv: "^8.15.0",
12131
+ ajv: "^8.16.0",
12132
12132
  "change-case": "^4.1.2",
12133
12133
  "fast-levenshtein": "^3.0.0",
12134
12134
  faye: "^1.4.0",
@@ -12147,20 +12147,18 @@ var require_package2 = __commonJS({
12147
12147
  "@salesforce/dev-scripts": "^10.1.1",
12148
12148
  "@salesforce/ts-sinon": "^1.4.22",
12149
12149
  "@types/benchmark": "^2.1.5",
12150
- "@types/chai-string": "^1.4.5",
12151
12150
  "@types/fast-levenshtein": "^0.0.4",
12152
12151
  "@types/jsonwebtoken": "9.0.6",
12153
12152
  "@types/proper-lockfile": "^4.1.4",
12154
12153
  "@types/semver": "^7.5.8",
12155
12154
  benchmark: "^2.1.4",
12156
- "chai-string": "^1.5.0",
12157
12155
  esbuild: "^0.19.5",
12158
12156
  "esbuild-plugin-pino": "^2.1.0",
12159
12157
  "esbuild-plugin-tsc": "^0.4.0",
12160
12158
  "npm-dts": "^1.3.12",
12161
12159
  "ts-node": "^10.9.2",
12162
12160
  "ts-patch": "^3.2.0",
12163
- typescript: "^5.4.5"
12161
+ typescript: "5.4.5"
12164
12162
  },
12165
12163
  repository: {
12166
12164
  type: "git",
@@ -38696,7 +38694,7 @@ var require_cjs = __commonJS({
38696
38694
  __needMoreData: function(i, bufLen, end) {
38697
38695
  if (end)
38698
38696
  return false;
38699
- const { encoding, escape: escape2, quote } = this.options;
38697
+ const { encoding, escape, quote } = this.options;
38700
38698
  const { quoting, needMoreDataSize, recordDelimiterMaxLength } = this.state;
38701
38699
  const numOfCharLeft = bufLen - i - 1;
38702
38700
  const requiredLength = Math.max(
@@ -38709,7 +38707,7 @@ var require_cjs = __commonJS({
38709
38707
  // recordDelimiterMaxLength,
38710
38708
  recordDelimiterMaxLength === 0 ? Buffer.from("\r\n", encoding).length : recordDelimiterMaxLength,
38711
38709
  // Skip if remaining buffer can be an escaped quote
38712
- quoting ? (escape2 === null ? 0 : escape2.length) + quote.length : 0,
38710
+ quoting ? (escape === null ? 0 : escape.length) + quote.length : 0,
38713
38711
  // Skip if remaining buffer can be record delimiter following the closing quote
38714
38712
  quoting ? quote.length + recordDelimiterMaxLength : 0
38715
38713
  );
@@ -38718,7 +38716,7 @@ var require_cjs = __commonJS({
38718
38716
  // Central parser implementation
38719
38717
  parse: function(nextBuf, end, push, close) {
38720
38718
  const { bom, comment_no_infix, encoding, from_line, ltrim, max_record_size, raw, relax_quotes, rtrim, skip_empty_lines, to, to_line } = this.options;
38721
- let { comment, escape: escape2, quote, record_delimiter } = this.options;
38719
+ let { comment, escape, quote, record_delimiter } = this.options;
38722
38720
  const { bomSkipped, previousBuf, rawBuffer, escapeIsQuote } = this.state;
38723
38721
  let buf;
38724
38722
  if (previousBuf === void 0) {
@@ -38748,7 +38746,7 @@ var require_cjs = __commonJS({
38748
38746
  this.state.bufBytesStart += bomLength;
38749
38747
  buf = buf.slice(bomLength);
38750
38748
  this.options = normalize_options({ ...this.original_options, encoding: encoding2 });
38751
- ({ comment, escape: escape2, quote } = this.options);
38749
+ ({ comment, escape, quote } = this.options);
38752
38750
  break;
38753
38751
  }
38754
38752
  }
@@ -38786,16 +38784,16 @@ var require_cjs = __commonJS({
38786
38784
  if (this.state.escaping === true) {
38787
38785
  this.state.escaping = false;
38788
38786
  } else {
38789
- if (escape2 !== null && this.state.quoting === true && this.__isEscape(buf, pos, chr) && pos + escape2.length < bufLen) {
38787
+ if (escape !== null && this.state.quoting === true && this.__isEscape(buf, pos, chr) && pos + escape.length < bufLen) {
38790
38788
  if (escapeIsQuote) {
38791
- if (this.__isQuote(buf, pos + escape2.length)) {
38789
+ if (this.__isQuote(buf, pos + escape.length)) {
38792
38790
  this.state.escaping = true;
38793
- pos += escape2.length - 1;
38791
+ pos += escape.length - 1;
38794
38792
  continue;
38795
38793
  }
38796
38794
  } else {
38797
38795
  this.state.escaping = true;
38798
- pos += escape2.length - 1;
38796
+ pos += escape.length - 1;
38799
38797
  continue;
38800
38798
  }
38801
38799
  }
@@ -38806,8 +38804,8 @@ var require_cjs = __commonJS({
38806
38804
  const isNextChrComment = comment !== null && this.__compareBytes(comment, buf, pos + quote.length, nextChr);
38807
38805
  const isNextChrDelimiter = this.__isDelimiter(buf, pos + quote.length, nextChr);
38808
38806
  const isNextChrRecordDelimiter = record_delimiter.length === 0 ? this.__autoDiscoverRecordDelimiter(buf, pos + quote.length) : this.__isRecordDelimiter(nextChr, buf, pos + quote.length);
38809
- if (escape2 !== null && this.__isEscape(buf, pos, chr) && this.__isQuote(buf, pos + escape2.length)) {
38810
- pos += escape2.length - 1;
38807
+ if (escape !== null && this.__isEscape(buf, pos, chr) && this.__isQuote(buf, pos + escape.length)) {
38808
+ pos += escape.length - 1;
38811
38809
  } else if (!nextChr || isNextChrDelimiter || isNextChrRecordDelimiter || isNextChrComment || isNextChrTrimable) {
38812
38810
  this.state.quoting = false;
38813
38811
  this.state.wasQuoting = true;
@@ -39267,13 +39265,13 @@ var require_cjs = __commonJS({
39267
39265
  return 0;
39268
39266
  },
39269
39267
  __isEscape: function(buf, pos, chr) {
39270
- const { escape: escape2 } = this.options;
39271
- if (escape2 === null)
39268
+ const { escape } = this.options;
39269
+ if (escape === null)
39272
39270
  return false;
39273
- const l = escape2.length;
39274
- if (escape2[0] === chr) {
39271
+ const l = escape.length;
39272
+ if (escape[0] === chr) {
39275
39273
  for (let i = 0; i < l; i++) {
39276
- if (escape2[i] !== buf[pos + i]) {
39274
+ if (escape[i] !== buf[pos + i]) {
39277
39275
  return false;
39278
39276
  }
39279
39277
  }
@@ -40060,7 +40058,7 @@ var require_sync = __commonJS({
40060
40058
  __needMoreData: function(i, bufLen, end) {
40061
40059
  if (end)
40062
40060
  return false;
40063
- const { encoding, escape: escape2, quote } = this.options;
40061
+ const { encoding, escape, quote } = this.options;
40064
40062
  const { quoting, needMoreDataSize, recordDelimiterMaxLength } = this.state;
40065
40063
  const numOfCharLeft = bufLen - i - 1;
40066
40064
  const requiredLength = Math.max(
@@ -40073,7 +40071,7 @@ var require_sync = __commonJS({
40073
40071
  // recordDelimiterMaxLength,
40074
40072
  recordDelimiterMaxLength === 0 ? Buffer.from("\r\n", encoding).length : recordDelimiterMaxLength,
40075
40073
  // Skip if remaining buffer can be an escaped quote
40076
- quoting ? (escape2 === null ? 0 : escape2.length) + quote.length : 0,
40074
+ quoting ? (escape === null ? 0 : escape.length) + quote.length : 0,
40077
40075
  // Skip if remaining buffer can be record delimiter following the closing quote
40078
40076
  quoting ? quote.length + recordDelimiterMaxLength : 0
40079
40077
  );
@@ -40082,7 +40080,7 @@ var require_sync = __commonJS({
40082
40080
  // Central parser implementation
40083
40081
  parse: function(nextBuf, end, push, close) {
40084
40082
  const { bom, comment_no_infix, encoding, from_line, ltrim, max_record_size, raw, relax_quotes, rtrim, skip_empty_lines, to, to_line } = this.options;
40085
- let { comment, escape: escape2, quote, record_delimiter } = this.options;
40083
+ let { comment, escape, quote, record_delimiter } = this.options;
40086
40084
  const { bomSkipped, previousBuf, rawBuffer, escapeIsQuote } = this.state;
40087
40085
  let buf;
40088
40086
  if (previousBuf === void 0) {
@@ -40112,7 +40110,7 @@ var require_sync = __commonJS({
40112
40110
  this.state.bufBytesStart += bomLength;
40113
40111
  buf = buf.slice(bomLength);
40114
40112
  this.options = normalize_options({ ...this.original_options, encoding: encoding2 });
40115
- ({ comment, escape: escape2, quote } = this.options);
40113
+ ({ comment, escape, quote } = this.options);
40116
40114
  break;
40117
40115
  }
40118
40116
  }
@@ -40150,16 +40148,16 @@ var require_sync = __commonJS({
40150
40148
  if (this.state.escaping === true) {
40151
40149
  this.state.escaping = false;
40152
40150
  } else {
40153
- if (escape2 !== null && this.state.quoting === true && this.__isEscape(buf, pos, chr) && pos + escape2.length < bufLen) {
40151
+ if (escape !== null && this.state.quoting === true && this.__isEscape(buf, pos, chr) && pos + escape.length < bufLen) {
40154
40152
  if (escapeIsQuote) {
40155
- if (this.__isQuote(buf, pos + escape2.length)) {
40153
+ if (this.__isQuote(buf, pos + escape.length)) {
40156
40154
  this.state.escaping = true;
40157
- pos += escape2.length - 1;
40155
+ pos += escape.length - 1;
40158
40156
  continue;
40159
40157
  }
40160
40158
  } else {
40161
40159
  this.state.escaping = true;
40162
- pos += escape2.length - 1;
40160
+ pos += escape.length - 1;
40163
40161
  continue;
40164
40162
  }
40165
40163
  }
@@ -40170,8 +40168,8 @@ var require_sync = __commonJS({
40170
40168
  const isNextChrComment = comment !== null && this.__compareBytes(comment, buf, pos + quote.length, nextChr);
40171
40169
  const isNextChrDelimiter = this.__isDelimiter(buf, pos + quote.length, nextChr);
40172
40170
  const isNextChrRecordDelimiter = record_delimiter.length === 0 ? this.__autoDiscoverRecordDelimiter(buf, pos + quote.length) : this.__isRecordDelimiter(nextChr, buf, pos + quote.length);
40173
- if (escape2 !== null && this.__isEscape(buf, pos, chr) && this.__isQuote(buf, pos + escape2.length)) {
40174
- pos += escape2.length - 1;
40171
+ if (escape !== null && this.__isEscape(buf, pos, chr) && this.__isQuote(buf, pos + escape.length)) {
40172
+ pos += escape.length - 1;
40175
40173
  } else if (!nextChr || isNextChrDelimiter || isNextChrRecordDelimiter || isNextChrComment || isNextChrTrimable) {
40176
40174
  this.state.quoting = false;
40177
40175
  this.state.wasQuoting = true;
@@ -40631,13 +40629,13 @@ var require_sync = __commonJS({
40631
40629
  return 0;
40632
40630
  },
40633
40631
  __isEscape: function(buf, pos, chr) {
40634
- const { escape: escape2 } = this.options;
40635
- if (escape2 === null)
40632
+ const { escape } = this.options;
40633
+ if (escape === null)
40636
40634
  return false;
40637
- const l = escape2.length;
40638
- if (escape2[0] === chr) {
40635
+ const l = escape.length;
40636
+ if (escape[0] === chr) {
40639
40637
  for (let i = 0; i < l; i++) {
40640
- if (escape2[i] !== buf[pos + i]) {
40638
+ if (escape[i] !== buf[pos + i]) {
40641
40639
  return false;
40642
40640
  }
40643
40641
  }
@@ -41144,7 +41142,7 @@ var require_cjs2 = __commonJS({
41144
41142
  } else {
41145
41143
  return [Error(`Invalid Casting Value: returned value must return a string, an object, null or undefined, got ${JSON.stringify(value)}`)];
41146
41144
  }
41147
- const { delimiter, escape: escape2, quote, quoted, quoted_empty, quoted_string, quoted_match, record_delimiter, escape_formulas } = options2;
41145
+ const { delimiter, escape, quote, quoted, quoted_empty, quoted_string, quoted_match, record_delimiter, escape_formulas } = options2;
41148
41146
  if ("" === value && "" === field) {
41149
41147
  let quotedMatch = quoted_match && quoted_match.filter((quoted_match2) => {
41150
41148
  if (typeof quoted_match2 === "string") {
@@ -41165,7 +41163,7 @@ var require_cjs2 = __commonJS({
41165
41163
  }
41166
41164
  const containsdelimiter = delimiter.length && value.indexOf(delimiter) >= 0;
41167
41165
  const containsQuote = quote !== "" && value.indexOf(quote) >= 0;
41168
- const containsEscape = value.indexOf(escape2) >= 0 && escape2 !== quote;
41166
+ const containsEscape = value.indexOf(escape) >= 0 && escape !== quote;
41169
41167
  const containsRecordDelimiter = value.indexOf(record_delimiter) >= 0;
41170
41168
  const quotedString = quoted_string && typeof field === "string";
41171
41169
  let quotedMatch = quoted_match && quoted_match.filter((quoted_match2) => {
@@ -41194,12 +41192,12 @@ var require_cjs2 = __commonJS({
41194
41192
  }
41195
41193
  const shouldQuote = containsQuote === true || containsdelimiter || containsRecordDelimiter || quoted || quotedString || quotedMatch;
41196
41194
  if (shouldQuote === true && containsEscape === true) {
41197
- const regexp = escape2 === "\\" ? new RegExp(escape2 + escape2, "g") : new RegExp(escape2, "g");
41198
- value = value.replace(regexp, escape2 + escape2);
41195
+ const regexp = escape === "\\" ? new RegExp(escape + escape, "g") : new RegExp(escape, "g");
41196
+ value = value.replace(regexp, escape + escape);
41199
41197
  }
41200
41198
  if (containsQuote === true) {
41201
41199
  const regexp = new RegExp(quote, "g");
41202
- value = value.replace(regexp, escape2 + quote);
41200
+ value = value.replace(regexp, escape + quote);
41203
41201
  }
41204
41202
  if (shouldQuote === true) {
41205
41203
  value = quote + value + quote;
@@ -41760,7 +41758,7 @@ var require_sync2 = __commonJS({
41760
41758
  } else {
41761
41759
  return [Error(`Invalid Casting Value: returned value must return a string, an object, null or undefined, got ${JSON.stringify(value)}`)];
41762
41760
  }
41763
- const { delimiter, escape: escape2, quote, quoted, quoted_empty, quoted_string, quoted_match, record_delimiter, escape_formulas } = options2;
41761
+ const { delimiter, escape, quote, quoted, quoted_empty, quoted_string, quoted_match, record_delimiter, escape_formulas } = options2;
41764
41762
  if ("" === value && "" === field) {
41765
41763
  let quotedMatch = quoted_match && quoted_match.filter((quoted_match2) => {
41766
41764
  if (typeof quoted_match2 === "string") {
@@ -41781,7 +41779,7 @@ var require_sync2 = __commonJS({
41781
41779
  }
41782
41780
  const containsdelimiter = delimiter.length && value.indexOf(delimiter) >= 0;
41783
41781
  const containsQuote = quote !== "" && value.indexOf(quote) >= 0;
41784
- const containsEscape = value.indexOf(escape2) >= 0 && escape2 !== quote;
41782
+ const containsEscape = value.indexOf(escape) >= 0 && escape !== quote;
41785
41783
  const containsRecordDelimiter = value.indexOf(record_delimiter) >= 0;
41786
41784
  const quotedString = quoted_string && typeof field === "string";
41787
41785
  let quotedMatch = quoted_match && quoted_match.filter((quoted_match2) => {
@@ -41810,12 +41808,12 @@ var require_sync2 = __commonJS({
41810
41808
  }
41811
41809
  const shouldQuote = containsQuote === true || containsdelimiter || containsRecordDelimiter || quoted || quotedString || quotedMatch;
41812
41810
  if (shouldQuote === true && containsEscape === true) {
41813
- const regexp = escape2 === "\\" ? new RegExp(escape2 + escape2, "g") : new RegExp(escape2, "g");
41814
- value = value.replace(regexp, escape2 + escape2);
41811
+ const regexp = escape === "\\" ? new RegExp(escape + escape, "g") : new RegExp(escape, "g");
41812
+ value = value.replace(regexp, escape + escape);
41815
41813
  }
41816
41814
  if (containsQuote === true) {
41817
41815
  const regexp = new RegExp(quote, "g");
41818
- value = value.replace(regexp, escape2 + quote);
41816
+ value = value.replace(regexp, escape + quote);
41819
41817
  }
41820
41818
  if (shouldQuote === true) {
41821
41819
  value = quote + value + quote;
@@ -88697,677 +88695,1039 @@ var require_data = __commonJS({
88697
88695
  }
88698
88696
  });
88699
88697
 
88700
- // node_modules/fast-uri/lib/scopedChars.js
88701
- var require_scopedChars = __commonJS({
88702
- "node_modules/fast-uri/lib/scopedChars.js"(exports2, module2) {
88703
- "use strict";
88704
- var HEX = {
88705
- 0: 0,
88706
- 1: 1,
88707
- 2: 2,
88708
- 3: 3,
88709
- 4: 4,
88710
- 5: 5,
88711
- 6: 6,
88712
- 7: 7,
88713
- 8: 8,
88714
- 9: 9,
88715
- a: 10,
88716
- A: 10,
88717
- b: 11,
88718
- B: 11,
88719
- c: 12,
88720
- C: 12,
88721
- d: 13,
88722
- D: 13,
88723
- e: 14,
88724
- E: 14,
88725
- f: 15,
88726
- F: 15
88727
- };
88728
- module2.exports = {
88729
- HEX
88730
- };
88731
- }
88732
- });
88733
-
88734
- // node_modules/fast-uri/lib/utils.js
88735
- var require_utils2 = __commonJS({
88736
- "node_modules/fast-uri/lib/utils.js"(exports2, module2) {
88737
- "use strict";
88738
- var { HEX } = require_scopedChars();
88739
- function normalizeIPv4(host) {
88740
- if (findToken(host, ".") < 3) {
88741
- return { host, isIPV4: false };
88698
+ // node_modules/uri-js/dist/es5/uri.all.js
88699
+ var require_uri_all = __commonJS({
88700
+ "node_modules/uri-js/dist/es5/uri.all.js"(exports2, module2) {
88701
+ (function(global2, factory) {
88702
+ typeof exports2 === "object" && typeof module2 !== "undefined" ? factory(exports2) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global2.URI = global2.URI || {});
88703
+ })(exports2, function(exports3) {
88704
+ "use strict";
88705
+ function merge() {
88706
+ for (var _len = arguments.length, sets = Array(_len), _key = 0; _key < _len; _key++) {
88707
+ sets[_key] = arguments[_key];
88708
+ }
88709
+ if (sets.length > 1) {
88710
+ sets[0] = sets[0].slice(0, -1);
88711
+ var xl = sets.length - 1;
88712
+ for (var x = 1; x < xl; ++x) {
88713
+ sets[x] = sets[x].slice(1, -1);
88714
+ }
88715
+ sets[xl] = sets[xl].slice(1);
88716
+ return sets.join("");
88717
+ } else {
88718
+ return sets[0];
88719
+ }
88742
88720
  }
88743
- const matches = host.match(/^(\b[01]?\d{1,2}|\b2[0-4]\d|\b25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/u) || [];
88744
- const [address] = matches;
88745
- if (address) {
88746
- return { host: stripLeadingZeros(address, "."), isIPV4: true };
88747
- } else {
88748
- return { host, isIPV4: false };
88721
+ function subexp(str) {
88722
+ return "(?:" + str + ")";
88749
88723
  }
88750
- }
88751
- function stringToHexStripped(input) {
88752
- let acc = "";
88753
- let strip = true;
88754
- for (const c of input) {
88755
- if (c !== "0" && strip === true)
88756
- strip = false;
88757
- if (HEX[c] === void 0)
88758
- return void 0;
88759
- if (!strip)
88760
- acc += c;
88761
- }
88762
- return acc;
88763
- }
88764
- function getIPV6(input) {
88765
- let tokenCount = 0;
88766
- const output = { error: false, address: "", zone: "" };
88767
- const address = [];
88768
- const buffer = [];
88769
- let isZone = false;
88770
- let endipv6Encountered = false;
88771
- let endIpv6 = false;
88772
- function consume() {
88773
- if (buffer.length) {
88774
- if (isZone === false) {
88775
- const hex = stringToHexStripped(buffer.join(""));
88776
- if (hex !== void 0) {
88777
- address.push(hex);
88778
- } else {
88779
- output.error = true;
88780
- return false;
88781
- }
88724
+ function typeOf(o) {
88725
+ return o === void 0 ? "undefined" : o === null ? "null" : Object.prototype.toString.call(o).split(" ").pop().split("]").shift().toLowerCase();
88726
+ }
88727
+ function toUpperCase(str) {
88728
+ return str.toUpperCase();
88729
+ }
88730
+ function toArray(obj) {
88731
+ return obj !== void 0 && obj !== null ? obj instanceof Array ? obj : typeof obj.length !== "number" || obj.split || obj.setInterval || obj.call ? [obj] : Array.prototype.slice.call(obj) : [];
88732
+ }
88733
+ function assign(target, source) {
88734
+ var obj = target;
88735
+ if (source) {
88736
+ for (var key in source) {
88737
+ obj[key] = source[key];
88782
88738
  }
88783
- buffer.length = 0;
88784
88739
  }
88785
- return true;
88740
+ return obj;
88786
88741
  }
88787
- for (let i = 0; i < input.length; i++) {
88788
- const cursor = input[i];
88789
- if (cursor === "[" || cursor === "]") {
88790
- continue;
88791
- }
88792
- if (cursor === ":") {
88793
- if (endipv6Encountered === true) {
88794
- endIpv6 = true;
88795
- }
88796
- if (!consume()) {
88797
- break;
88798
- }
88799
- tokenCount++;
88800
- address.push(":");
88801
- if (tokenCount > 7) {
88802
- output.error = true;
88803
- break;
88804
- }
88805
- if (i - 1 >= 0 && input[i - 1] === ":") {
88806
- endipv6Encountered = true;
88742
+ function buildExps(isIRI2) {
88743
+ var ALPHA$$ = "[A-Za-z]", CR$ = "[\\x0D]", DIGIT$$ = "[0-9]", DQUOTE$$ = "[\\x22]", HEXDIG$$2 = merge(DIGIT$$, "[A-Fa-f]"), LF$$ = "[\\x0A]", SP$$ = "[\\x20]", PCT_ENCODED$2 = subexp(subexp("%[EFef]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$2 + "%" + HEXDIG$$2 + HEXDIG$$2) + "|" + subexp("%" + HEXDIG$$2 + HEXDIG$$2)), GEN_DELIMS$$ = "[\\:\\/\\?\\#\\[\\]\\@]", SUB_DELIMS$$ = "[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]", RESERVED$$ = merge(GEN_DELIMS$$, SUB_DELIMS$$), UCSCHAR$$ = isIRI2 ? "[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]" : "[]", IPRIVATE$$ = isIRI2 ? "[\\uE000-\\uF8FF]" : "[]", UNRESERVED$$2 = merge(ALPHA$$, DIGIT$$, "[\\-\\.\\_\\~]", UCSCHAR$$), SCHEME$ = subexp(ALPHA$$ + merge(ALPHA$$, DIGIT$$, "[\\+\\-\\.]") + "*"), USERINFO$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]")) + "*"), DEC_OCTET$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("[1-9]" + DIGIT$$) + "|" + DIGIT$$), DEC_OCTET_RELAXED$ = subexp(subexp("25[0-5]") + "|" + subexp("2[0-4]" + DIGIT$$) + "|" + subexp("1" + DIGIT$$ + DIGIT$$) + "|" + subexp("0?[1-9]" + DIGIT$$) + "|0?0?" + DIGIT$$), IPV4ADDRESS$ = subexp(DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$ + "\\." + DEC_OCTET_RELAXED$), H16$ = subexp(HEXDIG$$2 + "{1,4}"), LS32$ = subexp(subexp(H16$ + "\\:" + H16$) + "|" + IPV4ADDRESS$), IPV6ADDRESS1$ = subexp(subexp(H16$ + "\\:") + "{6}" + LS32$), IPV6ADDRESS2$ = subexp("\\:\\:" + subexp(H16$ + "\\:") + "{5}" + LS32$), IPV6ADDRESS3$ = subexp(subexp(H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{4}" + LS32$), IPV6ADDRESS4$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,1}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{3}" + LS32$), IPV6ADDRESS5$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,2}" + H16$) + "?\\:\\:" + subexp(H16$ + "\\:") + "{2}" + LS32$), IPV6ADDRESS6$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,3}" + H16$) + "?\\:\\:" + H16$ + "\\:" + LS32$), IPV6ADDRESS7$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,4}" + H16$) + "?\\:\\:" + LS32$), IPV6ADDRESS8$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,5}" + H16$) + "?\\:\\:" + H16$), IPV6ADDRESS9$ = subexp(subexp(subexp(H16$ + "\\:") + "{0,6}" + H16$) + "?\\:\\:"), IPV6ADDRESS$ = subexp([IPV6ADDRESS1$, IPV6ADDRESS2$, IPV6ADDRESS3$, IPV6ADDRESS4$, IPV6ADDRESS5$, IPV6ADDRESS6$, IPV6ADDRESS7$, IPV6ADDRESS8$, IPV6ADDRESS9$].join("|")), ZONEID$ = subexp(subexp(UNRESERVED$$2 + "|" + PCT_ENCODED$2) + "+"), IPV6ADDRZ$ = subexp(IPV6ADDRESS$ + "\\%25" + ZONEID$), IPV6ADDRZ_RELAXED$ = subexp(IPV6ADDRESS$ + subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + ZONEID$), IPVFUTURE$ = subexp("[vV]" + HEXDIG$$2 + "+\\." + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:]") + "+"), IP_LITERAL$ = subexp("\\[" + subexp(IPV6ADDRZ_RELAXED$ + "|" + IPV6ADDRESS$ + "|" + IPVFUTURE$) + "\\]"), REG_NAME$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$)) + "*"), HOST$ = subexp(IP_LITERAL$ + "|" + IPV4ADDRESS$ + "(?!" + REG_NAME$ + ")|" + REG_NAME$), PORT$ = subexp(DIGIT$$ + "*"), AUTHORITY$ = subexp(subexp(USERINFO$ + "@") + "?" + HOST$ + subexp("\\:" + PORT$) + "?"), PCHAR$ = subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@]")), SEGMENT$ = subexp(PCHAR$ + "*"), SEGMENT_NZ$ = subexp(PCHAR$ + "+"), SEGMENT_NZ_NC$ = subexp(subexp(PCT_ENCODED$2 + "|" + merge(UNRESERVED$$2, SUB_DELIMS$$, "[\\@]")) + "+"), PATH_ABEMPTY$ = subexp(subexp("\\/" + SEGMENT$) + "*"), PATH_ABSOLUTE$ = subexp("\\/" + subexp(SEGMENT_NZ$ + PATH_ABEMPTY$) + "?"), PATH_NOSCHEME$ = subexp(SEGMENT_NZ_NC$ + PATH_ABEMPTY$), PATH_ROOTLESS$ = subexp(SEGMENT_NZ$ + PATH_ABEMPTY$), PATH_EMPTY$ = "(?!" + PCHAR$ + ")", PATH$ = subexp(PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), QUERY$ = subexp(subexp(PCHAR$ + "|" + merge("[\\/\\?]", IPRIVATE$$)) + "*"), FRAGMENT$ = subexp(subexp(PCHAR$ + "|[\\/\\?]") + "*"), HIER_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$), URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), RELATIVE_PART$ = subexp(subexp("\\/\\/" + AUTHORITY$ + PATH_ABEMPTY$) + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$), RELATIVE$ = subexp(RELATIVE_PART$ + subexp("\\?" + QUERY$) + "?" + subexp("\\#" + FRAGMENT$) + "?"), URI_REFERENCE$ = subexp(URI$ + "|" + RELATIVE$), ABSOLUTE_URI$ = subexp(SCHEME$ + "\\:" + HIER_PART$ + subexp("\\?" + QUERY$) + "?"), GENERIC_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", RELATIVE_REF$ = "^(){0}" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_NOSCHEME$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", ABSOLUTE_REF$ = "^(" + SCHEME$ + ")\\:" + subexp(subexp("\\/\\/(" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?)") + "?(" + PATH_ABEMPTY$ + "|" + PATH_ABSOLUTE$ + "|" + PATH_ROOTLESS$ + "|" + PATH_EMPTY$ + ")") + subexp("\\?(" + QUERY$ + ")") + "?$", SAMEDOC_REF$ = "^" + subexp("\\#(" + FRAGMENT$ + ")") + "?$", AUTHORITY_REF$ = "^" + subexp("(" + USERINFO$ + ")@") + "?(" + HOST$ + ")" + subexp("\\:(" + PORT$ + ")") + "?$";
88744
+ return {
88745
+ NOT_SCHEME: new RegExp(merge("[^]", ALPHA$$, DIGIT$$, "[\\+\\-\\.]"), "g"),
88746
+ NOT_USERINFO: new RegExp(merge("[^\\%\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"),
88747
+ NOT_HOST: new RegExp(merge("[^\\%\\[\\]\\:]", UNRESERVED$$2, SUB_DELIMS$$), "g"),
88748
+ NOT_PATH: new RegExp(merge("[^\\%\\/\\:\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"),
88749
+ NOT_PATH_NOSCHEME: new RegExp(merge("[^\\%\\/\\@]", UNRESERVED$$2, SUB_DELIMS$$), "g"),
88750
+ NOT_QUERY: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]", IPRIVATE$$), "g"),
88751
+ NOT_FRAGMENT: new RegExp(merge("[^\\%]", UNRESERVED$$2, SUB_DELIMS$$, "[\\:\\@\\/\\?]"), "g"),
88752
+ ESCAPE: new RegExp(merge("[^]", UNRESERVED$$2, SUB_DELIMS$$), "g"),
88753
+ UNRESERVED: new RegExp(UNRESERVED$$2, "g"),
88754
+ OTHER_CHARS: new RegExp(merge("[^\\%]", UNRESERVED$$2, RESERVED$$), "g"),
88755
+ PCT_ENCODED: new RegExp(PCT_ENCODED$2, "g"),
88756
+ IPV4ADDRESS: new RegExp("^(" + IPV4ADDRESS$ + ")$"),
88757
+ IPV6ADDRESS: new RegExp("^\\[?(" + IPV6ADDRESS$ + ")" + subexp(subexp("\\%25|\\%(?!" + HEXDIG$$2 + "{2})") + "(" + ZONEID$ + ")") + "?\\]?$")
88758
+ //RFC 6874, with relaxed parsing rules
88759
+ };
88760
+ }
88761
+ var URI_PROTOCOL = buildExps(false);
88762
+ var IRI_PROTOCOL = buildExps(true);
88763
+ var slicedToArray = /* @__PURE__ */ function() {
88764
+ function sliceIterator(arr, i) {
88765
+ var _arr = [];
88766
+ var _n = true;
88767
+ var _d = false;
88768
+ var _e = void 0;
88769
+ try {
88770
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
88771
+ _arr.push(_s.value);
88772
+ if (i && _arr.length === i)
88773
+ break;
88774
+ }
88775
+ } catch (err) {
88776
+ _d = true;
88777
+ _e = err;
88778
+ } finally {
88779
+ try {
88780
+ if (!_n && _i["return"])
88781
+ _i["return"]();
88782
+ } finally {
88783
+ if (_d)
88784
+ throw _e;
88785
+ }
88807
88786
  }
88808
- continue;
88809
- } else if (cursor === "%") {
88810
- if (!consume()) {
88811
- break;
88787
+ return _arr;
88788
+ }
88789
+ return function(arr, i) {
88790
+ if (Array.isArray(arr)) {
88791
+ return arr;
88792
+ } else if (Symbol.iterator in Object(arr)) {
88793
+ return sliceIterator(arr, i);
88794
+ } else {
88795
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
88812
88796
  }
88813
- isZone = true;
88797
+ };
88798
+ }();
88799
+ var toConsumableArray = function(arr) {
88800
+ if (Array.isArray(arr)) {
88801
+ for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++)
88802
+ arr2[i] = arr[i];
88803
+ return arr2;
88814
88804
  } else {
88815
- buffer.push(cursor);
88816
- continue;
88805
+ return Array.from(arr);
88817
88806
  }
88807
+ };
88808
+ var maxInt = 2147483647;
88809
+ var base = 36;
88810
+ var tMin = 1;
88811
+ var tMax = 26;
88812
+ var skew = 38;
88813
+ var damp = 700;
88814
+ var initialBias = 72;
88815
+ var initialN = 128;
88816
+ var delimiter = "-";
88817
+ var regexPunycode = /^xn--/;
88818
+ var regexNonASCII = /[^\0-\x7E]/;
88819
+ var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
88820
+ var errors = {
88821
+ "overflow": "Overflow: input needs wider integers to process",
88822
+ "not-basic": "Illegal input >= 0x80 (not a basic code point)",
88823
+ "invalid-input": "Invalid input"
88824
+ };
88825
+ var baseMinusTMin = base - tMin;
88826
+ var floor = Math.floor;
88827
+ var stringFromCharCode = String.fromCharCode;
88828
+ function error$1(type2) {
88829
+ throw new RangeError(errors[type2]);
88818
88830
  }
88819
- if (buffer.length) {
88820
- if (isZone) {
88821
- output.zone = buffer.join("");
88822
- } else if (endIpv6) {
88823
- address.push(buffer.join(""));
88824
- } else {
88825
- address.push(stringToHexStripped(buffer.join("")));
88831
+ function map(array, fn) {
88832
+ var result = [];
88833
+ var length = array.length;
88834
+ while (length--) {
88835
+ result[length] = fn(array[length]);
88826
88836
  }
88837
+ return result;
88827
88838
  }
88828
- output.address = address.join("");
88829
- return output;
88830
- }
88831
- function normalizeIPv6(host, opts = {}) {
88832
- if (findToken(host, ":") < 2) {
88833
- return { host, isIPV6: false };
88834
- }
88835
- const ipv6 = getIPV6(host);
88836
- if (!ipv6.error) {
88837
- let newHost = ipv6.address;
88838
- let escapedHost = ipv6.address;
88839
- if (ipv6.zone) {
88840
- newHost += "%" + ipv6.zone;
88841
- escapedHost += "%25" + ipv6.zone;
88839
+ function mapDomain(string, fn) {
88840
+ var parts = string.split("@");
88841
+ var result = "";
88842
+ if (parts.length > 1) {
88843
+ result = parts[0] + "@";
88844
+ string = parts[1];
88842
88845
  }
88843
- return { host: newHost, escapedHost, isIPV6: true };
88844
- } else {
88845
- return { host, isIPV6: false };
88846
+ string = string.replace(regexSeparators, ".");
88847
+ var labels = string.split(".");
88848
+ var encoded = map(labels, fn).join(".");
88849
+ return result + encoded;
88846
88850
  }
88847
- }
88848
- function stripLeadingZeros(str, token) {
88849
- let out = "";
88850
- let skip = true;
88851
- const l = str.length;
88852
- for (let i = 0; i < l; i++) {
88853
- const c = str[i];
88854
- if (c === "0" && skip) {
88855
- if (i + 1 <= l && str[i + 1] === token || i + 1 === l) {
88856
- out += c;
88857
- skip = false;
88858
- }
88859
- } else {
88860
- if (c === token) {
88861
- skip = true;
88851
+ function ucs2decode(string) {
88852
+ var output = [];
88853
+ var counter = 0;
88854
+ var length = string.length;
88855
+ while (counter < length) {
88856
+ var value = string.charCodeAt(counter++);
88857
+ if (value >= 55296 && value <= 56319 && counter < length) {
88858
+ var extra = string.charCodeAt(counter++);
88859
+ if ((extra & 64512) == 56320) {
88860
+ output.push(((value & 1023) << 10) + (extra & 1023) + 65536);
88861
+ } else {
88862
+ output.push(value);
88863
+ counter--;
88864
+ }
88862
88865
  } else {
88863
- skip = false;
88866
+ output.push(value);
88864
88867
  }
88865
- out += c;
88866
88868
  }
88869
+ return output;
88867
88870
  }
88868
- return out;
88869
- }
88870
- function findToken(str, token) {
88871
- let ind = 0;
88872
- for (let i = 0; i < str.length; i++) {
88873
- if (str[i] === token)
88874
- ind++;
88871
+ var ucs2encode = function ucs2encode2(array) {
88872
+ return String.fromCodePoint.apply(String, toConsumableArray(array));
88873
+ };
88874
+ var basicToDigit = function basicToDigit2(codePoint) {
88875
+ if (codePoint - 48 < 10) {
88876
+ return codePoint - 22;
88877
+ }
88878
+ if (codePoint - 65 < 26) {
88879
+ return codePoint - 65;
88880
+ }
88881
+ if (codePoint - 97 < 26) {
88882
+ return codePoint - 97;
88883
+ }
88884
+ return base;
88885
+ };
88886
+ var digitToBasic = function digitToBasic2(digit, flag) {
88887
+ return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
88888
+ };
88889
+ var adapt = function adapt2(delta, numPoints, firstTime) {
88890
+ var k = 0;
88891
+ delta = firstTime ? floor(delta / damp) : delta >> 1;
88892
+ delta += floor(delta / numPoints);
88893
+ for (
88894
+ ;
88895
+ /* no initialization */
88896
+ delta > baseMinusTMin * tMax >> 1;
88897
+ k += base
88898
+ ) {
88899
+ delta = floor(delta / baseMinusTMin);
88900
+ }
88901
+ return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
88902
+ };
88903
+ var decode = function decode2(input) {
88904
+ var output = [];
88905
+ var inputLength = input.length;
88906
+ var i = 0;
88907
+ var n = initialN;
88908
+ var bias = initialBias;
88909
+ var basic = input.lastIndexOf(delimiter);
88910
+ if (basic < 0) {
88911
+ basic = 0;
88912
+ }
88913
+ for (var j = 0; j < basic; ++j) {
88914
+ if (input.charCodeAt(j) >= 128) {
88915
+ error$1("not-basic");
88916
+ }
88917
+ output.push(input.charCodeAt(j));
88918
+ }
88919
+ for (var index = basic > 0 ? basic + 1 : 0; index < inputLength; ) {
88920
+ var oldi = i;
88921
+ for (
88922
+ var w = 1, k = base;
88923
+ ;
88924
+ /* no condition */
88925
+ k += base
88926
+ ) {
88927
+ if (index >= inputLength) {
88928
+ error$1("invalid-input");
88929
+ }
88930
+ var digit = basicToDigit(input.charCodeAt(index++));
88931
+ if (digit >= base || digit > floor((maxInt - i) / w)) {
88932
+ error$1("overflow");
88933
+ }
88934
+ i += digit * w;
88935
+ var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
88936
+ if (digit < t) {
88937
+ break;
88938
+ }
88939
+ var baseMinusT = base - t;
88940
+ if (w > floor(maxInt / baseMinusT)) {
88941
+ error$1("overflow");
88942
+ }
88943
+ w *= baseMinusT;
88944
+ }
88945
+ var out = output.length + 1;
88946
+ bias = adapt(i - oldi, out, oldi == 0);
88947
+ if (floor(i / out) > maxInt - n) {
88948
+ error$1("overflow");
88949
+ }
88950
+ n += floor(i / out);
88951
+ i %= out;
88952
+ output.splice(i++, 0, n);
88953
+ }
88954
+ return String.fromCodePoint.apply(String, output);
88955
+ };
88956
+ var encode = function encode2(input) {
88957
+ var output = [];
88958
+ input = ucs2decode(input);
88959
+ var inputLength = input.length;
88960
+ var n = initialN;
88961
+ var delta = 0;
88962
+ var bias = initialBias;
88963
+ var _iteratorNormalCompletion = true;
88964
+ var _didIteratorError = false;
88965
+ var _iteratorError = void 0;
88966
+ try {
88967
+ for (var _iterator = input[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
88968
+ var _currentValue2 = _step.value;
88969
+ if (_currentValue2 < 128) {
88970
+ output.push(stringFromCharCode(_currentValue2));
88971
+ }
88972
+ }
88973
+ } catch (err) {
88974
+ _didIteratorError = true;
88975
+ _iteratorError = err;
88976
+ } finally {
88977
+ try {
88978
+ if (!_iteratorNormalCompletion && _iterator.return) {
88979
+ _iterator.return();
88980
+ }
88981
+ } finally {
88982
+ if (_didIteratorError) {
88983
+ throw _iteratorError;
88984
+ }
88985
+ }
88986
+ }
88987
+ var basicLength = output.length;
88988
+ var handledCPCount = basicLength;
88989
+ if (basicLength) {
88990
+ output.push(delimiter);
88991
+ }
88992
+ while (handledCPCount < inputLength) {
88993
+ var m = maxInt;
88994
+ var _iteratorNormalCompletion2 = true;
88995
+ var _didIteratorError2 = false;
88996
+ var _iteratorError2 = void 0;
88997
+ try {
88998
+ for (var _iterator2 = input[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
88999
+ var currentValue = _step2.value;
89000
+ if (currentValue >= n && currentValue < m) {
89001
+ m = currentValue;
89002
+ }
89003
+ }
89004
+ } catch (err) {
89005
+ _didIteratorError2 = true;
89006
+ _iteratorError2 = err;
89007
+ } finally {
89008
+ try {
89009
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
89010
+ _iterator2.return();
89011
+ }
89012
+ } finally {
89013
+ if (_didIteratorError2) {
89014
+ throw _iteratorError2;
89015
+ }
89016
+ }
89017
+ }
89018
+ var handledCPCountPlusOne = handledCPCount + 1;
89019
+ if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
89020
+ error$1("overflow");
89021
+ }
89022
+ delta += (m - n) * handledCPCountPlusOne;
89023
+ n = m;
89024
+ var _iteratorNormalCompletion3 = true;
89025
+ var _didIteratorError3 = false;
89026
+ var _iteratorError3 = void 0;
89027
+ try {
89028
+ for (var _iterator3 = input[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
89029
+ var _currentValue = _step3.value;
89030
+ if (_currentValue < n && ++delta > maxInt) {
89031
+ error$1("overflow");
89032
+ }
89033
+ if (_currentValue == n) {
89034
+ var q = delta;
89035
+ for (
89036
+ var k = base;
89037
+ ;
89038
+ /* no condition */
89039
+ k += base
89040
+ ) {
89041
+ var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
89042
+ if (q < t) {
89043
+ break;
89044
+ }
89045
+ var qMinusT = q - t;
89046
+ var baseMinusT = base - t;
89047
+ output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));
89048
+ q = floor(qMinusT / baseMinusT);
89049
+ }
89050
+ output.push(stringFromCharCode(digitToBasic(q, 0)));
89051
+ bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
89052
+ delta = 0;
89053
+ ++handledCPCount;
89054
+ }
89055
+ }
89056
+ } catch (err) {
89057
+ _didIteratorError3 = true;
89058
+ _iteratorError3 = err;
89059
+ } finally {
89060
+ try {
89061
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
89062
+ _iterator3.return();
89063
+ }
89064
+ } finally {
89065
+ if (_didIteratorError3) {
89066
+ throw _iteratorError3;
89067
+ }
89068
+ }
89069
+ }
89070
+ ++delta;
89071
+ ++n;
89072
+ }
89073
+ return output.join("");
89074
+ };
89075
+ var toUnicode = function toUnicode2(input) {
89076
+ return mapDomain(input, function(string) {
89077
+ return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
89078
+ });
89079
+ };
89080
+ var toASCII = function toASCII2(input) {
89081
+ return mapDomain(input, function(string) {
89082
+ return regexNonASCII.test(string) ? "xn--" + encode(string) : string;
89083
+ });
89084
+ };
89085
+ var punycode = {
89086
+ /**
89087
+ * A string representing the current Punycode.js version number.
89088
+ * @memberOf punycode
89089
+ * @type String
89090
+ */
89091
+ "version": "2.1.0",
89092
+ /**
89093
+ * An object of methods to convert from JavaScript's internal character
89094
+ * representation (UCS-2) to Unicode code points, and back.
89095
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
89096
+ * @memberOf punycode
89097
+ * @type Object
89098
+ */
89099
+ "ucs2": {
89100
+ "decode": ucs2decode,
89101
+ "encode": ucs2encode
89102
+ },
89103
+ "decode": decode,
89104
+ "encode": encode,
89105
+ "toASCII": toASCII,
89106
+ "toUnicode": toUnicode
89107
+ };
89108
+ var SCHEMES = {};
89109
+ function pctEncChar(chr) {
89110
+ var c = chr.charCodeAt(0);
89111
+ var e = void 0;
89112
+ if (c < 16)
89113
+ e = "%0" + c.toString(16).toUpperCase();
89114
+ else if (c < 128)
89115
+ e = "%" + c.toString(16).toUpperCase();
89116
+ else if (c < 2048)
89117
+ e = "%" + (c >> 6 | 192).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();
89118
+ else
89119
+ e = "%" + (c >> 12 | 224).toString(16).toUpperCase() + "%" + (c >> 6 & 63 | 128).toString(16).toUpperCase() + "%" + (c & 63 | 128).toString(16).toUpperCase();
89120
+ return e;
88875
89121
  }
88876
- return ind;
88877
- }
88878
- var RDS1 = /^\.\.?\//u;
88879
- var RDS2 = /^\/\.(?:\/|$)/u;
88880
- var RDS3 = /^\/\.\.(?:\/|$)/u;
88881
- var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/u;
88882
- function removeDotSegments(input) {
88883
- const output = [];
88884
- while (input.length) {
88885
- if (input.match(RDS1)) {
88886
- input = input.replace(RDS1, "");
88887
- } else if (input.match(RDS2)) {
88888
- input = input.replace(RDS2, "/");
88889
- } else if (input.match(RDS3)) {
88890
- input = input.replace(RDS3, "/");
88891
- output.pop();
88892
- } else if (input === "." || input === "..") {
88893
- input = "";
88894
- } else {
88895
- const im = input.match(RDS5);
88896
- if (im) {
88897
- const s = im[0];
88898
- input = input.slice(s.length);
88899
- output.push(s);
89122
+ function pctDecChars(str) {
89123
+ var newStr = "";
89124
+ var i = 0;
89125
+ var il = str.length;
89126
+ while (i < il) {
89127
+ var c = parseInt(str.substr(i + 1, 2), 16);
89128
+ if (c < 128) {
89129
+ newStr += String.fromCharCode(c);
89130
+ i += 3;
89131
+ } else if (c >= 194 && c < 224) {
89132
+ if (il - i >= 6) {
89133
+ var c2 = parseInt(str.substr(i + 4, 2), 16);
89134
+ newStr += String.fromCharCode((c & 31) << 6 | c2 & 63);
89135
+ } else {
89136
+ newStr += str.substr(i, 6);
89137
+ }
89138
+ i += 6;
89139
+ } else if (c >= 224) {
89140
+ if (il - i >= 9) {
89141
+ var _c = parseInt(str.substr(i + 4, 2), 16);
89142
+ var c3 = parseInt(str.substr(i + 7, 2), 16);
89143
+ newStr += String.fromCharCode((c & 15) << 12 | (_c & 63) << 6 | c3 & 63);
89144
+ } else {
89145
+ newStr += str.substr(i, 9);
89146
+ }
89147
+ i += 9;
88900
89148
  } else {
88901
- throw new Error("Unexpected dot segment condition");
89149
+ newStr += str.substr(i, 3);
89150
+ i += 3;
88902
89151
  }
88903
89152
  }
89153
+ return newStr;
88904
89154
  }
88905
- return output.join("");
88906
- }
88907
- function normalizeComponentEncoding(components, esc) {
88908
- const func = esc !== true ? escape : unescape;
88909
- if (components.scheme !== void 0) {
88910
- components.scheme = func(components.scheme);
88911
- }
88912
- if (components.userinfo !== void 0) {
88913
- components.userinfo = func(components.userinfo);
88914
- }
88915
- if (components.host !== void 0) {
88916
- components.host = func(components.host);
88917
- }
88918
- if (components.path !== void 0) {
88919
- components.path = func(components.path);
88920
- }
88921
- if (components.query !== void 0) {
88922
- components.query = func(components.query);
88923
- }
88924
- if (components.fragment !== void 0) {
88925
- components.fragment = func(components.fragment);
88926
- }
88927
- return components;
88928
- }
88929
- function recomposeAuthority(components, options) {
88930
- const uriTokens = [];
88931
- if (components.userinfo !== void 0) {
88932
- uriTokens.push(components.userinfo);
88933
- uriTokens.push("@");
88934
- }
88935
- if (components.host !== void 0) {
88936
- let host = unescape(components.host);
88937
- const ipV4res = normalizeIPv4(host);
88938
- if (ipV4res.isIPV4) {
88939
- host = ipV4res.host;
89155
+ function _normalizeComponentEncoding(components, protocol) {
89156
+ function decodeUnreserved2(str) {
89157
+ var decStr = pctDecChars(str);
89158
+ return !decStr.match(protocol.UNRESERVED) ? str : decStr;
89159
+ }
89160
+ if (components.scheme)
89161
+ components.scheme = String(components.scheme).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_SCHEME, "");
89162
+ if (components.userinfo !== void 0)
89163
+ components.userinfo = String(components.userinfo).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_USERINFO, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);
89164
+ if (components.host !== void 0)
89165
+ components.host = String(components.host).replace(protocol.PCT_ENCODED, decodeUnreserved2).toLowerCase().replace(protocol.NOT_HOST, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);
89166
+ if (components.path !== void 0)
89167
+ components.path = String(components.path).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(components.scheme ? protocol.NOT_PATH : protocol.NOT_PATH_NOSCHEME, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);
89168
+ if (components.query !== void 0)
89169
+ components.query = String(components.query).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_QUERY, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);
89170
+ if (components.fragment !== void 0)
89171
+ components.fragment = String(components.fragment).replace(protocol.PCT_ENCODED, decodeUnreserved2).replace(protocol.NOT_FRAGMENT, pctEncChar).replace(protocol.PCT_ENCODED, toUpperCase);
89172
+ return components;
89173
+ }
89174
+ function _stripLeadingZeros(str) {
89175
+ return str.replace(/^0*(.*)/, "$1") || "0";
89176
+ }
89177
+ function _normalizeIPv4(host, protocol) {
89178
+ var matches = host.match(protocol.IPV4ADDRESS) || [];
89179
+ var _matches = slicedToArray(matches, 2), address = _matches[1];
89180
+ if (address) {
89181
+ return address.split(".").map(_stripLeadingZeros).join(".");
88940
89182
  } else {
88941
- const ipV6res = normalizeIPv6(ipV4res.host, { isIPV4: false });
88942
- if (ipV6res.isIPV6 === true) {
88943
- host = `[${ipV6res.escapedHost}]`;
89183
+ return host;
89184
+ }
89185
+ }
89186
+ function _normalizeIPv6(host, protocol) {
89187
+ var matches = host.match(protocol.IPV6ADDRESS) || [];
89188
+ var _matches2 = slicedToArray(matches, 3), address = _matches2[1], zone = _matches2[2];
89189
+ if (address) {
89190
+ var _address$toLowerCase$ = address.toLowerCase().split("::").reverse(), _address$toLowerCase$2 = slicedToArray(_address$toLowerCase$, 2), last = _address$toLowerCase$2[0], first = _address$toLowerCase$2[1];
89191
+ var firstFields = first ? first.split(":").map(_stripLeadingZeros) : [];
89192
+ var lastFields = last.split(":").map(_stripLeadingZeros);
89193
+ var isLastFieldIPv4Address = protocol.IPV4ADDRESS.test(lastFields[lastFields.length - 1]);
89194
+ var fieldCount = isLastFieldIPv4Address ? 7 : 8;
89195
+ var lastFieldsStart = lastFields.length - fieldCount;
89196
+ var fields = Array(fieldCount);
89197
+ for (var x = 0; x < fieldCount; ++x) {
89198
+ fields[x] = firstFields[x] || lastFields[lastFieldsStart + x] || "";
89199
+ }
89200
+ if (isLastFieldIPv4Address) {
89201
+ fields[fieldCount - 1] = _normalizeIPv4(fields[fieldCount - 1], protocol);
89202
+ }
89203
+ var allZeroFields = fields.reduce(function(acc, field, index) {
89204
+ if (!field || field === "0") {
89205
+ var lastLongest = acc[acc.length - 1];
89206
+ if (lastLongest && lastLongest.index + lastLongest.length === index) {
89207
+ lastLongest.length++;
89208
+ } else {
89209
+ acc.push({ index, length: 1 });
89210
+ }
89211
+ }
89212
+ return acc;
89213
+ }, []);
89214
+ var longestZeroFields = allZeroFields.sort(function(a, b) {
89215
+ return b.length - a.length;
89216
+ })[0];
89217
+ var newHost = void 0;
89218
+ if (longestZeroFields && longestZeroFields.length > 1) {
89219
+ var newFirst = fields.slice(0, longestZeroFields.index);
89220
+ var newLast = fields.slice(longestZeroFields.index + longestZeroFields.length);
89221
+ newHost = newFirst.join(":") + "::" + newLast.join(":");
88944
89222
  } else {
88945
- host = components.host;
89223
+ newHost = fields.join(":");
88946
89224
  }
89225
+ if (zone) {
89226
+ newHost += "%" + zone;
89227
+ }
89228
+ return newHost;
89229
+ } else {
89230
+ return host;
89231
+ }
89232
+ }
89233
+ var URI_PARSE = /^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i;
89234
+ var NO_MATCH_IS_UNDEFINED = "".match(/(){0}/)[1] === void 0;
89235
+ function parse(uriString) {
89236
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
89237
+ var components = {};
89238
+ var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;
89239
+ if (options.reference === "suffix")
89240
+ uriString = (options.scheme ? options.scheme + ":" : "") + "//" + uriString;
89241
+ var matches = uriString.match(URI_PARSE);
89242
+ if (matches) {
89243
+ if (NO_MATCH_IS_UNDEFINED) {
89244
+ components.scheme = matches[1];
89245
+ components.userinfo = matches[3];
89246
+ components.host = matches[4];
89247
+ components.port = parseInt(matches[5], 10);
89248
+ components.path = matches[6] || "";
89249
+ components.query = matches[7];
89250
+ components.fragment = matches[8];
89251
+ if (isNaN(components.port)) {
89252
+ components.port = matches[5];
89253
+ }
89254
+ } else {
89255
+ components.scheme = matches[1] || void 0;
89256
+ components.userinfo = uriString.indexOf("@") !== -1 ? matches[3] : void 0;
89257
+ components.host = uriString.indexOf("//") !== -1 ? matches[4] : void 0;
89258
+ components.port = parseInt(matches[5], 10);
89259
+ components.path = matches[6] || "";
89260
+ components.query = uriString.indexOf("?") !== -1 ? matches[7] : void 0;
89261
+ components.fragment = uriString.indexOf("#") !== -1 ? matches[8] : void 0;
89262
+ if (isNaN(components.port)) {
89263
+ components.port = uriString.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/) ? matches[4] : void 0;
89264
+ }
89265
+ }
89266
+ if (components.host) {
89267
+ components.host = _normalizeIPv6(_normalizeIPv4(components.host, protocol), protocol);
89268
+ }
89269
+ if (components.scheme === void 0 && components.userinfo === void 0 && components.host === void 0 && components.port === void 0 && !components.path && components.query === void 0) {
89270
+ components.reference = "same-document";
89271
+ } else if (components.scheme === void 0) {
89272
+ components.reference = "relative";
89273
+ } else if (components.fragment === void 0) {
89274
+ components.reference = "absolute";
89275
+ } else {
89276
+ components.reference = "uri";
89277
+ }
89278
+ if (options.reference && options.reference !== "suffix" && options.reference !== components.reference) {
89279
+ components.error = components.error || "URI is not a " + options.reference + " reference.";
89280
+ }
89281
+ var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()];
89282
+ if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
89283
+ if (components.host && (options.domainHost || schemeHandler && schemeHandler.domainHost)) {
89284
+ try {
89285
+ components.host = punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase());
89286
+ } catch (e) {
89287
+ components.error = components.error || "Host's domain name can not be converted to ASCII via punycode: " + e;
89288
+ }
89289
+ }
89290
+ _normalizeComponentEncoding(components, URI_PROTOCOL);
89291
+ } else {
89292
+ _normalizeComponentEncoding(components, protocol);
89293
+ }
89294
+ if (schemeHandler && schemeHandler.parse) {
89295
+ schemeHandler.parse(components, options);
89296
+ }
89297
+ } else {
89298
+ components.error = components.error || "URI can not be parsed.";
88947
89299
  }
88948
- uriTokens.push(host);
88949
- }
88950
- if (typeof components.port === "number" || typeof components.port === "string") {
88951
- uriTokens.push(":");
88952
- uriTokens.push(String(components.port));
88953
- }
88954
- return uriTokens.length ? uriTokens.join("") : void 0;
88955
- }
88956
- module2.exports = {
88957
- recomposeAuthority,
88958
- normalizeComponentEncoding,
88959
- removeDotSegments,
88960
- normalizeIPv4,
88961
- normalizeIPv6,
88962
- stringToHexStripped
88963
- };
88964
- }
88965
- });
88966
-
88967
- // node_modules/fast-uri/lib/schemes.js
88968
- var require_schemes = __commonJS({
88969
- "node_modules/fast-uri/lib/schemes.js"(exports2, module2) {
88970
- "use strict";
88971
- var UUID_REG = /^[\da-f]{8}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{4}\b-[\da-f]{12}$/iu;
88972
- var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
88973
- function isSecure(wsComponents) {
88974
- return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss";
88975
- }
88976
- function httpParse(components) {
88977
- if (!components.host) {
88978
- components.error = components.error || "HTTP URIs must have a host.";
89300
+ return components;
88979
89301
  }
88980
- return components;
88981
- }
88982
- function httpSerialize(components) {
88983
- const secure = String(components.scheme).toLowerCase() === "https";
88984
- if (components.port === (secure ? 443 : 80) || components.port === "") {
88985
- components.port = void 0;
89302
+ function _recomposeAuthority(components, options) {
89303
+ var protocol = options.iri !== false ? IRI_PROTOCOL : URI_PROTOCOL;
89304
+ var uriTokens = [];
89305
+ if (components.userinfo !== void 0) {
89306
+ uriTokens.push(components.userinfo);
89307
+ uriTokens.push("@");
89308
+ }
89309
+ if (components.host !== void 0) {
89310
+ uriTokens.push(_normalizeIPv6(_normalizeIPv4(String(components.host), protocol), protocol).replace(protocol.IPV6ADDRESS, function(_, $1, $2) {
89311
+ return "[" + $1 + ($2 ? "%25" + $2 : "") + "]";
89312
+ }));
89313
+ }
89314
+ if (typeof components.port === "number" || typeof components.port === "string") {
89315
+ uriTokens.push(":");
89316
+ uriTokens.push(String(components.port));
89317
+ }
89318
+ return uriTokens.length ? uriTokens.join("") : void 0;
88986
89319
  }
88987
- if (!components.path) {
88988
- components.path = "/";
89320
+ var RDS1 = /^\.\.?\//;
89321
+ var RDS2 = /^\/\.(\/|$)/;
89322
+ var RDS3 = /^\/\.\.(\/|$)/;
89323
+ var RDS5 = /^\/?(?:.|\n)*?(?=\/|$)/;
89324
+ function removeDotSegments(input) {
89325
+ var output = [];
89326
+ while (input.length) {
89327
+ if (input.match(RDS1)) {
89328
+ input = input.replace(RDS1, "");
89329
+ } else if (input.match(RDS2)) {
89330
+ input = input.replace(RDS2, "/");
89331
+ } else if (input.match(RDS3)) {
89332
+ input = input.replace(RDS3, "/");
89333
+ output.pop();
89334
+ } else if (input === "." || input === "..") {
89335
+ input = "";
89336
+ } else {
89337
+ var im = input.match(RDS5);
89338
+ if (im) {
89339
+ var s = im[0];
89340
+ input = input.slice(s.length);
89341
+ output.push(s);
89342
+ } else {
89343
+ throw new Error("Unexpected dot segment condition");
89344
+ }
89345
+ }
89346
+ }
89347
+ return output.join("");
88989
89348
  }
88990
- return components;
88991
- }
88992
- function wsParse(wsComponents) {
88993
- wsComponents.secure = isSecure(wsComponents);
88994
- wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : "");
88995
- wsComponents.path = void 0;
88996
- wsComponents.query = void 0;
88997
- return wsComponents;
88998
- }
88999
- function wsSerialize(wsComponents) {
89000
- if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") {
89001
- wsComponents.port = void 0;
89002
- }
89003
- if (typeof wsComponents.secure === "boolean") {
89004
- wsComponents.scheme = wsComponents.secure ? "wss" : "ws";
89005
- wsComponents.secure = void 0;
89006
- }
89007
- if (wsComponents.resourceName) {
89008
- const [path, query] = wsComponents.resourceName.split("?");
89009
- wsComponents.path = path && path !== "/" ? path : void 0;
89010
- wsComponents.query = query;
89011
- wsComponents.resourceName = void 0;
89012
- }
89013
- wsComponents.fragment = void 0;
89014
- return wsComponents;
89015
- }
89016
- function urnParse(urnComponents, options) {
89017
- if (!urnComponents.path) {
89018
- urnComponents.error = "URN can not be parsed";
89019
- return urnComponents;
89020
- }
89021
- const matches = urnComponents.path.match(URN_REG);
89022
- if (matches) {
89023
- const scheme = options.scheme || urnComponents.scheme || "urn";
89024
- urnComponents.nid = matches[1].toLowerCase();
89025
- urnComponents.nss = matches[2];
89026
- const urnScheme = `${scheme}:${options.nid || urnComponents.nid}`;
89027
- const schemeHandler = SCHEMES[urnScheme];
89028
- urnComponents.path = void 0;
89029
- if (schemeHandler) {
89030
- urnComponents = schemeHandler.parse(urnComponents, options);
89349
+ function serialize(components) {
89350
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
89351
+ var protocol = options.iri ? IRI_PROTOCOL : URI_PROTOCOL;
89352
+ var uriTokens = [];
89353
+ var schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()];
89354
+ if (schemeHandler && schemeHandler.serialize)
89355
+ schemeHandler.serialize(components, options);
89356
+ if (components.host) {
89357
+ if (protocol.IPV6ADDRESS.test(components.host)) {
89358
+ } else if (options.domainHost || schemeHandler && schemeHandler.domainHost) {
89359
+ try {
89360
+ components.host = !options.iri ? punycode.toASCII(components.host.replace(protocol.PCT_ENCODED, pctDecChars).toLowerCase()) : punycode.toUnicode(components.host);
89361
+ } catch (e) {
89362
+ components.error = components.error || "Host's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e;
89363
+ }
89364
+ }
89031
89365
  }
89032
- } else {
89033
- urnComponents.error = urnComponents.error || "URN can not be parsed.";
89034
- }
89035
- return urnComponents;
89036
- }
89037
- function urnSerialize(urnComponents, options) {
89038
- const scheme = options.scheme || urnComponents.scheme || "urn";
89039
- const nid = urnComponents.nid.toLowerCase();
89040
- const urnScheme = `${scheme}:${options.nid || nid}`;
89041
- const schemeHandler = SCHEMES[urnScheme];
89042
- if (schemeHandler) {
89043
- urnComponents = schemeHandler.serialize(urnComponents, options);
89044
- }
89045
- const uriComponents = urnComponents;
89046
- const nss = urnComponents.nss;
89047
- uriComponents.path = `${nid || options.nid}:${nss}`;
89048
- options.skipEscape = true;
89049
- return uriComponents;
89050
- }
89051
- function urnuuidParse(urnComponents, options) {
89052
- const uuidComponents = urnComponents;
89053
- uuidComponents.uuid = uuidComponents.nss;
89054
- uuidComponents.nss = void 0;
89055
- if (!options.tolerant && (!uuidComponents.uuid || !UUID_REG.test(uuidComponents.uuid))) {
89056
- uuidComponents.error = uuidComponents.error || "UUID is not valid.";
89057
- }
89058
- return uuidComponents;
89059
- }
89060
- function urnuuidSerialize(uuidComponents) {
89061
- const urnComponents = uuidComponents;
89062
- urnComponents.nss = (uuidComponents.uuid || "").toLowerCase();
89063
- return urnComponents;
89064
- }
89065
- var http = {
89066
- scheme: "http",
89067
- domainHost: true,
89068
- parse: httpParse,
89069
- serialize: httpSerialize
89070
- };
89071
- var https = {
89072
- scheme: "https",
89073
- domainHost: http.domainHost,
89074
- parse: httpParse,
89075
- serialize: httpSerialize
89076
- };
89077
- var ws = {
89078
- scheme: "ws",
89079
- domainHost: true,
89080
- parse: wsParse,
89081
- serialize: wsSerialize
89082
- };
89083
- var wss = {
89084
- scheme: "wss",
89085
- domainHost: ws.domainHost,
89086
- parse: ws.parse,
89087
- serialize: ws.serialize
89088
- };
89089
- var urn = {
89090
- scheme: "urn",
89091
- parse: urnParse,
89092
- serialize: urnSerialize,
89093
- skipNormalize: true
89094
- };
89095
- var urnuuid = {
89096
- scheme: "urn:uuid",
89097
- parse: urnuuidParse,
89098
- serialize: urnuuidSerialize,
89099
- skipNormalize: true
89100
- };
89101
- var SCHEMES = {
89102
- http,
89103
- https,
89104
- ws,
89105
- wss,
89106
- urn,
89107
- "urn:uuid": urnuuid
89108
- };
89109
- module2.exports = SCHEMES;
89110
- }
89111
- });
89112
-
89113
- // node_modules/fast-uri/index.js
89114
- var require_fast_uri = __commonJS({
89115
- "node_modules/fast-uri/index.js"(exports2, module2) {
89116
- "use strict";
89117
- var URL2 = require("node:url");
89118
- var { normalizeIPv6, normalizeIPv4, removeDotSegments, recomposeAuthority, normalizeComponentEncoding } = require_utils2();
89119
- var SCHEMES = require_schemes();
89120
- function normalize(uri, options) {
89121
- if (typeof uri === "string") {
89122
- uri = serialize(parse(uri, options), options);
89123
- } else if (typeof uri === "object") {
89124
- uri = parse(serialize(uri, options), options);
89125
- }
89126
- return uri;
89127
- }
89128
- function resolve(baseURI, relativeURI, options) {
89129
- const schemelessOptions = Object.assign({ scheme: "null" }, options);
89130
- const resolved = resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
89131
- return serialize(resolved, { ...schemelessOptions, skipEscape: true });
89132
- }
89133
- function resolveComponents(base, relative, options, skipNormalization) {
89134
- const target = {};
89135
- if (!skipNormalization) {
89136
- base = parse(serialize(base, options), options);
89137
- relative = parse(serialize(relative, options), options);
89366
+ _normalizeComponentEncoding(components, protocol);
89367
+ if (options.reference !== "suffix" && components.scheme) {
89368
+ uriTokens.push(components.scheme);
89369
+ uriTokens.push(":");
89370
+ }
89371
+ var authority = _recomposeAuthority(components, options);
89372
+ if (authority !== void 0) {
89373
+ if (options.reference !== "suffix") {
89374
+ uriTokens.push("//");
89375
+ }
89376
+ uriTokens.push(authority);
89377
+ if (components.path && components.path.charAt(0) !== "/") {
89378
+ uriTokens.push("/");
89379
+ }
89380
+ }
89381
+ if (components.path !== void 0) {
89382
+ var s = components.path;
89383
+ if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
89384
+ s = removeDotSegments(s);
89385
+ }
89386
+ if (authority === void 0) {
89387
+ s = s.replace(/^\/\//, "/%2F");
89388
+ }
89389
+ uriTokens.push(s);
89390
+ }
89391
+ if (components.query !== void 0) {
89392
+ uriTokens.push("?");
89393
+ uriTokens.push(components.query);
89394
+ }
89395
+ if (components.fragment !== void 0) {
89396
+ uriTokens.push("#");
89397
+ uriTokens.push(components.fragment);
89398
+ }
89399
+ return uriTokens.join("");
89138
89400
  }
89139
- options = options || {};
89140
- if (!options.tolerant && relative.scheme) {
89141
- target.scheme = relative.scheme;
89142
- target.userinfo = relative.userinfo;
89143
- target.host = relative.host;
89144
- target.port = relative.port;
89145
- target.path = removeDotSegments(relative.path || "");
89146
- target.query = relative.query;
89147
- } else {
89148
- if (relative.userinfo !== void 0 || relative.host !== void 0 || relative.port !== void 0) {
89401
+ function resolveComponents(base2, relative) {
89402
+ var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
89403
+ var skipNormalization = arguments[3];
89404
+ var target = {};
89405
+ if (!skipNormalization) {
89406
+ base2 = parse(serialize(base2, options), options);
89407
+ relative = parse(serialize(relative, options), options);
89408
+ }
89409
+ options = options || {};
89410
+ if (!options.tolerant && relative.scheme) {
89411
+ target.scheme = relative.scheme;
89149
89412
  target.userinfo = relative.userinfo;
89150
89413
  target.host = relative.host;
89151
89414
  target.port = relative.port;
89152
89415
  target.path = removeDotSegments(relative.path || "");
89153
89416
  target.query = relative.query;
89154
89417
  } else {
89155
- if (!relative.path) {
89156
- target.path = base.path;
89157
- if (relative.query !== void 0) {
89158
- target.query = relative.query;
89159
- } else {
89160
- target.query = base.query;
89161
- }
89418
+ if (relative.userinfo !== void 0 || relative.host !== void 0 || relative.port !== void 0) {
89419
+ target.userinfo = relative.userinfo;
89420
+ target.host = relative.host;
89421
+ target.port = relative.port;
89422
+ target.path = removeDotSegments(relative.path || "");
89423
+ target.query = relative.query;
89162
89424
  } else {
89163
- if (relative.path.charAt(0) === "/") {
89164
- target.path = removeDotSegments(relative.path);
89425
+ if (!relative.path) {
89426
+ target.path = base2.path;
89427
+ if (relative.query !== void 0) {
89428
+ target.query = relative.query;
89429
+ } else {
89430
+ target.query = base2.query;
89431
+ }
89165
89432
  } else {
89166
- if ((base.userinfo !== void 0 || base.host !== void 0 || base.port !== void 0) && !base.path) {
89167
- target.path = "/" + relative.path;
89168
- } else if (!base.path) {
89169
- target.path = relative.path;
89433
+ if (relative.path.charAt(0) === "/") {
89434
+ target.path = removeDotSegments(relative.path);
89170
89435
  } else {
89171
- target.path = base.path.slice(0, base.path.lastIndexOf("/") + 1) + relative.path;
89436
+ if ((base2.userinfo !== void 0 || base2.host !== void 0 || base2.port !== void 0) && !base2.path) {
89437
+ target.path = "/" + relative.path;
89438
+ } else if (!base2.path) {
89439
+ target.path = relative.path;
89440
+ } else {
89441
+ target.path = base2.path.slice(0, base2.path.lastIndexOf("/") + 1) + relative.path;
89442
+ }
89443
+ target.path = removeDotSegments(target.path);
89172
89444
  }
89173
- target.path = removeDotSegments(target.path);
89445
+ target.query = relative.query;
89174
89446
  }
89175
- target.query = relative.query;
89447
+ target.userinfo = base2.userinfo;
89448
+ target.host = base2.host;
89449
+ target.port = base2.port;
89176
89450
  }
89177
- target.userinfo = base.userinfo;
89178
- target.host = base.host;
89179
- target.port = base.port;
89180
- }
89181
- target.scheme = base.scheme;
89182
- }
89183
- target.fragment = relative.fragment;
89184
- return target;
89185
- }
89186
- function equal(uriA, uriB, options) {
89187
- if (typeof uriA === "string") {
89188
- uriA = unescape(uriA);
89189
- uriA = serialize(normalizeComponentEncoding(parse(uriA, options), true), { ...options, skipEscape: true });
89190
- } else if (typeof uriA === "object") {
89191
- uriA = serialize(normalizeComponentEncoding(uriA, true), { ...options, skipEscape: true });
89192
- }
89193
- if (typeof uriB === "string") {
89194
- uriB = unescape(uriB);
89195
- uriB = serialize(normalizeComponentEncoding(parse(uriB, options), true), { ...options, skipEscape: true });
89196
- } else if (typeof uriB === "object") {
89197
- uriB = serialize(normalizeComponentEncoding(uriB, true), { ...options, skipEscape: true });
89198
- }
89199
- return uriA.toLowerCase() === uriB.toLowerCase();
89200
- }
89201
- function serialize(cmpts, opts) {
89202
- const components = {
89203
- host: cmpts.host,
89204
- scheme: cmpts.scheme,
89205
- userinfo: cmpts.userinfo,
89206
- port: cmpts.port,
89207
- path: cmpts.path,
89208
- query: cmpts.query,
89209
- nid: cmpts.nid,
89210
- nss: cmpts.nss,
89211
- uuid: cmpts.uuid,
89212
- fragment: cmpts.fragment,
89213
- reference: cmpts.reference,
89214
- resourceName: cmpts.resourceName,
89215
- secure: cmpts.secure,
89216
- error: ""
89217
- };
89218
- const options = Object.assign({}, opts);
89219
- const uriTokens = [];
89220
- const schemeHandler = SCHEMES[(options.scheme || components.scheme || "").toLowerCase()];
89221
- if (schemeHandler && schemeHandler.serialize)
89222
- schemeHandler.serialize(components, options);
89223
- if (components.path !== void 0) {
89224
- if (!options.skipEscape) {
89225
- components.path = escape(components.path);
89226
- if (components.scheme !== void 0) {
89227
- components.path = components.path.split("%3A").join(":");
89228
- }
89229
- } else {
89230
- components.path = unescape(components.path);
89451
+ target.scheme = base2.scheme;
89231
89452
  }
89453
+ target.fragment = relative.fragment;
89454
+ return target;
89232
89455
  }
89233
- if (options.reference !== "suffix" && components.scheme) {
89234
- uriTokens.push(components.scheme);
89235
- uriTokens.push(":");
89456
+ function resolve(baseURI, relativeURI, options) {
89457
+ var schemelessOptions = assign({ scheme: "null" }, options);
89458
+ return serialize(resolveComponents(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true), schemelessOptions);
89236
89459
  }
89237
- const authority = recomposeAuthority(components, options);
89238
- if (authority !== void 0) {
89239
- if (options.reference !== "suffix") {
89240
- uriTokens.push("//");
89241
- }
89242
- uriTokens.push(authority);
89243
- if (components.path && components.path.charAt(0) !== "/") {
89244
- uriTokens.push("/");
89460
+ function normalize(uri, options) {
89461
+ if (typeof uri === "string") {
89462
+ uri = serialize(parse(uri, options), options);
89463
+ } else if (typeOf(uri) === "object") {
89464
+ uri = parse(serialize(uri, options), options);
89245
89465
  }
89466
+ return uri;
89246
89467
  }
89247
- if (components.path !== void 0) {
89248
- let s = components.path;
89249
- if (!options.absolutePath && (!schemeHandler || !schemeHandler.absolutePath)) {
89250
- s = removeDotSegments(s);
89468
+ function equal(uriA, uriB, options) {
89469
+ if (typeof uriA === "string") {
89470
+ uriA = serialize(parse(uriA, options), options);
89471
+ } else if (typeOf(uriA) === "object") {
89472
+ uriA = serialize(uriA, options);
89251
89473
  }
89252
- if (authority === void 0) {
89253
- s = s.replace(/^\/\//u, "/%2F");
89474
+ if (typeof uriB === "string") {
89475
+ uriB = serialize(parse(uriB, options), options);
89476
+ } else if (typeOf(uriB) === "object") {
89477
+ uriB = serialize(uriB, options);
89254
89478
  }
89255
- uriTokens.push(s);
89479
+ return uriA === uriB;
89256
89480
  }
89257
- if (components.query !== void 0) {
89258
- uriTokens.push("?");
89259
- uriTokens.push(components.query);
89481
+ function escapeComponent(str, options) {
89482
+ return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.ESCAPE : IRI_PROTOCOL.ESCAPE, pctEncChar);
89260
89483
  }
89261
- if (components.fragment !== void 0) {
89262
- uriTokens.push("#");
89263
- uriTokens.push(components.fragment);
89484
+ function unescapeComponent(str, options) {
89485
+ return str && str.toString().replace(!options || !options.iri ? URI_PROTOCOL.PCT_ENCODED : IRI_PROTOCOL.PCT_ENCODED, pctDecChars);
89264
89486
  }
89265
- return uriTokens.join("");
89266
- }
89267
- var hexLookUp = Array.from({ length: 127 }, (v, k) => /[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(k)));
89268
- function nonSimpleDomain(value) {
89269
- let code = 0;
89270
- for (let i = 0, len = value.length; i < len; ++i) {
89271
- code = value.charCodeAt(i);
89272
- if (code > 126 || hexLookUp[code]) {
89273
- return true;
89274
- }
89275
- }
89276
- return false;
89277
- }
89278
- var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
89279
- function parse(uri, opts) {
89280
- const options = Object.assign({}, opts);
89281
- const parsed = {
89282
- scheme: void 0,
89283
- userinfo: void 0,
89284
- host: "",
89285
- port: void 0,
89286
- path: "",
89287
- query: void 0,
89288
- fragment: void 0
89289
- };
89290
- const gotEncoding = uri.indexOf("%") !== -1;
89291
- if (options.reference === "suffix")
89292
- uri = (options.scheme ? options.scheme + ":" : "") + "//" + uri;
89293
- const matches = uri.match(URI_PARSE);
89294
- if (matches) {
89295
- parsed.scheme = matches[1];
89296
- parsed.userinfo = matches[3];
89297
- parsed.host = matches[4];
89298
- parsed.port = parseInt(matches[5], 10);
89299
- parsed.path = matches[6] || "";
89300
- parsed.query = matches[7];
89301
- parsed.fragment = matches[8];
89302
- if (isNaN(parsed.port)) {
89303
- parsed.port = matches[5];
89304
- }
89305
- if (parsed.host) {
89306
- const ipv4result = normalizeIPv4(parsed.host);
89307
- if (ipv4result.isIPV4 === false) {
89308
- parsed.host = normalizeIPv6(ipv4result.host, { isIPV4: false }).host.toLowerCase();
89309
- } else {
89310
- parsed.host = ipv4result.host;
89487
+ var handler = {
89488
+ scheme: "http",
89489
+ domainHost: true,
89490
+ parse: function parse2(components, options) {
89491
+ if (!components.host) {
89492
+ components.error = components.error || "HTTP URIs must have a host.";
89311
89493
  }
89494
+ return components;
89495
+ },
89496
+ serialize: function serialize2(components, options) {
89497
+ var secure = String(components.scheme).toLowerCase() === "https";
89498
+ if (components.port === (secure ? 443 : 80) || components.port === "") {
89499
+ components.port = void 0;
89500
+ }
89501
+ if (!components.path) {
89502
+ components.path = "/";
89503
+ }
89504
+ return components;
89312
89505
  }
89313
- if (parsed.scheme === void 0 && parsed.userinfo === void 0 && parsed.host === void 0 && parsed.port === void 0 && !parsed.path && parsed.query === void 0) {
89314
- parsed.reference = "same-document";
89315
- } else if (parsed.scheme === void 0) {
89316
- parsed.reference = "relative";
89317
- } else if (parsed.fragment === void 0) {
89318
- parsed.reference = "absolute";
89319
- } else {
89320
- parsed.reference = "uri";
89321
- }
89322
- if (options.reference && options.reference !== "suffix" && options.reference !== parsed.reference) {
89323
- parsed.error = parsed.error || "URI is not a " + options.reference + " reference.";
89506
+ };
89507
+ var handler$1 = {
89508
+ scheme: "https",
89509
+ domainHost: handler.domainHost,
89510
+ parse: handler.parse,
89511
+ serialize: handler.serialize
89512
+ };
89513
+ function isSecure(wsComponents) {
89514
+ return typeof wsComponents.secure === "boolean" ? wsComponents.secure : String(wsComponents.scheme).toLowerCase() === "wss";
89515
+ }
89516
+ var handler$2 = {
89517
+ scheme: "ws",
89518
+ domainHost: true,
89519
+ parse: function parse2(components, options) {
89520
+ var wsComponents = components;
89521
+ wsComponents.secure = isSecure(wsComponents);
89522
+ wsComponents.resourceName = (wsComponents.path || "/") + (wsComponents.query ? "?" + wsComponents.query : "");
89523
+ wsComponents.path = void 0;
89524
+ wsComponents.query = void 0;
89525
+ return wsComponents;
89526
+ },
89527
+ serialize: function serialize2(wsComponents, options) {
89528
+ if (wsComponents.port === (isSecure(wsComponents) ? 443 : 80) || wsComponents.port === "") {
89529
+ wsComponents.port = void 0;
89530
+ }
89531
+ if (typeof wsComponents.secure === "boolean") {
89532
+ wsComponents.scheme = wsComponents.secure ? "wss" : "ws";
89533
+ wsComponents.secure = void 0;
89534
+ }
89535
+ if (wsComponents.resourceName) {
89536
+ var _wsComponents$resourc = wsComponents.resourceName.split("?"), _wsComponents$resourc2 = slicedToArray(_wsComponents$resourc, 2), path = _wsComponents$resourc2[0], query = _wsComponents$resourc2[1];
89537
+ wsComponents.path = path && path !== "/" ? path : void 0;
89538
+ wsComponents.query = query;
89539
+ wsComponents.resourceName = void 0;
89540
+ }
89541
+ wsComponents.fragment = void 0;
89542
+ return wsComponents;
89324
89543
  }
89325
- const schemeHandler = SCHEMES[(options.scheme || parsed.scheme || "").toLowerCase()];
89326
- if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
89327
- if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && nonSimpleDomain(parsed.host)) {
89328
- try {
89329
- parsed.host = URL2.domainToASCII(parsed.host.toLowerCase());
89330
- } catch (e) {
89331
- parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e;
89544
+ };
89545
+ var handler$3 = {
89546
+ scheme: "wss",
89547
+ domainHost: handler$2.domainHost,
89548
+ parse: handler$2.parse,
89549
+ serialize: handler$2.serialize
89550
+ };
89551
+ var O = {};
89552
+ var isIRI = true;
89553
+ var UNRESERVED$$ = "[A-Za-z0-9\\-\\.\\_\\~" + (isIRI ? "\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF" : "") + "]";
89554
+ var HEXDIG$$ = "[0-9A-Fa-f]";
89555
+ var PCT_ENCODED$ = subexp(subexp("%[EFef]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%[89A-Fa-f]" + HEXDIG$$ + "%" + HEXDIG$$ + HEXDIG$$) + "|" + subexp("%" + HEXDIG$$ + HEXDIG$$));
89556
+ var ATEXT$$ = "[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]";
89557
+ var QTEXT$$ = "[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]";
89558
+ var VCHAR$$ = merge(QTEXT$$, '[\\"\\\\]');
89559
+ var SOME_DELIMS$$ = "[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]";
89560
+ var UNRESERVED = new RegExp(UNRESERVED$$, "g");
89561
+ var PCT_ENCODED = new RegExp(PCT_ENCODED$, "g");
89562
+ var NOT_LOCAL_PART = new RegExp(merge("[^]", ATEXT$$, "[\\.]", '[\\"]', VCHAR$$), "g");
89563
+ var NOT_HFNAME = new RegExp(merge("[^]", UNRESERVED$$, SOME_DELIMS$$), "g");
89564
+ var NOT_HFVALUE = NOT_HFNAME;
89565
+ function decodeUnreserved(str) {
89566
+ var decStr = pctDecChars(str);
89567
+ return !decStr.match(UNRESERVED) ? str : decStr;
89568
+ }
89569
+ var handler$4 = {
89570
+ scheme: "mailto",
89571
+ parse: function parse$$1(components, options) {
89572
+ var mailtoComponents = components;
89573
+ var to = mailtoComponents.to = mailtoComponents.path ? mailtoComponents.path.split(",") : [];
89574
+ mailtoComponents.path = void 0;
89575
+ if (mailtoComponents.query) {
89576
+ var unknownHeaders = false;
89577
+ var headers = {};
89578
+ var hfields = mailtoComponents.query.split("&");
89579
+ for (var x = 0, xl = hfields.length; x < xl; ++x) {
89580
+ var hfield = hfields[x].split("=");
89581
+ switch (hfield[0]) {
89582
+ case "to":
89583
+ var toAddrs = hfield[1].split(",");
89584
+ for (var _x = 0, _xl = toAddrs.length; _x < _xl; ++_x) {
89585
+ to.push(toAddrs[_x]);
89586
+ }
89587
+ break;
89588
+ case "subject":
89589
+ mailtoComponents.subject = unescapeComponent(hfield[1], options);
89590
+ break;
89591
+ case "body":
89592
+ mailtoComponents.body = unescapeComponent(hfield[1], options);
89593
+ break;
89594
+ default:
89595
+ unknownHeaders = true;
89596
+ headers[unescapeComponent(hfield[0], options)] = unescapeComponent(hfield[1], options);
89597
+ break;
89598
+ }
89332
89599
  }
89600
+ if (unknownHeaders)
89601
+ mailtoComponents.headers = headers;
89333
89602
  }
89334
- }
89335
- if (!schemeHandler || schemeHandler && !schemeHandler.skipNormalize) {
89336
- if (gotEncoding && parsed.scheme !== void 0) {
89337
- parsed.scheme = unescape(parsed.scheme);
89603
+ mailtoComponents.query = void 0;
89604
+ for (var _x2 = 0, _xl2 = to.length; _x2 < _xl2; ++_x2) {
89605
+ var addr = to[_x2].split("@");
89606
+ addr[0] = unescapeComponent(addr[0]);
89607
+ if (!options.unicodeSupport) {
89608
+ try {
89609
+ addr[1] = punycode.toASCII(unescapeComponent(addr[1], options).toLowerCase());
89610
+ } catch (e) {
89611
+ mailtoComponents.error = mailtoComponents.error || "Email address's domain name can not be converted to ASCII via punycode: " + e;
89612
+ }
89613
+ } else {
89614
+ addr[1] = unescapeComponent(addr[1], options).toLowerCase();
89615
+ }
89616
+ to[_x2] = addr.join("@");
89338
89617
  }
89339
- if (gotEncoding && parsed.userinfo !== void 0) {
89340
- parsed.userinfo = unescape(parsed.userinfo);
89618
+ return mailtoComponents;
89619
+ },
89620
+ serialize: function serialize$$1(mailtoComponents, options) {
89621
+ var components = mailtoComponents;
89622
+ var to = toArray(mailtoComponents.to);
89623
+ if (to) {
89624
+ for (var x = 0, xl = to.length; x < xl; ++x) {
89625
+ var toAddr = String(to[x]);
89626
+ var atIdx = toAddr.lastIndexOf("@");
89627
+ var localPart = toAddr.slice(0, atIdx).replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_LOCAL_PART, pctEncChar);
89628
+ var domain = toAddr.slice(atIdx + 1);
89629
+ try {
89630
+ domain = !options.iri ? punycode.toASCII(unescapeComponent(domain, options).toLowerCase()) : punycode.toUnicode(domain);
89631
+ } catch (e) {
89632
+ components.error = components.error || "Email address's domain name can not be converted to " + (!options.iri ? "ASCII" : "Unicode") + " via punycode: " + e;
89633
+ }
89634
+ to[x] = localPart + "@" + domain;
89635
+ }
89636
+ components.path = to.join(",");
89341
89637
  }
89342
- if (gotEncoding && parsed.host !== void 0) {
89343
- parsed.host = unescape(parsed.host);
89638
+ var headers = mailtoComponents.headers = mailtoComponents.headers || {};
89639
+ if (mailtoComponents.subject)
89640
+ headers["subject"] = mailtoComponents.subject;
89641
+ if (mailtoComponents.body)
89642
+ headers["body"] = mailtoComponents.body;
89643
+ var fields = [];
89644
+ for (var name in headers) {
89645
+ if (headers[name] !== O[name]) {
89646
+ fields.push(name.replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFNAME, pctEncChar) + "=" + headers[name].replace(PCT_ENCODED, decodeUnreserved).replace(PCT_ENCODED, toUpperCase).replace(NOT_HFVALUE, pctEncChar));
89647
+ }
89344
89648
  }
89345
- if (parsed.path !== void 0 && parsed.path.length) {
89346
- parsed.path = encodeURI(parsed.path);
89649
+ if (fields.length) {
89650
+ components.query = fields.join("&");
89347
89651
  }
89348
- if (parsed.fragment !== void 0 && parsed.fragment.length) {
89349
- parsed.fragment = encodeURI(decodeURI(parsed.fragment));
89652
+ return components;
89653
+ }
89654
+ };
89655
+ var URN_PARSE = /^([^\:]+)\:(.*)/;
89656
+ var handler$5 = {
89657
+ scheme: "urn",
89658
+ parse: function parse$$1(components, options) {
89659
+ var matches = components.path && components.path.match(URN_PARSE);
89660
+ var urnComponents = components;
89661
+ if (matches) {
89662
+ var scheme = options.scheme || urnComponents.scheme || "urn";
89663
+ var nid = matches[1].toLowerCase();
89664
+ var nss = matches[2];
89665
+ var urnScheme = scheme + ":" + (options.nid || nid);
89666
+ var schemeHandler = SCHEMES[urnScheme];
89667
+ urnComponents.nid = nid;
89668
+ urnComponents.nss = nss;
89669
+ urnComponents.path = void 0;
89670
+ if (schemeHandler) {
89671
+ urnComponents = schemeHandler.parse(urnComponents, options);
89672
+ }
89673
+ } else {
89674
+ urnComponents.error = urnComponents.error || "URN can not be parsed.";
89350
89675
  }
89676
+ return urnComponents;
89677
+ },
89678
+ serialize: function serialize$$1(urnComponents, options) {
89679
+ var scheme = options.scheme || urnComponents.scheme || "urn";
89680
+ var nid = urnComponents.nid;
89681
+ var urnScheme = scheme + ":" + (options.nid || nid);
89682
+ var schemeHandler = SCHEMES[urnScheme];
89683
+ if (schemeHandler) {
89684
+ urnComponents = schemeHandler.serialize(urnComponents, options);
89685
+ }
89686
+ var uriComponents = urnComponents;
89687
+ var nss = urnComponents.nss;
89688
+ uriComponents.path = (nid || options.nid) + ":" + nss;
89689
+ return uriComponents;
89351
89690
  }
89352
- if (schemeHandler && schemeHandler.parse) {
89353
- schemeHandler.parse(parsed, options);
89691
+ };
89692
+ var UUID = /^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/;
89693
+ var handler$6 = {
89694
+ scheme: "urn:uuid",
89695
+ parse: function parse2(urnComponents, options) {
89696
+ var uuidComponents = urnComponents;
89697
+ uuidComponents.uuid = uuidComponents.nss;
89698
+ uuidComponents.nss = void 0;
89699
+ if (!options.tolerant && (!uuidComponents.uuid || !uuidComponents.uuid.match(UUID))) {
89700
+ uuidComponents.error = uuidComponents.error || "UUID is not valid.";
89701
+ }
89702
+ return uuidComponents;
89703
+ },
89704
+ serialize: function serialize2(uuidComponents, options) {
89705
+ var urnComponents = uuidComponents;
89706
+ urnComponents.nss = (uuidComponents.uuid || "").toLowerCase();
89707
+ return urnComponents;
89354
89708
  }
89355
- } else {
89356
- parsed.error = parsed.error || "URI can not be parsed.";
89357
- }
89358
- return parsed;
89359
- }
89360
- var fastUri = {
89361
- normalize,
89362
- resolve,
89363
- resolveComponents,
89364
- equal,
89365
- serialize,
89366
- parse
89367
- };
89368
- module2.exports = fastUri;
89369
- module2.exports.default = fastUri;
89370
- module2.exports.fastUri = fastUri;
89709
+ };
89710
+ SCHEMES[handler.scheme] = handler;
89711
+ SCHEMES[handler$1.scheme] = handler$1;
89712
+ SCHEMES[handler$2.scheme] = handler$2;
89713
+ SCHEMES[handler$3.scheme] = handler$3;
89714
+ SCHEMES[handler$4.scheme] = handler$4;
89715
+ SCHEMES[handler$5.scheme] = handler$5;
89716
+ SCHEMES[handler$6.scheme] = handler$6;
89717
+ exports3.SCHEMES = SCHEMES;
89718
+ exports3.pctEncChar = pctEncChar;
89719
+ exports3.pctDecChars = pctDecChars;
89720
+ exports3.parse = parse;
89721
+ exports3.removeDotSegments = removeDotSegments;
89722
+ exports3.serialize = serialize;
89723
+ exports3.resolveComponents = resolveComponents;
89724
+ exports3.resolve = resolve;
89725
+ exports3.normalize = normalize;
89726
+ exports3.equal = equal;
89727
+ exports3.escapeComponent = escapeComponent;
89728
+ exports3.unescapeComponent = unescapeComponent;
89729
+ Object.defineProperty(exports3, "__esModule", { value: true });
89730
+ });
89371
89731
  }
89372
89732
  });
89373
89733
 
@@ -89376,7 +89736,7 @@ var require_uri2 = __commonJS({
89376
89736
  "node_modules/ajv/dist/runtime/uri.js"(exports2) {
89377
89737
  "use strict";
89378
89738
  Object.defineProperty(exports2, "__esModule", { value: true });
89379
- var uri = require_fast_uri();
89739
+ var uri = require_uri_all();
89380
89740
  uri.code = 'require("ajv/dist/runtime/uri").default';
89381
89741
  exports2.default = uri;
89382
89742
  }
@@ -93273,7 +93633,7 @@ var require_sfProject = __commonJS({
93273
93633
  var messages = new messages_12.Messages("@salesforce/core-bundle", "config", /* @__PURE__ */ new Map([["unknownConfigKey", "Unknown config name: %s."], ["deprecatedConfigKey", "Deprecated config name: %s. Please use %s instead."], ["invalidWrite", "The writeSync method is not allowed on SfdxConfig. Use the async write method instead."], ["invalidConfigValue", "Invalid config value: %s."], ["invalidInstanceUrl", "Specify a valid Salesforce instance URL."], ["invalidApiVersion", "Specify a valid Salesforce API version, for example, 42.0."], ["invalidCustomOrgMetadataTemplates", "Specify a valid repository URL or directory for the custom org metadata templates."], ["invalidIsvDebuggerSid", "Specify a valid Debugger SID."], ["invalidIsvDebuggerUrl", "Specify a valid Debugger URL."], ["invalidNumberConfigValue", "Specify a valid positive integer, for example, 150000."], ["invalidBooleanConfigValue", "The config value can only be set to true or false."], ["invalidProjectWorkspace", "This directory does not contain a valid Salesforce DX project."], ["schemaValidationError", 'The config file "%s" is not schema valid.\nDue to: %s'], ["schemaValidationError.actions", ["Fix the invalid entries at %s."]], ["missingDefaultPath", 'In sfdx-project.json, be sure to specify which package directory (path) is the default. Example: `[{ "path": "packageDirectory1", "default": true }, { "path": "packageDirectory2" }]`'], ["missingPackageDirectory", 'The path "%s", specified in sfdx-project.json, does not exist. Be sure this directory is included in your project root.'], ["invalidPackageDirectory", 'The path "%s", specified in sfdx-project.json, must be indicated as a relative path to the project root.'], ["multipleDefaultPaths", "In sfdx-project.json, indicate only one package directory (path) as the default."], ["singleNonDefaultPackage", 'The sfdx-project.json file must include one, and only one, default package directory (path). Because your sfdx-project.json file contains only one package directory, it must be the default. Remove the `"default": false` key and try again.'], ["target-org", "Username or alias of the org that all commands run against by default. (sf only)"], ["target-dev-hub", "Username or alias of your default Dev Hub org. (sf only)"], ["defaultUsername", "Username or alias of the org that all commands run against by default. (sfdx only)"], ["defaultDevHubUsername", "Username or alias of your default Dev Hub org. (sfdx only)"], ["isvDebuggerSid", "ISV debugger SID (sfdx only)"], ["isvDebuggerUrl", "ISV debugger URL (sfdx only)"], ["org-isv-debugger-sid", "ISV debugger SID."], ["org-isv-debugger-url", "ISV debugger URL."], ["apiVersion", "API version of your project. Default: API version of your Dev Hub org. (sfdx only)"], ["org-api-version", "API version of your project. Default: API version of your Dev Hub org."], ["disableTelemetry", "Disables the collection of usage and user environment information, etc. Default: false. (sfdx only)"], ["disable-telemetry", "Disables the collection of usage and user environment information, etc. Default: false."], ["maxQueryLimit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000. (sfdx only)"], ["org-max-query-limit", "Maximum number of Salesforce records returned by a CLI command. Default: 10,000."], ["restDeploy", "Whether deployments use the Metadata REST API (true) or SOAP API (false, default value). (sfdx only)"], ["instanceUrl", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com. (sfdx only)"], ["org-instance-url", "URL of the Salesforce instance hosting your org. Default: https://login.salesforce.com."], ["customOrgMetadataTemplates", "A valid repository URL or directory for the custom org metadata templates."], ["org-custom-metadata-templates", "A valid repository URL or directory for the custom org metadata templates."], ["org-capitalize-record-types", "Whether record types are capitalized on scratch org creation."], ["invalidId", "The given id %s is not a valid 15 or 18 character Salesforce ID."]]));
93274
93634
  var SfProjectJson = class _SfProjectJson extends configFile_12.ConfigFile {
93275
93635
  /** json properties that are uppercase, or allow uppercase keys inside them */
93276
- static BLOCKLIST = ["packageAliases"];
93636
+ static BLOCKLIST = ["packageAliases", "plugins"];
93277
93637
  static getFileName() {
93278
93638
  return internal_1.SFDX_PROJECT_JSON;
93279
93639
  }
@@ -96525,7 +96885,7 @@ var require_main = __commonJS({
96525
96885
  });
96526
96886
 
96527
96887
  // node_modules/js2xmlparser/lib/utils.js
96528
- var require_utils3 = __commonJS({
96888
+ var require_utils2 = __commonJS({
96529
96889
  "node_modules/js2xmlparser/lib/utils.js"(exports2) {
96530
96890
  "use strict";
96531
96891
  Object.defineProperty(exports2, "__esModule", { value: true });
@@ -96576,7 +96936,7 @@ var require_options2 = __commonJS({
96576
96936
  "use strict";
96577
96937
  Object.defineProperty(exports2, "__esModule", { value: true });
96578
96938
  exports2.WrapHandlers = exports2.TypeHandlers = exports2.FormatOptions = exports2.DtdOptions = exports2.DeclarationOptions = exports2.Options = void 0;
96579
- var utils_1 = require_utils3();
96939
+ var utils_1 = require_utils2();
96580
96940
  var Options = (
96581
96941
  /** @class */
96582
96942
  /* @__PURE__ */ function() {
@@ -96728,7 +97088,7 @@ var require_main2 = __commonJS({
96728
97088
  exports2.parse = exports2.parseToExistingElement = exports2.Absent = void 0;
96729
97089
  var xmlcreate_1 = require_main();
96730
97090
  var options_1 = require_options2();
96731
- var utils_1 = require_utils3();
97091
+ var utils_1 = require_utils2();
96732
97092
  var Absent = (
96733
97093
  /** @class */
96734
97094
  function() {
@@ -99047,7 +99407,7 @@ var require_support = __commonJS({
99047
99407
  var require_base64 = __commonJS({
99048
99408
  "node_modules/jszip/lib/base64.js"(exports2) {
99049
99409
  "use strict";
99050
- var utils = require_utils4();
99410
+ var utils = require_utils3();
99051
99411
  var support = require_support();
99052
99412
  var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
99053
99413
  exports2.encode = function(input) {
@@ -99685,7 +100045,7 @@ var require_setImmediate = __commonJS({
99685
100045
  });
99686
100046
 
99687
100047
  // node_modules/jszip/lib/utils.js
99688
- var require_utils4 = __commonJS({
100048
+ var require_utils3 = __commonJS({
99689
100049
  "node_modules/jszip/lib/utils.js"(exports2) {
99690
100050
  "use strict";
99691
100051
  var support = require_support();
@@ -100240,7 +100600,7 @@ var require_GenericWorker = __commonJS({
100240
100600
  var require_utf8 = __commonJS({
100241
100601
  "node_modules/jszip/lib/utf8.js"(exports2) {
100242
100602
  "use strict";
100243
- var utils = require_utils4();
100603
+ var utils = require_utils3();
100244
100604
  var support = require_support();
100245
100605
  var nodejsUtils = require_nodejsUtils();
100246
100606
  var GenericWorker = require_GenericWorker();
@@ -100431,7 +100791,7 @@ var require_ConvertWorker = __commonJS({
100431
100791
  "node_modules/jszip/lib/stream/ConvertWorker.js"(exports2, module2) {
100432
100792
  "use strict";
100433
100793
  var GenericWorker = require_GenericWorker();
100434
- var utils = require_utils4();
100794
+ var utils = require_utils3();
100435
100795
  function ConvertWorker(destType) {
100436
100796
  GenericWorker.call(this, "ConvertWorker to " + destType);
100437
100797
  this.destType = destType;
@@ -100452,7 +100812,7 @@ var require_NodejsStreamOutputAdapter = __commonJS({
100452
100812
  "node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js"(exports2, module2) {
100453
100813
  "use strict";
100454
100814
  var Readable = require_readable2().Readable;
100455
- var utils = require_utils4();
100815
+ var utils = require_utils3();
100456
100816
  utils.inherits(NodejsStreamOutputAdapter, Readable);
100457
100817
  function NodejsStreamOutputAdapter(helper, options, updateCb) {
100458
100818
  Readable.call(this, options);
@@ -100482,7 +100842,7 @@ var require_NodejsStreamOutputAdapter = __commonJS({
100482
100842
  var require_StreamHelper = __commonJS({
100483
100843
  "node_modules/jszip/lib/stream/StreamHelper.js"(exports2, module2) {
100484
100844
  "use strict";
100485
- var utils = require_utils4();
100845
+ var utils = require_utils3();
100486
100846
  var ConvertWorker = require_ConvertWorker();
100487
100847
  var GenericWorker = require_GenericWorker();
100488
100848
  var base64 = require_base64();
@@ -100659,7 +101019,7 @@ var require_defaults3 = __commonJS({
100659
101019
  var require_DataWorker = __commonJS({
100660
101020
  "node_modules/jszip/lib/stream/DataWorker.js"(exports2, module2) {
100661
101021
  "use strict";
100662
- var utils = require_utils4();
101022
+ var utils = require_utils3();
100663
101023
  var GenericWorker = require_GenericWorker();
100664
101024
  var DEFAULT_BLOCK_SIZE = 16 * 1024;
100665
101025
  function DataWorker(dataP) {
@@ -100747,7 +101107,7 @@ var require_DataWorker = __commonJS({
100747
101107
  var require_crc32 = __commonJS({
100748
101108
  "node_modules/jszip/lib/crc32.js"(exports2, module2) {
100749
101109
  "use strict";
100750
- var utils = require_utils4();
101110
+ var utils = require_utils3();
100751
101111
  function makeTable() {
100752
101112
  var c, table = [];
100753
101113
  for (var n = 0; n < 256; n++) {
@@ -100796,7 +101156,7 @@ var require_Crc32Probe = __commonJS({
100796
101156
  "use strict";
100797
101157
  var GenericWorker = require_GenericWorker();
100798
101158
  var crc32 = require_crc32();
100799
- var utils = require_utils4();
101159
+ var utils = require_utils3();
100800
101160
  function Crc32Probe() {
100801
101161
  GenericWorker.call(this, "Crc32Probe");
100802
101162
  this.withStreamInfo("crc32", 0);
@@ -100814,7 +101174,7 @@ var require_Crc32Probe = __commonJS({
100814
101174
  var require_DataLengthProbe = __commonJS({
100815
101175
  "node_modules/jszip/lib/stream/DataLengthProbe.js"(exports2, module2) {
100816
101176
  "use strict";
100817
- var utils = require_utils4();
101177
+ var utils = require_utils3();
100818
101178
  var GenericWorker = require_GenericWorker();
100819
101179
  function DataLengthProbe(propName) {
100820
101180
  GenericWorker.call(this, "DataLengthProbe for " + propName);
@@ -105203,7 +105563,7 @@ var require_flate = __commonJS({
105203
105563
  "use strict";
105204
105564
  var USE_TYPEDARRAY = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Uint32Array !== "undefined";
105205
105565
  var pako = require_pako();
105206
- var utils = require_utils4();
105566
+ var utils = require_utils3();
105207
105567
  var GenericWorker = require_GenericWorker();
105208
105568
  var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array";
105209
105569
  exports2.magic = "\b\0";
@@ -105291,7 +105651,7 @@ var require_signature = __commonJS({
105291
105651
  var require_ZipFileWorker = __commonJS({
105292
105652
  "node_modules/jszip/lib/generate/ZipFileWorker.js"(exports2, module2) {
105293
105653
  "use strict";
105294
- var utils = require_utils4();
105654
+ var utils = require_utils3();
105295
105655
  var GenericWorker = require_GenericWorker();
105296
105656
  var utf8 = require_utf8();
105297
105657
  var crc32 = require_crc32();
@@ -105616,7 +105976,7 @@ var require_generate = __commonJS({
105616
105976
  var require_NodejsStreamInputAdapter = __commonJS({
105617
105977
  "node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js"(exports2, module2) {
105618
105978
  "use strict";
105619
- var utils = require_utils4();
105979
+ var utils = require_utils3();
105620
105980
  var GenericWorker = require_GenericWorker();
105621
105981
  function NodejsStreamInputAdapter(filename, stream) {
105622
105982
  GenericWorker.call(this, "Nodejs stream input adapter for " + filename);
@@ -105676,7 +106036,7 @@ var require_object2 = __commonJS({
105676
106036
  "node_modules/jszip/lib/object.js"(exports2, module2) {
105677
106037
  "use strict";
105678
106038
  var utf8 = require_utf8();
105679
- var utils = require_utils4();
106039
+ var utils = require_utils3();
105680
106040
  var GenericWorker = require_GenericWorker();
105681
106041
  var StreamHelper = require_StreamHelper();
105682
106042
  var defaults = require_defaults3();
@@ -105948,7 +106308,7 @@ var require_object2 = __commonJS({
105948
106308
  var require_DataReader = __commonJS({
105949
106309
  "node_modules/jszip/lib/reader/DataReader.js"(exports2, module2) {
105950
106310
  "use strict";
105951
- var utils = require_utils4();
106311
+ var utils = require_utils3();
105952
106312
  function DataReader(data) {
105953
106313
  this.data = data;
105954
106314
  this.length = data.length;
@@ -106071,7 +106431,7 @@ var require_ArrayReader = __commonJS({
106071
106431
  "node_modules/jszip/lib/reader/ArrayReader.js"(exports2, module2) {
106072
106432
  "use strict";
106073
106433
  var DataReader = require_DataReader();
106074
- var utils = require_utils4();
106434
+ var utils = require_utils3();
106075
106435
  function ArrayReader(data) {
106076
106436
  DataReader.call(this, data);
106077
106437
  for (var i = 0; i < this.data.length; i++) {
@@ -106113,7 +106473,7 @@ var require_StringReader = __commonJS({
106113
106473
  "node_modules/jszip/lib/reader/StringReader.js"(exports2, module2) {
106114
106474
  "use strict";
106115
106475
  var DataReader = require_DataReader();
106116
- var utils = require_utils4();
106476
+ var utils = require_utils3();
106117
106477
  function StringReader(data) {
106118
106478
  DataReader.call(this, data);
106119
106479
  }
@@ -106143,7 +106503,7 @@ var require_Uint8ArrayReader = __commonJS({
106143
106503
  "node_modules/jszip/lib/reader/Uint8ArrayReader.js"(exports2, module2) {
106144
106504
  "use strict";
106145
106505
  var ArrayReader = require_ArrayReader();
106146
- var utils = require_utils4();
106506
+ var utils = require_utils3();
106147
106507
  function Uint8ArrayReader(data) {
106148
106508
  ArrayReader.call(this, data);
106149
106509
  }
@@ -106166,7 +106526,7 @@ var require_NodeBufferReader = __commonJS({
106166
106526
  "node_modules/jszip/lib/reader/NodeBufferReader.js"(exports2, module2) {
106167
106527
  "use strict";
106168
106528
  var Uint8ArrayReader = require_Uint8ArrayReader();
106169
- var utils = require_utils4();
106529
+ var utils = require_utils3();
106170
106530
  function NodeBufferReader(data) {
106171
106531
  Uint8ArrayReader.call(this, data);
106172
106532
  }
@@ -106185,7 +106545,7 @@ var require_NodeBufferReader = __commonJS({
106185
106545
  var require_readerFor = __commonJS({
106186
106546
  "node_modules/jszip/lib/reader/readerFor.js"(exports2, module2) {
106187
106547
  "use strict";
106188
- var utils = require_utils4();
106548
+ var utils = require_utils3();
106189
106549
  var support = require_support();
106190
106550
  var ArrayReader = require_ArrayReader();
106191
106551
  var StringReader = require_StringReader();
@@ -106213,7 +106573,7 @@ var require_zipEntry = __commonJS({
106213
106573
  "node_modules/jszip/lib/zipEntry.js"(exports2, module2) {
106214
106574
  "use strict";
106215
106575
  var readerFor = require_readerFor();
106216
- var utils = require_utils4();
106576
+ var utils = require_utils3();
106217
106577
  var CompressedObject = require_compressedObject();
106218
106578
  var crc32fn = require_crc32();
106219
106579
  var utf8 = require_utf8();
@@ -106431,7 +106791,7 @@ var require_zipEntries = __commonJS({
106431
106791
  "node_modules/jszip/lib/zipEntries.js"(exports2, module2) {
106432
106792
  "use strict";
106433
106793
  var readerFor = require_readerFor();
106434
- var utils = require_utils4();
106794
+ var utils = require_utils3();
106435
106795
  var sig = require_signature();
106436
106796
  var ZipEntry = require_zipEntry();
106437
106797
  var support = require_support();
@@ -106628,7 +106988,7 @@ var require_zipEntries = __commonJS({
106628
106988
  var require_load = __commonJS({
106629
106989
  "node_modules/jszip/lib/load.js"(exports2, module2) {
106630
106990
  "use strict";
106631
- var utils = require_utils4();
106991
+ var utils = require_utils3();
106632
106992
  var external = require_external2();
106633
106993
  var utf8 = require_utf8();
106634
106994
  var ZipEntries = require_zipEntries();
@@ -123413,4 +123773,7 @@ tough-cookie/lib/cookie.js:
123413
123773
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
123414
123774
  * POSSIBILITY OF SUCH DAMAGE.
123415
123775
  *)
123776
+
123777
+ uri-js/dist/es5/uri.all.js:
123778
+ (** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js *)
123416
123779
  */