Skip to content

Instantly share code, notes, and snippets.

@a7madgamal
Last active November 20, 2024 16:20
Show Gist options
  • Save a7madgamal/0bccd902a2f9fe6ad8513493ffb8abf7 to your computer and use it in GitHub Desktop.
Save a7madgamal/0bccd902a2f9fe6ad8513493ffb8abf7 to your computer and use it in GitHub Desktop.
Tasker Gists
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) =>
function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res;
};
var __commonJS = (cb, mod) =>
function __require() {
return (
mod ||
(0, cb[__getOwnPropNames(cb)[0]])((mod = {exports: {}}).exports, mod),
mod.exports
);
};
var __export = (target, all3) => {
for (var name in all3)
__defProp(target, name, {get: all3[name], enumerable: true});
};
var __copyProps = (to, from, except, desc) => {
if ((from && typeof from === "object") || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable,
});
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (
(target = mod != null ? __create(__getProtoOf(mod)) : {}),
__copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule
? __defProp(target, "default", {value: mod, enumerable: true})
: target,
mod
)
);
var __toCommonJS = (mod) =>
__copyProps(__defProp({}, "__esModule", {value: true}), mod);
// node_modules/runtypes/lib/reflect.js
var require_reflect = __commonJS({
"node_modules/runtypes/lib/reflect.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
},
});
// node_modules/runtypes/lib/result.js
var require_result = __commonJS({
"node_modules/runtypes/lib/result.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Failcode = void 0;
exports2.Failcode = {
/** The type of the received primitive value is incompatible with expected one. */
TYPE_INCORRECT: "TYPE_INCORRECT",
/** The received primitive value is incorrect. */
VALUE_INCORRECT: "VALUE_INCORRECT",
/** The key of the property is incorrect. */
KEY_INCORRECT: "KEY_INCORRECT",
/** One or more elements or properties of the received object are incorrect. */
CONTENT_INCORRECT: "CONTENT_INCORRECT",
/** One or more arguments passed to the function is incorrect. */
ARGUMENT_INCORRECT: "ARGUMENT_INCORRECT",
/** The value returned by the function is incorrect. */
RETURN_INCORRECT: "RETURN_INCORRECT",
/** The received value does not fulfill the constraint. */
CONSTRAINT_FAILED: "CONSTRAINT_FAILED",
/** The property must be present but missing. */
PROPERTY_MISSING: "PROPERTY_MISSING",
/** The property must not be present but present. */
PROPERTY_PRESENT: "PROPERTY_PRESENT",
/** The value must not be present but present. */
NOTHING_EXPECTED: "NOTHING_EXPECTED",
};
},
});
// node_modules/runtypes/lib/errors.js
var require_errors = __commonJS({
"node_modules/runtypes/lib/errors.js"(exports2) {
"use strict";
var __extends2 =
(exports2 && exports2.__extends) ||
/* @__PURE__ */ (function () {
var extendStatics2 = function (d, b) {
extendStatics2 =
Object.setPrototypeOf ||
({__proto__: []} instanceof Array &&
function (d2, b2) {
d2.__proto__ = b2;
}) ||
function (d2, b2) {
for (var p in b2)
if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
};
return extendStatics2(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError(
"Class extends value " +
String(b) +
" is not a constructor or null"
);
extendStatics2(d, b);
function __() {
this.constructor = d;
}
d.prototype =
b === null
? Object.create(b)
: ((__.prototype = b.prototype), new __());
};
})();
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.ValidationError = void 0;
var ValidationError =
/** @class */
(function (_super) {
__extends2(ValidationError2, _super);
function ValidationError2(failure) {
var _this = _super.call(this, failure.message) || this;
_this.name = "ValidationError";
_this.code = failure.code;
if (failure.details !== void 0) _this.details = failure.details;
Object.setPrototypeOf(_this, ValidationError2.prototype);
return _this;
}
return ValidationError2;
})(Error);
exports2.ValidationError = ValidationError;
},
});
// node_modules/runtypes/lib/show.js
var require_show = __commonJS({
"node_modules/runtypes/lib/show.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
var showStringified = function (circular) {
return function (refl) {
switch (refl.tag) {
case "literal":
return '"'.concat(String(refl.value), '"');
case "string":
return "string";
case "brand":
return refl.brand;
case "constraint":
return refl.name || showStringified(circular)(refl.underlying);
case "union":
return refl.alternatives.map(showStringified(circular)).join(" | ");
case "intersect":
return refl.intersectees.map(showStringified(circular)).join(" & ");
default:
break;
}
return "`${".concat(show(false, circular)(refl), "}`");
};
};
var showEmbedded = function (circular) {
return function (refl) {
switch (refl.tag) {
case "literal":
return String(refl.value);
case "brand":
return "${".concat(refl.brand, "}");
case "constraint":
return refl.name
? "${".concat(refl.name, "}")
: showEmbedded(circular)(refl.underlying);
case "union":
if (refl.alternatives.length === 1) {
var inner = refl.alternatives[0];
return showEmbedded(circular)(inner.reflect);
}
break;
case "intersect":
if (refl.intersectees.length === 1) {
var inner = refl.intersectees[0];
return showEmbedded(circular)(inner.reflect);
}
break;
default:
break;
}
return "${".concat(show(false, circular)(refl), "}");
};
};
var show = function (needsParens, circular) {
return function (refl) {
var parenthesize = function (s) {
return needsParens ? "(".concat(s, ")") : s;
};
if (circular.has(refl))
return parenthesize("CIRCULAR ".concat(refl.tag));
else circular.add(refl);
try {
switch (refl.tag) {
// Primitive types
case "unknown":
case "never":
case "void":
case "boolean":
case "number":
case "bigint":
case "string":
case "symbol":
case "function":
return refl.tag;
case "literal": {
var value = refl.value;
return typeof value === "string"
? '"'.concat(value, '"')
: String(value);
}
// Complex types
case "template": {
if (refl.strings.length === 0) return '""';
else if (refl.strings.length === 1)
return '"'.concat(refl.strings[0], '"');
else if (refl.strings.length === 2) {
if (
refl.strings.every(function (string) {
return string === "";
})
) {
var runtype = refl.runtypes[0];
return showStringified(circular)(runtype.reflect);
}
}
var backtick_1 = false;
var inner = refl.strings.reduce(function (inner2, string, i) {
var prefix = inner2 + string;
var runtype2 = refl.runtypes[i];
if (runtype2) {
var suffix = showEmbedded(circular)(runtype2.reflect);
if (!backtick_1 && suffix.startsWith("$")) backtick_1 = true;
return prefix + suffix;
} else return prefix;
}, "");
return backtick_1
? "`".concat(inner, "`")
: '"'.concat(inner, '"');
}
case "array":
return ""
.concat(readonlyTag(refl))
.concat(show(true, circular)(refl.element), "[]");
case "dictionary":
return "{ [_: "
.concat(refl.key, "]: ")
.concat(show(false, circular)(refl.value), " }");
case "record": {
var keys = Object.keys(refl.fields);
return keys.length
? "{ ".concat(
keys
.map(function (k) {
return ""
.concat(readonlyTag(refl))
.concat(k)
.concat(partialTag(refl, k), ": ")
.concat(
refl.fields[k].tag === "optional"
? show(false, circular)(refl.fields[k].underlying)
: show(false, circular)(refl.fields[k]),
";"
);
})
.join(" "),
" }"
)
: "{}";
}
case "tuple":
return "[".concat(
refl.components.map(show(false, circular)).join(", "),
"]"
);
case "union":
return parenthesize(
"".concat(
refl.alternatives.map(show(true, circular)).join(" | ")
)
);
case "intersect":
return parenthesize(
"".concat(
refl.intersectees.map(show(true, circular)).join(" & ")
)
);
case "optional":
return (
show(needsParens, circular)(refl.underlying) + " | undefined"
);
case "constraint":
return refl.name || show(needsParens, circular)(refl.underlying);
case "instanceof":
return refl.ctor.name;
case "brand":
return show(needsParens, circular)(refl.entity);
}
} finally {
circular.delete(refl);
}
throw Error("impossible");
};
};
exports2.default = show(false, /* @__PURE__ */ new Set());
function partialTag(_a, key) {
var isPartial = _a.isPartial,
fields = _a.fields;
return isPartial || (key !== void 0 && fields[key].tag === "optional")
? "?"
: "";
}
function readonlyTag(_a) {
var isReadonly = _a.isReadonly;
return isReadonly ? "readonly " : "";
}
},
});
// node_modules/runtypes/lib/util.js
var require_util = __commonJS({
"node_modules/runtypes/lib/util.js"(exports2) {
"use strict";
var __assign2 =
(exports2 && exports2.__assign) ||
function () {
__assign2 =
Object.assign ||
function (t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign2.apply(this, arguments);
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.FAILURE =
exports2.SUCCESS =
exports2.enumerableKeysOf =
exports2.typeOf =
exports2.hasKey =
void 0;
var result_1 = require_result();
var show_1 = require_show();
function hasKey(key, object) {
return typeof object === "object" && object !== null && key in object;
}
exports2.hasKey = hasKey;
var typeOf = function (value) {
var _a, _b, _c;
return typeof value === "object"
? value === null
? "null"
: Array.isArray(value)
? "array"
: ((_a = value.constructor) === null || _a === void 0
? void 0
: _a.name) === "Object"
? "object"
: (_c =
(_b = value.constructor) === null || _b === void 0
? void 0
: _b.name) !== null && _c !== void 0
? _c
: typeof value
: typeof value;
};
exports2.typeOf = typeOf;
var enumerableKeysOf = function (object) {
return typeof object === "object" && object !== null
? // Objects with a null prototype may not have `propertyIsEnumerable`
Reflect.ownKeys(object).filter(function (key) {
var _a, _b;
return (_b =
(_a = object.propertyIsEnumerable) === null || _a === void 0
? void 0
: _a.call(object, key)) !== null && _b !== void 0
? _b
: true;
})
: [];
};
exports2.enumerableKeysOf = enumerableKeysOf;
function SUCCESS(value) {
return {success: true, value};
}
exports2.SUCCESS = SUCCESS;
exports2.FAILURE = Object.assign(
function (code, message, details) {
return __assign2(
{success: false, code, message},
details ? {details} : {}
);
},
{
TYPE_INCORRECT: function (self2, value) {
var message = "Expected "
.concat(
self2.tag === "template"
? "string ".concat((0, show_1.default)(self2))
: (0, show_1.default)(self2),
", but was "
)
.concat((0, exports2.typeOf)(value));
return (0, exports2.FAILURE)(
result_1.Failcode.TYPE_INCORRECT,
message
);
},
VALUE_INCORRECT: function (name, expected, received) {
return (0, exports2.FAILURE)(
result_1.Failcode.VALUE_INCORRECT,
"Expected "
.concat(name, " ")
.concat(String(expected), ", but was ")
.concat(String(received))
);
},
KEY_INCORRECT: function (self2, expected, value) {
return (0, exports2.FAILURE)(
result_1.Failcode.KEY_INCORRECT,
"Expected "
.concat((0, show_1.default)(self2), " key to be ")
.concat((0, show_1.default)(expected), ", but was ")
.concat((0, exports2.typeOf)(value))
);
},
CONTENT_INCORRECT: function (self2, details) {
var message = "Expected ".concat(
(0, show_1.default)(self2),
", but was incompatible"
);
return (0, exports2.FAILURE)(
result_1.Failcode.CONTENT_INCORRECT,
message,
details
);
},
ARGUMENT_INCORRECT: function (message) {
return (0, exports2.FAILURE)(
result_1.Failcode.ARGUMENT_INCORRECT,
message
);
},
RETURN_INCORRECT: function (message) {
return (0, exports2.FAILURE)(
result_1.Failcode.RETURN_INCORRECT,
message
);
},
CONSTRAINT_FAILED: function (self2, message) {
var info = message ? ": ".concat(message) : "";
return (0, exports2.FAILURE)(
result_1.Failcode.CONSTRAINT_FAILED,
"Failed constraint check for "
.concat((0, show_1.default)(self2))
.concat(info)
);
},
PROPERTY_MISSING: function (self2) {
var message = "Expected ".concat(
(0, show_1.default)(self2),
", but was missing"
);
return (0, exports2.FAILURE)(
result_1.Failcode.PROPERTY_MISSING,
message
);
},
PROPERTY_PRESENT: function (value) {
var message = "Expected nothing, but was ".concat(
(0, exports2.typeOf)(value)
);
return (0, exports2.FAILURE)(
result_1.Failcode.PROPERTY_PRESENT,
message
);
},
NOTHING_EXPECTED: function (value) {
var message = "Expected nothing, but was ".concat(
(0, exports2.typeOf)(value)
);
return (0, exports2.FAILURE)(
result_1.Failcode.NOTHING_EXPECTED,
message
);
},
}
);
},
});
// node_modules/runtypes/lib/contract.js
var require_contract = __commonJS({
"node_modules/runtypes/lib/contract.js"(exports2) {
"use strict";
var __read2 =
(exports2 && exports2.__read) ||
function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray2 =
(exports2 && exports2.__spreadArray) ||
function (to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Contract = void 0;
var errors_1 = require_errors();
var util_1 = require_util();
function Contract() {
var runtypes = [];
for (var _i = 0; _i < arguments.length; _i++) {
runtypes[_i] = arguments[_i];
}
var lastIndex = runtypes.length - 1;
var argRuntypes = runtypes.slice(0, lastIndex);
var returnRuntype = runtypes[lastIndex];
return {
enforce: function (f) {
return function () {
var args = [];
for (var _i2 = 0; _i2 < arguments.length; _i2++) {
args[_i2] = arguments[_i2];
}
if (args.length < argRuntypes.length) {
var message = "Expected "
.concat(argRuntypes.length, " arguments but only received ")
.concat(args.length);
var failure = util_1.FAILURE.ARGUMENT_INCORRECT(message);
throw new errors_1.ValidationError(failure);
}
for (var i = 0; i < argRuntypes.length; i++)
argRuntypes[i].check(args[i]);
return returnRuntype.check(
f.apply(void 0, __spreadArray2([], __read2(args), false))
);
};
},
};
}
exports2.Contract = Contract;
},
});
// node_modules/runtypes/lib/asynccontract.js
var require_asynccontract = __commonJS({
"node_modules/runtypes/lib/asynccontract.js"(exports2) {
"use strict";
var __read2 =
(exports2 && exports2.__read) ||
function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray2 =
(exports2 && exports2.__spreadArray) ||
function (to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.AsyncContract = void 0;
var errors_1 = require_errors();
var util_1 = require_util();
function AsyncContract() {
var runtypes = [];
for (var _i = 0; _i < arguments.length; _i++) {
runtypes[_i] = arguments[_i];
}
var lastIndex = runtypes.length - 1;
var argRuntypes = runtypes.slice(0, lastIndex);
var returnRuntype = runtypes[lastIndex];
return {
enforce: function (f) {
return function () {
var args = [];
for (var _i2 = 0; _i2 < arguments.length; _i2++) {
args[_i2] = arguments[_i2];
}
if (args.length < argRuntypes.length) {
var message = "Expected "
.concat(argRuntypes.length, " arguments but only received ")
.concat(args.length);
var failure = util_1.FAILURE.ARGUMENT_INCORRECT(message);
throw new errors_1.ValidationError(failure);
}
for (var i = 0; i < argRuntypes.length; i++)
argRuntypes[i].check(args[i]);
var returnedPromise = f.apply(
void 0,
__spreadArray2([], __read2(args), false)
);
if (!(returnedPromise instanceof Promise)) {
var message =
"Expected function to return a promise, but instead got ".concat(
returnedPromise
);
var failure = util_1.FAILURE.RETURN_INCORRECT(message);
throw new errors_1.ValidationError(failure);
}
return returnedPromise.then(returnRuntype.check);
};
},
};
}
exports2.AsyncContract = AsyncContract;
},
});
// node_modules/runtypes/lib/match.js
var require_match = __commonJS({
"node_modules/runtypes/lib/match.js"(exports2) {
"use strict";
var __values2 =
(exports2 && exports2.__values) ||
function (o) {
var s = typeof Symbol === "function" && Symbol.iterator,
m = s && o[s],
i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length) o = void 0;
return {value: o && o[i++], done: !o};
},
};
throw new TypeError(
s ? "Object is not iterable." : "Symbol.iterator is not defined."
);
};
var __read2 =
(exports2 && exports2.__read) ||
function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.when = exports2.match = void 0;
function match() {
var cases = [];
for (var _i = 0; _i < arguments.length; _i++) {
cases[_i] = arguments[_i];
}
return function (x) {
var e_1, _a;
try {
for (
var cases_1 = __values2(cases), cases_1_1 = cases_1.next();
!cases_1_1.done;
cases_1_1 = cases_1.next()
) {
var _b = __read2(cases_1_1.value, 2),
T = _b[0],
f = _b[1];
if (T.guard(x)) return f(x);
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (cases_1_1 && !cases_1_1.done && (_a = cases_1.return))
_a.call(cases_1);
} finally {
if (e_1) throw e_1.error;
}
}
throw new Error("No alternatives were matched");
};
}
exports2.match = match;
function when(runtype, transformer) {
return [runtype, transformer];
}
exports2.when = when;
},
});
// node_modules/runtypes/lib/runtype.js
var require_runtype = __commonJS({
"node_modules/runtypes/lib/runtype.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.innerValidate = exports2.create = exports2.isRuntype = void 0;
var index_1 = require_lib();
var show_1 = require_show();
var errors_1 = require_errors();
var util_1 = require_util();
var RuntypeSymbol = Symbol();
var isRuntype = function (x) {
return (0, util_1.hasKey)(RuntypeSymbol, x);
};
exports2.isRuntype = isRuntype;
function create(validate, A) {
A[RuntypeSymbol] = true;
A.check = check;
A.assert = check;
A._innerValidate = function (value, visited) {
if (visited.has(value, A)) return (0, util_1.SUCCESS)(value);
return validate(value, visited);
};
A.validate = function (value) {
return A._innerValidate(value, VisitedState());
};
A.guard = guard;
A.Or = Or;
A.And = And;
A.optional = optional;
A.nullable = nullable;
A.withConstraint = withConstraint;
A.withGuard = withGuard;
A.withBrand = withBrand;
A.reflect = A;
A.toString = function () {
return "Runtype<".concat((0, show_1.default)(A), ">");
};
return A;
function check(x) {
var result = A.validate(x);
if (result.success) return result.value;
else throw new errors_1.ValidationError(result);
}
function guard(x) {
return A.validate(x).success;
}
function Or(B) {
return (0, index_1.Union)(A, B);
}
function And(B) {
return (0, index_1.Intersect)(A, B);
}
function optional() {
return (0, index_1.Optional)(A);
}
function nullable() {
return (0, index_1.Union)(A, index_1.Null);
}
function withConstraint(constraint, options) {
return (0, index_1.Constraint)(A, constraint, options);
}
function withGuard(guard2, options) {
return (0, index_1.Constraint)(A, guard2, options);
}
function withBrand(B) {
return (0, index_1.Brand)(B, A);
}
}
exports2.create = create;
function innerValidate(targetType, value, visited) {
return targetType._innerValidate(value, visited);
}
exports2.innerValidate = innerValidate;
function VisitedState() {
var members = /* @__PURE__ */ new WeakMap();
var add = function (candidate, type) {
if (candidate === null || !(typeof candidate === "object")) return;
var typeSet = members.get(candidate);
members.set(
candidate,
typeSet
? typeSet.set(type, true)
: /* @__PURE__ */ new WeakMap().set(type, true)
);
};
var has = function (candidate, type) {
var typeSet = members.get(candidate);
var value = (typeSet && typeSet.get(type)) || false;
add(candidate, type);
return value;
};
return {has};
}
},
});
// node_modules/runtypes/lib/types/unknown.js
var require_unknown = __commonJS({
"node_modules/runtypes/lib/types/unknown.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Unknown = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "unknown"};
exports2.Unknown = (0, runtype_1.create)(function (value) {
return (0, util_1.SUCCESS)(value);
}, self2);
},
});
// node_modules/runtypes/lib/types/never.js
var require_never = __commonJS({
"node_modules/runtypes/lib/types/never.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Never = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "never"};
exports2.Never = (0, runtype_1.create)(
util_1.FAILURE.NOTHING_EXPECTED,
self2
);
},
});
// node_modules/runtypes/lib/types/void.js
var require_void = __commonJS({
"node_modules/runtypes/lib/types/void.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Void = void 0;
var unknown_1 = require_unknown();
exports2.Void = unknown_1.Unknown;
},
});
// node_modules/runtypes/lib/types/union.js
var require_union = __commonJS({
"node_modules/runtypes/lib/types/union.js"(exports2) {
"use strict";
var __values2 =
(exports2 && exports2.__values) ||
function (o) {
var s = typeof Symbol === "function" && Symbol.iterator,
m = s && o[s],
i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length) o = void 0;
return {value: o && o[i++], done: !o};
},
};
throw new TypeError(
s ? "Object is not iterable." : "Symbol.iterator is not defined."
);
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Union = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function Union2() {
var alternatives = [];
for (var _i = 0; _i < arguments.length; _i++) {
alternatives[_i] = arguments[_i];
}
var match = function () {
var cases = [];
for (var _i2 = 0; _i2 < arguments.length; _i2++) {
cases[_i2] = arguments[_i2];
}
return function (x) {
for (var i = 0; i < alternatives.length; i++) {
if (alternatives[i].guard(x)) {
return cases[i](x);
}
}
};
};
var self2 = {tag: "union", alternatives, match};
return (0, runtype_1.create)(function (value, visited) {
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
if (typeof value !== "object" || value === null) {
try {
for (
var alternatives_1 = __values2(alternatives),
alternatives_1_1 = alternatives_1.next();
!alternatives_1_1.done;
alternatives_1_1 = alternatives_1.next()
) {
var alternative = alternatives_1_1.value;
if (
(0, runtype_1.innerValidate)(alternative, value, visited)
.success
)
return (0, util_1.SUCCESS)(value);
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (
alternatives_1_1 &&
!alternatives_1_1.done &&
(_a = alternatives_1.return)
)
_a.call(alternatives_1);
} finally {
if (e_1) throw e_1.error;
}
}
return util_1.FAILURE.TYPE_INCORRECT(self2, value);
}
var commonLiteralFields = {};
try {
for (
var alternatives_2 = __values2(alternatives),
alternatives_2_1 = alternatives_2.next();
!alternatives_2_1.done;
alternatives_2_1 = alternatives_2.next()
) {
var alternative = alternatives_2_1.value;
if (alternative.reflect.tag === "record") {
var _loop_1 = function (fieldName2) {
var field2 = alternative.reflect.fields[fieldName2];
if (field2.tag === "literal") {
if (commonLiteralFields[fieldName2]) {
if (
commonLiteralFields[fieldName2].every(function (value2) {
return value2 !== field2.value;
})
) {
commonLiteralFields[fieldName2].push(field2.value);
}
} else {
commonLiteralFields[fieldName2] = [field2.value];
}
}
};
for (var fieldName in alternative.reflect.fields) {
_loop_1(fieldName);
}
}
}
} catch (e_2_1) {
e_2 = {error: e_2_1};
} finally {
try {
if (
alternatives_2_1 &&
!alternatives_2_1.done &&
(_b = alternatives_2.return)
)
_b.call(alternatives_2);
} finally {
if (e_2) throw e_2.error;
}
}
for (var fieldName in commonLiteralFields) {
if (commonLiteralFields[fieldName].length === alternatives.length) {
try {
for (
var alternatives_3 = ((e_3 = void 0), __values2(alternatives)),
alternatives_3_1 = alternatives_3.next();
!alternatives_3_1.done;
alternatives_3_1 = alternatives_3.next()
) {
var alternative = alternatives_3_1.value;
if (alternative.reflect.tag === "record") {
var field = alternative.reflect.fields[fieldName];
if (
field.tag === "literal" &&
(0, util_1.hasKey)(fieldName, value) &&
value[fieldName] === field.value
) {
return (0, runtype_1.innerValidate)(
alternative,
value,
visited
);
}
}
}
} catch (e_3_1) {
e_3 = {error: e_3_1};
} finally {
try {
if (
alternatives_3_1 &&
!alternatives_3_1.done &&
(_c = alternatives_3.return)
)
_c.call(alternatives_3);
} finally {
if (e_3) throw e_3.error;
}
}
}
}
try {
for (
var alternatives_4 = __values2(alternatives),
alternatives_4_1 = alternatives_4.next();
!alternatives_4_1.done;
alternatives_4_1 = alternatives_4.next()
) {
var targetType = alternatives_4_1.value;
if (
(0, runtype_1.innerValidate)(targetType, value, visited).success
)
return (0, util_1.SUCCESS)(value);
}
} catch (e_4_1) {
e_4 = {error: e_4_1};
} finally {
try {
if (
alternatives_4_1 &&
!alternatives_4_1.done &&
(_d = alternatives_4.return)
)
_d.call(alternatives_4);
} finally {
if (e_4) throw e_4.error;
}
}
return util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
}
exports2.Union = Union2;
},
});
// node_modules/runtypes/lib/types/literal.js
var require_literal = __commonJS({
"node_modules/runtypes/lib/types/literal.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Nullish =
exports2.Null =
exports2.Undefined =
exports2.Literal =
exports2.literal =
void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var union_1 = require_union();
function literal(value) {
return Array.isArray(value)
? String(value.map(String))
: typeof value === "bigint"
? String(value) + "n"
: String(value);
}
exports2.literal = literal;
function Literal2(valueBase) {
var self2 = {tag: "literal", value: valueBase};
return (0, runtype_1.create)(function (value) {
return value === valueBase
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.VALUE_INCORRECT(
"literal",
"`".concat(literal(valueBase), "`"),
"`".concat(literal(value), "`")
);
}, self2);
}
exports2.Literal = Literal2;
exports2.Undefined = Literal2(void 0);
exports2.Null = Literal2(null);
exports2.Nullish = (0, union_1.Union)(exports2.Null, exports2.Undefined);
},
});
// node_modules/runtypes/lib/types/template.js
var require_template = __commonJS({
"node_modules/runtypes/lib/types/template.js"(exports2) {
"use strict";
var __read2 =
(exports2 && exports2.__read) ||
function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray2 =
(exports2 && exports2.__spreadArray) ||
function (to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
var __values2 =
(exports2 && exports2.__values) ||
function (o) {
var s = typeof Symbol === "function" && Symbol.iterator,
m = s && o[s],
i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length) o = void 0;
return {value: o && o[i++], done: !o};
},
};
throw new TypeError(
s ? "Object is not iterable." : "Symbol.iterator is not defined."
);
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Template = void 0;
var runtype_1 = require_runtype();
var show_1 = require_show();
var util_1 = require_util();
var literal_1 = require_literal();
var escapeRegExp = function (string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
};
var parseArgs = function (args) {
if (0 < args.length && Array.isArray(args[0])) {
var _a = __read2(args),
strings = _a[0],
runtypes = _a.slice(1);
return [Array.from(strings), runtypes];
} else {
var convenient = args;
var strings = convenient.reduce(
function (strings2, arg) {
if (!(0, runtype_1.isRuntype)(arg))
strings2.push(strings2.pop() + String(arg));
else strings2.push("");
return strings2;
},
[""]
);
var runtypes = convenient.filter(runtype_1.isRuntype);
return [strings, runtypes];
}
};
var flattenInnerRuntypes = function (strings, runtypes) {
for (var i = 0; i < runtypes.length; ) {
switch (runtypes[i].reflect.tag) {
case "literal": {
var literal_2 = runtypes[i];
runtypes.splice(i, 1);
var string = String(literal_2.value);
strings.splice(i, 2, strings[i] + string + strings[i + 1]);
break;
}
case "template": {
var template = runtypes[i];
runtypes.splice.apply(
runtypes,
__spreadArray2([i, 1], __read2(template.runtypes), false)
);
var innerStrings = template.strings;
if (innerStrings.length === 1) {
strings.splice(
i,
2,
strings[i] + innerStrings[0] + strings[i + 1]
);
} else {
var first = innerStrings[0];
var rest = innerStrings.slice(1, -1);
var last = innerStrings[innerStrings.length - 1];
strings.splice.apply(
strings,
__spreadArray2(
__spreadArray2(
[i, 2, strings[i] + first],
__read2(rest),
false
),
[last + strings[i + 1]],
false
)
);
}
break;
}
case "union": {
var union = runtypes[i];
if (union.alternatives.length === 1) {
try {
var literal_3 = getInnerLiteral(union);
runtypes.splice(i, 1);
var string = String(literal_3.value);
strings.splice(i, 2, strings[i] + string + strings[i + 1]);
break;
} catch (_) {
i++;
break;
}
} else {
i++;
break;
}
}
case "intersect": {
var intersect = runtypes[i];
if (intersect.intersectees.length === 1) {
try {
var literal_4 = getInnerLiteral(intersect);
runtypes.splice(i, 1);
var string = String(literal_4.value);
strings.splice(i, 2, strings[i] + string + strings[i + 1]);
break;
} catch (_) {
i++;
break;
}
} else {
i++;
break;
}
}
default:
i++;
break;
}
}
};
var normalizeArgs = function (args) {
var _a = __read2(parseArgs(args), 2),
strings = _a[0],
runtypes = _a[1];
flattenInnerRuntypes(strings, runtypes);
return [strings, runtypes];
};
var getInnerLiteral = function (runtype) {
switch (runtype.reflect.tag) {
case "literal":
return runtype;
case "brand":
return getInnerLiteral(runtype.reflect.entity);
case "union":
if (runtype.reflect.alternatives.length === 1)
return getInnerLiteral(runtype.reflect.alternatives[0]);
break;
case "intersect":
if (runtype.reflect.intersectees.length === 1)
return getInnerLiteral(runtype.reflect.intersectees[0]);
break;
default:
break;
}
throw void 0;
};
var identity = function (s) {
return s;
};
var revivers = {
string: [
function (s) {
return globalThis.String(s);
},
".*",
],
number: [
function (s) {
return globalThis.Number(s);
},
"[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:[Ee][+-]?\\d+)?",
"0[Bb][01]+",
"0[Oo][0-7]+",
"0[Xx][0-9A-Fa-f]+",
// Note: `"NaN"` isn't here, as TS doesn't allow `"NaN"` to be a `` `${number}` ``
],
bigint: [
function (s) {
return globalThis.BigInt(s);
},
"-?[1-9]d*",
],
boolean: [
function (s) {
return s === "false" ? false : true;
},
"true",
"false",
],
null: [
function () {
return null;
},
"null",
],
undefined: [
function () {
return void 0;
},
"undefined",
],
};
var getReviversFor = function (reflect) {
switch (reflect.tag) {
case "literal": {
var _a = __read2(
revivers[(0, util_1.typeOf)(reflect.value)] || [identity],
1
),
reviver_1 = _a[0];
return reviver_1;
}
case "brand":
return getReviversFor(reflect.entity);
case "constraint":
return getReviversFor(reflect.underlying);
case "union":
return reflect.alternatives.map(getReviversFor);
case "intersect":
return reflect.intersectees.map(getReviversFor);
default:
var _b = __read2(revivers[reflect.tag] || [identity], 1),
reviver = _b[0];
return reviver;
}
};
var reviveValidate = function (reflect, visited) {
return function (value) {
var e_1, _a, e_2, _b;
var revivers2 = getReviversFor(reflect);
if (Array.isArray(revivers2)) {
switch (reflect.tag) {
case "union":
try {
for (
var _c = __values2(reflect.alternatives), _d = _c.next();
!_d.done;
_d = _c.next()
) {
var alternative = _d.value;
var validated = reviveValidate(
alternative.reflect,
visited
)(value);
if (validated.success) return validated;
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
} finally {
if (e_1) throw e_1.error;
}
}
return util_1.FAILURE.TYPE_INCORRECT(reflect, value);
case "intersect":
try {
for (
var _e = __values2(reflect.intersectees), _f = _e.next();
!_f.done;
_f = _e.next()
) {
var intersectee = _f.value;
var validated = reviveValidate(
intersectee.reflect,
visited
)(value);
if (!validated.success) return validated;
}
} catch (e_2_1) {
e_2 = {error: e_2_1};
} finally {
try {
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
} finally {
if (e_2) throw e_2.error;
}
}
return (0, util_1.SUCCESS)(value);
default:
throw Error("impossible");
}
} else {
var reviver = revivers2;
var validated = (0, runtype_1.innerValidate)(
reflect,
reviver(value),
visited
);
if (
!validated.success &&
validated.code === "VALUE_INCORRECT" &&
reflect.tag === "literal"
)
return util_1.FAILURE.VALUE_INCORRECT(
"literal",
'"'.concat((0, literal_1.literal)(reflect.value), '"'),
'"'.concat(value, '"')
);
return validated;
}
};
};
var getRegExpPatternFor = function (reflect) {
switch (reflect.tag) {
case "literal":
return escapeRegExp(String(reflect.value));
case "brand":
return getRegExpPatternFor(reflect.entity);
case "constraint":
return getRegExpPatternFor(reflect.underlying);
case "union":
return reflect.alternatives.map(getRegExpPatternFor).join("|");
case "template": {
return reflect.strings
.map(escapeRegExp)
.reduce(function (pattern, string, i) {
var prefix = pattern + string;
var runtype = reflect.runtypes[i];
if (runtype)
return (
prefix +
"(?:".concat(getRegExpPatternFor(runtype.reflect), ")")
);
else return prefix;
}, "");
}
default:
var _a = __read2(revivers[reflect.tag] || [void 0, ".*"]),
patterns = _a.slice(1);
return patterns.join("|");
}
};
var createRegExpForTemplate = function (reflect) {
var pattern = reflect.strings
.map(escapeRegExp)
.reduce(function (pattern2, string, i) {
var prefix = pattern2 + string;
var runtype = reflect.runtypes[i];
if (runtype)
return (
prefix + "(".concat(getRegExpPatternFor(runtype.reflect), ")")
);
else return prefix;
}, "");
return new RegExp("^".concat(pattern, "$"), "su");
};
function Template() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var _a = __read2(normalizeArgs(args), 2),
strings = _a[0],
runtypes = _a[1];
var self2 = {tag: "template", strings, runtypes};
var regexp = createRegExpForTemplate(self2);
var test = function (value, visited) {
var matches = value.match(regexp);
if (matches) {
var values = matches.slice(1);
for (var i = 0; i < runtypes.length; i++) {
var runtype = runtypes[i];
var value_1 = values[i];
var validated = reviveValidate(runtype.reflect, visited)(value_1);
if (!validated.success) return validated;
}
return (0, util_1.SUCCESS)(value);
} else {
return util_1.FAILURE.VALUE_INCORRECT(
"string",
"".concat((0, show_1.default)(self2)),
'"'.concat((0, literal_1.literal)(value), '"')
);
}
};
return (0, runtype_1.create)(function (value, visited) {
if (typeof value !== "string")
return util_1.FAILURE.TYPE_INCORRECT(self2, value);
else {
var validated = test(value, visited);
if (!validated.success) {
var result = util_1.FAILURE.VALUE_INCORRECT(
"string",
"".concat((0, show_1.default)(self2)),
'"'.concat(value, '"')
);
if (result.message !== validated.message)
result.message += " (inner: ".concat(validated.message, ")");
return result;
} else return (0, util_1.SUCCESS)(value);
}
}, self2);
}
exports2.Template = Template;
},
});
// node_modules/runtypes/lib/types/boolean.js
var require_boolean = __commonJS({
"node_modules/runtypes/lib/types/boolean.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Boolean = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "boolean"};
exports2.Boolean = (0, runtype_1.create)(function (value) {
return typeof value === "boolean"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
},
});
// node_modules/runtypes/lib/types/number.js
var require_number = __commonJS({
"node_modules/runtypes/lib/types/number.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Number = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "number"};
exports2.Number = (0, runtype_1.create)(function (value) {
return typeof value === "number"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
},
});
// node_modules/runtypes/lib/types/bigint.js
var require_bigint = __commonJS({
"node_modules/runtypes/lib/types/bigint.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.BigInt = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "bigint"};
exports2.BigInt = (0, runtype_1.create)(function (value) {
return typeof value === "bigint"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
},
});
// node_modules/runtypes/lib/types/string.js
var require_string = __commonJS({
"node_modules/runtypes/lib/types/string.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.String = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "string"};
exports2.String = (0, runtype_1.create)(function (value) {
return typeof value === "string"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
},
});
// node_modules/runtypes/lib/types/symbol.js
var require_symbol = __commonJS({
"node_modules/runtypes/lib/types/symbol.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Symbol = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var f = function (key) {
var self3 = {tag: "symbol", key};
return (0, runtype_1.create)(function (value) {
if (typeof value !== "symbol")
return util_1.FAILURE.TYPE_INCORRECT(self3, value);
else {
var keyForValue = globalThis.Symbol.keyFor(value);
if (keyForValue !== key)
return util_1.FAILURE.VALUE_INCORRECT(
"symbol key",
quoteIfPresent(key),
quoteIfPresent(keyForValue)
);
else return (0, util_1.SUCCESS)(value);
}
}, self3);
};
var self2 = {tag: "symbol"};
exports2.Symbol = (0, runtype_1.create)(function (value) {
return typeof value === "symbol"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, Object.assign(f, self2));
var quoteIfPresent = function (key) {
return key === void 0 ? "undefined" : '"'.concat(key, '"');
};
},
});
// node_modules/runtypes/lib/types/array.js
var require_array = __commonJS({
"node_modules/runtypes/lib/types/array.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Array = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function InternalArr(element, isReadonly) {
var self2 = {tag: "array", isReadonly, element};
return withExtraModifierFuncs(
(0, runtype_1.create)(function (xs, visited) {
if (!Array.isArray(xs))
return util_1.FAILURE.TYPE_INCORRECT(self2, xs);
var keys = (0, util_1.enumerableKeysOf)(xs);
var results = keys.map(function (key) {
return (0, runtype_1.innerValidate)(element, xs[key], visited);
});
var details = keys.reduce(function (details2, key) {
var result = results[key];
if (!result.success)
details2[key] = result.details || result.message;
return details2;
}, []);
if ((0, util_1.enumerableKeysOf)(details).length !== 0)
return util_1.FAILURE.CONTENT_INCORRECT(self2, details);
else return (0, util_1.SUCCESS)(xs);
}, self2)
);
}
function Arr(element) {
return InternalArr(element, false);
}
exports2.Array = Arr;
function withExtraModifierFuncs(A) {
A.asReadonly = asReadonly;
return A;
function asReadonly() {
return InternalArr(A.element, true);
}
}
},
});
// node_modules/runtypes/lib/types/tuple.js
var require_tuple = __commonJS({
"node_modules/runtypes/lib/types/tuple.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Tuple = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function Tuple() {
var components = [];
for (var _i = 0; _i < arguments.length; _i++) {
components[_i] = arguments[_i];
}
var self2 = {tag: "tuple", components};
return (0, runtype_1.create)(function (xs, visited) {
if (!Array.isArray(xs)) return util_1.FAILURE.TYPE_INCORRECT(self2, xs);
if (xs.length !== components.length)
return util_1.FAILURE.CONSTRAINT_FAILED(
self2,
"Expected length "
.concat(components.length, ", but was ")
.concat(xs.length)
);
var keys = (0, util_1.enumerableKeysOf)(xs);
var results = keys.map(function (key) {
return (0,
runtype_1.innerValidate)(components[key], xs[key], visited);
});
var details = keys.reduce(function (details2, key) {
var result = results[key];
if (!result.success) details2[key] = result.details || result.message;
return details2;
}, []);
if ((0, util_1.enumerableKeysOf)(details).length !== 0)
return util_1.FAILURE.CONTENT_INCORRECT(self2, details);
else return (0, util_1.SUCCESS)(xs);
}, self2);
}
exports2.Tuple = Tuple;
},
});
// node_modules/runtypes/lib/types/record.js
var require_record = __commonJS({
"node_modules/runtypes/lib/types/record.js"(exports2) {
"use strict";
var __read2 =
(exports2 && exports2.__read) ||
function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
};
var __spreadArray2 =
(exports2 && exports2.__spreadArray) ||
function (to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Partial = exports2.Record = exports2.InternalRecord = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function InternalRecord(fields, isPartial, isReadonly) {
var self2 = {tag: "record", isPartial, isReadonly, fields};
return withExtraModifierFuncs(
(0, runtype_1.create)(function (x, visited) {
if (x === null || x === void 0) {
return util_1.FAILURE.TYPE_INCORRECT(self2, x);
}
var keysOfFields = (0, util_1.enumerableKeysOf)(fields);
if (keysOfFields.length !== 0 && typeof x !== "object")
return util_1.FAILURE.TYPE_INCORRECT(self2, x);
var keys = __spreadArray2(
[],
__read2(
new Set(
__spreadArray2(
__spreadArray2([], __read2(keysOfFields), false),
__read2((0, util_1.enumerableKeysOf)(x)),
false
)
)
),
false
);
var results = keys.reduce(function (results2, key) {
var fieldsHasKey = (0, util_1.hasKey)(key, fields);
var xHasKey = (0, util_1.hasKey)(key, x);
if (fieldsHasKey) {
var runtype = fields[key];
var isOptional = isPartial || runtype.reflect.tag === "optional";
if (xHasKey) {
var value = x[key];
if (isOptional && value === void 0)
results2[key] = (0, util_1.SUCCESS)(value);
else
results2[key] = (0, runtype_1.innerValidate)(
runtype,
value,
visited
);
} else {
if (!isOptional)
results2[key] = util_1.FAILURE.PROPERTY_MISSING(
runtype.reflect
);
else results2[key] = (0, util_1.SUCCESS)(void 0);
}
} else if (xHasKey) {
var value = x[key];
results2[key] = (0, util_1.SUCCESS)(value);
} else {
throw new Error("impossible");
}
return results2;
}, {});
var details = keys.reduce(function (details2, key) {
var result = results[key];
if (!result.success)
details2[key] = result.details || result.message;
return details2;
}, {});
if ((0, util_1.enumerableKeysOf)(details).length !== 0)
return util_1.FAILURE.CONTENT_INCORRECT(self2, details);
else return (0, util_1.SUCCESS)(x);
}, self2)
);
}
exports2.InternalRecord = InternalRecord;
function Record2(fields) {
return InternalRecord(fields, false, false);
}
exports2.Record = Record2;
function Partial2(fields) {
return InternalRecord(fields, true, false);
}
exports2.Partial = Partial2;
function withExtraModifierFuncs(A) {
A.asPartial = asPartial;
A.asReadonly = asReadonly;
A.pick = pick;
A.omit = omit;
A.extend = extend2;
return A;
function asPartial() {
return InternalRecord(A.fields, true, A.isReadonly);
}
function asReadonly() {
return InternalRecord(A.fields, A.isPartial, true);
}
function pick() {
var keys = [];
for (var _i = 0; _i < arguments.length; _i++) {
keys[_i] = arguments[_i];
}
var result = {};
keys.forEach(function (key) {
result[key] = A.fields[key];
});
return InternalRecord(result, A.isPartial, A.isReadonly);
}
function omit() {
var keys = [];
for (var _i = 0; _i < arguments.length; _i++) {
keys[_i] = arguments[_i];
}
var result = {};
var existingKeys = (0, util_1.enumerableKeysOf)(A.fields);
existingKeys.forEach(function (key) {
if (!keys.includes(key)) result[key] = A.fields[key];
});
return InternalRecord(result, A.isPartial, A.isReadonly);
}
function extend2(fields) {
return InternalRecord(
Object.assign({}, A.fields, fields),
A.isPartial,
A.isReadonly
);
}
}
},
});
// node_modules/runtypes/lib/types/constraint.js
var require_constraint = __commonJS({
"node_modules/runtypes/lib/types/constraint.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Guard = exports2.Constraint = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var unknown_1 = require_unknown();
function Constraint(underlying, constraint, options) {
var name = options && options.name;
var args = options && options.args;
var self2 = {
tag: "constraint",
underlying,
constraint,
name,
args,
};
return (0, runtype_1.create)(function (value) {
var result = underlying.validate(value);
if (!result.success) return result;
var message = constraint(result.value);
if (typeof message === "string")
return util_1.FAILURE.CONSTRAINT_FAILED(self2, message);
else if (!message) return util_1.FAILURE.CONSTRAINT_FAILED(self2);
return (0, util_1.SUCCESS)(result.value);
}, self2);
}
exports2.Constraint = Constraint;
var Guard = function (guard, options) {
return unknown_1.Unknown.withGuard(guard, options);
};
exports2.Guard = Guard;
},
});
// node_modules/runtypes/lib/types/dictionary.js
var require_dictionary = __commonJS({
"node_modules/runtypes/lib/types/dictionary.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Dictionary = void 0;
var runtype_1 = require_runtype();
var string_1 = require_string();
var constraint_1 = require_constraint();
var show_1 = require_show();
var util_1 = require_util();
var NumberKey = (0, constraint_1.Constraint)(
string_1.String,
function (s) {
return !isNaN(+s);
},
{name: "number"}
);
function Dictionary(value, key) {
var keyRuntype =
key === void 0
? string_1.String
: key === "string"
? string_1.String
: key === "number"
? NumberKey
: key;
var keyString = (0, show_1.default)(keyRuntype);
var self2 = {tag: "dictionary", key: keyString, value};
return (0, runtype_1.create)(function (x, visited) {
if (x === null || x === void 0 || typeof x !== "object")
return util_1.FAILURE.TYPE_INCORRECT(self2, x);
if (Object.getPrototypeOf(x) !== Object.prototype) {
if (!Array.isArray(x) || keyString === "string")
return util_1.FAILURE.TYPE_INCORRECT(self2, x);
}
var numberString = /^(?:NaN|-?\d+(?:\.\d+)?)$/;
var keys = (0, util_1.enumerableKeysOf)(x);
var results = keys.reduce(function (results2, key2) {
var isNumberLikeKey =
typeof key2 === "string" && numberString.test(key2);
var keyInterop = isNumberLikeKey ? globalThis.Number(key2) : key2;
if (
isNumberLikeKey
? !keyRuntype.guard(keyInterop) && !keyRuntype.guard(key2)
: !keyRuntype.guard(keyInterop)
) {
results2[key2] = util_1.FAILURE.KEY_INCORRECT(
self2,
keyRuntype.reflect,
keyInterop
);
} else results2[key2] = (0, runtype_1.innerValidate)(value, x[key2], visited);
return results2;
}, {});
var details = keys.reduce(function (details2, key2) {
var result = results[key2];
if (!result.success)
details2[key2] = result.details || result.message;
return details2;
}, {});
if ((0, util_1.enumerableKeysOf)(details).length !== 0)
return util_1.FAILURE.CONTENT_INCORRECT(self2, details);
else return (0, util_1.SUCCESS)(x);
}, self2);
}
exports2.Dictionary = Dictionary;
},
});
// node_modules/runtypes/lib/types/intersect.js
var require_intersect = __commonJS({
"node_modules/runtypes/lib/types/intersect.js"(exports2) {
"use strict";
var __values2 =
(exports2 && exports2.__values) ||
function (o) {
var s = typeof Symbol === "function" && Symbol.iterator,
m = s && o[s],
i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length) o = void 0;
return {value: o && o[i++], done: !o};
},
};
throw new TypeError(
s ? "Object is not iterable." : "Symbol.iterator is not defined."
);
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Intersect = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function Intersect() {
var intersectees = [];
for (var _i = 0; _i < arguments.length; _i++) {
intersectees[_i] = arguments[_i];
}
var self2 = {tag: "intersect", intersectees};
return (0, runtype_1.create)(function (value, visited) {
var e_1, _a;
try {
for (
var intersectees_1 = __values2(intersectees),
intersectees_1_1 = intersectees_1.next();
!intersectees_1_1.done;
intersectees_1_1 = intersectees_1.next()
) {
var targetType = intersectees_1_1.value;
var result = (0, runtype_1.innerValidate)(
targetType,
value,
visited
);
if (!result.success) return result;
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (
intersectees_1_1 &&
!intersectees_1_1.done &&
(_a = intersectees_1.return)
)
_a.call(intersectees_1);
} finally {
if (e_1) throw e_1.error;
}
}
return (0, util_1.SUCCESS)(value);
}, self2);
}
exports2.Intersect = Intersect;
},
});
// node_modules/runtypes/lib/types/optional.js
var require_optional = __commonJS({
"node_modules/runtypes/lib/types/optional.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Optional = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function Optional(runtype) {
var self2 = {tag: "optional", underlying: runtype};
return (0, runtype_1.create)(function (value) {
return value === void 0
? (0, util_1.SUCCESS)(value)
: runtype.validate(value);
}, self2);
}
exports2.Optional = Optional;
},
});
// node_modules/runtypes/lib/types/function.js
var require_function = __commonJS({
"node_modules/runtypes/lib/types/function.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Function = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
var self2 = {tag: "function"};
exports2.Function = (0, runtype_1.create)(function (value) {
return typeof value === "function"
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
},
});
// node_modules/runtypes/lib/types/instanceof.js
var require_instanceof = __commonJS({
"node_modules/runtypes/lib/types/instanceof.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.InstanceOf = void 0;
var runtype_1 = require_runtype();
var util_1 = require_util();
function InstanceOf(ctor) {
var self2 = {tag: "instanceof", ctor};
return (0, runtype_1.create)(function (value) {
return value instanceof ctor
? (0, util_1.SUCCESS)(value)
: util_1.FAILURE.TYPE_INCORRECT(self2, value);
}, self2);
}
exports2.InstanceOf = InstanceOf;
},
});
// node_modules/runtypes/lib/types/lazy.js
var require_lazy = __commonJS({
"node_modules/runtypes/lib/types/lazy.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Lazy = void 0;
var runtype_1 = require_runtype();
function Lazy(delayed) {
var data = {
get tag() {
return getWrapped()["tag"];
},
};
var cached;
function getWrapped() {
if (!cached) {
cached = delayed();
for (var k in cached) if (k !== "tag") data[k] = cached[k];
}
return cached;
}
return (0, runtype_1.create)(function (x) {
return getWrapped().validate(x);
}, data);
}
exports2.Lazy = Lazy;
},
});
// node_modules/runtypes/lib/types/brand.js
var require_brand = __commonJS({
"node_modules/runtypes/lib/types/brand.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.Brand = void 0;
var runtype_1 = require_runtype();
function Brand(brand, entity) {
var self2 = {tag: "brand", brand, entity};
return (0, runtype_1.create)(function (value) {
return entity.validate(value);
}, self2);
}
exports2.Brand = Brand;
},
});
// node_modules/runtypes/lib/decorator.js
var require_decorator = __commonJS({
"node_modules/runtypes/lib/decorator.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.checked = exports2.check = void 0;
var errors_1 = require_errors();
var util_1 = require_util();
var prototypes = /* @__PURE__ */ new WeakMap();
function check(target, propertyKey, parameterIndex) {
var prototype3 = prototypes.get(target) || /* @__PURE__ */ new Map();
prototypes.set(target, prototype3);
var validParameterIndices = prototype3.get(propertyKey) || [];
prototype3.set(propertyKey, validParameterIndices);
validParameterIndices.push(parameterIndex);
}
exports2.check = check;
function getValidParameterIndices(target, propertyKey, runtypeCount) {
var prototype3 = prototypes.get(target);
var validParameterIndices = prototype3 && prototype3.get(propertyKey);
if (validParameterIndices) {
return validParameterIndices;
}
var indices = [];
for (var i = 0; i < runtypeCount; i++) {
indices.push(i);
}
return indices;
}
function checked() {
var runtypes = [];
for (var _i = 0; _i < arguments.length; _i++) {
runtypes[_i] = arguments[_i];
}
if (runtypes.length === 0) {
throw new Error(
"No runtype provided to `@checked`. Please remove the decorator."
);
}
return function (target, propertyKey, descriptor) {
var method = descriptor.value;
var methodId =
(target.name || target.constructor.name + ".prototype") +
(typeof propertyKey === "string"
? '["'.concat(propertyKey, '"]')
: "[".concat(String(propertyKey), "]"));
var validParameterIndices = getValidParameterIndices(
target,
propertyKey,
runtypes.length
);
if (validParameterIndices.length !== runtypes.length) {
throw new Error(
"Number of `@checked` runtypes and @check parameters not matched."
);
}
if (validParameterIndices.length > method.length) {
throw new Error(
"Number of `@checked` runtypes exceeds actual parameter length."
);
}
descriptor.value = function () {
var args = [];
for (var _i2 = 0; _i2 < arguments.length; _i2++) {
args[_i2] = arguments[_i2];
}
runtypes.forEach(function (type, typeIndex) {
var parameterIndex = validParameterIndices[typeIndex];
var result = type.validate(args[parameterIndex]);
if (!result.success) {
var message = ""
.concat(methodId, ", argument #")
.concat(parameterIndex, ": ")
.concat(result.message);
var failure = util_1.FAILURE.ARGUMENT_INCORRECT(message);
throw new errors_1.ValidationError(failure);
}
});
return method.apply(this, args);
};
};
}
exports2.checked = checked;
},
});
// node_modules/runtypes/lib/index.js
var require_lib = __commonJS({
"node_modules/runtypes/lib/index.js"(exports2) {
"use strict";
var __createBinding2 =
(exports2 && exports2.__createBinding) ||
(Object.create
? function (o, m, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o, k2, {
enumerable: true,
get: function () {
return m[k];
},
});
}
: function (o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
});
var __exportStar2 =
(exports2 && exports2.__exportStar) ||
function (m, exports3) {
for (var p in m)
if (
p !== "default" &&
!Object.prototype.hasOwnProperty.call(exports3, p)
)
__createBinding2(exports3, m, p);
};
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.InstanceOf =
exports2.Nullish =
exports2.Null =
exports2.Undefined =
exports2.Literal =
void 0;
__exportStar2(require_reflect(), exports2);
__exportStar2(require_result(), exports2);
__exportStar2(require_contract(), exports2);
__exportStar2(require_asynccontract(), exports2);
__exportStar2(require_match(), exports2);
__exportStar2(require_errors(), exports2);
__exportStar2(require_unknown(), exports2);
__exportStar2(require_never(), exports2);
__exportStar2(require_void(), exports2);
var literal_1 = require_literal();
Object.defineProperty(exports2, "Literal", {
enumerable: true,
get: function () {
return literal_1.Literal;
},
});
Object.defineProperty(exports2, "Undefined", {
enumerable: true,
get: function () {
return literal_1.Undefined;
},
});
Object.defineProperty(exports2, "Null", {
enumerable: true,
get: function () {
return literal_1.Null;
},
});
Object.defineProperty(exports2, "Nullish", {
enumerable: true,
get: function () {
return literal_1.Nullish;
},
});
__exportStar2(require_template(), exports2);
__exportStar2(require_boolean(), exports2);
__exportStar2(require_number(), exports2);
__exportStar2(require_bigint(), exports2);
__exportStar2(require_string(), exports2);
__exportStar2(require_symbol(), exports2);
__exportStar2(require_array(), exports2);
__exportStar2(require_tuple(), exports2);
__exportStar2(require_record(), exports2);
__exportStar2(require_dictionary(), exports2);
__exportStar2(require_union(), exports2);
__exportStar2(require_intersect(), exports2);
__exportStar2(require_optional(), exports2);
__exportStar2(require_function(), exports2);
var instanceof_1 = require_instanceof();
Object.defineProperty(exports2, "InstanceOf", {
enumerable: true,
get: function () {
return instanceof_1.InstanceOf;
},
});
__exportStar2(require_lazy(), exports2);
__exportStar2(require_constraint(), exports2);
__exportStar2(require_brand(), exports2);
__exportStar2(require_decorator(), exports2);
},
});
// node_modules/delayed-stream/lib/delayed_stream.js
var require_delayed_stream = __commonJS({
"node_modules/delayed-stream/lib/delayed_stream.js"(exports2, module2) {
var Stream = require("stream").Stream;
var util2 = require("util");
module2.exports = DelayedStream;
function DelayedStream() {
this.source = null;
this.dataSize = 0;
this.maxDataSize = 1024 * 1024;
this.pauseStream = true;
this._maxDataSizeExceeded = false;
this._released = false;
this._bufferedEvents = [];
}
util2.inherits(DelayedStream, Stream);
DelayedStream.create = function (source, options) {
var delayedStream = new this();
options = options || {};
for (var option in options) {
delayedStream[option] = options[option];
}
delayedStream.source = source;
var realEmit = source.emit;
source.emit = function () {
delayedStream._handleEmit(arguments);
return realEmit.apply(source, arguments);
};
source.on("error", function () {});
if (delayedStream.pauseStream) {
source.pause();
}
return delayedStream;
};
Object.defineProperty(DelayedStream.prototype, "readable", {
configurable: true,
enumerable: true,
get: function () {
return this.source.readable;
},
});
DelayedStream.prototype.setEncoding = function () {
return this.source.setEncoding.apply(this.source, arguments);
};
DelayedStream.prototype.resume = function () {
if (!this._released) {
this.release();
}
this.source.resume();
};
DelayedStream.prototype.pause = function () {
this.source.pause();
};
DelayedStream.prototype.release = function () {
this._released = true;
this._bufferedEvents.forEach(
function (args) {
this.emit.apply(this, args);
}.bind(this)
);
this._bufferedEvents = [];
};
DelayedStream.prototype.pipe = function () {
var r = Stream.prototype.pipe.apply(this, arguments);
this.resume();
return r;
};
DelayedStream.prototype._handleEmit = function (args) {
if (this._released) {
this.emit.apply(this, args);
return;
}
if (args[0] === "data") {
this.dataSize += args[1].length;
this._checkIfMaxDataSizeExceeded();
}
this._bufferedEvents.push(args);
};
DelayedStream.prototype._checkIfMaxDataSizeExceeded = function () {
if (this._maxDataSizeExceeded) {
return;
}
if (this.dataSize <= this.maxDataSize) {
return;
}
this._maxDataSizeExceeded = true;
var message =
"DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
this.emit("error", new Error(message));
};
},
});
// node_modules/combined-stream/lib/combined_stream.js
var require_combined_stream = __commonJS({
"node_modules/combined-stream/lib/combined_stream.js"(exports2, module2) {
var util2 = require("util");
var Stream = require("stream").Stream;
var DelayedStream = require_delayed_stream();
module2.exports = CombinedStream;
function CombinedStream() {
this.writable = false;
this.readable = true;
this.dataSize = 0;
this.maxDataSize = 2 * 1024 * 1024;
this.pauseStreams = true;
this._released = false;
this._streams = [];
this._currentStream = null;
this._insideLoop = false;
this._pendingNext = false;
}
util2.inherits(CombinedStream, Stream);
CombinedStream.create = function (options) {
var combinedStream = new this();
options = options || {};
for (var option in options) {
combinedStream[option] = options[option];
}
return combinedStream;
};
CombinedStream.isStreamLike = function (stream4) {
return (
typeof stream4 !== "function" &&
typeof stream4 !== "string" &&
typeof stream4 !== "boolean" &&
typeof stream4 !== "number" &&
!Buffer.isBuffer(stream4)
);
};
CombinedStream.prototype.append = function (stream4) {
var isStreamLike = CombinedStream.isStreamLike(stream4);
if (isStreamLike) {
if (!(stream4 instanceof DelayedStream)) {
var newStream = DelayedStream.create(stream4, {
maxDataSize: Infinity,
pauseStream: this.pauseStreams,
});
stream4.on("data", this._checkDataSize.bind(this));
stream4 = newStream;
}
this._handleErrors(stream4);
if (this.pauseStreams) {
stream4.pause();
}
}
this._streams.push(stream4);
return this;
};
CombinedStream.prototype.pipe = function (dest, options) {
Stream.prototype.pipe.call(this, dest, options);
this.resume();
return dest;
};
CombinedStream.prototype._getNext = function () {
this._currentStream = null;
if (this._insideLoop) {
this._pendingNext = true;
return;
}
this._insideLoop = true;
try {
do {
this._pendingNext = false;
this._realGetNext();
} while (this._pendingNext);
} finally {
this._insideLoop = false;
}
};
CombinedStream.prototype._realGetNext = function () {
var stream4 = this._streams.shift();
if (typeof stream4 == "undefined") {
this.end();
return;
}
if (typeof stream4 !== "function") {
this._pipeNext(stream4);
return;
}
var getStream = stream4;
getStream(
function (stream5) {
var isStreamLike = CombinedStream.isStreamLike(stream5);
if (isStreamLike) {
stream5.on("data", this._checkDataSize.bind(this));
this._handleErrors(stream5);
}
this._pipeNext(stream5);
}.bind(this)
);
};
CombinedStream.prototype._pipeNext = function (stream4) {
this._currentStream = stream4;
var isStreamLike = CombinedStream.isStreamLike(stream4);
if (isStreamLike) {
stream4.on("end", this._getNext.bind(this));
stream4.pipe(this, {end: false});
return;
}
var value = stream4;
this.write(value);
this._getNext();
};
CombinedStream.prototype._handleErrors = function (stream4) {
var self2 = this;
stream4.on("error", function (err) {
self2._emitError(err);
});
};
CombinedStream.prototype.write = function (data) {
this.emit("data", data);
};
CombinedStream.prototype.pause = function () {
if (!this.pauseStreams) {
return;
}
if (
this.pauseStreams &&
this._currentStream &&
typeof this._currentStream.pause == "function"
)
this._currentStream.pause();
this.emit("pause");
};
CombinedStream.prototype.resume = function () {
if (!this._released) {
this._released = true;
this.writable = true;
this._getNext();
}
if (
this.pauseStreams &&
this._currentStream &&
typeof this._currentStream.resume == "function"
)
this._currentStream.resume();
this.emit("resume");
};
CombinedStream.prototype.end = function () {
this._reset();
this.emit("end");
};
CombinedStream.prototype.destroy = function () {
this._reset();
this.emit("close");
};
CombinedStream.prototype._reset = function () {
this.writable = false;
this._streams = [];
this._currentStream = null;
};
CombinedStream.prototype._checkDataSize = function () {
this._updateDataSize();
if (this.dataSize <= this.maxDataSize) {
return;
}
var message =
"DelayedStream#maxDataSize of " + this.maxDataSize + " bytes exceeded.";
this._emitError(new Error(message));
};
CombinedStream.prototype._updateDataSize = function () {
this.dataSize = 0;
var self2 = this;
this._streams.forEach(function (stream4) {
if (!stream4.dataSize) {
return;
}
self2.dataSize += stream4.dataSize;
});
if (this._currentStream && this._currentStream.dataSize) {
this.dataSize += this._currentStream.dataSize;
}
};
CombinedStream.prototype._emitError = function (err) {
this._reset();
this.emit("error", err);
};
},
});
// node_modules/mime-db/db.json
var require_db = __commonJS({
"node_modules/mime-db/db.json"(exports2, module2) {
module2.exports = {
"application/1d-interleaved-parityfec": {
source: "iana",
},
"application/3gpdash-qoe-report+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/3gpp-ims+xml": {
source: "iana",
compressible: true,
},
"application/a2l": {
source: "iana",
},
"application/activemessage": {
source: "iana",
},
"application/activity+json": {
source: "iana",
compressible: true,
},
"application/alto-costmap+json": {
source: "iana",
compressible: true,
},
"application/alto-costmapfilter+json": {
source: "iana",
compressible: true,
},
"application/alto-directory+json": {
source: "iana",
compressible: true,
},
"application/alto-endpointcost+json": {
source: "iana",
compressible: true,
},
"application/alto-endpointcostparams+json": {
source: "iana",
compressible: true,
},
"application/alto-endpointprop+json": {
source: "iana",
compressible: true,
},
"application/alto-endpointpropparams+json": {
source: "iana",
compressible: true,
},
"application/alto-error+json": {
source: "iana",
compressible: true,
},
"application/alto-networkmap+json": {
source: "iana",
compressible: true,
},
"application/alto-networkmapfilter+json": {
source: "iana",
compressible: true,
},
"application/alto-updatestreamcontrol+json": {
source: "iana",
compressible: true,
},
"application/alto-updatestreamparams+json": {
source: "iana",
compressible: true,
},
"application/aml": {
source: "iana",
},
"application/andrew-inset": {
source: "iana",
extensions: ["ez"],
},
"application/applefile": {
source: "iana",
},
"application/applixware": {
source: "apache",
extensions: ["aw"],
},
"application/atf": {
source: "iana",
},
"application/atfx": {
source: "iana",
},
"application/atom+xml": {
source: "iana",
compressible: true,
extensions: ["atom"],
},
"application/atomcat+xml": {
source: "iana",
compressible: true,
extensions: ["atomcat"],
},
"application/atomdeleted+xml": {
source: "iana",
compressible: true,
extensions: ["atomdeleted"],
},
"application/atomicmail": {
source: "iana",
},
"application/atomsvc+xml": {
source: "iana",
compressible: true,
extensions: ["atomsvc"],
},
"application/atsc-dwd+xml": {
source: "iana",
compressible: true,
extensions: ["dwd"],
},
"application/atsc-dynamic-event-message": {
source: "iana",
},
"application/atsc-held+xml": {
source: "iana",
compressible: true,
extensions: ["held"],
},
"application/atsc-rdt+json": {
source: "iana",
compressible: true,
},
"application/atsc-rsat+xml": {
source: "iana",
compressible: true,
extensions: ["rsat"],
},
"application/atxml": {
source: "iana",
},
"application/auth-policy+xml": {
source: "iana",
compressible: true,
},
"application/bacnet-xdd+zip": {
source: "iana",
compressible: false,
},
"application/batch-smtp": {
source: "iana",
},
"application/bdoc": {
compressible: false,
extensions: ["bdoc"],
},
"application/beep+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/calendar+json": {
source: "iana",
compressible: true,
},
"application/calendar+xml": {
source: "iana",
compressible: true,
extensions: ["xcs"],
},
"application/call-completion": {
source: "iana",
},
"application/cals-1840": {
source: "iana",
},
"application/captive+json": {
source: "iana",
compressible: true,
},
"application/cbor": {
source: "iana",
},
"application/cbor-seq": {
source: "iana",
},
"application/cccex": {
source: "iana",
},
"application/ccmp+xml": {
source: "iana",
compressible: true,
},
"application/ccxml+xml": {
source: "iana",
compressible: true,
extensions: ["ccxml"],
},
"application/cdfx+xml": {
source: "iana",
compressible: true,
extensions: ["cdfx"],
},
"application/cdmi-capability": {
source: "iana",
extensions: ["cdmia"],
},
"application/cdmi-container": {
source: "iana",
extensions: ["cdmic"],
},
"application/cdmi-domain": {
source: "iana",
extensions: ["cdmid"],
},
"application/cdmi-object": {
source: "iana",
extensions: ["cdmio"],
},
"application/cdmi-queue": {
source: "iana",
extensions: ["cdmiq"],
},
"application/cdni": {
source: "iana",
},
"application/cea": {
source: "iana",
},
"application/cea-2018+xml": {
source: "iana",
compressible: true,
},
"application/cellml+xml": {
source: "iana",
compressible: true,
},
"application/cfw": {
source: "iana",
},
"application/clue+xml": {
source: "iana",
compressible: true,
},
"application/clue_info+xml": {
source: "iana",
compressible: true,
},
"application/cms": {
source: "iana",
},
"application/cnrp+xml": {
source: "iana",
compressible: true,
},
"application/coap-group+json": {
source: "iana",
compressible: true,
},
"application/coap-payload": {
source: "iana",
},
"application/commonground": {
source: "iana",
},
"application/conference-info+xml": {
source: "iana",
compressible: true,
},
"application/cose": {
source: "iana",
},
"application/cose-key": {
source: "iana",
},
"application/cose-key-set": {
source: "iana",
},
"application/cpl+xml": {
source: "iana",
compressible: true,
},
"application/csrattrs": {
source: "iana",
},
"application/csta+xml": {
source: "iana",
compressible: true,
},
"application/cstadata+xml": {
source: "iana",
compressible: true,
},
"application/csvm+json": {
source: "iana",
compressible: true,
},
"application/cu-seeme": {
source: "apache",
extensions: ["cu"],
},
"application/cwt": {
source: "iana",
},
"application/cybercash": {
source: "iana",
},
"application/dart": {
compressible: true,
},
"application/dash+xml": {
source: "iana",
compressible: true,
extensions: ["mpd"],
},
"application/dashdelta": {
source: "iana",
},
"application/davmount+xml": {
source: "iana",
compressible: true,
extensions: ["davmount"],
},
"application/dca-rft": {
source: "iana",
},
"application/dcd": {
source: "iana",
},
"application/dec-dx": {
source: "iana",
},
"application/dialog-info+xml": {
source: "iana",
compressible: true,
},
"application/dicom": {
source: "iana",
},
"application/dicom+json": {
source: "iana",
compressible: true,
},
"application/dicom+xml": {
source: "iana",
compressible: true,
},
"application/dii": {
source: "iana",
},
"application/dit": {
source: "iana",
},
"application/dns": {
source: "iana",
},
"application/dns+json": {
source: "iana",
compressible: true,
},
"application/dns-message": {
source: "iana",
},
"application/docbook+xml": {
source: "apache",
compressible: true,
extensions: ["dbk"],
},
"application/dots+cbor": {
source: "iana",
},
"application/dskpp+xml": {
source: "iana",
compressible: true,
},
"application/dssc+der": {
source: "iana",
extensions: ["dssc"],
},
"application/dssc+xml": {
source: "iana",
compressible: true,
extensions: ["xdssc"],
},
"application/dvcs": {
source: "iana",
},
"application/ecmascript": {
source: "iana",
compressible: true,
extensions: ["ecma", "es"],
},
"application/edi-consent": {
source: "iana",
},
"application/edi-x12": {
source: "iana",
compressible: false,
},
"application/edifact": {
source: "iana",
compressible: false,
},
"application/efi": {
source: "iana",
},
"application/emergencycalldata.cap+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/emergencycalldata.comment+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.control+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.deviceinfo+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.ecall.msd": {
source: "iana",
},
"application/emergencycalldata.providerinfo+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.serviceinfo+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.subscriberinfo+xml": {
source: "iana",
compressible: true,
},
"application/emergencycalldata.veds+xml": {
source: "iana",
compressible: true,
},
"application/emma+xml": {
source: "iana",
compressible: true,
extensions: ["emma"],
},
"application/emotionml+xml": {
source: "iana",
compressible: true,
extensions: ["emotionml"],
},
"application/encaprtp": {
source: "iana",
},
"application/epp+xml": {
source: "iana",
compressible: true,
},
"application/epub+zip": {
source: "iana",
compressible: false,
extensions: ["epub"],
},
"application/eshop": {
source: "iana",
},
"application/exi": {
source: "iana",
extensions: ["exi"],
},
"application/expect-ct-report+json": {
source: "iana",
compressible: true,
},
"application/fastinfoset": {
source: "iana",
},
"application/fastsoap": {
source: "iana",
},
"application/fdt+xml": {
source: "iana",
compressible: true,
extensions: ["fdt"],
},
"application/fhir+json": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/fhir+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/fido.trusted-apps+json": {
compressible: true,
},
"application/fits": {
source: "iana",
},
"application/flexfec": {
source: "iana",
},
"application/font-sfnt": {
source: "iana",
},
"application/font-tdpfr": {
source: "iana",
extensions: ["pfr"],
},
"application/font-woff": {
source: "iana",
compressible: false,
},
"application/framework-attributes+xml": {
source: "iana",
compressible: true,
},
"application/geo+json": {
source: "iana",
compressible: true,
extensions: ["geojson"],
},
"application/geo+json-seq": {
source: "iana",
},
"application/geopackage+sqlite3": {
source: "iana",
},
"application/geoxacml+xml": {
source: "iana",
compressible: true,
},
"application/gltf-buffer": {
source: "iana",
},
"application/gml+xml": {
source: "iana",
compressible: true,
extensions: ["gml"],
},
"application/gpx+xml": {
source: "apache",
compressible: true,
extensions: ["gpx"],
},
"application/gxf": {
source: "apache",
extensions: ["gxf"],
},
"application/gzip": {
source: "iana",
compressible: false,
extensions: ["gz"],
},
"application/h224": {
source: "iana",
},
"application/held+xml": {
source: "iana",
compressible: true,
},
"application/hjson": {
extensions: ["hjson"],
},
"application/http": {
source: "iana",
},
"application/hyperstudio": {
source: "iana",
extensions: ["stk"],
},
"application/ibe-key-request+xml": {
source: "iana",
compressible: true,
},
"application/ibe-pkg-reply+xml": {
source: "iana",
compressible: true,
},
"application/ibe-pp-data": {
source: "iana",
},
"application/iges": {
source: "iana",
},
"application/im-iscomposing+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/index": {
source: "iana",
},
"application/index.cmd": {
source: "iana",
},
"application/index.obj": {
source: "iana",
},
"application/index.response": {
source: "iana",
},
"application/index.vnd": {
source: "iana",
},
"application/inkml+xml": {
source: "iana",
compressible: true,
extensions: ["ink", "inkml"],
},
"application/iotp": {
source: "iana",
},
"application/ipfix": {
source: "iana",
extensions: ["ipfix"],
},
"application/ipp": {
source: "iana",
},
"application/isup": {
source: "iana",
},
"application/its+xml": {
source: "iana",
compressible: true,
extensions: ["its"],
},
"application/java-archive": {
source: "apache",
compressible: false,
extensions: ["jar", "war", "ear"],
},
"application/java-serialized-object": {
source: "apache",
compressible: false,
extensions: ["ser"],
},
"application/java-vm": {
source: "apache",
compressible: false,
extensions: ["class"],
},
"application/javascript": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["js", "mjs"],
},
"application/jf2feed+json": {
source: "iana",
compressible: true,
},
"application/jose": {
source: "iana",
},
"application/jose+json": {
source: "iana",
compressible: true,
},
"application/jrd+json": {
source: "iana",
compressible: true,
},
"application/json": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["json", "map"],
},
"application/json-patch+json": {
source: "iana",
compressible: true,
},
"application/json-seq": {
source: "iana",
},
"application/json5": {
extensions: ["json5"],
},
"application/jsonml+json": {
source: "apache",
compressible: true,
extensions: ["jsonml"],
},
"application/jwk+json": {
source: "iana",
compressible: true,
},
"application/jwk-set+json": {
source: "iana",
compressible: true,
},
"application/jwt": {
source: "iana",
},
"application/kpml-request+xml": {
source: "iana",
compressible: true,
},
"application/kpml-response+xml": {
source: "iana",
compressible: true,
},
"application/ld+json": {
source: "iana",
compressible: true,
extensions: ["jsonld"],
},
"application/lgr+xml": {
source: "iana",
compressible: true,
extensions: ["lgr"],
},
"application/link-format": {
source: "iana",
},
"application/load-control+xml": {
source: "iana",
compressible: true,
},
"application/lost+xml": {
source: "iana",
compressible: true,
extensions: ["lostxml"],
},
"application/lostsync+xml": {
source: "iana",
compressible: true,
},
"application/lpf+zip": {
source: "iana",
compressible: false,
},
"application/lxf": {
source: "iana",
},
"application/mac-binhex40": {
source: "iana",
extensions: ["hqx"],
},
"application/mac-compactpro": {
source: "apache",
extensions: ["cpt"],
},
"application/macwriteii": {
source: "iana",
},
"application/mads+xml": {
source: "iana",
compressible: true,
extensions: ["mads"],
},
"application/manifest+json": {
charset: "UTF-8",
compressible: true,
extensions: ["webmanifest"],
},
"application/marc": {
source: "iana",
extensions: ["mrc"],
},
"application/marcxml+xml": {
source: "iana",
compressible: true,
extensions: ["mrcx"],
},
"application/mathematica": {
source: "iana",
extensions: ["ma", "nb", "mb"],
},
"application/mathml+xml": {
source: "iana",
compressible: true,
extensions: ["mathml"],
},
"application/mathml-content+xml": {
source: "iana",
compressible: true,
},
"application/mathml-presentation+xml": {
source: "iana",
compressible: true,
},
"application/mbms-associated-procedure-description+xml": {
source: "iana",
compressible: true,
},
"application/mbms-deregister+xml": {
source: "iana",
compressible: true,
},
"application/mbms-envelope+xml": {
source: "iana",
compressible: true,
},
"application/mbms-msk+xml": {
source: "iana",
compressible: true,
},
"application/mbms-msk-response+xml": {
source: "iana",
compressible: true,
},
"application/mbms-protection-description+xml": {
source: "iana",
compressible: true,
},
"application/mbms-reception-report+xml": {
source: "iana",
compressible: true,
},
"application/mbms-register+xml": {
source: "iana",
compressible: true,
},
"application/mbms-register-response+xml": {
source: "iana",
compressible: true,
},
"application/mbms-schedule+xml": {
source: "iana",
compressible: true,
},
"application/mbms-user-service-description+xml": {
source: "iana",
compressible: true,
},
"application/mbox": {
source: "iana",
extensions: ["mbox"],
},
"application/media-policy-dataset+xml": {
source: "iana",
compressible: true,
},
"application/media_control+xml": {
source: "iana",
compressible: true,
},
"application/mediaservercontrol+xml": {
source: "iana",
compressible: true,
extensions: ["mscml"],
},
"application/merge-patch+json": {
source: "iana",
compressible: true,
},
"application/metalink+xml": {
source: "apache",
compressible: true,
extensions: ["metalink"],
},
"application/metalink4+xml": {
source: "iana",
compressible: true,
extensions: ["meta4"],
},
"application/mets+xml": {
source: "iana",
compressible: true,
extensions: ["mets"],
},
"application/mf4": {
source: "iana",
},
"application/mikey": {
source: "iana",
},
"application/mipc": {
source: "iana",
},
"application/mmt-aei+xml": {
source: "iana",
compressible: true,
extensions: ["maei"],
},
"application/mmt-usd+xml": {
source: "iana",
compressible: true,
extensions: ["musd"],
},
"application/mods+xml": {
source: "iana",
compressible: true,
extensions: ["mods"],
},
"application/moss-keys": {
source: "iana",
},
"application/moss-signature": {
source: "iana",
},
"application/mosskey-data": {
source: "iana",
},
"application/mosskey-request": {
source: "iana",
},
"application/mp21": {
source: "iana",
extensions: ["m21", "mp21"],
},
"application/mp4": {
source: "iana",
extensions: ["mp4s", "m4p"],
},
"application/mpeg4-generic": {
source: "iana",
},
"application/mpeg4-iod": {
source: "iana",
},
"application/mpeg4-iod-xmt": {
source: "iana",
},
"application/mrb-consumer+xml": {
source: "iana",
compressible: true,
extensions: ["xdf"],
},
"application/mrb-publish+xml": {
source: "iana",
compressible: true,
extensions: ["xdf"],
},
"application/msc-ivr+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/msc-mixer+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/msword": {
source: "iana",
compressible: false,
extensions: ["doc", "dot"],
},
"application/mud+json": {
source: "iana",
compressible: true,
},
"application/multipart-core": {
source: "iana",
},
"application/mxf": {
source: "iana",
extensions: ["mxf"],
},
"application/n-quads": {
source: "iana",
extensions: ["nq"],
},
"application/n-triples": {
source: "iana",
extensions: ["nt"],
},
"application/nasdata": {
source: "iana",
},
"application/news-checkgroups": {
source: "iana",
charset: "US-ASCII",
},
"application/news-groupinfo": {
source: "iana",
charset: "US-ASCII",
},
"application/news-transmission": {
source: "iana",
},
"application/nlsml+xml": {
source: "iana",
compressible: true,
},
"application/node": {
source: "iana",
extensions: ["cjs"],
},
"application/nss": {
source: "iana",
},
"application/ocsp-request": {
source: "iana",
},
"application/ocsp-response": {
source: "iana",
},
"application/octet-stream": {
source: "iana",
compressible: false,
extensions: [
"bin",
"dms",
"lrf",
"mar",
"so",
"dist",
"distz",
"pkg",
"bpk",
"dump",
"elc",
"deploy",
"exe",
"dll",
"deb",
"dmg",
"iso",
"img",
"msi",
"msp",
"msm",
"buffer",
],
},
"application/oda": {
source: "iana",
extensions: ["oda"],
},
"application/odm+xml": {
source: "iana",
compressible: true,
},
"application/odx": {
source: "iana",
},
"application/oebps-package+xml": {
source: "iana",
compressible: true,
extensions: ["opf"],
},
"application/ogg": {
source: "iana",
compressible: false,
extensions: ["ogx"],
},
"application/omdoc+xml": {
source: "apache",
compressible: true,
extensions: ["omdoc"],
},
"application/onenote": {
source: "apache",
extensions: ["onetoc", "onetoc2", "onetmp", "onepkg"],
},
"application/opc-nodeset+xml": {
source: "iana",
compressible: true,
},
"application/oscore": {
source: "iana",
},
"application/oxps": {
source: "iana",
extensions: ["oxps"],
},
"application/p2p-overlay+xml": {
source: "iana",
compressible: true,
extensions: ["relo"],
},
"application/parityfec": {
source: "iana",
},
"application/passport": {
source: "iana",
},
"application/patch-ops-error+xml": {
source: "iana",
compressible: true,
extensions: ["xer"],
},
"application/pdf": {
source: "iana",
compressible: false,
extensions: ["pdf"],
},
"application/pdx": {
source: "iana",
},
"application/pem-certificate-chain": {
source: "iana",
},
"application/pgp-encrypted": {
source: "iana",
compressible: false,
extensions: ["pgp"],
},
"application/pgp-keys": {
source: "iana",
},
"application/pgp-signature": {
source: "iana",
extensions: ["asc", "sig"],
},
"application/pics-rules": {
source: "apache",
extensions: ["prf"],
},
"application/pidf+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/pidf-diff+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/pkcs10": {
source: "iana",
extensions: ["p10"],
},
"application/pkcs12": {
source: "iana",
},
"application/pkcs7-mime": {
source: "iana",
extensions: ["p7m", "p7c"],
},
"application/pkcs7-signature": {
source: "iana",
extensions: ["p7s"],
},
"application/pkcs8": {
source: "iana",
extensions: ["p8"],
},
"application/pkcs8-encrypted": {
source: "iana",
},
"application/pkix-attr-cert": {
source: "iana",
extensions: ["ac"],
},
"application/pkix-cert": {
source: "iana",
extensions: ["cer"],
},
"application/pkix-crl": {
source: "iana",
extensions: ["crl"],
},
"application/pkix-pkipath": {
source: "iana",
extensions: ["pkipath"],
},
"application/pkixcmp": {
source: "iana",
extensions: ["pki"],
},
"application/pls+xml": {
source: "iana",
compressible: true,
extensions: ["pls"],
},
"application/poc-settings+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/postscript": {
source: "iana",
compressible: true,
extensions: ["ai", "eps", "ps"],
},
"application/ppsp-tracker+json": {
source: "iana",
compressible: true,
},
"application/problem+json": {
source: "iana",
compressible: true,
},
"application/problem+xml": {
source: "iana",
compressible: true,
},
"application/provenance+xml": {
source: "iana",
compressible: true,
extensions: ["provx"],
},
"application/prs.alvestrand.titrax-sheet": {
source: "iana",
},
"application/prs.cww": {
source: "iana",
extensions: ["cww"],
},
"application/prs.hpub+zip": {
source: "iana",
compressible: false,
},
"application/prs.nprend": {
source: "iana",
},
"application/prs.plucker": {
source: "iana",
},
"application/prs.rdf-xml-crypt": {
source: "iana",
},
"application/prs.xsf+xml": {
source: "iana",
compressible: true,
},
"application/pskc+xml": {
source: "iana",
compressible: true,
extensions: ["pskcxml"],
},
"application/pvd+json": {
source: "iana",
compressible: true,
},
"application/qsig": {
source: "iana",
},
"application/raml+yaml": {
compressible: true,
extensions: ["raml"],
},
"application/raptorfec": {
source: "iana",
},
"application/rdap+json": {
source: "iana",
compressible: true,
},
"application/rdf+xml": {
source: "iana",
compressible: true,
extensions: ["rdf", "owl"],
},
"application/reginfo+xml": {
source: "iana",
compressible: true,
extensions: ["rif"],
},
"application/relax-ng-compact-syntax": {
source: "iana",
extensions: ["rnc"],
},
"application/remote-printing": {
source: "iana",
},
"application/reputon+json": {
source: "iana",
compressible: true,
},
"application/resource-lists+xml": {
source: "iana",
compressible: true,
extensions: ["rl"],
},
"application/resource-lists-diff+xml": {
source: "iana",
compressible: true,
extensions: ["rld"],
},
"application/rfc+xml": {
source: "iana",
compressible: true,
},
"application/riscos": {
source: "iana",
},
"application/rlmi+xml": {
source: "iana",
compressible: true,
},
"application/rls-services+xml": {
source: "iana",
compressible: true,
extensions: ["rs"],
},
"application/route-apd+xml": {
source: "iana",
compressible: true,
extensions: ["rapd"],
},
"application/route-s-tsid+xml": {
source: "iana",
compressible: true,
extensions: ["sls"],
},
"application/route-usd+xml": {
source: "iana",
compressible: true,
extensions: ["rusd"],
},
"application/rpki-ghostbusters": {
source: "iana",
extensions: ["gbr"],
},
"application/rpki-manifest": {
source: "iana",
extensions: ["mft"],
},
"application/rpki-publication": {
source: "iana",
},
"application/rpki-roa": {
source: "iana",
extensions: ["roa"],
},
"application/rpki-updown": {
source: "iana",
},
"application/rsd+xml": {
source: "apache",
compressible: true,
extensions: ["rsd"],
},
"application/rss+xml": {
source: "apache",
compressible: true,
extensions: ["rss"],
},
"application/rtf": {
source: "iana",
compressible: true,
extensions: ["rtf"],
},
"application/rtploopback": {
source: "iana",
},
"application/rtx": {
source: "iana",
},
"application/samlassertion+xml": {
source: "iana",
compressible: true,
},
"application/samlmetadata+xml": {
source: "iana",
compressible: true,
},
"application/sarif+json": {
source: "iana",
compressible: true,
},
"application/sbe": {
source: "iana",
},
"application/sbml+xml": {
source: "iana",
compressible: true,
extensions: ["sbml"],
},
"application/scaip+xml": {
source: "iana",
compressible: true,
},
"application/scim+json": {
source: "iana",
compressible: true,
},
"application/scvp-cv-request": {
source: "iana",
extensions: ["scq"],
},
"application/scvp-cv-response": {
source: "iana",
extensions: ["scs"],
},
"application/scvp-vp-request": {
source: "iana",
extensions: ["spq"],
},
"application/scvp-vp-response": {
source: "iana",
extensions: ["spp"],
},
"application/sdp": {
source: "iana",
extensions: ["sdp"],
},
"application/secevent+jwt": {
source: "iana",
},
"application/senml+cbor": {
source: "iana",
},
"application/senml+json": {
source: "iana",
compressible: true,
},
"application/senml+xml": {
source: "iana",
compressible: true,
extensions: ["senmlx"],
},
"application/senml-etch+cbor": {
source: "iana",
},
"application/senml-etch+json": {
source: "iana",
compressible: true,
},
"application/senml-exi": {
source: "iana",
},
"application/sensml+cbor": {
source: "iana",
},
"application/sensml+json": {
source: "iana",
compressible: true,
},
"application/sensml+xml": {
source: "iana",
compressible: true,
extensions: ["sensmlx"],
},
"application/sensml-exi": {
source: "iana",
},
"application/sep+xml": {
source: "iana",
compressible: true,
},
"application/sep-exi": {
source: "iana",
},
"application/session-info": {
source: "iana",
},
"application/set-payment": {
source: "iana",
},
"application/set-payment-initiation": {
source: "iana",
extensions: ["setpay"],
},
"application/set-registration": {
source: "iana",
},
"application/set-registration-initiation": {
source: "iana",
extensions: ["setreg"],
},
"application/sgml": {
source: "iana",
},
"application/sgml-open-catalog": {
source: "iana",
},
"application/shf+xml": {
source: "iana",
compressible: true,
extensions: ["shf"],
},
"application/sieve": {
source: "iana",
extensions: ["siv", "sieve"],
},
"application/simple-filter+xml": {
source: "iana",
compressible: true,
},
"application/simple-message-summary": {
source: "iana",
},
"application/simplesymbolcontainer": {
source: "iana",
},
"application/sipc": {
source: "iana",
},
"application/slate": {
source: "iana",
},
"application/smil": {
source: "iana",
},
"application/smil+xml": {
source: "iana",
compressible: true,
extensions: ["smi", "smil"],
},
"application/smpte336m": {
source: "iana",
},
"application/soap+fastinfoset": {
source: "iana",
},
"application/soap+xml": {
source: "iana",
compressible: true,
},
"application/sparql-query": {
source: "iana",
extensions: ["rq"],
},
"application/sparql-results+xml": {
source: "iana",
compressible: true,
extensions: ["srx"],
},
"application/spirits-event+xml": {
source: "iana",
compressible: true,
},
"application/sql": {
source: "iana",
},
"application/srgs": {
source: "iana",
extensions: ["gram"],
},
"application/srgs+xml": {
source: "iana",
compressible: true,
extensions: ["grxml"],
},
"application/sru+xml": {
source: "iana",
compressible: true,
extensions: ["sru"],
},
"application/ssdl+xml": {
source: "apache",
compressible: true,
extensions: ["ssdl"],
},
"application/ssml+xml": {
source: "iana",
compressible: true,
extensions: ["ssml"],
},
"application/stix+json": {
source: "iana",
compressible: true,
},
"application/swid+xml": {
source: "iana",
compressible: true,
extensions: ["swidtag"],
},
"application/tamp-apex-update": {
source: "iana",
},
"application/tamp-apex-update-confirm": {
source: "iana",
},
"application/tamp-community-update": {
source: "iana",
},
"application/tamp-community-update-confirm": {
source: "iana",
},
"application/tamp-error": {
source: "iana",
},
"application/tamp-sequence-adjust": {
source: "iana",
},
"application/tamp-sequence-adjust-confirm": {
source: "iana",
},
"application/tamp-status-query": {
source: "iana",
},
"application/tamp-status-response": {
source: "iana",
},
"application/tamp-update": {
source: "iana",
},
"application/tamp-update-confirm": {
source: "iana",
},
"application/tar": {
compressible: true,
},
"application/taxii+json": {
source: "iana",
compressible: true,
},
"application/td+json": {
source: "iana",
compressible: true,
},
"application/tei+xml": {
source: "iana",
compressible: true,
extensions: ["tei", "teicorpus"],
},
"application/tetra_isi": {
source: "iana",
},
"application/thraud+xml": {
source: "iana",
compressible: true,
extensions: ["tfi"],
},
"application/timestamp-query": {
source: "iana",
},
"application/timestamp-reply": {
source: "iana",
},
"application/timestamped-data": {
source: "iana",
extensions: ["tsd"],
},
"application/tlsrpt+gzip": {
source: "iana",
},
"application/tlsrpt+json": {
source: "iana",
compressible: true,
},
"application/tnauthlist": {
source: "iana",
},
"application/toml": {
compressible: true,
extensions: ["toml"],
},
"application/trickle-ice-sdpfrag": {
source: "iana",
},
"application/trig": {
source: "iana",
},
"application/ttml+xml": {
source: "iana",
compressible: true,
extensions: ["ttml"],
},
"application/tve-trigger": {
source: "iana",
},
"application/tzif": {
source: "iana",
},
"application/tzif-leap": {
source: "iana",
},
"application/ubjson": {
compressible: false,
extensions: ["ubj"],
},
"application/ulpfec": {
source: "iana",
},
"application/urc-grpsheet+xml": {
source: "iana",
compressible: true,
},
"application/urc-ressheet+xml": {
source: "iana",
compressible: true,
extensions: ["rsheet"],
},
"application/urc-targetdesc+xml": {
source: "iana",
compressible: true,
extensions: ["td"],
},
"application/urc-uisocketdesc+xml": {
source: "iana",
compressible: true,
},
"application/vcard+json": {
source: "iana",
compressible: true,
},
"application/vcard+xml": {
source: "iana",
compressible: true,
},
"application/vemmi": {
source: "iana",
},
"application/vividence.scriptfile": {
source: "apache",
},
"application/vnd.1000minds.decision-model+xml": {
source: "iana",
compressible: true,
extensions: ["1km"],
},
"application/vnd.3gpp-prose+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp-prose-pc3ch+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp-v2x-local-service-information": {
source: "iana",
},
"application/vnd.3gpp.access-transfer-events+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.bsf+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.gmop+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mc-signalling-ear": {
source: "iana",
},
"application/vnd.3gpp.mcdata-affiliation-command+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcdata-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcdata-payload": {
source: "iana",
},
"application/vnd.3gpp.mcdata-service-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcdata-signalling": {
source: "iana",
},
"application/vnd.3gpp.mcdata-ue-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcdata-user-profile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-affiliation-command+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-floor-request+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-location-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-mbms-usage-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-service-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-signed+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-ue-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-ue-init-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcptt-user-profile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-affiliation-command+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-affiliation-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-location-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-mbms-usage-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-service-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-transmission-request+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-ue-config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mcvideo-user-profile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.mid-call+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.pic-bw-large": {
source: "iana",
extensions: ["plb"],
},
"application/vnd.3gpp.pic-bw-small": {
source: "iana",
extensions: ["psb"],
},
"application/vnd.3gpp.pic-bw-var": {
source: "iana",
extensions: ["pvb"],
},
"application/vnd.3gpp.sms": {
source: "iana",
},
"application/vnd.3gpp.sms+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.srvcc-ext+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.srvcc-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.state-and-event-info+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp.ussd+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp2.bcmcsinfo+xml": {
source: "iana",
compressible: true,
},
"application/vnd.3gpp2.sms": {
source: "iana",
},
"application/vnd.3gpp2.tcap": {
source: "iana",
extensions: ["tcap"],
},
"application/vnd.3lightssoftware.imagescal": {
source: "iana",
},
"application/vnd.3m.post-it-notes": {
source: "iana",
extensions: ["pwn"],
},
"application/vnd.accpac.simply.aso": {
source: "iana",
extensions: ["aso"],
},
"application/vnd.accpac.simply.imp": {
source: "iana",
extensions: ["imp"],
},
"application/vnd.acucobol": {
source: "iana",
extensions: ["acu"],
},
"application/vnd.acucorp": {
source: "iana",
extensions: ["atc", "acutc"],
},
"application/vnd.adobe.air-application-installer-package+zip": {
source: "apache",
compressible: false,
extensions: ["air"],
},
"application/vnd.adobe.flash.movie": {
source: "iana",
},
"application/vnd.adobe.formscentral.fcdt": {
source: "iana",
extensions: ["fcdt"],
},
"application/vnd.adobe.fxp": {
source: "iana",
extensions: ["fxp", "fxpl"],
},
"application/vnd.adobe.partial-upload": {
source: "iana",
},
"application/vnd.adobe.xdp+xml": {
source: "iana",
compressible: true,
extensions: ["xdp"],
},
"application/vnd.adobe.xfdf": {
source: "iana",
extensions: ["xfdf"],
},
"application/vnd.aether.imp": {
source: "iana",
},
"application/vnd.afpc.afplinedata": {
source: "iana",
},
"application/vnd.afpc.afplinedata-pagedef": {
source: "iana",
},
"application/vnd.afpc.foca-charset": {
source: "iana",
},
"application/vnd.afpc.foca-codedfont": {
source: "iana",
},
"application/vnd.afpc.foca-codepage": {
source: "iana",
},
"application/vnd.afpc.modca": {
source: "iana",
},
"application/vnd.afpc.modca-formdef": {
source: "iana",
},
"application/vnd.afpc.modca-mediummap": {
source: "iana",
},
"application/vnd.afpc.modca-objectcontainer": {
source: "iana",
},
"application/vnd.afpc.modca-overlay": {
source: "iana",
},
"application/vnd.afpc.modca-pagesegment": {
source: "iana",
},
"application/vnd.ah-barcode": {
source: "iana",
},
"application/vnd.ahead.space": {
source: "iana",
extensions: ["ahead"],
},
"application/vnd.airzip.filesecure.azf": {
source: "iana",
extensions: ["azf"],
},
"application/vnd.airzip.filesecure.azs": {
source: "iana",
extensions: ["azs"],
},
"application/vnd.amadeus+json": {
source: "iana",
compressible: true,
},
"application/vnd.amazon.ebook": {
source: "apache",
extensions: ["azw"],
},
"application/vnd.amazon.mobi8-ebook": {
source: "iana",
},
"application/vnd.americandynamics.acc": {
source: "iana",
extensions: ["acc"],
},
"application/vnd.amiga.ami": {
source: "iana",
extensions: ["ami"],
},
"application/vnd.amundsen.maze+xml": {
source: "iana",
compressible: true,
},
"application/vnd.android.ota": {
source: "iana",
},
"application/vnd.android.package-archive": {
source: "apache",
compressible: false,
extensions: ["apk"],
},
"application/vnd.anki": {
source: "iana",
},
"application/vnd.anser-web-certificate-issue-initiation": {
source: "iana",
extensions: ["cii"],
},
"application/vnd.anser-web-funds-transfer-initiation": {
source: "apache",
extensions: ["fti"],
},
"application/vnd.antix.game-component": {
source: "iana",
extensions: ["atx"],
},
"application/vnd.apache.thrift.binary": {
source: "iana",
},
"application/vnd.apache.thrift.compact": {
source: "iana",
},
"application/vnd.apache.thrift.json": {
source: "iana",
},
"application/vnd.api+json": {
source: "iana",
compressible: true,
},
"application/vnd.aplextor.warrp+json": {
source: "iana",
compressible: true,
},
"application/vnd.apothekende.reservation+json": {
source: "iana",
compressible: true,
},
"application/vnd.apple.installer+xml": {
source: "iana",
compressible: true,
extensions: ["mpkg"],
},
"application/vnd.apple.keynote": {
source: "iana",
extensions: ["key"],
},
"application/vnd.apple.mpegurl": {
source: "iana",
extensions: ["m3u8"],
},
"application/vnd.apple.numbers": {
source: "iana",
extensions: ["numbers"],
},
"application/vnd.apple.pages": {
source: "iana",
extensions: ["pages"],
},
"application/vnd.apple.pkpass": {
compressible: false,
extensions: ["pkpass"],
},
"application/vnd.arastra.swi": {
source: "iana",
},
"application/vnd.aristanetworks.swi": {
source: "iana",
extensions: ["swi"],
},
"application/vnd.artisan+json": {
source: "iana",
compressible: true,
},
"application/vnd.artsquare": {
source: "iana",
},
"application/vnd.astraea-software.iota": {
source: "iana",
extensions: ["iota"],
},
"application/vnd.audiograph": {
source: "iana",
extensions: ["aep"],
},
"application/vnd.autopackage": {
source: "iana",
},
"application/vnd.avalon+json": {
source: "iana",
compressible: true,
},
"application/vnd.avistar+xml": {
source: "iana",
compressible: true,
},
"application/vnd.balsamiq.bmml+xml": {
source: "iana",
compressible: true,
extensions: ["bmml"],
},
"application/vnd.balsamiq.bmpr": {
source: "iana",
},
"application/vnd.banana-accounting": {
source: "iana",
},
"application/vnd.bbf.usp.error": {
source: "iana",
},
"application/vnd.bbf.usp.msg": {
source: "iana",
},
"application/vnd.bbf.usp.msg+json": {
source: "iana",
compressible: true,
},
"application/vnd.bekitzur-stech+json": {
source: "iana",
compressible: true,
},
"application/vnd.bint.med-content": {
source: "iana",
},
"application/vnd.biopax.rdf+xml": {
source: "iana",
compressible: true,
},
"application/vnd.blink-idb-value-wrapper": {
source: "iana",
},
"application/vnd.blueice.multipass": {
source: "iana",
extensions: ["mpm"],
},
"application/vnd.bluetooth.ep.oob": {
source: "iana",
},
"application/vnd.bluetooth.le.oob": {
source: "iana",
},
"application/vnd.bmi": {
source: "iana",
extensions: ["bmi"],
},
"application/vnd.bpf": {
source: "iana",
},
"application/vnd.bpf3": {
source: "iana",
},
"application/vnd.businessobjects": {
source: "iana",
extensions: ["rep"],
},
"application/vnd.byu.uapi+json": {
source: "iana",
compressible: true,
},
"application/vnd.cab-jscript": {
source: "iana",
},
"application/vnd.canon-cpdl": {
source: "iana",
},
"application/vnd.canon-lips": {
source: "iana",
},
"application/vnd.capasystems-pg+json": {
source: "iana",
compressible: true,
},
"application/vnd.cendio.thinlinc.clientconf": {
source: "iana",
},
"application/vnd.century-systems.tcp_stream": {
source: "iana",
},
"application/vnd.chemdraw+xml": {
source: "iana",
compressible: true,
extensions: ["cdxml"],
},
"application/vnd.chess-pgn": {
source: "iana",
},
"application/vnd.chipnuts.karaoke-mmd": {
source: "iana",
extensions: ["mmd"],
},
"application/vnd.ciedi": {
source: "iana",
},
"application/vnd.cinderella": {
source: "iana",
extensions: ["cdy"],
},
"application/vnd.cirpack.isdn-ext": {
source: "iana",
},
"application/vnd.citationstyles.style+xml": {
source: "iana",
compressible: true,
extensions: ["csl"],
},
"application/vnd.claymore": {
source: "iana",
extensions: ["cla"],
},
"application/vnd.cloanto.rp9": {
source: "iana",
extensions: ["rp9"],
},
"application/vnd.clonk.c4group": {
source: "iana",
extensions: ["c4g", "c4d", "c4f", "c4p", "c4u"],
},
"application/vnd.cluetrust.cartomobile-config": {
source: "iana",
extensions: ["c11amc"],
},
"application/vnd.cluetrust.cartomobile-config-pkg": {
source: "iana",
extensions: ["c11amz"],
},
"application/vnd.coffeescript": {
source: "iana",
},
"application/vnd.collabio.xodocuments.document": {
source: "iana",
},
"application/vnd.collabio.xodocuments.document-template": {
source: "iana",
},
"application/vnd.collabio.xodocuments.presentation": {
source: "iana",
},
"application/vnd.collabio.xodocuments.presentation-template": {
source: "iana",
},
"application/vnd.collabio.xodocuments.spreadsheet": {
source: "iana",
},
"application/vnd.collabio.xodocuments.spreadsheet-template": {
source: "iana",
},
"application/vnd.collection+json": {
source: "iana",
compressible: true,
},
"application/vnd.collection.doc+json": {
source: "iana",
compressible: true,
},
"application/vnd.collection.next+json": {
source: "iana",
compressible: true,
},
"application/vnd.comicbook+zip": {
source: "iana",
compressible: false,
},
"application/vnd.comicbook-rar": {
source: "iana",
},
"application/vnd.commerce-battelle": {
source: "iana",
},
"application/vnd.commonspace": {
source: "iana",
extensions: ["csp"],
},
"application/vnd.contact.cmsg": {
source: "iana",
extensions: ["cdbcmsg"],
},
"application/vnd.coreos.ignition+json": {
source: "iana",
compressible: true,
},
"application/vnd.cosmocaller": {
source: "iana",
extensions: ["cmc"],
},
"application/vnd.crick.clicker": {
source: "iana",
extensions: ["clkx"],
},
"application/vnd.crick.clicker.keyboard": {
source: "iana",
extensions: ["clkk"],
},
"application/vnd.crick.clicker.palette": {
source: "iana",
extensions: ["clkp"],
},
"application/vnd.crick.clicker.template": {
source: "iana",
extensions: ["clkt"],
},
"application/vnd.crick.clicker.wordbank": {
source: "iana",
extensions: ["clkw"],
},
"application/vnd.criticaltools.wbs+xml": {
source: "iana",
compressible: true,
extensions: ["wbs"],
},
"application/vnd.cryptii.pipe+json": {
source: "iana",
compressible: true,
},
"application/vnd.crypto-shade-file": {
source: "iana",
},
"application/vnd.ctc-posml": {
source: "iana",
extensions: ["pml"],
},
"application/vnd.ctct.ws+xml": {
source: "iana",
compressible: true,
},
"application/vnd.cups-pdf": {
source: "iana",
},
"application/vnd.cups-postscript": {
source: "iana",
},
"application/vnd.cups-ppd": {
source: "iana",
extensions: ["ppd"],
},
"application/vnd.cups-raster": {
source: "iana",
},
"application/vnd.cups-raw": {
source: "iana",
},
"application/vnd.curl": {
source: "iana",
},
"application/vnd.curl.car": {
source: "apache",
extensions: ["car"],
},
"application/vnd.curl.pcurl": {
source: "apache",
extensions: ["pcurl"],
},
"application/vnd.cyan.dean.root+xml": {
source: "iana",
compressible: true,
},
"application/vnd.cybank": {
source: "iana",
},
"application/vnd.d2l.coursepackage1p0+zip": {
source: "iana",
compressible: false,
},
"application/vnd.d3m-dataset": {
source: "iana",
},
"application/vnd.d3m-problem": {
source: "iana",
},
"application/vnd.dart": {
source: "iana",
compressible: true,
extensions: ["dart"],
},
"application/vnd.data-vision.rdz": {
source: "iana",
extensions: ["rdz"],
},
"application/vnd.datapackage+json": {
source: "iana",
compressible: true,
},
"application/vnd.dataresource+json": {
source: "iana",
compressible: true,
},
"application/vnd.dbf": {
source: "iana",
extensions: ["dbf"],
},
"application/vnd.debian.binary-package": {
source: "iana",
},
"application/vnd.dece.data": {
source: "iana",
extensions: ["uvf", "uvvf", "uvd", "uvvd"],
},
"application/vnd.dece.ttml+xml": {
source: "iana",
compressible: true,
extensions: ["uvt", "uvvt"],
},
"application/vnd.dece.unspecified": {
source: "iana",
extensions: ["uvx", "uvvx"],
},
"application/vnd.dece.zip": {
source: "iana",
extensions: ["uvz", "uvvz"],
},
"application/vnd.denovo.fcselayout-link": {
source: "iana",
extensions: ["fe_launch"],
},
"application/vnd.desmume.movie": {
source: "iana",
},
"application/vnd.dir-bi.plate-dl-nosuffix": {
source: "iana",
},
"application/vnd.dm.delegation+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dna": {
source: "iana",
extensions: ["dna"],
},
"application/vnd.document+json": {
source: "iana",
compressible: true,
},
"application/vnd.dolby.mlp": {
source: "apache",
extensions: ["mlp"],
},
"application/vnd.dolby.mobile.1": {
source: "iana",
},
"application/vnd.dolby.mobile.2": {
source: "iana",
},
"application/vnd.doremir.scorecloud-binary-document": {
source: "iana",
},
"application/vnd.dpgraph": {
source: "iana",
extensions: ["dpg"],
},
"application/vnd.dreamfactory": {
source: "iana",
extensions: ["dfac"],
},
"application/vnd.drive+json": {
source: "iana",
compressible: true,
},
"application/vnd.ds-keypoint": {
source: "apache",
extensions: ["kpxx"],
},
"application/vnd.dtg.local": {
source: "iana",
},
"application/vnd.dtg.local.flash": {
source: "iana",
},
"application/vnd.dtg.local.html": {
source: "iana",
},
"application/vnd.dvb.ait": {
source: "iana",
extensions: ["ait"],
},
"application/vnd.dvb.dvbisl+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.dvbj": {
source: "iana",
},
"application/vnd.dvb.esgcontainer": {
source: "iana",
},
"application/vnd.dvb.ipdcdftnotifaccess": {
source: "iana",
},
"application/vnd.dvb.ipdcesgaccess": {
source: "iana",
},
"application/vnd.dvb.ipdcesgaccess2": {
source: "iana",
},
"application/vnd.dvb.ipdcesgpdd": {
source: "iana",
},
"application/vnd.dvb.ipdcroaming": {
source: "iana",
},
"application/vnd.dvb.iptv.alfec-base": {
source: "iana",
},
"application/vnd.dvb.iptv.alfec-enhancement": {
source: "iana",
},
"application/vnd.dvb.notif-aggregate-root+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-container+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-generic+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-ia-msglist+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-ia-registration-request+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-ia-registration-response+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.notif-init+xml": {
source: "iana",
compressible: true,
},
"application/vnd.dvb.pfr": {
source: "iana",
},
"application/vnd.dvb.service": {
source: "iana",
extensions: ["svc"],
},
"application/vnd.dxr": {
source: "iana",
},
"application/vnd.dynageo": {
source: "iana",
extensions: ["geo"],
},
"application/vnd.dzr": {
source: "iana",
},
"application/vnd.easykaraoke.cdgdownload": {
source: "iana",
},
"application/vnd.ecdis-update": {
source: "iana",
},
"application/vnd.ecip.rlp": {
source: "iana",
},
"application/vnd.ecowin.chart": {
source: "iana",
extensions: ["mag"],
},
"application/vnd.ecowin.filerequest": {
source: "iana",
},
"application/vnd.ecowin.fileupdate": {
source: "iana",
},
"application/vnd.ecowin.series": {
source: "iana",
},
"application/vnd.ecowin.seriesrequest": {
source: "iana",
},
"application/vnd.ecowin.seriesupdate": {
source: "iana",
},
"application/vnd.efi.img": {
source: "iana",
},
"application/vnd.efi.iso": {
source: "iana",
},
"application/vnd.emclient.accessrequest+xml": {
source: "iana",
compressible: true,
},
"application/vnd.enliven": {
source: "iana",
extensions: ["nml"],
},
"application/vnd.enphase.envoy": {
source: "iana",
},
"application/vnd.eprints.data+xml": {
source: "iana",
compressible: true,
},
"application/vnd.epson.esf": {
source: "iana",
extensions: ["esf"],
},
"application/vnd.epson.msf": {
source: "iana",
extensions: ["msf"],
},
"application/vnd.epson.quickanime": {
source: "iana",
extensions: ["qam"],
},
"application/vnd.epson.salt": {
source: "iana",
extensions: ["slt"],
},
"application/vnd.epson.ssf": {
source: "iana",
extensions: ["ssf"],
},
"application/vnd.ericsson.quickcall": {
source: "iana",
},
"application/vnd.espass-espass+zip": {
source: "iana",
compressible: false,
},
"application/vnd.eszigno3+xml": {
source: "iana",
compressible: true,
extensions: ["es3", "et3"],
},
"application/vnd.etsi.aoc+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.asic-e+zip": {
source: "iana",
compressible: false,
},
"application/vnd.etsi.asic-s+zip": {
source: "iana",
compressible: false,
},
"application/vnd.etsi.cug+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvcommand+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvdiscovery+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvprofile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvsad-bc+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvsad-cod+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvsad-npvr+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvservice+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvsync+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.iptvueprofile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.mcid+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.mheg5": {
source: "iana",
},
"application/vnd.etsi.overload-control-policy-dataset+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.pstn+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.sci+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.simservs+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.timestamp-token": {
source: "iana",
},
"application/vnd.etsi.tsl+xml": {
source: "iana",
compressible: true,
},
"application/vnd.etsi.tsl.der": {
source: "iana",
},
"application/vnd.eudora.data": {
source: "iana",
},
"application/vnd.evolv.ecig.profile": {
source: "iana",
},
"application/vnd.evolv.ecig.settings": {
source: "iana",
},
"application/vnd.evolv.ecig.theme": {
source: "iana",
},
"application/vnd.exstream-empower+zip": {
source: "iana",
compressible: false,
},
"application/vnd.exstream-package": {
source: "iana",
},
"application/vnd.ezpix-album": {
source: "iana",
extensions: ["ez2"],
},
"application/vnd.ezpix-package": {
source: "iana",
extensions: ["ez3"],
},
"application/vnd.f-secure.mobile": {
source: "iana",
},
"application/vnd.fastcopy-disk-image": {
source: "iana",
},
"application/vnd.fdf": {
source: "iana",
extensions: ["fdf"],
},
"application/vnd.fdsn.mseed": {
source: "iana",
extensions: ["mseed"],
},
"application/vnd.fdsn.seed": {
source: "iana",
extensions: ["seed", "dataless"],
},
"application/vnd.ffsns": {
source: "iana",
},
"application/vnd.ficlab.flb+zip": {
source: "iana",
compressible: false,
},
"application/vnd.filmit.zfc": {
source: "iana",
},
"application/vnd.fints": {
source: "iana",
},
"application/vnd.firemonkeys.cloudcell": {
source: "iana",
},
"application/vnd.flographit": {
source: "iana",
extensions: ["gph"],
},
"application/vnd.fluxtime.clip": {
source: "iana",
extensions: ["ftc"],
},
"application/vnd.font-fontforge-sfd": {
source: "iana",
},
"application/vnd.framemaker": {
source: "iana",
extensions: ["fm", "frame", "maker", "book"],
},
"application/vnd.frogans.fnc": {
source: "iana",
extensions: ["fnc"],
},
"application/vnd.frogans.ltf": {
source: "iana",
extensions: ["ltf"],
},
"application/vnd.fsc.weblaunch": {
source: "iana",
extensions: ["fsc"],
},
"application/vnd.fujitsu.oasys": {
source: "iana",
extensions: ["oas"],
},
"application/vnd.fujitsu.oasys2": {
source: "iana",
extensions: ["oa2"],
},
"application/vnd.fujitsu.oasys3": {
source: "iana",
extensions: ["oa3"],
},
"application/vnd.fujitsu.oasysgp": {
source: "iana",
extensions: ["fg5"],
},
"application/vnd.fujitsu.oasysprs": {
source: "iana",
extensions: ["bh2"],
},
"application/vnd.fujixerox.art-ex": {
source: "iana",
},
"application/vnd.fujixerox.art4": {
source: "iana",
},
"application/vnd.fujixerox.ddd": {
source: "iana",
extensions: ["ddd"],
},
"application/vnd.fujixerox.docuworks": {
source: "iana",
extensions: ["xdw"],
},
"application/vnd.fujixerox.docuworks.binder": {
source: "iana",
extensions: ["xbd"],
},
"application/vnd.fujixerox.docuworks.container": {
source: "iana",
},
"application/vnd.fujixerox.hbpl": {
source: "iana",
},
"application/vnd.fut-misnet": {
source: "iana",
},
"application/vnd.futoin+cbor": {
source: "iana",
},
"application/vnd.futoin+json": {
source: "iana",
compressible: true,
},
"application/vnd.fuzzysheet": {
source: "iana",
extensions: ["fzs"],
},
"application/vnd.genomatix.tuxedo": {
source: "iana",
extensions: ["txd"],
},
"application/vnd.gentics.grd+json": {
source: "iana",
compressible: true,
},
"application/vnd.geo+json": {
source: "iana",
compressible: true,
},
"application/vnd.geocube+xml": {
source: "iana",
compressible: true,
},
"application/vnd.geogebra.file": {
source: "iana",
extensions: ["ggb"],
},
"application/vnd.geogebra.tool": {
source: "iana",
extensions: ["ggt"],
},
"application/vnd.geometry-explorer": {
source: "iana",
extensions: ["gex", "gre"],
},
"application/vnd.geonext": {
source: "iana",
extensions: ["gxt"],
},
"application/vnd.geoplan": {
source: "iana",
extensions: ["g2w"],
},
"application/vnd.geospace": {
source: "iana",
extensions: ["g3w"],
},
"application/vnd.gerber": {
source: "iana",
},
"application/vnd.globalplatform.card-content-mgt": {
source: "iana",
},
"application/vnd.globalplatform.card-content-mgt-response": {
source: "iana",
},
"application/vnd.gmx": {
source: "iana",
extensions: ["gmx"],
},
"application/vnd.google-apps.document": {
compressible: false,
extensions: ["gdoc"],
},
"application/vnd.google-apps.presentation": {
compressible: false,
extensions: ["gslides"],
},
"application/vnd.google-apps.spreadsheet": {
compressible: false,
extensions: ["gsheet"],
},
"application/vnd.google-earth.kml+xml": {
source: "iana",
compressible: true,
extensions: ["kml"],
},
"application/vnd.google-earth.kmz": {
source: "iana",
compressible: false,
extensions: ["kmz"],
},
"application/vnd.gov.sk.e-form+xml": {
source: "iana",
compressible: true,
},
"application/vnd.gov.sk.e-form+zip": {
source: "iana",
compressible: false,
},
"application/vnd.gov.sk.xmldatacontainer+xml": {
source: "iana",
compressible: true,
},
"application/vnd.grafeq": {
source: "iana",
extensions: ["gqf", "gqs"],
},
"application/vnd.gridmp": {
source: "iana",
},
"application/vnd.groove-account": {
source: "iana",
extensions: ["gac"],
},
"application/vnd.groove-help": {
source: "iana",
extensions: ["ghf"],
},
"application/vnd.groove-identity-message": {
source: "iana",
extensions: ["gim"],
},
"application/vnd.groove-injector": {
source: "iana",
extensions: ["grv"],
},
"application/vnd.groove-tool-message": {
source: "iana",
extensions: ["gtm"],
},
"application/vnd.groove-tool-template": {
source: "iana",
extensions: ["tpl"],
},
"application/vnd.groove-vcard": {
source: "iana",
extensions: ["vcg"],
},
"application/vnd.hal+json": {
source: "iana",
compressible: true,
},
"application/vnd.hal+xml": {
source: "iana",
compressible: true,
extensions: ["hal"],
},
"application/vnd.handheld-entertainment+xml": {
source: "iana",
compressible: true,
extensions: ["zmm"],
},
"application/vnd.hbci": {
source: "iana",
extensions: ["hbci"],
},
"application/vnd.hc+json": {
source: "iana",
compressible: true,
},
"application/vnd.hcl-bireports": {
source: "iana",
},
"application/vnd.hdt": {
source: "iana",
},
"application/vnd.heroku+json": {
source: "iana",
compressible: true,
},
"application/vnd.hhe.lesson-player": {
source: "iana",
extensions: ["les"],
},
"application/vnd.hp-hpgl": {
source: "iana",
extensions: ["hpgl"],
},
"application/vnd.hp-hpid": {
source: "iana",
extensions: ["hpid"],
},
"application/vnd.hp-hps": {
source: "iana",
extensions: ["hps"],
},
"application/vnd.hp-jlyt": {
source: "iana",
extensions: ["jlt"],
},
"application/vnd.hp-pcl": {
source: "iana",
extensions: ["pcl"],
},
"application/vnd.hp-pclxl": {
source: "iana",
extensions: ["pclxl"],
},
"application/vnd.httphone": {
source: "iana",
},
"application/vnd.hydrostatix.sof-data": {
source: "iana",
extensions: ["sfd-hdstx"],
},
"application/vnd.hyper+json": {
source: "iana",
compressible: true,
},
"application/vnd.hyper-item+json": {
source: "iana",
compressible: true,
},
"application/vnd.hyperdrive+json": {
source: "iana",
compressible: true,
},
"application/vnd.hzn-3d-crossword": {
source: "iana",
},
"application/vnd.ibm.afplinedata": {
source: "iana",
},
"application/vnd.ibm.electronic-media": {
source: "iana",
},
"application/vnd.ibm.minipay": {
source: "iana",
extensions: ["mpy"],
},
"application/vnd.ibm.modcap": {
source: "iana",
extensions: ["afp", "listafp", "list3820"],
},
"application/vnd.ibm.rights-management": {
source: "iana",
extensions: ["irm"],
},
"application/vnd.ibm.secure-container": {
source: "iana",
extensions: ["sc"],
},
"application/vnd.iccprofile": {
source: "iana",
extensions: ["icc", "icm"],
},
"application/vnd.ieee.1905": {
source: "iana",
},
"application/vnd.igloader": {
source: "iana",
extensions: ["igl"],
},
"application/vnd.imagemeter.folder+zip": {
source: "iana",
compressible: false,
},
"application/vnd.imagemeter.image+zip": {
source: "iana",
compressible: false,
},
"application/vnd.immervision-ivp": {
source: "iana",
extensions: ["ivp"],
},
"application/vnd.immervision-ivu": {
source: "iana",
extensions: ["ivu"],
},
"application/vnd.ims.imsccv1p1": {
source: "iana",
},
"application/vnd.ims.imsccv1p2": {
source: "iana",
},
"application/vnd.ims.imsccv1p3": {
source: "iana",
},
"application/vnd.ims.lis.v2.result+json": {
source: "iana",
compressible: true,
},
"application/vnd.ims.lti.v2.toolconsumerprofile+json": {
source: "iana",
compressible: true,
},
"application/vnd.ims.lti.v2.toolproxy+json": {
source: "iana",
compressible: true,
},
"application/vnd.ims.lti.v2.toolproxy.id+json": {
source: "iana",
compressible: true,
},
"application/vnd.ims.lti.v2.toolsettings+json": {
source: "iana",
compressible: true,
},
"application/vnd.ims.lti.v2.toolsettings.simple+json": {
source: "iana",
compressible: true,
},
"application/vnd.informedcontrol.rms+xml": {
source: "iana",
compressible: true,
},
"application/vnd.informix-visionary": {
source: "iana",
},
"application/vnd.infotech.project": {
source: "iana",
},
"application/vnd.infotech.project+xml": {
source: "iana",
compressible: true,
},
"application/vnd.innopath.wamp.notification": {
source: "iana",
},
"application/vnd.insors.igm": {
source: "iana",
extensions: ["igm"],
},
"application/vnd.intercon.formnet": {
source: "iana",
extensions: ["xpw", "xpx"],
},
"application/vnd.intergeo": {
source: "iana",
extensions: ["i2g"],
},
"application/vnd.intertrust.digibox": {
source: "iana",
},
"application/vnd.intertrust.nncp": {
source: "iana",
},
"application/vnd.intu.qbo": {
source: "iana",
extensions: ["qbo"],
},
"application/vnd.intu.qfx": {
source: "iana",
extensions: ["qfx"],
},
"application/vnd.iptc.g2.catalogitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.conceptitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.knowledgeitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.newsitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.newsmessage+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.packageitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.iptc.g2.planningitem+xml": {
source: "iana",
compressible: true,
},
"application/vnd.ipunplugged.rcprofile": {
source: "iana",
extensions: ["rcprofile"],
},
"application/vnd.irepository.package+xml": {
source: "iana",
compressible: true,
extensions: ["irp"],
},
"application/vnd.is-xpr": {
source: "iana",
extensions: ["xpr"],
},
"application/vnd.isac.fcs": {
source: "iana",
extensions: ["fcs"],
},
"application/vnd.iso11783-10+zip": {
source: "iana",
compressible: false,
},
"application/vnd.jam": {
source: "iana",
extensions: ["jam"],
},
"application/vnd.japannet-directory-service": {
source: "iana",
},
"application/vnd.japannet-jpnstore-wakeup": {
source: "iana",
},
"application/vnd.japannet-payment-wakeup": {
source: "iana",
},
"application/vnd.japannet-registration": {
source: "iana",
},
"application/vnd.japannet-registration-wakeup": {
source: "iana",
},
"application/vnd.japannet-setstore-wakeup": {
source: "iana",
},
"application/vnd.japannet-verification": {
source: "iana",
},
"application/vnd.japannet-verification-wakeup": {
source: "iana",
},
"application/vnd.jcp.javame.midlet-rms": {
source: "iana",
extensions: ["rms"],
},
"application/vnd.jisp": {
source: "iana",
extensions: ["jisp"],
},
"application/vnd.joost.joda-archive": {
source: "iana",
extensions: ["joda"],
},
"application/vnd.jsk.isdn-ngn": {
source: "iana",
},
"application/vnd.kahootz": {
source: "iana",
extensions: ["ktz", "ktr"],
},
"application/vnd.kde.karbon": {
source: "iana",
extensions: ["karbon"],
},
"application/vnd.kde.kchart": {
source: "iana",
extensions: ["chrt"],
},
"application/vnd.kde.kformula": {
source: "iana",
extensions: ["kfo"],
},
"application/vnd.kde.kivio": {
source: "iana",
extensions: ["flw"],
},
"application/vnd.kde.kontour": {
source: "iana",
extensions: ["kon"],
},
"application/vnd.kde.kpresenter": {
source: "iana",
extensions: ["kpr", "kpt"],
},
"application/vnd.kde.kspread": {
source: "iana",
extensions: ["ksp"],
},
"application/vnd.kde.kword": {
source: "iana",
extensions: ["kwd", "kwt"],
},
"application/vnd.kenameaapp": {
source: "iana",
extensions: ["htke"],
},
"application/vnd.kidspiration": {
source: "iana",
extensions: ["kia"],
},
"application/vnd.kinar": {
source: "iana",
extensions: ["kne", "knp"],
},
"application/vnd.koan": {
source: "iana",
extensions: ["skp", "skd", "skt", "skm"],
},
"application/vnd.kodak-descriptor": {
source: "iana",
extensions: ["sse"],
},
"application/vnd.las": {
source: "iana",
},
"application/vnd.las.las+json": {
source: "iana",
compressible: true,
},
"application/vnd.las.las+xml": {
source: "iana",
compressible: true,
extensions: ["lasxml"],
},
"application/vnd.laszip": {
source: "iana",
},
"application/vnd.leap+json": {
source: "iana",
compressible: true,
},
"application/vnd.liberty-request+xml": {
source: "iana",
compressible: true,
},
"application/vnd.llamagraphics.life-balance.desktop": {
source: "iana",
extensions: ["lbd"],
},
"application/vnd.llamagraphics.life-balance.exchange+xml": {
source: "iana",
compressible: true,
extensions: ["lbe"],
},
"application/vnd.logipipe.circuit+zip": {
source: "iana",
compressible: false,
},
"application/vnd.loom": {
source: "iana",
},
"application/vnd.lotus-1-2-3": {
source: "iana",
extensions: ["123"],
},
"application/vnd.lotus-approach": {
source: "iana",
extensions: ["apr"],
},
"application/vnd.lotus-freelance": {
source: "iana",
extensions: ["pre"],
},
"application/vnd.lotus-notes": {
source: "iana",
extensions: ["nsf"],
},
"application/vnd.lotus-organizer": {
source: "iana",
extensions: ["org"],
},
"application/vnd.lotus-screencam": {
source: "iana",
extensions: ["scm"],
},
"application/vnd.lotus-wordpro": {
source: "iana",
extensions: ["lwp"],
},
"application/vnd.macports.portpkg": {
source: "iana",
extensions: ["portpkg"],
},
"application/vnd.mapbox-vector-tile": {
source: "iana",
},
"application/vnd.marlin.drm.actiontoken+xml": {
source: "iana",
compressible: true,
},
"application/vnd.marlin.drm.conftoken+xml": {
source: "iana",
compressible: true,
},
"application/vnd.marlin.drm.license+xml": {
source: "iana",
compressible: true,
},
"application/vnd.marlin.drm.mdcf": {
source: "iana",
},
"application/vnd.mason+json": {
source: "iana",
compressible: true,
},
"application/vnd.maxmind.maxmind-db": {
source: "iana",
},
"application/vnd.mcd": {
source: "iana",
extensions: ["mcd"],
},
"application/vnd.medcalcdata": {
source: "iana",
extensions: ["mc1"],
},
"application/vnd.mediastation.cdkey": {
source: "iana",
extensions: ["cdkey"],
},
"application/vnd.meridian-slingshot": {
source: "iana",
},
"application/vnd.mfer": {
source: "iana",
extensions: ["mwf"],
},
"application/vnd.mfmp": {
source: "iana",
extensions: ["mfm"],
},
"application/vnd.micro+json": {
source: "iana",
compressible: true,
},
"application/vnd.micrografx.flo": {
source: "iana",
extensions: ["flo"],
},
"application/vnd.micrografx.igx": {
source: "iana",
extensions: ["igx"],
},
"application/vnd.microsoft.portable-executable": {
source: "iana",
},
"application/vnd.microsoft.windows.thumbnail-cache": {
source: "iana",
},
"application/vnd.miele+json": {
source: "iana",
compressible: true,
},
"application/vnd.mif": {
source: "iana",
extensions: ["mif"],
},
"application/vnd.minisoft-hp3000-save": {
source: "iana",
},
"application/vnd.mitsubishi.misty-guard.trustweb": {
source: "iana",
},
"application/vnd.mobius.daf": {
source: "iana",
extensions: ["daf"],
},
"application/vnd.mobius.dis": {
source: "iana",
extensions: ["dis"],
},
"application/vnd.mobius.mbk": {
source: "iana",
extensions: ["mbk"],
},
"application/vnd.mobius.mqy": {
source: "iana",
extensions: ["mqy"],
},
"application/vnd.mobius.msl": {
source: "iana",
extensions: ["msl"],
},
"application/vnd.mobius.plc": {
source: "iana",
extensions: ["plc"],
},
"application/vnd.mobius.txf": {
source: "iana",
extensions: ["txf"],
},
"application/vnd.mophun.application": {
source: "iana",
extensions: ["mpn"],
},
"application/vnd.mophun.certificate": {
source: "iana",
extensions: ["mpc"],
},
"application/vnd.motorola.flexsuite": {
source: "iana",
},
"application/vnd.motorola.flexsuite.adsi": {
source: "iana",
},
"application/vnd.motorola.flexsuite.fis": {
source: "iana",
},
"application/vnd.motorola.flexsuite.gotap": {
source: "iana",
},
"application/vnd.motorola.flexsuite.kmr": {
source: "iana",
},
"application/vnd.motorola.flexsuite.ttc": {
source: "iana",
},
"application/vnd.motorola.flexsuite.wem": {
source: "iana",
},
"application/vnd.motorola.iprm": {
source: "iana",
},
"application/vnd.mozilla.xul+xml": {
source: "iana",
compressible: true,
extensions: ["xul"],
},
"application/vnd.ms-3mfdocument": {
source: "iana",
},
"application/vnd.ms-artgalry": {
source: "iana",
extensions: ["cil"],
},
"application/vnd.ms-asf": {
source: "iana",
},
"application/vnd.ms-cab-compressed": {
source: "iana",
extensions: ["cab"],
},
"application/vnd.ms-color.iccprofile": {
source: "apache",
},
"application/vnd.ms-excel": {
source: "iana",
compressible: false,
extensions: ["xls", "xlm", "xla", "xlc", "xlt", "xlw"],
},
"application/vnd.ms-excel.addin.macroenabled.12": {
source: "iana",
extensions: ["xlam"],
},
"application/vnd.ms-excel.sheet.binary.macroenabled.12": {
source: "iana",
extensions: ["xlsb"],
},
"application/vnd.ms-excel.sheet.macroenabled.12": {
source: "iana",
extensions: ["xlsm"],
},
"application/vnd.ms-excel.template.macroenabled.12": {
source: "iana",
extensions: ["xltm"],
},
"application/vnd.ms-fontobject": {
source: "iana",
compressible: true,
extensions: ["eot"],
},
"application/vnd.ms-htmlhelp": {
source: "iana",
extensions: ["chm"],
},
"application/vnd.ms-ims": {
source: "iana",
extensions: ["ims"],
},
"application/vnd.ms-lrm": {
source: "iana",
extensions: ["lrm"],
},
"application/vnd.ms-office.activex+xml": {
source: "iana",
compressible: true,
},
"application/vnd.ms-officetheme": {
source: "iana",
extensions: ["thmx"],
},
"application/vnd.ms-opentype": {
source: "apache",
compressible: true,
},
"application/vnd.ms-outlook": {
compressible: false,
extensions: ["msg"],
},
"application/vnd.ms-package.obfuscated-opentype": {
source: "apache",
},
"application/vnd.ms-pki.seccat": {
source: "apache",
extensions: ["cat"],
},
"application/vnd.ms-pki.stl": {
source: "apache",
extensions: ["stl"],
},
"application/vnd.ms-playready.initiator+xml": {
source: "iana",
compressible: true,
},
"application/vnd.ms-powerpoint": {
source: "iana",
compressible: false,
extensions: ["ppt", "pps", "pot"],
},
"application/vnd.ms-powerpoint.addin.macroenabled.12": {
source: "iana",
extensions: ["ppam"],
},
"application/vnd.ms-powerpoint.presentation.macroenabled.12": {
source: "iana",
extensions: ["pptm"],
},
"application/vnd.ms-powerpoint.slide.macroenabled.12": {
source: "iana",
extensions: ["sldm"],
},
"application/vnd.ms-powerpoint.slideshow.macroenabled.12": {
source: "iana",
extensions: ["ppsm"],
},
"application/vnd.ms-powerpoint.template.macroenabled.12": {
source: "iana",
extensions: ["potm"],
},
"application/vnd.ms-printdevicecapabilities+xml": {
source: "iana",
compressible: true,
},
"application/vnd.ms-printing.printticket+xml": {
source: "apache",
compressible: true,
},
"application/vnd.ms-printschematicket+xml": {
source: "iana",
compressible: true,
},
"application/vnd.ms-project": {
source: "iana",
extensions: ["mpp", "mpt"],
},
"application/vnd.ms-tnef": {
source: "iana",
},
"application/vnd.ms-windows.devicepairing": {
source: "iana",
},
"application/vnd.ms-windows.nwprinting.oob": {
source: "iana",
},
"application/vnd.ms-windows.printerpairing": {
source: "iana",
},
"application/vnd.ms-windows.wsd.oob": {
source: "iana",
},
"application/vnd.ms-wmdrm.lic-chlg-req": {
source: "iana",
},
"application/vnd.ms-wmdrm.lic-resp": {
source: "iana",
},
"application/vnd.ms-wmdrm.meter-chlg-req": {
source: "iana",
},
"application/vnd.ms-wmdrm.meter-resp": {
source: "iana",
},
"application/vnd.ms-word.document.macroenabled.12": {
source: "iana",
extensions: ["docm"],
},
"application/vnd.ms-word.template.macroenabled.12": {
source: "iana",
extensions: ["dotm"],
},
"application/vnd.ms-works": {
source: "iana",
extensions: ["wps", "wks", "wcm", "wdb"],
},
"application/vnd.ms-wpl": {
source: "iana",
extensions: ["wpl"],
},
"application/vnd.ms-xpsdocument": {
source: "iana",
compressible: false,
extensions: ["xps"],
},
"application/vnd.msa-disk-image": {
source: "iana",
},
"application/vnd.mseq": {
source: "iana",
extensions: ["mseq"],
},
"application/vnd.msign": {
source: "iana",
},
"application/vnd.multiad.creator": {
source: "iana",
},
"application/vnd.multiad.creator.cif": {
source: "iana",
},
"application/vnd.music-niff": {
source: "iana",
},
"application/vnd.musician": {
source: "iana",
extensions: ["mus"],
},
"application/vnd.muvee.style": {
source: "iana",
extensions: ["msty"],
},
"application/vnd.mynfc": {
source: "iana",
extensions: ["taglet"],
},
"application/vnd.ncd.control": {
source: "iana",
},
"application/vnd.ncd.reference": {
source: "iana",
},
"application/vnd.nearst.inv+json": {
source: "iana",
compressible: true,
},
"application/vnd.nervana": {
source: "iana",
},
"application/vnd.netfpx": {
source: "iana",
},
"application/vnd.neurolanguage.nlu": {
source: "iana",
extensions: ["nlu"],
},
"application/vnd.nimn": {
source: "iana",
},
"application/vnd.nintendo.nitro.rom": {
source: "iana",
},
"application/vnd.nintendo.snes.rom": {
source: "iana",
},
"application/vnd.nitf": {
source: "iana",
extensions: ["ntf", "nitf"],
},
"application/vnd.noblenet-directory": {
source: "iana",
extensions: ["nnd"],
},
"application/vnd.noblenet-sealer": {
source: "iana",
extensions: ["nns"],
},
"application/vnd.noblenet-web": {
source: "iana",
extensions: ["nnw"],
},
"application/vnd.nokia.catalogs": {
source: "iana",
},
"application/vnd.nokia.conml+wbxml": {
source: "iana",
},
"application/vnd.nokia.conml+xml": {
source: "iana",
compressible: true,
},
"application/vnd.nokia.iptv.config+xml": {
source: "iana",
compressible: true,
},
"application/vnd.nokia.isds-radio-presets": {
source: "iana",
},
"application/vnd.nokia.landmark+wbxml": {
source: "iana",
},
"application/vnd.nokia.landmark+xml": {
source: "iana",
compressible: true,
},
"application/vnd.nokia.landmarkcollection+xml": {
source: "iana",
compressible: true,
},
"application/vnd.nokia.n-gage.ac+xml": {
source: "iana",
compressible: true,
extensions: ["ac"],
},
"application/vnd.nokia.n-gage.data": {
source: "iana",
extensions: ["ngdat"],
},
"application/vnd.nokia.n-gage.symbian.install": {
source: "iana",
extensions: ["n-gage"],
},
"application/vnd.nokia.ncd": {
source: "iana",
},
"application/vnd.nokia.pcd+wbxml": {
source: "iana",
},
"application/vnd.nokia.pcd+xml": {
source: "iana",
compressible: true,
},
"application/vnd.nokia.radio-preset": {
source: "iana",
extensions: ["rpst"],
},
"application/vnd.nokia.radio-presets": {
source: "iana",
extensions: ["rpss"],
},
"application/vnd.novadigm.edm": {
source: "iana",
extensions: ["edm"],
},
"application/vnd.novadigm.edx": {
source: "iana",
extensions: ["edx"],
},
"application/vnd.novadigm.ext": {
source: "iana",
extensions: ["ext"],
},
"application/vnd.ntt-local.content-share": {
source: "iana",
},
"application/vnd.ntt-local.file-transfer": {
source: "iana",
},
"application/vnd.ntt-local.ogw_remote-access": {
source: "iana",
},
"application/vnd.ntt-local.sip-ta_remote": {
source: "iana",
},
"application/vnd.ntt-local.sip-ta_tcp_stream": {
source: "iana",
},
"application/vnd.oasis.opendocument.chart": {
source: "iana",
extensions: ["odc"],
},
"application/vnd.oasis.opendocument.chart-template": {
source: "iana",
extensions: ["otc"],
},
"application/vnd.oasis.opendocument.database": {
source: "iana",
extensions: ["odb"],
},
"application/vnd.oasis.opendocument.formula": {
source: "iana",
extensions: ["odf"],
},
"application/vnd.oasis.opendocument.formula-template": {
source: "iana",
extensions: ["odft"],
},
"application/vnd.oasis.opendocument.graphics": {
source: "iana",
compressible: false,
extensions: ["odg"],
},
"application/vnd.oasis.opendocument.graphics-template": {
source: "iana",
extensions: ["otg"],
},
"application/vnd.oasis.opendocument.image": {
source: "iana",
extensions: ["odi"],
},
"application/vnd.oasis.opendocument.image-template": {
source: "iana",
extensions: ["oti"],
},
"application/vnd.oasis.opendocument.presentation": {
source: "iana",
compressible: false,
extensions: ["odp"],
},
"application/vnd.oasis.opendocument.presentation-template": {
source: "iana",
extensions: ["otp"],
},
"application/vnd.oasis.opendocument.spreadsheet": {
source: "iana",
compressible: false,
extensions: ["ods"],
},
"application/vnd.oasis.opendocument.spreadsheet-template": {
source: "iana",
extensions: ["ots"],
},
"application/vnd.oasis.opendocument.text": {
source: "iana",
compressible: false,
extensions: ["odt"],
},
"application/vnd.oasis.opendocument.text-master": {
source: "iana",
extensions: ["odm"],
},
"application/vnd.oasis.opendocument.text-template": {
source: "iana",
extensions: ["ott"],
},
"application/vnd.oasis.opendocument.text-web": {
source: "iana",
extensions: ["oth"],
},
"application/vnd.obn": {
source: "iana",
},
"application/vnd.ocf+cbor": {
source: "iana",
},
"application/vnd.oci.image.manifest.v1+json": {
source: "iana",
compressible: true,
},
"application/vnd.oftn.l10n+json": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.contentaccessdownload+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.contentaccessstreaming+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.cspg-hexbinary": {
source: "iana",
},
"application/vnd.oipf.dae.svg+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.dae.xhtml+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.mippvcontrolmessage+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.pae.gem": {
source: "iana",
},
"application/vnd.oipf.spdiscovery+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.spdlist+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.ueprofile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oipf.userprofile+xml": {
source: "iana",
compressible: true,
},
"application/vnd.olpc-sugar": {
source: "iana",
extensions: ["xo"],
},
"application/vnd.oma-scws-config": {
source: "iana",
},
"application/vnd.oma-scws-http-request": {
source: "iana",
},
"application/vnd.oma-scws-http-response": {
source: "iana",
},
"application/vnd.oma.bcast.associated-procedure-parameter+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.drm-trigger+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.imd+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.ltkm": {
source: "iana",
},
"application/vnd.oma.bcast.notification+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.provisioningtrigger": {
source: "iana",
},
"application/vnd.oma.bcast.sgboot": {
source: "iana",
},
"application/vnd.oma.bcast.sgdd+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.sgdu": {
source: "iana",
},
"application/vnd.oma.bcast.simple-symbol-container": {
source: "iana",
},
"application/vnd.oma.bcast.smartcard-trigger+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.sprov+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.bcast.stkm": {
source: "iana",
},
"application/vnd.oma.cab-address-book+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.cab-feature-handler+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.cab-pcc+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.cab-subs-invite+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.cab-user-prefs+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.dcd": {
source: "iana",
},
"application/vnd.oma.dcdc": {
source: "iana",
},
"application/vnd.oma.dd2+xml": {
source: "iana",
compressible: true,
extensions: ["dd2"],
},
"application/vnd.oma.drm.risd+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.group-usage-list+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.lwm2m+cbor": {
source: "iana",
},
"application/vnd.oma.lwm2m+json": {
source: "iana",
compressible: true,
},
"application/vnd.oma.lwm2m+tlv": {
source: "iana",
},
"application/vnd.oma.pal+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.poc.detailed-progress-report+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.poc.final-report+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.poc.groups+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.poc.invocation-descriptor+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.poc.optimized-progress-report+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.push": {
source: "iana",
},
"application/vnd.oma.scidm.messages+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oma.xcap-directory+xml": {
source: "iana",
compressible: true,
},
"application/vnd.omads-email+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/vnd.omads-file+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/vnd.omads-folder+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/vnd.omaloc-supl-init": {
source: "iana",
},
"application/vnd.onepager": {
source: "iana",
},
"application/vnd.onepagertamp": {
source: "iana",
},
"application/vnd.onepagertamx": {
source: "iana",
},
"application/vnd.onepagertat": {
source: "iana",
},
"application/vnd.onepagertatp": {
source: "iana",
},
"application/vnd.onepagertatx": {
source: "iana",
},
"application/vnd.openblox.game+xml": {
source: "iana",
compressible: true,
extensions: ["obgx"],
},
"application/vnd.openblox.game-binary": {
source: "iana",
},
"application/vnd.openeye.oeb": {
source: "iana",
},
"application/vnd.openofficeorg.extension": {
source: "apache",
extensions: ["oxt"],
},
"application/vnd.openstreetmap.data+xml": {
source: "iana",
compressible: true,
extensions: ["osm"],
},
"application/vnd.openxmlformats-officedocument.custom-properties+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.customxmlproperties+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawing+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.chart+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.extended-properties+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.presentation":
{
source: "iana",
compressible: false,
extensions: ["pptx"],
},
"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.slide": {
source: "iana",
extensions: ["sldx"],
},
"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.slideshow":
{
source: "iana",
extensions: ["ppsx"],
},
"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.tags+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.template": {
source: "iana",
extensions: ["potx"],
},
"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
source: "iana",
compressible: false,
extensions: ["xlsx"],
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.template": {
source: "iana",
extensions: ["xltx"],
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.theme+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.themeoverride+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.vmldrawing": {
source: "iana",
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document":
{
source: "iana",
compressible: false,
extensions: ["docx"],
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.template":
{
source: "iana",
extensions: ["dotx"],
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-package.core-properties+xml": {
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":
{
source: "iana",
compressible: true,
},
"application/vnd.openxmlformats-package.relationships+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oracle.resource+json": {
source: "iana",
compressible: true,
},
"application/vnd.orange.indata": {
source: "iana",
},
"application/vnd.osa.netdeploy": {
source: "iana",
},
"application/vnd.osgeo.mapguide.package": {
source: "iana",
extensions: ["mgp"],
},
"application/vnd.osgi.bundle": {
source: "iana",
},
"application/vnd.osgi.dp": {
source: "iana",
extensions: ["dp"],
},
"application/vnd.osgi.subsystem": {
source: "iana",
extensions: ["esa"],
},
"application/vnd.otps.ct-kip+xml": {
source: "iana",
compressible: true,
},
"application/vnd.oxli.countgraph": {
source: "iana",
},
"application/vnd.pagerduty+json": {
source: "iana",
compressible: true,
},
"application/vnd.palm": {
source: "iana",
extensions: ["pdb", "pqa", "oprc"],
},
"application/vnd.panoply": {
source: "iana",
},
"application/vnd.paos.xml": {
source: "iana",
},
"application/vnd.patentdive": {
source: "iana",
},
"application/vnd.patientecommsdoc": {
source: "iana",
},
"application/vnd.pawaafile": {
source: "iana",
extensions: ["paw"],
},
"application/vnd.pcos": {
source: "iana",
},
"application/vnd.pg.format": {
source: "iana",
extensions: ["str"],
},
"application/vnd.pg.osasli": {
source: "iana",
extensions: ["ei6"],
},
"application/vnd.piaccess.application-licence": {
source: "iana",
},
"application/vnd.picsel": {
source: "iana",
extensions: ["efif"],
},
"application/vnd.pmi.widget": {
source: "iana",
extensions: ["wg"],
},
"application/vnd.poc.group-advertisement+xml": {
source: "iana",
compressible: true,
},
"application/vnd.pocketlearn": {
source: "iana",
extensions: ["plf"],
},
"application/vnd.powerbuilder6": {
source: "iana",
extensions: ["pbd"],
},
"application/vnd.powerbuilder6-s": {
source: "iana",
},
"application/vnd.powerbuilder7": {
source: "iana",
},
"application/vnd.powerbuilder7-s": {
source: "iana",
},
"application/vnd.powerbuilder75": {
source: "iana",
},
"application/vnd.powerbuilder75-s": {
source: "iana",
},
"application/vnd.preminet": {
source: "iana",
},
"application/vnd.previewsystems.box": {
source: "iana",
extensions: ["box"],
},
"application/vnd.proteus.magazine": {
source: "iana",
extensions: ["mgz"],
},
"application/vnd.psfs": {
source: "iana",
},
"application/vnd.publishare-delta-tree": {
source: "iana",
extensions: ["qps"],
},
"application/vnd.pvi.ptid1": {
source: "iana",
extensions: ["ptid"],
},
"application/vnd.pwg-multiplexed": {
source: "iana",
},
"application/vnd.pwg-xhtml-print+xml": {
source: "iana",
compressible: true,
},
"application/vnd.qualcomm.brew-app-res": {
source: "iana",
},
"application/vnd.quarantainenet": {
source: "iana",
},
"application/vnd.quark.quarkxpress": {
source: "iana",
extensions: ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"],
},
"application/vnd.quobject-quoxdocument": {
source: "iana",
},
"application/vnd.radisys.moml+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-audit+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-audit-conf+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-audit-conn+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-audit-dialog+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-audit-stream+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-conf+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-base+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-fax-detect+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-fax-sendrecv+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-group+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-speech+xml": {
source: "iana",
compressible: true,
},
"application/vnd.radisys.msml-dialog-transform+xml": {
source: "iana",
compressible: true,
},
"application/vnd.rainstor.data": {
source: "iana",
},
"application/vnd.rapid": {
source: "iana",
},
"application/vnd.rar": {
source: "iana",
extensions: ["rar"],
},
"application/vnd.realvnc.bed": {
source: "iana",
extensions: ["bed"],
},
"application/vnd.recordare.musicxml": {
source: "iana",
extensions: ["mxl"],
},
"application/vnd.recordare.musicxml+xml": {
source: "iana",
compressible: true,
extensions: ["musicxml"],
},
"application/vnd.renlearn.rlprint": {
source: "iana",
},
"application/vnd.restful+json": {
source: "iana",
compressible: true,
},
"application/vnd.rig.cryptonote": {
source: "iana",
extensions: ["cryptonote"],
},
"application/vnd.rim.cod": {
source: "apache",
extensions: ["cod"],
},
"application/vnd.rn-realmedia": {
source: "apache",
extensions: ["rm"],
},
"application/vnd.rn-realmedia-vbr": {
source: "apache",
extensions: ["rmvb"],
},
"application/vnd.route66.link66+xml": {
source: "iana",
compressible: true,
extensions: ["link66"],
},
"application/vnd.rs-274x": {
source: "iana",
},
"application/vnd.ruckus.download": {
source: "iana",
},
"application/vnd.s3sms": {
source: "iana",
},
"application/vnd.sailingtracker.track": {
source: "iana",
extensions: ["st"],
},
"application/vnd.sar": {
source: "iana",
},
"application/vnd.sbm.cid": {
source: "iana",
},
"application/vnd.sbm.mid2": {
source: "iana",
},
"application/vnd.scribus": {
source: "iana",
},
"application/vnd.sealed.3df": {
source: "iana",
},
"application/vnd.sealed.csf": {
source: "iana",
},
"application/vnd.sealed.doc": {
source: "iana",
},
"application/vnd.sealed.eml": {
source: "iana",
},
"application/vnd.sealed.mht": {
source: "iana",
},
"application/vnd.sealed.net": {
source: "iana",
},
"application/vnd.sealed.ppt": {
source: "iana",
},
"application/vnd.sealed.tiff": {
source: "iana",
},
"application/vnd.sealed.xls": {
source: "iana",
},
"application/vnd.sealedmedia.softseal.html": {
source: "iana",
},
"application/vnd.sealedmedia.softseal.pdf": {
source: "iana",
},
"application/vnd.seemail": {
source: "iana",
extensions: ["see"],
},
"application/vnd.sema": {
source: "iana",
extensions: ["sema"],
},
"application/vnd.semd": {
source: "iana",
extensions: ["semd"],
},
"application/vnd.semf": {
source: "iana",
extensions: ["semf"],
},
"application/vnd.shade-save-file": {
source: "iana",
},
"application/vnd.shana.informed.formdata": {
source: "iana",
extensions: ["ifm"],
},
"application/vnd.shana.informed.formtemplate": {
source: "iana",
extensions: ["itp"],
},
"application/vnd.shana.informed.interchange": {
source: "iana",
extensions: ["iif"],
},
"application/vnd.shana.informed.package": {
source: "iana",
extensions: ["ipk"],
},
"application/vnd.shootproof+json": {
source: "iana",
compressible: true,
},
"application/vnd.shopkick+json": {
source: "iana",
compressible: true,
},
"application/vnd.shp": {
source: "iana",
},
"application/vnd.shx": {
source: "iana",
},
"application/vnd.sigrok.session": {
source: "iana",
},
"application/vnd.simtech-mindmapper": {
source: "iana",
extensions: ["twd", "twds"],
},
"application/vnd.siren+json": {
source: "iana",
compressible: true,
},
"application/vnd.smaf": {
source: "iana",
extensions: ["mmf"],
},
"application/vnd.smart.notebook": {
source: "iana",
},
"application/vnd.smart.teacher": {
source: "iana",
extensions: ["teacher"],
},
"application/vnd.snesdev-page-table": {
source: "iana",
},
"application/vnd.software602.filler.form+xml": {
source: "iana",
compressible: true,
extensions: ["fo"],
},
"application/vnd.software602.filler.form-xml-zip": {
source: "iana",
},
"application/vnd.solent.sdkm+xml": {
source: "iana",
compressible: true,
extensions: ["sdkm", "sdkd"],
},
"application/vnd.spotfire.dxp": {
source: "iana",
extensions: ["dxp"],
},
"application/vnd.spotfire.sfs": {
source: "iana",
extensions: ["sfs"],
},
"application/vnd.sqlite3": {
source: "iana",
},
"application/vnd.sss-cod": {
source: "iana",
},
"application/vnd.sss-dtf": {
source: "iana",
},
"application/vnd.sss-ntf": {
source: "iana",
},
"application/vnd.stardivision.calc": {
source: "apache",
extensions: ["sdc"],
},
"application/vnd.stardivision.draw": {
source: "apache",
extensions: ["sda"],
},
"application/vnd.stardivision.impress": {
source: "apache",
extensions: ["sdd"],
},
"application/vnd.stardivision.math": {
source: "apache",
extensions: ["smf"],
},
"application/vnd.stardivision.writer": {
source: "apache",
extensions: ["sdw", "vor"],
},
"application/vnd.stardivision.writer-global": {
source: "apache",
extensions: ["sgl"],
},
"application/vnd.stepmania.package": {
source: "iana",
extensions: ["smzip"],
},
"application/vnd.stepmania.stepchart": {
source: "iana",
extensions: ["sm"],
},
"application/vnd.street-stream": {
source: "iana",
},
"application/vnd.sun.wadl+xml": {
source: "iana",
compressible: true,
extensions: ["wadl"],
},
"application/vnd.sun.xml.calc": {
source: "apache",
extensions: ["sxc"],
},
"application/vnd.sun.xml.calc.template": {
source: "apache",
extensions: ["stc"],
},
"application/vnd.sun.xml.draw": {
source: "apache",
extensions: ["sxd"],
},
"application/vnd.sun.xml.draw.template": {
source: "apache",
extensions: ["std"],
},
"application/vnd.sun.xml.impress": {
source: "apache",
extensions: ["sxi"],
},
"application/vnd.sun.xml.impress.template": {
source: "apache",
extensions: ["sti"],
},
"application/vnd.sun.xml.math": {
source: "apache",
extensions: ["sxm"],
},
"application/vnd.sun.xml.writer": {
source: "apache",
extensions: ["sxw"],
},
"application/vnd.sun.xml.writer.global": {
source: "apache",
extensions: ["sxg"],
},
"application/vnd.sun.xml.writer.template": {
source: "apache",
extensions: ["stw"],
},
"application/vnd.sus-calendar": {
source: "iana",
extensions: ["sus", "susp"],
},
"application/vnd.svd": {
source: "iana",
extensions: ["svd"],
},
"application/vnd.swiftview-ics": {
source: "iana",
},
"application/vnd.sycle+xml": {
source: "iana",
compressible: true,
},
"application/vnd.symbian.install": {
source: "apache",
extensions: ["sis", "sisx"],
},
"application/vnd.syncml+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["xsm"],
},
"application/vnd.syncml.dm+wbxml": {
source: "iana",
charset: "UTF-8",
extensions: ["bdm"],
},
"application/vnd.syncml.dm+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["xdm"],
},
"application/vnd.syncml.dm.notification": {
source: "iana",
},
"application/vnd.syncml.dmddf+wbxml": {
source: "iana",
},
"application/vnd.syncml.dmddf+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["ddf"],
},
"application/vnd.syncml.dmtnds+wbxml": {
source: "iana",
},
"application/vnd.syncml.dmtnds+xml": {
source: "iana",
charset: "UTF-8",
compressible: true,
},
"application/vnd.syncml.ds.notification": {
source: "iana",
},
"application/vnd.tableschema+json": {
source: "iana",
compressible: true,
},
"application/vnd.tao.intent-module-archive": {
source: "iana",
extensions: ["tao"],
},
"application/vnd.tcpdump.pcap": {
source: "iana",
extensions: ["pcap", "cap", "dmp"],
},
"application/vnd.think-cell.ppttc+json": {
source: "iana",
compressible: true,
},
"application/vnd.tmd.mediaflex.api+xml": {
source: "iana",
compressible: true,
},
"application/vnd.tml": {
source: "iana",
},
"application/vnd.tmobile-livetv": {
source: "iana",
extensions: ["tmo"],
},
"application/vnd.tri.onesource": {
source: "iana",
},
"application/vnd.trid.tpt": {
source: "iana",
extensions: ["tpt"],
},
"application/vnd.triscape.mxs": {
source: "iana",
extensions: ["mxs"],
},
"application/vnd.trueapp": {
source: "iana",
extensions: ["tra"],
},
"application/vnd.truedoc": {
source: "iana",
},
"application/vnd.ubisoft.webplayer": {
source: "iana",
},
"application/vnd.ufdl": {
source: "iana",
extensions: ["ufd", "ufdl"],
},
"application/vnd.uiq.theme": {
source: "iana",
extensions: ["utz"],
},
"application/vnd.umajin": {
source: "iana",
extensions: ["umj"],
},
"application/vnd.unity": {
source: "iana",
extensions: ["unityweb"],
},
"application/vnd.uoml+xml": {
source: "iana",
compressible: true,
extensions: ["uoml"],
},
"application/vnd.uplanet.alert": {
source: "iana",
},
"application/vnd.uplanet.alert-wbxml": {
source: "iana",
},
"application/vnd.uplanet.bearer-choice": {
source: "iana",
},
"application/vnd.uplanet.bearer-choice-wbxml": {
source: "iana",
},
"application/vnd.uplanet.cacheop": {
source: "iana",
},
"application/vnd.uplanet.cacheop-wbxml": {
source: "iana",
},
"application/vnd.uplanet.channel": {
source: "iana",
},
"application/vnd.uplanet.channel-wbxml": {
source: "iana",
},
"application/vnd.uplanet.list": {
source: "iana",
},
"application/vnd.uplanet.list-wbxml": {
source: "iana",
},
"application/vnd.uplanet.listcmd": {
source: "iana",
},
"application/vnd.uplanet.listcmd-wbxml": {
source: "iana",
},
"application/vnd.uplanet.signal": {
source: "iana",
},
"application/vnd.uri-map": {
source: "iana",
},
"application/vnd.valve.source.material": {
source: "iana",
},
"application/vnd.vcx": {
source: "iana",
extensions: ["vcx"],
},
"application/vnd.vd-study": {
source: "iana",
},
"application/vnd.vectorworks": {
source: "iana",
},
"application/vnd.vel+json": {
source: "iana",
compressible: true,
},
"application/vnd.verimatrix.vcas": {
source: "iana",
},
"application/vnd.veryant.thin": {
source: "iana",
},
"application/vnd.ves.encrypted": {
source: "iana",
},
"application/vnd.vidsoft.vidconference": {
source: "iana",
},
"application/vnd.visio": {
source: "iana",
extensions: ["vsd", "vst", "vss", "vsw"],
},
"application/vnd.visionary": {
source: "iana",
extensions: ["vis"],
},
"application/vnd.vividence.scriptfile": {
source: "iana",
},
"application/vnd.vsf": {
source: "iana",
extensions: ["vsf"],
},
"application/vnd.wap.sic": {
source: "iana",
},
"application/vnd.wap.slc": {
source: "iana",
},
"application/vnd.wap.wbxml": {
source: "iana",
charset: "UTF-8",
extensions: ["wbxml"],
},
"application/vnd.wap.wmlc": {
source: "iana",
extensions: ["wmlc"],
},
"application/vnd.wap.wmlscriptc": {
source: "iana",
extensions: ["wmlsc"],
},
"application/vnd.webturbo": {
source: "iana",
extensions: ["wtb"],
},
"application/vnd.wfa.p2p": {
source: "iana",
},
"application/vnd.wfa.wsc": {
source: "iana",
},
"application/vnd.windows.devicepairing": {
source: "iana",
},
"application/vnd.wmc": {
source: "iana",
},
"application/vnd.wmf.bootstrap": {
source: "iana",
},
"application/vnd.wolfram.mathematica": {
source: "iana",
},
"application/vnd.wolfram.mathematica.package": {
source: "iana",
},
"application/vnd.wolfram.player": {
source: "iana",
extensions: ["nbp"],
},
"application/vnd.wordperfect": {
source: "iana",
extensions: ["wpd"],
},
"application/vnd.wqd": {
source: "iana",
extensions: ["wqd"],
},
"application/vnd.wrq-hp3000-labelled": {
source: "iana",
},
"application/vnd.wt.stf": {
source: "iana",
extensions: ["stf"],
},
"application/vnd.wv.csp+wbxml": {
source: "iana",
},
"application/vnd.wv.csp+xml": {
source: "iana",
compressible: true,
},
"application/vnd.wv.ssp+xml": {
source: "iana",
compressible: true,
},
"application/vnd.xacml+json": {
source: "iana",
compressible: true,
},
"application/vnd.xara": {
source: "iana",
extensions: ["xar"],
},
"application/vnd.xfdl": {
source: "iana",
extensions: ["xfdl"],
},
"application/vnd.xfdl.webform": {
source: "iana",
},
"application/vnd.xmi+xml": {
source: "iana",
compressible: true,
},
"application/vnd.xmpie.cpkg": {
source: "iana",
},
"application/vnd.xmpie.dpkg": {
source: "iana",
},
"application/vnd.xmpie.plan": {
source: "iana",
},
"application/vnd.xmpie.ppkg": {
source: "iana",
},
"application/vnd.xmpie.xlim": {
source: "iana",
},
"application/vnd.yamaha.hv-dic": {
source: "iana",
extensions: ["hvd"],
},
"application/vnd.yamaha.hv-script": {
source: "iana",
extensions: ["hvs"],
},
"application/vnd.yamaha.hv-voice": {
source: "iana",
extensions: ["hvp"],
},
"application/vnd.yamaha.openscoreformat": {
source: "iana",
extensions: ["osf"],
},
"application/vnd.yamaha.openscoreformat.osfpvg+xml": {
source: "iana",
compressible: true,
extensions: ["osfpvg"],
},
"application/vnd.yamaha.remote-setup": {
source: "iana",
},
"application/vnd.yamaha.smaf-audio": {
source: "iana",
extensions: ["saf"],
},
"application/vnd.yamaha.smaf-phrase": {
source: "iana",
extensions: ["spf"],
},
"application/vnd.yamaha.through-ngn": {
source: "iana",
},
"application/vnd.yamaha.tunnel-udpencap": {
source: "iana",
},
"application/vnd.yaoweme": {
source: "iana",
},
"application/vnd.yellowriver-custom-menu": {
source: "iana",
extensions: ["cmp"],
},
"application/vnd.youtube.yt": {
source: "iana",
},
"application/vnd.zul": {
source: "iana",
extensions: ["zir", "zirz"],
},
"application/vnd.zzazz.deck+xml": {
source: "iana",
compressible: true,
extensions: ["zaz"],
},
"application/voicexml+xml": {
source: "iana",
compressible: true,
extensions: ["vxml"],
},
"application/voucher-cms+json": {
source: "iana",
compressible: true,
},
"application/vq-rtcpxr": {
source: "iana",
},
"application/wasm": {
compressible: true,
extensions: ["wasm"],
},
"application/watcherinfo+xml": {
source: "iana",
compressible: true,
},
"application/webpush-options+json": {
source: "iana",
compressible: true,
},
"application/whoispp-query": {
source: "iana",
},
"application/whoispp-response": {
source: "iana",
},
"application/widget": {
source: "iana",
extensions: ["wgt"],
},
"application/winhlp": {
source: "apache",
extensions: ["hlp"],
},
"application/wita": {
source: "iana",
},
"application/wordperfect5.1": {
source: "iana",
},
"application/wsdl+xml": {
source: "iana",
compressible: true,
extensions: ["wsdl"],
},
"application/wspolicy+xml": {
source: "iana",
compressible: true,
extensions: ["wspolicy"],
},
"application/x-7z-compressed": {
source: "apache",
compressible: false,
extensions: ["7z"],
},
"application/x-abiword": {
source: "apache",
extensions: ["abw"],
},
"application/x-ace-compressed": {
source: "apache",
extensions: ["ace"],
},
"application/x-amf": {
source: "apache",
},
"application/x-apple-diskimage": {
source: "apache",
extensions: ["dmg"],
},
"application/x-arj": {
compressible: false,
extensions: ["arj"],
},
"application/x-authorware-bin": {
source: "apache",
extensions: ["aab", "x32", "u32", "vox"],
},
"application/x-authorware-map": {
source: "apache",
extensions: ["aam"],
},
"application/x-authorware-seg": {
source: "apache",
extensions: ["aas"],
},
"application/x-bcpio": {
source: "apache",
extensions: ["bcpio"],
},
"application/x-bdoc": {
compressible: false,
extensions: ["bdoc"],
},
"application/x-bittorrent": {
source: "apache",
extensions: ["torrent"],
},
"application/x-blorb": {
source: "apache",
extensions: ["blb", "blorb"],
},
"application/x-bzip": {
source: "apache",
compressible: false,
extensions: ["bz"],
},
"application/x-bzip2": {
source: "apache",
compressible: false,
extensions: ["bz2", "boz"],
},
"application/x-cbr": {
source: "apache",
extensions: ["cbr", "cba", "cbt", "cbz", "cb7"],
},
"application/x-cdlink": {
source: "apache",
extensions: ["vcd"],
},
"application/x-cfs-compressed": {
source: "apache",
extensions: ["cfs"],
},
"application/x-chat": {
source: "apache",
extensions: ["chat"],
},
"application/x-chess-pgn": {
source: "apache",
extensions: ["pgn"],
},
"application/x-chrome-extension": {
extensions: ["crx"],
},
"application/x-cocoa": {
source: "nginx",
extensions: ["cco"],
},
"application/x-compress": {
source: "apache",
},
"application/x-conference": {
source: "apache",
extensions: ["nsc"],
},
"application/x-cpio": {
source: "apache",
extensions: ["cpio"],
},
"application/x-csh": {
source: "apache",
extensions: ["csh"],
},
"application/x-deb": {
compressible: false,
},
"application/x-debian-package": {
source: "apache",
extensions: ["deb", "udeb"],
},
"application/x-dgc-compressed": {
source: "apache",
extensions: ["dgc"],
},
"application/x-director": {
source: "apache",
extensions: [
"dir",
"dcr",
"dxr",
"cst",
"cct",
"cxt",
"w3d",
"fgd",
"swa",
],
},
"application/x-doom": {
source: "apache",
extensions: ["wad"],
},
"application/x-dtbncx+xml": {
source: "apache",
compressible: true,
extensions: ["ncx"],
},
"application/x-dtbook+xml": {
source: "apache",
compressible: true,
extensions: ["dtb"],
},
"application/x-dtbresource+xml": {
source: "apache",
compressible: true,
extensions: ["res"],
},
"application/x-dvi": {
source: "apache",
compressible: false,
extensions: ["dvi"],
},
"application/x-envoy": {
source: "apache",
extensions: ["evy"],
},
"application/x-eva": {
source: "apache",
extensions: ["eva"],
},
"application/x-font-bdf": {
source: "apache",
extensions: ["bdf"],
},
"application/x-font-dos": {
source: "apache",
},
"application/x-font-framemaker": {
source: "apache",
},
"application/x-font-ghostscript": {
source: "apache",
extensions: ["gsf"],
},
"application/x-font-libgrx": {
source: "apache",
},
"application/x-font-linux-psf": {
source: "apache",
extensions: ["psf"],
},
"application/x-font-pcf": {
source: "apache",
extensions: ["pcf"],
},
"application/x-font-snf": {
source: "apache",
extensions: ["snf"],
},
"application/x-font-speedo": {
source: "apache",
},
"application/x-font-sunos-news": {
source: "apache",
},
"application/x-font-type1": {
source: "apache",
extensions: ["pfa", "pfb", "pfm", "afm"],
},
"application/x-font-vfont": {
source: "apache",
},
"application/x-freearc": {
source: "apache",
extensions: ["arc"],
},
"application/x-futuresplash": {
source: "apache",
extensions: ["spl"],
},
"application/x-gca-compressed": {
source: "apache",
extensions: ["gca"],
},
"application/x-glulx": {
source: "apache",
extensions: ["ulx"],
},
"application/x-gnumeric": {
source: "apache",
extensions: ["gnumeric"],
},
"application/x-gramps-xml": {
source: "apache",
extensions: ["gramps"],
},
"application/x-gtar": {
source: "apache",
extensions: ["gtar"],
},
"application/x-gzip": {
source: "apache",
},
"application/x-hdf": {
source: "apache",
extensions: ["hdf"],
},
"application/x-httpd-php": {
compressible: true,
extensions: ["php"],
},
"application/x-install-instructions": {
source: "apache",
extensions: ["install"],
},
"application/x-iso9660-image": {
source: "apache",
extensions: ["iso"],
},
"application/x-java-archive-diff": {
source: "nginx",
extensions: ["jardiff"],
},
"application/x-java-jnlp-file": {
source: "apache",
compressible: false,
extensions: ["jnlp"],
},
"application/x-javascript": {
compressible: true,
},
"application/x-keepass2": {
extensions: ["kdbx"],
},
"application/x-latex": {
source: "apache",
compressible: false,
extensions: ["latex"],
},
"application/x-lua-bytecode": {
extensions: ["luac"],
},
"application/x-lzh-compressed": {
source: "apache",
extensions: ["lzh", "lha"],
},
"application/x-makeself": {
source: "nginx",
extensions: ["run"],
},
"application/x-mie": {
source: "apache",
extensions: ["mie"],
},
"application/x-mobipocket-ebook": {
source: "apache",
extensions: ["prc", "mobi"],
},
"application/x-mpegurl": {
compressible: false,
},
"application/x-ms-application": {
source: "apache",
extensions: ["application"],
},
"application/x-ms-shortcut": {
source: "apache",
extensions: ["lnk"],
},
"application/x-ms-wmd": {
source: "apache",
extensions: ["wmd"],
},
"application/x-ms-wmz": {
source: "apache",
extensions: ["wmz"],
},
"application/x-ms-xbap": {
source: "apache",
extensions: ["xbap"],
},
"application/x-msaccess": {
source: "apache",
extensions: ["mdb"],
},
"application/x-msbinder": {
source: "apache",
extensions: ["obd"],
},
"application/x-mscardfile": {
source: "apache",
extensions: ["crd"],
},
"application/x-msclip": {
source: "apache",
extensions: ["clp"],
},
"application/x-msdos-program": {
extensions: ["exe"],
},
"application/x-msdownload": {
source: "apache",
extensions: ["exe", "dll", "com", "bat", "msi"],
},
"application/x-msmediaview": {
source: "apache",
extensions: ["mvb", "m13", "m14"],
},
"application/x-msmetafile": {
source: "apache",
extensions: ["wmf", "wmz", "emf", "emz"],
},
"application/x-msmoney": {
source: "apache",
extensions: ["mny"],
},
"application/x-mspublisher": {
source: "apache",
extensions: ["pub"],
},
"application/x-msschedule": {
source: "apache",
extensions: ["scd"],
},
"application/x-msterminal": {
source: "apache",
extensions: ["trm"],
},
"application/x-mswrite": {
source: "apache",
extensions: ["wri"],
},
"application/x-netcdf": {
source: "apache",
extensions: ["nc", "cdf"],
},
"application/x-ns-proxy-autoconfig": {
compressible: true,
extensions: ["pac"],
},
"application/x-nzb": {
source: "apache",
extensions: ["nzb"],
},
"application/x-perl": {
source: "nginx",
extensions: ["pl", "pm"],
},
"application/x-pilot": {
source: "nginx",
extensions: ["prc", "pdb"],
},
"application/x-pkcs12": {
source: "apache",
compressible: false,
extensions: ["p12", "pfx"],
},
"application/x-pkcs7-certificates": {
source: "apache",
extensions: ["p7b", "spc"],
},
"application/x-pkcs7-certreqresp": {
source: "apache",
extensions: ["p7r"],
},
"application/x-pki-message": {
source: "iana",
},
"application/x-rar-compressed": {
source: "apache",
compressible: false,
extensions: ["rar"],
},
"application/x-redhat-package-manager": {
source: "nginx",
extensions: ["rpm"],
},
"application/x-research-info-systems": {
source: "apache",
extensions: ["ris"],
},
"application/x-sea": {
source: "nginx",
extensions: ["sea"],
},
"application/x-sh": {
source: "apache",
compressible: true,
extensions: ["sh"],
},
"application/x-shar": {
source: "apache",
extensions: ["shar"],
},
"application/x-shockwave-flash": {
source: "apache",
compressible: false,
extensions: ["swf"],
},
"application/x-silverlight-app": {
source: "apache",
extensions: ["xap"],
},
"application/x-sql": {
source: "apache",
extensions: ["sql"],
},
"application/x-stuffit": {
source: "apache",
compressible: false,
extensions: ["sit"],
},
"application/x-stuffitx": {
source: "apache",
extensions: ["sitx"],
},
"application/x-subrip": {
source: "apache",
extensions: ["srt"],
},
"application/x-sv4cpio": {
source: "apache",
extensions: ["sv4cpio"],
},
"application/x-sv4crc": {
source: "apache",
extensions: ["sv4crc"],
},
"application/x-t3vm-image": {
source: "apache",
extensions: ["t3"],
},
"application/x-tads": {
source: "apache",
extensions: ["gam"],
},
"application/x-tar": {
source: "apache",
compressible: true,
extensions: ["tar"],
},
"application/x-tcl": {
source: "apache",
extensions: ["tcl", "tk"],
},
"application/x-tex": {
source: "apache",
extensions: ["tex"],
},
"application/x-tex-tfm": {
source: "apache",
extensions: ["tfm"],
},
"application/x-texinfo": {
source: "apache",
extensions: ["texinfo", "texi"],
},
"application/x-tgif": {
source: "apache",
extensions: ["obj"],
},
"application/x-ustar": {
source: "apache",
extensions: ["ustar"],
},
"application/x-virtualbox-hdd": {
compressible: true,
extensions: ["hdd"],
},
"application/x-virtualbox-ova": {
compressible: true,
extensions: ["ova"],
},
"application/x-virtualbox-ovf": {
compressible: true,
extensions: ["ovf"],
},
"application/x-virtualbox-vbox": {
compressible: true,
extensions: ["vbox"],
},
"application/x-virtualbox-vbox-extpack": {
compressible: false,
extensions: ["vbox-extpack"],
},
"application/x-virtualbox-vdi": {
compressible: true,
extensions: ["vdi"],
},
"application/x-virtualbox-vhd": {
compressible: true,
extensions: ["vhd"],
},
"application/x-virtualbox-vmdk": {
compressible: true,
extensions: ["vmdk"],
},
"application/x-wais-source": {
source: "apache",
extensions: ["src"],
},
"application/x-web-app-manifest+json": {
compressible: true,
extensions: ["webapp"],
},
"application/x-www-form-urlencoded": {
source: "iana",
compressible: true,
},
"application/x-x509-ca-cert": {
source: "iana",
extensions: ["der", "crt", "pem"],
},
"application/x-x509-ca-ra-cert": {
source: "iana",
},
"application/x-x509-next-ca-cert": {
source: "iana",
},
"application/x-xfig": {
source: "apache",
extensions: ["fig"],
},
"application/x-xliff+xml": {
source: "apache",
compressible: true,
extensions: ["xlf"],
},
"application/x-xpinstall": {
source: "apache",
compressible: false,
extensions: ["xpi"],
},
"application/x-xz": {
source: "apache",
extensions: ["xz"],
},
"application/x-zmachine": {
source: "apache",
extensions: ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"],
},
"application/x400-bp": {
source: "iana",
},
"application/xacml+xml": {
source: "iana",
compressible: true,
},
"application/xaml+xml": {
source: "apache",
compressible: true,
extensions: ["xaml"],
},
"application/xcap-att+xml": {
source: "iana",
compressible: true,
extensions: ["xav"],
},
"application/xcap-caps+xml": {
source: "iana",
compressible: true,
extensions: ["xca"],
},
"application/xcap-diff+xml": {
source: "iana",
compressible: true,
extensions: ["xdf"],
},
"application/xcap-el+xml": {
source: "iana",
compressible: true,
extensions: ["xel"],
},
"application/xcap-error+xml": {
source: "iana",
compressible: true,
extensions: ["xer"],
},
"application/xcap-ns+xml": {
source: "iana",
compressible: true,
extensions: ["xns"],
},
"application/xcon-conference-info+xml": {
source: "iana",
compressible: true,
},
"application/xcon-conference-info-diff+xml": {
source: "iana",
compressible: true,
},
"application/xenc+xml": {
source: "iana",
compressible: true,
extensions: ["xenc"],
},
"application/xhtml+xml": {
source: "iana",
compressible: true,
extensions: ["xhtml", "xht"],
},
"application/xhtml-voice+xml": {
source: "apache",
compressible: true,
},
"application/xliff+xml": {
source: "iana",
compressible: true,
extensions: ["xlf"],
},
"application/xml": {
source: "iana",
compressible: true,
extensions: ["xml", "xsl", "xsd", "rng"],
},
"application/xml-dtd": {
source: "iana",
compressible: true,
extensions: ["dtd"],
},
"application/xml-external-parsed-entity": {
source: "iana",
},
"application/xml-patch+xml": {
source: "iana",
compressible: true,
},
"application/xmpp+xml": {
source: "iana",
compressible: true,
},
"application/xop+xml": {
source: "iana",
compressible: true,
extensions: ["xop"],
},
"application/xproc+xml": {
source: "apache",
compressible: true,
extensions: ["xpl"],
},
"application/xslt+xml": {
source: "iana",
compressible: true,
extensions: ["xsl", "xslt"],
},
"application/xspf+xml": {
source: "apache",
compressible: true,
extensions: ["xspf"],
},
"application/xv+xml": {
source: "iana",
compressible: true,
extensions: ["mxml", "xhvml", "xvml", "xvm"],
},
"application/yang": {
source: "iana",
extensions: ["yang"],
},
"application/yang-data+json": {
source: "iana",
compressible: true,
},
"application/yang-data+xml": {
source: "iana",
compressible: true,
},
"application/yang-patch+json": {
source: "iana",
compressible: true,
},
"application/yang-patch+xml": {
source: "iana",
compressible: true,
},
"application/yin+xml": {
source: "iana",
compressible: true,
extensions: ["yin"],
},
"application/zip": {
source: "iana",
compressible: false,
extensions: ["zip"],
},
"application/zlib": {
source: "iana",
},
"application/zstd": {
source: "iana",
},
"audio/1d-interleaved-parityfec": {
source: "iana",
},
"audio/32kadpcm": {
source: "iana",
},
"audio/3gpp": {
source: "iana",
compressible: false,
extensions: ["3gpp"],
},
"audio/3gpp2": {
source: "iana",
},
"audio/aac": {
source: "iana",
},
"audio/ac3": {
source: "iana",
},
"audio/adpcm": {
source: "apache",
extensions: ["adp"],
},
"audio/amr": {
source: "iana",
},
"audio/amr-wb": {
source: "iana",
},
"audio/amr-wb+": {
source: "iana",
},
"audio/aptx": {
source: "iana",
},
"audio/asc": {
source: "iana",
},
"audio/atrac-advanced-lossless": {
source: "iana",
},
"audio/atrac-x": {
source: "iana",
},
"audio/atrac3": {
source: "iana",
},
"audio/basic": {
source: "iana",
compressible: false,
extensions: ["au", "snd"],
},
"audio/bv16": {
source: "iana",
},
"audio/bv32": {
source: "iana",
},
"audio/clearmode": {
source: "iana",
},
"audio/cn": {
source: "iana",
},
"audio/dat12": {
source: "iana",
},
"audio/dls": {
source: "iana",
},
"audio/dsr-es201108": {
source: "iana",
},
"audio/dsr-es202050": {
source: "iana",
},
"audio/dsr-es202211": {
source: "iana",
},
"audio/dsr-es202212": {
source: "iana",
},
"audio/dv": {
source: "iana",
},
"audio/dvi4": {
source: "iana",
},
"audio/eac3": {
source: "iana",
},
"audio/encaprtp": {
source: "iana",
},
"audio/evrc": {
source: "iana",
},
"audio/evrc-qcp": {
source: "iana",
},
"audio/evrc0": {
source: "iana",
},
"audio/evrc1": {
source: "iana",
},
"audio/evrcb": {
source: "iana",
},
"audio/evrcb0": {
source: "iana",
},
"audio/evrcb1": {
source: "iana",
},
"audio/evrcnw": {
source: "iana",
},
"audio/evrcnw0": {
source: "iana",
},
"audio/evrcnw1": {
source: "iana",
},
"audio/evrcwb": {
source: "iana",
},
"audio/evrcwb0": {
source: "iana",
},
"audio/evrcwb1": {
source: "iana",
},
"audio/evs": {
source: "iana",
},
"audio/flexfec": {
source: "iana",
},
"audio/fwdred": {
source: "iana",
},
"audio/g711-0": {
source: "iana",
},
"audio/g719": {
source: "iana",
},
"audio/g722": {
source: "iana",
},
"audio/g7221": {
source: "iana",
},
"audio/g723": {
source: "iana",
},
"audio/g726-16": {
source: "iana",
},
"audio/g726-24": {
source: "iana",
},
"audio/g726-32": {
source: "iana",
},
"audio/g726-40": {
source: "iana",
},
"audio/g728": {
source: "iana",
},
"audio/g729": {
source: "iana",
},
"audio/g7291": {
source: "iana",
},
"audio/g729d": {
source: "iana",
},
"audio/g729e": {
source: "iana",
},
"audio/gsm": {
source: "iana",
},
"audio/gsm-efr": {
source: "iana",
},
"audio/gsm-hr-08": {
source: "iana",
},
"audio/ilbc": {
source: "iana",
},
"audio/ip-mr_v2.5": {
source: "iana",
},
"audio/isac": {
source: "apache",
},
"audio/l16": {
source: "iana",
},
"audio/l20": {
source: "iana",
},
"audio/l24": {
source: "iana",
compressible: false,
},
"audio/l8": {
source: "iana",
},
"audio/lpc": {
source: "iana",
},
"audio/melp": {
source: "iana",
},
"audio/melp1200": {
source: "iana",
},
"audio/melp2400": {
source: "iana",
},
"audio/melp600": {
source: "iana",
},
"audio/mhas": {
source: "iana",
},
"audio/midi": {
source: "apache",
extensions: ["mid", "midi", "kar", "rmi"],
},
"audio/mobile-xmf": {
source: "iana",
extensions: ["mxmf"],
},
"audio/mp3": {
compressible: false,
extensions: ["mp3"],
},
"audio/mp4": {
source: "iana",
compressible: false,
extensions: ["m4a", "mp4a"],
},
"audio/mp4a-latm": {
source: "iana",
},
"audio/mpa": {
source: "iana",
},
"audio/mpa-robust": {
source: "iana",
},
"audio/mpeg": {
source: "iana",
compressible: false,
extensions: ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"],
},
"audio/mpeg4-generic": {
source: "iana",
},
"audio/musepack": {
source: "apache",
},
"audio/ogg": {
source: "iana",
compressible: false,
extensions: ["oga", "ogg", "spx"],
},
"audio/opus": {
source: "iana",
},
"audio/parityfec": {
source: "iana",
},
"audio/pcma": {
source: "iana",
},
"audio/pcma-wb": {
source: "iana",
},
"audio/pcmu": {
source: "iana",
},
"audio/pcmu-wb": {
source: "iana",
},
"audio/prs.sid": {
source: "iana",
},
"audio/qcelp": {
source: "iana",
},
"audio/raptorfec": {
source: "iana",
},
"audio/red": {
source: "iana",
},
"audio/rtp-enc-aescm128": {
source: "iana",
},
"audio/rtp-midi": {
source: "iana",
},
"audio/rtploopback": {
source: "iana",
},
"audio/rtx": {
source: "iana",
},
"audio/s3m": {
source: "apache",
extensions: ["s3m"],
},
"audio/silk": {
source: "apache",
extensions: ["sil"],
},
"audio/smv": {
source: "iana",
},
"audio/smv-qcp": {
source: "iana",
},
"audio/smv0": {
source: "iana",
},
"audio/sofa": {
source: "iana",
},
"audio/sp-midi": {
source: "iana",
},
"audio/speex": {
source: "iana",
},
"audio/t140c": {
source: "iana",
},
"audio/t38": {
source: "iana",
},
"audio/telephone-event": {
source: "iana",
},
"audio/tetra_acelp": {
source: "iana",
},
"audio/tetra_acelp_bb": {
source: "iana",
},
"audio/tone": {
source: "iana",
},
"audio/tsvcis": {
source: "iana",
},
"audio/uemclip": {
source: "iana",
},
"audio/ulpfec": {
source: "iana",
},
"audio/usac": {
source: "iana",
},
"audio/vdvi": {
source: "iana",
},
"audio/vmr-wb": {
source: "iana",
},
"audio/vnd.3gpp.iufp": {
source: "iana",
},
"audio/vnd.4sb": {
source: "iana",
},
"audio/vnd.audiokoz": {
source: "iana",
},
"audio/vnd.celp": {
source: "iana",
},
"audio/vnd.cisco.nse": {
source: "iana",
},
"audio/vnd.cmles.radio-events": {
source: "iana",
},
"audio/vnd.cns.anp1": {
source: "iana",
},
"audio/vnd.cns.inf1": {
source: "iana",
},
"audio/vnd.dece.audio": {
source: "iana",
extensions: ["uva", "uvva"],
},
"audio/vnd.digital-winds": {
source: "iana",
extensions: ["eol"],
},
"audio/vnd.dlna.adts": {
source: "iana",
},
"audio/vnd.dolby.heaac.1": {
source: "iana",
},
"audio/vnd.dolby.heaac.2": {
source: "iana",
},
"audio/vnd.dolby.mlp": {
source: "iana",
},
"audio/vnd.dolby.mps": {
source: "iana",
},
"audio/vnd.dolby.pl2": {
source: "iana",
},
"audio/vnd.dolby.pl2x": {
source: "iana",
},
"audio/vnd.dolby.pl2z": {
source: "iana",
},
"audio/vnd.dolby.pulse.1": {
source: "iana",
},
"audio/vnd.dra": {
source: "iana",
extensions: ["dra"],
},
"audio/vnd.dts": {
source: "iana",
extensions: ["dts"],
},
"audio/vnd.dts.hd": {
source: "iana",
extensions: ["dtshd"],
},
"audio/vnd.dts.uhd": {
source: "iana",
},
"audio/vnd.dvb.file": {
source: "iana",
},
"audio/vnd.everad.plj": {
source: "iana",
},
"audio/vnd.hns.audio": {
source: "iana",
},
"audio/vnd.lucent.voice": {
source: "iana",
extensions: ["lvp"],
},
"audio/vnd.ms-playready.media.pya": {
source: "iana",
extensions: ["pya"],
},
"audio/vnd.nokia.mobile-xmf": {
source: "iana",
},
"audio/vnd.nortel.vbk": {
source: "iana",
},
"audio/vnd.nuera.ecelp4800": {
source: "iana",
extensions: ["ecelp4800"],
},
"audio/vnd.nuera.ecelp7470": {
source: "iana",
extensions: ["ecelp7470"],
},
"audio/vnd.nuera.ecelp9600": {
source: "iana",
extensions: ["ecelp9600"],
},
"audio/vnd.octel.sbc": {
source: "iana",
},
"audio/vnd.presonus.multitrack": {
source: "iana",
},
"audio/vnd.qcelp": {
source: "iana",
},
"audio/vnd.rhetorex.32kadpcm": {
source: "iana",
},
"audio/vnd.rip": {
source: "iana",
extensions: ["rip"],
},
"audio/vnd.rn-realaudio": {
compressible: false,
},
"audio/vnd.sealedmedia.softseal.mpeg": {
source: "iana",
},
"audio/vnd.vmx.cvsd": {
source: "iana",
},
"audio/vnd.wave": {
compressible: false,
},
"audio/vorbis": {
source: "iana",
compressible: false,
},
"audio/vorbis-config": {
source: "iana",
},
"audio/wav": {
compressible: false,
extensions: ["wav"],
},
"audio/wave": {
compressible: false,
extensions: ["wav"],
},
"audio/webm": {
source: "apache",
compressible: false,
extensions: ["weba"],
},
"audio/x-aac": {
source: "apache",
compressible: false,
extensions: ["aac"],
},
"audio/x-aiff": {
source: "apache",
extensions: ["aif", "aiff", "aifc"],
},
"audio/x-caf": {
source: "apache",
compressible: false,
extensions: ["caf"],
},
"audio/x-flac": {
source: "apache",
extensions: ["flac"],
},
"audio/x-m4a": {
source: "nginx",
extensions: ["m4a"],
},
"audio/x-matroska": {
source: "apache",
extensions: ["mka"],
},
"audio/x-mpegurl": {
source: "apache",
extensions: ["m3u"],
},
"audio/x-ms-wax": {
source: "apache",
extensions: ["wax"],
},
"audio/x-ms-wma": {
source: "apache",
extensions: ["wma"],
},
"audio/x-pn-realaudio": {
source: "apache",
extensions: ["ram", "ra"],
},
"audio/x-pn-realaudio-plugin": {
source: "apache",
extensions: ["rmp"],
},
"audio/x-realaudio": {
source: "nginx",
extensions: ["ra"],
},
"audio/x-tta": {
source: "apache",
},
"audio/x-wav": {
source: "apache",
extensions: ["wav"],
},
"audio/xm": {
source: "apache",
extensions: ["xm"],
},
"chemical/x-cdx": {
source: "apache",
extensions: ["cdx"],
},
"chemical/x-cif": {
source: "apache",
extensions: ["cif"],
},
"chemical/x-cmdf": {
source: "apache",
extensions: ["cmdf"],
},
"chemical/x-cml": {
source: "apache",
extensions: ["cml"],
},
"chemical/x-csml": {
source: "apache",
extensions: ["csml"],
},
"chemical/x-pdb": {
source: "apache",
},
"chemical/x-xyz": {
source: "apache",
extensions: ["xyz"],
},
"font/collection": {
source: "iana",
extensions: ["ttc"],
},
"font/otf": {
source: "iana",
compressible: true,
extensions: ["otf"],
},
"font/sfnt": {
source: "iana",
},
"font/ttf": {
source: "iana",
compressible: true,
extensions: ["ttf"],
},
"font/woff": {
source: "iana",
extensions: ["woff"],
},
"font/woff2": {
source: "iana",
extensions: ["woff2"],
},
"image/aces": {
source: "iana",
extensions: ["exr"],
},
"image/apng": {
compressible: false,
extensions: ["apng"],
},
"image/avci": {
source: "iana",
},
"image/avcs": {
source: "iana",
},
"image/avif": {
compressible: false,
extensions: ["avif"],
},
"image/bmp": {
source: "iana",
compressible: true,
extensions: ["bmp"],
},
"image/cgm": {
source: "iana",
extensions: ["cgm"],
},
"image/dicom-rle": {
source: "iana",
extensions: ["drle"],
},
"image/emf": {
source: "iana",
extensions: ["emf"],
},
"image/fits": {
source: "iana",
extensions: ["fits"],
},
"image/g3fax": {
source: "iana",
extensions: ["g3"],
},
"image/gif": {
source: "iana",
compressible: false,
extensions: ["gif"],
},
"image/heic": {
source: "iana",
extensions: ["heic"],
},
"image/heic-sequence": {
source: "iana",
extensions: ["heics"],
},
"image/heif": {
source: "iana",
extensions: ["heif"],
},
"image/heif-sequence": {
source: "iana",
extensions: ["heifs"],
},
"image/hej2k": {
source: "iana",
extensions: ["hej2"],
},
"image/hsj2": {
source: "iana",
extensions: ["hsj2"],
},
"image/ief": {
source: "iana",
extensions: ["ief"],
},
"image/jls": {
source: "iana",
extensions: ["jls"],
},
"image/jp2": {
source: "iana",
compressible: false,
extensions: ["jp2", "jpg2"],
},
"image/jpeg": {
source: "iana",
compressible: false,
extensions: ["jpeg", "jpg", "jpe"],
},
"image/jph": {
source: "iana",
extensions: ["jph"],
},
"image/jphc": {
source: "iana",
extensions: ["jhc"],
},
"image/jpm": {
source: "iana",
compressible: false,
extensions: ["jpm"],
},
"image/jpx": {
source: "iana",
compressible: false,
extensions: ["jpx", "jpf"],
},
"image/jxr": {
source: "iana",
extensions: ["jxr"],
},
"image/jxra": {
source: "iana",
extensions: ["jxra"],
},
"image/jxrs": {
source: "iana",
extensions: ["jxrs"],
},
"image/jxs": {
source: "iana",
extensions: ["jxs"],
},
"image/jxsc": {
source: "iana",
extensions: ["jxsc"],
},
"image/jxsi": {
source: "iana",
extensions: ["jxsi"],
},
"image/jxss": {
source: "iana",
extensions: ["jxss"],
},
"image/ktx": {
source: "iana",
extensions: ["ktx"],
},
"image/ktx2": {
source: "iana",
extensions: ["ktx2"],
},
"image/naplps": {
source: "iana",
},
"image/pjpeg": {
compressible: false,
},
"image/png": {
source: "iana",
compressible: false,
extensions: ["png"],
},
"image/prs.btif": {
source: "iana",
extensions: ["btif"],
},
"image/prs.pti": {
source: "iana",
extensions: ["pti"],
},
"image/pwg-raster": {
source: "iana",
},
"image/sgi": {
source: "apache",
extensions: ["sgi"],
},
"image/svg+xml": {
source: "iana",
compressible: true,
extensions: ["svg", "svgz"],
},
"image/t38": {
source: "iana",
extensions: ["t38"],
},
"image/tiff": {
source: "iana",
compressible: false,
extensions: ["tif", "tiff"],
},
"image/tiff-fx": {
source: "iana",
extensions: ["tfx"],
},
"image/vnd.adobe.photoshop": {
source: "iana",
compressible: true,
extensions: ["psd"],
},
"image/vnd.airzip.accelerator.azv": {
source: "iana",
extensions: ["azv"],
},
"image/vnd.cns.inf2": {
source: "iana",
},
"image/vnd.dece.graphic": {
source: "iana",
extensions: ["uvi", "uvvi", "uvg", "uvvg"],
},
"image/vnd.djvu": {
source: "iana",
extensions: ["djvu", "djv"],
},
"image/vnd.dvb.subtitle": {
source: "iana",
extensions: ["sub"],
},
"image/vnd.dwg": {
source: "iana",
extensions: ["dwg"],
},
"image/vnd.dxf": {
source: "iana",
extensions: ["dxf"],
},
"image/vnd.fastbidsheet": {
source: "iana",
extensions: ["fbs"],
},
"image/vnd.fpx": {
source: "iana",
extensions: ["fpx"],
},
"image/vnd.fst": {
source: "iana",
extensions: ["fst"],
},
"image/vnd.fujixerox.edmics-mmr": {
source: "iana",
extensions: ["mmr"],
},
"image/vnd.fujixerox.edmics-rlc": {
source: "iana",
extensions: ["rlc"],
},
"image/vnd.globalgraphics.pgb": {
source: "iana",
},
"image/vnd.microsoft.icon": {
source: "iana",
extensions: ["ico"],
},
"image/vnd.mix": {
source: "iana",
},
"image/vnd.mozilla.apng": {
source: "iana",
},
"image/vnd.ms-dds": {
extensions: ["dds"],
},
"image/vnd.ms-modi": {
source: "iana",
extensions: ["mdi"],
},
"image/vnd.ms-photo": {
source: "apache",
extensions: ["wdp"],
},
"image/vnd.net-fpx": {
source: "iana",
extensions: ["npx"],
},
"image/vnd.pco.b16": {
source: "iana",
extensions: ["b16"],
},
"image/vnd.radiance": {
source: "iana",
},
"image/vnd.sealed.png": {
source: "iana",
},
"image/vnd.sealedmedia.softseal.gif": {
source: "iana",
},
"image/vnd.sealedmedia.softseal.jpg": {
source: "iana",
},
"image/vnd.svf": {
source: "iana",
},
"image/vnd.tencent.tap": {
source: "iana",
extensions: ["tap"],
},
"image/vnd.valve.source.texture": {
source: "iana",
extensions: ["vtf"],
},
"image/vnd.wap.wbmp": {
source: "iana",
extensions: ["wbmp"],
},
"image/vnd.xiff": {
source: "iana",
extensions: ["xif"],
},
"image/vnd.zbrush.pcx": {
source: "iana",
extensions: ["pcx"],
},
"image/webp": {
source: "apache",
extensions: ["webp"],
},
"image/wmf": {
source: "iana",
extensions: ["wmf"],
},
"image/x-3ds": {
source: "apache",
extensions: ["3ds"],
},
"image/x-cmu-raster": {
source: "apache",
extensions: ["ras"],
},
"image/x-cmx": {
source: "apache",
extensions: ["cmx"],
},
"image/x-freehand": {
source: "apache",
extensions: ["fh", "fhc", "fh4", "fh5", "fh7"],
},
"image/x-icon": {
source: "apache",
compressible: true,
extensions: ["ico"],
},
"image/x-jng": {
source: "nginx",
extensions: ["jng"],
},
"image/x-mrsid-image": {
source: "apache",
extensions: ["sid"],
},
"image/x-ms-bmp": {
source: "nginx",
compressible: true,
extensions: ["bmp"],
},
"image/x-pcx": {
source: "apache",
extensions: ["pcx"],
},
"image/x-pict": {
source: "apache",
extensions: ["pic", "pct"],
},
"image/x-portable-anymap": {
source: "apache",
extensions: ["pnm"],
},
"image/x-portable-bitmap": {
source: "apache",
extensions: ["pbm"],
},
"image/x-portable-graymap": {
source: "apache",
extensions: ["pgm"],
},
"image/x-portable-pixmap": {
source: "apache",
extensions: ["ppm"],
},
"image/x-rgb": {
source: "apache",
extensions: ["rgb"],
},
"image/x-tga": {
source: "apache",
extensions: ["tga"],
},
"image/x-xbitmap": {
source: "apache",
extensions: ["xbm"],
},
"image/x-xcf": {
compressible: false,
},
"image/x-xpixmap": {
source: "apache",
extensions: ["xpm"],
},
"image/x-xwindowdump": {
source: "apache",
extensions: ["xwd"],
},
"message/cpim": {
source: "iana",
},
"message/delivery-status": {
source: "iana",
},
"message/disposition-notification": {
source: "iana",
extensions: ["disposition-notification"],
},
"message/external-body": {
source: "iana",
},
"message/feedback-report": {
source: "iana",
},
"message/global": {
source: "iana",
extensions: ["u8msg"],
},
"message/global-delivery-status": {
source: "iana",
extensions: ["u8dsn"],
},
"message/global-disposition-notification": {
source: "iana",
extensions: ["u8mdn"],
},
"message/global-headers": {
source: "iana",
extensions: ["u8hdr"],
},
"message/http": {
source: "iana",
compressible: false,
},
"message/imdn+xml": {
source: "iana",
compressible: true,
},
"message/news": {
source: "iana",
},
"message/partial": {
source: "iana",
compressible: false,
},
"message/rfc822": {
source: "iana",
compressible: true,
extensions: ["eml", "mime"],
},
"message/s-http": {
source: "iana",
},
"message/sip": {
source: "iana",
},
"message/sipfrag": {
source: "iana",
},
"message/tracking-status": {
source: "iana",
},
"message/vnd.si.simp": {
source: "iana",
},
"message/vnd.wfa.wsc": {
source: "iana",
extensions: ["wsc"],
},
"model/3mf": {
source: "iana",
extensions: ["3mf"],
},
"model/e57": {
source: "iana",
},
"model/gltf+json": {
source: "iana",
compressible: true,
extensions: ["gltf"],
},
"model/gltf-binary": {
source: "iana",
compressible: true,
extensions: ["glb"],
},
"model/iges": {
source: "iana",
compressible: false,
extensions: ["igs", "iges"],
},
"model/mesh": {
source: "iana",
compressible: false,
extensions: ["msh", "mesh", "silo"],
},
"model/mtl": {
source: "iana",
extensions: ["mtl"],
},
"model/obj": {
source: "iana",
extensions: ["obj"],
},
"model/stl": {
source: "iana",
extensions: ["stl"],
},
"model/vnd.collada+xml": {
source: "iana",
compressible: true,
extensions: ["dae"],
},
"model/vnd.dwf": {
source: "iana",
extensions: ["dwf"],
},
"model/vnd.flatland.3dml": {
source: "iana",
},
"model/vnd.gdl": {
source: "iana",
extensions: ["gdl"],
},
"model/vnd.gs-gdl": {
source: "apache",
},
"model/vnd.gs.gdl": {
source: "iana",
},
"model/vnd.gtw": {
source: "iana",
extensions: ["gtw"],
},
"model/vnd.moml+xml": {
source: "iana",
compressible: true,
},
"model/vnd.mts": {
source: "iana",
extensions: ["mts"],
},
"model/vnd.opengex": {
source: "iana",
extensions: ["ogex"],
},
"model/vnd.parasolid.transmit.binary": {
source: "iana",
extensions: ["x_b"],
},
"model/vnd.parasolid.transmit.text": {
source: "iana",
extensions: ["x_t"],
},
"model/vnd.rosette.annotated-data-model": {
source: "iana",
},
"model/vnd.usdz+zip": {
source: "iana",
compressible: false,
extensions: ["usdz"],
},
"model/vnd.valve.source.compiled-map": {
source: "iana",
extensions: ["bsp"],
},
"model/vnd.vtu": {
source: "iana",
extensions: ["vtu"],
},
"model/vrml": {
source: "iana",
compressible: false,
extensions: ["wrl", "vrml"],
},
"model/x3d+binary": {
source: "apache",
compressible: false,
extensions: ["x3db", "x3dbz"],
},
"model/x3d+fastinfoset": {
source: "iana",
extensions: ["x3db"],
},
"model/x3d+vrml": {
source: "apache",
compressible: false,
extensions: ["x3dv", "x3dvz"],
},
"model/x3d+xml": {
source: "iana",
compressible: true,
extensions: ["x3d", "x3dz"],
},
"model/x3d-vrml": {
source: "iana",
extensions: ["x3dv"],
},
"multipart/alternative": {
source: "iana",
compressible: false,
},
"multipart/appledouble": {
source: "iana",
},
"multipart/byteranges": {
source: "iana",
},
"multipart/digest": {
source: "iana",
},
"multipart/encrypted": {
source: "iana",
compressible: false,
},
"multipart/form-data": {
source: "iana",
compressible: false,
},
"multipart/header-set": {
source: "iana",
},
"multipart/mixed": {
source: "iana",
},
"multipart/multilingual": {
source: "iana",
},
"multipart/parallel": {
source: "iana",
},
"multipart/related": {
source: "iana",
compressible: false,
},
"multipart/report": {
source: "iana",
},
"multipart/signed": {
source: "iana",
compressible: false,
},
"multipart/vnd.bint.med-plus": {
source: "iana",
},
"multipart/voice-message": {
source: "iana",
},
"multipart/x-mixed-replace": {
source: "iana",
},
"text/1d-interleaved-parityfec": {
source: "iana",
},
"text/cache-manifest": {
source: "iana",
compressible: true,
extensions: ["appcache", "manifest"],
},
"text/calendar": {
source: "iana",
extensions: ["ics", "ifb"],
},
"text/calender": {
compressible: true,
},
"text/cmd": {
compressible: true,
},
"text/coffeescript": {
extensions: ["coffee", "litcoffee"],
},
"text/css": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["css"],
},
"text/csv": {
source: "iana",
compressible: true,
extensions: ["csv"],
},
"text/csv-schema": {
source: "iana",
},
"text/directory": {
source: "iana",
},
"text/dns": {
source: "iana",
},
"text/ecmascript": {
source: "iana",
},
"text/encaprtp": {
source: "iana",
},
"text/enriched": {
source: "iana",
},
"text/flexfec": {
source: "iana",
},
"text/fwdred": {
source: "iana",
},
"text/gff3": {
source: "iana",
},
"text/grammar-ref-list": {
source: "iana",
},
"text/html": {
source: "iana",
compressible: true,
extensions: ["html", "htm", "shtml"],
},
"text/jade": {
extensions: ["jade"],
},
"text/javascript": {
source: "iana",
compressible: true,
},
"text/jcr-cnd": {
source: "iana",
},
"text/jsx": {
compressible: true,
extensions: ["jsx"],
},
"text/less": {
compressible: true,
extensions: ["less"],
},
"text/markdown": {
source: "iana",
compressible: true,
extensions: ["markdown", "md"],
},
"text/mathml": {
source: "nginx",
extensions: ["mml"],
},
"text/mdx": {
compressible: true,
extensions: ["mdx"],
},
"text/mizar": {
source: "iana",
},
"text/n3": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["n3"],
},
"text/parameters": {
source: "iana",
charset: "UTF-8",
},
"text/parityfec": {
source: "iana",
},
"text/plain": {
source: "iana",
compressible: true,
extensions: ["txt", "text", "conf", "def", "list", "log", "in", "ini"],
},
"text/provenance-notation": {
source: "iana",
charset: "UTF-8",
},
"text/prs.fallenstein.rst": {
source: "iana",
},
"text/prs.lines.tag": {
source: "iana",
extensions: ["dsc"],
},
"text/prs.prop.logic": {
source: "iana",
},
"text/raptorfec": {
source: "iana",
},
"text/red": {
source: "iana",
},
"text/rfc822-headers": {
source: "iana",
},
"text/richtext": {
source: "iana",
compressible: true,
extensions: ["rtx"],
},
"text/rtf": {
source: "iana",
compressible: true,
extensions: ["rtf"],
},
"text/rtp-enc-aescm128": {
source: "iana",
},
"text/rtploopback": {
source: "iana",
},
"text/rtx": {
source: "iana",
},
"text/sgml": {
source: "iana",
extensions: ["sgml", "sgm"],
},
"text/shaclc": {
source: "iana",
},
"text/shex": {
extensions: ["shex"],
},
"text/slim": {
extensions: ["slim", "slm"],
},
"text/spdx": {
source: "iana",
extensions: ["spdx"],
},
"text/strings": {
source: "iana",
},
"text/stylus": {
extensions: ["stylus", "styl"],
},
"text/t140": {
source: "iana",
},
"text/tab-separated-values": {
source: "iana",
compressible: true,
extensions: ["tsv"],
},
"text/troff": {
source: "iana",
extensions: ["t", "tr", "roff", "man", "me", "ms"],
},
"text/turtle": {
source: "iana",
charset: "UTF-8",
extensions: ["ttl"],
},
"text/ulpfec": {
source: "iana",
},
"text/uri-list": {
source: "iana",
compressible: true,
extensions: ["uri", "uris", "urls"],
},
"text/vcard": {
source: "iana",
compressible: true,
extensions: ["vcard"],
},
"text/vnd.a": {
source: "iana",
},
"text/vnd.abc": {
source: "iana",
},
"text/vnd.ascii-art": {
source: "iana",
},
"text/vnd.curl": {
source: "iana",
extensions: ["curl"],
},
"text/vnd.curl.dcurl": {
source: "apache",
extensions: ["dcurl"],
},
"text/vnd.curl.mcurl": {
source: "apache",
extensions: ["mcurl"],
},
"text/vnd.curl.scurl": {
source: "apache",
extensions: ["scurl"],
},
"text/vnd.debian.copyright": {
source: "iana",
charset: "UTF-8",
},
"text/vnd.dmclientscript": {
source: "iana",
},
"text/vnd.dvb.subtitle": {
source: "iana",
extensions: ["sub"],
},
"text/vnd.esmertec.theme-descriptor": {
source: "iana",
charset: "UTF-8",
},
"text/vnd.ficlab.flt": {
source: "iana",
},
"text/vnd.fly": {
source: "iana",
extensions: ["fly"],
},
"text/vnd.fmi.flexstor": {
source: "iana",
extensions: ["flx"],
},
"text/vnd.gml": {
source: "iana",
},
"text/vnd.graphviz": {
source: "iana",
extensions: ["gv"],
},
"text/vnd.hans": {
source: "iana",
},
"text/vnd.hgl": {
source: "iana",
},
"text/vnd.in3d.3dml": {
source: "iana",
extensions: ["3dml"],
},
"text/vnd.in3d.spot": {
source: "iana",
extensions: ["spot"],
},
"text/vnd.iptc.newsml": {
source: "iana",
},
"text/vnd.iptc.nitf": {
source: "iana",
},
"text/vnd.latex-z": {
source: "iana",
},
"text/vnd.motorola.reflex": {
source: "iana",
},
"text/vnd.ms-mediapackage": {
source: "iana",
},
"text/vnd.net2phone.commcenter.command": {
source: "iana",
},
"text/vnd.radisys.msml-basic-layout": {
source: "iana",
},
"text/vnd.senx.warpscript": {
source: "iana",
},
"text/vnd.si.uricatalogue": {
source: "iana",
},
"text/vnd.sosi": {
source: "iana",
},
"text/vnd.sun.j2me.app-descriptor": {
source: "iana",
charset: "UTF-8",
extensions: ["jad"],
},
"text/vnd.trolltech.linguist": {
source: "iana",
charset: "UTF-8",
},
"text/vnd.wap.si": {
source: "iana",
},
"text/vnd.wap.sl": {
source: "iana",
},
"text/vnd.wap.wml": {
source: "iana",
extensions: ["wml"],
},
"text/vnd.wap.wmlscript": {
source: "iana",
extensions: ["wmls"],
},
"text/vtt": {
source: "iana",
charset: "UTF-8",
compressible: true,
extensions: ["vtt"],
},
"text/x-asm": {
source: "apache",
extensions: ["s", "asm"],
},
"text/x-c": {
source: "apache",
extensions: ["c", "cc", "cxx", "cpp", "h", "hh", "dic"],
},
"text/x-component": {
source: "nginx",
extensions: ["htc"],
},
"text/x-fortran": {
source: "apache",
extensions: ["f", "for", "f77", "f90"],
},
"text/x-gwt-rpc": {
compressible: true,
},
"text/x-handlebars-template": {
extensions: ["hbs"],
},
"text/x-java-source": {
source: "apache",
extensions: ["java"],
},
"text/x-jquery-tmpl": {
compressible: true,
},
"text/x-lua": {
extensions: ["lua"],
},
"text/x-markdown": {
compressible: true,
extensions: ["mkd"],
},
"text/x-nfo": {
source: "apache",
extensions: ["nfo"],
},
"text/x-opml": {
source: "apache",
extensions: ["opml"],
},
"text/x-org": {
compressible: true,
extensions: ["org"],
},
"text/x-pascal": {
source: "apache",
extensions: ["p", "pas"],
},
"text/x-processing": {
compressible: true,
extensions: ["pde"],
},
"text/x-sass": {
extensions: ["sass"],
},
"text/x-scss": {
extensions: ["scss"],
},
"text/x-setext": {
source: "apache",
extensions: ["etx"],
},
"text/x-sfv": {
source: "apache",
extensions: ["sfv"],
},
"text/x-suse-ymp": {
compressible: true,
extensions: ["ymp"],
},
"text/x-uuencode": {
source: "apache",
extensions: ["uu"],
},
"text/x-vcalendar": {
source: "apache",
extensions: ["vcs"],
},
"text/x-vcard": {
source: "apache",
extensions: ["vcf"],
},
"text/xml": {
source: "iana",
compressible: true,
extensions: ["xml"],
},
"text/xml-external-parsed-entity": {
source: "iana",
},
"text/yaml": {
extensions: ["yaml", "yml"],
},
"video/1d-interleaved-parityfec": {
source: "iana",
},
"video/3gpp": {
source: "iana",
extensions: ["3gp", "3gpp"],
},
"video/3gpp-tt": {
source: "iana",
},
"video/3gpp2": {
source: "iana",
extensions: ["3g2"],
},
"video/bmpeg": {
source: "iana",
},
"video/bt656": {
source: "iana",
},
"video/celb": {
source: "iana",
},
"video/dv": {
source: "iana",
},
"video/encaprtp": {
source: "iana",
},
"video/flexfec": {
source: "iana",
},
"video/h261": {
source: "iana",
extensions: ["h261"],
},
"video/h263": {
source: "iana",
extensions: ["h263"],
},
"video/h263-1998": {
source: "iana",
},
"video/h263-2000": {
source: "iana",
},
"video/h264": {
source: "iana",
extensions: ["h264"],
},
"video/h264-rcdo": {
source: "iana",
},
"video/h264-svc": {
source: "iana",
},
"video/h265": {
source: "iana",
},
"video/iso.segment": {
source: "iana",
},
"video/jpeg": {
source: "iana",
extensions: ["jpgv"],
},
"video/jpeg2000": {
source: "iana",
},
"video/jpm": {
source: "apache",
extensions: ["jpm", "jpgm"],
},
"video/mj2": {
source: "iana",
extensions: ["mj2", "mjp2"],
},
"video/mp1s": {
source: "iana",
},
"video/mp2p": {
source: "iana",
},
"video/mp2t": {
source: "iana",
extensions: ["ts"],
},
"video/mp4": {
source: "iana",
compressible: false,
extensions: ["mp4", "mp4v", "mpg4"],
},
"video/mp4v-es": {
source: "iana",
},
"video/mpeg": {
source: "iana",
compressible: false,
extensions: ["mpeg", "mpg", "mpe", "m1v", "m2v"],
},
"video/mpeg4-generic": {
source: "iana",
},
"video/mpv": {
source: "iana",
},
"video/nv": {
source: "iana",
},
"video/ogg": {
source: "iana",
compressible: false,
extensions: ["ogv"],
},
"video/parityfec": {
source: "iana",
},
"video/pointer": {
source: "iana",
},
"video/quicktime": {
source: "iana",
compressible: false,
extensions: ["qt", "mov"],
},
"video/raptorfec": {
source: "iana",
},
"video/raw": {
source: "iana",
},
"video/rtp-enc-aescm128": {
source: "iana",
},
"video/rtploopback": {
source: "iana",
},
"video/rtx": {
source: "iana",
},
"video/smpte291": {
source: "iana",
},
"video/smpte292m": {
source: "iana",
},
"video/ulpfec": {
source: "iana",
},
"video/vc1": {
source: "iana",
},
"video/vc2": {
source: "iana",
},
"video/vnd.cctv": {
source: "iana",
},
"video/vnd.dece.hd": {
source: "iana",
extensions: ["uvh", "uvvh"],
},
"video/vnd.dece.mobile": {
source: "iana",
extensions: ["uvm", "uvvm"],
},
"video/vnd.dece.mp4": {
source: "iana",
},
"video/vnd.dece.pd": {
source: "iana",
extensions: ["uvp", "uvvp"],
},
"video/vnd.dece.sd": {
source: "iana",
extensions: ["uvs", "uvvs"],
},
"video/vnd.dece.video": {
source: "iana",
extensions: ["uvv", "uvvv"],
},
"video/vnd.directv.mpeg": {
source: "iana",
},
"video/vnd.directv.mpeg-tts": {
source: "iana",
},
"video/vnd.dlna.mpeg-tts": {
source: "iana",
},
"video/vnd.dvb.file": {
source: "iana",
extensions: ["dvb"],
},
"video/vnd.fvt": {
source: "iana",
extensions: ["fvt"],
},
"video/vnd.hns.video": {
source: "iana",
},
"video/vnd.iptvforum.1dparityfec-1010": {
source: "iana",
},
"video/vnd.iptvforum.1dparityfec-2005": {
source: "iana",
},
"video/vnd.iptvforum.2dparityfec-1010": {
source: "iana",
},
"video/vnd.iptvforum.2dparityfec-2005": {
source: "iana",
},
"video/vnd.iptvforum.ttsavc": {
source: "iana",
},
"video/vnd.iptvforum.ttsmpeg2": {
source: "iana",
},
"video/vnd.motorola.video": {
source: "iana",
},
"video/vnd.motorola.videop": {
source: "iana",
},
"video/vnd.mpegurl": {
source: "iana",
extensions: ["mxu", "m4u"],
},
"video/vnd.ms-playready.media.pyv": {
source: "iana",
extensions: ["pyv"],
},
"video/vnd.nokia.interleaved-multimedia": {
source: "iana",
},
"video/vnd.nokia.mp4vr": {
source: "iana",
},
"video/vnd.nokia.videovoip": {
source: "iana",
},
"video/vnd.objectvideo": {
source: "iana",
},
"video/vnd.radgamettools.bink": {
source: "iana",
},
"video/vnd.radgamettools.smacker": {
source: "iana",
},
"video/vnd.sealed.mpeg1": {
source: "iana",
},
"video/vnd.sealed.mpeg4": {
source: "iana",
},
"video/vnd.sealed.swf": {
source: "iana",
},
"video/vnd.sealedmedia.softseal.mov": {
source: "iana",
},
"video/vnd.uvvu.mp4": {
source: "iana",
extensions: ["uvu", "uvvu"],
},
"video/vnd.vivo": {
source: "iana",
extensions: ["viv"],
},
"video/vnd.youtube.yt": {
source: "iana",
},
"video/vp8": {
source: "iana",
},
"video/webm": {
source: "apache",
compressible: false,
extensions: ["webm"],
},
"video/x-f4v": {
source: "apache",
extensions: ["f4v"],
},
"video/x-fli": {
source: "apache",
extensions: ["fli"],
},
"video/x-flv": {
source: "apache",
compressible: false,
extensions: ["flv"],
},
"video/x-m4v": {
source: "apache",
extensions: ["m4v"],
},
"video/x-matroska": {
source: "apache",
compressible: false,
extensions: ["mkv", "mk3d", "mks"],
},
"video/x-mng": {
source: "apache",
extensions: ["mng"],
},
"video/x-ms-asf": {
source: "apache",
extensions: ["asf", "asx"],
},
"video/x-ms-vob": {
source: "apache",
extensions: ["vob"],
},
"video/x-ms-wm": {
source: "apache",
extensions: ["wm"],
},
"video/x-ms-wmv": {
source: "apache",
compressible: false,
extensions: ["wmv"],
},
"video/x-ms-wmx": {
source: "apache",
extensions: ["wmx"],
},
"video/x-ms-wvx": {
source: "apache",
extensions: ["wvx"],
},
"video/x-msvideo": {
source: "apache",
extensions: ["avi"],
},
"video/x-sgi-movie": {
source: "apache",
extensions: ["movie"],
},
"video/x-smv": {
source: "apache",
extensions: ["smv"],
},
"x-conference/x-cooltalk": {
source: "apache",
extensions: ["ice"],
},
"x-shader/x-fragment": {
compressible: true,
},
"x-shader/x-vertex": {
compressible: true,
},
};
},
});
// node_modules/mime-db/index.js
var require_mime_db = __commonJS({
"node_modules/mime-db/index.js"(exports2, module2) {
module2.exports = require_db();
},
});
// node_modules/mime-types/index.js
var require_mime_types = __commonJS({
"node_modules/mime-types/index.js"(exports2) {
"use strict";
var db = require_mime_db();
var extname = require("path").extname;
var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/;
var TEXT_TYPE_REGEXP = /^text\//i;
exports2.charset = charset;
exports2.charsets = {lookup: charset};
exports2.contentType = contentType;
exports2.extension = extension;
exports2.extensions = /* @__PURE__ */ Object.create(null);
exports2.lookup = lookup;
exports2.types = /* @__PURE__ */ Object.create(null);
populateMaps(exports2.extensions, exports2.types);
function charset(type) {
if (!type || typeof type !== "string") {
return false;
}
var match = EXTRACT_TYPE_REGEXP.exec(type);
var mime = match && db[match[1].toLowerCase()];
if (mime && mime.charset) {
return mime.charset;
}
if (match && TEXT_TYPE_REGEXP.test(match[1])) {
return "UTF-8";
}
return false;
}
function contentType(str) {
if (!str || typeof str !== "string") {
return false;
}
var mime = str.indexOf("/") === -1 ? exports2.lookup(str) : str;
if (!mime) {
return false;
}
if (mime.indexOf("charset") === -1) {
var charset2 = exports2.charset(mime);
if (charset2) mime += "; charset=" + charset2.toLowerCase();
}
return mime;
}
function extension(type) {
if (!type || typeof type !== "string") {
return false;
}
var match = EXTRACT_TYPE_REGEXP.exec(type);
var exts = match && exports2.extensions[match[1].toLowerCase()];
if (!exts || !exts.length) {
return false;
}
return exts[0];
}
function lookup(path) {
if (!path || typeof path !== "string") {
return false;
}
var extension2 = extname("x." + path)
.toLowerCase()
.substr(1);
if (!extension2) {
return false;
}
return exports2.types[extension2] || false;
}
function populateMaps(extensions, types) {
var preference = ["nginx", "apache", void 0, "iana"];
Object.keys(db).forEach(function forEachMimeType(type) {
var mime = db[type];
var exts = mime.extensions;
if (!exts || !exts.length) {
return;
}
extensions[type] = exts;
for (var i = 0; i < exts.length; i++) {
var extension2 = exts[i];
if (types[extension2]) {
var from = preference.indexOf(db[types[extension2]].source);
var to = preference.indexOf(mime.source);
if (
types[extension2] !== "application/octet-stream" &&
(from > to ||
(from === to &&
types[extension2].substr(0, 12) === "application/"))
) {
continue;
}
}
types[extension2] = type;
}
});
}
},
});
// node_modules/asynckit/lib/defer.js
var require_defer = __commonJS({
"node_modules/asynckit/lib/defer.js"(exports2, module2) {
module2.exports = defer;
function defer(fn) {
var nextTick =
typeof setImmediate == "function"
? setImmediate
: typeof process == "object" && typeof process.nextTick == "function"
? process.nextTick
: null;
if (nextTick) {
nextTick(fn);
} else {
setTimeout(fn, 0);
}
}
},
});
// node_modules/asynckit/lib/async.js
var require_async = __commonJS({
"node_modules/asynckit/lib/async.js"(exports2, module2) {
var defer = require_defer();
module2.exports = async;
function async(callback) {
var isAsync = false;
defer(function () {
isAsync = true;
});
return function async_callback(err, result) {
if (isAsync) {
callback(err, result);
} else {
defer(function nextTick_callback() {
callback(err, result);
});
}
};
}
},
});
// node_modules/asynckit/lib/abort.js
var require_abort = __commonJS({
"node_modules/asynckit/lib/abort.js"(exports2, module2) {
module2.exports = abort;
function abort(state) {
Object.keys(state.jobs).forEach(clean.bind(state));
state.jobs = {};
}
function clean(key) {
if (typeof this.jobs[key] == "function") {
this.jobs[key]();
}
}
},
});
// node_modules/asynckit/lib/iterate.js
var require_iterate = __commonJS({
"node_modules/asynckit/lib/iterate.js"(exports2, module2) {
var async = require_async();
var abort = require_abort();
module2.exports = iterate;
function iterate(list, iterator, state, callback) {
var key = state["keyedList"]
? state["keyedList"][state.index]
: state.index;
state.jobs[key] = runJob(
iterator,
key,
list[key],
function (error, output) {
if (!(key in state.jobs)) {
return;
}
delete state.jobs[key];
if (error) {
abort(state);
} else {
state.results[key] = output;
}
callback(error, state.results);
}
);
}
function runJob(iterator, key, item, callback) {
var aborter;
if (iterator.length == 2) {
aborter = iterator(item, async(callback));
} else {
aborter = iterator(item, key, async(callback));
}
return aborter;
}
},
});
// node_modules/asynckit/lib/state.js
var require_state = __commonJS({
"node_modules/asynckit/lib/state.js"(exports2, module2) {
module2.exports = state;
function state(list, sortMethod) {
var isNamedList = !Array.isArray(list),
initState = {
index: 0,
keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
jobs: {},
results: isNamedList ? {} : [],
size: isNamedList ? Object.keys(list).length : list.length,
};
if (sortMethod) {
initState.keyedList.sort(
isNamedList
? sortMethod
: function (a, b) {
return sortMethod(list[a], list[b]);
}
);
}
return initState;
}
},
});
// node_modules/asynckit/lib/terminator.js
var require_terminator = __commonJS({
"node_modules/asynckit/lib/terminator.js"(exports2, module2) {
var abort = require_abort();
var async = require_async();
module2.exports = terminator;
function terminator(callback) {
if (!Object.keys(this.jobs).length) {
return;
}
this.index = this.size;
abort(this);
async(callback)(null, this.results);
}
},
});
// node_modules/asynckit/parallel.js
var require_parallel = __commonJS({
"node_modules/asynckit/parallel.js"(exports2, module2) {
var iterate = require_iterate();
var initState = require_state();
var terminator = require_terminator();
module2.exports = parallel;
function parallel(list, iterator, callback) {
var state = initState(list);
while (state.index < (state["keyedList"] || list).length) {
iterate(list, iterator, state, function (error, result) {
if (error) {
callback(error, result);
return;
}
if (Object.keys(state.jobs).length === 0) {
callback(null, state.results);
return;
}
});
state.index++;
}
return terminator.bind(state, callback);
}
},
});
// node_modules/asynckit/serialOrdered.js
var require_serialOrdered = __commonJS({
"node_modules/asynckit/serialOrdered.js"(exports2, module2) {
var iterate = require_iterate();
var initState = require_state();
var terminator = require_terminator();
module2.exports = serialOrdered;
module2.exports.ascending = ascending;
module2.exports.descending = descending;
function serialOrdered(list, iterator, sortMethod, callback) {
var state = initState(list, sortMethod);
iterate(list, iterator, state, function iteratorHandler(error, result) {
if (error) {
callback(error, result);
return;
}
state.index++;
if (state.index < (state["keyedList"] || list).length) {
iterate(list, iterator, state, iteratorHandler);
return;
}
callback(null, state.results);
});
return terminator.bind(state, callback);
}
function ascending(a, b) {
return a < b ? -1 : a > b ? 1 : 0;
}
function descending(a, b) {
return -1 * ascending(a, b);
}
},
});
// node_modules/asynckit/serial.js
var require_serial = __commonJS({
"node_modules/asynckit/serial.js"(exports2, module2) {
var serialOrdered = require_serialOrdered();
module2.exports = serial;
function serial(list, iterator, callback) {
return serialOrdered(list, iterator, null, callback);
}
},
});
// node_modules/asynckit/index.js
var require_asynckit = __commonJS({
"node_modules/asynckit/index.js"(exports2, module2) {
module2.exports = {
parallel: require_parallel(),
serial: require_serial(),
serialOrdered: require_serialOrdered(),
};
},
});
// node_modules/form-data/lib/populate.js
var require_populate = __commonJS({
"node_modules/form-data/lib/populate.js"(exports2, module2) {
module2.exports = function (dst, src) {
Object.keys(src).forEach(function (prop) {
dst[prop] = dst[prop] || src[prop];
});
return dst;
};
},
});
// node_modules/form-data/lib/form_data.js
var require_form_data = __commonJS({
"node_modules/form-data/lib/form_data.js"(exports2, module2) {
var CombinedStream = require_combined_stream();
var util2 = require("util");
var path = require("path");
var http2 = require("http");
var https2 = require("https");
var parseUrl = require("url").parse;
var fs = require("fs");
var Stream = require("stream").Stream;
var mime = require_mime_types();
var asynckit = require_asynckit();
var populate = require_populate();
module2.exports = FormData3;
util2.inherits(FormData3, CombinedStream);
function FormData3(options) {
if (!(this instanceof FormData3)) {
return new FormData3(options);
}
this._overheadLength = 0;
this._valueLength = 0;
this._valuesToMeasure = [];
CombinedStream.call(this);
options = options || {};
for (var option in options) {
this[option] = options[option];
}
}
FormData3.LINE_BREAK = "\r\n";
FormData3.DEFAULT_CONTENT_TYPE = "application/octet-stream";
FormData3.prototype.append = function (field, value, options) {
options = options || {};
if (typeof options == "string") {
options = {filename: options};
}
var append2 = CombinedStream.prototype.append.bind(this);
if (typeof value == "number") {
value = "" + value;
}
if (util2.isArray(value)) {
this._error(new Error("Arrays are not supported."));
return;
}
var header = this._multiPartHeader(field, value, options);
var footer = this._multiPartFooter();
append2(header);
append2(value);
append2(footer);
this._trackLength(header, value, options);
};
FormData3.prototype._trackLength = function (header, value, options) {
var valueLength = 0;
if (options.knownLength != null) {
valueLength += +options.knownLength;
} else if (Buffer.isBuffer(value)) {
valueLength = value.length;
} else if (typeof value === "string") {
valueLength = Buffer.byteLength(value);
}
this._valueLength += valueLength;
this._overheadLength +=
Buffer.byteLength(header) + FormData3.LINE_BREAK.length;
if (
!value ||
(!value.path &&
!(value.readable && value.hasOwnProperty("httpVersion")) &&
!(value instanceof Stream))
) {
return;
}
if (!options.knownLength) {
this._valuesToMeasure.push(value);
}
};
FormData3.prototype._lengthRetriever = function (value, callback) {
if (value.hasOwnProperty("fd")) {
if (
value.end != void 0 &&
value.end != Infinity &&
value.start != void 0
) {
callback(null, value.end + 1 - (value.start ? value.start : 0));
} else {
fs.stat(value.path, function (err, stat) {
var fileSize;
if (err) {
callback(err);
return;
}
fileSize = stat.size - (value.start ? value.start : 0);
callback(null, fileSize);
});
}
} else if (value.hasOwnProperty("httpVersion")) {
callback(null, +value.headers["content-length"]);
} else if (value.hasOwnProperty("httpModule")) {
value.on("response", function (response) {
value.pause();
callback(null, +response.headers["content-length"]);
});
value.resume();
} else {
callback("Unknown stream");
}
};
FormData3.prototype._multiPartHeader = function (field, value, options) {
if (typeof options.header == "string") {
return options.header;
}
var contentDisposition = this._getContentDisposition(value, options);
var contentType = this._getContentType(value, options);
var contents = "";
var headers = {
// add custom disposition as third element or keep it two elements if not
"Content-Disposition": ["form-data", 'name="' + field + '"'].concat(
contentDisposition || []
),
// if no content type. allow it to be empty array
"Content-Type": [].concat(contentType || []),
};
if (typeof options.header == "object") {
populate(headers, options.header);
}
var header;
for (var prop in headers) {
if (!headers.hasOwnProperty(prop)) continue;
header = headers[prop];
if (header == null) {
continue;
}
if (!Array.isArray(header)) {
header = [header];
}
if (header.length) {
contents += prop + ": " + header.join("; ") + FormData3.LINE_BREAK;
}
}
return (
"--" +
this.getBoundary() +
FormData3.LINE_BREAK +
contents +
FormData3.LINE_BREAK
);
};
FormData3.prototype._getContentDisposition = function (value, options) {
var filename, contentDisposition;
if (typeof options.filepath === "string") {
filename = path.normalize(options.filepath).replace(/\\/g, "/");
} else if (options.filename || value.name || value.path) {
filename = path.basename(options.filename || value.name || value.path);
} else if (value.readable && value.hasOwnProperty("httpVersion")) {
filename = path.basename(value.client._httpMessage.path || "");
}
if (filename) {
contentDisposition = 'filename="' + filename + '"';
}
return contentDisposition;
};
FormData3.prototype._getContentType = function (value, options) {
var contentType = options.contentType;
if (!contentType && value.name) {
contentType = mime.lookup(value.name);
}
if (!contentType && value.path) {
contentType = mime.lookup(value.path);
}
if (
!contentType &&
value.readable &&
value.hasOwnProperty("httpVersion")
) {
contentType = value.headers["content-type"];
}
if (!contentType && (options.filepath || options.filename)) {
contentType = mime.lookup(options.filepath || options.filename);
}
if (!contentType && typeof value == "object") {
contentType = FormData3.DEFAULT_CONTENT_TYPE;
}
return contentType;
};
FormData3.prototype._multiPartFooter = function () {
return function (next) {
var footer = FormData3.LINE_BREAK;
var lastPart = this._streams.length === 0;
if (lastPart) {
footer += this._lastBoundary();
}
next(footer);
}.bind(this);
};
FormData3.prototype._lastBoundary = function () {
return "--" + this.getBoundary() + "--" + FormData3.LINE_BREAK;
};
FormData3.prototype.getHeaders = function (userHeaders) {
var header;
var formHeaders = {
"content-type": "multipart/form-data; boundary=" + this.getBoundary(),
};
for (header in userHeaders) {
if (userHeaders.hasOwnProperty(header)) {
formHeaders[header.toLowerCase()] = userHeaders[header];
}
}
return formHeaders;
};
FormData3.prototype.setBoundary = function (boundary) {
this._boundary = boundary;
};
FormData3.prototype.getBoundary = function () {
if (!this._boundary) {
this._generateBoundary();
}
return this._boundary;
};
FormData3.prototype.getBuffer = function () {
var dataBuffer = new Buffer.alloc(0);
var boundary = this.getBoundary();
for (var i = 0, len = this._streams.length; i < len; i++) {
if (typeof this._streams[i] !== "function") {
if (Buffer.isBuffer(this._streams[i])) {
dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);
} else {
dataBuffer = Buffer.concat([
dataBuffer,
Buffer.from(this._streams[i]),
]);
}
if (
typeof this._streams[i] !== "string" ||
this._streams[i].substring(2, boundary.length + 2) !== boundary
) {
dataBuffer = Buffer.concat([
dataBuffer,
Buffer.from(FormData3.LINE_BREAK),
]);
}
}
}
return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);
};
FormData3.prototype._generateBoundary = function () {
var boundary = "--------------------------";
for (var i = 0; i < 24; i++) {
boundary += Math.floor(Math.random() * 10).toString(16);
}
this._boundary = boundary;
};
FormData3.prototype.getLengthSync = function () {
var knownLength = this._overheadLength + this._valueLength;
if (this._streams.length) {
knownLength += this._lastBoundary().length;
}
if (!this.hasKnownLength()) {
this._error(
new Error("Cannot calculate proper length in synchronous way.")
);
}
return knownLength;
};
FormData3.prototype.hasKnownLength = function () {
var hasKnownLength = true;
if (this._valuesToMeasure.length) {
hasKnownLength = false;
}
return hasKnownLength;
};
FormData3.prototype.getLength = function (cb) {
var knownLength = this._overheadLength + this._valueLength;
if (this._streams.length) {
knownLength += this._lastBoundary().length;
}
if (!this._valuesToMeasure.length) {
process.nextTick(cb.bind(this, null, knownLength));
return;
}
asynckit.parallel(
this._valuesToMeasure,
this._lengthRetriever,
function (err, values) {
if (err) {
cb(err);
return;
}
values.forEach(function (length) {
knownLength += length;
});
cb(null, knownLength);
}
);
};
FormData3.prototype.submit = function (params, cb) {
var request2,
options,
defaults2 = {method: "post"};
if (typeof params == "string") {
params = parseUrl(params);
options = populate(
{
port: params.port,
path: params.pathname,
host: params.hostname,
protocol: params.protocol,
},
defaults2
);
} else {
options = populate(params, defaults2);
if (!options.port) {
options.port = options.protocol == "https:" ? 443 : 80;
}
}
options.headers = this.getHeaders(params.headers);
if (options.protocol == "https:") {
request2 = https2.request(options);
} else {
request2 = http2.request(options);
}
this.getLength(
function (err, length) {
if (err && err !== "Unknown stream") {
this._error(err);
return;
}
if (length) {
request2.setHeader("Content-Length", length);
}
this.pipe(request2);
if (cb) {
var onResponse;
var callback = function (error, responce) {
request2.removeListener("error", callback);
request2.removeListener("response", onResponse);
return cb.call(this, error, responce);
};
onResponse = callback.bind(this, null);
request2.on("error", callback);
request2.on("response", onResponse);
}
}.bind(this)
);
return request2;
};
FormData3.prototype._error = function (err) {
if (!this.error) {
this.error = err;
this.pause();
this.emit("error", err);
}
};
FormData3.prototype.toString = function () {
return "[object FormData]";
};
},
});
// node_modules/proxy-from-env/index.js
var require_proxy_from_env = __commonJS({
"node_modules/proxy-from-env/index.js"(exports2) {
"use strict";
var parseUrl = require("url").parse;
var DEFAULT_PORTS = {
ftp: 21,
gopher: 70,
http: 80,
https: 443,
ws: 80,
wss: 443,
};
var stringEndsWith =
String.prototype.endsWith ||
function (s) {
return (
s.length <= this.length &&
this.indexOf(s, this.length - s.length) !== -1
);
};
function getProxyForUrl2(url2) {
var parsedUrl = typeof url2 === "string" ? parseUrl(url2) : url2 || {};
var proto = parsedUrl.protocol;
var hostname = parsedUrl.host;
var port = parsedUrl.port;
if (
typeof hostname !== "string" ||
!hostname ||
typeof proto !== "string"
) {
return "";
}
proto = proto.split(":", 1)[0];
hostname = hostname.replace(/:\d*$/, "");
port = parseInt(port) || DEFAULT_PORTS[proto] || 0;
if (!shouldProxy(hostname, port)) {
return "";
}
var proxy =
getEnv("npm_config_" + proto + "_proxy") ||
getEnv(proto + "_proxy") ||
getEnv("npm_config_proxy") ||
getEnv("all_proxy");
if (proxy && proxy.indexOf("://") === -1) {
proxy = proto + "://" + proxy;
}
return proxy;
}
function shouldProxy(hostname, port) {
var NO_PROXY = (
getEnv("npm_config_no_proxy") || getEnv("no_proxy")
).toLowerCase();
if (!NO_PROXY) {
return true;
}
if (NO_PROXY === "*") {
return false;
}
return NO_PROXY.split(/[,\s]/).every(function (proxy) {
if (!proxy) {
return true;
}
var parsedProxy = proxy.match(/^(.+):(\d+)$/);
var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
if (parsedProxyPort && parsedProxyPort !== port) {
return true;
}
if (!/^[.*]/.test(parsedProxyHostname)) {
return hostname !== parsedProxyHostname;
}
if (parsedProxyHostname.charAt(0) === "*") {
parsedProxyHostname = parsedProxyHostname.slice(1);
}
return !stringEndsWith.call(hostname, parsedProxyHostname);
});
}
function getEnv(key) {
return (
process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ""
);
}
exports2.getProxyForUrl = getProxyForUrl2;
},
});
// node_modules/ms/index.js
var require_ms = __commonJS({
"node_modules/ms/index.js"(exports2, module2) {
var s = 1e3;
var m = s * 60;
var h = m * 60;
var d = h * 24;
var w = d * 7;
var y = d * 365.25;
module2.exports = function (val, options) {
options = options || {};
var type = typeof val;
if (type === "string" && val.length > 0) {
return parse(val);
} else if (type === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
throw new Error(
"val is not a non-empty string or a valid number. val=" +
JSON.stringify(val)
);
};
function parse(str) {
str = String(str);
if (str.length > 100) {
return;
}
var match =
/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
str
);
if (!match) {
return;
}
var n = parseFloat(match[1]);
var type = (match[2] || "ms").toLowerCase();
switch (type) {
case "years":
case "year":
case "yrs":
case "yr":
case "y":
return n * y;
case "weeks":
case "week":
case "w":
return n * w;
case "days":
case "day":
case "d":
return n * d;
case "hours":
case "hour":
case "hrs":
case "hr":
case "h":
return n * h;
case "minutes":
case "minute":
case "mins":
case "min":
case "m":
return n * m;
case "seconds":
case "second":
case "secs":
case "sec":
case "s":
return n * s;
case "milliseconds":
case "millisecond":
case "msecs":
case "msec":
case "ms":
return n;
default:
return void 0;
}
}
function fmtShort(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return Math.round(ms / d) + "d";
}
if (msAbs >= h) {
return Math.round(ms / h) + "h";
}
if (msAbs >= m) {
return Math.round(ms / m) + "m";
}
if (msAbs >= s) {
return Math.round(ms / s) + "s";
}
return ms + "ms";
}
function fmtLong(ms) {
var msAbs = Math.abs(ms);
if (msAbs >= d) {
return plural(ms, msAbs, d, "day");
}
if (msAbs >= h) {
return plural(ms, msAbs, h, "hour");
}
if (msAbs >= m) {
return plural(ms, msAbs, m, "minute");
}
if (msAbs >= s) {
return plural(ms, msAbs, s, "second");
}
return ms + " ms";
}
function plural(ms, msAbs, n, name) {
var isPlural = msAbs >= n * 1.5;
return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
}
},
});
// node_modules/debug/src/common.js
var require_common = __commonJS({
"node_modules/debug/src/common.js"(exports2, module2) {
function setup(env) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
createDebug.coerce = coerce;
createDebug.disable = disable;
createDebug.enable = enable;
createDebug.enabled = enabled;
createDebug.humanize = require_ms();
createDebug.destroy = destroy;
Object.keys(env).forEach((key) => {
createDebug[key] = env[key];
});
createDebug.names = [];
createDebug.skips = [];
createDebug.formatters = {};
function selectColor(namespace2) {
let hash = 0;
for (let i = 0; i < namespace2.length; i++) {
hash = (hash << 5) - hash + namespace2.charCodeAt(i);
hash |= 0;
}
return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
}
createDebug.selectColor = selectColor;
function createDebug(namespace2) {
let prevTime;
let enableOverride = null;
let namespacesCache;
let enabledCache;
function debug(...args) {
if (!debug.enabled) {
return;
}
const self2 = debug;
const curr = Number(/* @__PURE__ */ new Date());
const ms = curr - (prevTime || curr);
self2.diff = ms;
self2.prev = prevTime;
self2.curr = curr;
prevTime = curr;
args[0] = createDebug.coerce(args[0]);
if (typeof args[0] !== "string") {
args.unshift("%O");
}
let index = 0;
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
if (match === "%%") {
return "%";
}
index++;
const formatter = createDebug.formatters[format];
if (typeof formatter === "function") {
const val = args[index];
match = formatter.call(self2, val);
args.splice(index, 1);
index--;
}
return match;
});
createDebug.formatArgs.call(self2, args);
const logFn = self2.log || createDebug.log;
logFn.apply(self2, args);
}
debug.namespace = namespace2;
debug.useColors = createDebug.useColors();
debug.color = createDebug.selectColor(namespace2);
debug.extend = extend2;
debug.destroy = createDebug.destroy;
Object.defineProperty(debug, "enabled", {
enumerable: true,
configurable: false,
get: () => {
if (enableOverride !== null) {
return enableOverride;
}
if (namespacesCache !== createDebug.namespaces) {
namespacesCache = createDebug.namespaces;
enabledCache = createDebug.enabled(namespace2);
}
return enabledCache;
},
set: (v) => {
enableOverride = v;
},
});
if (typeof createDebug.init === "function") {
createDebug.init(debug);
}
return debug;
}
function extend2(namespace2, delimiter) {
const newDebug = createDebug(
this.namespace +
(typeof delimiter === "undefined" ? ":" : delimiter) +
namespace2
);
newDebug.log = this.log;
return newDebug;
}
function enable(namespaces) {
createDebug.save(namespaces);
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
let i;
const split = (typeof namespaces === "string" ? namespaces : "").split(
/[\s,]+/
);
const len = split.length;
for (i = 0; i < len; i++) {
if (!split[i]) {
continue;
}
namespaces = split[i].replace(/\*/g, ".*?");
if (namespaces[0] === "-") {
createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$"));
} else {
createDebug.names.push(new RegExp("^" + namespaces + "$"));
}
}
}
function disable() {
const namespaces = [
...createDebug.names.map(toNamespace),
...createDebug.skips
.map(toNamespace)
.map((namespace2) => "-" + namespace2),
].join(",");
createDebug.enable("");
return namespaces;
}
function enabled(name) {
if (name[name.length - 1] === "*") {
return true;
}
let i;
let len;
for (i = 0, len = createDebug.skips.length; i < len; i++) {
if (createDebug.skips[i].test(name)) {
return false;
}
}
for (i = 0, len = createDebug.names.length; i < len; i++) {
if (createDebug.names[i].test(name)) {
return true;
}
}
return false;
}
function toNamespace(regexp) {
return regexp
.toString()
.substring(2, regexp.toString().length - 2)
.replace(/\.\*\?$/, "*");
}
function coerce(val) {
if (val instanceof Error) {
return val.stack || val.message;
}
return val;
}
function destroy() {
console.warn(
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
);
}
createDebug.enable(createDebug.load());
return createDebug;
}
module2.exports = setup;
},
});
// node_modules/debug/src/browser.js
var require_browser = __commonJS({
"node_modules/debug/src/browser.js"(exports2, module2) {
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.storage = localstorage();
exports2.destroy = /* @__PURE__ */ (() => {
let warned = false;
return () => {
if (!warned) {
warned = true;
console.warn(
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
);
}
};
})();
exports2.colors = [
"#0000CC",
"#0000FF",
"#0033CC",
"#0033FF",
"#0066CC",
"#0066FF",
"#0099CC",
"#0099FF",
"#00CC00",
"#00CC33",
"#00CC66",
"#00CC99",
"#00CCCC",
"#00CCFF",
"#3300CC",
"#3300FF",
"#3333CC",
"#3333FF",
"#3366CC",
"#3366FF",
"#3399CC",
"#3399FF",
"#33CC00",
"#33CC33",
"#33CC66",
"#33CC99",
"#33CCCC",
"#33CCFF",
"#6600CC",
"#6600FF",
"#6633CC",
"#6633FF",
"#66CC00",
"#66CC33",
"#9900CC",
"#9900FF",
"#9933CC",
"#9933FF",
"#99CC00",
"#99CC33",
"#CC0000",
"#CC0033",
"#CC0066",
"#CC0099",
"#CC00CC",
"#CC00FF",
"#CC3300",
"#CC3333",
"#CC3366",
"#CC3399",
"#CC33CC",
"#CC33FF",
"#CC6600",
"#CC6633",
"#CC9900",
"#CC9933",
"#CCCC00",
"#CCCC33",
"#FF0000",
"#FF0033",
"#FF0066",
"#FF0099",
"#FF00CC",
"#FF00FF",
"#FF3300",
"#FF3333",
"#FF3366",
"#FF3399",
"#FF33CC",
"#FF33FF",
"#FF6600",
"#FF6633",
"#FF9900",
"#FF9933",
"#FFCC00",
"#FFCC33",
];
function useColors() {
if (
typeof window !== "undefined" &&
window.process &&
(window.process.type === "renderer" || window.process.__nwjs)
) {
return true;
}
if (
typeof navigator !== "undefined" &&
navigator.userAgent &&
navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)
) {
return false;
}
return (
(typeof document !== "undefined" &&
document.documentElement &&
document.documentElement.style &&
document.documentElement.style.WebkitAppearance) || // Is firebug? http://stackoverflow.com/a/398120/376773
(typeof window !== "undefined" &&
window.console &&
(window.console.firebug ||
(window.console.exception && window.console.table))) || // Is firefox >= v31?
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
(typeof navigator !== "undefined" &&
navigator.userAgent &&
navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) &&
parseInt(RegExp.$1, 10) >= 31) || // Double check webkit in userAgent just in case we are in a worker
(typeof navigator !== "undefined" &&
navigator.userAgent &&
navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))
);
}
function formatArgs(args) {
args[0] =
(this.useColors ? "%c" : "") +
this.namespace +
(this.useColors ? " %c" : " ") +
args[0] +
(this.useColors ? "%c " : " ") +
"+" +
module2.exports.humanize(this.diff);
if (!this.useColors) {
return;
}
const c = "color: " + this.color;
args.splice(1, 0, c, "color: inherit");
let index = 0;
let lastC = 0;
args[0].replace(/%[a-zA-Z%]/g, (match) => {
if (match === "%%") {
return;
}
index++;
if (match === "%c") {
lastC = index;
}
});
args.splice(lastC, 0, c);
}
exports2.log = console.debug || console.log || (() => {});
function save(namespaces) {
try {
if (namespaces) {
exports2.storage.setItem("debug", namespaces);
} else {
exports2.storage.removeItem("debug");
}
} catch (error) {}
}
function load() {
let r;
try {
r = exports2.storage.getItem("debug");
} catch (error) {}
if (!r && typeof process !== "undefined" && "env" in process) {
r = process.env.DEBUG;
}
return r;
}
function localstorage() {
try {
return localStorage;
} catch (error) {}
}
module2.exports = require_common()(exports2);
var {formatters} = module2.exports;
formatters.j = function (v) {
try {
return JSON.stringify(v);
} catch (error) {
return "[UnexpectedJSONParseError]: " + error.message;
}
};
},
});
// node_modules/has-flag/index.js
var require_has_flag = __commonJS({
"node_modules/has-flag/index.js"(exports2, module2) {
"use strict";
module2.exports = (flag, argv = process.argv) => {
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
const position = argv.indexOf(prefix + flag);
const terminatorPosition = argv.indexOf("--");
return (
position !== -1 &&
(terminatorPosition === -1 || position < terminatorPosition)
);
};
},
});
// node_modules/supports-color/index.js
var require_supports_color = __commonJS({
"node_modules/supports-color/index.js"(exports2, module2) {
"use strict";
var os = require("os");
var tty = require("tty");
var hasFlag = require_has_flag();
var {env} = process;
var forceColor;
if (
hasFlag("no-color") ||
hasFlag("no-colors") ||
hasFlag("color=false") ||
hasFlag("color=never")
) {
forceColor = 0;
} else if (
hasFlag("color") ||
hasFlag("colors") ||
hasFlag("color=true") ||
hasFlag("color=always")
) {
forceColor = 1;
}
if ("FORCE_COLOR" in env) {
if (env.FORCE_COLOR === "true") {
forceColor = 1;
} else if (env.FORCE_COLOR === "false") {
forceColor = 0;
} else {
forceColor =
env.FORCE_COLOR.length === 0
? 1
: Math.min(parseInt(env.FORCE_COLOR, 10), 3);
}
}
function translateLevel(level) {
if (level === 0) {
return false;
}
return {
level,
hasBasic: true,
has256: level >= 2,
has16m: level >= 3,
};
}
function supportsColor(haveStream, streamIsTTY) {
if (forceColor === 0) {
return 0;
}
if (
hasFlag("color=16m") ||
hasFlag("color=full") ||
hasFlag("color=truecolor")
) {
return 3;
}
if (hasFlag("color=256")) {
return 2;
}
if (haveStream && !streamIsTTY && forceColor === void 0) {
return 0;
}
const min = forceColor || 0;
if (env.TERM === "dumb") {
return min;
}
if (process.platform === "win32") {
const osRelease = os.release().split(".");
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
}
return 1;
}
if ("CI" in env) {
if (
[
"TRAVIS",
"CIRCLECI",
"APPVEYOR",
"GITLAB_CI",
"GITHUB_ACTIONS",
"BUILDKITE",
].some((sign) => sign in env) ||
env.CI_NAME === "codeship"
) {
return 1;
}
return min;
}
if ("TEAMCITY_VERSION" in env) {
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)
? 1
: 0;
}
if (env.COLORTERM === "truecolor") {
return 3;
}
if ("TERM_PROGRAM" in env) {
const version = parseInt(
(env.TERM_PROGRAM_VERSION || "").split(".")[0],
10
);
switch (env.TERM_PROGRAM) {
case "iTerm.app":
return version >= 3 ? 3 : 2;
case "Apple_Terminal":
return 2;
}
}
if (/-256(color)?$/i.test(env.TERM)) {
return 2;
}
if (
/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(
env.TERM
)
) {
return 1;
}
if ("COLORTERM" in env) {
return 1;
}
return min;
}
function getSupportLevel(stream4) {
const level = supportsColor(stream4, stream4 && stream4.isTTY);
return translateLevel(level);
}
module2.exports = {
supportsColor: getSupportLevel,
stdout: translateLevel(supportsColor(true, tty.isatty(1))),
stderr: translateLevel(supportsColor(true, tty.isatty(2))),
};
},
});
// node_modules/debug/src/node.js
var require_node = __commonJS({
"node_modules/debug/src/node.js"(exports2, module2) {
var tty = require("tty");
var util2 = require("util");
exports2.init = init;
exports2.log = log;
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
exports2.useColors = useColors;
exports2.destroy = util2.deprecate(() => {},
"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
exports2.colors = [6, 2, 3, 4, 5, 1];
try {
const supportsColor = require_supports_color();
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
exports2.colors = [
20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62,
63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113,
128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221,
];
}
} catch (error) {}
exports2.inspectOpts = Object.keys(process.env)
.filter((key) => {
return /^debug_/i.test(key);
})
.reduce((obj, key) => {
const prop = key
.substring(6)
.toLowerCase()
.replace(/_([a-z])/g, (_, k) => {
return k.toUpperCase();
});
let val = process.env[key];
if (/^(yes|on|true|enabled)$/i.test(val)) {
val = true;
} else if (/^(no|off|false|disabled)$/i.test(val)) {
val = false;
} else if (val === "null") {
val = null;
} else {
val = Number(val);
}
obj[prop] = val;
return obj;
}, {});
function useColors() {
return "colors" in exports2.inspectOpts
? Boolean(exports2.inspectOpts.colors)
: tty.isatty(process.stderr.fd);
}
function formatArgs(args) {
const {namespace: name, useColors: useColors2} = this;
if (useColors2) {
const c = this.color;
const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
const prefix = ` ${colorCode};1m${name} \x1B[0m`;
args[0] = prefix + args[0].split("\n").join("\n" + prefix);
args.push(
colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m"
);
} else {
args[0] = getDate() + name + " " + args[0];
}
}
function getDate() {
if (exports2.inspectOpts.hideDate) {
return "";
}
return /* @__PURE__ */ new Date().toISOString() + " ";
}
function log(...args) {
return process.stderr.write(util2.format(...args) + "\n");
}
function save(namespaces) {
if (namespaces) {
process.env.DEBUG = namespaces;
} else {
delete process.env.DEBUG;
}
}
function load() {
return process.env.DEBUG;
}
function init(debug) {
debug.inspectOpts = {};
const keys = Object.keys(exports2.inspectOpts);
for (let i = 0; i < keys.length; i++) {
debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
}
}
module2.exports = require_common()(exports2);
var {formatters} = module2.exports;
formatters.o = function (v) {
this.inspectOpts.colors = this.useColors;
return util2
.inspect(v, this.inspectOpts)
.split("\n")
.map((str) => str.trim())
.join(" ");
};
formatters.O = function (v) {
this.inspectOpts.colors = this.useColors;
return util2.inspect(v, this.inspectOpts);
};
},
});
// node_modules/debug/src/index.js
var require_src = __commonJS({
"node_modules/debug/src/index.js"(exports2, module2) {
if (
typeof process === "undefined" ||
process.type === "renderer" ||
process.browser === true ||
process.__nwjs
) {
module2.exports = require_browser();
} else {
module2.exports = require_node();
}
},
});
// node_modules/follow-redirects/debug.js
var require_debug = __commonJS({
"node_modules/follow-redirects/debug.js"(exports2, module2) {
var debug;
module2.exports = function () {
if (!debug) {
try {
debug = require_src()("follow-redirects");
} catch (error) {}
if (typeof debug !== "function") {
debug = function () {};
}
}
debug.apply(null, arguments);
};
},
});
// node_modules/follow-redirects/index.js
var require_follow_redirects = __commonJS({
"node_modules/follow-redirects/index.js"(exports2, module2) {
var url2 = require("url");
var URL2 = url2.URL;
var http2 = require("http");
var https2 = require("https");
var Writable = require("stream").Writable;
var assert = require("assert");
var debug = require_debug();
var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
var eventHandlers = /* @__PURE__ */ Object.create(null);
events.forEach(function (event) {
eventHandlers[event] = function (arg1, arg2, arg3) {
this._redirectable.emit(event, arg1, arg2, arg3);
};
});
var RedirectionError = createErrorType(
"ERR_FR_REDIRECTION_FAILURE",
"Redirected request failed"
);
var TooManyRedirectsError = createErrorType(
"ERR_FR_TOO_MANY_REDIRECTS",
"Maximum number of redirects exceeded"
);
var MaxBodyLengthExceededError = createErrorType(
"ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
"Request body larger than maxBodyLength limit"
);
var WriteAfterEndError = createErrorType(
"ERR_STREAM_WRITE_AFTER_END",
"write after end"
);
function RedirectableRequest(options, responseCallback) {
Writable.call(this);
this._sanitizeOptions(options);
this._options = options;
this._ended = false;
this._ending = false;
this._redirectCount = 0;
this._redirects = [];
this._requestBodyLength = 0;
this._requestBodyBuffers = [];
if (responseCallback) {
this.on("response", responseCallback);
}
var self2 = this;
this._onNativeResponse = function (response) {
self2._processResponse(response);
};
this._performRequest();
}
RedirectableRequest.prototype = Object.create(Writable.prototype);
RedirectableRequest.prototype.abort = function () {
abortRequest(this._currentRequest);
this.emit("abort");
};
RedirectableRequest.prototype.write = function (data, encoding, callback) {
if (this._ending) {
throw new WriteAfterEndError();
}
if (
!(
typeof data === "string" ||
(typeof data === "object" && "length" in data)
)
) {
throw new TypeError("data should be a string, Buffer or Uint8Array");
}
if (typeof encoding === "function") {
callback = encoding;
encoding = null;
}
if (data.length === 0) {
if (callback) {
callback();
}
return;
}
if (
this._requestBodyLength + data.length <=
this._options.maxBodyLength
) {
this._requestBodyLength += data.length;
this._requestBodyBuffers.push({data, encoding});
this._currentRequest.write(data, encoding, callback);
} else {
this.emit("error", new MaxBodyLengthExceededError());
this.abort();
}
};
RedirectableRequest.prototype.end = function (data, encoding, callback) {
if (typeof data === "function") {
callback = data;
data = encoding = null;
} else if (typeof encoding === "function") {
callback = encoding;
encoding = null;
}
if (!data) {
this._ended = this._ending = true;
this._currentRequest.end(null, null, callback);
} else {
var self2 = this;
var currentRequest = this._currentRequest;
this.write(data, encoding, function () {
self2._ended = true;
currentRequest.end(null, null, callback);
});
this._ending = true;
}
};
RedirectableRequest.prototype.setHeader = function (name, value) {
this._options.headers[name] = value;
this._currentRequest.setHeader(name, value);
};
RedirectableRequest.prototype.removeHeader = function (name) {
delete this._options.headers[name];
this._currentRequest.removeHeader(name);
};
RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
var self2 = this;
function destroyOnTimeout(socket) {
socket.setTimeout(msecs);
socket.removeListener("timeout", socket.destroy);
socket.addListener("timeout", socket.destroy);
}
function startTimer(socket) {
if (self2._timeout) {
clearTimeout(self2._timeout);
}
self2._timeout = setTimeout(function () {
self2.emit("timeout");
clearTimer();
}, msecs);
destroyOnTimeout(socket);
}
function clearTimer() {
if (self2._timeout) {
clearTimeout(self2._timeout);
self2._timeout = null;
}
self2.removeListener("abort", clearTimer);
self2.removeListener("error", clearTimer);
self2.removeListener("response", clearTimer);
if (callback) {
self2.removeListener("timeout", callback);
}
if (!self2.socket) {
self2._currentRequest.removeListener("socket", startTimer);
}
}
if (callback) {
this.on("timeout", callback);
}
if (this.socket) {
startTimer(this.socket);
} else {
this._currentRequest.once("socket", startTimer);
}
this.on("socket", destroyOnTimeout);
this.on("abort", clearTimer);
this.on("error", clearTimer);
this.on("response", clearTimer);
return this;
};
["flushHeaders", "getHeader", "setNoDelay", "setSocketKeepAlive"].forEach(
function (method) {
RedirectableRequest.prototype[method] = function (a, b) {
return this._currentRequest[method](a, b);
};
}
);
["aborted", "connection", "socket"].forEach(function (property) {
Object.defineProperty(RedirectableRequest.prototype, property, {
get: function () {
return this._currentRequest[property];
},
});
});
RedirectableRequest.prototype._sanitizeOptions = function (options) {
if (!options.headers) {
options.headers = {};
}
if (options.host) {
if (!options.hostname) {
options.hostname = options.host;
}
delete options.host;
}
if (!options.pathname && options.path) {
var searchPos = options.path.indexOf("?");
if (searchPos < 0) {
options.pathname = options.path;
} else {
options.pathname = options.path.substring(0, searchPos);
options.search = options.path.substring(searchPos);
}
}
};
RedirectableRequest.prototype._performRequest = function () {
var protocol = this._options.protocol;
var nativeProtocol = this._options.nativeProtocols[protocol];
if (!nativeProtocol) {
this.emit("error", new TypeError("Unsupported protocol " + protocol));
return;
}
if (this._options.agents) {
var scheme = protocol.slice(0, -1);
this._options.agent = this._options.agents[scheme];
}
var request2 = (this._currentRequest = nativeProtocol.request(
this._options,
this._onNativeResponse
));
this._currentUrl = url2.format(this._options);
request2._redirectable = this;
for (var e = 0; e < events.length; e++) {
request2.on(events[e], eventHandlers[events[e]]);
}
if (this._isRedirect) {
var i = 0;
var self2 = this;
var buffers = this._requestBodyBuffers;
(function writeNext(error) {
if (request2 === self2._currentRequest) {
if (error) {
self2.emit("error", error);
} else if (i < buffers.length) {
var buffer = buffers[i++];
if (!request2.finished) {
request2.write(buffer.data, buffer.encoding, writeNext);
}
} else if (self2._ended) {
request2.end();
}
}
})();
}
};
RedirectableRequest.prototype._processResponse = function (response) {
var statusCode = response.statusCode;
if (this._options.trackRedirects) {
this._redirects.push({
url: this._currentUrl,
headers: response.headers,
statusCode,
});
}
var location = response.headers.location;
if (
!location ||
this._options.followRedirects === false ||
statusCode < 300 ||
statusCode >= 400
) {
response.responseUrl = this._currentUrl;
response.redirects = this._redirects;
this.emit("response", response);
this._requestBodyBuffers = [];
return;
}
abortRequest(this._currentRequest);
response.destroy();
if (++this._redirectCount > this._options.maxRedirects) {
this.emit("error", new TooManyRedirectsError());
return;
}
var requestHeaders;
var beforeRedirect = this._options.beforeRedirect;
if (beforeRedirect) {
requestHeaders = Object.assign(
{
// The Host header was set by nativeProtocol.request
Host: response.req.getHeader("host"),
},
this._options.headers
);
}
var method = this._options.method;
if (
((statusCode === 301 || statusCode === 302) &&
this._options.method === "POST") || // RFC7231ยง6.4.4: The 303 (See Other) status code indicates that
// the server is redirecting the user agent to a different resource [โ€ฆ]
// A user agent can perform a retrieval request targeting that URI
// (a GET or HEAD request if using HTTP) [โ€ฆ]
(statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method))
) {
this._options.method = "GET";
this._requestBodyBuffers = [];
removeMatchingHeaders(/^content-/i, this._options.headers);
}
var currentHostHeader = removeMatchingHeaders(
/^host$/i,
this._options.headers
);
var currentUrlParts = url2.parse(this._currentUrl);
var currentHost = currentHostHeader || currentUrlParts.host;
var currentUrl = /^\w+:/.test(location)
? this._currentUrl
: url2.format(Object.assign(currentUrlParts, {host: currentHost}));
var redirectUrl;
try {
redirectUrl = url2.resolve(currentUrl, location);
} catch (cause) {
this.emit("error", new RedirectionError(cause));
return;
}
debug("redirecting to", redirectUrl);
this._isRedirect = true;
var redirectUrlParts = url2.parse(redirectUrl);
Object.assign(this._options, redirectUrlParts);
if (
(redirectUrlParts.protocol !== currentUrlParts.protocol &&
redirectUrlParts.protocol !== "https:") ||
(redirectUrlParts.host !== currentHost &&
!isSubdomain(redirectUrlParts.host, currentHost))
) {
removeMatchingHeaders(
/^(?:authorization|cookie)$/i,
this._options.headers
);
}
if (typeof beforeRedirect === "function") {
var responseDetails = {
headers: response.headers,
statusCode,
};
var requestDetails = {
url: currentUrl,
method,
headers: requestHeaders,
};
try {
beforeRedirect(this._options, responseDetails, requestDetails);
} catch (err) {
this.emit("error", err);
return;
}
this._sanitizeOptions(this._options);
}
try {
this._performRequest();
} catch (cause) {
this.emit("error", new RedirectionError(cause));
}
};
function wrap(protocols) {
var exports3 = {
maxRedirects: 21,
maxBodyLength: 10 * 1024 * 1024,
};
var nativeProtocols = {};
Object.keys(protocols).forEach(function (scheme) {
var protocol = scheme + ":";
var nativeProtocol = (nativeProtocols[protocol] = protocols[scheme]);
var wrappedProtocol = (exports3[scheme] =
Object.create(nativeProtocol));
function request2(input, options, callback) {
if (typeof input === "string") {
var urlStr = input;
try {
input = urlToOptions(new URL2(urlStr));
} catch (err) {
input = url2.parse(urlStr);
}
} else if (URL2 && input instanceof URL2) {
input = urlToOptions(input);
} else {
callback = options;
options = input;
input = {protocol};
}
if (typeof options === "function") {
callback = options;
options = null;
}
options = Object.assign(
{
maxRedirects: exports3.maxRedirects,
maxBodyLength: exports3.maxBodyLength,
},
input,
options
);
options.nativeProtocols = nativeProtocols;
assert.equal(options.protocol, protocol, "protocol mismatch");
debug("options", options);
return new RedirectableRequest(options, callback);
}
function get(input, options, callback) {
var wrappedRequest = wrappedProtocol.request(
input,
options,
callback
);
wrappedRequest.end();
return wrappedRequest;
}
Object.defineProperties(wrappedProtocol, {
request: {
value: request2,
configurable: true,
enumerable: true,
writable: true,
},
get: {
value: get,
configurable: true,
enumerable: true,
writable: true,
},
});
});
return exports3;
}
function noop2() {}
function urlToOptions(urlObject) {
var options = {
protocol: urlObject.protocol,
hostname: urlObject.hostname.startsWith("[")
? /* istanbul ignore next */
urlObject.hostname.slice(1, -1)
: urlObject.hostname,
hash: urlObject.hash,
search: urlObject.search,
pathname: urlObject.pathname,
path: urlObject.pathname + urlObject.search,
href: urlObject.href,
};
if (urlObject.port !== "") {
options.port = Number(urlObject.port);
}
return options;
}
function removeMatchingHeaders(regex, headers) {
var lastValue;
for (var header in headers) {
if (regex.test(header)) {
lastValue = headers[header];
delete headers[header];
}
}
return lastValue === null || typeof lastValue === "undefined"
? void 0
: String(lastValue).trim();
}
function createErrorType(code, defaultMessage) {
function CustomError2(cause) {
Error.captureStackTrace(this, this.constructor);
if (!cause) {
this.message = defaultMessage;
} else {
this.message = defaultMessage + ": " + cause.message;
this.cause = cause;
}
}
CustomError2.prototype = new Error();
CustomError2.prototype.constructor = CustomError2;
CustomError2.prototype.name = "Error [" + code + "]";
CustomError2.prototype.code = code;
return CustomError2;
}
function abortRequest(request2) {
for (var e = 0; e < events.length; e++) {
request2.removeListener(events[e], eventHandlers[events[e]]);
}
request2.on("error", noop2);
request2.abort();
}
function isSubdomain(subdomain, domain) {
const dot = subdomain.length - domain.length - 1;
return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
}
module2.exports = wrap({http: http2, https: https2});
module2.exports.wrap = wrap;
},
});
// node_modules/tslib/tslib.es6.js
var tslib_es6_exports = {};
__export(tslib_es6_exports, {
__assign: () => __assign,
__asyncDelegator: () => __asyncDelegator,
__asyncGenerator: () => __asyncGenerator,
__asyncValues: () => __asyncValues,
__await: () => __await,
__awaiter: () => __awaiter,
__classPrivateFieldGet: () => __classPrivateFieldGet,
__classPrivateFieldSet: () => __classPrivateFieldSet,
__createBinding: () => __createBinding,
__decorate: () => __decorate,
__exportStar: () => __exportStar,
__extends: () => __extends,
__generator: () => __generator,
__importDefault: () => __importDefault,
__importStar: () => __importStar,
__makeTemplateObject: () => __makeTemplateObject,
__metadata: () => __metadata,
__param: () => __param,
__read: () => __read,
__rest: () => __rest,
__spread: () => __spread,
__spreadArray: () => __spreadArray,
__spreadArrays: () => __spreadArrays,
__values: () => __values,
});
function __extends(d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError(
"Class extends value " + String(b) + " is not a constructor or null"
);
extendStatics(d, b);
function __() {
this.constructor = d;
}
d.prototype =
b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());
}
function __rest(s, e) {
var t = {};
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (
e.indexOf(p[i]) < 0 &&
Object.prototype.propertyIsEnumerable.call(s, p[i])
)
t[p[i]] = s[p[i]];
}
return t;
}
function __decorate(decorators, target, key, desc) {
var c = arguments.length,
r =
c < 3
? target
: desc === null
? (desc = Object.getOwnPropertyDescriptor(target, key))
: desc,
d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
r = Reflect.decorate(decorators, target, key, desc);
else
for (var i = decorators.length - 1; i >= 0; i--)
if ((d = decorators[i]))
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
}
function __param(paramIndex, decorator) {
return function (target, key) {
decorator(target, key, paramIndex);
};
}
function __metadata(metadataKey, metadataValue) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
return Reflect.metadata(metadataKey, metadataValue);
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P
? value
: new P(function (resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done
? resolve(result.value)
: adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
function __generator(thisArg, body) {
var _ = {
label: 0,
sent: function () {
if (t[0] & 1) throw t[1];
return t[1];
},
trys: [],
ops: [],
},
f,
y,
t,
g;
return (
(g = {next: verb(0), throw: verb(1), return: verb(2)}),
typeof Symbol === "function" &&
(g[Symbol.iterator] = function () {
return this;
}),
g
);
function verb(n) {
return function (v) {
return step([n, v]);
};
}
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_)
try {
if (
((f = 1),
y &&
(t =
op[0] & 2
? y["return"]
: op[0]
? y["throw"] || ((t = y["return"]) && t.call(y), 0)
: y.next) &&
!(t = t.call(y, op[1])).done)
)
return t;
if (((y = 0), t)) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0:
case 1:
t = op;
break;
case 4:
_.label++;
return {value: op[1], done: false};
case 5:
_.label++;
y = op[1];
op = [0];
continue;
case 7:
op = _.ops.pop();
_.trys.pop();
continue;
default:
if (
!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) &&
(op[0] === 6 || op[0] === 2)
) {
_ = 0;
continue;
}
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
_.label = op[1];
break;
}
if (op[0] === 6 && _.label < t[1]) {
_.label = t[1];
t = op;
break;
}
if (t && _.label < t[2]) {
_.label = t[2];
_.ops.push(op);
break;
}
if (t[2]) _.ops.pop();
_.trys.pop();
continue;
}
op = body.call(thisArg, _);
} catch (e) {
op = [6, e];
y = 0;
} finally {
f = t = 0;
}
if (op[0] & 5) throw op[1];
return {value: op[0] ? op[1] : void 0, done: true};
}
}
function __exportStar(m, o) {
for (var p in m)
if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
__createBinding(o, m, p);
}
function __values(o) {
var s = typeof Symbol === "function" && Symbol.iterator,
m = s && o[s],
i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number")
return {
next: function () {
if (o && i >= o.length) o = void 0;
return {value: o && o[i++], done: !o};
},
};
throw new TypeError(
s ? "Object is not iterable." : "Symbol.iterator is not defined."
);
}
function __read(o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o),
r,
ar = [],
e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
} catch (error) {
e = {error};
} finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
} finally {
if (e) throw e.error;
}
}
return ar;
}
function __spread() {
for (var ar = [], i = 0; i < arguments.length; i++)
ar = ar.concat(__read(arguments[i]));
return ar;
}
function __spreadArrays() {
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
}
function __spreadArray(to, from, pack) {
if (pack || arguments.length === 2)
for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
}
function __await(v) {
return this instanceof __await ? ((this.v = v), this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []),
i,
q = [];
return (
(i = {}),
verb("next"),
verb("throw"),
verb("return"),
(i[Symbol.asyncIterator] = function () {
return this;
}),
i
);
function verb(n) {
if (g[n])
i[n] = function (v) {
return new Promise(function (a, b) {
q.push([n, v, a, b]) > 1 || resume(n, v);
});
};
}
function resume(n, v) {
try {
step(g[n](v));
} catch (e) {
settle2(q[0][3], e);
}
}
function step(r) {
r.value instanceof __await
? Promise.resolve(r.value.v).then(fulfill, reject)
: settle2(q[0][2], r);
}
function fulfill(value) {
resume("next", value);
}
function reject(value) {
resume("throw", value);
}
function settle2(f, v) {
if ((f(v), q.shift(), q.length)) resume(q[0][0], q[0][1]);
}
}
function __asyncDelegator(o) {
var i, p;
return (
(i = {}),
verb("next"),
verb("throw", function (e) {
throw e;
}),
verb("return"),
(i[Symbol.iterator] = function () {
return this;
}),
i
);
function verb(n, f) {
i[n] = o[n]
? function (v) {
return (p = !p)
? {value: __await(o[n](v)), done: n === "return"}
: f
? f(v)
: v;
}
: f;
}
}
function __asyncValues(o) {
if (!Symbol.asyncIterator)
throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator],
i;
return m
? m.call(o)
: ((o =
typeof __values === "function" ? __values(o) : o[Symbol.iterator]()),
(i = {}),
verb("next"),
verb("throw"),
verb("return"),
(i[Symbol.asyncIterator] = function () {
return this;
}),
i);
function verb(n) {
i[n] =
o[n] &&
function (v) {
return new Promise(function (resolve, reject) {
(v = o[n](v)), settle2(resolve, reject, v.done, v.value);
});
};
}
function settle2(resolve, reject, d, v) {
Promise.resolve(v).then(function (v2) {
resolve({value: v2, done: d});
}, reject);
}
}
function __makeTemplateObject(cooked, raw) {
if (Object.defineProperty) {
Object.defineProperty(cooked, "raw", {value: raw});
} else {
cooked.raw = raw;
}
return cooked;
}
function __importStar(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) {
for (var k in mod)
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
}
__setModuleDefault(result, mod);
return result;
}
function __importDefault(mod) {
return mod && mod.__esModule ? mod : {default: mod};
}
function __classPrivateFieldGet(receiver, state, kind, f) {
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a getter");
if (
typeof state === "function"
? receiver !== state || !f
: !state.has(receiver)
)
throw new TypeError(
"Cannot read private member from an object whose class did not declare it"
);
return kind === "m"
? f
: kind === "a"
? f.call(receiver)
: f
? f.value
: state.get(receiver);
}
function __classPrivateFieldSet(receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f)
throw new TypeError("Private accessor was defined without a setter");
if (
typeof state === "function"
? receiver !== state || !f
: !state.has(receiver)
)
throw new TypeError(
"Cannot write private member to an object whose class did not declare it"
);
return (
kind === "a"
? f.call(receiver, value)
: f
? (f.value = value)
: state.set(receiver, value),
value
);
}
var extendStatics, __assign, __createBinding, __setModuleDefault;
var init_tslib_es6 = __esm({
"node_modules/tslib/tslib.es6.js"() {
extendStatics = function (d, b) {
extendStatics =
Object.setPrototypeOf ||
({__proto__: []} instanceof Array &&
function (d2, b2) {
d2.__proto__ = b2;
}) ||
function (d2, b2) {
for (var p in b2)
if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
};
return extendStatics(d, b);
};
__assign = function () {
__assign =
Object.assign ||
function __assign2(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
__createBinding = Object.create
? function (o, m, k, k2) {
if (k2 === void 0) k2 = k;
Object.defineProperty(o, k2, {
enumerable: true,
get: function () {
return m[k];
},
});
}
: function (o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
};
__setModuleDefault = Object.create
? function (o, v) {
Object.defineProperty(o, "default", {enumerable: true, value: v});
}
: function (o, v) {
o["default"] = v;
};
},
});
// node_modules/lower-case/dist/index.js
var require_dist = __commonJS({
"node_modules/lower-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.lowerCase = exports2.localeLowerCase = void 0;
var SUPPORTED_LOCALE = {
tr: {
regexp: /\u0130|\u0049|\u0049\u0307/g,
map: {
ฤฐ: "i",
I: "\u0131",
Iฬ‡: "i",
},
},
az: {
regexp: /\u0130/g,
map: {
ฤฐ: "i",
I: "\u0131",
Iฬ‡: "i",
},
},
lt: {
regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g,
map: {
I: "i\u0307",
J: "j\u0307",
ฤฎ: "\u012F\u0307",
รŒ: "i\u0307\u0300",
ร: "i\u0307\u0301",
ฤจ: "i\u0307\u0303",
},
},
};
function localeLowerCase(str, locale) {
var lang = SUPPORTED_LOCALE[locale.toLowerCase()];
if (lang)
return lowerCase(
str.replace(lang.regexp, function (m) {
return lang.map[m];
})
);
return lowerCase(str);
}
exports2.localeLowerCase = localeLowerCase;
function lowerCase(str) {
return str.toLowerCase();
}
exports2.lowerCase = lowerCase;
},
});
// node_modules/no-case/dist/index.js
var require_dist2 = __commonJS({
"node_modules/no-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.noCase = void 0;
var lower_case_1 = require_dist();
var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
function noCase(input, options) {
if (options === void 0) {
options = {};
}
var _a = options.splitRegexp,
splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a,
_b = options.stripRegexp,
stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b,
_c = options.transform,
transform = _c === void 0 ? lower_case_1.lowerCase : _c,
_d = options.delimiter,
delimiter = _d === void 0 ? " " : _d;
var result = replace(
replace(input, splitRegexp, "$1\0$2"),
stripRegexp,
"\0"
);
var start = 0;
var end = result.length;
while (result.charAt(start) === "\0") start++;
while (result.charAt(end - 1) === "\0") end--;
return result
.slice(start, end)
.split("\0")
.map(transform)
.join(delimiter);
}
exports2.noCase = noCase;
function replace(input, re, value) {
if (re instanceof RegExp) return input.replace(re, value);
return re.reduce(function (input2, re2) {
return input2.replace(re2, value);
}, input);
}
},
});
// node_modules/pascal-case/dist/index.js
var require_dist3 = __commonJS({
"node_modules/pascal-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.pascalCase =
exports2.pascalCaseTransformMerge =
exports2.pascalCaseTransform =
void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var no_case_1 = require_dist2();
function pascalCaseTransform(input, index) {
var firstChar = input.charAt(0);
var lowerChars = input.substr(1).toLowerCase();
if (index > 0 && firstChar >= "0" && firstChar <= "9") {
return "_" + firstChar + lowerChars;
}
return "" + firstChar.toUpperCase() + lowerChars;
}
exports2.pascalCaseTransform = pascalCaseTransform;
function pascalCaseTransformMerge(input) {
return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();
}
exports2.pascalCaseTransformMerge = pascalCaseTransformMerge;
function pascalCase(input, options) {
if (options === void 0) {
options = {};
}
return no_case_1.noCase(
input,
tslib_1.__assign(
{delimiter: "", transform: pascalCaseTransform},
options
)
);
}
exports2.pascalCase = pascalCase;
},
});
// node_modules/camel-case/dist/index.js
var require_dist4 = __commonJS({
"node_modules/camel-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.camelCase =
exports2.camelCaseTransformMerge =
exports2.camelCaseTransform =
void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var pascal_case_1 = require_dist3();
function camelCaseTransform(input, index) {
if (index === 0) return input.toLowerCase();
return pascal_case_1.pascalCaseTransform(input, index);
}
exports2.camelCaseTransform = camelCaseTransform;
function camelCaseTransformMerge(input, index) {
if (index === 0) return input.toLowerCase();
return pascal_case_1.pascalCaseTransformMerge(input);
}
exports2.camelCaseTransformMerge = camelCaseTransformMerge;
function camelCase(input, options) {
if (options === void 0) {
options = {};
}
return pascal_case_1.pascalCase(
input,
tslib_1.__assign({transform: camelCaseTransform}, options)
);
}
exports2.camelCase = camelCase;
},
});
// node_modules/dot-case/dist/index.js
var require_dist5 = __commonJS({
"node_modules/dot-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.dotCase = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var no_case_1 = require_dist2();
function dotCase(input, options) {
if (options === void 0) {
options = {};
}
return no_case_1.noCase(
input,
tslib_1.__assign({delimiter: "."}, options)
);
}
exports2.dotCase = dotCase;
},
});
// node_modules/snake-case/dist/index.js
var require_dist6 = __commonJS({
"node_modules/snake-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.snakeCase = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var dot_case_1 = require_dist5();
function snakeCase(input, options) {
if (options === void 0) {
options = {};
}
return dot_case_1.dotCase(
input,
tslib_1.__assign({delimiter: "_"}, options)
);
}
exports2.snakeCase = snakeCase;
},
});
// node_modules/upper-case-first/dist/index.js
var require_dist7 = __commonJS({
"node_modules/upper-case-first/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.upperCaseFirst = void 0;
function upperCaseFirst(input) {
return input.charAt(0).toUpperCase() + input.substr(1);
}
exports2.upperCaseFirst = upperCaseFirst;
},
});
// node_modules/capital-case/dist/index.js
var require_dist8 = __commonJS({
"node_modules/capital-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.capitalCase = exports2.capitalCaseTransform = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var no_case_1 = require_dist2();
var upper_case_first_1 = require_dist7();
function capitalCaseTransform(input) {
return upper_case_first_1.upperCaseFirst(input.toLowerCase());
}
exports2.capitalCaseTransform = capitalCaseTransform;
function capitalCase(input, options) {
if (options === void 0) {
options = {};
}
return no_case_1.noCase(
input,
tslib_1.__assign(
{delimiter: " ", transform: capitalCaseTransform},
options
)
);
}
exports2.capitalCase = capitalCase;
},
});
// node_modules/header-case/dist/index.js
var require_dist9 = __commonJS({
"node_modules/header-case/dist/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.headerCase = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var capital_case_1 = require_dist8();
function headerCase(input, options) {
if (options === void 0) {
options = {};
}
return capital_case_1.capitalCase(
input,
tslib_1.__assign({delimiter: "-"}, options)
);
}
exports2.headerCase = headerCase;
},
});
// node_modules/axios-case-converter/lib/decorators.js
var require_decorators = __commonJS({
"node_modules/axios-case-converter/lib/decorators.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.preserveSpecificKeys = exports2.applyCaseOptions = void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var applyCaseOptions = function (fn, defaultOptions) {
return function (input, options) {
return fn(
input,
tslib_1.__assign(tslib_1.__assign({}, defaultOptions), options)
);
};
};
exports2.applyCaseOptions = applyCaseOptions;
var preserveSpecificKeys = function (fn, keys) {
var condition =
typeof keys === "function"
? keys
: function (input) {
return keys.includes(input);
};
return function (input, options) {
return condition(input, options) ? input : fn(input, options);
};
};
exports2.preserveSpecificKeys = preserveSpecificKeys;
},
});
// node_modules/axios-case-converter/lib/util.js
var require_util2 = __commonJS({
"node_modules/axios-case-converter/lib/util.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.isAxiosHeaders =
exports2.isTransformable =
exports2.isPlainObject =
exports2.isFormData =
exports2.isURLSearchParams =
void 0;
var isURLSearchParams2 = function (value) {
return (
typeof URLSearchParams !== "undefined" &&
value instanceof URLSearchParams
);
};
exports2.isURLSearchParams = isURLSearchParams2;
var isFormData2 = function (value) {
return typeof FormData !== "undefined" && value instanceof FormData;
};
exports2.isFormData = isFormData2;
var isPlainObject2 = function (value) {
if (value == null) {
return false;
}
var proto = Object.getPrototypeOf(value);
return proto === null || proto === Object.prototype;
};
exports2.isPlainObject = isPlainObject2;
var isTransformable = function (value) {
return (
Array.isArray(value) ||
(0, exports2.isPlainObject)(value) ||
(0, exports2.isFormData)(value) ||
(0, exports2.isURLSearchParams)(value)
);
};
exports2.isTransformable = isTransformable;
var isAxiosHeaders = function (value) {
var _a, _b;
if (value == null) {
return false;
}
return (
((_b =
(_a = Object.getPrototypeOf(value)) === null || _a === void 0
? void 0
: _a.constructor) === null || _b === void 0
? void 0
: _b.name) === "AxiosHeaders"
);
};
exports2.isAxiosHeaders = isAxiosHeaders;
},
});
// node_modules/axios-case-converter/lib/transformers.js
var require_transformers = __commonJS({
"node_modules/axios-case-converter/lib/transformers.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.createObjectTransformers =
exports2.createObjectTransformerOf =
exports2.createObjectTransformer =
void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var camel_case_1 = require_dist4();
var snake_case_1 = require_dist6();
var header_case_1 = require_dist9();
var decorators_1 = require_decorators();
var util_1 = require_util2();
var caseFunctions = {
snake: snake_case_1.snakeCase,
camel: camel_case_1.camelCase,
header: header_case_1.headerCase,
};
var transformObjectUsingCallbackRecursive = function (data, fn, overwrite) {
var e_1, _a, e_2, _b, e_3, _c;
if (!(0, util_1.isTransformable)(data)) {
return data;
}
if (
((0, util_1.isFormData)(data) || (0, util_1.isURLSearchParams)(data)) &&
(!data.entries || (overwrite && !data.delete))
) {
var type = (0, util_1.isFormData)(data)
? "FormData"
: "URLSearchParams";
var polyfill = (0, util_1.isFormData)(data)
? "https://github.com/jimmywarting/FormData"
: "https://github.com/jerrybendy/url-search-params-polyfill";
if (
typeof navigator !== "undefined" &&
navigator.product === "ReactNative"
) {
console.warn(
"Be careful that ".concat(
type,
" cannot be transformed on React Native. If you intentionally implemented, ignore this kind of warning: https://facebook.github.io/react-native/docs/debugging.html"
)
);
} else {
if (!data.entries) {
console.warn(
"You must use polyfill of "
.concat(
type,
".prototype.entries() on Internet Explorer or Safari: "
)
.concat(polyfill)
);
}
if (overwrite && !data.delete) {
console.warn(
"You must use polyfill of "
.concat(
type,
".prototype.delete() on Internet Explorer or Safari: "
)
.concat(polyfill)
);
}
}
return data;
}
var prototype3 = Object.getPrototypeOf(data);
var store = overwrite
? data
: !prototype3
? /* @__PURE__ */ Object.create(null)
: new prototype3.constructor();
var series;
if ((0, util_1.isFormData)(data) || (0, util_1.isURLSearchParams)(data)) {
series = data.entries();
if (overwrite) {
series = tslib_1.__spreadArray([], tslib_1.__read(series), false);
try {
for (
var series_1 = tslib_1.__values(series),
series_1_1 = series_1.next();
!series_1_1.done;
series_1_1 = series_1.next()
) {
var _d = tslib_1.__read(series_1_1.value, 1),
key = _d[0];
data.delete(key);
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (series_1_1 && !series_1_1.done && (_a = series_1.return))
_a.call(series_1);
} finally {
if (e_1) throw e_1.error;
}
}
}
} else {
series = Object.entries(data);
if (overwrite && !Array.isArray(data)) {
try {
for (
var series_2 = tslib_1.__values(series),
series_2_1 = series_2.next();
!series_2_1.done;
series_2_1 = series_2.next()
) {
var _e = tslib_1.__read(series_2_1.value, 1),
key = _e[0];
delete data[key];
}
} catch (e_2_1) {
e_2 = {error: e_2_1};
} finally {
try {
if (series_2_1 && !series_2_1.done && (_b = series_2.return))
_b.call(series_2);
} finally {
if (e_2) throw e_2.error;
}
}
}
}
try {
for (
var series_3 = tslib_1.__values(series), series_3_1 = series_3.next();
!series_3_1.done;
series_3_1 = series_3.next()
) {
var _f = tslib_1.__read(series_3_1.value, 2),
key = _f[0],
value = _f[1];
if (
(0, util_1.isFormData)(store) ||
(0, util_1.isURLSearchParams)(store)
) {
store.append(fn(key), value);
} else if (key !== "__proto__") {
store[Array.isArray(data) ? Number(key) : fn("".concat(key))] =
transformObjectUsingCallbackRecursive(value, fn, overwrite);
}
}
} catch (e_3_1) {
e_3 = {error: e_3_1};
} finally {
try {
if (series_3_1 && !series_3_1.done && (_c = series_3.return))
_c.call(series_3);
} finally {
if (e_3) throw e_3.error;
}
}
return store;
};
var transformObjectUsingCallback = function (data, fn, options) {
fn = (0, decorators_1.applyCaseOptions)(
fn,
tslib_1.__assign(
{stripRegexp: /[^A-Z0-9[\]]+/gi},
options === null || options === void 0 ? void 0 : options.caseOptions
)
);
if (
options === null || options === void 0 ? void 0 : options.preservedKeys
) {
fn = (0, decorators_1.preserveSpecificKeys)(fn, options.preservedKeys);
}
return transformObjectUsingCallbackRecursive(
data,
fn,
(options === null || options === void 0 ? void 0 : options.overwrite) ||
false
);
};
var createObjectTransformer = function (fn) {
return function (data, options) {
return transformObjectUsingCallback(data, fn, options);
};
};
exports2.createObjectTransformer = createObjectTransformer;
var createObjectTransformerOf = function (functionName, options) {
return (0, exports2.createObjectTransformer)(
(options === null || options === void 0
? void 0
: options[functionName]) || caseFunctions[functionName]
);
};
exports2.createObjectTransformerOf = createObjectTransformerOf;
var createObjectTransformers = function (options) {
var e_4, _a;
var functionNames = Object.keys(caseFunctions);
var objectTransformers = {};
try {
for (
var functionNames_1 = tslib_1.__values(functionNames),
functionNames_1_1 = functionNames_1.next();
!functionNames_1_1.done;
functionNames_1_1 = functionNames_1.next()
) {
var functionName = functionNames_1_1.value;
objectTransformers[functionName] = (0,
exports2.createObjectTransformerOf)(functionName, options);
}
} catch (e_4_1) {
e_4 = {error: e_4_1};
} finally {
try {
if (
functionNames_1_1 &&
!functionNames_1_1.done &&
(_a = functionNames_1.return)
)
_a.call(functionNames_1);
} finally {
if (e_4) throw e_4.error;
}
}
return objectTransformers;
};
exports2.createObjectTransformers = createObjectTransformers;
},
});
// node_modules/axios-case-converter/lib/middleware.js
var require_middleware = __commonJS({
"node_modules/axios-case-converter/lib/middleware.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
exports2.applyCaseMiddleware =
exports2.createCamelResponseTransformer =
exports2.createSnakeRequestTransformer =
exports2.createSnakeParamsInterceptor =
void 0;
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var transformers_1 = require_transformers();
var util_1 = require_util2();
var createSnakeParamsInterceptor = function (options) {
var snake = (0, transformers_1.createObjectTransformers)(
options === null || options === void 0 ? void 0 : options.caseFunctions
).snake;
return function (config) {
if (
!(options === null || options === void 0
? void 0
: options.ignoreParams) &&
config.params
) {
config.params = snake(config.params, options);
}
return config;
};
};
exports2.createSnakeParamsInterceptor = createSnakeParamsInterceptor;
var createSnakeRequestTransformer = function (options) {
var _a = (0, transformers_1.createObjectTransformers)(
options === null || options === void 0
? void 0
: options.caseFunctions
),
snake = _a.snake,
header = _a.header;
return function (data, headers) {
overwriteHeadersOrNoop(headers, header, options, [
"common",
"delete",
"get",
"head",
"post",
"put",
"patch",
]);
return snake(data, options);
};
};
exports2.createSnakeRequestTransformer = createSnakeRequestTransformer;
var createCamelResponseTransformer = function (options) {
var camel = (0, transformers_1.createObjectTransformers)(
options === null || options === void 0 ? void 0 : options.caseFunctions
).camel;
return function (data, headers) {
overwriteHeadersOrNoop(headers, camel, options);
return camel(data, options);
};
};
exports2.createCamelResponseTransformer = createCamelResponseTransformer;
var overwriteHeadersOrNoop = function (headers, fn, options, excludedKeys) {
var e_1, _a, _b, _c;
if (
(options === null || options === void 0
? void 0
: options.ignoreHeaders) ||
(!(0, util_1.isPlainObject)(headers) &&
!(0, util_1.isAxiosHeaders)(headers))
) {
return;
}
try {
for (
var _d = tslib_1.__values(Object.entries(headers)), _e = _d.next();
!_e.done;
_e = _d.next()
) {
var _f = tslib_1.__read(_e.value, 2),
key = _f[0],
value = _f[1];
fn(value, tslib_1.__assign({overwrite: true}, options));
if ((excludedKeys || []).includes(key)) {
continue;
}
if ((0, util_1.isAxiosHeaders)(headers)) {
headers.delete(key);
headers.set(
Object.keys(fn(((_b = {}), (_b[key] = null), _b), options))[0],
value,
true
);
} else {
delete headers[key];
headers[
Object.keys(fn(((_c = {}), (_c[key] = null), _c), options))[0]
] = value;
}
}
} catch (e_1_1) {
e_1 = {error: e_1_1};
} finally {
try {
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
} finally {
if (e_1) throw e_1.error;
}
}
};
var applyCaseMiddleware2 = function (axios2, options) {
var _a, _b, _c;
axios2.defaults.transformRequest = tslib_1.__spreadArray(
[
((_a =
options === null || options === void 0
? void 0
: options.caseMiddleware) === null || _a === void 0
? void 0
: _a.requestTransformer) ||
(0, exports2.createSnakeRequestTransformer)(options),
],
tslib_1.__read(
Array.isArray(axios2.defaults.transformRequest)
? axios2.defaults.transformRequest
: axios2.defaults.transformRequest !== void 0
? [axios2.defaults.transformRequest]
: []
),
false
);
axios2.defaults.transformResponse = tslib_1.__spreadArray(
tslib_1.__spreadArray(
[],
tslib_1.__read(
Array.isArray(axios2.defaults.transformResponse)
? axios2.defaults.transformResponse
: axios2.defaults.transformResponse !== void 0
? [axios2.defaults.transformResponse]
: []
),
false
),
[
((_b =
options === null || options === void 0
? void 0
: options.caseMiddleware) === null || _b === void 0
? void 0
: _b.responseTransformer) ||
(0, exports2.createCamelResponseTransformer)(options),
],
false
);
axios2.interceptors.request.use(
((_c =
options === null || options === void 0
? void 0
: options.caseMiddleware) === null || _c === void 0
? void 0
: _c.requestInterceptor) ||
(0, exports2.createSnakeParamsInterceptor)(options)
);
return axios2;
};
exports2.applyCaseMiddleware = applyCaseMiddleware2;
},
});
// node_modules/axios-case-converter/lib/types.js
var require_types = __commonJS({
"node_modules/axios-case-converter/lib/types.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
},
});
// node_modules/axios-case-converter/lib/index.js
var require_lib2 = __commonJS({
"node_modules/axios-case-converter/lib/index.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", {value: true});
var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
var middleware_1 = require_middleware();
exports2.default = middleware_1.applyCaseMiddleware;
tslib_1.__exportStar(require_types(), exports2);
},
});
// node_modules/ts-custom-error/dist/custom-error.js
var require_custom_error = __commonJS({
"node_modules/ts-custom-error/dist/custom-error.js"(exports2) {
function fixProto(target, prototype3) {
var setPrototypeOf = Object.setPrototypeOf;
setPrototypeOf
? setPrototypeOf(target, prototype3)
: (target.__proto__ = prototype3);
}
function fixStack(target, fn) {
if (fn === void 0) {
fn = target.constructor;
}
var captureStackTrace = Error.captureStackTrace;
captureStackTrace && captureStackTrace(target, fn);
}
var __extends2 = /* @__PURE__ */ (function () {
var extendStatics2 = function (d, b) {
extendStatics2 =
Object.setPrototypeOf ||
({
__proto__: [],
} instanceof Array &&
function (d2, b2) {
d2.__proto__ = b2;
}) ||
function (d2, b2) {
for (var p in b2) {
if (b2.hasOwnProperty(p)) {
d2[p] = b2[p];
}
}
};
return extendStatics2(d, b);
};
return function (d, b) {
extendStatics2(d, b);
function __() {
this.constructor = d;
}
d.prototype =
b === null
? Object.create(b)
: ((__.prototype = b.prototype), new __());
};
})();
var CustomError2 = (function (_super) {
__extends2(CustomError3, _super);
function CustomError3(message) {
var _newTarget = this.constructor;
var _this = _super.call(this, message) || this;
Object.defineProperty(_this, "name", {
value: _newTarget.name,
enumerable: false,
configurable: true,
});
fixProto(_this, _newTarget.prototype);
fixStack(_this);
return _this;
}
return CustomError3;
})(Error);
var __spreadArrays2 = function () {
var arguments$1 = arguments;
for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
s += arguments$1[i].length;
}
for (var r = Array(s), k = 0, i = 0; i < il; i++) {
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
r[k] = a[j];
}
}
return r;
};
function customErrorFactory(fn, parent) {
if (parent === void 0) {
parent = Error;
}
function CustomError3() {
var arguments$1 = arguments;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments$1[_i];
}
if (!(this instanceof CustomError3)) {
return new (CustomError3.bind.apply(
CustomError3,
__spreadArrays2([void 0], args)
))();
}
parent.apply(this, args);
Object.defineProperty(this, "name", {
value: fn.name || parent.name,
enumerable: false,
configurable: true,
});
fn.apply(this, args);
fixStack(this, CustomError3);
}
return Object.defineProperties(CustomError3, {
prototype: {
value: Object.create(parent.prototype, {
constructor: {
value: CustomError3,
writable: true,
configurable: true,
},
}),
},
});
}
exports2.CustomError = CustomError2;
exports2.customErrorFactory = customErrorFactory;
},
});
// node_modules/is-retry-allowed/index.js
var require_is_retry_allowed = __commonJS({
"node_modules/is-retry-allowed/index.js"(exports2, module2) {
"use strict";
var denyList = /* @__PURE__ */ new Set([
"ENOTFOUND",
"ENETUNREACH",
// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328
"UNABLE_TO_GET_ISSUER_CERT",
"UNABLE_TO_GET_CRL",
"UNABLE_TO_DECRYPT_CERT_SIGNATURE",
"UNABLE_TO_DECRYPT_CRL_SIGNATURE",
"UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY",
"CERT_SIGNATURE_FAILURE",
"CRL_SIGNATURE_FAILURE",
"CERT_NOT_YET_VALID",
"CERT_HAS_EXPIRED",
"CRL_NOT_YET_VALID",
"CRL_HAS_EXPIRED",
"ERROR_IN_CERT_NOT_BEFORE_FIELD",
"ERROR_IN_CERT_NOT_AFTER_FIELD",
"ERROR_IN_CRL_LAST_UPDATE_FIELD",
"ERROR_IN_CRL_NEXT_UPDATE_FIELD",
"OUT_OF_MEM",
"DEPTH_ZERO_SELF_SIGNED_CERT",
"SELF_SIGNED_CERT_IN_CHAIN",
"UNABLE_TO_GET_ISSUER_CERT_LOCALLY",
"UNABLE_TO_VERIFY_LEAF_SIGNATURE",
"CERT_CHAIN_TOO_LONG",
"CERT_REVOKED",
"INVALID_CA",
"PATH_LENGTH_EXCEEDED",
"INVALID_PURPOSE",
"CERT_UNTRUSTED",
"CERT_REJECTED",
"HOSTNAME_MISMATCH",
]);
module2.exports = (error) => !denyList.has(error && error.code);
},
});
// src/index.ts
var src_exports = {};
__export(src_exports, {
TodoistApi: () => TodoistApi,
});
// module.exports = __toCommonJS(src_exports);
// src/TodoistApi.ts
var import_runtypes2 = __toESM(require_lib());
// node_modules/axios/lib/helpers/bind.js
function bind(fn, thisArg) {
return function wrap() {
return fn.apply(thisArg, arguments);
};
}
// node_modules/axios/lib/utils.js
var {toString} = Object.prototype;
var {getPrototypeOf} = Object;
var kindOf = /* @__PURE__ */ ((cache) => (thing) => {
const str = toString.call(thing);
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null));
var kindOfTest = (type) => {
type = type.toLowerCase();
return (thing) => kindOf(thing) === type;
};
var typeOfTest = (type) => (thing) => typeof thing === type;
var {isArray} = Array;
var isUndefined = typeOfTest("undefined");
function isBuffer(val) {
return (
val !== null &&
!isUndefined(val) &&
val.constructor !== null &&
!isUndefined(val.constructor) &&
isFunction(val.constructor.isBuffer) &&
val.constructor.isBuffer(val)
);
}
var isArrayBuffer = kindOfTest("ArrayBuffer");
function isArrayBufferView(val) {
let result;
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
result = ArrayBuffer.isView(val);
} else {
result = val && val.buffer && isArrayBuffer(val.buffer);
}
return result;
}
var isString = typeOfTest("string");
var isFunction = typeOfTest("function");
var isNumber = typeOfTest("number");
var isObject = (thing) => thing !== null && typeof thing === "object";
var isBoolean = (thing) => thing === true || thing === false;
var isPlainObject = (val) => {
if (kindOf(val) !== "object") {
return false;
}
const prototype3 = getPrototypeOf(val);
return (
(prototype3 === null ||
prototype3 === Object.prototype ||
Object.getPrototypeOf(prototype3) === null) &&
!(Symbol.toStringTag in val) &&
!(Symbol.iterator in val)
);
};
var isDate = kindOfTest("Date");
var isFile = kindOfTest("File");
var isBlob = kindOfTest("Blob");
var isFileList = kindOfTest("FileList");
var isStream = (val) => isObject(val) && isFunction(val.pipe);
var isFormData = (thing) => {
let kind;
return (
thing &&
((typeof FormData === "function" && thing instanceof FormData) ||
(isFunction(thing.append) &&
((kind = kindOf(thing)) === "formdata" || // detect form-data instance
(kind === "object" &&
isFunction(thing.toString) &&
thing.toString() === "[object FormData]"))))
);
};
var isURLSearchParams = kindOfTest("URLSearchParams");
var trim = (str) =>
str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function forEach(obj, fn, {allOwnKeys = false} = {}) {
if (obj === null || typeof obj === "undefined") {
return;
}
let i;
let l;
if (typeof obj !== "object") {
obj = [obj];
}
if (isArray(obj)) {
for (i = 0, l = obj.length; i < l; i++) {
fn.call(null, obj[i], i, obj);
}
} else {
const keys = allOwnKeys
? Object.getOwnPropertyNames(obj)
: Object.keys(obj);
const len = keys.length;
let key;
for (i = 0; i < len; i++) {
key = keys[i];
fn.call(null, obj[key], key, obj);
}
}
}
function findKey(obj, key) {
key = key.toLowerCase();
const keys = Object.keys(obj);
let i = keys.length;
let _key;
while (i-- > 0) {
_key = keys[i];
if (key === _key.toLowerCase()) {
return _key;
}
}
return null;
}
var _global = (() => {
if (typeof globalThis !== "undefined") return globalThis;
return typeof self !== "undefined"
? self
: typeof window !== "undefined"
? window
: global;
})();
var isContextDefined = (context) =>
!isUndefined(context) && context !== _global;
function merge() {
const {caseless} = (isContextDefined(this) && this) || {};
const result = {};
const assignValue = (val, key) => {
const targetKey = (caseless && findKey(result, key)) || key;
if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
result[targetKey] = merge(result[targetKey], val);
} else if (isPlainObject(val)) {
result[targetKey] = merge({}, val);
} else if (isArray(val)) {
result[targetKey] = val.slice();
} else {
result[targetKey] = val;
}
};
for (let i = 0, l = arguments.length; i < l; i++) {
arguments[i] && forEach(arguments[i], assignValue);
}
return result;
}
var extend = (a, b, thisArg, {allOwnKeys} = {}) => {
forEach(
b,
(val, key) => {
if (thisArg && isFunction(val)) {
a[key] = bind(val, thisArg);
} else {
a[key] = val;
}
},
{allOwnKeys}
);
return a;
};
var stripBOM = (content) => {
if (content.charCodeAt(0) === 65279) {
content = content.slice(1);
}
return content;
};
var inherits = (constructor, superConstructor, props, descriptors2) => {
constructor.prototype = Object.create(
superConstructor.prototype,
descriptors2
);
constructor.prototype.constructor = constructor;
Object.defineProperty(constructor, "super", {
value: superConstructor.prototype,
});
props && Object.assign(constructor.prototype, props);
};
var toFlatObject = (sourceObj, destObj, filter2, propFilter) => {
let props;
let i;
let prop;
const merged = {};
destObj = destObj || {};
if (sourceObj == null) return destObj;
do {
props = Object.getOwnPropertyNames(sourceObj);
i = props.length;
while (i-- > 0) {
prop = props[i];
if (
(!propFilter || propFilter(prop, sourceObj, destObj)) &&
!merged[prop]
) {
destObj[prop] = sourceObj[prop];
merged[prop] = true;
}
}
sourceObj = filter2 !== false && getPrototypeOf(sourceObj);
} while (
sourceObj &&
(!filter2 || filter2(sourceObj, destObj)) &&
sourceObj !== Object.prototype
);
return destObj;
};
var endsWith = (str, searchString, position) => {
str = String(str);
if (position === void 0 || position > str.length) {
position = str.length;
}
position -= searchString.length;
const lastIndex = str.indexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
var toArray = (thing) => {
if (!thing) return null;
if (isArray(thing)) return thing;
let i = thing.length;
if (!isNumber(i)) return null;
const arr = new Array(i);
while (i-- > 0) {
arr[i] = thing[i];
}
return arr;
};
var isTypedArray = /* @__PURE__ */ ((TypedArray) => {
return (thing) => {
return TypedArray && thing instanceof TypedArray;
};
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
var forEachEntry = (obj, fn) => {
const generator = obj && obj[Symbol.iterator];
const iterator = generator.call(obj);
let result;
while ((result = iterator.next()) && !result.done) {
const pair = result.value;
fn.call(obj, pair[0], pair[1]);
}
};
var matchAll = (regExp, str) => {
let matches;
const arr = [];
while ((matches = regExp.exec(str)) !== null) {
arr.push(matches);
}
return arr;
};
var isHTMLForm = kindOfTest("HTMLFormElement");
var toCamelCase = (str) => {
return str
.toLowerCase()
.replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) {
return p1.toUpperCase() + p2;
});
};
var hasOwnProperty = (
({hasOwnProperty: hasOwnProperty2}) =>
(obj, prop) =>
hasOwnProperty2.call(obj, prop)
)(Object.prototype);
var isRegExp = kindOfTest("RegExp");
var reduceDescriptors = (obj, reducer) => {
const descriptors2 = Object.getOwnPropertyDescriptors(obj);
const reducedDescriptors = {};
forEach(descriptors2, (descriptor, name) => {
let ret;
if ((ret = reducer(descriptor, name, obj)) !== false) {
reducedDescriptors[name] = ret || descriptor;
}
});
Object.defineProperties(obj, reducedDescriptors);
};
var freezeMethods = (obj) => {
reduceDescriptors(obj, (descriptor, name) => {
if (
isFunction(obj) &&
["arguments", "caller", "callee"].indexOf(name) !== -1
) {
return false;
}
const value = obj[name];
if (!isFunction(value)) return;
descriptor.enumerable = false;
if ("writable" in descriptor) {
descriptor.writable = false;
return;
}
if (!descriptor.set) {
descriptor.set = () => {
throw Error("Can not rewrite read-only method '" + name + "'");
};
}
});
};
var toObjectSet = (arrayOrString, delimiter) => {
const obj = {};
const define = (arr) => {
arr.forEach((value) => {
obj[value] = true;
});
};
isArray(arrayOrString)
? define(arrayOrString)
: define(String(arrayOrString).split(delimiter));
return obj;
};
var noop = () => {};
var toFiniteNumber = (value, defaultValue) => {
value = +value;
return Number.isFinite(value) ? value : defaultValue;
};
var ALPHA = "abcdefghijklmnopqrstuvwxyz";
var DIGIT = "0123456789";
var ALPHABET = {
DIGIT,
ALPHA,
ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT,
};
var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
let str = "";
const {length} = alphabet;
while (size--) {
str += alphabet[(Math.random() * length) | 0];
}
return str;
};
function isSpecCompliantForm(thing) {
return !!(
thing &&
isFunction(thing.append) &&
thing[Symbol.toStringTag] === "FormData" &&
thing[Symbol.iterator]
);
}
var toJSONObject = (obj) => {
const stack = new Array(10);
const visit = (source, i) => {
if (isObject(source)) {
if (stack.indexOf(source) >= 0) {
return;
}
if (!("toJSON" in source)) {
stack[i] = source;
const target = isArray(source) ? [] : {};
forEach(source, (value, key) => {
const reducedValue = visit(value, i + 1);
!isUndefined(reducedValue) && (target[key] = reducedValue);
});
stack[i] = void 0;
return target;
}
}
return source;
};
return visit(obj, 0);
};
var isAsyncFn = kindOfTest("AsyncFunction");
var isThenable = (thing) =>
thing &&
(isObject(thing) || isFunction(thing)) &&
isFunction(thing.then) &&
isFunction(thing.catch);
var utils_default = {
isArray,
isArrayBuffer,
isBuffer,
isFormData,
isArrayBufferView,
isString,
isNumber,
isBoolean,
isObject,
isPlainObject,
isUndefined,
isDate,
isFile,
isBlob,
isRegExp,
isFunction,
isStream,
isURLSearchParams,
isTypedArray,
isFileList,
forEach,
merge,
extend,
trim,
stripBOM,
inherits,
toFlatObject,
kindOf,
kindOfTest,
endsWith,
toArray,
forEachEntry,
matchAll,
isHTMLForm,
hasOwnProperty,
hasOwnProp: hasOwnProperty,
// an alias to avoid ESLint no-prototype-builtins detection
reduceDescriptors,
freezeMethods,
toObjectSet,
toCamelCase,
noop,
toFiniteNumber,
findKey,
global: _global,
isContextDefined,
ALPHABET,
generateString,
isSpecCompliantForm,
toJSONObject,
isAsyncFn,
isThenable,
};
// node_modules/axios/lib/core/AxiosError.js
function AxiosError(message, code, config, request2, response) {
Error.call(this);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = new Error().stack;
}
this.message = message;
this.name = "AxiosError";
code && (this.code = code);
config && (this.config = config);
request2 && (this.request = request2);
response && (this.response = response);
}
utils_default.inherits(AxiosError, Error, {
toJSON: function toJSON() {
return {
// Standard
message: this.message,
name: this.name,
// Microsoft
description: this.description,
number: this.number,
// Mozilla
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
// Axios
config: utils_default.toJSONObject(this.config),
code: this.code,
status:
this.response && this.response.status ? this.response.status : null,
};
},
});
var prototype = AxiosError.prototype;
var descriptors = {};
[
"ERR_BAD_OPTION_VALUE",
"ERR_BAD_OPTION",
"ECONNABORTED",
"ETIMEDOUT",
"ERR_NETWORK",
"ERR_FR_TOO_MANY_REDIRECTS",
"ERR_DEPRECATED",
"ERR_BAD_RESPONSE",
"ERR_BAD_REQUEST",
"ERR_CANCELED",
"ERR_NOT_SUPPORT",
"ERR_INVALID_URL",
// eslint-disable-next-line func-names
].forEach((code) => {
descriptors[code] = {value: code};
});
Object.defineProperties(AxiosError, descriptors);
Object.defineProperty(prototype, "isAxiosError", {value: true});
AxiosError.from = (error, code, config, request2, response, customProps) => {
const axiosError = Object.create(prototype);
utils_default.toFlatObject(
error,
axiosError,
function filter2(obj) {
return obj !== Error.prototype;
},
(prop) => {
return prop !== "isAxiosError";
}
);
AxiosError.call(axiosError, error.message, code, config, request2, response);
axiosError.cause = error;
axiosError.name = error.name;
customProps && Object.assign(axiosError, customProps);
return axiosError;
};
var AxiosError_default = AxiosError;
// node_modules/axios/lib/platform/node/classes/FormData.js
var import_form_data = __toESM(require_form_data(), 1);
var FormData_default = import_form_data.default;
// node_modules/axios/lib/helpers/toFormData.js
function isVisitable(thing) {
return utils_default.isPlainObject(thing) || utils_default.isArray(thing);
}
function removeBrackets(key) {
return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key;
}
function renderKey(path, key, dots) {
if (!path) return key;
return path
.concat(key)
.map(function each(token, i) {
token = removeBrackets(token);
return !dots && i ? "[" + token + "]" : token;
})
.join(dots ? "." : "");
}
function isFlatArray(arr) {
return utils_default.isArray(arr) && !arr.some(isVisitable);
}
var predicates = utils_default.toFlatObject(
utils_default,
{},
null,
function filter(prop) {
return /^is[A-Z]/.test(prop);
}
);
function toFormData(obj, formData, options) {
if (!utils_default.isObject(obj)) {
throw new TypeError("target must be an object");
}
formData = formData || new (FormData_default || FormData)();
options = utils_default.toFlatObject(
options,
{
metaTokens: true,
dots: false,
indexes: false,
},
false,
function defined(option, source) {
return !utils_default.isUndefined(source[option]);
}
);
const metaTokens = options.metaTokens;
const visitor = options.visitor || defaultVisitor;
const dots = options.dots;
const indexes = options.indexes;
const _Blob = options.Blob || (typeof Blob !== "undefined" && Blob);
const useBlob = _Blob && utils_default.isSpecCompliantForm(formData);
if (!utils_default.isFunction(visitor)) {
throw new TypeError("visitor must be a function");
}
function convertValue(value) {
if (value === null) return "";
if (utils_default.isDate(value)) {
return value.toISOString();
}
if (!useBlob && utils_default.isBlob(value)) {
throw new AxiosError_default(
"Blob is not supported. Use a Buffer instead."
);
}
if (
utils_default.isArrayBuffer(value) ||
utils_default.isTypedArray(value)
) {
return useBlob && typeof Blob === "function"
? new Blob([value])
: Buffer.from(value);
}
return value;
}
function defaultVisitor(value, key, path) {
let arr = value;
if (value && !path && typeof value === "object") {
if (utils_default.endsWith(key, "{}")) {
key = metaTokens ? key : key.slice(0, -2);
value = JSON.stringify(value);
} else if (
(utils_default.isArray(value) && isFlatArray(value)) ||
((utils_default.isFileList(value) ||
utils_default.endsWith(key, "[]")) &&
(arr = utils_default.toArray(value)))
) {
key = removeBrackets(key);
arr.forEach(function each(el, index) {
!(utils_default.isUndefined(el) || el === null) &&
formData.append(
// eslint-disable-next-line no-nested-ternary
indexes === true
? renderKey([key], index, dots)
: indexes === null
? key
: key + "[]",
convertValue(el)
);
});
return false;
}
}
if (isVisitable(value)) {
return true;
}
formData.append(renderKey(path, key, dots), convertValue(value));
return false;
}
const stack = [];
const exposedHelpers = Object.assign(predicates, {
defaultVisitor,
convertValue,
isVisitable,
});
function build(value, path) {
if (utils_default.isUndefined(value)) return;
if (stack.indexOf(value) !== -1) {
throw Error("Circular reference detected in " + path.join("."));
}
stack.push(value);
utils_default.forEach(value, function each(el, key) {
const result =
!(utils_default.isUndefined(el) || el === null) &&
visitor.call(
formData,
el,
utils_default.isString(key) ? key.trim() : key,
path,
exposedHelpers
);
if (result === true) {
build(el, path ? path.concat(key) : [key]);
}
});
stack.pop();
}
if (!utils_default.isObject(obj)) {
throw new TypeError("data must be an object");
}
build(obj);
return formData;
}
var toFormData_default = toFormData;
// node_modules/axios/lib/helpers/AxiosURLSearchParams.js
function encode(str) {
const charMap = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+",
"%00": "\0",
};
return encodeURIComponent(str).replace(
/[!'()~]|%20|%00/g,
function replacer(match) {
return charMap[match];
}
);
}
function AxiosURLSearchParams(params, options) {
this._pairs = [];
params && toFormData_default(params, this, options);
}
var prototype2 = AxiosURLSearchParams.prototype;
prototype2.append = function append(name, value) {
this._pairs.push([name, value]);
};
prototype2.toString = function toString2(encoder) {
const _encode = encoder
? function (value) {
return encoder.call(this, value, encode);
}
: encode;
return this._pairs
.map(function each(pair) {
return _encode(pair[0]) + "=" + _encode(pair[1]);
}, "")
.join("&");
};
var AxiosURLSearchParams_default = AxiosURLSearchParams;
// node_modules/axios/lib/helpers/buildURL.js
function encode2(val) {
return encodeURIComponent(val)
.replace(/%3A/gi, ":")
.replace(/%24/g, "$")
.replace(/%2C/gi, ",")
.replace(/%20/g, "+")
.replace(/%5B/gi, "[")
.replace(/%5D/gi, "]");
}
function buildURL(url2, params, options) {
if (!params) {
return url2;
}
const _encode = (options && options.encode) || encode2;
const serializeFn = options && options.serialize;
let serializedParams;
if (serializeFn) {
serializedParams = serializeFn(params, options);
} else {
serializedParams = utils_default.isURLSearchParams(params)
? params.toString()
: new AxiosURLSearchParams_default(params, options).toString(_encode);
}
if (serializedParams) {
const hashmarkIndex = url2.indexOf("#");
if (hashmarkIndex !== -1) {
url2 = url2.slice(0, hashmarkIndex);
}
url2 += (url2.indexOf("?") === -1 ? "?" : "&") + serializedParams;
}
return url2;
}
// node_modules/axios/lib/core/InterceptorManager.js
var InterceptorManager = class {
constructor() {
this.handlers = [];
}
/**
* Add a new interceptor to the stack
*
* @param {Function} fulfilled The function to handle `then` for a `Promise`
* @param {Function} rejected The function to handle `reject` for a `Promise`
*
* @return {Number} An ID used to remove interceptor later
*/
use(fulfilled, rejected, options) {
this.handlers.push({
fulfilled,
rejected,
synchronous: options ? options.synchronous : false,
runWhen: options ? options.runWhen : null,
});
return this.handlers.length - 1;
}
/**
* Remove an interceptor from the stack
*
* @param {Number} id The ID that was returned by `use`
*
* @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
*/
eject(id) {
if (this.handlers[id]) {
this.handlers[id] = null;
}
}
/**
* Clear all interceptors from the stack
*
* @returns {void}
*/
clear() {
if (this.handlers) {
this.handlers = [];
}
}
/**
* Iterate over all the registered interceptors
*
* This method is particularly useful for skipping over any
* interceptors that may have become `null` calling `eject`.
*
* @param {Function} fn The function to call for each interceptor
*
* @returns {void}
*/
forEach(fn) {
utils_default.forEach(this.handlers, function forEachHandler(h) {
if (h !== null) {
fn(h);
}
});
}
};
var InterceptorManager_default = InterceptorManager;
// node_modules/axios/lib/defaults/transitional.js
var transitional_default = {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false,
};
// node_modules/axios/lib/platform/node/classes/URLSearchParams.js
var import_url = __toESM(require("url"), 1);
var URLSearchParams_default = import_url.default.URLSearchParams;
// node_modules/axios/lib/platform/node/index.js
var node_default = {
isNode: true,
classes: {
URLSearchParams: URLSearchParams_default,
FormData: FormData_default,
Blob: (typeof Blob !== "undefined" && Blob) || null,
},
protocols: ["http", "https", "file", "data"],
};
// node_modules/axios/lib/helpers/toURLEncodedForm.js
function toURLEncodedForm(data, options) {
return toFormData_default(
data,
new node_default.classes.URLSearchParams(),
Object.assign(
{
visitor: function (value, key, path, helpers) {
if (node_default.isNode && utils_default.isBuffer(value)) {
this.append(key, value.toString("base64"));
return false;
}
return helpers.defaultVisitor.apply(this, arguments);
},
},
options
)
);
}
// node_modules/axios/lib/helpers/formDataToJSON.js
function parsePropPath(name) {
return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
return match[0] === "[]" ? "" : match[1] || match[0];
});
}
function arrayToObject(arr) {
const obj = {};
const keys = Object.keys(arr);
let i;
const len = keys.length;
let key;
for (i = 0; i < len; i++) {
key = keys[i];
obj[key] = arr[key];
}
return obj;
}
function formDataToJSON(formData) {
function buildPath(path, value, target, index) {
let name = path[index++];
const isNumericKey = Number.isFinite(+name);
const isLast = index >= path.length;
name = !name && utils_default.isArray(target) ? target.length : name;
if (isLast) {
if (utils_default.hasOwnProp(target, name)) {
target[name] = [target[name], value];
} else {
target[name] = value;
}
return !isNumericKey;
}
if (!target[name] || !utils_default.isObject(target[name])) {
target[name] = [];
}
const result = buildPath(path, value, target[name], index);
if (result && utils_default.isArray(target[name])) {
target[name] = arrayToObject(target[name]);
}
return !isNumericKey;
}
if (
utils_default.isFormData(formData) &&
utils_default.isFunction(formData.entries)
) {
const obj = {};
utils_default.forEachEntry(formData, (name, value) => {
buildPath(parsePropPath(name), value, obj, 0);
});
return obj;
}
return null;
}
var formDataToJSON_default = formDataToJSON;
// node_modules/axios/lib/defaults/index.js
function stringifySafely(rawValue, parser, encoder) {
if (utils_default.isString(rawValue)) {
try {
(parser || JSON.parse)(rawValue);
return utils_default.trim(rawValue);
} catch (e) {
if (e.name !== "SyntaxError") {
throw e;
}
}
}
return (encoder || JSON.stringify)(rawValue);
}
var defaults = {
transitional: transitional_default,
adapter: ["xhr", "http"],
transformRequest: [
function transformRequest(data, headers) {
const contentType = headers.getContentType() || "";
const hasJSONContentType = contentType.indexOf("application/json") > -1;
const isObjectPayload = utils_default.isObject(data);
if (isObjectPayload && utils_default.isHTMLForm(data)) {
data = new FormData(data);
}
const isFormData2 = utils_default.isFormData(data);
if (isFormData2) {
if (!hasJSONContentType) {
return data;
}
return hasJSONContentType
? JSON.stringify(formDataToJSON_default(data))
: data;
}
if (
utils_default.isArrayBuffer(data) ||
utils_default.isBuffer(data) ||
utils_default.isStream(data) ||
utils_default.isFile(data) ||
utils_default.isBlob(data)
) {
return data;
}
if (utils_default.isArrayBufferView(data)) {
return data.buffer;
}
if (utils_default.isURLSearchParams(data)) {
headers.setContentType(
"application/x-www-form-urlencoded;charset=utf-8",
false
);
return data.toString();
}
let isFileList2;
if (isObjectPayload) {
if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
return toURLEncodedForm(data, this.formSerializer).toString();
}
if (
(isFileList2 = utils_default.isFileList(data)) ||
contentType.indexOf("multipart/form-data") > -1
) {
const _FormData = this.env && this.env.FormData;
return toFormData_default(
isFileList2 ? {"files[]": data} : data,
_FormData && new _FormData(),
this.formSerializer
);
}
}
if (isObjectPayload || hasJSONContentType) {
headers.setContentType("application/json", false);
return stringifySafely(data);
}
return data;
},
],
transformResponse: [
function transformResponse(data) {
const transitional2 = this.transitional || defaults.transitional;
const forcedJSONParsing =
transitional2 && transitional2.forcedJSONParsing;
const JSONRequested = this.responseType === "json";
if (
data &&
utils_default.isString(data) &&
((forcedJSONParsing && !this.responseType) || JSONRequested)
) {
const silentJSONParsing =
transitional2 && transitional2.silentJSONParsing;
const strictJSONParsing = !silentJSONParsing && JSONRequested;
try {
return JSON.parse(data);
} catch (e) {
if (strictJSONParsing) {
if (e.name === "SyntaxError") {
throw AxiosError_default.from(
e,
AxiosError_default.ERR_BAD_RESPONSE,
this,
null,
this.response
);
}
throw e;
}
}
}
return data;
},
],
/**
* A timeout in milliseconds to abort a request. If set to 0 (default) a
* timeout is not created.
*/
timeout: 0,
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN",
maxContentLength: -1,
maxBodyLength: -1,
env: {
FormData: node_default.classes.FormData,
Blob: node_default.classes.Blob,
},
validateStatus: function validateStatus(status) {
return status >= 200 && status < 300;
},
headers: {
common: {
Accept: "application/json, text/plain, */*",
"Content-Type": void 0,
},
},
};
utils_default.forEach(
["delete", "get", "head", "post", "put", "patch"],
(method) => {
defaults.headers[method] = {};
}
);
var defaults_default = defaults;
// node_modules/axios/lib/helpers/parseHeaders.js
var ignoreDuplicateOf = utils_default.toObjectSet([
"age",
"authorization",
"content-length",
"content-type",
"etag",
"expires",
"from",
"host",
"if-modified-since",
"if-unmodified-since",
"last-modified",
"location",
"max-forwards",
"proxy-authorization",
"referer",
"retry-after",
"user-agent",
]);
var parseHeaders_default = (rawHeaders) => {
const parsed = {};
let key;
let val;
let i;
rawHeaders &&
rawHeaders.split("\n").forEach(function parser(line) {
i = line.indexOf(":");
key = line.substring(0, i).trim().toLowerCase();
val = line.substring(i + 1).trim();
if (!key || (parsed[key] && ignoreDuplicateOf[key])) {
return;
}
if (key === "set-cookie") {
if (parsed[key]) {
parsed[key].push(val);
} else {
parsed[key] = [val];
}
} else {
parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
}
});
return parsed;
};
// node_modules/axios/lib/core/AxiosHeaders.js
var $internals = Symbol("internals");
function normalizeHeader(header) {
return header && String(header).trim().toLowerCase();
}
function normalizeValue(value) {
if (value === false || value == null) {
return value;
}
return utils_default.isArray(value)
? value.map(normalizeValue)
: String(value);
}
function parseTokens(str) {
const tokens = /* @__PURE__ */ Object.create(null);
const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
let match;
while ((match = tokensRE.exec(str))) {
tokens[match[1]] = match[2];
}
return tokens;
}
var isValidHeaderName = (str) =>
/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) {
if (utils_default.isFunction(filter2)) {
return filter2.call(this, value, header);
}
if (isHeaderNameFilter) {
value = header;
}
if (!utils_default.isString(value)) return;
if (utils_default.isString(filter2)) {
return value.indexOf(filter2) !== -1;
}
if (utils_default.isRegExp(filter2)) {
return filter2.test(value);
}
}
function formatHeader(header) {
return header
.trim()
.toLowerCase()
.replace(/([a-z\d])(\w*)/g, (w, char, str) => {
return char.toUpperCase() + str;
});
}
function buildAccessors(obj, header) {
const accessorName = utils_default.toCamelCase(" " + header);
["get", "set", "has"].forEach((methodName) => {
Object.defineProperty(obj, methodName + accessorName, {
value: function (arg1, arg2, arg3) {
return this[methodName].call(this, header, arg1, arg2, arg3);
},
configurable: true,
});
});
}
var AxiosHeaders = class {
constructor(headers) {
headers && this.set(headers);
}
set(header, valueOrRewrite, rewrite) {
const self2 = this;
function setHeader(_value, _header, _rewrite) {
const lHeader = normalizeHeader(_header);
if (!lHeader) {
throw new Error("header name must be a non-empty string");
}
const key = utils_default.findKey(self2, lHeader);
if (
!key ||
self2[key] === void 0 ||
_rewrite === true ||
(_rewrite === void 0 && self2[key] !== false)
) {
self2[key || _header] = normalizeValue(_value);
}
}
const setHeaders = (headers, _rewrite) =>
utils_default.forEach(headers, (_value, _header) =>
setHeader(_value, _header, _rewrite)
);
if (
utils_default.isPlainObject(header) ||
header instanceof this.constructor
) {
setHeaders(header, valueOrRewrite);
} else if (
utils_default.isString(header) &&
(header = header.trim()) &&
!isValidHeaderName(header)
) {
setHeaders(parseHeaders_default(header), valueOrRewrite);
} else {
header != null && setHeader(valueOrRewrite, header, rewrite);
}
return this;
}
get(header, parser) {
header = normalizeHeader(header);
if (header) {
const key = utils_default.findKey(this, header);
if (key) {
const value = this[key];
if (!parser) {
return value;
}
if (parser === true) {
return parseTokens(value);
}
if (utils_default.isFunction(parser)) {
return parser.call(this, value, key);
}
if (utils_default.isRegExp(parser)) {
return parser.exec(value);
}
throw new TypeError("parser must be boolean|regexp|function");
}
}
}
has(header, matcher) {
header = normalizeHeader(header);
if (header) {
const key = utils_default.findKey(this, header);
return !!(
key &&
this[key] !== void 0 &&
(!matcher || matchHeaderValue(this, this[key], key, matcher))
);
}
return false;
}
delete(header, matcher) {
const self2 = this;
let deleted = false;
function deleteHeader(_header) {
_header = normalizeHeader(_header);
if (_header) {
const key = utils_default.findKey(self2, _header);
if (
key &&
(!matcher || matchHeaderValue(self2, self2[key], key, matcher))
) {
delete self2[key];
deleted = true;
}
}
}
if (utils_default.isArray(header)) {
header.forEach(deleteHeader);
} else {
deleteHeader(header);
}
return deleted;
}
clear(matcher) {
const keys = Object.keys(this);
let i = keys.length;
let deleted = false;
while (i--) {
const key = keys[i];
if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
delete this[key];
deleted = true;
}
}
return deleted;
}
normalize(format) {
const self2 = this;
const headers = {};
utils_default.forEach(this, (value, header) => {
const key = utils_default.findKey(headers, header);
if (key) {
self2[key] = normalizeValue(value);
delete self2[header];
return;
}
const normalized = format ? formatHeader(header) : String(header).trim();
if (normalized !== header) {
delete self2[header];
}
self2[normalized] = normalizeValue(value);
headers[normalized] = true;
});
return this;
}
concat(...targets) {
return this.constructor.concat(this, ...targets);
}
toJSON(asStrings) {
const obj = /* @__PURE__ */ Object.create(null);
utils_default.forEach(this, (value, header) => {
value != null &&
value !== false &&
(obj[header] =
asStrings && utils_default.isArray(value) ? value.join(", ") : value);
});
return obj;
}
[Symbol.iterator]() {
return Object.entries(this.toJSON())[Symbol.iterator]();
}
toString() {
return Object.entries(this.toJSON())
.map(([header, value]) => header + ": " + value)
.join("\n");
}
get [Symbol.toStringTag]() {
return "AxiosHeaders";
}
static from(thing) {
return thing instanceof this ? thing : new this(thing);
}
static concat(first, ...targets) {
const computed = new this(first);
targets.forEach((target) => computed.set(target));
return computed;
}
static accessor(header) {
const internals =
(this[$internals] =
this[$internals] =
{
accessors: {},
});
const accessors = internals.accessors;
const prototype3 = this.prototype;
function defineAccessor(_header) {
const lHeader = normalizeHeader(_header);
if (!accessors[lHeader]) {
buildAccessors(prototype3, _header);
accessors[lHeader] = true;
}
}
utils_default.isArray(header)
? header.forEach(defineAccessor)
: defineAccessor(header);
return this;
}
};
AxiosHeaders.accessor([
"Content-Type",
"Content-Length",
"Accept",
"Accept-Encoding",
"User-Agent",
"Authorization",
]);
utils_default.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {
let mapped = key[0].toUpperCase() + key.slice(1);
return {
get: () => value,
set(headerValue) {
this[mapped] = headerValue;
},
};
});
utils_default.freezeMethods(AxiosHeaders);
var AxiosHeaders_default = AxiosHeaders;
// node_modules/axios/lib/core/transformData.js
function transformData(fns, response) {
const config = this || defaults_default;
const context = response || config;
const headers = AxiosHeaders_default.from(context.headers);
let data = context.data;
utils_default.forEach(fns, function transform(fn) {
data = fn.call(
config,
data,
headers.normalize(),
response ? response.status : void 0
);
});
headers.normalize();
return data;
}
// node_modules/axios/lib/cancel/isCancel.js
function isCancel(value) {
return !!(value && value.__CANCEL__);
}
// node_modules/axios/lib/cancel/CanceledError.js
function CanceledError(message, config, request2) {
AxiosError_default.call(
this,
message == null ? "canceled" : message,
AxiosError_default.ERR_CANCELED,
config,
request2
);
this.name = "CanceledError";
}
utils_default.inherits(CanceledError, AxiosError_default, {
__CANCEL__: true,
});
var CanceledError_default = CanceledError;
// node_modules/axios/lib/core/settle.js
function settle(resolve, reject, response) {
const validateStatus2 = response.config.validateStatus;
if (
!response.status ||
!validateStatus2 ||
validateStatus2(response.status)
) {
resolve(response);
} else {
reject(
new AxiosError_default(
"Request failed with status code " + response.status,
[
AxiosError_default.ERR_BAD_REQUEST,
AxiosError_default.ERR_BAD_RESPONSE,
][Math.floor(response.status / 100) - 4],
response.config,
response.request,
response
)
);
}
}
// node_modules/axios/lib/helpers/isAbsoluteURL.js
function isAbsoluteURL(url2) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2);
}
// node_modules/axios/lib/helpers/combineURLs.js
function combineURLs(baseURL, relativeURL) {
return relativeURL
? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "")
: baseURL;
}
// node_modules/axios/lib/core/buildFullPath.js
function buildFullPath(baseURL, requestedURL) {
if (baseURL && !isAbsoluteURL(requestedURL)) {
return combineURLs(baseURL, requestedURL);
}
return requestedURL;
}
// node_modules/axios/lib/adapters/http.js
var import_proxy_from_env = __toESM(require_proxy_from_env(), 1);
var import_http = __toESM(require("http"), 1);
var import_https = __toESM(require("https"), 1);
var import_util2 = __toESM(require("util"), 1);
var import_follow_redirects = __toESM(require_follow_redirects(), 1);
var import_zlib = __toESM(require("zlib"), 1);
// node_modules/axios/lib/env/data.js
var VERSION = "1.6.0";
// node_modules/axios/lib/helpers/parseProtocol.js
function parseProtocol(url2) {
const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url2);
return (match && match[1]) || "";
}
// node_modules/axios/lib/helpers/fromDataURI.js
var DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
function fromDataURI(uri, asBlob, options) {
const _Blob = (options && options.Blob) || node_default.classes.Blob;
const protocol = parseProtocol(uri);
if (asBlob === void 0 && _Blob) {
asBlob = true;
}
if (protocol === "data") {
uri = protocol.length ? uri.slice(protocol.length + 1) : uri;
const match = DATA_URL_PATTERN.exec(uri);
if (!match) {
throw new AxiosError_default(
"Invalid URL",
AxiosError_default.ERR_INVALID_URL
);
}
const mime = match[1];
const isBase64 = match[2];
const body = match[3];
const buffer = Buffer.from(
decodeURIComponent(body),
isBase64 ? "base64" : "utf8"
);
if (asBlob) {
if (!_Blob) {
throw new AxiosError_default(
"Blob is not supported",
AxiosError_default.ERR_NOT_SUPPORT
);
}
return new _Blob([buffer], {type: mime});
}
return buffer;
}
throw new AxiosError_default(
"Unsupported protocol " + protocol,
AxiosError_default.ERR_NOT_SUPPORT
);
}
// node_modules/axios/lib/adapters/http.js
var import_stream4 = __toESM(require("stream"), 1);
// node_modules/axios/lib/helpers/AxiosTransformStream.js
var import_stream = __toESM(require("stream"), 1);
// node_modules/axios/lib/helpers/throttle.js
function throttle(fn, freq) {
let timestamp = 0;
const threshold = 1e3 / freq;
let timer = null;
return function throttled(force, args) {
const now = Date.now();
if (force || now - timestamp > threshold) {
if (timer) {
clearTimeout(timer);
timer = null;
}
timestamp = now;
return fn.apply(null, args);
}
if (!timer) {
timer = setTimeout(() => {
timer = null;
timestamp = Date.now();
return fn.apply(null, args);
}, threshold - (now - timestamp));
}
};
}
var throttle_default = throttle;
// node_modules/axios/lib/helpers/speedometer.js
function speedometer(samplesCount, min) {
samplesCount = samplesCount || 10;
const bytes = new Array(samplesCount);
const timestamps = new Array(samplesCount);
let head = 0;
let tail = 0;
let firstSampleTS;
min = min !== void 0 ? min : 1e3;
return function push(chunkLength) {
const now = Date.now();
const startedAt = timestamps[tail];
if (!firstSampleTS) {
firstSampleTS = now;
}
bytes[head] = chunkLength;
timestamps[head] = now;
let i = tail;
let bytesCount = 0;
while (i !== head) {
bytesCount += bytes[i++];
i = i % samplesCount;
}
head = (head + 1) % samplesCount;
if (head === tail) {
tail = (tail + 1) % samplesCount;
}
if (now - firstSampleTS < min) {
return;
}
const passed = startedAt && now - startedAt;
return passed ? Math.round((bytesCount * 1e3) / passed) : void 0;
};
}
var speedometer_default = speedometer;
// node_modules/axios/lib/helpers/AxiosTransformStream.js
var kInternals = Symbol("internals");
var AxiosTransformStream = class extends import_stream.default.Transform {
constructor(options) {
options = utils_default.toFlatObject(
options,
{
maxRate: 0,
chunkSize: 64 * 1024,
minChunkSize: 100,
timeWindow: 500,
ticksRate: 2,
samplesCount: 15,
},
null,
(prop, source) => {
return !utils_default.isUndefined(source[prop]);
}
);
super({
readableHighWaterMark: options.chunkSize,
});
const self2 = this;
const internals = (this[kInternals] = {
length: options.length,
timeWindow: options.timeWindow,
ticksRate: options.ticksRate,
chunkSize: options.chunkSize,
maxRate: options.maxRate,
minChunkSize: options.minChunkSize,
bytesSeen: 0,
isCaptured: false,
notifiedBytesLoaded: 0,
ts: Date.now(),
bytes: 0,
onReadCallback: null,
});
const _speedometer = speedometer_default(
internals.ticksRate * options.samplesCount,
internals.timeWindow
);
this.on("newListener", (event) => {
if (event === "progress") {
if (!internals.isCaptured) {
internals.isCaptured = true;
}
}
});
let bytesNotified = 0;
internals.updateProgress = throttle_default(function throttledHandler() {
const totalBytes = internals.length;
const bytesTransferred = internals.bytesSeen;
const progressBytes = bytesTransferred - bytesNotified;
if (!progressBytes || self2.destroyed) return;
const rate = _speedometer(progressBytes);
bytesNotified = bytesTransferred;
process.nextTick(() => {
self2.emit("progress", {
loaded: bytesTransferred,
total: totalBytes,
progress: totalBytes ? bytesTransferred / totalBytes : void 0,
bytes: progressBytes,
rate: rate ? rate : void 0,
estimated:
rate && totalBytes && bytesTransferred <= totalBytes
? (totalBytes - bytesTransferred) / rate
: void 0,
});
});
}, internals.ticksRate);
const onFinish = () => {
internals.updateProgress(true);
};
this.once("end", onFinish);
this.once("error", onFinish);
}
_read(size) {
const internals = this[kInternals];
if (internals.onReadCallback) {
internals.onReadCallback();
}
return super._read(size);
}
_transform(chunk, encoding, callback) {
const self2 = this;
const internals = this[kInternals];
const maxRate = internals.maxRate;
const readableHighWaterMark = this.readableHighWaterMark;
const timeWindow = internals.timeWindow;
const divider = 1e3 / timeWindow;
const bytesThreshold = maxRate / divider;
const minChunkSize =
internals.minChunkSize !== false
? Math.max(internals.minChunkSize, bytesThreshold * 0.01)
: 0;
function pushChunk(_chunk, _callback) {
const bytes = Buffer.byteLength(_chunk);
internals.bytesSeen += bytes;
internals.bytes += bytes;
if (internals.isCaptured) {
internals.updateProgress();
}
if (self2.push(_chunk)) {
process.nextTick(_callback);
} else {
internals.onReadCallback = () => {
internals.onReadCallback = null;
process.nextTick(_callback);
};
}
}
const transformChunk = (_chunk, _callback) => {
const chunkSize = Buffer.byteLength(_chunk);
let chunkRemainder = null;
let maxChunkSize = readableHighWaterMark;
let bytesLeft;
let passed = 0;
if (maxRate) {
const now = Date.now();
if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {
internals.ts = now;
bytesLeft = bytesThreshold - internals.bytes;
internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;
passed = 0;
}
bytesLeft = bytesThreshold - internals.bytes;
}
if (maxRate) {
if (bytesLeft <= 0) {
return setTimeout(() => {
_callback(null, _chunk);
}, timeWindow - passed);
}
if (bytesLeft < maxChunkSize) {
maxChunkSize = bytesLeft;
}
}
if (
maxChunkSize &&
chunkSize > maxChunkSize &&
chunkSize - maxChunkSize > minChunkSize
) {
chunkRemainder = _chunk.subarray(maxChunkSize);
_chunk = _chunk.subarray(0, maxChunkSize);
}
pushChunk(
_chunk,
chunkRemainder
? () => {
process.nextTick(_callback, null, chunkRemainder);
}
: _callback
);
};
transformChunk(chunk, function transformNextChunk(err, _chunk) {
if (err) {
return callback(err);
}
if (_chunk) {
transformChunk(_chunk, transformNextChunk);
} else {
callback(null);
}
});
}
setLength(length) {
this[kInternals].length = +length;
return this;
}
};
var AxiosTransformStream_default = AxiosTransformStream;
// node_modules/axios/lib/adapters/http.js
var import_events = __toESM(require("events"), 1);
// node_modules/axios/lib/helpers/formDataToStream.js
var import_util = require("util");
var import_stream2 = require("stream");
// node_modules/axios/lib/helpers/readBlob.js
var {asyncIterator} = Symbol;
var readBlob = async function* (blob) {
if (blob.stream) {
yield* blob.stream();
} else if (blob.arrayBuffer) {
yield await blob.arrayBuffer();
} else if (blob[asyncIterator]) {
yield* blob[asyncIterator]();
} else {
yield blob;
}
};
var readBlob_default = readBlob;
// node_modules/axios/lib/helpers/formDataToStream.js
var BOUNDARY_ALPHABET = utils_default.ALPHABET.ALPHA_DIGIT + "-_";
var textEncoder = new import_util.TextEncoder();
var CRLF = "\r\n";
var CRLF_BYTES = textEncoder.encode(CRLF);
var CRLF_BYTES_COUNT = 2;
var FormDataPart = class {
constructor(name, value) {
const {escapeName} = this.constructor;
const isStringValue = utils_default.isString(value);
let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${
!isStringValue && value.name
? `; filename="${escapeName(value.name)}"`
: ""
}${CRLF}`;
if (isStringValue) {
value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
} else {
headers += `Content-Type: ${
value.type || "application/octet-stream"
}${CRLF}`;
}
this.headers = textEncoder.encode(headers + CRLF);
this.contentLength = isStringValue ? value.byteLength : value.size;
this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
this.name = name;
this.value = value;
}
async *encode() {
yield this.headers;
const {value} = this;
if (utils_default.isTypedArray(value)) {
yield value;
} else {
yield* readBlob_default(value);
}
yield CRLF_BYTES;
}
static escapeName(name) {
return String(name).replace(
/[\r\n"]/g,
(match) =>
({
"\r": "%0D",
"\n": "%0A",
'"': "%22",
}[match])
);
}
};
var formDataToStream = (form, headersHandler, options) => {
const {
tag = "form-data-boundary",
size = 25,
boundary = tag +
"-" +
utils_default.generateString(size, BOUNDARY_ALPHABET),
} = options || {};
if (!utils_default.isFormData(form)) {
throw TypeError("FormData instance required");
}
if (boundary.length < 1 || boundary.length > 70) {
throw Error("boundary must be 10-70 characters long");
}
const boundaryBytes = textEncoder.encode("--" + boundary + CRLF);
const footerBytes = textEncoder.encode("--" + boundary + "--" + CRLF + CRLF);
let contentLength = footerBytes.byteLength;
const parts = Array.from(form.entries()).map(([name, value]) => {
const part = new FormDataPart(name, value);
contentLength += part.size;
return part;
});
contentLength += boundaryBytes.byteLength * parts.length;
contentLength = utils_default.toFiniteNumber(contentLength);
const computedHeaders = {
"Content-Type": `multipart/form-data; boundary=${boundary}`,
};
if (Number.isFinite(contentLength)) {
computedHeaders["Content-Length"] = contentLength;
}
headersHandler && headersHandler(computedHeaders);
return import_stream2.Readable.from(
(async function* () {
for (const part of parts) {
yield boundaryBytes;
yield* part.encode();
}
yield footerBytes;
})()
);
};
var formDataToStream_default = formDataToStream;
// node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
var import_stream3 = __toESM(require("stream"), 1);
var ZlibHeaderTransformStream = class extends import_stream3.default.Transform {
__transform(chunk, encoding, callback) {
this.push(chunk);
callback();
}
_transform(chunk, encoding, callback) {
if (chunk.length !== 0) {
this._transform = this.__transform;
if (chunk[0] !== 120) {
const header = Buffer.alloc(2);
header[0] = 120;
header[1] = 156;
this.push(header, encoding);
}
}
this.__transform(chunk, encoding, callback);
}
};
var ZlibHeaderTransformStream_default = ZlibHeaderTransformStream;
// node_modules/axios/lib/helpers/callbackify.js
var callbackify = (fn, reducer) => {
return utils_default.isAsyncFn(fn)
? function (...args) {
const cb = args.pop();
fn.apply(this, args).then((value) => {
try {
reducer ? cb(null, ...reducer(value)) : cb(null, value);
} catch (err) {
cb(err);
}
}, cb);
}
: fn;
};
var callbackify_default = callbackify;
// node_modules/axios/lib/adapters/http.js
var zlibOptions = {
flush: import_zlib.default.constants.Z_SYNC_FLUSH,
finishFlush: import_zlib.default.constants.Z_SYNC_FLUSH,
};
var brotliOptions = {
flush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH,
finishFlush: import_zlib.default.constants.BROTLI_OPERATION_FLUSH,
};
var isBrotliSupported = utils_default.isFunction(
import_zlib.default.createBrotliDecompress
);
var {http: httpFollow, https: httpsFollow} = import_follow_redirects.default;
var isHttps = /https:?/;
var supportedProtocols = node_default.protocols.map((protocol) => {
return protocol + ":";
});
function dispatchBeforeRedirect(options) {
if (options.beforeRedirects.proxy) {
options.beforeRedirects.proxy(options);
}
if (options.beforeRedirects.config) {
options.beforeRedirects.config(options);
}
}
function setProxy(options, configProxy, location) {
let proxy = configProxy;
if (!proxy && proxy !== false) {
const proxyUrl = (0, import_proxy_from_env.getProxyForUrl)(location);
if (proxyUrl) {
proxy = new URL(proxyUrl);
}
}
if (proxy) {
if (proxy.username) {
proxy.auth = (proxy.username || "") + ":" + (proxy.password || "");
}
if (proxy.auth) {
if (proxy.auth.username || proxy.auth.password) {
proxy.auth =
(proxy.auth.username || "") + ":" + (proxy.auth.password || "");
}
const base64 = Buffer.from(proxy.auth, "utf8").toString("base64");
options.headers["Proxy-Authorization"] = "Basic " + base64;
}
options.headers.host =
options.hostname + (options.port ? ":" + options.port : "");
const proxyHost = proxy.hostname || proxy.host;
options.hostname = proxyHost;
options.host = proxyHost;
options.port = proxy.port;
options.path = location;
if (proxy.protocol) {
options.protocol = proxy.protocol.includes(":")
? proxy.protocol
: `${proxy.protocol}:`;
}
}
options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
setProxy(redirectOptions, configProxy, redirectOptions.href);
};
}
var isHttpAdapterSupported =
typeof process !== "undefined" && utils_default.kindOf(process) === "process";
var wrapAsync = (asyncExecutor) => {
return new Promise((resolve, reject) => {
let onDone;
let isDone;
const done = (value, isRejected) => {
if (isDone) return;
isDone = true;
onDone && onDone(value, isRejected);
};
const _resolve = (value) => {
done(value);
resolve(value);
};
const _reject = (reason) => {
done(reason, true);
reject(reason);
};
asyncExecutor(
_resolve,
_reject,
(onDoneHandler) => (onDone = onDoneHandler)
).catch(_reject);
});
};
var resolveFamily = ({address, family}) => {
if (!utils_default.isString(address)) {
throw TypeError("address must be a string");
}
return {
address,
family: family || (address.indexOf(".") < 0 ? 6 : 4),
};
};
var buildAddressEntry = (address, family) =>
resolveFamily(utils_default.isObject(address) ? address : {address, family});
var http_default =
isHttpAdapterSupported &&
function httpAdapter(config) {
return wrapAsync(async function dispatchHttpRequest(
resolve,
reject,
onDone
) {
let {data, lookup, family} = config;
const {responseType, responseEncoding} = config;
const method = config.method.toUpperCase();
let isDone;
let rejected = false;
let req;
if (lookup) {
const _lookup = callbackify_default(lookup, (value) =>
utils_default.isArray(value) ? value : [value]
);
lookup = (hostname, opt, cb) => {
_lookup(hostname, opt, (err, arg0, arg1) => {
const addresses = utils_default.isArray(arg0)
? arg0.map((addr) => buildAddressEntry(addr))
: [buildAddressEntry(arg0, arg1)];
opt.all
? cb(err, addresses)
: cb(err, addresses[0].address, addresses[0].family);
});
};
}
const emitter = new import_events.default();
const onFinished = () => {
if (config.cancelToken) {
config.cancelToken.unsubscribe(abort);
}
if (config.signal) {
config.signal.removeEventListener("abort", abort);
}
emitter.removeAllListeners();
};
onDone((value, isRejected) => {
isDone = true;
if (isRejected) {
rejected = true;
onFinished();
}
});
function abort(reason) {
emitter.emit(
"abort",
!reason || reason.type
? new CanceledError_default(null, config, req)
: reason
);
}
emitter.once("abort", reject);
if (config.cancelToken || config.signal) {
config.cancelToken && config.cancelToken.subscribe(abort);
if (config.signal) {
config.signal.aborted
? abort()
: config.signal.addEventListener("abort", abort);
}
}
const fullPath = buildFullPath(config.baseURL, config.url);
const parsed = new URL(fullPath, "http://localhost");
const protocol = parsed.protocol || supportedProtocols[0];
if (protocol === "data:") {
let convertedData;
if (method !== "GET") {
return settle(resolve, reject, {
status: 405,
statusText: "method not allowed",
headers: {},
config,
});
}
try {
convertedData = fromDataURI(config.url, responseType === "blob", {
Blob: config.env && config.env.Blob,
});
} catch (err) {
throw AxiosError_default.from(
err,
AxiosError_default.ERR_BAD_REQUEST,
config
);
}
if (responseType === "text") {
convertedData = convertedData.toString(responseEncoding);
if (!responseEncoding || responseEncoding === "utf8") {
convertedData = utils_default.stripBOM(convertedData);
}
} else if (responseType === "stream") {
convertedData = import_stream4.default.Readable.from(convertedData);
}
return settle(resolve, reject, {
data: convertedData,
status: 200,
statusText: "OK",
headers: new AxiosHeaders_default(),
config,
});
}
if (supportedProtocols.indexOf(protocol) === -1) {
return reject(
new AxiosError_default(
"Unsupported protocol " + protocol,
AxiosError_default.ERR_BAD_REQUEST,
config
)
);
}
const headers = AxiosHeaders_default.from(config.headers).normalize();
headers.set("User-Agent", "axios/" + VERSION, false);
const onDownloadProgress = config.onDownloadProgress;
const onUploadProgress = config.onUploadProgress;
const maxRate = config.maxRate;
let maxUploadRate = void 0;
let maxDownloadRate = void 0;
if (utils_default.isSpecCompliantForm(data)) {
const userBoundary = headers.getContentType(
/boundary=([-_\w\d]{10,70})/i
);
data = formDataToStream_default(
data,
(formHeaders) => {
headers.set(formHeaders);
},
{
tag: `axios-${VERSION}-boundary`,
boundary: (userBoundary && userBoundary[1]) || void 0,
}
);
} else if (
utils_default.isFormData(data) &&
utils_default.isFunction(data.getHeaders)
) {
headers.set(data.getHeaders());
if (!headers.hasContentLength()) {
try {
const knownLength = await import_util2.default
.promisify(data.getLength)
.call(data);
Number.isFinite(knownLength) &&
knownLength >= 0 &&
headers.setContentLength(knownLength);
} catch (e) {}
}
} else if (utils_default.isBlob(data)) {
data.size &&
headers.setContentType(data.type || "application/octet-stream");
headers.setContentLength(data.size || 0);
data = import_stream4.default.Readable.from(readBlob_default(data));
} else if (data && !utils_default.isStream(data)) {
if (Buffer.isBuffer(data)) {
} else if (utils_default.isArrayBuffer(data)) {
data = Buffer.from(new Uint8Array(data));
} else if (utils_default.isString(data)) {
data = Buffer.from(data, "utf-8");
} else {
return reject(
new AxiosError_default(
"Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",
AxiosError_default.ERR_BAD_REQUEST,
config
)
);
}
headers.setContentLength(data.length, false);
if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
return reject(
new AxiosError_default(
"Request body larger than maxBodyLength limit",
AxiosError_default.ERR_BAD_REQUEST,
config
)
);
}
}
const contentLength = utils_default.toFiniteNumber(
headers.getContentLength()
);
if (utils_default.isArray(maxRate)) {
maxUploadRate = maxRate[0];
maxDownloadRate = maxRate[1];
} else {
maxUploadRate = maxDownloadRate = maxRate;
}
if (data && (onUploadProgress || maxUploadRate)) {
if (!utils_default.isStream(data)) {
data = import_stream4.default.Readable.from(data, {
objectMode: false,
});
}
data = import_stream4.default.pipeline(
[
data,
new AxiosTransformStream_default({
length: contentLength,
maxRate: utils_default.toFiniteNumber(maxUploadRate),
}),
],
utils_default.noop
);
onUploadProgress &&
data.on("progress", (progress) => {
onUploadProgress(
Object.assign(progress, {
upload: true,
})
);
});
}
let auth = void 0;
if (config.auth) {
const username = config.auth.username || "";
const password = config.auth.password || "";
auth = username + ":" + password;
}
if (!auth && parsed.username) {
const urlUsername = parsed.username;
const urlPassword = parsed.password;
auth = urlUsername + ":" + urlPassword;
}
auth && headers.delete("authorization");
let path;
try {
path = buildURL(
parsed.pathname + parsed.search,
config.params,
config.paramsSerializer
).replace(/^\?/, "");
} catch (err) {
const customErr = new Error(err.message);
customErr.config = config;
customErr.url = config.url;
customErr.exists = true;
return reject(customErr);
}
headers.set(
"Accept-Encoding",
"gzip, compress, deflate" + (isBrotliSupported ? ", br" : ""),
false
);
const options = {
path,
method,
headers: headers.toJSON(),
agents: {http: config.httpAgent, https: config.httpsAgent},
auth,
protocol,
family,
beforeRedirect: dispatchBeforeRedirect,
beforeRedirects: {},
};
!utils_default.isUndefined(lookup) && (options.lookup = lookup);
if (config.socketPath) {
options.socketPath = config.socketPath;
} else {
options.hostname = parsed.hostname;
options.port = parsed.port;
setProxy(
options,
config.proxy,
protocol +
"//" +
parsed.hostname +
(parsed.port ? ":" + parsed.port : "") +
options.path
);
}
let transport;
const isHttpsRequest = isHttps.test(options.protocol);
options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
if (config.transport) {
transport = config.transport;
} else if (config.maxRedirects === 0) {
transport = isHttpsRequest ? import_https.default : import_http.default;
} else {
if (config.maxRedirects) {
options.maxRedirects = config.maxRedirects;
}
if (config.beforeRedirect) {
options.beforeRedirects.config = config.beforeRedirect;
}
transport = isHttpsRequest ? httpsFollow : httpFollow;
}
if (config.maxBodyLength > -1) {
options.maxBodyLength = config.maxBodyLength;
} else {
options.maxBodyLength = Infinity;
}
if (config.insecureHTTPParser) {
options.insecureHTTPParser = config.insecureHTTPParser;
}
req = transport.request(options, function handleResponse(res) {
if (req.destroyed) return;
const streams = [res];
const responseLength = +res.headers["content-length"];
if (onDownloadProgress) {
const transformStream = new AxiosTransformStream_default({
length: utils_default.toFiniteNumber(responseLength),
maxRate: utils_default.toFiniteNumber(maxDownloadRate),
});
onDownloadProgress &&
transformStream.on("progress", (progress) => {
onDownloadProgress(
Object.assign(progress, {
download: true,
})
);
});
streams.push(transformStream);
}
let responseStream = res;
const lastRequest = res.req || req;
if (config.decompress !== false && res.headers["content-encoding"]) {
if (method === "HEAD" || res.statusCode === 204) {
delete res.headers["content-encoding"];
}
switch ((res.headers["content-encoding"] || "").toLowerCase()) {
/*eslint default-case:0*/
case "gzip":
case "x-gzip":
case "compress":
case "x-compress":
streams.push(import_zlib.default.createUnzip(zlibOptions));
delete res.headers["content-encoding"];
break;
case "deflate":
streams.push(new ZlibHeaderTransformStream_default());
streams.push(import_zlib.default.createUnzip(zlibOptions));
delete res.headers["content-encoding"];
break;
case "br":
if (isBrotliSupported) {
streams.push(
import_zlib.default.createBrotliDecompress(brotliOptions)
);
delete res.headers["content-encoding"];
}
}
}
responseStream =
streams.length > 1
? import_stream4.default.pipeline(streams, utils_default.noop)
: streams[0];
const offListeners = import_stream4.default.finished(
responseStream,
() => {
offListeners();
onFinished();
}
);
const response = {
status: res.statusCode,
statusText: res.statusMessage,
headers: new AxiosHeaders_default(res.headers),
config,
request: lastRequest,
};
if (responseType === "stream") {
response.data = responseStream;
settle(resolve, reject, response);
} else {
const responseBuffer = [];
let totalResponseBytes = 0;
responseStream.on("data", function handleStreamData(chunk) {
responseBuffer.push(chunk);
totalResponseBytes += chunk.length;
if (
config.maxContentLength > -1 &&
totalResponseBytes > config.maxContentLength
) {
rejected = true;
responseStream.destroy();
reject(
new AxiosError_default(
"maxContentLength size of " +
config.maxContentLength +
" exceeded",
AxiosError_default.ERR_BAD_RESPONSE,
config,
lastRequest
)
);
}
});
responseStream.on("aborted", function handlerStreamAborted() {
if (rejected) {
return;
}
const err = new AxiosError_default(
"maxContentLength size of " +
config.maxContentLength +
" exceeded",
AxiosError_default.ERR_BAD_RESPONSE,
config,
lastRequest
);
responseStream.destroy(err);
reject(err);
});
responseStream.on("error", function handleStreamError(err) {
if (req.destroyed) return;
reject(AxiosError_default.from(err, null, config, lastRequest));
});
responseStream.on("end", function handleStreamEnd() {
try {
let responseData =
responseBuffer.length === 1
? responseBuffer[0]
: Buffer.concat(responseBuffer);
if (responseType !== "arraybuffer") {
responseData = responseData.toString(responseEncoding);
if (!responseEncoding || responseEncoding === "utf8") {
responseData = utils_default.stripBOM(responseData);
}
}
response.data = responseData;
} catch (err) {
return reject(
AxiosError_default.from(
err,
null,
config,
response.request,
response
)
);
}
settle(resolve, reject, response);
});
}
emitter.once("abort", (err) => {
if (!responseStream.destroyed) {
responseStream.emit("error", err);
responseStream.destroy();
}
});
});
emitter.once("abort", (err) => {
reject(err);
req.destroy(err);
});
req.on("error", function handleRequestError(err) {
reject(AxiosError_default.from(err, null, config, req));
});
req.on("socket", function handleRequestSocket(socket) {
socket.setKeepAlive(true, 1e3 * 60);
});
if (config.timeout) {
const timeout = parseInt(config.timeout, 10);
if (Number.isNaN(timeout)) {
reject(
new AxiosError_default(
"error trying to parse `config.timeout` to int",
AxiosError_default.ERR_BAD_OPTION_VALUE,
config,
req
)
);
return;
}
req.setTimeout(timeout, function handleRequestTimeout() {
if (isDone) return;
let timeoutErrorMessage = config.timeout
? "timeout of " + config.timeout + "ms exceeded"
: "timeout exceeded";
const transitional2 = config.transitional || transitional_default;
if (config.timeoutErrorMessage) {
timeoutErrorMessage = config.timeoutErrorMessage;
}
reject(
new AxiosError_default(
timeoutErrorMessage,
transitional2.clarifyTimeoutError
? AxiosError_default.ETIMEDOUT
: AxiosError_default.ECONNABORTED,
config,
req
)
);
abort();
});
}
if (utils_default.isStream(data)) {
let ended = false;
let errored = false;
data.on("end", () => {
ended = true;
});
data.once("error", (err) => {
errored = true;
req.destroy(err);
});
data.on("close", () => {
if (!ended && !errored) {
abort(
new CanceledError_default(
"Request stream has been aborted",
config,
req
)
);
}
});
data.pipe(req);
} else {
req.end(data);
}
});
};
// node_modules/axios/lib/helpers/cookies.js
var cookies_default = node_default.isStandardBrowserEnv
? // Standard browser envs support document.cookie
/* @__PURE__ */ (function standardBrowserEnv() {
return {
write: function write(name, value, expires, path, domain, secure) {
const cookie = [];
cookie.push(name + "=" + encodeURIComponent(value));
if (utils_default.isNumber(expires)) {
cookie.push("expires=" + new Date(expires).toGMTString());
}
if (utils_default.isString(path)) {
cookie.push("path=" + path);
}
if (utils_default.isString(domain)) {
cookie.push("domain=" + domain);
}
if (secure === true) {
cookie.push("secure");
}
document.cookie = cookie.join("; ");
},
read: function read(name) {
const match = document.cookie.match(
new RegExp("(^|;\\s*)(" + name + ")=([^;]*)")
);
return match ? decodeURIComponent(match[3]) : null;
},
remove: function remove(name) {
this.write(name, "", Date.now() - 864e5);
},
};
})()
: // Non standard browser env (web workers, react-native) lack needed support.
/* @__PURE__ */ (function nonStandardBrowserEnv() {
return {
write: function write() {},
read: function read() {
return null;
},
remove: function remove() {},
};
})();
// node_modules/axios/lib/helpers/isURLSameOrigin.js
var isURLSameOrigin_default = node_default.isStandardBrowserEnv
? // Standard browser envs have full support of the APIs needed to test
// whether the request URL is of the same origin as current location.
(function standardBrowserEnv2() {
const msie = /(msie|trident)/i.test(navigator.userAgent);
const urlParsingNode = document.createElement("a");
let originURL;
function resolveURL(url2) {
let href = url2;
if (msie) {
urlParsingNode.setAttribute("href", href);
href = urlParsingNode.href;
}
urlParsingNode.setAttribute("href", href);
return {
href: urlParsingNode.href,
protocol: urlParsingNode.protocol
? urlParsingNode.protocol.replace(/:$/, "")
: "",
host: urlParsingNode.host,
search: urlParsingNode.search
? urlParsingNode.search.replace(/^\?/, "")
: "",
hash: urlParsingNode.hash
? urlParsingNode.hash.replace(/^#/, "")
: "",
hostname: urlParsingNode.hostname,
port: urlParsingNode.port,
pathname:
urlParsingNode.pathname.charAt(0) === "/"
? urlParsingNode.pathname
: "/" + urlParsingNode.pathname,
};
}
originURL = resolveURL(window.location.href);
return function isURLSameOrigin(requestURL) {
const parsed = utils_default.isString(requestURL)
? resolveURL(requestURL)
: requestURL;
return (
parsed.protocol === originURL.protocol &&
parsed.host === originURL.host
);
};
})()
: // Non standard browser envs (web workers, react-native) lack needed support.
/* @__PURE__ */ (function nonStandardBrowserEnv2() {
return function isURLSameOrigin() {
return true;
};
})();
// node_modules/axios/lib/adapters/xhr.js
function progressEventReducer(listener, isDownloadStream) {
let bytesNotified = 0;
const _speedometer = speedometer_default(50, 250);
return (e) => {
const loaded = e.loaded;
const total = e.lengthComputable ? e.total : void 0;
const progressBytes = loaded - bytesNotified;
const rate = _speedometer(progressBytes);
const inRange = loaded <= total;
bytesNotified = loaded;
const data = {
loaded,
total,
progress: total ? loaded / total : void 0,
bytes: progressBytes,
rate: rate ? rate : void 0,
estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
event: e,
};
data[isDownloadStream ? "download" : "upload"] = true;
listener(data);
};
}
var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
var xhr_default =
isXHRAdapterSupported &&
function (config) {
return new Promise(function dispatchXhrRequest(resolve, reject) {
let requestData = config.data;
const requestHeaders = AxiosHeaders_default.from(
config.headers
).normalize();
const responseType = config.responseType;
let onCanceled;
function done() {
if (config.cancelToken) {
config.cancelToken.unsubscribe(onCanceled);
}
if (config.signal) {
config.signal.removeEventListener("abort", onCanceled);
}
}
let contentType;
if (utils_default.isFormData(requestData)) {
if (
node_default.isStandardBrowserEnv ||
node_default.isStandardBrowserWebWorkerEnv
) {
requestHeaders.setContentType(false);
} else if (!requestHeaders.getContentType(/^\s*multipart\/form-data/)) {
requestHeaders.setContentType("multipart/form-data");
} else if (
utils_default.isString(
(contentType = requestHeaders.getContentType())
)
) {
requestHeaders.setContentType(
contentType.replace(/^\s*(multipart\/form-data);+/, "$1")
);
}
}
let request2 = new XMLHttpRequest();
if (config.auth) {
const username = config.auth.username || "";
const password = config.auth.password
? unescape(encodeURIComponent(config.auth.password))
: "";
requestHeaders.set(
"Authorization",
"Basic " + btoa(username + ":" + password)
);
}
const fullPath = buildFullPath(config.baseURL, config.url);
request2.open(
config.method.toUpperCase(),
buildURL(fullPath, config.params, config.paramsSerializer),
true
);
request2.timeout = config.timeout;
function onloadend() {
if (!request2) {
return;
}
const responseHeaders = AxiosHeaders_default.from(
"getAllResponseHeaders" in request2 &&
request2.getAllResponseHeaders()
);
const responseData =
!responseType || responseType === "text" || responseType === "json"
? request2.responseText
: request2.response;
const response = {
data: responseData,
status: request2.status,
statusText: request2.statusText,
headers: responseHeaders,
config,
request: request2,
};
settle(
function _resolve(value) {
resolve(value);
done();
},
function _reject(err) {
reject(err);
done();
},
response
);
request2 = null;
}
if ("onloadend" in request2) {
request2.onloadend = onloadend;
} else {
request2.onreadystatechange = function handleLoad() {
if (!request2 || request2.readyState !== 4) {
return;
}
if (
request2.status === 0 &&
!(
request2.responseURL &&
request2.responseURL.indexOf("file:") === 0
)
) {
return;
}
setTimeout(onloadend);
};
}
request2.onabort = function handleAbort() {
if (!request2) {
return;
}
reject(
new AxiosError_default(
"Request aborted",
AxiosError_default.ECONNABORTED,
config,
request2
)
);
request2 = null;
};
request2.onerror = function handleError() {
reject(
new AxiosError_default(
"Network Error",
AxiosError_default.ERR_NETWORK,
config,
request2
)
);
request2 = null;
};
request2.ontimeout = function handleTimeout() {
let timeoutErrorMessage = config.timeout
? "timeout of " + config.timeout + "ms exceeded"
: "timeout exceeded";
const transitional2 = config.transitional || transitional_default;
if (config.timeoutErrorMessage) {
timeoutErrorMessage = config.timeoutErrorMessage;
}
reject(
new AxiosError_default(
timeoutErrorMessage,
transitional2.clarifyTimeoutError
? AxiosError_default.ETIMEDOUT
: AxiosError_default.ECONNABORTED,
config,
request2
)
);
request2 = null;
};
if (node_default.isStandardBrowserEnv) {
const xsrfValue =
isURLSameOrigin_default(fullPath) &&
config.xsrfCookieName &&
cookies_default.read(config.xsrfCookieName);
if (xsrfValue) {
requestHeaders.set(config.xsrfHeaderName, xsrfValue);
}
}
requestData === void 0 && requestHeaders.setContentType(null);
if ("setRequestHeader" in request2) {
utils_default.forEach(
requestHeaders.toJSON(),
function setRequestHeader(val, key) {
request2.setRequestHeader(key, val);
}
);
}
if (!utils_default.isUndefined(config.withCredentials)) {
request2.withCredentials = !!config.withCredentials;
}
if (responseType && responseType !== "json") {
request2.responseType = config.responseType;
}
if (typeof config.onDownloadProgress === "function") {
request2.addEventListener(
"progress",
progressEventReducer(config.onDownloadProgress, true)
);
}
if (typeof config.onUploadProgress === "function" && request2.upload) {
request2.upload.addEventListener(
"progress",
progressEventReducer(config.onUploadProgress)
);
}
if (config.cancelToken || config.signal) {
onCanceled = (cancel) => {
if (!request2) {
return;
}
reject(
!cancel || cancel.type
? new CanceledError_default(null, config, request2)
: cancel
);
request2.abort();
request2 = null;
};
config.cancelToken && config.cancelToken.subscribe(onCanceled);
if (config.signal) {
config.signal.aborted
? onCanceled()
: config.signal.addEventListener("abort", onCanceled);
}
}
const protocol = parseProtocol(fullPath);
if (protocol && node_default.protocols.indexOf(protocol) === -1) {
reject(
new AxiosError_default(
"Unsupported protocol " + protocol + ":",
AxiosError_default.ERR_BAD_REQUEST,
config
)
);
return;
}
request2.send(requestData || null);
});
};
// node_modules/axios/lib/adapters/adapters.js
var knownAdapters = {
http: http_default,
xhr: xhr_default,
};
utils_default.forEach(knownAdapters, (fn, value) => {
if (fn) {
try {
Object.defineProperty(fn, "name", {value});
} catch (e) {}
Object.defineProperty(fn, "adapterName", {value});
}
});
var renderReason = (reason) => `- ${reason}`;
var isResolvedHandle = (adapter) =>
utils_default.isFunction(adapter) || adapter === null || adapter === false;
var adapters_default = {
getAdapter: (adapters) => {
adapters = utils_default.isArray(adapters) ? adapters : [adapters];
const {length} = adapters;
let nameOrAdapter;
let adapter;
const rejectedReasons = {};
for (let i = 0; i < length; i++) {
nameOrAdapter = adapters[i];
let id;
adapter = nameOrAdapter;
if (!isResolvedHandle(nameOrAdapter)) {
adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
if (adapter === void 0) {
throw new AxiosError_default(`Unknown adapter '${id}'`);
}
}
if (adapter) {
break;
}
rejectedReasons[id || "#" + i] = adapter;
}
if (!adapter) {
const reasons = Object.entries(rejectedReasons).map(
([id, state]) =>
`adapter ${id} ` +
(state === false
? "is not supported by the environment"
: "is not available in the build")
);
let s = length
? reasons.length > 1
? "since :\n" + reasons.map(renderReason).join("\n")
: " " + renderReason(reasons[0])
: "as no adapter specified";
throw new AxiosError_default(
`There is no suitable adapter to dispatch the request ` + s,
"ERR_NOT_SUPPORT"
);
}
return adapter;
},
adapters: knownAdapters,
};
// node_modules/axios/lib/core/dispatchRequest.js
function throwIfCancellationRequested(config) {
if (config.cancelToken) {
config.cancelToken.throwIfRequested();
}
if (config.signal && config.signal.aborted) {
throw new CanceledError_default(null, config);
}
}
function dispatchRequest(config) {
throwIfCancellationRequested(config);
config.headers = AxiosHeaders_default.from(config.headers);
config.data = transformData.call(config, config.transformRequest);
if (["post", "put", "patch"].indexOf(config.method) !== -1) {
config.headers.setContentType("application/x-www-form-urlencoded", false);
}
const adapter = adapters_default.getAdapter(
config.adapter || defaults_default.adapter
);
return adapter(config).then(
function onAdapterResolution(response) {
throwIfCancellationRequested(config);
response.data = transformData.call(
config,
config.transformResponse,
response
);
response.headers = AxiosHeaders_default.from(response.headers);
return response;
},
function onAdapterRejection(reason) {
if (!isCancel(reason)) {
throwIfCancellationRequested(config);
if (reason && reason.response) {
reason.response.data = transformData.call(
config,
config.transformResponse,
reason.response
);
reason.response.headers = AxiosHeaders_default.from(
reason.response.headers
);
}
}
return Promise.reject(reason);
}
);
}
// node_modules/axios/lib/core/mergeConfig.js
var headersToObject = (thing) =>
thing instanceof AxiosHeaders_default ? thing.toJSON() : thing;
function mergeConfig(config1, config2) {
config2 = config2 || {};
const config = {};
function getMergedValue(target, source, caseless) {
if (
utils_default.isPlainObject(target) &&
utils_default.isPlainObject(source)
) {
return utils_default.merge.call({caseless}, target, source);
} else if (utils_default.isPlainObject(source)) {
return utils_default.merge({}, source);
} else if (utils_default.isArray(source)) {
return source.slice();
}
return source;
}
function mergeDeepProperties(a, b, caseless) {
if (!utils_default.isUndefined(b)) {
return getMergedValue(a, b, caseless);
} else if (!utils_default.isUndefined(a)) {
return getMergedValue(void 0, a, caseless);
}
}
function valueFromConfig2(a, b) {
if (!utils_default.isUndefined(b)) {
return getMergedValue(void 0, b);
}
}
function defaultToConfig2(a, b) {
if (!utils_default.isUndefined(b)) {
return getMergedValue(void 0, b);
} else if (!utils_default.isUndefined(a)) {
return getMergedValue(void 0, a);
}
}
function mergeDirectKeys(a, b, prop) {
if (prop in config2) {
return getMergedValue(a, b);
} else if (prop in config1) {
return getMergedValue(void 0, a);
}
}
const mergeMap = {
url: valueFromConfig2,
method: valueFromConfig2,
data: valueFromConfig2,
baseURL: defaultToConfig2,
transformRequest: defaultToConfig2,
transformResponse: defaultToConfig2,
paramsSerializer: defaultToConfig2,
timeout: defaultToConfig2,
timeoutMessage: defaultToConfig2,
withCredentials: defaultToConfig2,
adapter: defaultToConfig2,
responseType: defaultToConfig2,
xsrfCookieName: defaultToConfig2,
xsrfHeaderName: defaultToConfig2,
onUploadProgress: defaultToConfig2,
onDownloadProgress: defaultToConfig2,
decompress: defaultToConfig2,
maxContentLength: defaultToConfig2,
maxBodyLength: defaultToConfig2,
beforeRedirect: defaultToConfig2,
transport: defaultToConfig2,
httpAgent: defaultToConfig2,
httpsAgent: defaultToConfig2,
cancelToken: defaultToConfig2,
socketPath: defaultToConfig2,
responseEncoding: defaultToConfig2,
validateStatus: mergeDirectKeys,
headers: (a, b) =>
mergeDeepProperties(headersToObject(a), headersToObject(b), true),
};
utils_default.forEach(
Object.keys(Object.assign({}, config1, config2)),
function computeConfigValue(prop) {
const merge2 = mergeMap[prop] || mergeDeepProperties;
const configValue = merge2(config1[prop], config2[prop], prop);
(utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys) ||
(config[prop] = configValue);
}
);
return config;
}
// node_modules/axios/lib/helpers/validator.js
var validators = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach(
(type, i) => {
validators[type] = function validator(thing) {
return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
};
}
);
var deprecatedWarnings = {};
validators.transitional = function transitional(validator, version, message) {
function formatMessage(opt, desc) {
return (
"[Axios v" +
VERSION +
"] Transitional option '" +
opt +
"'" +
desc +
(message ? ". " + message : "")
);
}
return (value, opt, opts) => {
if (validator === false) {
throw new AxiosError_default(
formatMessage(
opt,
" has been removed" + (version ? " in " + version : "")
),
AxiosError_default.ERR_DEPRECATED
);
}
if (version && !deprecatedWarnings[opt]) {
deprecatedWarnings[opt] = true;
console.warn(
formatMessage(
opt,
" has been deprecated since v" +
version +
" and will be removed in the near future"
)
);
}
return validator ? validator(value, opt, opts) : true;
};
};
function assertOptions(options, schema, allowUnknown) {
if (typeof options !== "object") {
throw new AxiosError_default(
"options must be an object",
AxiosError_default.ERR_BAD_OPTION_VALUE
);
}
const keys = Object.keys(options);
let i = keys.length;
while (i-- > 0) {
const opt = keys[i];
const validator = schema[opt];
if (validator) {
const value = options[opt];
const result = value === void 0 || validator(value, opt, options);
if (result !== true) {
throw new AxiosError_default(
"option " + opt + " must be " + result,
AxiosError_default.ERR_BAD_OPTION_VALUE
);
}
continue;
}
if (allowUnknown !== true) {
throw new AxiosError_default(
"Unknown option " + opt,
AxiosError_default.ERR_BAD_OPTION
);
}
}
}
var validator_default = {
assertOptions,
validators,
};
// node_modules/axios/lib/core/Axios.js
var validators2 = validator_default.validators;
var Axios = class {
constructor(instanceConfig) {
this.defaults = instanceConfig;
this.interceptors = {
request: new InterceptorManager_default(),
response: new InterceptorManager_default(),
};
}
/**
* Dispatch a request
*
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
* @param {?Object} config
*
* @returns {Promise} The Promise to be fulfilled
*/
request(configOrUrl, config) {
if (typeof configOrUrl === "string") {
config = config || {};
config.url = configOrUrl;
} else {
config = configOrUrl || {};
}
config = mergeConfig(this.defaults, config);
const {
transitional: transitional2,
paramsSerializer: paramsSerializer2,
headers,
} = config;
if (transitional2 !== void 0) {
validator_default.assertOptions(
transitional2,
{
silentJSONParsing: validators2.transitional(validators2.boolean),
forcedJSONParsing: validators2.transitional(validators2.boolean),
clarifyTimeoutError: validators2.transitional(validators2.boolean),
},
false
);
}
if (paramsSerializer2 != null) {
if (utils_default.isFunction(paramsSerializer2)) {
config.paramsSerializer = {
serialize: paramsSerializer2,
};
} else {
validator_default.assertOptions(
paramsSerializer2,
{
encode: validators2.function,
serialize: validators2.function,
},
true
);
}
}
config.method = (
config.method ||
this.defaults.method ||
"get"
).toLowerCase();
let contextHeaders =
headers && utils_default.merge(headers.common, headers[config.method]);
headers &&
utils_default.forEach(
["delete", "get", "head", "post", "put", "patch", "common"],
(method) => {
delete headers[method];
}
);
config.headers = AxiosHeaders_default.concat(contextHeaders, headers);
const requestInterceptorChain = [];
let synchronousRequestInterceptors = true;
this.interceptors.request.forEach(function unshiftRequestInterceptors(
interceptor
) {
if (
typeof interceptor.runWhen === "function" &&
interceptor.runWhen(config) === false
) {
return;
}
synchronousRequestInterceptors =
synchronousRequestInterceptors && interceptor.synchronous;
requestInterceptorChain.unshift(
interceptor.fulfilled,
interceptor.rejected
);
});
const responseInterceptorChain = [];
this.interceptors.response.forEach(function pushResponseInterceptors(
interceptor
) {
responseInterceptorChain.push(
interceptor.fulfilled,
interceptor.rejected
);
});
let promise;
let i = 0;
let len;
if (!synchronousRequestInterceptors) {
const chain = [dispatchRequest.bind(this), void 0];
chain.unshift.apply(chain, requestInterceptorChain);
chain.push.apply(chain, responseInterceptorChain);
len = chain.length;
promise = Promise.resolve(config);
while (i < len) {
promise = promise.then(chain[i++], chain[i++]);
}
return promise;
}
len = requestInterceptorChain.length;
let newConfig = config;
i = 0;
while (i < len) {
const onFulfilled = requestInterceptorChain[i++];
const onRejected = requestInterceptorChain[i++];
try {
newConfig = onFulfilled(newConfig);
} catch (error) {
onRejected.call(this, error);
break;
}
}
try {
promise = dispatchRequest.call(this, newConfig);
} catch (error) {
return Promise.reject(error);
}
i = 0;
len = responseInterceptorChain.length;
while (i < len) {
promise = promise.then(
responseInterceptorChain[i++],
responseInterceptorChain[i++]
);
}
return promise;
}
getUri(config) {
config = mergeConfig(this.defaults, config);
const fullPath = buildFullPath(config.baseURL, config.url);
return buildURL(fullPath, config.params, config.paramsSerializer);
}
};
utils_default.forEach(
["delete", "get", "head", "options"],
function forEachMethodNoData(method) {
Axios.prototype[method] = function (url2, config) {
return this.request(
mergeConfig(config || {}, {
method,
url: url2,
data: (config || {}).data,
})
);
};
}
);
utils_default.forEach(
["post", "put", "patch"],
function forEachMethodWithData(method) {
function generateHTTPMethod(isForm) {
return function httpMethod(url2, data, config) {
return this.request(
mergeConfig(config || {}, {
method,
headers: isForm
? {
"Content-Type": "multipart/form-data",
}
: {},
url: url2,
data,
})
);
};
}
Axios.prototype[method] = generateHTTPMethod();
Axios.prototype[method + "Form"] = generateHTTPMethod(true);
}
);
var Axios_default = Axios;
// node_modules/axios/lib/cancel/CancelToken.js
var CancelToken = class _CancelToken {
constructor(executor) {
if (typeof executor !== "function") {
throw new TypeError("executor must be a function.");
}
let resolvePromise;
this.promise = new Promise(function promiseExecutor(resolve) {
resolvePromise = resolve;
});
const token = this;
this.promise.then((cancel) => {
if (!token._listeners) return;
let i = token._listeners.length;
while (i-- > 0) {
token._listeners[i](cancel);
}
token._listeners = null;
});
this.promise.then = (onfulfilled) => {
let _resolve;
const promise = new Promise((resolve) => {
token.subscribe(resolve);
_resolve = resolve;
}).then(onfulfilled);
promise.cancel = function reject() {
token.unsubscribe(_resolve);
};
return promise;
};
executor(function cancel(message, config, request2) {
if (token.reason) {
return;
}
token.reason = new CanceledError_default(message, config, request2);
resolvePromise(token.reason);
});
}
/**
* Throws a `CanceledError` if cancellation has been requested.
*/
throwIfRequested() {
if (this.reason) {
throw this.reason;
}
}
/**
* Subscribe to the cancel signal
*/
subscribe(listener) {
if (this.reason) {
listener(this.reason);
return;
}
if (this._listeners) {
this._listeners.push(listener);
} else {
this._listeners = [listener];
}
}
/**
* Unsubscribe from the cancel signal
*/
unsubscribe(listener) {
if (!this._listeners) {
return;
}
const index = this._listeners.indexOf(listener);
if (index !== -1) {
this._listeners.splice(index, 1);
}
}
/**
* Returns an object that contains a new `CancelToken` and a function that, when called,
* cancels the `CancelToken`.
*/
static source() {
let cancel;
const token = new _CancelToken(function executor(c) {
cancel = c;
});
return {
token,
cancel,
};
}
};
var CancelToken_default = CancelToken;
// node_modules/axios/lib/helpers/spread.js
function spread(callback) {
return function wrap(arr) {
return callback.apply(null, arr);
};
}
// node_modules/axios/lib/helpers/isAxiosError.js
function isAxiosError(payload) {
return utils_default.isObject(payload) && payload.isAxiosError === true;
}
// node_modules/axios/lib/helpers/HttpStatusCode.js
var HttpStatusCode = {
Continue: 100,
SwitchingProtocols: 101,
Processing: 102,
EarlyHints: 103,
Ok: 200,
Created: 201,
Accepted: 202,
NonAuthoritativeInformation: 203,
NoContent: 204,
ResetContent: 205,
PartialContent: 206,
MultiStatus: 207,
AlreadyReported: 208,
ImUsed: 226,
MultipleChoices: 300,
MovedPermanently: 301,
Found: 302,
SeeOther: 303,
NotModified: 304,
UseProxy: 305,
Unused: 306,
TemporaryRedirect: 307,
PermanentRedirect: 308,
BadRequest: 400,
Unauthorized: 401,
PaymentRequired: 402,
Forbidden: 403,
NotFound: 404,
MethodNotAllowed: 405,
NotAcceptable: 406,
ProxyAuthenticationRequired: 407,
RequestTimeout: 408,
Conflict: 409,
Gone: 410,
LengthRequired: 411,
PreconditionFailed: 412,
PayloadTooLarge: 413,
UriTooLong: 414,
UnsupportedMediaType: 415,
RangeNotSatisfiable: 416,
ExpectationFailed: 417,
ImATeapot: 418,
MisdirectedRequest: 421,
UnprocessableEntity: 422,
Locked: 423,
FailedDependency: 424,
TooEarly: 425,
UpgradeRequired: 426,
PreconditionRequired: 428,
TooManyRequests: 429,
RequestHeaderFieldsTooLarge: 431,
UnavailableForLegalReasons: 451,
InternalServerError: 500,
NotImplemented: 501,
BadGateway: 502,
ServiceUnavailable: 503,
GatewayTimeout: 504,
HttpVersionNotSupported: 505,
VariantAlsoNegotiates: 506,
InsufficientStorage: 507,
LoopDetected: 508,
NotExtended: 510,
NetworkAuthenticationRequired: 511,
};
Object.entries(HttpStatusCode).forEach(([key, value]) => {
HttpStatusCode[value] = key;
});
var HttpStatusCode_default = HttpStatusCode;
// node_modules/axios/lib/axios.js
function createInstance(defaultConfig) {
const context = new Axios_default(defaultConfig);
const instance = bind(Axios_default.prototype.request, context);
utils_default.extend(instance, Axios_default.prototype, context, {
allOwnKeys: true,
});
utils_default.extend(instance, context, null, {allOwnKeys: true});
instance.create = function create(instanceConfig) {
return createInstance(mergeConfig(defaultConfig, instanceConfig));
};
return instance;
}
var axios = createInstance(defaults_default);
axios.Axios = Axios_default;
axios.CanceledError = CanceledError_default;
axios.CancelToken = CancelToken_default;
axios.isCancel = isCancel;
axios.VERSION = VERSION;
axios.toFormData = toFormData_default;
axios.AxiosError = AxiosError_default;
axios.Cancel = axios.CanceledError;
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = spread;
axios.isAxiosError = isAxiosError;
axios.mergeConfig = mergeConfig;
axios.AxiosHeaders = AxiosHeaders_default;
axios.formToJSON = (thing) =>
formDataToJSON_default(
utils_default.isHTMLForm(thing) ? new FormData(thing) : thing
);
axios.getAdapter = adapters_default.getAdapter;
axios.HttpStatusCode = HttpStatusCode_default;
axios.default = axios;
var axios_default = axios;
// node_modules/axios/index.js
var {
Axios: Axios2,
AxiosError: AxiosError2,
CanceledError: CanceledError2,
isCancel: isCancel2,
CancelToken: CancelToken2,
VERSION: VERSION2,
all: all2,
Cancel,
isAxiosError: isAxiosError2,
spread: spread2,
toFormData: toFormData2,
AxiosHeaders: AxiosHeaders2,
HttpStatusCode: HttpStatusCode2,
formToJSON,
getAdapter,
mergeConfig: mergeConfig2,
} = axios_default;
// src/restClient.ts
var import_axios_case_converter = __toESM(require_lib2());
// src/types/errors.ts
var import_ts_custom_error = __toESM(require_custom_error());
var authenticationErrorCodes = [401, 403];
var TodoistRequestError = class extends import_ts_custom_error.CustomError {
constructor(message, httpStatusCode, responseData) {
super(message);
this.message = message;
this.httpStatusCode = httpStatusCode;
this.responseData = responseData;
this.isAuthenticationError = () => {
if (!this.httpStatusCode) {
return false;
}
return authenticationErrorCodes.includes(this.httpStatusCode);
};
Object.defineProperty(this, "name", {value: "TodoistRequestError"});
}
};
// node_modules/uuid/dist/esm-node/rng.js
var import_crypto = __toESM(require("crypto"));
var rnds8Pool = new Uint8Array(256);
var poolPtr = rnds8Pool.length;
function rng() {
if (poolPtr > rnds8Pool.length - 16) {
import_crypto.default.randomFillSync(rnds8Pool);
poolPtr = 0;
}
return rnds8Pool.slice(poolPtr, (poolPtr += 16));
}
// node_modules/uuid/dist/esm-node/stringify.js
var byteToHex = [];
for (let i = 0; i < 256; ++i) {
byteToHex.push((i + 256).toString(16).slice(1));
}
function unsafeStringify(arr, offset = 0) {
return (
byteToHex[arr[offset + 0]] +
byteToHex[arr[offset + 1]] +
byteToHex[arr[offset + 2]] +
byteToHex[arr[offset + 3]] +
"-" +
byteToHex[arr[offset + 4]] +
byteToHex[arr[offset + 5]] +
"-" +
byteToHex[arr[offset + 6]] +
byteToHex[arr[offset + 7]] +
"-" +
byteToHex[arr[offset + 8]] +
byteToHex[arr[offset + 9]] +
"-" +
byteToHex[arr[offset + 10]] +
byteToHex[arr[offset + 11]] +
byteToHex[arr[offset + 12]] +
byteToHex[arr[offset + 13]] +
byteToHex[arr[offset + 14]] +
byteToHex[arr[offset + 15]]
).toLowerCase();
}
// node_modules/uuid/dist/esm-node/native.js
var import_crypto2 = __toESM(require("crypto"));
var native_default = {
randomUUID: import_crypto2.default.randomUUID,
};
// node_modules/uuid/dist/esm-node/v4.js
function v4(options, buf, offset) {
if (native_default.randomUUID && !buf && !options) {
return native_default.randomUUID();
}
options = options || {};
const rnds = options.random || (options.rng || rng)();
rnds[6] = (rnds[6] & 15) | 64;
rnds[8] = (rnds[8] & 63) | 128;
if (buf) {
offset = offset || 0;
for (let i = 0; i < 16; ++i) {
buf[offset + i] = rnds[i];
}
return buf;
}
return unsafeStringify(rnds);
}
var v4_default = v4;
// node_modules/axios-retry/lib/esm/index.js
var import_is_retry_allowed = __toESM(require_is_retry_allowed(), 1);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function () {
var self2 = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self2, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(void 0);
});
};
}
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(
target,
key,
Object.getOwnPropertyDescriptor(source, key)
);
});
}
}
return target;
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value,
enumerable: true,
configurable: true,
writable: true,
});
} else {
obj[key] = value;
}
return obj;
}
var namespace = "axios-retry";
function isNetworkError(error) {
return (
!error.response &&
Boolean(error.code) && // Prevents retrying cancelled requests
error.code !== "ECONNABORTED" && // Prevents retrying timed out requests
(0, import_is_retry_allowed.default)(error)
);
}
var SAFE_HTTP_METHODS = ["get", "head", "options"];
var IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(["put", "delete"]);
function isRetryableError(error) {
return (
error.code !== "ECONNABORTED" &&
(!error.response ||
(error.response.status >= 500 && error.response.status <= 599))
);
}
function isSafeRequestError(error) {
if (!error.config) {
return false;
}
return (
isRetryableError(error) &&
SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1
);
}
function isIdempotentRequestError(error) {
if (!error.config) {
return false;
}
return (
isRetryableError(error) &&
IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1
);
}
function isNetworkOrIdempotentRequestError(error) {
return isNetworkError(error) || isIdempotentRequestError(error);
}
function noDelay() {
return 0;
}
function exponentialDelay() {
var retryNumber =
arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
var delay = Math.pow(2, retryNumber) * 100;
var randomSum = delay * 0.2 * Math.random();
return delay + randomSum;
}
function getCurrentState(config) {
var currentState = config[namespace] || {};
currentState.retryCount = currentState.retryCount || 0;
config[namespace] = currentState;
return currentState;
}
function getRequestOptions(config, defaultOptions) {
return _objectSpread(_objectSpread({}, defaultOptions), config[namespace]);
}
function fixConfig(axios2, config) {
if (axios2.defaults.agent === config.agent) {
delete config.agent;
}
if (axios2.defaults.httpAgent === config.httpAgent) {
delete config.httpAgent;
}
if (axios2.defaults.httpsAgent === config.httpsAgent) {
delete config.httpsAgent;
}
}
function shouldRetry(_x, _x2, _x3, _x4) {
return _shouldRetry.apply(this, arguments);
}
function _shouldRetry() {
_shouldRetry = _asyncToGenerator(function* (
retries,
retryCondition,
currentState,
error
) {
var shouldRetryOrPromise =
currentState.retryCount < retries && retryCondition(error);
if (typeof shouldRetryOrPromise === "object") {
try {
yield shouldRetryOrPromise;
return true;
} catch (_err) {
return false;
}
}
return shouldRetryOrPromise;
});
return _shouldRetry.apply(this, arguments);
}
function axiosRetry(axios2, defaultOptions) {
axios2.interceptors.request.use((config) => {
var currentState = getCurrentState(config);
currentState.lastRequestTime = Date.now();
return config;
});
axios2.interceptors.response.use(
null,
/* @__PURE__ */ (function () {
var _ref = _asyncToGenerator(function* (error) {
var {config} = error;
if (!config) {
return Promise.reject(error);
}
var {
retries = 3,
retryCondition = isNetworkOrIdempotentRequestError,
retryDelay = noDelay,
shouldResetTimeout = false,
} = getRequestOptions(config, defaultOptions);
var currentState = getCurrentState(config);
if (yield shouldRetry(retries, retryCondition, currentState, error)) {
currentState.retryCount += 1;
var delay = retryDelay(currentState.retryCount, error);
fixConfig(axios2, config);
if (
!shouldResetTimeout &&
config.timeout &&
currentState.lastRequestTime
) {
var lastRequestDuration = Date.now() - currentState.lastRequestTime;
config.timeout = Math.max(
config.timeout - lastRequestDuration - delay,
1
);
}
config.transformRequest = [(data) => data];
return new Promise((resolve) =>
setTimeout(() => resolve(axios2(config)), delay)
);
}
return Promise.reject(error);
});
return function (_x5) {
return _ref.apply(this, arguments);
};
})()
);
}
axiosRetry.isNetworkError = isNetworkError;
axiosRetry.isSafeRequestError = isSafeRequestError;
axiosRetry.isIdempotentRequestError = isIdempotentRequestError;
axiosRetry.isNetworkOrIdempotentRequestError =
isNetworkOrIdempotentRequestError;
axiosRetry.exponentialDelay = exponentialDelay;
axiosRetry.isRetryableError = isRetryableError;
// src/consts/endpoints.ts
var BASE_URI = "https://api.todoist.com";
var API_REST_BASE_URI = "/rest/v2/";
var API_SYNC_BASE_URI = "/sync/v9/";
function getRestBaseUri(domainBase = BASE_URI) {
return new URL(API_REST_BASE_URI, domainBase).toString();
}
function getSyncBaseUri(domainBase = BASE_URI) {
return new URL(API_SYNC_BASE_URI, domainBase).toString();
}
var ENDPOINT_REST_TASKS = "tasks";
var ENDPOINT_REST_PROJECTS = "projects";
var ENDPOINT_REST_SECTIONS = "sections";
var ENDPOINT_REST_LABELS = "labels";
var ENDPOINT_REST_LABELS_SHARED = ENDPOINT_REST_LABELS + "/shared";
var ENDPOINT_REST_LABELS_SHARED_RENAME =
ENDPOINT_REST_LABELS_SHARED + "/rename";
var ENDPOINT_REST_LABELS_SHARED_REMOVE =
ENDPOINT_REST_LABELS_SHARED + "/remove";
var ENDPOINT_REST_COMMENTS = "comments";
var ENDPOINT_REST_TASK_CLOSE = "close";
var ENDPOINT_REST_TASK_REOPEN = "reopen";
var ENDPOINT_REST_PROJECT_COLLABORATORS = "collaborators";
var ENDPOINT_SYNC_QUICK_ADD = "quick/add";
// src/restClient.ts
function paramsSerializer(params) {
const qs = new URLSearchParams();
Object.keys(params).forEach((key) => {
const value = params[key];
if (Array.isArray(value)) {
qs.append(key, value.join(","));
} else {
qs.append(key, String(value));
}
});
return qs.toString();
}
var defaultHeaders = {
"Content-Type": "application/json",
};
function getAuthHeader(apiKey) {
return `Bearer ${apiKey}`;
}
function isNetworkError2(error) {
return Boolean(!error.response && error.code !== "ECONNABORTED");
}
function getRetryDelay(retryCount) {
return retryCount === 1 ? 0 : 500;
}
function isAxiosError3(error) {
return Boolean(error?.isAxiosError);
}
function getTodoistRequestError(error, originalStack) {
const requestError = new TodoistRequestError(error.message);
requestError.stack =
isAxiosError3(error) && originalStack ? originalStack.stack : error.stack;
if (isAxiosError3(error) && error.response) {
requestError.httpStatusCode = error.response.status;
requestError.responseData = error.response.data;
}
return requestError;
}
function getRequestConfiguration(baseURL, apiToken, requestId) {
const authHeader = apiToken
? {Authorization: getAuthHeader(apiToken)}
: void 0;
const requestIdHeader = requestId ? {"X-Request-Id": requestId} : void 0;
const headers = {...defaultHeaders, ...authHeader, ...requestIdHeader};
return {baseURL, headers};
}
function getAxiosClient(baseURL, apiToken, requestId) {
const configuration = getRequestConfiguration(baseURL, apiToken, requestId);
const client = (0, import_axios_case_converter.default)(
axios_default.create(configuration)
);
axiosRetry(client, {
retries: 3,
retryCondition: isNetworkError2,
retryDelay: getRetryDelay,
});
return client;
}
function isSuccess(response) {
return response.status >= 200 && response.status < 300;
}
async function request(
httpMethod,
baseUri,
relativePath,
apiToken,
payload,
requestId
) {
const originalStack = new Error();
try {
if (
httpMethod === "POST" &&
!requestId &&
!baseUri.includes(API_SYNC_BASE_URI)
) {
requestId = v4_default();
}
const axiosClient = getAxiosClient(baseUri, apiToken, requestId);
switch (httpMethod) {
case "GET":
return await axiosClient.get(relativePath, {
params: payload,
paramsSerializer: {
serialize: paramsSerializer,
},
});
case "POST":
return await axiosClient.post(relativePath, payload);
case "DELETE":
return await axiosClient.delete(relativePath);
}
} catch (error) {
if (!isAxiosError3(error) && !(error instanceof Error)) {
throw new Error("An unknown error occurred during the request");
}
throw getTodoistRequestError(error, originalStack);
}
}
// src/utils/taskConverters.ts
var showTaskEndpoint = "https://todoist.com/showTask";
function getTaskUrlFromQuickAddResponse(responseData) {
return `${showTaskEndpoint}?id=${responseData.id}`;
}
function getTaskFromQuickAddResponse(responseData) {
const due = responseData.due
? {
isRecurring: responseData.due.isRecurring,
string: responseData.due.string,
date: responseData.due.date,
...(responseData.due.timezone !== null && {
datetime: responseData.due.date,
}),
...(responseData.due.timezone !== null && {
timezone: responseData.due.timezone,
}),
}
: void 0;
const task = {
id: responseData.id,
order: responseData.childOrder,
content: responseData.content,
description: responseData.description,
projectId: responseData.projectId,
sectionId: responseData.sectionId ? responseData.sectionId : void 0,
isCompleted: responseData.checked,
labels: responseData.labels,
priority: responseData.priority,
commentCount: 0,
// Will always be 0 for a quick add
createdAt: responseData.addedAt,
url: getTaskUrlFromQuickAddResponse(responseData),
creatorId: responseData.addedByUid ?? "",
...(due !== void 0 && {due}),
...(responseData.parentId !== null && {parentId: responseData.parentId}),
...(responseData.responsibleUid !== null && {
assigneeId: responseData.responsibleUid,
}),
duration: responseData.duration,
};
return task;
}
// src/types/entities.ts
var import_runtypes = __toESM(require_lib());
var Int = import_runtypes.Number.withConstraint(
(n) =>
Number.isInteger(n) || `${n} is not a valid entity id. Should be a string`
);
var DueDate = (0, import_runtypes.Record)({
isRecurring: import_runtypes.Boolean,
string: import_runtypes.String,
date: import_runtypes.String,
}).And(
(0, import_runtypes.Partial)({
datetime: import_runtypes.String.Or(import_runtypes.Null),
timezone: import_runtypes.String.Or(import_runtypes.Null),
lang: import_runtypes.String.Or(import_runtypes.Null),
})
);
var Duration = (0, import_runtypes.Record)({
amount: import_runtypes.Number.withConstraint(
(n) => n > 0 || "Value should be greater than zero"
),
unit: (0, import_runtypes.Union)(
(0, import_runtypes.Literal)("minute"),
(0, import_runtypes.Literal)("day")
),
});
var Task = (0, import_runtypes.Record)({
id: import_runtypes.String,
order: Int,
content: import_runtypes.String,
description: import_runtypes.String,
projectId: import_runtypes.String,
isCompleted: import_runtypes.Boolean,
labels: (0, import_runtypes.Array)(import_runtypes.String),
priority: Int,
commentCount: Int,
createdAt: import_runtypes.String,
url: import_runtypes.String,
creatorId: import_runtypes.String,
}).And(
(0, import_runtypes.Partial)({
due: DueDate.Or(import_runtypes.Null),
duration: Duration.Or(import_runtypes.Null),
assigneeId: import_runtypes.String.Or(import_runtypes.Null),
assignerId: import_runtypes.String.Or(import_runtypes.Null),
parentId: import_runtypes.String.Or(import_runtypes.Null),
sectionId: import_runtypes.String.Or(import_runtypes.Null),
})
);
var Project = (0, import_runtypes.Record)({
id: import_runtypes.String,
name: import_runtypes.String,
color: import_runtypes.String,
commentCount: Int,
isShared: import_runtypes.Boolean,
isFavorite: import_runtypes.Boolean,
url: import_runtypes.String,
isInboxProject: import_runtypes.Boolean,
isTeamInbox: import_runtypes.Boolean,
order: Int,
viewStyle: import_runtypes.String,
}).And(
(0, import_runtypes.Partial)({
parentId: import_runtypes.String.Or(import_runtypes.Null),
})
);
var Section = (0, import_runtypes.Record)({
id: import_runtypes.String,
order: Int,
name: import_runtypes.String,
projectId: import_runtypes.String,
});
var Label = (0, import_runtypes.Record)({
id: import_runtypes.String,
order: Int,
name: import_runtypes.String,
color: import_runtypes.String,
isFavorite: import_runtypes.Boolean,
});
var Attachment = (0, import_runtypes.Record)({
resourceType: import_runtypes.String,
}).And(
(0, import_runtypes.Partial)({
fileName: import_runtypes.String.Or(import_runtypes.Null),
fileSize: Int.Or(import_runtypes.Null),
fileType: import_runtypes.String.Or(import_runtypes.Null),
fileUrl: import_runtypes.String.Or(import_runtypes.Null),
fileDuration: Int.Or(import_runtypes.Null),
uploadState: (0, import_runtypes.Union)(
(0, import_runtypes.Literal)("pending"),
(0, import_runtypes.Literal)("completed")
).Or(import_runtypes.Null),
image: import_runtypes.String.Or(import_runtypes.Null),
imageWidth: Int.Or(import_runtypes.Null),
imageHeight: Int.Or(import_runtypes.Null),
url: import_runtypes.String.Or(import_runtypes.Null),
title: import_runtypes.String.Or(import_runtypes.Null),
})
);
var Comment = (0, import_runtypes.Record)({
id: import_runtypes.String,
content: import_runtypes.String,
postedAt: import_runtypes.String,
}).And(
(0, import_runtypes.Partial)({
taskId: import_runtypes.String.Or(import_runtypes.Null),
projectId: import_runtypes.String.Or(import_runtypes.Null),
attachment: Attachment.Or(import_runtypes.Null),
})
);
var User = (0, import_runtypes.Record)({
id: import_runtypes.String,
name: import_runtypes.String,
email: import_runtypes.String,
});
// src/utils/validators.ts
function validateTask(input) {
return Task.check(input);
}
function validateTaskArray(input) {
return input.map(validateTask);