134 lines
13 KiB
JavaScript
134 lines
13 KiB
JavaScript
"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 __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[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);
|
|
|
|
// src/index.ts
|
|
var src_exports = {};
|
|
__export(src_exports, {
|
|
useDisposable: () => useDisposable,
|
|
useIsStrictMode: () => useIsStrictMode
|
|
});
|
|
module.exports = __toCommonJS(src_exports);
|
|
|
|
// src/useIsStrictMode.ts
|
|
var React = __toESM(require("react"), 1);
|
|
var getCurrentOwner = () => {
|
|
try {
|
|
return React["".concat(
|
|
"__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE"
|
|
)].A.getOwner();
|
|
} catch {
|
|
}
|
|
try {
|
|
return React["".concat("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED")].ReactCurrentOwner.current;
|
|
} catch {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
console.error(
|
|
"use-disposable: failed to get current fiber, please report this bug to maintainers"
|
|
);
|
|
}
|
|
}
|
|
};
|
|
var REACT_STRICT_MODE_TYPE = /* @__PURE__ */ Symbol.for("react.strict_mode");
|
|
var useIsStrictMode = () => {
|
|
if (process.env.NODE_ENV === "production") {
|
|
return false;
|
|
}
|
|
const isStrictMode = React.useRef(void 0);
|
|
const reactMajorVersion = React.useMemo(() => {
|
|
return Number(React.version.split(".")[0]);
|
|
}, [React.version]);
|
|
if (isNaN(reactMajorVersion) || reactMajorVersion < 18) {
|
|
return false;
|
|
}
|
|
if (isStrictMode.current === void 0) {
|
|
let currentOwner = getCurrentOwner();
|
|
while (currentOwner && currentOwner.return) {
|
|
currentOwner = currentOwner.return;
|
|
if (currentOwner.type === REACT_STRICT_MODE_TYPE || currentOwner.elementType === REACT_STRICT_MODE_TYPE) {
|
|
isStrictMode.current = true;
|
|
}
|
|
}
|
|
}
|
|
return !!isStrictMode.current;
|
|
};
|
|
|
|
// src/useDisposable.ts
|
|
var React4 = __toESM(require("react"), 1);
|
|
|
|
// src/useStrictEffect.ts
|
|
var React2 = __toESM(require("react"), 1);
|
|
var effectSet = /* @__PURE__ */ new WeakSet();
|
|
function useStrictEffect(effect, deps) {
|
|
const currentOwner = getCurrentOwner();
|
|
React2.useEffect(() => {
|
|
if (!effectSet.has(currentOwner)) {
|
|
effectSet.add(currentOwner);
|
|
effect();
|
|
return;
|
|
}
|
|
const dispose = effect();
|
|
return dispose;
|
|
}, deps);
|
|
}
|
|
|
|
// src/useStrictMemo.ts
|
|
var React3 = __toESM(require("react"), 1);
|
|
var memoSet = /* @__PURE__ */ new WeakSet();
|
|
function useStrictMemo(factory, deps) {
|
|
return React3.useMemo(() => {
|
|
const currentOwner = getCurrentOwner();
|
|
if (!memoSet.has(currentOwner)) {
|
|
memoSet.add(currentOwner);
|
|
return null;
|
|
}
|
|
return factory();
|
|
}, deps);
|
|
}
|
|
|
|
// src/useDisposable.ts
|
|
function useDisposable(factory, deps) {
|
|
var _a;
|
|
const isStrictMode = useIsStrictMode() && process.env.NODE_ENV !== "production";
|
|
const useMemo4 = isStrictMode ? useStrictMemo : React4.useMemo;
|
|
const useEffect3 = isStrictMode ? useStrictEffect : React4.useEffect;
|
|
const [disposable, dispose] = (_a = useMemo4(() => factory(), deps)) != null ? _a : [
|
|
null,
|
|
() => null
|
|
];
|
|
useEffect3(() => {
|
|
return dispose;
|
|
}, deps);
|
|
return disposable;
|
|
}
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
useDisposable,
|
|
useIsStrictMode
|
|
});
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIiwgIi4uL3NyYy91c2VJc1N0cmljdE1vZGUudHMiLCAiLi4vc3JjL3VzZURpc3Bvc2FibGUudHMiLCAiLi4vc3JjL3VzZVN0cmljdEVmZmVjdC50cyIsICIuLi9zcmMvdXNlU3RyaWN0TWVtby50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgdXNlSXNTdHJpY3RNb2RlIH0gZnJvbSBcIi4vdXNlSXNTdHJpY3RNb2RlXCI7XG5leHBvcnQgeyB1c2VEaXNwb3NhYmxlIH0gZnJvbSBcIi4vdXNlRGlzcG9zYWJsZVwiO1xuZXhwb3J0IHR5cGUgeyBEaXNwb3NhYmxlRmFjdG9yeSB9IGZyb20gXCIuL3R5cGVzXCI7XG4iLCAiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogQHJldHVybnMgQ3VycmVudCByZWFjdCBmaWJlciBiZWluZyByZW5kZXJlZFxuICovXG5leHBvcnQgY29uc3QgZ2V0Q3VycmVudE93bmVyID0gKCkgPT4ge1xuICAvLyBOb3RlOiBTdHJpbmcgY29uY2F0ZW5hdGlvbiBpcyB1c2VkIHRvIHByZXZlbnQgYnVuZGxlcnMgdG8gY29tcGxhaW4gd2l0aCBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBSZWFjdFxuICB0cnkge1xuICAgIC8vIFJlYWN0IDE5XG4gICAgLy8gdXNpbmcgcmVhY3QgaW50ZXJuYWxzXG4gICAgcmV0dXJuIChSZWFjdCBhcyBhbnkpW1xuICAgICAgXCJcIi5jb25jYXQoXG4gICAgICAgIFwiX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFXCIsXG4gICAgICApXG4gICAgXS5BLmdldE93bmVyKCk7XG4gIH0gY2F0Y2gge31cblxuICB0cnkge1xuICAgIC8vIFJlYWN0IDwxOFxuICAgIC8vIHVzaW5nIHJlYWN0IGludGVybmFsc1xuICAgIHJldHVybiAoUmVhY3QgYXMgYW55KVtcbiAgICAgIFwiXCIuY29uY2F0KFwiX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRURcIilcbiAgICBdLlJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gIH0gY2F0Y2gge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIFwidXNlLWRpc3Bvc2FibGU6IGZhaWxlZCB0byBnZXQgY3VycmVudCBmaWJlciwgcGxlYXNlIHJlcG9ydCB0aGlzIGJ1ZyB0byBtYWludGFpbmVyc1wiLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSAvKiNfX1BVUkVfXyovIFN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKTtcblxuLyoqXG4gKiBUcmF2ZXJzZXMgdXAgdGhlIFJlYWN0IGZpYmVyIHRyZWUgdG8gZmluZCB0aGUgU3RyaWN0TW9kZSBjb21wb25lbnQuXG4gKiBOb3RlOiBUaGlzIG9ubHkgZGV0ZWN0cyBzdHJpY3QgbW9kZSBmcm9tIFJlYWN0ID49IDE4XG4gKiBodHRwczovL2dpdGh1Yi5jb20vcmVhY3R3Zy9yZWFjdC0xOC9kaXNjdXNzaW9ucy8xOVxuICogQHJldHVybnMgSWYgc3RyaWN0IG1vZGUgaXMgYmVpbmcgdXNlZCBpbiB0aGUgUmVhY3QgdHJlZVxuICovXG5leHBvcnQgY29uc3QgdXNlSXNTdHJpY3RNb2RlID0gKCk6IGJvb2xlYW4gPT4ge1xuICAvLyBUaGlzIGNoZWNrIHZpb2xhdGVzIFJ1bGVzIG9mIEhvb2tzLCBidXQgXCJwcm9jZXNzLmVudi5OT0RFX0VOVlwiIGRvZXMgbm90IGNoYW5nZSBpbiBidW5kbGVcbiAgLy8gb3IgZHVyaW5nIGFwcGxpY2F0aW9uIGxpZmVjeWNsZVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgaXNTdHJpY3RNb2RlID0gUmVhY3QudXNlUmVmPGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IHJlYWN0TWFqb3JWZXJzaW9uID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIE51bWJlcihSZWFjdC52ZXJzaW9uLnNwbGl0KFwiLlwiKVswXSk7XG4gIH0sIFtSZWFjdC52ZXJzaW9uXSk7XG5cbiAgaWYgKGlzTmFOKHJlYWN0TWFqb3JWZXJzaW9uKSB8fCByZWFjdE1ham9yVmVyc2lvbiA8IDE4KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzU3RyaWN0TW9kZS5jdXJyZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgY3VycmVudE93bmVyID0gZ2V0Q3VycmVudE93bmVyKCk7XG4gICAgd2hpbGUgKGN1cnJlbnRPd25lciAmJiBjdXJyZW50T3duZXIucmV0dXJuKSB7XG4gICAgICBjdXJyZW50T3duZXIgPSBjdXJyZW50T3duZXIucmV0dXJuO1xuICAgICAgaWYgKFxuICAgICAgICBjdXJyZW50T3duZXIudHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fFxuICAgICAgICBjdXJyZW50T3duZXIuZWxlbWVudFR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEVcbiAgICAgICkge1xuICAgICAgICBpc1N0cmljdE1vZGUuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICEhaXNTdHJpY3RNb2RlLmN1cnJlbnQ7XG59O1xuIiwgImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBEaXNwb3NhYmxlRmFjdG9yeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyB1c2VJc1N0cmljdE1vZGUgfSBmcm9tIFwiLi91c2VJc1N0cmljdE1vZGVcIjtcbmltcG9ydCB7IHVzZVN0cmljdEVmZmVjdCB9IGZyb20gXCIuL3VzZVN0cmljdEVmZmVjdFwiO1xuaW1wb3J0IHsgdXNlU3RyaWN0TWVtbyB9IGZyb20gXCIuL3VzZVN0cmljdE1lbW9cIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzcG9zYWJsZSBpbnN0YW5jZSBkdXJpbmcgKipyZW5kZXIgdGltZSoqIHRoYXQgd2lsbFxuICogYmUgY3JlYXRlZCBvbmNlIChiYXNlZCBvbiBkZXBlbmRlbmN5IGFycmF5KSBldmVuIGR1cmluZyBzdHJpY3QgbW9kZS5cbiAqIFRoZSBkaXNwb3NhYmxlIHdpbGwgYmUgZGlzcG9zZWQgYmFzZWQgb24gdGhlIGRlcGVuZGVuY3kgYXJyYXkgc2ltaWxhciB0b1xuICogdXNlRWZmZWN0LlxuICpcbiAqIFx1MjZBMFx1RkUwRiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCAqKm9uY2UqKiBwZXIgY29tcG9uZW50XG4gKiBAcGFyYW0gZmFjdG9yeSAtIGZhY3RvcnkgZm9yIGRpc3Bvc2FibGUgYW5kIGl0cyBkaXNwb3NlIGZ1bmN0aW9uXG4gKiBAcGFyYW0gZGVwcyAtIFNpbWlsYXIgdG8gYSBSZWFjdCBkZXBlbmRlbmN5IGFycmF5XG4gKiBAcmV0dXJucyAtIFRoZSBkaXNwb3NhYmxlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VEaXNwb3NhYmxlPFRJbnN0YW5jZT4oXG4gIGZhY3Rvcnk6IERpc3Bvc2FibGVGYWN0b3J5PFRJbnN0YW5jZT4sXG4gIGRlcHM6IGFueVtdLFxuKSB7XG4gIC8vIEluIHByb2R1Y3Rpb24sIHN0cmljdCBtb2RlIGRvZXMgbm90IHJlcXVpcmUgc3BlY2lhbCBoYW5kbGluZ1xuICBjb25zdCBpc1N0cmljdE1vZGUgPVxuICAgIHVzZUlzU3RyaWN0TW9kZSgpICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIjtcblxuICBjb25zdCB1c2VNZW1vID0gaXNTdHJpY3RNb2RlID8gdXNlU3RyaWN0TWVtbyA6IFJlYWN0LnVzZU1lbW87XG4gIGNvbnN0IHVzZUVmZmVjdCA9IGlzU3RyaWN0TW9kZSA/IHVzZVN0cmljdEVmZmVjdCA6IFJlYWN0LnVzZUVmZmVjdDtcblxuICBjb25zdCBbZGlzcG9zYWJsZSwgZGlzcG9zZV0gPSB1c2VNZW1vKCgpID0+IGZhY3RvcnkoKSwgZGVwcykgPz8gW1xuICAgIG51bGwsXG4gICAgKCkgPT4gbnVsbCxcbiAgXTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZGlzcG9zZTtcbiAgfSwgZGVwcyk7XG5cbiAgcmV0dXJuIGRpc3Bvc2FibGU7XG59XG4iLCAiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBnZXRDdXJyZW50T3duZXIgfSBmcm9tIFwiLi91c2VJc1N0cmljdE1vZGVcIjtcblxuLy8gd2Uga25vdyBzdHJpY3QgbW9kZSB3aWxsIHJlbmRlciB1c2VNZW1vIGZhY29yeSB0d2ljZVxuLy8ga2VlcCBhIHdlYWsgc2V0IHRvIGRldGVjdCB3aGVuIHRoZSBzZWNvbmQgcmVuZGVyIGhhcHBlbnNcbmNvbnN0IGVmZmVjdFNldCA9IG5ldyBXZWFrU2V0KCk7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTdHJpY3RFZmZlY3QoXG4gIGVmZmVjdDogKCkgPT4gKCkgPT4gdm9pZCxcbiAgZGVwczogUmVhY3QuRGVwZW5kZW5jeUxpc3QgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgY3VycmVudE93bmVyID0gZ2V0Q3VycmVudE93bmVyKCk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlZmZlY3RTZXQuaGFzKGN1cnJlbnRPd25lcikpIHtcbiAgICAgIGVmZmVjdFNldC5hZGQoY3VycmVudE93bmVyKTtcbiAgICAgIGVmZmVjdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpc3Bvc2UgPSBlZmZlY3QoKTtcbiAgICByZXR1cm4gZGlzcG9zZTtcbiAgfSwgZGVwcyk7XG59XG4iLCAiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBnZXRDdXJyZW50T3duZXIgfSBmcm9tIFwiLi91c2VJc1N0cmljdE1vZGVcIjtcblxuLy8gd2Uga25vdyBzdHJpY3QgbW9kZSB3aWxsIHJlbmRlciB1c2VNZW1vIGZhY29yeSB0d2ljZVxuLy8ga2VlcCBhIHdlYWsgc2V0IHRvIGRldGVjdCB3aGVuIHRoZSBzZWNvbmQgcmVuZGVyIGhhcHBlbnNcbmNvbnN0IG1lbW9TZXQgPSBuZXcgV2Vha1NldCgpO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlU3RyaWN0TWVtbzxUTWVtb2l6ZWQ+KFxuICBmYWN0b3J5OiAoKSA9PiBhbnksXG4gIGRlcHM6IFJlYWN0LkRlcGVuZGVuY3lMaXN0IHwgdW5kZWZpbmVkLFxuKTogVE1lbW9pemVkIHwgbnVsbCB7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50T3duZXIgPSBnZXRDdXJyZW50T3duZXIoKTtcbiAgICBpZiAoIW1lbW9TZXQuaGFzKGN1cnJlbnRPd25lcikpIHtcbiAgICAgIG1lbW9TZXQuYWRkKGN1cnJlbnRPd25lcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeSgpO1xuICB9LCBkZXBzKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDQUEsWUFBdUI7QUFLaEIsSUFBTSxrQkFBa0IsTUFBTTtBQUVuQyxNQUFJO0FBR0YsV0FBUSxNQUNOLEdBQUc7QUFBQSxNQUNEO0FBQUEsSUFDRixDQUNGLEVBQUUsRUFBRSxTQUFTO0FBQUEsRUFDZixRQUFRO0FBQUEsRUFBQztBQUVULE1BQUk7QUFHRixXQUFRLE1BQ04sR0FBRyxPQUFPLG9EQUFvRCxDQUNoRSxFQUFFLGtCQUFrQjtBQUFBLEVBQ3RCLFFBQVE7QUFDTixRQUFJLFFBQVEsSUFBSSxhQUFhLGNBQWM7QUFDekMsY0FBUTtBQUFBLFFBQ047QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLElBQU0seUJBQXVDLHVCQUFPLElBQUksbUJBQW1CO0FBUXBFLElBQU0sa0JBQWtCLE1BQWU7QUFHNUMsTUFBSSxRQUFRLElBQUksYUFBYSxjQUFjO0FBQ3pDLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxlQUFxQixhQUE0QixNQUFTO0FBQ2hFLFFBQU0sb0JBQTBCLGNBQVEsTUFBTTtBQUM1QyxXQUFPLE9BQWEsY0FBUSxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFBQSxFQUMzQyxHQUFHLENBQU8sYUFBTyxDQUFDO0FBRWxCLE1BQUksTUFBTSxpQkFBaUIsS0FBSyxvQkFBb0IsSUFBSTtBQUN0RCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksYUFBYSxZQUFZLFFBQVc7QUFDdEMsUUFBSSxlQUFlLGdCQUFnQjtBQUNuQyxXQUFPLGdCQUFnQixhQUFhLFFBQVE7QUFDMUMscUJBQWUsYUFBYTtBQUM1QixVQUNFLGFBQWEsU0FBUywwQkFDdEIsYUFBYSxnQkFBZ0Isd0JBQzdCO0FBQ0EscUJBQWEsVUFBVTtBQUFBLE1BQ3pCO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPLENBQUMsQ0FBQyxhQUFhO0FBQ3hCOzs7QUN0RUEsSUFBQUEsU0FBdUI7OztBQ0F2QixJQUFBQyxTQUF1QjtBQUt2QixJQUFNLFlBQVksb0JBQUksUUFBUTtBQUV2QixTQUFTLGdCQUNkLFFBQ0EsTUFDQTtBQUNBLFFBQU0sZUFBZSxnQkFBZ0I7QUFDckMsRUFBTSxpQkFBVSxNQUFNO0FBQ3BCLFFBQUksQ0FBQyxVQUFVLElBQUksWUFBWSxHQUFHO0FBQ2hDLGdCQUFVLElBQUksWUFBWTtBQUMxQixhQUFPO0FBQ1A7QUFBQSxJQUNGO0FBRUEsVUFBTSxVQUFVLE9BQU87QUFDdkIsV0FBTztBQUFBLEVBQ1QsR0FBRyxJQUFJO0FBQ1Q7OztBQ3RCQSxJQUFBQyxTQUF1QjtBQUt2QixJQUFNLFVBQVUsb0JBQUksUUFBUTtBQUVyQixTQUFTLGNBQ2QsU0FDQSxNQUNrQjtBQUNsQixTQUFhLGVBQVEsTUFBTTtBQUN6QixVQUFNLGVBQWUsZ0JBQWdCO0FBQ3JDLFFBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxHQUFHO0FBQzlCLGNBQVEsSUFBSSxZQUFZO0FBQ3hCLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxRQUFRO0FBQUEsRUFDakIsR0FBRyxJQUFJO0FBQ1Q7OztBRkhPLFNBQVMsY0FDZCxTQUNBLE1BQ0E7QUFwQkY7QUFzQkUsUUFBTSxlQUNKLGdCQUFnQixLQUFLLFFBQVEsSUFBSSxhQUFhO0FBRWhELFFBQU1DLFdBQVUsZUFBZSxnQkFBc0I7QUFDckQsUUFBTUMsYUFBWSxlQUFlLGtCQUF3QjtBQUV6RCxRQUFNLENBQUMsWUFBWSxPQUFPLEtBQUksS0FBQUQsU0FBUSxNQUFNLFFBQVEsR0FBRyxJQUFJLE1BQTdCLFlBQWtDO0FBQUEsSUFDOUQ7QUFBQSxJQUNBLE1BQU07QUFBQSxFQUNSO0FBQ0EsRUFBQUMsV0FBVSxNQUFNO0FBQ2QsV0FBTztBQUFBLEVBQ1QsR0FBRyxJQUFJO0FBRVAsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogWyJSZWFjdCIsICJSZWFjdCIsICJSZWFjdCIsICJ1c2VNZW1vIiwgInVzZUVmZmVjdCJdCn0K
|