@data-client/rest 0.14.19 → 0.14.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var _pushInstanceProperty = require('core-js-pure/stable/instance/push.js');
4
3
  var endpoint = require('@data-client/endpoint');
5
4
  var pathToRegexp = require('path-to-regexp');
6
5
 
@@ -51,7 +50,7 @@ function paginatedMerge(existing, incoming) {
51
50
  const existingSet = new Set(existing);
52
51
  const mergedList = [...existing];
53
52
  for (const pk of incoming) {
54
- if (!existingSet.has(pk)) _pushInstanceProperty(mergedList).call(mergedList, pk);
53
+ if (!existingSet.has(pk)) mergedList.push(pk);
55
54
  }
56
55
  return mergedList;
57
56
  }
@@ -308,7 +307,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
308
307
  get push() {
309
308
  return this.extend({
310
309
  method: 'POST',
311
- schema: extractCollection(this.schema, s => _pushInstanceProperty(s)),
310
+ schema: extractCollection(this.schema, s => s.push),
312
311
  name: this.name + '.create'
313
312
  });
314
313
  }
@@ -405,7 +404,7 @@ This warning will not show in production.`);
405
404
  get,
406
405
  getList,
407
406
  // TODO(deprecated): remove this once we remove creates
408
- create: _pushInstanceProperty(getList).extend({
407
+ create: getList.push.extend({
409
408
  name: getName('create')
410
409
  }),
411
410
  update: new Endpoint({
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Rest={})}(this,(function(t){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},e.apply(null,arguments)}function r(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var n=0;function i(t){return"__private_"+n+++"_"+t}var o,u,s,c,a,f,h,l,p="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function d(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function m(){return u?o:(u=1,o=function(t){try{return!!t()}catch(t){return!0}})}function y(){return c?s:(c=1,s=!m()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function v(){if(f)return a;f=1;var t=y(),e=Function.prototype,r=e.call,n=t&&e.bind.bind(r,r);return a=t?n:function(t){return function(){return r.apply(t,arguments)}},a}function g(){return l?h:(l=1,h=v()({}.isPrototypeOf))}var b,w,O,E,S,j,x,k,A,P,T={};function _(){if(w)return b;w=1;var t=function(t){return t&&t.Math===Math&&t};return b=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof p&&p)||t("object"==typeof b&&b)||function(){return this}()||Function("return this")()}function R(){if(E)return O;E=1;var t=y(),e=Function.prototype,r=e.apply,n=e.call;return O="object"==typeof Reflect&&Reflect.apply||(t?n.bind(r):function(){return n.apply(r,arguments)}),O}function C(){if(j)return S;j=1;var t=v(),e=t({}.toString),r=t("".slice);return S=function(t){return r(e(t),8,-1)}}function N(){if(k)return x;k=1;var t=C(),e=v();return x=function(r){if("Function"===t(r))return e(r)}}function z(){if(P)return A;P=1;var t="object"==typeof document&&document.all;return A=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var M,K,$,F,I={};function D(){return K?M:(K=1,M=!m()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function L(){if(F)return $;F=1;var t=y(),e=Function.prototype.call;return $=t?e.bind(e):function(){return e.apply(e,arguments)},$}var U,q,V,W,G,J,H,B,Q,Y,X,Z,tt,et,rt,nt,it,ot,ut,st,ct,at,ft,ht,lt,pt,dt,mt,yt,vt,gt,bt,wt,Ot,Et,St={};function jt(){if(U)return St;U=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,r=e&&!t.call({1:2},1);return St.f=r?function(t){var r=e(this,t);return!!r&&r.enumerable}:t,St}function xt(){return V?q:(V=1,q=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function kt(){if(G)return W;G=1;var t=v(),e=m(),r=C(),n=Object,i=t("".split);return W=e((function(){return!n("z").propertyIsEnumerable(0)}))?function(t){return"String"===r(t)?i(t,""):n(t)}:n}function At(){return H?J:(H=1,J=function(t){return null==t})}function Pt(){if(Q)return B;Q=1;var t=At(),e=TypeError;return B=function(r){if(t(r))throw new e("Can't call method on "+r);return r}}function Tt(){if(X)return Y;X=1;var t=kt(),e=Pt();return Y=function(r){return t(e(r))}}function _t(){if(tt)return Z;tt=1;var t=z();return Z=function(e){return"object"==typeof e?null!==e:t(e)}}function Rt(){return rt?et:(rt=1,et={})}function Ct(){if(it)return nt;it=1;var t=Rt(),e=_(),r=z(),n=function(t){return r(t)?t:void 0};return nt=function(r,i){return arguments.length<2?n(t[r])||n(e[r]):t[r]&&t[r][i]||e[r]&&e[r][i]},nt}function Nt(){if(ut)return ot;ut=1;var t=_().navigator,e=t&&t.userAgent;return ot=e?String(e):""}function zt(){if(ct)return st;ct=1;var t,e,r=_(),n=Nt(),i=r.process,o=r.Deno,u=i&&i.versions||o&&o.version,s=u&&u.v8;return s&&(e=(t=s.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&n&&(!(t=n.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=n.match(/Chrome\/(\d+)/))&&(e=+t[1]),st=e}function Mt(){if(ft)return at;ft=1;var t=zt(),e=m(),r=_().String;return at=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!r(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41}))}function Kt(){return lt?ht:(lt=1,ht=Mt()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function $t(){if(dt)return pt;dt=1;var t=Ct(),e=z(),r=g(),n=Object;return pt=Kt()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&r(o.prototype,n(i))}}function Ft(){if(yt)return mt;yt=1;var t=String;return mt=function(e){try{return t(e)}catch(t){return"Object"}}}function It(){if(gt)return vt;gt=1;var t=z(),e=Ft(),r=TypeError;return vt=function(n){if(t(n))return n;throw new r(e(n)+" is not a function")}}function Dt(){if(wt)return bt;wt=1;var t=It(),e=At();return bt=function(r,n){var i=r[n];return e(i)?void 0:t(i)}}function Lt(){if(Et)return Ot;Et=1;var t=L(),e=z(),r=_t(),n=TypeError;return Ot=function(i,o){var u,s;if("string"===o&&e(u=i.toString)&&!r(s=t(u,i)))return s;if(e(u=i.valueOf)&&!r(s=t(u,i)))return s;if("string"!==o&&e(u=i.toString)&&!r(s=t(u,i)))return s;throw new n("Can't convert object to primitive value")}}var Ut,qt,Vt,Wt,Gt,Jt,Ht,Bt,Qt,Yt,Xt,Zt,te,ee,re,ne,ie,oe,ue,se,ce,ae,fe,he,le,pe,de,me,ye={exports:{}};function ve(){return qt?Ut:(qt=1,Ut=!0)}function ge(){if(Wt)return Vt;Wt=1;var t=_(),e=Object.defineProperty;return Vt=function(r,n){try{e(t,r,{value:n,configurable:!0,writable:!0})}catch(e){t[r]=n}return n}}function be(){if(Gt)return ye.exports;Gt=1;var t=ve(),e=_(),r=ge(),n="__core-js_shared__",i=ye.exports=e[n]||r(n,{});return(i.versions||(i.versions=[])).push({version:"3.40.0",mode:t?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"}),ye.exports}function we(){if(Ht)return Jt;Ht=1;var t=be();return Jt=function(e,r){return t[e]||(t[e]=r||{})}}function Oe(){if(Qt)return Bt;Qt=1;var t=Pt(),e=Object;return Bt=function(r){return e(t(r))}}function Ee(){if(Xt)return Yt;Xt=1;var t=v(),e=Oe(),r=t({}.hasOwnProperty);return Yt=Object.hasOwn||function(t,n){return r(e(t),n)}}function Se(){if(te)return Zt;te=1;var t=v(),e=0,r=Math.random(),n=t(1..toString);return Zt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+n(++e+r,36)}}function je(){if(re)return ee;re=1;var t=_(),e=we(),r=Ee(),n=Se(),i=Mt(),o=Kt(),u=t.Symbol,s=e("wks"),c=o?u.for||u:u&&u.withoutSetter||n;return ee=function(t){return r(s,t)||(s[t]=i&&r(u,t)?u[t]:c("Symbol."+t)),s[t]}}function xe(){if(ie)return ne;ie=1;var t=L(),e=_t(),r=$t(),n=Dt(),i=Lt(),o=TypeError,u=je()("toPrimitive");return ne=function(s,c){if(!e(s)||r(s))return s;var a,f=n(s,u);if(f){if(void 0===c&&(c="default"),a=t(f,s,c),!e(a)||r(a))return a;throw new o("Can't convert object to primitive value")}return void 0===c&&(c="number"),i(s,c)}}function ke(){if(ue)return oe;ue=1;var t=xe(),e=$t();return oe=function(r){var n=t(r,"string");return e(n)?n:n+""}}function Ae(){if(ce)return se;ce=1;var t=_(),e=_t(),r=t.document,n=e(r)&&e(r.createElement);return se=function(t){return n?r.createElement(t):{}}}function Pe(){if(fe)return ae;fe=1;var t=D(),e=m(),r=Ae();return ae=!t&&!e((function(){return 7!==Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))}function Te(){if(he)return I;he=1;var t=D(),e=L(),r=jt(),n=xt(),i=Tt(),o=ke(),u=Ee(),s=Pe(),c=Object.getOwnPropertyDescriptor;return I.f=t?c:function(t,a){if(t=i(t),a=o(a),s)try{return c(t,a)}catch(t){}if(u(t,a))return n(!e(r.f,t,a),t[a])},I}function _e(){if(pe)return le;pe=1;var t=m(),e=z(),r=/#|\.prototype\./,n=function(r,n){var c=o[i(r)];return c===s||c!==u&&(e(n)?t(n):!!n)},i=n.normalize=function(t){return String(t).replace(r,".").toLowerCase()},o=n.data={},u=n.NATIVE="N",s=n.POLYFILL="P";return le=n}function Re(){if(me)return de;me=1;var t=N(),e=It(),r=y(),n=t(t.bind);return de=function(t,i){return e(t),void 0===i?t:r?n(t,i):function(){return t.apply(i,arguments)}},de}var Ce,Ne,ze,Me,Ke,$e,Fe,Ie,De,Le,Ue,qe,Ve,We,Ge,Je,He,Be,Qe,Ye,Xe,Ze,tr,er,rr,nr,ir,or,ur,sr,cr,ar,fr,hr,lr={};function pr(){return Ne?Ce:(Ne=1,Ce=D()&&m()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function dr(){if(Me)return ze;Me=1;var t=_t(),e=String,r=TypeError;return ze=function(n){if(t(n))return n;throw new r(e(n)+" is not an object")}}function mr(){if(Ke)return lr;Ke=1;var t=D(),e=Pe(),r=pr(),n=dr(),i=ke(),o=TypeError,u=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c="enumerable",a="configurable",f="writable";return lr.f=t?r?function(t,e,r){if(n(t),e=i(e),n(r),"function"==typeof t&&"prototype"===e&&"value"in r&&f in r&&!r[f]){var o=s(t,e);o&&o[f]&&(t[e]=r.value,r={configurable:a in r?r[a]:o[a],enumerable:c in r?r[c]:o[c],writable:!1})}return u(t,e,r)}:u:function(t,r,s){if(n(t),r=i(r),n(s),e)try{return u(t,r,s)}catch(t){}if("get"in s||"set"in s)throw new o("Accessors not supported");return"value"in s&&(t[r]=s.value),t},lr}function yr(){if(Fe)return $e;Fe=1;var t=D(),e=mr(),r=xt();return $e=t?function(t,n,i){return e.f(t,n,r(1,i))}:function(t,e,r){return t[e]=r,t}}function vr(){if(De)return Ie;De=1;var t=_(),e=R(),r=N(),n=z(),i=Te().f,o=_e(),u=Rt(),s=Re(),c=yr(),a=Ee(),f=function(t){var r=function r(n,i,o){if(this instanceof r){switch(arguments.length){case 0:return new t;case 1:return new t(n);case 2:return new t(n,i)}return new t(n,i,o)}return e(t,this,arguments)};return r.prototype=t.prototype,r};return Ie=function(e,h){var l,p,d,m,y,v,g,b,w,O=e.target,E=e.global,S=e.stat,j=e.proto,x=E?t:S?t[O]:t[O]&&t[O].prototype,k=E?u:u[O]||c(u,O,{})[O],A=k.prototype;for(m in h)p=!(l=o(E?m:O+(S?".":"#")+m,e.forced))&&x&&a(x,m),v=k[m],p&&(g=e.dontCallGetSet?(w=i(x,m))&&w.value:x[m]),y=p&&g?g:h[m],(l||j||typeof v!=typeof y)&&(b=e.bind&&p?s(y,t):e.wrap&&p?f(y):j&&n(y)?r(y):y,(e.sham||y&&y.sham||v&&v.sham)&&c(b,"sham",!0),c(k,m,b),j&&(a(u,d=O+"Prototype")||c(u,d,{}),c(u[d],m,y),e.real&&A&&(l||!A[m])&&c(A,m,y)))}}function gr(){if(Ue)return Le;Ue=1;var t=Math.ceil,e=Math.floor;return Le=Math.trunc||function(r){var n=+r;return(n>0?e:t)(n)}}function br(){if(Ve)return qe;Ve=1;var t=gr();return qe=function(e){var r=+e;return r!=r||0===r?0:t(r)}}function wr(){if(Ge)return We;Ge=1;var t=br(),e=Math.min;return We=function(r){var n=t(r);return n>0?e(n,9007199254740991):0}}function Or(){if(He)return Je;He=1;var t=wr();return Je=function(e){return t(e.length)}}function Er(){if(Qe)return Be;Qe=1;var t=It(),e=Oe(),r=kt(),n=Or(),i=TypeError,o="Reduce of empty array with no initial value",u=function(u){return function(s,c,a,f){var h=e(s),l=r(h),p=n(h);if(t(c),0===p&&a<2)throw new i(o);var d=u?p-1:0,m=u?-1:1;if(a<2)for(;;){if(d in l){f=l[d],d+=m;break}if(d+=m,u?d<0:p<=d)throw new i(o)}for(;u?d>=0:p>d;d+=m)d in l&&(f=c(f,l[d],d,h));return f}};return Be={left:u(!1),right:u(!0)}}function Sr(){if(Xe)return Ye;Xe=1;var t=m();return Ye=function(e,r){var n=[][e];return!!n&&t((function(){n.call(null,r||function(){return 1},1)}))}}function jr(){if(tr)return Ze;tr=1;var t=_(),e=Nt(),r=C(),n=function(t){return e.slice(0,t.length)===t};return Ze=n("Bun/")?"BUN":n("Cloudflare-Workers")?"CLOUDFLARE":n("Deno/")?"DENO":n("Node.js/")?"NODE":t.Bun&&"string"==typeof Bun.version?"BUN":t.Deno&&"object"==typeof Deno.version?"DENO":"process"===r(t.process)?"NODE":t.window&&t.document?"BROWSER":"REST"}function xr(){return rr?er:(rr=1,er="NODE"===jr())}function kr(){if(or)return ir;or=1;var t=_(),e=Rt();return ir=function(r,n){var i=e[r+"Prototype"],o=i&&i[n];if(o)return o;var u=t[r],s=u&&u.prototype;return s&&s[n]}}function Ar(){return sr?ur:(sr=1,function(){if(nr)return T;nr=1;var t=vr(),e=Er().left,r=Sr(),n=zt();t({target:"Array",proto:!0,forced:!xr()&&n>79&&n<83||!r("reduce")},{reduce:function(t){var r=arguments.length;return e(this,t,r,r>1?arguments[1]:void 0)}})}(),ur=kr()("Array","reduce"))}function Pr(){if(ar)return cr;ar=1;var t=g(),e=Ar(),r=Array.prototype;return cr=function(n){var i=n.reduce;return n===r||t(r,n)&&i===r.reduce?e:i}}function Tr(){return hr?fr:(hr=1,fr=Pr())}var _r=d(Tr());function Rr(t){return!("function"!=typeof t.hasOwnProperty||!(Object.hasOwnProperty.call(t,"__ownerID")||t._map&&Object.hasOwnProperty.call(t._map,"__ownerID")))}class Cr{constructor(t,e){this.schema=void 0,e&&(this._schemaAttribute="string"==typeof e?t=>t[e]:e),this.define(t)}get isSingleSchema(){return!this._schemaAttribute}define(t){"_schemaAttribute"in t&&!this._schemaAttribute?(this.schema=t.schema,this._schemaAttribute=t._schemaAttribute):this.schema=t}getSchemaAttribute(t,e,r){return!this.isSingleSchema&&this._schemaAttribute(t,e,r)}inferSchema(t,e,r){if(this.isSingleSchema)return this.schema;const n=this.getSchemaAttribute(t,e,r);return this.schema[n]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(t,e,r,n,i){if(!t)return t;const o=this.inferSchema(t,e,r);if(!o)return t;const u=i(o,t,e,r,n);return this.isSingleSchema||null==u?u:{id:u,schema:this.getSchemaAttribute(t,e,r)}}denormalizeValue(t,e){const r=!this.isSingleSchema&&t&&(Rr(t)?t.get("schema"):t.schema);if(!this.isSingleSchema&&!r){if("object"==typeof t&&null!==t){const r=this.inferSchema(t,void 0,void 0);if(r)return e(r,t)}return t}const n=this.isSingleSchema?void 0:Rr(t)?t.get("id"):t.id;return e(this.isSingleSchema?this.schema:this.schema[r],n||t)}}class Nr extends Cr{normalize(t,r,n,i,o,u,s,c){var a;return _r(a=Object.keys(t)).call(a,((r,n,u)=>{const s=t[n];return null!=s?e({},r,{[n]:this.normalizeValue(s,t,n,i,o)}):r}),{})}denormalize(t,r,n){var i;return _r(i=Object.keys(t)).call(i,((r,i)=>{const o=t[i],u=this.denormalizeValue(o,n);return u&&"symbol"!=typeof u?e({},r,{[i]:u}):r}),{})}queryKey(t,e,r,n){}}const zr=t=>void 0!==t&&"symbol"!=typeof t;class Mr extends Cr{normalize(t,e,r,n,i,o,u,s){const c=(t=>Array.isArray(t)?t:Object.keys(t).map((e=>t[e])))(t);return c.map(((t,o)=>this.normalizeValue(t,e,r,n,i)))}denormalize(t,e,r){return t.map?t.map((t=>this.denormalizeValue(t,r))).filter(zr):t}queryKey(t,e,r,n){}toJSON(){return[this.schema]}}const Kr=Symbol("INVALID");function $r(t,r,n,i){if(Rr(r))return function(t,e,r){var n;let i;const o=_r(n=Object.keys(t)).call(n,((e,n)=>{const o=`${n}`,u=r(t[o],e.get(o));return"symbol"==typeof u&&(i=u),e.has(o)?e.set(o,u):e}),e);return null!=i?i:o}(t,r,i);const o=e({},r);for(const e of Object.keys(t)){const r=i(t[e],o[e]);if(void 0!==o[e]&&(o[e]=r),"symbol"==typeof r)return r}return o}class Fr{constructor(t){this.schema=void 0,this.define(t)}define(t){var r;this.schema=_r(r=Object.keys(t)).call(r,((r,n)=>{const i=t[n];return e({},r,{[n]:i})}),this.schema||{})}normalize(...t){return((t,r,n,i,o,u)=>{const s=e({},r);return Object.keys(t).forEach((e=>{const n=t[e],i=u(n,r[e],r,e,o);void 0===i?delete s[e]:s[e]=i})),s})(this.schema,...t)}denormalize(t,e,r){return $r(this.schema,t,0,r)}queryKey(t,e,r,n){return function(t,e,r,n,i){const o={};return Object.keys(t).forEach((u=>{o[u]=r(t[u],e,n,i)})),o}(this.schema,t,e,r,n)}}var Ir,Dr,Lr,Ur,qr,Vr,Wr,Gr,Jr,Hr={};function Br(){if(Dr)return Ir;Dr=1;var t=br(),e=Math.max,r=Math.min;return Ir=function(n,i){var o=t(n);return o<0?e(o+i,0):r(o,i)}}function Qr(){if(Ur)return Lr;Ur=1;var t=Tt(),e=Br(),r=Or(),n=function(n){return function(i,o,u){var s=t(i),c=r(s);if(0===c)return!n&&-1;var a,f=e(u,c);if(n&&o!=o){for(;c>f;)if((a=s[f++])!=a)return!0}else for(;c>f;f++)if((n||f in s)&&s[f]===o)return n||f||0;return!n&&-1}};return Lr={includes:n(!0),indexOf:n(!1)}}function Yr(){return Vr?qr:(Vr=1,qr=function(){})}function Xr(){return Jr?Gr:(Jr=1,function(){if(Wr)return Hr;Wr=1;var t=vr(),e=Qr().includes,r=m(),n=Yr();t({target:"Array",proto:!0,forced:r((function(){return!Array(1).includes()}))},{includes:function(t){return e(this,t,arguments.length>1?arguments[1]:void 0)}}),n("includes")}(),Gr=kr()("Array","includes"))}var Zr,tn,en,rn,nn,on,un,sn,cn,an,fn,hn,ln,pn,dn,mn,yn,vn,gn,bn={};function wn(){if(tn)return Zr;tn=1;var t=_t(),e=C(),r=je()("match");return Zr=function(n){var i;return t(n)&&(void 0!==(i=n[r])?!!i:"RegExp"===e(n))}}function On(){if(rn)return en;rn=1;var t=wn(),e=TypeError;return en=function(r){if(t(r))throw new e("The method doesn't accept regular expressions");return r}}function En(){if(on)return nn;on=1;var t={};return t[je()("toStringTag")]="z",nn="[object z]"===String(t)}function Sn(){if(sn)return un;sn=1;var t=En(),e=z(),r=C(),n=je()("toStringTag"),i=Object,o="Arguments"===r(function(){return arguments}());return un=t?r:function(t){var u,s,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=function(t,e){try{return t[e]}catch(t){}}(u=i(t),n))?s:o?r(u):"Object"===(c=r(u))&&e(u.callee)?"Arguments":c}}function jn(){if(an)return cn;an=1;var t=Sn(),e=String;return cn=function(r){if("Symbol"===t(r))throw new TypeError("Cannot convert a Symbol value to a string");return e(r)}}function xn(){if(hn)return fn;hn=1;var t=je()("match");return fn=function(e){var r=/./;try{"/./"[e](r)}catch(n){try{return r[t]=!1,"/./"[e](r)}catch(t){}}return!1}}function kn(){return dn?pn:(dn=1,function(){if(ln)return bn;ln=1;var t=vr(),e=v(),r=On(),n=Pt(),i=jn(),o=xn(),u=e("".indexOf);t({target:"String",proto:!0,forced:!o("includes")},{includes:function(t){return!!~u(i(n(this)),i(r(t)),arguments.length>1?arguments[1]:void 0)}})}(),pn=kr()("String","includes"))}function An(){if(yn)return mn;yn=1;var t=g(),e=Xr(),r=kn(),n=Array.prototype,i=String.prototype;return mn=function(o){var u=o.includes;return o===n||t(n,o)&&u===n.includes?e:"string"==typeof o||o===i||t(i,o)&&u===i.includes?r:u}}function Pn(){return gn?vn:(gn=1,vn=An())}var Tn=d(Pn());const _n=(t,e)=>[...t,...e],Rn=(t,e)=>[...e,...t],Cn=(t,r)=>e({},t,r),Nn=t=>[...t],zn=t=>e({},t);class Mn{addWith(t,e){return Kn(this,t,e)}createCollectionFilter(...t){return e=>Object.entries(e).every((([e,r])=>{var n;return this.nonFilterArgumentKeys(e)||`${t[0][e]}`===r||`${null==(n=t[1])?void 0:n[e]}`===r}))}nonFilterArgumentKeys(t){return t.startsWith("order")}constructor(t,r){if(this.schema=Array.isArray(t)?new Mr(t[0]):t,r?"nestKey"in r?this.nestKey=r.nestKey:this.argsKey="argsKey"in r?r.argsKey:t=>e({},t):this.argsKey=t=>e({},t),this.key=function(t){if(t instanceof Mr)return`[${t.schemaKey()}]`;if(t instanceof Nr)return`{${t.schemaKey()}}`;return`(${t.schemaKey()})`}(this.schema),null!=r&&r.nonFilterArgumentKeys){const{nonFilterArgumentKeys:t}=r;"function"==typeof t?this.nonFilterArgumentKeys=t:t instanceof RegExp?this.nonFilterArgumentKeys=e=>t.test(e):this.nonFilterArgumentKeys=e=>Tn(t).call(t,e)}else null!=r&&r.createCollectionFilter&&(this.createCollectionFilter=r.createCollectionFilter.bind(this));this.schema instanceof Mr?(this.createIfValid=Nn,this.push=Kn(this,_n),this.unshift=Kn(this,Rn)):t instanceof Nr&&(this.createIfValid=zn,this.assign=Kn(this,Cn))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(t,e,r,n){const i=this.argsKey?this.argsKey(...n):this.nestKey(e,r);for(const t in i){var o;Tn(o=["number","boolean"]).call(o,typeof i[t])&&(i[t]=`${i[t]}`)}return function(t){const e=Object.keys(t).sort(),r={};for(const n of e)r[n]=t[n];return JSON.stringify(r)}(i)}normalize(t,e,r,n,i,o,u,s){const c=this.schema.normalize(t,e,r,n,i,o,u,s),a=this.pk(c,e,r,n);return o(this,c,a),a}merge(t,e){return e}shouldReorder(t,e,r,n){return e.fetchedAt<t.fetchedAt}mergeWithStore(t,e,r,n){return this.shouldReorder(t,e,r,n)?this.merge(n,r):this.merge(r,n)}mergeMetaWithStore(t,e,r,n){return this.shouldReorder(t,e,r,n)?t:e}queryKey(t,e,r,n){if(this.argsKey){const e=this.pk(void 0,void 0,"",t);if(r(this.key,e))return e}}denormalize(t,e,r){return this.schema.denormalize(t,e,r)}}function Kn(t,e,r){const n={merge:{value:e},normalize:{value:Fn},queryKey:{value:$n}};return t.schema instanceof Mr&&(n.createIfValid={value:In},n.denormalize={value:Dn}),r&&(n.createCollectionFilter={value:r}),Object.create(t,n)}function $n(){}function Fn(t,e,r,n,i,o,u,s){const c=this.schema.normalize(this.schema instanceof Mr&&!Array.isArray(t)?[t]:t,e,r,n,i,o,u,s),a=this.createCollectionFilter(...n),f=u(this.key);return f&&Object.keys(f).forEach((t=>{a(JSON.parse(t))&&o(this,c,t)})),c}function In(t){return Array.isArray(t)?[...t]:e({},t)}function Dn(t,e,r){return Array.isArray(t)?this.schema.denormalize(t,e,r):this.schema.denormalize([t],e,r)[0]}function Ln(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(e.includes(n))continue;r[n]=t[n]}return r}var Un,qn,Vn,Wn,Gn;function Jn(){return Vn?qn:(Vn=1,Un||(Un=1,vr()({target:"Object",stat:!0},{hasOwn:Ee()})),qn=Rt().Object.hasOwn)}function Hn(){return Gn?Wn:(Gn=1,Wn=Jn())}var Bn=d(Hn());const Qn=["pk","schema","key"];function Yn(t,r={}){class n extends t{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(t,e,r,n){return this.prototype.pk.call(t,e,r,n)}static shouldUpdate(t,e,r,n){return!0}static shouldReorder(t,e,r,n){return e.fetchedAt<t.fetchedAt}static merge(t,r){return e({},t,r)}static mergeWithStore(t,e,r,n){return this.shouldUpdate(t,e,r,n)?typeof n!=typeof r?n:this.shouldReorder(t,e,r,n)?this.merge(n,r):this.merge(r,n):r}static mergeMetaWithStore(t,e,r,n){return this.shouldReorder(t,e,r,n)?t:e}static fromJS(t={}){const e=new this(t);return Object.assign(e,t),e}static createIfValid(t){if(!this.validate(t))return this.fromJS(t)}static process(t,r,n,i){return e({},t)}static normalize(t,e,r,n,i,o,u,s){const c=this.process(t,e,r,n);let a=this.pk(c,e,r,n);if(a=void 0===a||""===a||"undefined"===a?`MISS-${Math.random()}`:`${a}`,s(this.key,a,t))return a;return function(t){if(t){const e=new Error(t);throw e.status=400,e}}(this.validate(c)),Object.keys(this.schema).forEach((t=>{Bn(c,t)&&(c[t]=i(this.schema[t],c[t],c,t,n))})),o(this,c,a),a}static validate(t){}static queryKey(t,e,r,n){if(!t[0])return;const i=function(t,e,r){var n;if(Tn(n=["string","number"]).call(n,typeof e[0]))return`${e[0]}`;const i=t.pk(e[0],void 0,"",e);if(void 0!==i&&""!==i)return i;const o=(u=e[0],s=t.indexes,s?s.find((t=>Bn(u,t))):void 0);var u,s;if(!o)return;const c=e[0][o];return r(t.key,o,c)[c]}(this,t,n);return r(this.key,i)?i:void 0}static denormalize(t,e,r){if("symbol"==typeof t)return t;for(const e of Object.keys(this.schema)){const n=r(this.schema[e],t[e]);if("symbol"==typeof n){if(this.defaults[e])return n;t[e]=void 0}else t[e]=n}return t}static get defaults(){return Bn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const i=Ln(r,Qn);if(Object.assign(n,i),"schema"in r?n.schema=r.schema:t.schema||(n.schema={}),"pk"in r?"function"==typeof r.pk?n.prototype.pk=function(t,e){return r.pk(this,t,e)}:n.prototype.pk=function(){return this[r.pk]}:"function"!=typeof t.prototype.pk&&(n.prototype.pk=function(){return this.id}),"key"in r)Object.defineProperty(n,"key",{value:r.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in t)){function o(t){Object.defineProperty(this,"key",{value:t,writable:!0,enumerable:!0,configurable:!0})}const u=function(){return"EntityMixin"===this.name?t.name:this.name},s="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(n,"key",{get:u,set:o,enumerable:!0,configurable:!0}),u.call(this)}:u;Object.defineProperty(n,"key",{get:s,set:o,enumerable:!0,configurable:!0})}return n}var Xn=Object.freeze({__proto__:null,All:class extends Mr{constructor(t,e){super(t,e)}normalize(t,e,r,n,i,o,u,s){super.normalize(t,e,r,n,i,o,u,s)}queryKey(t,e,r,n){if(this.isSingleSchema){const t=r(this.schema.key);return void 0===t?Kr:Object.values(t).map((t=>t&&this.schema.pk(t)))}let i=!1;const o=Object.values(this.schema).flatMap((t=>{const e=r(t.key);return void 0===e?[]:(i=!0,Object.values(e).map((e=>({id:e&&t.pk(e),schema:this.getSchemaAttribute(e,void 0,void 0)}))))}));return i?o:Kr}},Array:Mr,Collection:Mn,Entity:Yn,EntityMixin:Yn,Invalidate:class{constructor(t){this._entity=t}get key(){return this._entity.key}normalize(t,e,r,n,i,o,u,s){const c=this._entity.process(t,e,r,n),a=this._entity.pk(c,e,r,n);return o(this,Kr,a),a}merge(t,e){return e}mergeWithStore(t,e,r,n){return this.merge(r,n)}mergeMetaWithStore(t,e,r,n){return e}queryKey(t,e,r,n){}denormalize(t,e,r){return r(this._entity,t)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Object:Fr,Query:class{constructor(t,e){this.schema=t,this.process=e}normalize(...t){return this.schema.normalize(...t)}denormalize(t,e,r){const n=r(this.schema,t);return"symbol"==typeof n?n:this.process(n,...e)}queryKey(t,e,r,n){return e(this.schema,t,r,n)}},Union:class extends Cr{constructor(t,e){if(!e)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(t,e)}normalize(t,e,r,n,i,o,u,s){return this.normalizeValue(t,e,r,n,i)}denormalize(t,e,r){return this.denormalizeValue(t,r)}queryKey(t,e,r,n){if(!t[0])return;const i=this.getSchemaAttribute(t[0],void 0,""),o=this.schema[i];if(void 0===o)return;const u=e(o,t,r,n);return void 0!==u?{id:u,schema:i}:void 0}},Values:Nr});const Zn=class{};class ti extends(Yn(Zn)){static process(t,e,r,n){return super.process(t,e,r,n)}}var ei;const ri="undefined"!=typeof document;let ni=ri&&!(null!=(ei=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&ei.getAttribute("content"));try{ni||Function()}catch(t){ni=!0,ri&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var ii;class oi extends Function{constructor(t,e){let r,n;return ni?(r=(...t)=>r.fetch(...t),Object.setPrototypeOf(r,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),r=this),t&&(r.fetch=t),e&&"name"in e||!t||!t.name||"anonymous"===t.name||(n=t.name),Object.defineProperty(r,"name",{get(){return n||this.__name},set(t){this.__name=t}}),Object.assign(r,e),r}key(...t){return`${this.name} ${JSON.stringify(t)}`}testKey(t){return t.startsWith(this.name)}bind(t,...e){const r=this.fetch,n=this.key;return this.extend({fetch(){return r.apply(null!=t?t:this,e)},key(){return n.apply(this,e)}})}extend(t){class e extends this.constructor{}return Object.assign(e.prototype,this),new e(t.fetch,t)}}ii=oi,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const t=ii.prototype.key;ii.prototype.key=function(...e){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=t,t.call(this,...e)}}})();const ui=oi;function si(t,e){void 0===e&&(e={});for(var r=function(t){for(var e=[],r=0;r<t.length;){var n=t[r];if("*"!==n&&"+"!==n&&"?"!==n)if("\\"!==n)if("{"!==n)if("}"!==n)if(":"!==n)if("("!==n)e.push({type:"CHAR",index:r,value:t[r++]});else{var i=1,o="";if("?"===t[s=r+1])throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;)if("\\"!==t[s]){if(")"===t[s]){if(0==--i){s++;break}}else if("("===t[s]&&(i++,"?"!==t[s+1]))throw new TypeError("Capturing groups are not allowed at ".concat(s));o+=t[s++]}else o+=t[s++]+t[s++];if(i)throw new TypeError("Unbalanced pattern at ".concat(r));if(!o)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:o}),r=s}else{for(var u="",s=r+1;s<t.length;){var c=t.charCodeAt(s);if(!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||95===c))break;u+=t[s++]}if(!u)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:u}),r=s}else e.push({type:"CLOSE",index:r,value:t[r++]});else e.push({type:"OPEN",index:r,value:t[r++]});else e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});else e.push({type:"MODIFIER",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}(t),n=e.prefixes,i=void 0===n?"./":n,o=e.delimiter,u=void 0===o?"/#?":o,s=[],c=0,a=0,f="",h=function(t){if(a<r.length&&r[a].type===t)return r[a++].value},l=function(t){var e=h(t);if(void 0!==e)return e;var n=r[a],i=n.type,o=n.index;throw new TypeError("Unexpected ".concat(i," at ").concat(o,", expected ").concat(t))},p=function(){for(var t,e="";t=h("CHAR")||h("ESCAPED_CHAR");)e+=t;return e},d=function(t){var e=s[s.length-1],r=t||(e&&"string"==typeof e?e:"");if(e&&!r)throw new TypeError('Must have text between two parameters, missing text after "'.concat(e.name,'"'));return!r||function(t){for(var e=0,r=u;e<r.length;e++){var n=r[e];if(t.indexOf(n)>-1)return!0}return!1}(r)?"[^".concat(ai(u),"]+?"):"(?:(?!".concat(ai(r),")[^").concat(ai(u),"])+?")};a<r.length;){var m=h("CHAR"),y=h("NAME"),v=h("PATTERN");if(y||v){var g=m||"";-1===i.indexOf(g)&&(f+=g,g=""),f&&(s.push(f),f=""),s.push({name:y||c++,prefix:g,suffix:"",pattern:v||d(g),modifier:h("MODIFIER")||""})}else{var b=m||h("ESCAPED_CHAR");if(b)f+=b;else if(f&&(s.push(f),f=""),h("OPEN")){g=p();var w=h("NAME")||"",O=h("PATTERN")||"",E=p();l("CLOSE"),s.push({name:w||(O?c++:""),pattern:w&&!O?d(g):O,prefix:g,suffix:E,modifier:h("MODIFIER")||""})}else l("END")}}return s}function ci(t,e){return function(t,e){void 0===e&&(e={});var r=fi(e),n=e.encode,i=void 0===n?function(t){return t}:n,o=e.validate,u=void 0===o||o,s=t.map((function(t){if("object"==typeof t)return new RegExp("^(?:".concat(t.pattern,")$"),r)}));return function(e){for(var r="",n=0;n<t.length;n++){var o=t[n];if("string"!=typeof o){var c=e?e[o.name]:void 0,a="?"===o.modifier||"*"===o.modifier,f="*"===o.modifier||"+"===o.modifier;if(Array.isArray(c)){if(!f)throw new TypeError('Expected "'.concat(o.name,'" to not repeat, but got an array'));if(0===c.length){if(a)continue;throw new TypeError('Expected "'.concat(o.name,'" to not be empty'))}for(var h=0;h<c.length;h++){var l=i(c[h],o);if(u&&!s[n].test(l))throw new TypeError('Expected all "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));r+=o.prefix+l+o.suffix}}else if("string"!=typeof c&&"number"!=typeof c){if(!a){var p=f?"an array":"a string";throw new TypeError('Expected "'.concat(o.name,'" to be ').concat(p))}}else{l=i(String(c),o);if(u&&!s[n].test(l))throw new TypeError('Expected "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));r+=o.prefix+l+o.suffix}}else r+=o}return r}}(si(t,e),e)}function ai(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function fi(t){return t&&t.sensitive?"":"i"}function hi(t,e,r){return function(t,e,r){void 0===r&&(r={});for(var n=r.strict,i=void 0!==n&&n,o=r.start,u=void 0===o||o,s=r.end,c=void 0===s||s,a=r.encode,f=void 0===a?function(t){return t}:a,h=r.delimiter,l=void 0===h?"/#?":h,p=r.endsWith,d="[".concat(ai(void 0===p?"":p),"]|$"),m="[".concat(ai(l),"]"),y=u?"^":"",v=0,g=t;v<g.length;v++){var b=g[v];if("string"==typeof b)y+=ai(f(b));else{var w=ai(f(b.prefix)),O=ai(f(b.suffix));if(b.pattern)if(w||O)if("+"===b.modifier||"*"===b.modifier){var E="*"===b.modifier?"?":"";y+="(?:".concat(w,"((?:").concat(b.pattern,")(?:").concat(O).concat(w,"(?:").concat(b.pattern,"))*)").concat(O,")").concat(E)}else y+="(?:".concat(w,"(").concat(b.pattern,")").concat(O,")").concat(b.modifier);else{if("+"===b.modifier||"*"===b.modifier)throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));y+="(".concat(b.pattern,")").concat(b.modifier)}else y+="(?:".concat(w).concat(O,")").concat(b.modifier)}}if(c)i||(y+="".concat(m,"?")),y+=r.endsWith?"(?=".concat(d,")"):"$";else{var S=t[t.length-1],j="string"==typeof S?m.indexOf(S[S.length-1])>-1:void 0===S;i||(y+="(?:".concat(m,"(?=").concat(d,"))?")),j||(y+="(?=".concat(m,"|").concat(d,")"))}return new RegExp(y,fi(r))}(si(t,r),0,r)}function li(t,e,r){return t instanceof RegExp?function(t){return t}(t):Array.isArray(t)?function(t,e,r){var n=t.map((function(t){return li(t,e,r).source}));return new RegExp("(?:".concat(n.join("|"),")"),fi(r))}(t,e,r):hi(t,0,r)}function pi(t,r){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof Mn)return r(t);const n=e({},t instanceof Fr?t.schema:t);for(const t in n){if(!n[t])continue;const e=pi(n[t],r);if(e)return e}}function di(t,r){if("object"!=typeof t||void 0===t)return t;if(t instanceof Mn)return r(t);const n=e({},t instanceof Fr?t.schema:t);for(const t in n)n[t]&&(n[t]=di(n[t],r));return n}class mi extends Error{constructor(t){super(`${t.url}: ${t.statusText||`Status not 'ok': ${t.status}`}`),this.name="NetworkError",this.status=t.status,this.response=t}}function yi(t,e){const r=new Set(t),n=[...t];for(const t of e)r.has(t)||n.push(t);return n}const vi=Object.create(null);function gi(t){return t in vi||(vi[t]=ci(t,{encode:encodeURIComponent,validate:!1})),vi[t]}const bi=Object.create(null);function wi(t){return t in bi||(bi[t]=new Set(si(t).map((t=>"string"==typeof t?t:`${t.name}`)))),bi[t]}const Oi=Object.prototype,Ei=Object.getPrototypeOf;var Si=i("hasBody");class ji extends oi{constructor(t){var e;super(null!=(e=t.fetch)?e:async function(...t){const e=r(this,Si)[Si]&&t.length<2?{}:t[0]||{},n=r(this,Si)[Si]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),await this.getRequestInit(n)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,Si,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in t&&!("sideEffect"in t))&&(this.sideEffect="GET"!==t.method&&void 0!==t.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),r(this,Si)[Si]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...t){return`${this.method} ${this.url(r(this,Si)[Si]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=gi(this.path)(t),r=wi(this.path),n={};return Object.keys(t).forEach((e=>{r.has(e)||(n[e]=t[e])})),Object.keys(n).length?`${this.urlPrefix}${e}?${this.searchToString(n)}`:`${this.urlPrefix}${e}`}searchToString(t){return function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(t)}getHeaders(t){return t}async getRequestInit(t){const r=null!==(n=t)&&"object"==typeof n&&Ei(n)===Oi;var n;r&&(t=JSON.stringify(t));const i=e({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!r||(i.headers=e({"Content-Type":"application/json"},i.headers)),i.headers=await this.getHeaders(i.headers),i}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new mi(t);return t})).catch((t=>{throw t instanceof TypeError&&(t.status=500),t}))}parseResponse(t){var e;return 204===t.status?Promise.resolve(null):null!=(e=t.headers.get("content-type"))&&e.includes("json")?t.json().catch((t=>{throw t.status=400,t})):t.text().then((e=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==ji.prototype.process)return e;const r=new mi(t);throw r.status=404,r.message=`Unexpected text response for schema ${this.schema}`,r}))}process(t){return t}errorPolicy(t){return t.status>=500?"soft":void 0}get pathRegex(){return li(this.path)}testKey(t){const e=this.method+" "+this.urlPrefix;if(!t.startsWith(e))return!1;let r=t.lastIndexOf("?");return-1===r&&(r=void 0),this.pathRegex.test(t.substring(e.length,r))}extend(t){class r extends this.constructor{}return Object.assign(r.prototype,this),new r(e({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const r=t;t=t=>{let n=e({},(function(t){if(null==t)throw new TypeError("Cannot destructure "+t)}(t),t));return delete n[r],[n]}}let r=!1;const n=di(this.schema,(e=>(r=!0,function(t,e){return Object.create(e,{name:{value:`Pagination(${e.schema})`},merge:{value:yi},pk:{value:function(r,n,i,o){return e.pk.call(this,r,n,i,t(...o))}}})}(t,e))));if(!r)throw new Error("Missing Collection");const i=this;return this.extend({schema:n,key(...e){return i.key.call(this,...t(...e))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:pi(this.schema,(t=>t.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:pi(this.schema,(t=>t.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:pi(this.schema,(t=>t.assign)),name:this.name+".create"})}}const xi=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:ki,Collection:Ai}=Xn;function Pi(t){let{path:r,schema:n,Endpoint:i=ji,Collection:o=Ai,optimistic:u,paginationField:s}=t,c=Ln(t,xi);const a=function(t){const e=t.lastIndexOf(":");if(-1===e)throw new Error("Resource path requires at least one :parameter");let r=t.substring(0,e);return"/"===r[r.length-1]&&(r=r.substring(0,r.length-1)),r}(r),f=t=>`${null==n?void 0:n.name}.${t}`;function h(t,e,r){t[e]=t[e].extend(r)}const l=e({},c),p=e({},c),d=new i(e({},c,{path:r,schema:n,name:f("get")}));u&&(l.getOptimisticResponse=Ti,p.getOptimisticResponse=function(t){return function(r,n,i){const o=r.get(t,n);if(!o)throw r.abort;return e({},n,o,Ri(i))}}(n));const m=new i(e({},l,{paginationField:s,path:a,schema:new o([n]),name:f("getList")}));return{get:d,getList:m,create:m.push.extend({name:f("create")}),update:new i(e({},l,{path:r,schema:n,method:"PUT",name:f("update")})),partialUpdate:new i(e({},p,{path:r,schema:n,method:"PATCH",name:f("partialUpdate")})),delete:new i(e({},l,{path:r,schema:n.process?new ki(n):n,method:"DELETE",name:f("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:u?_i:void 0})),extend(...t){if("string"==typeof t[0]){const[r,n]=t;if(r in this){const t=e({},this);return h(t,r,n),t}return e({},this,{[r]:this.get.extend(n)})}if("function"==typeof t[0]){return e({},this,t[0](this))}const r=t[0],n=e({},this);for(const t in r)h(n,t,r[t]);return n}}}function Ti(t,r,n){return e({},r,Ri(n))}function _i(t,e){return e}function Ri(t){return t instanceof FormData?Object.fromEntries(t.entries()):t}t.Endpoint=oi,t.Entity=ti,t.EntityMixin=Yn,t.ExtendableEndpoint=ui,t.INVALID=Kr,t.NetworkError=mi,t.RestEndpoint=ji,t.createResource=Pi,t.getUrlBase=gi,t.getUrlTokens=wi,t.hookifyResource=function(t,e){const r={};return Object.keys(t).forEach((n=>{const i=t[n];var o;void 0!==i.extend&&(r[`use${o=n,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return i.extend({requestInit:t})})})),r},t.resource=Pi,t.schema=Xn,t.validateRequired=function(t,e){let r="";if(Object.keys(e).some((e=>!Bn(t,e)&&(r=e,!0))))return`Missing key ${r}`}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).Rest={})}(this,(function(t){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},e.apply(null,arguments)}function n(t,e){if(!{}.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}var r=0;function i(t){return"__private_"+r+++"_"+t}function o(t){return!("function"!=typeof t.hasOwnProperty||!(Object.hasOwnProperty.call(t,"__ownerID")||t._map&&Object.hasOwnProperty.call(t._map,"__ownerID")))}class s{constructor(t,e){this.schema=void 0,e&&(this._schemaAttribute="string"==typeof e?t=>t[e]:e),this.define(t)}get isSingleSchema(){return!this._schemaAttribute}define(t){"_schemaAttribute"in t&&!this._schemaAttribute?(this.schema=t.schema,this._schemaAttribute=t._schemaAttribute):this.schema=t}getSchemaAttribute(t,e,n){return!this.isSingleSchema&&this._schemaAttribute(t,e,n)}inferSchema(t,e,n){if(this.isSingleSchema)return this.schema;const r=this.getSchemaAttribute(t,e,n);return this.schema[r]}schemaKey(){return this.isSingleSchema?this.schema.key:Object.values(this.schema).join(";")}normalizeValue(t,e,n,r,i){if(!t)return t;const o=this.inferSchema(t,e,n);if(!o)return t;const s=i(o,t,e,n,r);return this.isSingleSchema||null==s?s:{id:s,schema:this.getSchemaAttribute(t,e,n)}}denormalizeValue(t,e){const n=!this.isSingleSchema&&t&&(o(t)?t.get("schema"):t.schema);if(!this.isSingleSchema&&!n){if("object"==typeof t&&null!==t){const n=this.inferSchema(t,void 0,void 0);if(n)return e(n,t)}return t}const r=this.isSingleSchema?void 0:o(t)?t.get("id"):t.id;return e(this.isSingleSchema?this.schema:this.schema[n],r||t)}}class c extends s{normalize(t,n,r,i,o,s,c,u){return Object.keys(t).reduce(((n,r,s)=>{const c=t[r];return null!=c?e({},n,{[r]:this.normalizeValue(c,t,r,i,o)}):n}),{})}denormalize(t,n,r){return Object.keys(t).reduce(((n,i)=>{const o=t[i],s=this.denormalizeValue(o,r);return s&&"symbol"!=typeof s?e({},n,{[i]:s}):n}),{})}queryKey(t,e,n,r){}}const u=t=>void 0!==t&&"symbol"!=typeof t;class a extends s{normalize(t,e,n,r,i,o,s,c){const u=(t=>Array.isArray(t)?t:Object.keys(t).map((e=>t[e])))(t);return u.map(((t,o)=>this.normalizeValue(t,e,n,r,i)))}denormalize(t,e,n){return t.map?t.map((t=>this.denormalizeValue(t,n))).filter(u):t}queryKey(t,e,n,r){}toJSON(){return[this.schema]}}const f=Symbol("INVALID");function h(t,n,r,i){if(o(n))return function(t,e,n){let r;const i=Object.keys(t).reduce(((e,i)=>{const o=`${i}`,s=n(t[o],e.get(o));return"symbol"==typeof s&&(r=s),e.has(o)?e.set(o,s):e}),e);return null!=r?r:i}(t,n,i);const s=e({},n);for(const e of Object.keys(t)){const n=i(t[e],s[e]);if(void 0!==s[e]&&(s[e]=n),"symbol"==typeof n)return n}return s}class l{constructor(t){this.schema=void 0,this.define(t)}define(t){this.schema=Object.keys(t).reduce(((n,r)=>{const i=t[r];return e({},n,{[r]:i})}),this.schema||{})}normalize(...t){return((t,n,r,i,o,s)=>{const c=e({},n);return Object.keys(t).forEach((e=>{const r=t[e],i=s(r,n[e],n,e,o);void 0===i?delete c[e]:c[e]=i})),c})(this.schema,...t)}denormalize(t,e,n){return h(this.schema,t,0,n)}queryKey(t,e,n,r){return function(t,e,n,r,i){const o={};return Object.keys(t).forEach((s=>{o[s]=n(t[s],e,r,i)})),o}(this.schema,t,e,n,r)}}const p=(t,e)=>[...t,...e],d=(t,e)=>[...e,...t],m=(t,n)=>e({},t,n),y=t=>[...t],v=t=>e({},t);class g{addWith(t,e){return b(this,t,e)}createCollectionFilter(...t){return e=>Object.entries(e).every((([e,n])=>{var r;return this.nonFilterArgumentKeys(e)||`${t[0][e]}`===n||`${null==(r=t[1])?void 0:r[e]}`===n}))}nonFilterArgumentKeys(t){return t.startsWith("order")}constructor(t,n){if(this.schema=Array.isArray(t)?new a(t[0]):t,n?"nestKey"in n?this.nestKey=n.nestKey:this.argsKey="argsKey"in n?n.argsKey:t=>e({},t):this.argsKey=t=>e({},t),this.key=function(t){if(t instanceof a)return`[${t.schemaKey()}]`;if(t instanceof c)return`{${t.schemaKey()}}`;return`(${t.schemaKey()})`}(this.schema),null!=n&&n.nonFilterArgumentKeys){const{nonFilterArgumentKeys:t}=n;"function"==typeof t?this.nonFilterArgumentKeys=t:t instanceof RegExp?this.nonFilterArgumentKeys=e=>t.test(e):this.nonFilterArgumentKeys=e=>t.includes(e)}else null!=n&&n.createCollectionFilter&&(this.createCollectionFilter=n.createCollectionFilter.bind(this));this.schema instanceof a?(this.createIfValid=y,this.push=b(this,p),this.unshift=b(this,d)):t instanceof c&&(this.createIfValid=v,this.assign=b(this,m))}get cacheWith(){return this.schema.schema}toString(){return this.key}toJSON(){return{key:this.key,schema:this.schema.schema.toJSON()}}pk(t,e,n,r){const i=this.argsKey?this.argsKey(...r):this.nestKey(e,n);for(const t in i)["number","boolean"].includes(typeof i[t])&&(i[t]=`${i[t]}`);return function(t){const e=Object.keys(t).sort(),n={};for(const r of e)n[r]=t[r];return JSON.stringify(n)}(i)}normalize(t,e,n,r,i,o,s,c){const u=this.schema.normalize(t,e,n,r,i,o,s,c),a=this.pk(u,e,n,r);return o(this,u,a),a}merge(t,e){return e}shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}mergeWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}queryKey(t,e,n,r){if(this.argsKey){const e=this.pk(void 0,void 0,"",t);if(n(this.key,e))return e}}denormalize(t,e,n){return this.schema.denormalize(t,e,n)}}function b(t,e,n){const r={merge:{value:e},normalize:{value:O},queryKey:{value:w}};return t.schema instanceof a&&(r.createIfValid={value:E},r.denormalize={value:S}),n&&(r.createCollectionFilter={value:n}),Object.create(t,r)}function w(){}function O(t,e,n,r,i,o,s,c){const u=this.schema.normalize(this.schema instanceof a&&!Array.isArray(t)?[t]:t,e,n,r,i,o,s,c),f=this.createCollectionFilter(...r),h=s(this.key);return h&&Object.keys(h).forEach((t=>{f(JSON.parse(t))&&o(this,u,t)})),u}function E(t){return Array.isArray(t)?[...t]:e({},t)}function S(t,e,n){return Array.isArray(t)?this.schema.denormalize(t,e,n):this.schema.denormalize([t],e,n)[0]}function j(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.includes(r))continue;n[r]=t[r]}return n}var x="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function k(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var A,P,_,T,C,R,z,N,K,$,F,I,M,L,D,q;function U(){if(P)return A;P=1;var t=function(t){return t&&t.Math===Math&&t};return A=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof x&&x)||t("object"==typeof A&&A)||function(){return this}()||Function("return this")()}function V(){return T?_:(T=1,_=function(t){try{return!!t()}catch(t){return!0}})}function W(){return R?C:(R=1,C=!V()((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})))}function G(){if(N)return z;N=1;var t=W(),e=Function.prototype,n=e.apply,r=e.call;return z="object"==typeof Reflect&&Reflect.apply||(t?r.bind(n):function(){return r.apply(n,arguments)}),z}function J(){if($)return K;$=1;var t=W(),e=Function.prototype,n=e.call,r=t&&e.bind.bind(n,n);return K=t?r:function(t){return function(){return n.apply(t,arguments)}},K}function H(){if(I)return F;I=1;var t=J(),e=t({}.toString),n=t("".slice);return F=function(t){return n(e(t),8,-1)}}function B(){if(L)return M;L=1;var t=H(),e=J();return M=function(n){if("Function"===t(n))return e(n)}}function Q(){if(q)return D;q=1;var t="object"==typeof document&&document.all;return D=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(t){return"function"==typeof t}}var Y,X,Z,tt,et={};function nt(){return X?Y:(X=1,Y=!V()((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})))}function rt(){if(tt)return Z;tt=1;var t=W(),e=Function.prototype.call;return Z=t?e.bind(e):function(){return e.apply(e,arguments)},Z}var it,ot,st,ct,ut,at,ft,ht,lt,pt,dt,mt,yt,vt,gt,bt,wt,Ot,Et,St,jt,xt,kt,At,Pt,_t,Tt,Ct,Rt,zt,Nt,Kt,$t,Ft,It,Mt,Lt,Dt={};function qt(){if(it)return Dt;it=1;var t={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,n=e&&!t.call({1:2},1);return Dt.f=n?function(t){var n=e(this,t);return!!n&&n.enumerable}:t,Dt}function Ut(){return st?ot:(st=1,ot=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}})}function Vt(){if(ut)return ct;ut=1;var t=J(),e=V(),n=H(),r=Object,i=t("".split);return ct=e((function(){return!r("z").propertyIsEnumerable(0)}))?function(t){return"String"===n(t)?i(t,""):r(t)}:r}function Wt(){return ft?at:(ft=1,at=function(t){return null==t})}function Gt(){if(lt)return ht;lt=1;var t=Wt(),e=TypeError;return ht=function(n){if(t(n))throw new e("Can't call method on "+n);return n}}function Jt(){if(dt)return pt;dt=1;var t=Vt(),e=Gt();return pt=function(n){return t(e(n))}}function Ht(){if(yt)return mt;yt=1;var t=Q();return mt=function(e){return"object"==typeof e?null!==e:t(e)}}function Bt(){return gt?vt:(gt=1,vt={})}function Qt(){if(wt)return bt;wt=1;var t=Bt(),e=U(),n=Q(),r=function(t){return n(t)?t:void 0};return bt=function(n,i){return arguments.length<2?r(t[n])||r(e[n]):t[n]&&t[n][i]||e[n]&&e[n][i]},bt}function Yt(){return Et?Ot:(Et=1,Ot=J()({}.isPrototypeOf))}function Xt(){if(jt)return St;jt=1;var t=U().navigator,e=t&&t.userAgent;return St=e?String(e):""}function Zt(){if(kt)return xt;kt=1;var t,e,n=U(),r=Xt(),i=n.process,o=n.Deno,s=i&&i.versions||o&&o.version,c=s&&s.v8;return c&&(e=(t=c.split("."))[0]>0&&t[0]<4?1:+(t[0]+t[1])),!e&&r&&(!(t=r.match(/Edge\/(\d+)/))||t[1]>=74)&&(t=r.match(/Chrome\/(\d+)/))&&(e=+t[1]),xt=e}function te(){if(Pt)return At;Pt=1;var t=Zt(),e=V(),n=U().String;return At=!!Object.getOwnPropertySymbols&&!e((function(){var e=Symbol("symbol detection");return!n(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&t&&t<41}))}function ee(){return Tt?_t:(Tt=1,_t=te()&&!Symbol.sham&&"symbol"==typeof Symbol.iterator)}function ne(){if(Rt)return Ct;Rt=1;var t=Qt(),e=Q(),n=Yt(),r=Object;return Ct=ee()?function(t){return"symbol"==typeof t}:function(i){var o=t("Symbol");return e(o)&&n(o.prototype,r(i))}}function re(){if(Nt)return zt;Nt=1;var t=String;return zt=function(e){try{return t(e)}catch(t){return"Object"}}}function ie(){if($t)return Kt;$t=1;var t=Q(),e=re(),n=TypeError;return Kt=function(r){if(t(r))return r;throw new n(e(r)+" is not a function")}}function oe(){if(It)return Ft;It=1;var t=ie(),e=Wt();return Ft=function(n,r){var i=n[r];return e(i)?void 0:t(i)}}function se(){if(Lt)return Mt;Lt=1;var t=rt(),e=Q(),n=Ht(),r=TypeError;return Mt=function(i,o){var s,c;if("string"===o&&e(s=i.toString)&&!n(c=t(s,i)))return c;if(e(s=i.valueOf)&&!n(c=t(s,i)))return c;if("string"!==o&&e(s=i.toString)&&!n(c=t(s,i)))return c;throw new r("Can't convert object to primitive value")}}var ce,ue,ae,fe,he,le,pe,de,me,ye,ve,ge,be,we,Oe,Ee,Se,je,xe,ke,Ae,Pe,_e,Te,Ce,Re,ze,Ne,Ke={exports:{}};function $e(){return ue?ce:(ue=1,ce=!0)}function Fe(){if(fe)return ae;fe=1;var t=U(),e=Object.defineProperty;return ae=function(n,r){try{e(t,n,{value:r,configurable:!0,writable:!0})}catch(e){t[n]=r}return r}}function Ie(){if(he)return Ke.exports;he=1;var t=$e(),e=U(),n=Fe(),r="__core-js_shared__",i=Ke.exports=e[r]||n(r,{});return(i.versions||(i.versions=[])).push({version:"3.40.0",mode:t?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"}),Ke.exports}function Me(){if(pe)return le;pe=1;var t=Ie();return le=function(e,n){return t[e]||(t[e]=n||{})}}function Le(){if(me)return de;me=1;var t=Gt(),e=Object;return de=function(n){return e(t(n))}}function De(){if(ve)return ye;ve=1;var t=J(),e=Le(),n=t({}.hasOwnProperty);return ye=Object.hasOwn||function(t,r){return n(e(t),r)}}function qe(){if(be)return ge;be=1;var t=J(),e=0,n=Math.random(),r=t(1..toString);return ge=function(t){return"Symbol("+(void 0===t?"":t)+")_"+r(++e+n,36)}}function Ue(){if(Oe)return we;Oe=1;var t=U(),e=Me(),n=De(),r=qe(),i=te(),o=ee(),s=t.Symbol,c=e("wks"),u=o?s.for||s:s&&s.withoutSetter||r;return we=function(t){return n(c,t)||(c[t]=i&&n(s,t)?s[t]:u("Symbol."+t)),c[t]}}function Ve(){if(Se)return Ee;Se=1;var t=rt(),e=Ht(),n=ne(),r=oe(),i=se(),o=TypeError,s=Ue()("toPrimitive");return Ee=function(c,u){if(!e(c)||n(c))return c;var a,f=r(c,s);if(f){if(void 0===u&&(u="default"),a=t(f,c,u),!e(a)||n(a))return a;throw new o("Can't convert object to primitive value")}return void 0===u&&(u="number"),i(c,u)}}function We(){if(xe)return je;xe=1;var t=Ve(),e=ne();return je=function(n){var r=t(n,"string");return e(r)?r:r+""}}function Ge(){if(Ae)return ke;Ae=1;var t=U(),e=Ht(),n=t.document,r=e(n)&&e(n.createElement);return ke=function(t){return r?n.createElement(t):{}}}function Je(){if(_e)return Pe;_e=1;var t=nt(),e=V(),n=Ge();return Pe=!t&&!e((function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))}function He(){if(Te)return et;Te=1;var t=nt(),e=rt(),n=qt(),r=Ut(),i=Jt(),o=We(),s=De(),c=Je(),u=Object.getOwnPropertyDescriptor;return et.f=t?u:function(t,a){if(t=i(t),a=o(a),c)try{return u(t,a)}catch(t){}if(s(t,a))return r(!e(n.f,t,a),t[a])},et}function Be(){if(Re)return Ce;Re=1;var t=V(),e=Q(),n=/#|\.prototype\./,r=function(n,r){var u=o[i(n)];return u===c||u!==s&&(e(r)?t(r):!!r)},i=r.normalize=function(t){return String(t).replace(n,".").toLowerCase()},o=r.data={},s=r.NATIVE="N",c=r.POLYFILL="P";return Ce=r}function Qe(){if(Ne)return ze;Ne=1;var t=B(),e=ie(),n=W(),r=t(t.bind);return ze=function(t,i){return e(t),void 0===i?t:n?r(t,i):function(){return t.apply(i,arguments)}},ze}var Ye,Xe,Ze,tn,en,nn,rn,on,sn,cn,un,an,fn,hn,ln={};function pn(){return Xe?Ye:(Xe=1,Ye=nt()&&V()((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})))}function dn(){if(tn)return Ze;tn=1;var t=Ht(),e=String,n=TypeError;return Ze=function(r){if(t(r))return r;throw new n(e(r)+" is not an object")}}function mn(){if(en)return ln;en=1;var t=nt(),e=Je(),n=pn(),r=dn(),i=We(),o=TypeError,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u="enumerable",a="configurable",f="writable";return ln.f=t?n?function(t,e,n){if(r(t),e=i(e),r(n),"function"==typeof t&&"prototype"===e&&"value"in n&&f in n&&!n[f]){var o=c(t,e);o&&o[f]&&(t[e]=n.value,n={configurable:a in n?n[a]:o[a],enumerable:u in n?n[u]:o[u],writable:!1})}return s(t,e,n)}:s:function(t,n,c){if(r(t),n=i(n),r(c),e)try{return s(t,n,c)}catch(t){}if("get"in c||"set"in c)throw new o("Accessors not supported");return"value"in c&&(t[n]=c.value),t},ln}function yn(){if(rn)return nn;rn=1;var t=nt(),e=mn(),n=Ut();return nn=t?function(t,r,i){return e.f(t,r,n(1,i))}:function(t,e,n){return t[e]=n,t}}function vn(){if(sn)return on;sn=1;var t=U(),e=G(),n=B(),r=Q(),i=He().f,o=Be(),s=Bt(),c=Qe(),u=yn(),a=De(),f=function(t){var n=function n(r,i,o){if(this instanceof n){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,i)}return new t(r,i,o)}return e(t,this,arguments)};return n.prototype=t.prototype,n};return on=function(e,h){var l,p,d,m,y,v,g,b,w,O=e.target,E=e.global,S=e.stat,j=e.proto,x=E?t:S?t[O]:t[O]&&t[O].prototype,k=E?s:s[O]||u(s,O,{})[O],A=k.prototype;for(m in h)p=!(l=o(E?m:O+(S?".":"#")+m,e.forced))&&x&&a(x,m),v=k[m],p&&(g=e.dontCallGetSet?(w=i(x,m))&&w.value:x[m]),y=p&&g?g:h[m],(l||j||typeof v!=typeof y)&&(b=e.bind&&p?c(y,t):e.wrap&&p?f(y):j&&r(y)?n(y):y,(e.sham||y&&y.sham||v&&v.sham)&&u(b,"sham",!0),u(k,m,b),j&&(a(s,d=O+"Prototype")||u(s,d,{}),u(s[d],m,y),e.real&&A&&(l||!A[m])&&u(A,m,y)))}}function gn(){return an?un:(an=1,cn||(cn=1,vn()({target:"Object",stat:!0},{hasOwn:De()})),un=Bt().Object.hasOwn)}function bn(){return hn?fn:(hn=1,fn=gn())}var wn=k(bn());const On=["pk","schema","key"];function En(t,n={}){class r extends t{static toString(){return this.key}static toJSON(){return{key:this.key,schema:this.schema}}static pk(t,e,n,r){return this.prototype.pk.call(t,e,n,r)}static shouldUpdate(t,e,n,r){return!0}static shouldReorder(t,e,n,r){return e.fetchedAt<t.fetchedAt}static merge(t,n){return e({},t,n)}static mergeWithStore(t,e,n,r){return this.shouldUpdate(t,e,n,r)?typeof r!=typeof n?r:this.shouldReorder(t,e,n,r)?this.merge(r,n):this.merge(n,r):n}static mergeMetaWithStore(t,e,n,r){return this.shouldReorder(t,e,n,r)?t:e}static fromJS(t={}){const e=new this(t);return Object.assign(e,t),e}static createIfValid(t){if(!this.validate(t))return this.fromJS(t)}static process(t,n,r,i){return e({},t)}static normalize(t,e,n,r,i,o,s,c){const u=this.process(t,e,n,r);let a=this.pk(u,e,n,r);if(a=void 0===a||""===a||"undefined"===a?`MISS-${Math.random()}`:`${a}`,c(this.key,a,t))return a;return function(t){if(t){const e=new Error(t);throw e.status=400,e}}(this.validate(u)),Object.keys(this.schema).forEach((t=>{wn(u,t)&&(u[t]=i(this.schema[t],u[t],u,t,r))})),o(this,u,a),a}static validate(t){}static queryKey(t,e,n,r){if(!t[0])return;const i=function(t,e,n){if(["string","number"].includes(typeof e[0]))return`${e[0]}`;const r=t.pk(e[0],void 0,"",e);if(void 0!==r&&""!==r)return r;const i=(o=e[0],s=t.indexes,s?s.find((t=>wn(o,t))):void 0);var o,s;if(!i)return;const c=e[0][i];return n(t.key,i,c)[c]}(this,t,r);return n(this.key,i)?i:void 0}static denormalize(t,e,n){if("symbol"==typeof t)return t;for(const e of Object.keys(this.schema)){const r=n(this.schema[e],t[e]);if("symbol"==typeof r){if(this.defaults[e])return r;t[e]=void 0}else t[e]=r}return t}static get defaults(){return wn(this,"__defaults")||Object.defineProperty(this,"__defaults",{value:new this,writable:!0,configurable:!0}),this.__defaults}}const i=j(n,On);if(Object.assign(r,i),"schema"in n?r.schema=n.schema:t.schema||(r.schema={}),"pk"in n?"function"==typeof n.pk?r.prototype.pk=function(t,e){return n.pk(this,t,e)}:r.prototype.pk=function(){return this[n.pk]}:"function"!=typeof t.prototype.pk&&(r.prototype.pk=function(){return this.id}),"key"in n)Object.defineProperty(r,"key",{value:n.key,configurable:!0,writable:!0,enumerable:!0});else if(!("key"in t)){function o(t){Object.defineProperty(this,"key",{value:t,writable:!0,enumerable:!0,configurable:!0})}const s=function(){return"EntityMixin"===this.name?t.name:this.name},c="undefined"!=typeof document&&document.CLS_MANGLE?function(){return null==document.CLS_MANGLE||document.CLS_MANGLE(this),Object.defineProperty(r,"key",{get:s,set:o,enumerable:!0,configurable:!0}),s.call(this)}:s;Object.defineProperty(r,"key",{get:c,set:o,enumerable:!0,configurable:!0})}return r}var Sn=Object.freeze({__proto__:null,All:class extends a{constructor(t,e){super(t,e)}normalize(t,e,n,r,i,o,s,c){super.normalize(t,e,n,r,i,o,s,c)}queryKey(t,e,n,r){if(this.isSingleSchema){const t=n(this.schema.key);return void 0===t?f:Object.values(t).map((t=>t&&this.schema.pk(t)))}let i=!1;const o=Object.values(this.schema).flatMap((t=>{const e=n(t.key);return void 0===e?[]:(i=!0,Object.values(e).map((e=>({id:e&&t.pk(e),schema:this.getSchemaAttribute(e,void 0,void 0)}))))}));return i?o:f}},Array:a,Collection:g,Entity:En,EntityMixin:En,Invalidate:class{constructor(t){this._entity=t}get key(){return this._entity.key}normalize(t,e,n,r,i,o,s,c){const u=this._entity.process(t,e,n,r),a=this._entity.pk(u,e,n,r);return o(this,f,a),a}merge(t,e){return e}mergeWithStore(t,e,n,r){return this.merge(n,r)}mergeMetaWithStore(t,e,n,r){return e}queryKey(t,e,n,r){}denormalize(t,e,n){return n(this._entity,t)}_denormalizeNullable(){return{}}_normalizeNullable(){return{}}},Object:l,Query:class{constructor(t,e){this.schema=t,this.process=e}normalize(...t){return this.schema.normalize(...t)}denormalize(t,e,n){const r=n(this.schema,t);return"symbol"==typeof r?r:this.process(r,...e)}queryKey(t,e,n,r){return e(this.schema,t,n,r)}},Union:class extends s{constructor(t,e){if(!e)throw new Error('Expected option "schemaAttribute" not found on UnionSchema.');super(t,e)}normalize(t,e,n,r,i,o,s,c){return this.normalizeValue(t,e,n,r,i)}denormalize(t,e,n){return this.denormalizeValue(t,n)}queryKey(t,e,n,r){if(!t[0])return;const i=this.getSchemaAttribute(t[0],void 0,""),o=this.schema[i];if(void 0===o)return;const s=e(o,t,n,r);return void 0!==s?{id:s,schema:i}:void 0}},Values:c});const jn=class{};class xn extends(En(jn)){static process(t,e,n,r){return super.process(t,e,n,r)}}var kn;const An="undefined"!=typeof document;let Pn=An&&!(null!=(kn=document.querySelector("meta[http-equiv='Content-Security-Policy']"))&&kn.getAttribute("content"));try{Pn||Function()}catch(t){Pn=!0,An&&console.error("Content Security Policy: The previous CSP log can be safely ignored - @data-client/endpoint will use setPrototypeOf instead")}var _n;class Tn extends Function{constructor(t,e){let n,r;return Pn?(n=(...t)=>n.fetch(...t),Object.setPrototypeOf(n,new.target.prototype)):(super("return arguments.callee.fetch.apply(arguments.callee, arguments)"),n=this),t&&(n.fetch=t),e&&"name"in e||!t||!t.name||"anonymous"===t.name||(r=t.name),Object.defineProperty(n,"name",{get(){return r||this.__name},set(t){this.__name=t}}),Object.assign(n,e),n}key(...t){return`${this.name} ${JSON.stringify(t)}`}testKey(t){return t.startsWith(this.name)}bind(t,...e){const n=this.fetch,r=this.key;return this.extend({fetch(){return n.apply(null!=t?t:this,e)},key(){return r.apply(this,e)}})}extend(t){class e extends this.constructor{}return Object.assign(e.prototype,this),new e(t.fetch,t)}}_n=Tn,(()=>{if("undefined"!=typeof document&&document.FUNC_MANGLE){const t=_n.prototype.key;_n.prototype.key=function(...e){return null==document.FUNC_MANGLE||document.FUNC_MANGLE(this),this.prototype.key=t,t.call(this,...e)}}})();const Cn=Tn;function Rn(t,e){void 0===e&&(e={});for(var n=function(t){for(var e=[],n=0;n<t.length;){var r=t[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)e.push({type:"CHAR",index:n,value:t[n++]});else{var i=1,o="";if("?"===t[c=n+1])throw new TypeError('Pattern cannot start with "?" at '.concat(c));for(;c<t.length;)if("\\"!==t[c]){if(")"===t[c]){if(0==--i){c++;break}}else if("("===t[c]&&(i++,"?"!==t[c+1]))throw new TypeError("Capturing groups are not allowed at ".concat(c));o+=t[c++]}else o+=t[c++]+t[c++];if(i)throw new TypeError("Unbalanced pattern at ".concat(n));if(!o)throw new TypeError("Missing pattern at ".concat(n));e.push({type:"PATTERN",index:n,value:o}),n=c}else{for(var s="",c=n+1;c<t.length;){var u=t.charCodeAt(c);if(!(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;s+=t[c++]}if(!s)throw new TypeError("Missing parameter name at ".concat(n));e.push({type:"NAME",index:n,value:s}),n=c}else e.push({type:"CLOSE",index:n,value:t[n++]});else e.push({type:"OPEN",index:n,value:t[n++]});else e.push({type:"ESCAPED_CHAR",index:n++,value:t[n++]});else e.push({type:"MODIFIER",index:n,value:t[n++]})}return e.push({type:"END",index:n,value:""}),e}(t),r=e.prefixes,i=void 0===r?"./":r,o=e.delimiter,s=void 0===o?"/#?":o,c=[],u=0,a=0,f="",h=function(t){if(a<n.length&&n[a].type===t)return n[a++].value},l=function(t){var e=h(t);if(void 0!==e)return e;var r=n[a],i=r.type,o=r.index;throw new TypeError("Unexpected ".concat(i," at ").concat(o,", expected ").concat(t))},p=function(){for(var t,e="";t=h("CHAR")||h("ESCAPED_CHAR");)e+=t;return e},d=function(t){var e=c[c.length-1],n=t||(e&&"string"==typeof e?e:"");if(e&&!n)throw new TypeError('Must have text between two parameters, missing text after "'.concat(e.name,'"'));return!n||function(t){for(var e=0,n=s;e<n.length;e++){var r=n[e];if(t.indexOf(r)>-1)return!0}return!1}(n)?"[^".concat(Nn(s),"]+?"):"(?:(?!".concat(Nn(n),")[^").concat(Nn(s),"])+?")};a<n.length;){var m=h("CHAR"),y=h("NAME"),v=h("PATTERN");if(y||v){var g=m||"";-1===i.indexOf(g)&&(f+=g,g=""),f&&(c.push(f),f=""),c.push({name:y||u++,prefix:g,suffix:"",pattern:v||d(g),modifier:h("MODIFIER")||""})}else{var b=m||h("ESCAPED_CHAR");if(b)f+=b;else if(f&&(c.push(f),f=""),h("OPEN")){g=p();var w=h("NAME")||"",O=h("PATTERN")||"",E=p();l("CLOSE"),c.push({name:w||(O?u++:""),pattern:w&&!O?d(g):O,prefix:g,suffix:E,modifier:h("MODIFIER")||""})}else l("END")}}return c}function zn(t,e){return function(t,e){void 0===e&&(e={});var n=Kn(e),r=e.encode,i=void 0===r?function(t){return t}:r,o=e.validate,s=void 0===o||o,c=t.map((function(t){if("object"==typeof t)return new RegExp("^(?:".concat(t.pattern,")$"),n)}));return function(e){for(var n="",r=0;r<t.length;r++){var o=t[r];if("string"!=typeof o){var u=e?e[o.name]:void 0,a="?"===o.modifier||"*"===o.modifier,f="*"===o.modifier||"+"===o.modifier;if(Array.isArray(u)){if(!f)throw new TypeError('Expected "'.concat(o.name,'" to not repeat, but got an array'));if(0===u.length){if(a)continue;throw new TypeError('Expected "'.concat(o.name,'" to not be empty'))}for(var h=0;h<u.length;h++){var l=i(u[h],o);if(s&&!c[r].test(l))throw new TypeError('Expected all "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else if("string"!=typeof u&&"number"!=typeof u){if(!a){var p=f?"an array":"a string";throw new TypeError('Expected "'.concat(o.name,'" to be ').concat(p))}}else{l=i(String(u),o);if(s&&!c[r].test(l))throw new TypeError('Expected "'.concat(o.name,'" to match "').concat(o.pattern,'", but got "').concat(l,'"'));n+=o.prefix+l+o.suffix}}else n+=o}return n}}(Rn(t,e),e)}function Nn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Kn(t){return t&&t.sensitive?"":"i"}function $n(t,e,n){return function(t,e,n){void 0===n&&(n={});for(var r=n.strict,i=void 0!==r&&r,o=n.start,s=void 0===o||o,c=n.end,u=void 0===c||c,a=n.encode,f=void 0===a?function(t){return t}:a,h=n.delimiter,l=void 0===h?"/#?":h,p=n.endsWith,d="[".concat(Nn(void 0===p?"":p),"]|$"),m="[".concat(Nn(l),"]"),y=s?"^":"",v=0,g=t;v<g.length;v++){var b=g[v];if("string"==typeof b)y+=Nn(f(b));else{var w=Nn(f(b.prefix)),O=Nn(f(b.suffix));if(b.pattern)if(w||O)if("+"===b.modifier||"*"===b.modifier){var E="*"===b.modifier?"?":"";y+="(?:".concat(w,"((?:").concat(b.pattern,")(?:").concat(O).concat(w,"(?:").concat(b.pattern,"))*)").concat(O,")").concat(E)}else y+="(?:".concat(w,"(").concat(b.pattern,")").concat(O,")").concat(b.modifier);else{if("+"===b.modifier||"*"===b.modifier)throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));y+="(".concat(b.pattern,")").concat(b.modifier)}else y+="(?:".concat(w).concat(O,")").concat(b.modifier)}}if(u)i||(y+="".concat(m,"?")),y+=n.endsWith?"(?=".concat(d,")"):"$";else{var S=t[t.length-1],j="string"==typeof S?m.indexOf(S[S.length-1])>-1:void 0===S;i||(y+="(?:".concat(m,"(?=").concat(d,"))?")),j||(y+="(?=".concat(m,"|").concat(d,")"))}return new RegExp(y,Kn(n))}(Rn(t,n),0,n)}function Fn(t,e,n){return t instanceof RegExp?function(t){return t}(t):Array.isArray(t)?function(t,e,n){var r=t.map((function(t){return Fn(t,e,n).source}));return new RegExp("(?:".concat(r.join("|"),")"),Kn(n))}(t,e,n):$n(t,0,n)}function In(t,n){if("object"!=typeof t||void 0===t||Array.isArray(t))return;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r){if(!r[t])continue;const e=In(r[t],n);if(e)return e}}function Mn(t,n){if("object"!=typeof t||void 0===t)return t;if(t instanceof g)return n(t);const r=e({},t instanceof l?t.schema:t);for(const t in r)r[t]&&(r[t]=Mn(r[t],n));return r}class Ln extends Error{constructor(t){super(`${t.url}: ${t.statusText||`Status not 'ok': ${t.status}`}`),this.name="NetworkError",this.status=t.status,this.response=t}}function Dn(t,e){const n=new Set(t),r=[...t];for(const t of e)n.has(t)||r.push(t);return r}const qn=Object.create(null);function Un(t){return t in qn||(qn[t]=zn(t,{encode:encodeURIComponent,validate:!1})),qn[t]}const Vn=Object.create(null);function Wn(t){return t in Vn||(Vn[t]=new Set(Rn(t).map((t=>"string"==typeof t?t:`${t.name}`)))),Vn[t]}const Gn=Object.prototype,Jn=Object.getPrototypeOf;var Hn=i("hasBody");class Bn extends Tn{constructor(t){var e;super(null!=(e=t.fetch)?e:async function(...t){const e=n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{},r=n(this,Hn)[Hn]?t[t.length-1]:void 0;return this.fetchResponse(this.url(e),await this.getRequestInit(r)).then((t=>this.parseResponse(t))).then((e=>this.process(e,...t)))},t),Object.defineProperty(this,Hn,{writable:!0,value:void 0}),(!("sideEffect"in this)||"method"in t&&!("sideEffect"in t))&&(this.sideEffect="GET"!==t.method&&void 0!==t.method||void 0),void 0===this.method&&(this.method=this.sideEffect?"POST":"GET"),void 0===this.urlPrefix&&(this.urlPrefix=""),n(this,Hn)[Hn]=!("body"in this&&void 0===this.body||["GET","DELETE"].includes(this.method)),Object.defineProperty(this,"name",{get(){return"__name"in this?this.__name:this.urlPrefix+this.path}})}key(...t){return`${this.method} ${this.url(n(this,Hn)[Hn]&&t.length<2?{}:t[0]||{})}`}url(t={}){const e=Un(this.path)(t),n=Wn(this.path),r={};return Object.keys(t).forEach((e=>{n.has(e)||(r[e]=t[e])})),Object.keys(r).length?`${this.urlPrefix}${e}?${this.searchToString(r)}`:`${this.urlPrefix}${e}`}searchToString(t){return function(t){const e=new URLSearchParams(t);return e.sort(),e.toString()}(t)}getHeaders(t){return t}async getRequestInit(t){const n=null!==(r=t)&&"object"==typeof r&&Jn(r)===Gn;var r;n&&(t=JSON.stringify(t));const i=e({},this.requestInit,{method:this.method,signal:this.signal,body:t});return t&&!n||(i.headers=e({"Content-Type":"application/json"},i.headers)),i.headers=await this.getHeaders(i.headers),i}fetchResponse(t,e){return fetch(t,e).then((t=>{if(!t.ok)throw new Ln(t);return t})).catch((t=>{throw t instanceof TypeError&&(t.status=500),t}))}parseResponse(t){var e;return 204===t.status?Promise.resolve(null):null!=(e=t.headers.get("content-type"))&&e.includes("json")?t.json().catch((t=>{throw t.status=400,t})):t.text().then((e=>{if(["string","undefined"].includes(typeof this.schema)||null===this.schema||this.process!==Bn.prototype.process)return e;const n=new Ln(t);throw n.status=404,n.message=`Unexpected text response for schema ${this.schema}`,n}))}process(t){return t}errorPolicy(t){return t.status>=500?"soft":void 0}get pathRegex(){return Fn(this.path)}testKey(t){const e=this.method+" "+this.urlPrefix;if(!t.startsWith(e))return!1;let n=t.lastIndexOf("?");return-1===n&&(n=void 0),this.pathRegex.test(t.substring(e.length,n))}extend(t){class n extends this.constructor{}return Object.assign(n.prototype,this),new n(e({fetch:this.fetch},t))}paginated(t){if("string"==typeof t){const n=t;t=t=>{let r=e({},(function(t){if(null==t)throw new TypeError("Cannot destructure "+t)}(t),t));return delete r[n],[r]}}let n=!1;const r=Mn(this.schema,(e=>(n=!0,function(t,e){return Object.create(e,{name:{value:`Pagination(${e.schema})`},merge:{value:Dn},pk:{value:function(n,r,i,o){return e.pk.call(this,n,r,i,t(...o))}}})}(t,e))));if(!n)throw new Error("Missing Collection");const i=this;return this.extend({schema:r,key(...e){return i.key.call(this,...t(...e))},name:this.name+".getPage"})}get getPage(){return this.paginated(this.paginationField)}get push(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.push)),name:this.name+".create"})}get unshift(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.unshift)),name:this.name+".create"})}get assign(){return this.extend({method:"POST",schema:In(this.schema,(t=>t.assign)),name:this.name+".create"})}}const Qn=["path","schema","Endpoint","Collection","optimistic","paginationField"],{Invalidate:Yn,Collection:Xn}=Sn;function Zn(t){let{path:n,schema:r,Endpoint:i=Bn,Collection:o=Xn,optimistic:s,paginationField:c}=t,u=j(t,Qn);const a=function(t){const e=t.lastIndexOf(":");if(-1===e)throw new Error("Resource path requires at least one :parameter");let n=t.substring(0,e);return"/"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n}(n),f=t=>`${null==r?void 0:r.name}.${t}`;function h(t,e,n){t[e]=t[e].extend(n)}const l=e({},u),p=e({},u),d=new i(e({},u,{path:n,schema:r,name:f("get")}));s&&(l.getOptimisticResponse=tr,p.getOptimisticResponse=function(t){return function(n,r,i){const o=n.get(t,r);if(!o)throw n.abort;return e({},r,o,nr(i))}}(r));const m=new i(e({},l,{paginationField:c,path:a,schema:new o([r]),name:f("getList")}));return{get:d,getList:m,create:m.push.extend({name:f("create")}),update:new i(e({},l,{path:n,schema:r,method:"PUT",name:f("update")})),partialUpdate:new i(e({},p,{path:n,schema:r,method:"PATCH",name:f("partialUpdate")})),delete:new i(e({},l,{path:n,schema:r.process?new Yn(r):r,method:"DELETE",name:f("delete"),process:(t,e)=>t&&Object.keys(t).length?t:e,getOptimisticResponse:s?er:void 0})),extend(...t){if("string"==typeof t[0]){const[n,r]=t;if(n in this){const t=e({},this);return h(t,n,r),t}return e({},this,{[n]:this.get.extend(r)})}if("function"==typeof t[0]){return e({},this,t[0](this))}const n=t[0],r=e({},this);for(const t in n)h(r,t,n[t]);return r}}}function tr(t,n,r){return e({},n,nr(r))}function er(t,e){return e}function nr(t){return t instanceof FormData?Object.fromEntries(t.entries()):t}t.Endpoint=Tn,t.Entity=xn,t.EntityMixin=En,t.ExtendableEndpoint=Cn,t.INVALID=f,t.NetworkError=Ln,t.RestEndpoint=Bn,t.createResource=Zn,t.getUrlBase=Un,t.getUrlTokens=Wn,t.hookifyResource=function(t,e){const n={};return Object.keys(t).forEach((r=>{const i=t[r];var o;void 0!==i.extend&&(n[`use${o=r,o.charAt(0).toUpperCase()+o.slice(1)}`]=()=>{const t=e();return i.extend({requestInit:t})})})),n},t.resource=Zn,t.schema=Sn,t.validateRequired=function(t,e){let n="";if(Object.keys(e).some((e=>!wn(t,e)&&(n=e,!0))))return`Missing key ${n}`}}));
@@ -3,11 +3,6 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
3
3
  import _classPrivateFieldLooseBase from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseBase";
4
4
  import _classPrivateFieldLooseKey from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseKey";
5
5
  import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
6
- import _Promise from "core-js-pure/stable/promise/index.js";
7
- import _startsWithInstanceProperty from "core-js-pure/stable/instance/starts-with.js";
8
- import _Object$assign from "core-js-pure/stable/object/assign.js";
9
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
10
- import _unshiftInstanceProperty from "core-js-pure/stable/instance/unshift.js";
11
6
  import { Endpoint } from '@data-client/endpoint';
12
7
  import { pathToRegexp } from 'path-to-regexp';
13
8
  import extractCollection from './extractCollection.js';
@@ -120,7 +115,7 @@ export default class RestEndpoint extends Endpoint {
120
115
  parseResponse(response) {
121
116
  var _response$headers$get;
122
117
  // this should not have any content to read
123
- if (response.status === 204) return _Promise.resolve(null);
118
+ if (response.status === 204) return Promise.resolve(null);
124
119
  if (!((_response$headers$get = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get).call(_response$headers$get, 'json'))) {
125
120
  return response.text().then(text => {
126
121
  var _context2;
@@ -134,7 +129,7 @@ export default class RestEndpoint extends Endpoint {
134
129
  /* istanbul ignore else */
135
130
  if (process.env.NODE_ENV !== 'production') {
136
131
  var _response$headers$get2;
137
- if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get2).call(_response$headers$get2, 'html') || _startsWithInstanceProperty(text).call(text, '<!doctype html>'))) {
132
+ if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get2).call(_response$headers$get2, 'html') || text.startsWith('<!doctype html>'))) {
138
133
  if (tryParse(text) !== undefined) {
139
134
  error.message = `"content-type" header does not include "json", but JSON response found.
140
135
  See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
@@ -168,7 +163,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
168
163
  }
169
164
  testKey(key) {
170
165
  const prefix = this.method + ' ' + this.urlPrefix;
171
- if (!_startsWithInstanceProperty(key).call(key, prefix)) return false;
166
+ if (!key.startsWith(prefix)) return false;
172
167
  let lastQuestion = key.lastIndexOf('?');
173
168
  if (lastQuestion === -1) lastQuestion = undefined;
174
169
  return this.pathRegex.test(key.substring(prefix.length, lastQuestion));
@@ -177,7 +172,7 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
177
172
  // make a constructor/prototype based off this
178
173
  // extend from it and init with options sent
179
174
  class E extends this.constructor {}
180
- _Object$assign(E.prototype, this);
175
+ Object.assign(E.prototype, this);
181
176
  return new E(// fetch get overridden by function prototype, so we must set it explicitly every time
182
177
  _extends({
183
178
  fetch: this.fetch
@@ -214,14 +209,14 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
214
209
  get push() {
215
210
  return this.extend({
216
211
  method: 'POST',
217
- schema: extractCollection(this.schema, s => _pushInstanceProperty(s)),
212
+ schema: extractCollection(this.schema, s => s.push),
218
213
  name: this.name + '.create'
219
214
  });
220
215
  }
221
216
  get unshift() {
222
217
  return this.extend({
223
218
  method: 'POST',
224
- schema: extractCollection(this.schema, s => _unshiftInstanceProperty(s)),
219
+ schema: extractCollection(this.schema, s => s.unshift),
225
220
  name: this.name + '.create'
226
221
  });
227
222
  }
@@ -240,4 +235,4 @@ const tryParse = input => {
240
235
  return undefined;
241
236
  }
242
237
  };
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJfY29udGV4dCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwic2VhcmNoVG9TdHJpbmciLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsIl9leHRlbmRzIiwicmVxdWVzdEluaXQiLCJzaWduYWwiLCJpbnB1dCIsIm9rIiwiY2F0Y2giLCJlcnJvciIsIlR5cGVFcnJvciIsInN0YXR1cyIsIl9yZXNwb25zZSRoZWFkZXJzJGdldCIsIl9Qcm9taXNlIiwicmVzb2x2ZSIsInRleHQiLCJfY29udGV4dDIiLCJzY2hlbWEiLCJwcm90b3R5cGUiLCJtZXNzYWdlIiwiZW52IiwiTk9ERV9FTlYiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQyIiwiX3N0YXJ0c1dpdGhJbnN0YW5jZVByb3BlcnR5IiwidHJ5UGFyc2UiLCJzdWJzdHJpbmciLCJqc29uIiwiZXJyb3JQb2xpY3kiLCJwYXRoUmVnZXgiLCJ0ZXN0S2V5IiwicHJlZml4IiwibGFzdFF1ZXN0aW9uIiwibGFzdEluZGV4T2YiLCJ0ZXN0IiwiZXh0ZW5kIiwiRSIsIl9PYmplY3QkYXNzaWduIiwicGFnaW5hdGVkIiwicmVtb3ZlQ3Vyc29yIiwiZmllbGROYW1lIiwiX3JlZiIsInBhcmFtcyIsIl9vYmplY3REZXN0cnVjdHVyaW5nRW1wdHkiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJuZXdTY2hlbWEiLCJFcnJvciIsInN1cCIsIm5hbWUiLCJnZXRQYWdlIiwicGFnaW5hdGlvbkZpZWxkIiwicHVzaCIsInMiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJ1bnNoaWZ0IiwiX3Vuc2hpZnRJbnN0YW5jZVByb3BlcnR5IiwiYXNzaWduIiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICA6IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1ldGhvZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGhvZCA9IHRoaXMuc2lkZUVmZmVjdCA/ICdQT1NUJyA6ICdHRVQnO1xuICAgIH1cbiAgICBpZiAodGhpcy51cmxQcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51cmxQcmVmaXggPSAnJztcbiAgICB9XG4gICAgdGhpcy4jaGFzQm9keSA9XG4gICAgICAoISgnYm9keScgaW4gdGhpcykgfHwgdGhpcy5ib2R5ICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAhWydHRVQnLCAnREVMRVRFJ10uaW5jbHVkZXModGhpcy5tZXRob2QpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICduYW1lJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICAvLyB1c2luZyAnaW4nIHRvIGVuc3VyZSBpbmhlcml0YW5jZSBsb29rdXBcbiAgICAgICAgaWYgKCdfX25hbWUnIGluIHRoaXMpIHJldHVybiB0aGlzLl9fbmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJsUHJlZml4ICsgdGhpcy5wYXRoO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGtleSguLi5hcmdzKSB7XG4gICAgcmV0dXJuIGAke3RoaXMubWV0aG9kfSAke3RoaXMudXJsKFxuICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge30sXG4gICAgKX1gO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgdXJsICovXG4gIHVybCh1cmxQYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IHVybEJhc2UgPSBnZXRVcmxCYXNlKHRoaXMucGF0aCkodXJsUGFyYW1zKTtcbiAgICBjb25zdCB0b2tlbnMgPSBnZXRVcmxUb2tlbnModGhpcy5wYXRoKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1cmxQYXJhbXMpLmZvckVhY2goayA9PiB7XG4gICAgICBpZiAoIXRva2Vucy5oYXMoaykpIHtcbiAgICAgICAgc2VhcmNoUGFyYW1zW2tdID0gdXJsUGFyYW1zW2tdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX0/JHt0aGlzLnNlYXJjaFRvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgLyoqIEVuY29kZSB0aGUgdXJsIHNlYXJjaFBhcmFtcyAqL1xuICBzZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpIHtcbiAgICByZXR1cm4gcGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKTtcbiAgfVxuXG4gIGdldEhlYWRlcnMoaGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbiAgLyoqIEluaXQgb3B0aW9ucyBmb3IgZmV0Y2ggLSBydW4gYXQgZmV0Y2ggKi9cbiAgYXN5bmMgZ2V0UmVxdWVzdEluaXQoYm9keSkge1xuICAgIGNvbnN0IGJvZHlJc1Bvam8gPSBpc1Bvam8oYm9keSk7XG4gICAgaWYgKGJvZHlJc1Bvam8pIHtcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcbiAgICB9XG4gICAgY29uc3QgaW5pdCA9IHtcbiAgICAgIC4uLnRoaXMucmVxdWVzdEluaXQsXG4gICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbCxcbiAgICAgIGJvZHksXG4gICAgfTtcbiAgICBpZiAoIWJvZHkgfHwgYm9keUlzUG9qbykge1xuICAgICAgaW5pdC5oZWFkZXJzID0ge1xuICAgICAgICAvLyBkZWZhdWx0IHRvIGFwcGxpY2F0aW9uL2pzb24gYnV0IGFsbG93IHVzZXIgZXhwbGljaXQgb3ZlcnJpZGVzXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLmluaXQuaGVhZGVycyxcbiAgICAgIH07XG4gICAgfVxuICAgIGluaXQuaGVhZGVycyA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVycyhpbml0LmhlYWRlcnMpO1xuICAgIHJldHVybiBpbml0O1xuICB9XG5cbiAgLyoqIFBlcmZvcm0gbmV0d29yayByZXF1ZXN0IGFuZCByZXNvbHZlIHdpdGggSFRUUCBSZXNwb25zZSAqL1xuICBmZXRjaFJlc3BvbnNlKGlucHV0LCBpbml0KSB7XG4gICAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIC8vIGVuc3VyZSBDT1JTLCBuZXR3b3JrIGRvd24sIGFuZCBwYXJzZSBlcnJvcnMgYXJlIHN0aWxsIGNhdWdodCBieSBOZXR3b3JrRXJyb3JCb3VuZGFyeVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICBlcnJvci5zdGF0dXMgPSA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAvLyB0aGlzIHNob3VsZCBub3QgaGF2ZSBhbnkgY29udGVudCB0byByZWFkXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIGlmICghcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnanNvbicpKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgIC8vIHN0cmluZyBvciAnbm90IHNldCcgc2NoZW1hLCBhcmUgdmFsaWRcbiAgICAgICAgLy8gd2hlbiBvdmVycmlkaW5nIHByb2Nlc3MgdGhleSBtaWdodCBoYW5kbGUgb3RoZXIgY2FzZXMsIHNvIHdlIGRvbid0IHdhbnQgdG8gYmxvY2sgb24gb3VyIGxvZ2ljXG4gICAgICAgIGlmIChcbiAgICAgICAgICBbJ3N0cmluZycsICd1bmRlZmluZWQnXS5pbmNsdWRlcyh0eXBlb2YgdGhpcy5zY2hlbWEpIHx8XG4gICAgICAgICAgdGhpcy5zY2hlbWEgPT09IG51bGwgfHxcbiAgICAgICAgICB0aGlzLnByb2Nlc3MgIT09IFJlc3RFbmRwb2ludC5wcm90b3R5cGUucHJvY2Vzc1xuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgZXJyb3Iuc3RhdHVzID0gNDA0O1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgdGV4dCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9YDtcbiAgICAgICAgLy8gY3VzdG9tIGRldi1vbmx5IG1lc3NhZ2VzIGZvciBtb3JlIGRldGFpbGVkIGNhdXNlXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnaHRtbCcpIHx8XG4gICAgICAgICAgICAgIHRleHQuc3RhcnRzV2l0aCgnPCFkb2N0eXBlIGh0bWw+JylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0cnlQYXJzZSh0ZXh0KSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgXCJjb250ZW50LXR5cGVcIiBoZWFkZXIgZG9lcyBub3QgaW5jbHVkZSBcImpzb25cIiwgYnV0IEpTT04gcmVzcG9uc2UgZm91bmQuXG5TZWUgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzQ2MjcgZm9yIGluZm9ybWF0aW9uIG9uIEpTT04gcmVzcG9uc2VzXG5cblVzaW5nIHBhcnNlZCBKU09OLlxuSWYgdGV4dCBjb250ZW50IHdhcyBleHBlY3RlZCBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuXG4gICAgcmV0dXJuIG5ldyBFKFxuICAgICAgLy8gIGZldGNoIGdldCBvdmVycmlkZGVuIGJ5IGZ1bmN0aW9uIHByb3RvdHlwZSwgc28gd2UgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBldmVyeSB0aW1lXG4gICAgICB7IGZldGNoOiB0aGlzLmZldGNoLCAuLi5vcHRpb25zIH0sXG4gICAgKTtcbiAgfVxuXG4gIHBhZ2luYXRlZChyZW1vdmVDdXJzb3IpIHtcbiAgICBpZiAodHlwZW9mIHJlbW92ZUN1cnNvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHJlbW92ZUN1cnNvcjtcbiAgICAgIHJlbW92ZUN1cnNvciA9ICh7IC4uLnBhcmFtcyB9KSA9PiB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNbZmllbGROYW1lXTtcbiAgICAgICAgcmV0dXJuIFtwYXJhbXNdO1xuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgY29uc3QgY3JlYXRlUGFnaW5hdGVkU2NoZW1hID0gY29sbGVjdGlvbiA9PiB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gY3JlYXRlUGFnaW5hdGlvblNjaGVtYShyZW1vdmVDdXJzb3IsIGNvbGxlY3Rpb24pO1xuICAgIH07XG4gICAgY29uc3QgbmV3U2NoZW1hID0gbWFwQ29sbGVjdGlvbih0aGlzLnNjaGVtYSwgY3JlYXRlUGFnaW5hdGVkU2NoZW1hKTtcblxuICAgIGlmICghZm91bmQpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBDb2xsZWN0aW9uJyk7XG4gICAgY29uc3Qgc3VwID0gdGhpcztcblxuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBzY2hlbWE6IG5ld1NjaGVtYSxcbiAgICAgIGtleSguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiBzdXAua2V5LmNhbGwodGhpcywgLi4ucmVtb3ZlQ3Vyc29yKC4uLmFyZ3MpKTtcbiAgICAgIH0sXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmdldFBhZ2UnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdldFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGVkKHRoaXMucGFnaW5hdGlvbkZpZWxkKTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1C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
238
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJfY29udGV4dCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwic2VhcmNoVG9TdHJpbmciLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsIl9leHRlbmRzIiwicmVxdWVzdEluaXQiLCJzaWduYWwiLCJpbnB1dCIsIm9rIiwiY2F0Y2giLCJlcnJvciIsIlR5cGVFcnJvciIsInN0YXR1cyIsIl9yZXNwb25zZSRoZWFkZXJzJGdldCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGV4dCIsIl9jb250ZXh0MiIsInNjaGVtYSIsInByb3RvdHlwZSIsIm1lc3NhZ2UiLCJlbnYiLCJOT0RFX0VOViIsIl9yZXNwb25zZSRoZWFkZXJzJGdldDIiLCJzdGFydHNXaXRoIiwidHJ5UGFyc2UiLCJzdWJzdHJpbmciLCJqc29uIiwiZXJyb3JQb2xpY3kiLCJwYXRoUmVnZXgiLCJ0ZXN0S2V5IiwicHJlZml4IiwibGFzdFF1ZXN0aW9uIiwibGFzdEluZGV4T2YiLCJ0ZXN0IiwiZXh0ZW5kIiwiRSIsImFzc2lnbiIsInBhZ2luYXRlZCIsInJlbW92ZUN1cnNvciIsImZpZWxkTmFtZSIsIl9yZWYiLCJwYXJhbXMiLCJfb2JqZWN0RGVzdHJ1Y3R1cmluZ0VtcHR5IiwiZm91bmQiLCJjcmVhdGVQYWdpbmF0ZWRTY2hlbWEiLCJjb2xsZWN0aW9uIiwibmV3U2NoZW1hIiwiRXJyb3IiLCJzdXAiLCJuYW1lIiwiZ2V0UGFnZSIsInBhZ2luYXRpb25GaWVsZCIsInB1c2giLCJzIiwidW5zaGlmdCIsInBhcnNlIiwiZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXN0RW5kcG9pbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgcGF0aFRvUmVnZXhwIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuXG5pbXBvcnQgZXh0cmFjdENvbGxlY3Rpb24gZnJvbSAnLi9leHRyYWN0Q29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgbWFwQ29sbGVjdGlvbiBmcm9tICcuL21hcENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IE5ldHdvcmtFcnJvciBmcm9tICcuL05ldHdvcmtFcnJvci5qcyc7XG5pbXBvcnQgeyBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9wYWdpbmF0ZWRDb2xsZWN0aW9ucy5qcyc7XG5pbXBvcnQgcGFyYW1zVG9TdHJpbmcgZnJvbSAnLi9wYXJhbXNUb1N0cmluZy5qcyc7XG5pbXBvcnQgeyBnZXRVcmxCYXNlLCBnZXRVcmxUb2tlbnMsIGlzUG9qbyB9IGZyb20gJy4vUmVzdEhlbHBlcnMuanMnO1xuXG4vKiogU2ltcGxpZmllcyBlbmRwb2ludCBkZWZpbml0aW9ucyB0aGF0IGZvbGxvdyBSRVNUIHBhdHRlcm5zXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlc3RFbmRwb2ludCBleHRlbmRzIEVuZHBvaW50IHtcbiAgI2hhc0JvZHk7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIG9wdGlvbnMuZmV0Y2ggPz9cbiAgICAgICAgYXN5bmMgZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB1cmxQYXJhbXMgPVxuICAgICAgICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge307XG4gICAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuI2hhc0JvZHkgPyBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hSZXNwb25zZShcbiAgICAgICAgICAgIHRoaXMudXJsKHVybFBhcmFtcyksXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFJlcXVlc3RJbml0KGJvZHkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHRoaXMucGFyc2VSZXNwb25zZShyZXNwb25zZSkpXG4gICAgICAgICAgICAudGhlbihyZXMgPT4gdGhpcy5wcm9jZXNzKHJlcywgLi4uYXJncykpO1xuICAgICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICAgIC8vIHdlIHdhbnQgdG8gdXNlIHRoZSBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIGlmIChcbiAgICAgICEoJ3NpZGVFZmZlY3QnIGluIHRoaXMpIHx8XG4gICAgICAoJ21ldGhvZCcgaW4gb3B0aW9ucyAmJiAhKCdzaWRlRWZmZWN0JyBpbiBvcHRpb25zKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2lkZUVmZmVjdCA9XG4gICAgICAgIG9wdGlvbnMubWV0aG9kID09PSAnR0VUJyB8fCBvcHRpb25zLm1ldGhvZCA9PT0gdW5kZWZpbmVkID9cbiAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgOiB0cnVlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tZXRob2QgPSB0aGlzLnNpZGVFZmZlY3QgPyAnUE9TVCcgOiAnR0VUJztcbiAgICB9XG4gICAgaWYgKHRoaXMudXJsUHJlZml4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudXJsUHJlZml4ID0gJyc7XG4gICAgfVxuICAgIHRoaXMuI2hhc0JvZHkgPVxuICAgICAgKCEoJ2JvZHknIGluIHRoaXMpIHx8IHRoaXMuYm9keSAhPT0gdW5kZWZpbmVkKSAmJlxuICAgICAgIVsnR0VUJywgJ0RFTEVURSddLmluY2x1ZGVzKHRoaXMubWV0aG9kKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbmFtZScsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgLy8gdXNpbmcgJ2luJyB0byBlbnN1cmUgaW5oZXJpdGFuY2UgbG9va3VwXG4gICAgICAgIGlmICgnX19uYW1lJyBpbiB0aGlzKSByZXR1cm4gdGhpcy5fX25hbWU7XG4gICAgICAgIHJldHVybiB0aGlzLnVybFByZWZpeCArIHRoaXMucGF0aDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBrZXkoLi4uYXJncykge1xuICAgIHJldHVybiBgJHt0aGlzLm1ldGhvZH0gJHt0aGlzLnVybChcbiAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9LFxuICAgICl9YDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHVybCAqL1xuICB1cmwodXJsUGFyYW1zID0ge30pIHtcbiAgICBjb25zdCB1cmxCYXNlID0gZ2V0VXJsQmFzZSh0aGlzLnBhdGgpKHVybFBhcmFtcyk7XG4gICAgY29uc3QgdG9rZW5zID0gZ2V0VXJsVG9rZW5zKHRoaXMucGF0aCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge307XG4gICAgT2JqZWN0LmtleXModXJsUGFyYW1zKS5mb3JFYWNoKGsgPT4ge1xuICAgICAgaWYgKCF0b2tlbnMuaGFzKGspKSB7XG4gICAgICAgIHNlYXJjaFBhcmFtc1trXSA9IHVybFBhcmFtc1trXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9PyR7dGhpcy5zZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpfWA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnVybFByZWZpeH0ke3VybEJhc2V9YDtcbiAgfVxuXG4gIC8qKiBFbmNvZGUgdGhlIHVybCBzZWFyY2hQYXJhbXMgKi9cbiAgc2VhcmNoVG9TdHJpbmcoc2VhcmNoUGFyYW1zKSB7XG4gICAgcmV0dXJuIHBhcmFtc1RvU3RyaW5nKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBnZXRIZWFkZXJzKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gaGVhZGVycztcbiAgfVxuXG4gIC8qKiBJbml0IG9wdGlvbnMgZm9yIGZldGNoIC0gcnVuIGF0IGZldGNoICovXG4gIGFzeW5jIGdldFJlcXVlc3RJbml0KGJvZHkpIHtcbiAgICBjb25zdCBib2R5SXNQb2pvID0gaXNQb2pvKGJvZHkpO1xuICAgIGlmIChib2R5SXNQb2pvKSB7XG4gICAgICBib2R5ID0gSlNPTi5zdHJpbmdpZnkoYm9keSk7XG4gICAgfVxuICAgIGNvbnN0IGluaXQgPSB7XG4gICAgICAuLi50aGlzLnJlcXVlc3RJbml0LFxuICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgIHNpZ25hbDogdGhpcy5zaWduYWwsXG4gICAgICBib2R5LFxuICAgIH07XG4gICAgaWYgKCFib2R5IHx8IGJvZHlJc1Bvam8pIHtcbiAgICAgIGluaXQuaGVhZGVycyA9IHtcbiAgICAgICAgLy8gZGVmYXVsdCB0byBhcHBsaWNhdGlvbi9qc29uIGJ1dCBhbGxvdyB1c2VyIGV4cGxpY2l0IG92ZXJyaWRlc1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5pbml0LmhlYWRlcnMsXG4gICAgICB9O1xuICAgIH1cbiAgICBpbml0LmhlYWRlcnMgPSBhd2FpdCB0aGlzLmdldEhlYWRlcnMoaW5pdC5oZWFkZXJzKTtcbiAgICByZXR1cm4gaW5pdDtcbiAgfVxuXG4gIC8qKiBQZXJmb3JtIG5ldHdvcmsgcmVxdWVzdCBhbmQgcmVzb2x2ZSB3aXRoIEhUVFAgUmVzcG9uc2UgKi9cbiAgZmV0Y2hSZXNwb25zZShpbnB1dCwgaW5pdCkge1xuICAgIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIHRocm93IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAvLyBlbnN1cmUgQ09SUywgbmV0d29yayBkb3duLCBhbmQgcGFyc2UgZXJyb3JzIGFyZSBzdGlsbCBjYXVnaHQgYnkgTmV0d29ya0Vycm9yQm91bmRhcnlcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7XG4gICAgICAgICAgZXJyb3Iuc3RhdHVzID0gNTAwO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH1cblxuICBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSB7XG4gICAgLy8gdGhpcyBzaG91bGQgbm90IGhhdmUgYW55IGNvbnRlbnQgdG8gcmVhZFxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwNCkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICBpZiAoIXJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2pzb24nKSkge1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgICAgICAvLyBzdHJpbmcgb3IgJ25vdCBzZXQnIHNjaGVtYSwgYXJlIHZhbGlkXG4gICAgICAgIC8vIHdoZW4gb3ZlcnJpZGluZyBwcm9jZXNzIHRoZXkgbWlnaHQgaGFuZGxlIG90aGVyIGNhc2VzLCBzbyB3ZSBkb24ndCB3YW50IHRvIGJsb2NrIG9uIG91ciBsb2dpY1xuICAgICAgICBpZiAoXG4gICAgICAgICAgWydzdHJpbmcnLCAndW5kZWZpbmVkJ10uaW5jbHVkZXModHlwZW9mIHRoaXMuc2NoZW1hKSB8fFxuICAgICAgICAgIHRoaXMuc2NoZW1hID09PSBudWxsIHx8XG4gICAgICAgICAgdGhpcy5wcm9jZXNzICE9PSBSZXN0RW5kcG9pbnQucHJvdG90eXBlLnByb2Nlc3NcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybiB0ZXh0O1xuXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIGVycm9yLnN0YXR1cyA9IDQwNDtcbiAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRleHQgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfWA7XG4gICAgICAgIC8vIGN1c3RvbSBkZXYtb25seSBtZXNzYWdlcyBmb3IgbW9yZSBkZXRhaWxlZCBjYXVzZVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKT8uaW5jbHVkZXMoJ2h0bWwnKSB8fFxuICAgICAgICAgICAgICB0ZXh0LnN0YXJ0c1dpdGgoJzwhZG9jdHlwZSBodG1sPicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAodHJ5UGFyc2UodGV4dCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFwiY29udGVudC10eXBlXCIgaGVhZGVyIGRvZXMgbm90IGluY2x1ZGUgXCJqc29uXCIsIGJ1dCBKU09OIHJlc3BvbnNlIGZvdW5kLlxuU2VlIGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmM0NjI3IGZvciBpbmZvcm1hdGlvbiBvbiBKU09OIHJlc3BvbnNlc1xuXG5Vc2luZyBwYXJzZWQgSlNPTi5cbklmIHRleHQgY29udGVudCB3YXMgZXhwZWN0ZWQgc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnQjcGFyc2VSZXNwb25zZWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCBodG1sIHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1cblRoaXMgbGlrZWx5IG1lYW5zIG5vIEFQSSBlbmRwb2ludCB3YXMgY29uZmlndXJlZCBmb3IgdGhpcyByZXF1ZXN0LCByZXN1bHRpbmcgaW4gYW4gSFRNTCBmYWxsYmFjay5cblxuUmVzcG9uc2UgKGZpcnN0IDMwMCBjaGFyYWN0ZXJzKTogJHt0ZXh0LnN1YnN0cmluZygwLCAzMDApfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgZXJyb3Iuc3RhdHVzID0gNDAwO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH1cblxuICBwcm9jZXNzKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZXJyb3JQb2xpY3koZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID49IDUwMCA/ICdzb2Z0JyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBwYXRoUmVnZXgoKSB7XG4gICAgcmV0dXJuIHBhdGhUb1JlZ2V4cCh0aGlzLnBhdGgpO1xuICB9XG5cbiAgdGVzdEtleShrZXkpIHtcbiAgICBjb25zdCBwcmVmaXggPSB0aGlzLm1ldGhvZCArICcgJyArIHRoaXMudXJsUHJlZml4O1xuICAgIGlmICgha2V5LnN0YXJ0c1dpdGgocHJlZml4KSkgcmV0dXJuIGZhbHNlO1xuICAgIGxldCBsYXN0UXVlc3Rpb24gPSBrZXkubGFzdEluZGV4T2YoJz8nKTtcbiAgICBpZiAobGFzdFF1ZXN0aW9uID09PSAtMSkgbGFzdFF1ZXN0aW9uID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhdGhSZWdleC50ZXN0KGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCwgbGFzdFF1ZXN0aW9uKSk7XG4gIH1cblxuICBleHRlbmQob3B0aW9ucykge1xuICAgIC8vIG1ha2UgYSBjb25zdHJ1Y3Rvci9wcm90b3R5cGUgYmFzZWQgb2ZmIHRoaXNcbiAgICAvLyBleHRlbmQgZnJvbSBpdCBhbmQgaW5pdCB3aXRoIG9wdGlvbnMgc2VudFxuICAgIGNsYXNzIEUgZXh0ZW5kcyB0aGlzLmNvbnN0cnVjdG9yIHt9XG5cbiAgICBPYmplY3QuYXNzaWduKEUucHJvdG90eXBlLCB0aGlzKTtcblxuICAgIHJldHVybiBuZXcgRShcbiAgICAgIC8vICBmZXRjaCBnZXQgb3ZlcnJpZGRlbiBieSBmdW5jdGlvbiBwcm90b3R5cGUsIHNvIHdlIG11c3Qgc2V0IGl0IGV4cGxpY2l0bHkgZXZlcnkgdGltZVxuICAgICAgeyBmZXRjaDogdGhpcy5mZXRjaCwgLi4ub3B0aW9ucyB9LFxuICAgICk7XG4gIH1cblxuICBwYWdpbmF0ZWQocmVtb3ZlQ3Vyc29yKSB7XG4gICAgaWYgKHR5cGVvZiByZW1vdmVDdXJzb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSByZW1vdmVDdXJzb3I7XG4gICAgICByZW1vdmVDdXJzb3IgPSAoeyAuLi5wYXJhbXMgfSkgPT4ge1xuICAgICAgICBkZWxldGUgcGFyYW1zW2ZpZWxkTmFtZV07XG4gICAgICAgIHJldHVybiBbcGFyYW1zXTtcbiAgICAgIH07XG4gICAgfVxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgIGNvbnN0IGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSA9IGNvbGxlY3Rpb24gPT4ge1xuICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEocmVtb3ZlQ3Vyc29yLCBjb2xsZWN0aW9uKTtcbiAgICB9O1xuICAgIGNvbnN0IG5ld1NjaGVtYSA9IG1hcENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIGNyZWF0ZVBhZ2luYXRlZFNjaGVtYSk7XG5cbiAgICBpZiAoIWZvdW5kKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgQ29sbGVjdGlvbicpO1xuICAgIGNvbnN0IHN1cCA9IHRoaXM7XG5cbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgc2NoZW1hOiBuZXdTY2hlbWEsXG4gICAgICBrZXkoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gc3VwLmtleS5jYWxsKHRoaXMsIC4uLnJlbW92ZUN1cnNvciguLi5hcmdzKSk7XG4gICAgICB9LFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5nZXRQYWdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBnZXRQYWdlKCkge1xuICAgIHJldHVybiB0aGlzLnBhZ2luYXRlZCh0aGlzLnBhZ2luYXRpb25GaWVsZCk7XG4gIH1cblxuICBnZXQgcHVzaCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMucHVzaCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgdW5zaGlmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMudW5zaGlmdCksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgYXNzaWduKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5hc3NpZ24pLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IHRyeVBhcnNlID0gaW5wdXQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGlucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHVCQUF1QjtBQUNoRCxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBRTdDLE9BQU9DLGlCQUFpQixNQUFNLHdCQUF3QjtBQUN0RCxPQUFPQyxhQUFhLE1BQU0sb0JBQW9CO0FBQzlDLE9BQU9DLFlBQVksTUFBTSxtQkFBbUI7QUFDNUMsU0FBU0Msc0JBQXNCLFFBQVEsMkJBQTJCO0FBQ2xFLE9BQU9DLGNBQWMsTUFBTSxxQkFBcUI7QUFDaEQsU0FBU0MsVUFBVSxFQUFFQyxZQUFZLEVBQUVDLE1BQU0sUUFBUSxrQkFBa0I7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBSEEsSUFBQUMsUUFBQSxnQkFBQUMsMEJBQUE7QUFJQSxlQUFlLE1BQU1DLFlBQVksU0FBU1osUUFBUSxDQUFDO0VBRWpEYSxXQUFXQSxDQUFDQyxPQUFPLEVBQUU7SUFBQSxJQUFBQyxjQUFBLEVBQUFDLFFBQUE7SUFDbkIsS0FBSyxFQUFBRCxjQUFBLEdBQ0hELE9BQU8sQ0FBQ0csS0FBSyxZQUFBRixjQUFBLEdBQ1gsZ0JBQWdCLEdBQUdHLElBQUksRUFBRTtNQUN2QixNQUFNQyxTQUFTLEdBQ2JDLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLEtBQWFRLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztNQUN2RCxNQUFNSSxJQUFJLEdBQUdGLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLElBQVlRLElBQUksQ0FBQ0EsSUFBSSxDQUFDRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUdFLFNBQVM7TUFDOUQsT0FBTyxJQUFJLENBQUNDLGFBQWEsQ0FDdkIsSUFBSSxDQUFDQyxHQUFHLENBQUNOLFNBQVMsQ0FBQyxFQUNuQixNQUFNLElBQUksQ0FBQ08sY0FBYyxDQUFDSixJQUFJLENBQ2hDLENBQUMsQ0FDRUssSUFBSSxDQUFDQyxRQUFRLElBQUksSUFBSSxDQUFDQyxhQUFhLENBQUNELFFBQVEsQ0FBQyxDQUFDLENBQzlDRCxJQUFJLENBQUNHLEdBQUcsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsR0FBRyxFQUFFLEdBQUdaLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsRUFDSEosT0FDRixDQUFDO0lBQ0Q7SUFBQWtCLE1BQUEsQ0FBQUMsY0FBQSxPQUFBdkIsUUFBQTtNQUFBd0IsUUFBQTtNQUFBQyxLQUFBO0lBQUE7SUFDQSxJQUNFLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUN0QixRQUFRLElBQUlyQixPQUFPLElBQUksRUFBRSxZQUFZLElBQUlBLE9BQU8sQ0FBRSxFQUNuRDtNQUNBLElBQUksQ0FBQ3NCLFVBQVUsR0FDYnRCLE9BQU8sQ0FBQ3VCLE1BQU0sS0FBSyxLQUFLLElBQUl2QixPQUFPLENBQUN1QixNQUFNLEtBQUtkLFNBQVMsR0FDdERBLFNBQVMsR0FDVCxJQUFJO0lBQ1Y7SUFDQSxJQUFJLElBQUksQ0FBQ2MsTUFBTSxLQUFLZCxTQUFTLEVBQUU7TUFDN0IsSUFBSSxDQUFDYyxNQUFNLEdBQUcsSUFBSSxDQUFDRCxVQUFVLEdBQUcsTUFBTSxHQUFHLEtBQUs7SUFDaEQ7SUFDQSxJQUFJLElBQUksQ0FBQ0UsU0FBUyxLQUFLZixTQUFTLEVBQUU7TUFDaEMsSUFBSSxDQUFDZSxTQUFTLEdBQUcsRUFBRTtJQUNyQjtJQUNBbEIsMkJBQUEsS0FBSSxFQUFBVixRQUFBLEVBQUFBLFFBQUEsSUFDRixDQUFDLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQ1ksSUFBSSxLQUFLQyxTQUFTLEtBQzdDLENBQUNnQix5QkFBQSxDQUFBdkIsUUFBQSxJQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBQXdCLElBQUEsQ0FBQXhCLFFBQUEsRUFBVSxJQUFJLENBQUNxQixNQUFNLENBQUM7SUFFMUNMLE1BQU0sQ0FBQ0MsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7TUFDbENRLEdBQUdBLENBQUEsRUFBRztRQUNKO1FBQ0EsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLE9BQU8sSUFBSSxDQUFDQyxNQUFNO1FBQ3hDLE9BQU8sSUFBSSxDQUFDSixTQUFTLEdBQUcsSUFBSSxDQUFDSyxJQUFJO01BQ25DO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7RUFFQUMsR0FBR0EsQ0FBQyxHQUFHMUIsSUFBSSxFQUFFO0lBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQ21CLE1BQU0sSUFBSSxJQUFJLENBQUNaLEdBQUcsQ0FDL0JMLDJCQUFBLEtBQUksRUFBQVYsUUFBQSxFQUFBQSxRQUFBLEtBQWFRLElBQUksQ0FBQ0csTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEQsQ0FBQyxFQUFFO0VBQ0w7O0VBRUE7RUFDQU8sR0FBR0EsQ0FBQ04sU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ2xCLE1BQU0wQixPQUFPLEdBQUd0QyxVQUFVLENBQUMsSUFBSSxDQUFDb0MsSUFBSSxDQUFDLENBQUN4QixTQUFTLENBQUM7SUFDaEQsTUFBTTJCLE1BQU0sR0FBR3RDLFlBQVksQ0FBQyxJQUFJLENBQUNtQyxJQUFJLENBQUM7SUFDdEMsTUFBTUksWUFBWSxHQUFHLENBQUMsQ0FBQztJQUN2QmYsTUFBTSxDQUFDZ0IsSUFBSSxDQUFDN0IsU0FBUyxDQUFDLENBQUM4QixPQUFPLENBQUNDLENBQUMsSUFBSTtNQUNsQyxJQUFJLENBQUNKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDRCxDQUFDLENBQUMsRUFBRTtRQUNsQkgsWUFBWSxDQUFDRyxDQUFDLENBQUMsR0FBRy9CLFNBQVMsQ0FBQytCLENBQUMsQ0FBQztNQUNoQztJQUNGLENBQUMsQ0FBQztJQUNGLElBQUlsQixNQUFNLENBQUNnQixJQUFJLENBQUNELFlBQVksQ0FBQyxDQUFDMUIsTUFBTSxFQUFFO01BQ3BDLE9BQU8sR0FBRyxJQUFJLENBQUNpQixTQUFTLEdBQUdPLE9BQU8sSUFBSSxJQUFJLENBQUNPLGNBQWMsQ0FBQ0wsWUFBWSxDQUFDLEVBQUU7SUFDM0U7SUFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDVCxTQUFTLEdBQUdPLE9BQU8sRUFBRTtFQUN0Qzs7RUFFQTtFQUNBTyxjQUFjQSxDQUFDTCxZQUFZLEVBQUU7SUFDM0IsT0FBT3pDLGNBQWMsQ0FBQ3lDLFlBQVksQ0FBQztFQUNyQztFQUVBTSxVQUFVQSxDQUFDQyxPQUFPLEVBQUU7SUFDbEIsT0FBT0EsT0FBTztFQUNoQjs7RUFFQTtFQUNBLE1BQU01QixjQUFjQSxDQUFDSixJQUFJLEVBQUU7SUFDekIsTUFBTWlDLFVBQVUsR0FBRzlDLE1BQU0sQ0FBQ2EsSUFBSSxDQUFDO0lBQy9CLElBQUlpQyxVQUFVLEVBQUU7TUFDZGpDLElBQUksR0FBR2tDLElBQUksQ0FBQ0MsU0FBUyxDQUFDbkMsSUFBSSxDQUFDO0lBQzdCO0lBQ0EsTUFBTW9DLElBQUksR0FBQUMsUUFBQSxLQUNMLElBQUksQ0FBQ0MsV0FBVztNQUNuQnZCLE1BQU0sRUFBRSxJQUFJLENBQUNBLE1BQU07TUFDbkJ3QixNQUFNLEVBQUUsSUFBSSxDQUFDQSxNQUFNO01BQ25CdkM7SUFBSSxFQUNMO0lBQ0QsSUFBSSxDQUFDQSxJQUFJLElBQUlpQyxVQUFVLEVBQUU7TUFDdkJHLElBQUksQ0FBQ0osT0FBTyxHQUFBSyxRQUFBO1FBQ1Y7UUFDQSxjQUFjLEVBQUU7TUFBa0IsR0FDL0JELElBQUksQ0FBQ0osT0FBTyxDQUNoQjtJQUNIO0lBQ0FJLElBQUksQ0FBQ0osT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDRCxVQUFVLENBQUNLLElBQUksQ0FBQ0osT0FBTyxDQUFDO0lBQ2xELE9BQU9JLElBQUk7RUFDYjs7RUFFQTtFQUNBbEMsYUFBYUEsQ0FBQ3NDLEtBQUssRUFBRUosSUFBSSxFQUFFO0lBQ3pCLE9BQU96QyxLQUFLLENBQUM2QyxLQUFLLEVBQUVKLElBQUksQ0FBQyxDQUN0Qi9CLElBQUksQ0FBQ0MsUUFBUSxJQUFJO01BQ2hCLElBQUksQ0FBQ0EsUUFBUSxDQUFDbUMsRUFBRSxFQUFFO1FBQ2hCLE1BQU0sSUFBSTNELFlBQVksQ0FBQ3dCLFFBQVEsQ0FBQztNQUNsQztNQUNBLE9BQU9BLFFBQVE7SUFDakIsQ0FBQyxDQUFDLENBQ0RvQyxLQUFLLENBQUNDLEtBQUssSUFBSTtNQUNkO01BQ0EsSUFBSUEsS0FBSyxZQUFZQyxTQUFTLEVBQUU7UUFDOUJELEtBQUssQ0FBQ0UsTUFBTSxHQUFHLEdBQUc7TUFDcEI7TUFDQSxNQUFNRixLQUFLO0lBQ2IsQ0FBQyxDQUFDO0VBQ047RUFFQXBDLGFBQWFBLENBQUNELFFBQVEsRUFBRTtJQUFBLElBQUF3QyxxQkFBQTtJQUN0QjtJQUNBLElBQUl4QyxRQUFRLENBQUN1QyxNQUFNLEtBQUssR0FBRyxFQUFFLE9BQU9FLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQztJQUN6RCxJQUFJLEdBQUFGLHFCQUFBLEdBQUN4QyxRQUFRLENBQUMwQixPQUFPLENBQUNiLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBcENGLHlCQUFBLENBQUE2QixxQkFBQSxFQUFBNUIsSUFBQSxDQUFBNEIscUJBQUEsRUFBK0MsTUFBTSxDQUFDLEdBQUU7TUFDM0QsT0FBT3hDLFFBQVEsQ0FBQzJDLElBQUksQ0FBQyxDQUFDLENBQUM1QyxJQUFJLENBQUM0QyxJQUFJLElBQUk7UUFBQSxJQUFBQyxTQUFBO1FBQ2xDO1FBQ0E7UUFDQSxJQUNFakMseUJBQUEsQ0FBQWlDLFNBQUEsSUFBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUFoQyxJQUFBLENBQUFnQyxTQUFBLEVBQVUsT0FBTyxJQUFJLENBQUNDLE1BQU0sQ0FBQyxJQUNwRCxJQUFJLENBQUNBLE1BQU0sS0FBSyxJQUFJLElBQ3BCLElBQUksQ0FBQzFDLE9BQU8sS0FBS25CLFlBQVksQ0FBQzhELFNBQVMsQ0FBQzNDLE9BQU8sRUFFL0MsT0FBT3dDLElBQUk7UUFFYixNQUFNTixLQUFLLEdBQUcsSUFBSTdELFlBQVksQ0FBQ3dCLFFBQVEsQ0FBQztRQUN4Q3FDLEtBQUssQ0FBQ0UsTUFBTSxHQUFHLEdBQUc7UUFDbEJGLEtBQUssQ0FBQ1UsT0FBTyxHQUFHLHVDQUF1QyxJQUFJLENBQUNGLE1BQU0sRUFBRTtRQUNwRTtRQUNBO1FBQ0EsSUFBSTFDLE9BQU8sQ0FBQzZDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtVQUFBLElBQUFDLHNCQUFBO1VBQ3pDLElBQ0UsRUFDRSxDQUFBQSxzQkFBQSxHQUFBbEQsUUFBUSxDQUFDMEIsT0FBTyxDQUFDYixHQUFHLENBQUMsY0FBYyxDQUFDLGFBQXBDRix5QkFBQSxDQUFBdUMsc0JBQUEsRUFBQXRDLElBQUEsQ0FBQXNDLHNCQUFBLEVBQStDLE1BQU0sQ0FBQyxJQUN0RFAsSUFBSSxDQUFDUSxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FDbkMsRUFDRDtZQUNBLElBQUlDLFFBQVEsQ0FBQ1QsSUFBSSxDQUFDLEtBQUtoRCxTQUFTLEVBQUU7Y0FDaEMwQyxLQUFLLENBQUNVLE9BQU8sR0FBRztBQUM5QjtBQUNBO0FBQ0E7QUFDQSwyRkFBMkY7WUFDL0U7VUFDRixDQUFDLE1BQU07WUFDTFYsS0FBSyxDQUFDVSxPQUFPLEdBQUcsdUNBQXVDLElBQUksQ0FBQ0YsTUFBTTtBQUM5RTtBQUNBO0FBQ0EsbUNBQW1DRixJQUFJLENBQUNVLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUU7VUFDakQ7UUFDRjtRQUNBLE1BQU1oQixLQUFLO01BQ2IsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPckMsUUFBUSxDQUFDc0QsSUFBSSxDQUFDLENBQUMsQ0FBQ2xCLEtBQUssQ0FBQ0MsS0FBSyxJQUFJO01BQ3BDQSxLQUFLLENBQUNFLE1BQU0sR0FBRyxHQUFHO01BQ2xCLE1BQU1GLEtBQUs7SUFDYixDQUFDLENBQUM7RUFDSjtFQUVBbEMsT0FBT0EsQ0FBQ0ksS0FBSyxFQUFFO0lBQ2IsT0FBT0EsS0FBSztFQUNkO0VBRUFnRCxXQUFXQSxDQUFDbEIsS0FBSyxFQUFFO0lBQ2pCLE9BQU9BLEtBQUssQ0FBQ0UsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLEdBQUc1QyxTQUFTO0VBQ2pEO0VBRUEsSUFBSTZELFNBQVNBLENBQUEsRUFBRztJQUNkLE9BQU9uRixZQUFZLENBQUMsSUFBSSxDQUFDMEMsSUFBSSxDQUFDO0VBQ2hDO0VBRUEwQyxPQUFPQSxDQUFDekMsR0FBRyxFQUFFO0lBQ1gsTUFBTTBDLE1BQU0sR0FBRyxJQUFJLENBQUNqRCxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQ0MsU0FBUztJQUNqRCxJQUFJLENBQUNNLEdBQUcsQ0FBQ21DLFVBQVUsQ0FBQ08sTUFBTSxDQUFDLEVBQUUsT0FBTyxLQUFLO0lBQ3pDLElBQUlDLFlBQVksR0FBRzNDLEdBQUcsQ0FBQzRDLFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDdkMsSUFBSUQsWUFBWSxLQUFLLENBQUMsQ0FBQyxFQUFFQSxZQUFZLEdBQUdoRSxTQUFTO0lBQ2pELE9BQU8sSUFBSSxDQUFDNkQsU0FBUyxDQUFDSyxJQUFJLENBQUM3QyxHQUFHLENBQUNxQyxTQUFTLENBQUNLLE1BQU0sQ0FBQ2pFLE1BQU0sRUFBRWtFLFlBQVksQ0FBQyxDQUFDO0VBQ3hFO0VBRUFHLE1BQU1BLENBQUM1RSxPQUFPLEVBQUU7SUFDZDtJQUNBO0lBQ0EsTUFBTTZFLENBQUMsU0FBUyxJQUFJLENBQUM5RSxXQUFXLENBQUM7SUFFakNtQixNQUFNLENBQUM0RCxNQUFNLENBQUNELENBQUMsQ0FBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUM7SUFFaEMsT0FBTyxJQUFJaUIsQ0FBQyxDQUNWO0lBQUFoQyxRQUFBO01BQ0UxQyxLQUFLLEVBQUUsSUFBSSxDQUFDQTtJQUFLLEdBQUtILE9BQU8sQ0FDakMsQ0FBQztFQUNIO0VBRUErRSxTQUFTQSxDQUFDQyxZQUFZLEVBQUU7SUFDdEIsSUFBSSxPQUFPQSxZQUFZLEtBQUssUUFBUSxFQUFFO01BQ3BDLE1BQU1DLFNBQVMsR0FBR0QsWUFBWTtNQUM5QkEsWUFBWSxHQUFHRSxJQUFBLElBQW1CO1FBQUEsSUFBYkMsTUFBTSxHQUFBdEMsUUFBQSxNQUFBdUMseUJBQUEsQ0FBQUYsSUFBQSxHQUFBQSxJQUFBO1FBQ3pCLE9BQU9DLE1BQU0sQ0FBQ0YsU0FBUyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDO01BQ2pCLENBQUM7SUFDSDtJQUNBLElBQUlFLEtBQUssR0FBRyxLQUFLO0lBQ2pCLE1BQU1DLHFCQUFxQixHQUFHQyxVQUFVLElBQUk7TUFDMUNGLEtBQUssR0FBRyxJQUFJO01BQ1osT0FBTzlGLHNCQUFzQixDQUFDeUYsWUFBWSxFQUFFTyxVQUFVLENBQUM7SUFDekQsQ0FBQztJQUNELE1BQU1DLFNBQVMsR0FBR25HLGFBQWEsQ0FBQyxJQUFJLENBQUNzRSxNQUFNLEVBQUUyQixxQkFBcUIsQ0FBQztJQUVuRSxJQUFJLENBQUNELEtBQUssRUFBRSxNQUFNLElBQUlJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztJQUNqRCxNQUFNQyxHQUFHLEdBQUcsSUFBSTtJQUVoQixPQUFPLElBQUksQ0FBQ2QsTUFBTSxDQUFDO01BQ2pCakIsTUFBTSxFQUFFNkIsU0FBUztNQUNqQjFELEdBQUdBLENBQUMsR0FBRzFCLElBQUksRUFBRTtRQUNYLE9BQU9zRixHQUFHLENBQUM1RCxHQUFHLENBQUNKLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBR3NELFlBQVksQ0FBQyxHQUFHNUUsSUFBSSxDQUFDLENBQUM7TUFDckQsQ0FBQztNQUNEdUYsSUFBSSxFQUFFLElBQUksQ0FBQ0EsSUFBSSxHQUFHO0lBQ3BCLENBQUMsQ0FBQztFQUNKO0VBRUEsSUFBSUMsT0FBT0EsQ0FBQSxFQUFHO0lBQ1osT0FBTyxJQUFJLENBQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUNjLGVBQWUsQ0FBQztFQUM3QztFQUVBLElBQUlDLElBQUlBLENBQUEsRUFBRztJQUNULE9BQU8sSUFBSSxDQUFDbEIsTUFBTSxDQUFDO01BQ2pCckQsTUFBTSxFQUFFLE1BQU07TUFDZG9DLE1BQU0sRUFBRXZFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3VFLE1BQU0sRUFBRW9DLENBQUMsSUFBSUEsQ0FBQyxDQUFDRCxJQUFJLENBQUM7TUFDbkRILElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtFQUVBLElBQUlLLE9BQU9BLENBQUEsRUFBRztJQUNaLE9BQU8sSUFBSSxDQUFDcEIsTUFBTSxDQUFDO01BQ2pCckQsTUFBTSxFQUFFLE1BQU07TUFDZG9DLE1BQU0sRUFBRXZFLGlCQUFpQixDQUFDLElBQUksQ0FBQ3VFLE1BQU0sRUFBRW9DLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxPQUFPLENBQUM7TUFDdERMLElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtFQUVBLElBQUliLE1BQU1BLENBQUEsRUFBRztJQUNYLE9BQU8sSUFBSSxDQUFDRixNQUFNLENBQUM7TUFDakJyRCxNQUFNLEVBQUUsTUFBTTtNQUNkb0MsTUFBTSxFQUFFdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDdUUsTUFBTSxFQUFFb0MsQ0FBQyxJQUFJQSxDQUFDLENBQUNqQixNQUFNLENBQUM7TUFDckRhLElBQUksRUFBRSxJQUFJLENBQUNBLElBQUksR0FBRztJQUNwQixDQUFDLENBQUM7RUFDSjtBQUNGO0FBRUEsTUFBTXpCLFFBQVEsR0FBR2xCLEtBQUssSUFBSTtFQUN4QixJQUFJO0lBQ0YsT0FBT04sSUFBSSxDQUFDdUQsS0FBSyxDQUFDakQsS0FBSyxDQUFDO0VBQzFCLENBQUMsQ0FBQyxPQUFPa0QsQ0FBQyxFQUFFO0lBQ1YsT0FBT3pGLFNBQVM7RUFDbEI7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,9 +1,8 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  export function paginatedMerge(existing, incoming) {
3
2
  const existingSet = new Set(existing);
4
3
  const mergedList = [...existing];
5
4
  for (const pk of incoming) {
6
- if (!existingSet.has(pk)) _pushInstanceProperty(mergedList).call(mergedList, pk);
5
+ if (!existingSet.has(pk)) mergedList.push(pk);
7
6
  }
8
7
  return mergedList;
9
8
  }
@@ -22,4 +21,4 @@ export function createPaginationSchema(removeCursor, collection) {
22
21
  }
23
22
  });
24
23
  }
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWdpbmF0ZWRNZXJnZSIsImV4aXN0aW5nIiwiaW5jb21pbmciLCJleGlzdGluZ1NldCIsIlNldCIsIm1lcmdlZExpc3QiLCJwayIsImhhcyIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIiwicmVtb3ZlQ3Vyc29yIiwiY29sbGVjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsIm5hbWUiLCJ2YWx1ZSIsInNjaGVtYSIsIm1lcmdlIiwicGFyZW50Iiwia2V5IiwiYXJncyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYWdpbmF0ZWRDb2xsZWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdpbmF0ZWRNZXJnZShleGlzdGluZzogYW55W10sIGluY29taW5nOiBhbnlbXSkge1xuICBjb25zdCBleGlzdGluZ1NldDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KGV4aXN0aW5nKTtcbiAgY29uc3QgbWVyZ2VkTGlzdCA9IFsuLi5leGlzdGluZ107XG4gIGZvciAoY29uc3QgcGsgb2YgaW5jb21pbmcpIHtcbiAgICBpZiAoIWV4aXN0aW5nU2V0LmhhcyhwaykpIG1lcmdlZExpc3QucHVzaChwayk7XG4gIH1cbiAgcmV0dXJuIG1lcmdlZExpc3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hKFxuICByZW1vdmVDdXJzb3I6ICguLi5hcmdzOiByZWFkb25seSBhbnlbXSkgPT4gYW55W10sXG4gIGNvbGxlY3Rpb246IHNjaGVtYS5Db2xsZWN0aW9uLFxuKSB7XG4gIHJldHVybiBPYmplY3QuY3JlYXRlKGNvbGxlY3Rpb24sIHtcbiAgICBuYW1lOiB7XG4gICAgICB2YWx1ZTogYFBhZ2luYXRpb24oJHtjb2xsZWN0aW9uLnNjaGVtYX0pYCxcbiAgICB9LFxuICAgIG1lcmdlOiB7XG4gICAgICB2YWx1ZTogcGFnaW5hdGVkTWVyZ2UsXG4gICAgfSxcbiAgICBwazoge1xuICAgICAgdmFsdWU6IGZ1bmN0aW9uICh2YWx1ZTogYW55LCBwYXJlbnQ6IGFueSwga2V5OiBhbnksIGFyZ3M6IGFueVtdKSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLnBrLmNhbGwoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBwYXJlbnQsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHJlbW92ZUN1cnNvciguLi5hcmdzKSxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLFNBQVNBLGNBQWNBLENBQUNDLFFBQWUsRUFBRUMsUUFBZSxFQUFFO0VBQy9ELE1BQU1DLFdBQXdCLEdBQUcsSUFBSUMsR0FBRyxDQUFDSCxRQUFRLENBQUM7RUFDbEQsTUFBTUksVUFBVSxHQUFHLENBQUMsR0FBR0osUUFBUSxDQUFDO0VBQ2hDLEtBQUssTUFBTUssRUFBRSxJQUFJSixRQUFRLEVBQUU7SUFDekIsSUFBSSxDQUFDQyxXQUFXLENBQUNJLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUVFLHFCQUFBLENBQUFILFVBQVUsRUFBQUksSUFBQSxDQUFWSixVQUFVLEVBQU1DLEVBQUUsQ0FBQztFQUMvQztFQUNBLE9BQU9ELFVBQVU7QUFDbkI7QUFFQSxPQUFPLFNBQVNLLHNCQUFzQkEsQ0FDcENDLFlBQWdELEVBQ2hEQyxVQUE2QixFQUM3QjtFQUNBLE9BQU9DLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDRixVQUFVLEVBQUU7SUFDL0JHLElBQUksRUFBRTtNQUNKQyxLQUFLLEVBQUUsY0FBY0osVUFBVSxDQUFDSyxNQUFNO0lBQ3hDLENBQUM7SUFDREMsS0FBSyxFQUFFO01BQ0xGLEtBQUssRUFBRWhCO0lBQ1QsQ0FBQztJQUNETSxFQUFFLEVBQUU7TUFDRlUsS0FBSyxFQUFFLFNBQUFBLENBQVVBLEtBQVUsRUFBRUcsTUFBVyxFQUFFQyxHQUFRLEVBQUVDLElBQVcsRUFBRTtRQUMvRCxPQUFPVCxVQUFVLENBQUNOLEVBQUUsQ0FBQ0csSUFBSSxDQUN2QixJQUFJLEVBQ0pPLEtBQUssRUFDTEcsTUFBTSxFQUNOQyxHQUFHLEVBQ0hULFlBQVksQ0FBQyxHQUFHVSxJQUFJLENBQ3RCLENBQUM7TUFDSDtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWdpbmF0ZWRNZXJnZSIsImV4aXN0aW5nIiwiaW5jb21pbmciLCJleGlzdGluZ1NldCIsIlNldCIsIm1lcmdlZExpc3QiLCJwayIsImhhcyIsInB1c2giLCJjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIiwicmVtb3ZlQ3Vyc29yIiwiY29sbGVjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsIm5hbWUiLCJ2YWx1ZSIsInNjaGVtYSIsIm1lcmdlIiwicGFyZW50Iiwia2V5IiwiYXJncyIsImNhbGwiXSwic291cmNlcyI6WyIuLi9zcmMvcGFnaW5hdGVkQ29sbGVjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFnaW5hdGVkTWVyZ2UoZXhpc3Rpbmc6IGFueVtdLCBpbmNvbWluZzogYW55W10pIHtcbiAgY29uc3QgZXhpc3RpbmdTZXQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChleGlzdGluZyk7XG4gIGNvbnN0IG1lcmdlZExpc3QgPSBbLi4uZXhpc3RpbmddO1xuICBmb3IgKGNvbnN0IHBrIG9mIGluY29taW5nKSB7XG4gICAgaWYgKCFleGlzdGluZ1NldC5oYXMocGspKSBtZXJnZWRMaXN0LnB1c2gocGspO1xuICB9XG4gIHJldHVybiBtZXJnZWRMaXN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFnaW5hdGlvblNjaGVtYShcbiAgcmVtb3ZlQ3Vyc29yOiAoLi4uYXJnczogcmVhZG9ubHkgYW55W10pID0+IGFueVtdLFxuICBjb2xsZWN0aW9uOiBzY2hlbWEuQ29sbGVjdGlvbixcbikge1xuICByZXR1cm4gT2JqZWN0LmNyZWF0ZShjb2xsZWN0aW9uLCB7XG4gICAgbmFtZToge1xuICAgICAgdmFsdWU6IGBQYWdpbmF0aW9uKCR7Y29sbGVjdGlvbi5zY2hlbWF9KWAsXG4gICAgfSxcbiAgICBtZXJnZToge1xuICAgICAgdmFsdWU6IHBhZ2luYXRlZE1lcmdlLFxuICAgIH0sXG4gICAgcGs6IHtcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWU6IGFueSwgcGFyZW50OiBhbnksIGtleTogYW55LCBhcmdzOiBhbnlbXSkge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5way5jYWxsKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIGtleSxcbiAgICAgICAgICByZW1vdmVDdXJzb3IoLi4uYXJncyksXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLFNBQVNBLGNBQWNBLENBQUNDLFFBQWUsRUFBRUMsUUFBZSxFQUFFO0VBQy9ELE1BQU1DLFdBQXdCLEdBQUcsSUFBSUMsR0FBRyxDQUFDSCxRQUFRLENBQUM7RUFDbEQsTUFBTUksVUFBVSxHQUFHLENBQUMsR0FBR0osUUFBUSxDQUFDO0VBQ2hDLEtBQUssTUFBTUssRUFBRSxJQUFJSixRQUFRLEVBQUU7SUFDekIsSUFBSSxDQUFDQyxXQUFXLENBQUNJLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUVELFVBQVUsQ0FBQ0csSUFBSSxDQUFDRixFQUFFLENBQUM7RUFDL0M7RUFDQSxPQUFPRCxVQUFVO0FBQ25CO0FBRUEsT0FBTyxTQUFTSSxzQkFBc0JBLENBQ3BDQyxZQUFnRCxFQUNoREMsVUFBNkIsRUFDN0I7RUFDQSxPQUFPQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ0YsVUFBVSxFQUFFO0lBQy9CRyxJQUFJLEVBQUU7TUFDSkMsS0FBSyxFQUFFLGNBQWNKLFVBQVUsQ0FBQ0ssTUFBTTtJQUN4QyxDQUFDO0lBQ0RDLEtBQUssRUFBRTtNQUNMRixLQUFLLEVBQUVmO0lBQ1QsQ0FBQztJQUNETSxFQUFFLEVBQUU7TUFDRlMsS0FBSyxFQUFFLFNBQUFBLENBQVVBLEtBQVUsRUFBRUcsTUFBVyxFQUFFQyxHQUFRLEVBQUVDLElBQVcsRUFBRTtRQUMvRCxPQUFPVCxVQUFVLENBQUNMLEVBQUUsQ0FBQ2UsSUFBSSxDQUN2QixJQUFJLEVBQ0pOLEtBQUssRUFDTEcsTUFBTSxFQUNOQyxHQUFHLEVBQ0hULFlBQVksQ0FBQyxHQUFHVSxJQUFJLENBQ3RCLENBQUM7TUFDSDtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,8 +1,7 @@
1
1
  import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
2
- import _sortInstanceProperty from "core-js-pure/stable/instance/sort.js";
3
2
  export default function paramsToString(searchParams) {
4
3
  const params = new _URLSearchParams(searchParams);
5
- _sortInstanceProperty(params).call(params);
4
+ params.sort();
6
5
  return params.toString();
7
6
  }
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJfc29ydEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcoXG4gIHNlYXJjaFBhcmFtcz86XG4gICAgfCBzdHJpbmdcbiAgICB8IFVSTFNlYXJjaFBhcmFtc1xuICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHwgc3RyaW5nW11bXVxuICAgIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgcGFyYW1zLnNvcnQoKTtcbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBQSxDQUFvQkYsWUFBWSxDQUFDO0VBQ2hERyxxQkFBQSxDQUFBRixNQUFNLEVBQUFHLElBQUEsQ0FBTkgsTUFBWSxDQUFDO0VBQ2IsT0FBT0EsTUFBTSxDQUFDSSxRQUFRLENBQUMsQ0FBQztBQUMxQiIsImlnbm9yZUxpc3QiOltdfQ==
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcoXG4gIHNlYXJjaFBhcmFtcz86XG4gICAgfCBzdHJpbmdcbiAgICB8IFVSTFNlYXJjaFBhcmFtc1xuICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHwgc3RyaW5nW11bXVxuICAgIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgcGFyYW1zLnNvcnQoKTtcbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsZUFBZSxTQUFTQSxjQUFjQSxDQUNwQ0MsWUFLYSxFQUNiO0VBQ0EsTUFBTUMsTUFBTSxHQUFHLElBQUFDLGdCQUFBLENBQW9CRixZQUFZLENBQUM7RUFDaERDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLENBQUM7RUFDYixPQUFPRixNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQzFCIiwiaWdub3JlTGlzdCI6W119
@@ -1,11 +1,10 @@
1
1
  import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
2
- import _sortInstanceProperty from "core-js-pure/stable/instance/sort.js";
3
2
  export default function paramsToString(searchParams) {
4
3
  const params = new _URLSearchParams(searchParams);
5
4
  try {
6
- _sortInstanceProperty(params).call(params);
5
+ params.sort();
7
6
  // eslint-disable-next-line no-empty
8
7
  } catch (_unused) {}
9
8
  return params.toString();
10
9
  }
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJfc29ydEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiX3VudXNlZCIsInRvU3RyaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL3BhcmFtc1RvU3RyaW5nLm5hdGl2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMgYXMgYW55KTtcbiAgdHJ5IHtcbiAgICBwYXJhbXMuc29ydCgpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxuICB9IGNhdGNoIHt9XG4gIHJldHVybiBwYXJhbXMudG9TdHJpbmcoKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxlQUFlLFNBQVNBLGNBQWNBLENBQ3BDQyxZQUthLEVBQ2I7RUFDQSxNQUFNQyxNQUFNLEdBQUcsSUFBQUMsZ0JBQUEsQ0FBb0JGLFlBQW1CLENBQUM7RUFDdkQsSUFBSTtJQUNGRyxxQkFBQSxDQUFBRixNQUFNLEVBQUFHLElBQUEsQ0FBTkgsTUFBWSxDQUFDO0lBQ2I7RUFDRixDQUFDLENBQUMsT0FBQUksT0FBQSxFQUFNLENBQUM7RUFDVCxPQUFPSixNQUFNLENBQUNLLFFBQVEsQ0FBQyxDQUFDO0FBQzFCIiwiaWdub3JlTGlzdCI6W119
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwiX3VudXNlZCIsInRvU3RyaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL3BhcmFtc1RvU3RyaW5nLm5hdGl2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMgYXMgYW55KTtcbiAgdHJ5IHtcbiAgICBwYXJhbXMuc29ydCgpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxuICB9IGNhdGNoIHt9XG4gIHJldHVybiBwYXJhbXMudG9TdHJpbmcoKTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBQSxDQUFvQkYsWUFBbUIsQ0FBQztFQUN2RCxJQUFJO0lBQ0ZDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLENBQUM7SUFDYjtFQUNGLENBQUMsQ0FBQyxPQUFBQyxPQUFBLEVBQU0sQ0FBQztFQUNULE9BQU9ILE1BQU0sQ0FBQ0ksUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,8 +1,6 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime-corejs3/helpers/esm/objectWithoutPropertiesLoose";
3
3
  const _excluded = ["path", "schema", "Endpoint", "Collection", "optimistic", "paginationField"];
4
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
5
- import _Object$fromEntries from "core-js-pure/stable/object/from-entries.js";
6
4
  import { schema } from '@data-client/endpoint';
7
5
  import RestEndpoint from './RestEndpoint.js';
8
6
  import { shortenPath } from './RestHelpers.js';
@@ -71,7 +69,7 @@ This warning will not show in production.`);
71
69
  get,
72
70
  getList,
73
71
  // TODO(deprecated): remove this once we remove creates
74
- create: _pushInstanceProperty(getList).extend({
72
+ create: getList.push.extend({
75
73
  name: getName('create')
76
74
  }),
77
75
  update: new Endpoint(_extends({}, extraMutateOptions, {
@@ -138,6 +136,6 @@ function optimisticDelete(snap, params) {
138
136
  return params;
139
137
  }
140
138
  function ensurePojo(body) {
141
- return body instanceof FormData ? _Object$fromEntries(body.entries()) : body;
139
+ return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
142
140
  }
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsIl9yZWYiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwicGFnaW5hdGlvbkZpZWxkIiwiZXh0cmFPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJfZXhjbHVkZWQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiX2V4dGVuZHMiLCJleHRyYVBhcnRpYWxPcHRpb25zIiwiZ2V0IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwib3B0aW1pc3RpY1VwZGF0ZSIsIm9wdGltaXN0aWNQYXJ0aWFsIiwiZ2V0TGlzdCIsInJldCIsImNyZWF0ZSIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsInVwZGF0ZSIsIm1ldGhvZCIsInBhcnRpYWxVcGRhdGUiLCJkZWxldGUiLCJyZXMiLCJwYXJhbXMiLCJrZXlzIiwibGVuZ3RoIiwib3B0aW1pc3RpY0RlbGV0ZSIsInVuZGVmaW5lZCIsImFyZ3MiLCJvdmVycmlkZXMiLCJzbmFwIiwiYm9keSIsImVuc3VyZVBvam8iLCJkYXRhIiwiYWJvcnQiLCJGb3JtRGF0YSIsIl9PYmplY3QkZnJvbUVudHJpZXMiLCJlbnRyaWVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNuYXBzaG90SW50ZXJmYWNlLCBRdWVyeWFibGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2VuZHBvaW50JyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIEVuZHBvaW50ID09PSBSZXN0RW5kcG9pbnQgJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIFJlc3RFbmRwb2ludC5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdlbmRwb2ludCcgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIEVuZHBvaW50P1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2VuZHBvaW50XG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnY29sbGVjdGlvbicgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBDb2xsZWN0aW9uID09PSBCYXNlQ29sbGVjdGlvbiAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIEJhc2VDb2xsZWN0aW9uLnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnY29sbGVjdGlvbicgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIENvbGxlY3Rpb24/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjY29sbGVjdGlvblxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgLy8gVE9ETzogQ2hlY2sgdGhhdCBzY2hlbWEgaXMgYSBxdWVyeWFibGUsIG90aGVyd2lzZSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZVxuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBzY2hlbWEgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSkgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKHNjaGVtYTogUXVlcnlhYmxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gc25hcC5nZXQoc2NoZW1hLCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgc25hcC5hYm9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgP1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsdUJBQXVCO0FBUzlDLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFDMUIsU0FBU0MsV0FBVyxRQUFRLGtCQUFrQjtBQUU5QyxNQUFNO0VBQUVDLFVBQVU7RUFBRUMsVUFBVSxFQUFFQztBQUFlLENBQUMsR0FBR0wsTUFBTTs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNB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
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsIl9yZWYiLCJwYXRoIiwiRW5kcG9pbnQiLCJvcHRpbWlzdGljIiwicGFnaW5hdGlvbkZpZWxkIiwiZXh0cmFPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJfZXhjbHVkZWQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiX2V4dGVuZHMiLCJleHRyYVBhcnRpYWxPcHRpb25zIiwiZ2V0IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwib3B0aW1pc3RpY1VwZGF0ZSIsIm9wdGltaXN0aWNQYXJ0aWFsIiwiZ2V0TGlzdCIsInJldCIsImNyZWF0ZSIsInB1c2giLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwicmVzIiwicGFyYW1zIiwia2V5cyIsImxlbmd0aCIsIm9wdGltaXN0aWNEZWxldGUiLCJ1bmRlZmluZWQiLCJhcmdzIiwib3ZlcnJpZGVzIiwic25hcCIsImJvZHkiLCJlbnN1cmVQb2pvIiwiZGF0YSIsImFib3J0IiwiRm9ybURhdGEiLCJmcm9tRW50cmllcyIsImVudHJpZXMiXSwic291cmNlcyI6WyIuLi9zcmMvcmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB0eXBlIHsgU25hcHNob3RJbnRlcmZhY2UsIFF1ZXJ5YWJsZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7XG4gIFJlc291cmNlR2VuZXJpY3MsXG4gIFJlc291cmNlT3B0aW9ucyxcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgUmVzdEVuZHBvaW50T3B0aW9ucyxcbiAgUmVzdEluc3RhbmNlQmFzZSxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuaW1wb3J0IHsgc2hvcnRlblBhdGggfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuY29uc3QgeyBJbnZhbGlkYXRlLCBDb2xsZWN0aW9uOiBCYXNlQ29sbGVjdGlvbiB9ID0gc2NoZW1hO1xuXG4vKiogQ3JlYXRlcyBjb2xsZWN0aW9uIG9mIEVuZHBvaW50cyBmb3IgY29tbW9uIG9wZXJhdGlvbnMgb24gYSBnaXZlbiBkYXRhL3NjaGVtYS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXNvdXJjZTxPIGV4dGVuZHMgUmVzb3VyY2VHZW5lcmljcz4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBDb2xsZWN0aW9uID0gQmFzZUNvbGxlY3Rpb24sXG4gIG9wdGltaXN0aWMsXG4gIHBhZ2luYXRpb25GaWVsZCxcbiAgLi4uZXh0cmFPcHRpb25zXG59OiBSZWFkb25seTxPPiAmIFJlc291cmNlT3B0aW9ucyk6IFJlc291cmNlPE8+IHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnZW5kcG9pbnQnIGluIGV4dHJhT3B0aW9ucyAmJlxuICAgICAgRW5kcG9pbnQgPT09IFJlc3RFbmRwb2ludCAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgZXh0cmFPcHRpb25zWydlbmRwb2ludCddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgUmVzdEVuZHBvaW50LnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSBhcyBhbnkpLnByb3RvdHlwZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFlvdSBwYXNzZWQgJ2VuZHBvaW50JyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgRW5kcG9pbnQ/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZW5kcG9pbnRcblRoaXMgcGFyYW1ldGVyIG11c3QgYmUgY2FwaXRhbGl6ZWQuXG5cblRoaXMgd2FybmluZyB3aWxsIG5vdCBzaG93IGluIHByb2R1Y3Rpb24uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGlmIHRoZXkgbG93ZXJjYXNlIGFuZCBpdCBsb29rcyBsaWtlIHRoZXkgbWVhbnQgdG8gdXNlIHVwcGVyLWNhc2UgdmVyc2lvblxuICAgIGlmIChcbiAgICAgICdjb2xsZWN0aW9uJyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIENvbGxlY3Rpb24gPT09IEJhc2VDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgQmFzZUNvbGxlY3Rpb24ucHJvdG90eXBlLFxuICAgICAgICAoZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdjb2xsZWN0aW9uJyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgQ29sbGVjdGlvbj9cbmh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNjb2xsZWN0aW9uXG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBjb25zdCBzaG9ydGVuZWRQYXRoID0gc2hvcnRlblBhdGgocGF0aCk7XG4gIGNvbnN0IGdldE5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiBgJHsoc2NoZW1hIGFzIGFueSk/Lm5hbWV9LiR7bmFtZX1gO1xuICAvLyB0aGlzIGFjY291bnRzIGZvciBkZXJpdmF0aXZlIGVuZHBvaW50c1xuICBmdW5jdGlvbiBleHRlbmRNZW1iZXIoZXh0ZW5kZWQ6IGFueSwga2V5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkge1xuICAgIGV4dGVuZGVkW2tleV0gPSBleHRlbmRlZFtrZXldLmV4dGVuZChvcHRpb25zKTtcbiAgfVxuXG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IEdldEVuZHBvaW50PHsgcGF0aDogT1sncGF0aCddOyBzY2hlbWE6IE9bJ3NjaGVtYSddIH0+ID1cbiAgICBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICAgIH0pIGFzIGFueTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAvLyBUT0RPOiBDaGVjayB0aGF0IHNjaGVtYSBpcyBhIHF1ZXJ5YWJsZSwgb3RoZXJ3aXNlIHRoaXMgZG9lc24ndCBtYWtlIHNlbnNlXG4gICAgKGV4dHJhUGFydGlhbE9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljUGFydGlhbChcbiAgICAgIHNjaGVtYSBhcyBhbnksXG4gICAgKTtcbiAgfVxuICBjb25zdCBnZXRMaXN0ID0gbmV3IEVuZHBvaW50KHtcbiAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgcGFnaW5hdGlvbkZpZWxkOiBwYWdpbmF0aW9uRmllbGQgYXMgc3RyaW5nLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIGNvbnN0IHJldCA9IHtcbiAgICBnZXQsXG4gICAgZ2V0TGlzdCxcbiAgICAvLyBUT0RPKGRlcHJlY2F0ZWQpOiByZW1vdmUgdGhpcyBvbmNlIHdlIHJlbW92ZSBjcmVhdGVzXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgICBleHRlbmQoXG4gICAgICAuLi5hcmdzOlxuICAgICAgICB8IFtzdHJpbmcsIFJlc3RFbmRwb2ludE9wdGlvbnMgJiBQYXJ0aWFsUmVzdEdlbmVyaWNzXVxuICAgICAgICB8IFtSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgIGJhc2VSZXNvdXJjZTogUmVzb3VyY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICApID0+IFJlY29yZDxzdHJpbmcsIFJlc3RJbnN0YW5jZUJhc2U+LFxuICAgICAgICAgIF1cbiAgICApIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgW2tleSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IHsgLi4udGhpcyB9O1xuICAgICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvcHRpb25zKTtcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgICBba2V5XTogdGhpcy5nZXQuZXh0ZW5kKG9wdGlvbnMpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSBhcmdzWzBdKHRoaXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgLi4uZXh0ZW5kZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvdmVycmlkZXMgPSBhcmdzWzBdO1xuICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG92ZXJyaWRlcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZXh0ZW5kTWVtYmVyKGV4dGVuZGVkLCBrZXksIG92ZXJyaWRlc1trZXldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRlbmRlZDtcbiAgICB9LFxuICB9IGFzIGFueTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoc2NoZW1hOiBRdWVyeWFibGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICAgIGNvbnN0IGRhdGEgPSBzbmFwLmdldChzY2hlbWEsIHBhcmFtcyk7XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBzbmFwLmFib3J0O1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gZW5zdXJlUG9qbyhib2R5OiBhbnkpIHtcbiAgcmV0dXJuIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSA/XG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoKGJvZHkgYXMgYW55KS5lbnRyaWVzKCkpXG4gICAgOiBib2R5O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsdUJBQXVCO0FBUzlDLE9BQU9DLFlBQVksTUFLWixtQkFBbUI7QUFDMUIsU0FBU0MsV0FBVyxRQUFRLGtCQUFrQjtBQUU5QyxNQUFNO0VBQUVDLFVBQVU7RUFBRUMsVUFBVSxFQUFFQztBQUFlLENBQUMsR0FBR0wsTUFBTTs7QUFFekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVNNLFFBQVFBLENBQUFDLElBQUEsRUFRZTtF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
@@ -1,8 +1,5 @@
1
1
  import _classPrivateFieldLooseBase from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseBase";
2
2
  import _classPrivateFieldLooseKey from "@babel/runtime-corejs3/helpers/esm/classPrivateFieldLooseKey";
3
- import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
4
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
5
- import _unshiftInstanceProperty from "core-js-pure/stable/instance/unshift.js";
6
3
  import { Endpoint } from '@data-client/endpoint';
7
4
  import { pathToRegexp } from 'path-to-regexp';
8
5
  import extractCollection from './extractCollection.js';
@@ -19,7 +16,7 @@ import { getUrlBase, getUrlTokens, isPojo } from './RestHelpers.js';
19
16
  var _hasBody = /*#__PURE__*/_classPrivateFieldLooseKey("hasBody");
20
17
  export default class RestEndpoint extends Endpoint {
21
18
  constructor(options) {
22
- var _options$fetch, _context;
19
+ var _options$fetch;
23
20
  super((_options$fetch = options.fetch) != null ? _options$fetch : async function (...args) {
24
21
  const urlParams = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] && args.length < 2 ? {} : args[0] || {};
25
22
  const body = _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] ? args[args.length - 1] : undefined;
@@ -39,7 +36,7 @@ export default class RestEndpoint extends Endpoint {
39
36
  if (this.urlPrefix === undefined) {
40
37
  this.urlPrefix = '';
41
38
  }
42
- _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !_includesInstanceProperty(_context = ['GET', 'DELETE']).call(_context, this.method);
39
+ _classPrivateFieldLooseBase(this, _hasBody)[_hasBody] = (!('body' in this) || this.body !== undefined) && !['GET', 'DELETE'].includes(this.method);
43
40
  Object.defineProperty(this, 'name', {
44
41
  get() {
45
42
  // using 'in' to ensure inheritance lookup
@@ -118,12 +115,11 @@ export default class RestEndpoint extends Endpoint {
118
115
  var _response$headers$get;
119
116
  // this should not have any content to read
120
117
  if (response.status === 204) return Promise.resolve(null);
121
- if (!((_response$headers$get = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get).call(_response$headers$get, 'json'))) {
118
+ if (!((_response$headers$get = response.headers.get('content-type')) != null && _response$headers$get.includes('json'))) {
122
119
  return response.text().then(text => {
123
- var _context2;
124
120
  // string or 'not set' schema, are valid
125
121
  // when overriding process they might handle other cases, so we don't want to block on our logic
126
- if (_includesInstanceProperty(_context2 = ['string', 'undefined']).call(_context2, typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
122
+ if (['string', 'undefined'].includes(typeof this.schema) || this.schema === null || this.process !== RestEndpoint.prototype.process) return text;
127
123
  const error = new NetworkError(response);
128
124
  error.status = 404;
129
125
  error.message = `Unexpected text response for schema ${this.schema}`;
@@ -131,7 +127,7 @@ export default class RestEndpoint extends Endpoint {
131
127
  /* istanbul ignore else */
132
128
  if (process.env.NODE_ENV !== 'production') {
133
129
  var _response$headers$get2;
134
- if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _includesInstanceProperty(_response$headers$get2).call(_response$headers$get2, 'html') || text.startsWith('<!doctype html>'))) {
130
+ if (!((_response$headers$get2 = response.headers.get('content-type')) != null && _response$headers$get2.includes('html') || text.startsWith('<!doctype html>'))) {
135
131
  if (tryParse(text) !== undefined) {
136
132
  error.message = `"content-type" header does not include "json", but JSON response found.
137
133
  See https://www.rfc-editor.org/rfc/rfc4627 for information on JSON responses
@@ -214,14 +210,14 @@ Response (first 300 characters): ${text.substring(0, 300)}`;
214
210
  get push() {
215
211
  return this.extend({
216
212
  method: 'POST',
217
- schema: extractCollection(this.schema, s => _pushInstanceProperty(s)),
213
+ schema: extractCollection(this.schema, s => s.push),
218
214
  name: this.name + '.create'
219
215
  });
220
216
  }
221
217
  get unshift() {
222
218
  return this.extend({
223
219
  method: 'POST',
224
- schema: extractCollection(this.schema, s => _unshiftInstanceProperty(s)),
220
+ schema: extractCollection(this.schema, s => s.unshift),
225
221
  name: this.name + '.create'
226
222
  });
227
223
  }
@@ -240,4 +236,4 @@ const tryParse = input => {
240
236
  return undefined;
241
237
  }
242
238
  };
243
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJfY29udGV4dCIsImZldGNoIiwiYXJncyIsInVybFBhcmFtcyIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlQmFzZSIsImxlbmd0aCIsImJvZHkiLCJ1bmRlZmluZWQiLCJmZXRjaFJlc3BvbnNlIiwidXJsIiwiZ2V0UmVxdWVzdEluaXQiLCJ0aGVuIiwicmVzcG9uc2UiLCJwYXJzZVJlc3BvbnNlIiwicmVzIiwicHJvY2VzcyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid3JpdGFibGUiLCJ2YWx1ZSIsInNpZGVFZmZlY3QiLCJtZXRob2QiLCJ1cmxQcmVmaXgiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImdldCIsIl9fbmFtZSIsInBhdGgiLCJrZXkiLCJ1cmxCYXNlIiwidG9rZW5zIiwic2VhcmNoUGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJrIiwiaGFzIiwic2VhcmNoVG9TdHJpbmciLCJnZXRIZWFkZXJzIiwiaGVhZGVycyIsImJvZHlJc1Bvam8iLCJKU09OIiwic3RyaW5naWZ5IiwiaW5pdCIsInJlcXVlc3RJbml0Iiwic2lnbmFsIiwiaW5wdXQiLCJvayIsImNhdGNoIiwiZXJyb3IiLCJUeXBlRXJyb3IiLCJzdGF0dXMiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRleHQiLCJfY29udGV4dDIiLCJzY2hlbWEiLCJwcm90b3R5cGUiLCJtZXNzYWdlIiwiZW52IiwiTk9ERV9FTlYiLCJfcmVzcG9uc2UkaGVhZGVycyRnZXQyIiwic3RhcnRzV2l0aCIsInRyeVBhcnNlIiwic3Vic3RyaW5nIiwianNvbiIsImVycm9yUG9saWN5IiwicGF0aFJlZ2V4IiwidGVzdEtleSIsInByZWZpeCIsImxhc3RRdWVzdGlvbiIsImxhc3RJbmRleE9mIiwidGVzdCIsImV4dGVuZCIsIkUiLCJhc3NpZ24iLCJwYWdpbmF0ZWQiLCJyZW1vdmVDdXJzb3IiLCJmaWVsZE5hbWUiLCJwYXJhbXMiLCJmb3VuZCIsImNyZWF0ZVBhZ2luYXRlZFNjaGVtYSIsImNvbGxlY3Rpb24iLCJuZXdTY2hlbWEiLCJFcnJvciIsInN1cCIsIm5hbWUiLCJnZXRQYWdlIiwicGFnaW5hdGlvbkZpZWxkIiwicHVzaCIsInMiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJ1bnNoaWZ0IiwiX3Vuc2hpZnRJbnN0YW5jZVByb3BlcnR5IiwicGFyc2UiLCJlIl0sInNvdXJjZXMiOlsiLi4vc3JjL1Jlc3RFbmRwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgeyBwYXRoVG9SZWdleHAgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCBleHRyYWN0Q29sbGVjdGlvbiBmcm9tICcuL2V4dHJhY3RDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBtYXBDb2xsZWN0aW9uIGZyb20gJy4vbWFwQ29sbGVjdGlvbi5qcyc7XG5pbXBvcnQgTmV0d29ya0Vycm9yIGZyb20gJy4vTmV0d29ya0Vycm9yLmpzJztcbmltcG9ydCB7IGNyZWF0ZVBhZ2luYXRpb25TY2hlbWEgfSBmcm9tICcuL3BhZ2luYXRlZENvbGxlY3Rpb25zLmpzJztcbmltcG9ydCBwYXJhbXNUb1N0cmluZyBmcm9tICcuL3BhcmFtc1RvU3RyaW5nLmpzJztcbmltcG9ydCB7IGdldFVybEJhc2UsIGdldFVybFRva2VucywgaXNQb2pvIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbi8qKiBTaW1wbGlmaWVzIGVuZHBvaW50IGRlZmluaXRpb25zIHRoYXQgZm9sbG93IFJFU1QgcGF0dGVybnNcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9SZXN0RW5kcG9pbnRcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzdEVuZHBvaW50IGV4dGVuZHMgRW5kcG9pbnQge1xuICAjaGFzQm9keTtcbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHN1cGVyKFxuICAgICAgb3B0aW9ucy5mZXRjaCA/P1xuICAgICAgICBhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgIGNvbnN0IHVybFBhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fTtcbiAgICAgICAgICBjb25zdCBib2R5ID0gdGhpcy4jaGFzQm9keSA/IGFyZ3NbYXJncy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaFJlc3BvbnNlKFxuICAgICAgICAgICAgdGhpcy51cmwodXJsUGFyYW1zKSxcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVxdWVzdEluaXQoYm9keSksXG4gICAgICAgICAgKVxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gdGhpcy5wYXJzZVJlc3BvbnNlKHJlc3BvbnNlKSlcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB0aGlzLnByb2Nlc3MocmVzLCAuLi5hcmdzKSk7XG4gICAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgLy8gd2Ugd2FudCB0byB1c2UgdGhlIHByb3RvdHlwZSBjaGFpbiBoZXJlXG4gICAgaWYgKFxuICAgICAgISgnc2lkZUVmZmVjdCcgaW4gdGhpcykgfHxcbiAgICAgICgnbWV0aG9kJyBpbiBvcHRpb25zICYmICEoJ3NpZGVFZmZlY3QnIGluIG9wdGlvbnMpKVxuICAgICkge1xuICAgICAgdGhpcy5zaWRlRWZmZWN0ID1cbiAgICAgICAgb3B0aW9ucy5tZXRob2QgPT09ICdHRVQnIHx8IG9wdGlvbnMubWV0aG9kID09PSB1bmRlZmluZWQgP1xuICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICA6IHRydWU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1ldGhvZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1ldGhvZCA9IHRoaXMuc2lkZUVmZmVjdCA/ICdQT1NUJyA6ICdHRVQnO1xuICAgIH1cbiAgICBpZiAodGhpcy51cmxQcmVmaXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy51cmxQcmVmaXggPSAnJztcbiAgICB9XG4gICAgdGhpcy4jaGFzQm9keSA9XG4gICAgICAoISgnYm9keScgaW4gdGhpcykgfHwgdGhpcy5ib2R5ICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAhWydHRVQnLCAnREVMRVRFJ10uaW5jbHVkZXModGhpcy5tZXRob2QpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICduYW1lJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICAvLyB1c2luZyAnaW4nIHRvIGVuc3VyZSBpbmhlcml0YW5jZSBsb29rdXBcbiAgICAgICAgaWYgKCdfX25hbWUnIGluIHRoaXMpIHJldHVybiB0aGlzLl9fbmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXMudXJsUHJlZml4ICsgdGhpcy5wYXRoO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGtleSguLi5hcmdzKSB7XG4gICAgcmV0dXJuIGAke3RoaXMubWV0aG9kfSAke3RoaXMudXJsKFxuICAgICAgdGhpcy4jaGFzQm9keSAmJiBhcmdzLmxlbmd0aCA8IDIgPyB7fSA6IGFyZ3NbMF0gfHwge30sXG4gICAgKX1gO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgdXJsICovXG4gIHVybCh1cmxQYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IHVybEJhc2UgPSBnZXRVcmxCYXNlKHRoaXMucGF0aCkodXJsUGFyYW1zKTtcbiAgICBjb25zdCB0b2tlbnMgPSBnZXRVcmxUb2tlbnModGhpcy5wYXRoKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh1cmxQYXJhbXMpLmZvckVhY2goayA9PiB7XG4gICAgICBpZiAoIXRva2Vucy5oYXMoaykpIHtcbiAgICAgICAgc2VhcmNoUGFyYW1zW2tdID0gdXJsUGFyYW1zW2tdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChPYmplY3Qua2V5cyhzZWFyY2hQYXJhbXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX0/JHt0aGlzLnNlYXJjaFRvU3RyaW5nKHNlYXJjaFBhcmFtcyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RoaXMudXJsUHJlZml4fSR7dXJsQmFzZX1gO1xuICB9XG5cbiAgLyoqIEVuY29kZSB0aGUgdXJsIHNlYXJjaFBhcmFtcyAqL1xuICBzZWFyY2hUb1N0cmluZyhzZWFyY2hQYXJhbXMpIHtcbiAgICByZXR1cm4gcGFyYW1zVG9TdHJpbmcoc2VhcmNoUGFyYW1zKTtcbiAgfVxuXG4gIGdldEhlYWRlcnMoaGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzO1xuICB9XG5cbiAgLyoqIEluaXQgb3B0aW9ucyBmb3IgZmV0Y2ggLSBydW4gYXQgZmV0Y2ggKi9cbiAgYXN5bmMgZ2V0UmVxdWVzdEluaXQoYm9keSkge1xuICAgIGNvbnN0IGJvZHlJc1Bvam8gPSBpc1Bvam8oYm9keSk7XG4gICAgaWYgKGJvZHlJc1Bvam8pIHtcbiAgICAgIGJvZHkgPSBKU09OLnN0cmluZ2lmeShib2R5KTtcbiAgICB9XG4gICAgY29uc3QgaW5pdCA9IHtcbiAgICAgIC4uLnRoaXMucmVxdWVzdEluaXQsXG4gICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbCxcbiAgICAgIGJvZHksXG4gICAgfTtcbiAgICBpZiAoIWJvZHkgfHwgYm9keUlzUG9qbykge1xuICAgICAgaW5pdC5oZWFkZXJzID0ge1xuICAgICAgICAvLyBkZWZhdWx0IHRvIGFwcGxpY2F0aW9uL2pzb24gYnV0IGFsbG93IHVzZXIgZXhwbGljaXQgb3ZlcnJpZGVzXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLmluaXQuaGVhZGVycyxcbiAgICAgIH07XG4gICAgfVxuICAgIGluaXQuaGVhZGVycyA9IGF3YWl0IHRoaXMuZ2V0SGVhZGVycyhpbml0LmhlYWRlcnMpO1xuICAgIHJldHVybiBpbml0O1xuICB9XG5cbiAgLyoqIFBlcmZvcm0gbmV0d29yayByZXF1ZXN0IGFuZCByZXNvbHZlIHdpdGggSFRUUCBSZXNwb25zZSAqL1xuICBmZXRjaFJlc3BvbnNlKGlucHV0LCBpbml0KSB7XG4gICAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IE5ldHdvcmtFcnJvcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIC8vIGVuc3VyZSBDT1JTLCBuZXR3b3JrIGRvd24sIGFuZCBwYXJzZSBlcnJvcnMgYXJlIHN0aWxsIGNhdWdodCBieSBOZXR3b3JrRXJyb3JCb3VuZGFyeVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHtcbiAgICAgICAgICBlcnJvci5zdGF0dXMgPSA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfVxuXG4gIHBhcnNlUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgICAvLyB0aGlzIHNob3VsZCBub3QgaGF2ZSBhbnkgY29udGVudCB0byByZWFkXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICAgIGlmICghcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnanNvbicpKSB7XG4gICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpLnRoZW4odGV4dCA9PiB7XG4gICAgICAgIC8vIHN0cmluZyBvciAnbm90IHNldCcgc2NoZW1hLCBhcmUgdmFsaWRcbiAgICAgICAgLy8gd2hlbiBvdmVycmlkaW5nIHByb2Nlc3MgdGhleSBtaWdodCBoYW5kbGUgb3RoZXIgY2FzZXMsIHNvIHdlIGRvbid0IHdhbnQgdG8gYmxvY2sgb24gb3VyIGxvZ2ljXG4gICAgICAgIGlmIChcbiAgICAgICAgICBbJ3N0cmluZycsICd1bmRlZmluZWQnXS5pbmNsdWRlcyh0eXBlb2YgdGhpcy5zY2hlbWEpIHx8XG4gICAgICAgICAgdGhpcy5zY2hlbWEgPT09IG51bGwgfHxcbiAgICAgICAgICB0aGlzLnByb2Nlc3MgIT09IFJlc3RFbmRwb2ludC5wcm90b3R5cGUucHJvY2Vzc1xuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG5cbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgZXJyb3Iuc3RhdHVzID0gNDA0O1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgdGV4dCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9YDtcbiAgICAgICAgLy8gY3VzdG9tIGRldi1vbmx5IG1lc3NhZ2VzIGZvciBtb3JlIGRldGFpbGVkIGNhdXNlXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5pbmNsdWRlcygnaHRtbCcpIHx8XG4gICAgICAgICAgICAgIHRleHQuc3RhcnRzV2l0aCgnPCFkb2N0eXBlIGh0bWw+JylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGlmICh0cnlQYXJzZSh0ZXh0KSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgXCJjb250ZW50LXR5cGVcIiBoZWFkZXIgZG9lcyBub3QgaW5jbHVkZSBcImpzb25cIiwgYnV0IEpTT04gcmVzcG9uc2UgZm91bmQuXG5TZWUgaHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvcmZjL3JmYzQ2MjcgZm9yIGluZm9ybWF0aW9uIG9uIEpTT04gcmVzcG9uc2VzXG5cblVzaW5nIHBhcnNlZCBKU09OLlxuSWYgdGV4dCBjb250ZW50IHdhcyBleHBlY3RlZCBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludCNwYXJzZVJlc3BvbnNlYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBVbmV4cGVjdGVkIGh0bWwgcmVzcG9uc2UgZm9yIHNjaGVtYSAke3RoaXMuc2NoZW1hfVxuVGhpcyBsaWtlbHkgbWVhbnMgbm8gQVBJIGVuZHBvaW50IHdhcyBjb25maWd1cmVkIGZvciB0aGlzIHJlcXVlc3QsIHJlc3VsdGluZyBpbiBhbiBIVE1MIGZhbGxiYWNrLlxuXG5SZXNwb25zZSAoZmlyc3QgMzAwIGNoYXJhY3RlcnMpOiAke3RleHQuc3Vic3RyaW5nKDAsIDMwMCl9YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaChlcnJvciA9PiB7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfVxuXG4gIHByb2Nlc3ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBlcnJvclBvbGljeShlcnJvcikge1xuICAgIHJldHVybiBlcnJvci5zdGF0dXMgPj0gNTAwID8gJ3NvZnQnIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IHBhdGhSZWdleCgpIHtcbiAgICByZXR1cm4gcGF0aFRvUmVnZXhwKHRoaXMucGF0aCk7XG4gIH1cblxuICB0ZXN0S2V5KGtleSkge1xuICAgIGNvbnN0IHByZWZpeCA9IHRoaXMubWV0aG9kICsgJyAnICsgdGhpcy51cmxQcmVmaXg7XG4gICAgaWYgKCFrZXkuc3RhcnRzV2l0aChwcmVmaXgpKSByZXR1cm4gZmFsc2U7XG4gICAgbGV0IGxhc3RRdWVzdGlvbiA9IGtleS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChsYXN0UXVlc3Rpb24gPT09IC0xKSBsYXN0UXVlc3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGF0aFJlZ2V4LnRlc3Qoa2V5LnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoLCBsYXN0UXVlc3Rpb24pKTtcbiAgfVxuXG4gIGV4dGVuZChvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBhIGNvbnN0cnVjdG9yL3Byb3RvdHlwZSBiYXNlZCBvZmYgdGhpc1xuICAgIC8vIGV4dGVuZCBmcm9tIGl0IGFuZCBpbml0IHdpdGggb3B0aW9ucyBzZW50XG4gICAgY2xhc3MgRSBleHRlbmRzIHRoaXMuY29uc3RydWN0b3Ige31cblxuICAgIE9iamVjdC5hc3NpZ24oRS5wcm90b3R5cGUsIHRoaXMpO1xuXG4gICAgcmV0dXJuIG5ldyBFKFxuICAgICAgLy8gIGZldGNoIGdldCBvdmVycmlkZGVuIGJ5IGZ1bmN0aW9uIHByb3RvdHlwZSwgc28gd2UgbXVzdCBzZXQgaXQgZXhwbGljaXRseSBldmVyeSB0aW1lXG4gICAgICB7IGZldGNoOiB0aGlzLmZldGNoLCAuLi5vcHRpb25zIH0sXG4gICAgKTtcbiAgfVxuXG4gIHBhZ2luYXRlZChyZW1vdmVDdXJzb3IpIHtcbiAgICBpZiAodHlwZW9mIHJlbW92ZUN1cnNvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHJlbW92ZUN1cnNvcjtcbiAgICAgIHJlbW92ZUN1cnNvciA9ICh7IC4uLnBhcmFtcyB9KSA9PiB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNbZmllbGROYW1lXTtcbiAgICAgICAgcmV0dXJuIFtwYXJhbXNdO1xuICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgY29uc3QgY3JlYXRlUGFnaW5hdGVkU2NoZW1hID0gY29sbGVjdGlvbiA9PiB7XG4gICAgICBmb3VuZCA9IHRydWU7XG4gICAgICByZXR1cm4gY3JlYXRlUGFnaW5hdGlvblNjaGVtYShyZW1vdmVDdXJzb3IsIGNvbGxlY3Rpb24pO1xuICAgIH07XG4gICAgY29uc3QgbmV3U2NoZW1hID0gbWFwQ29sbGVjdGlvbih0aGlzLnNjaGVtYSwgY3JlYXRlUGFnaW5hdGVkU2NoZW1hKTtcblxuICAgIGlmICghZm91bmQpIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBDb2xsZWN0aW9uJyk7XG4gICAgY29uc3Qgc3VwID0gdGhpcztcblxuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBzY2hlbWE6IG5ld1NjaGVtYSxcbiAgICAgIGtleSguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiBzdXAua2V5LmNhbGwodGhpcywgLi4ucmVtb3ZlQ3Vyc29yKC4uLmFyZ3MpKTtcbiAgICAgIH0sXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmdldFBhZ2UnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGdldFBhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdGVkKHRoaXMucGFnaW5hdGlvbkZpZWxkKTtcbiAgfVxuXG4gIGdldCBwdXNoKCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy5wdXNoKSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB1bnNoaWZ0KCkge1xuICAgIHJldHVybiB0aGlzLmV4dGVuZCh7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHNjaGVtYTogZXh0cmFjdENvbGxlY3Rpb24odGhpcy5zY2hlbWEsIHMgPT4gcy51bnNoaWZ0KSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBhc3NpZ24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLmFzc2lnbiksXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgKyAnLmNyZWF0ZScsXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgdHJ5UGFyc2UgPSBpbnB1dCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoaW5wdXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLFlBQVksUUFBUSxnQkFBZ0I7QUFFN0MsT0FBT0MsaUJBQWlCLE1BQU0sd0JBQXdCO0FBQ3RELE9BQU9DLGFBQWEsTUFBTSxvQkFBb0I7QUFDOUMsT0FBT0MsWUFBWSxNQUFNLG1CQUFtQjtBQUM1QyxTQUFTQyxzQkFBc0IsUUFBUSwyQkFBMkI7QUFDbEUsT0FBT0MsY0FBYyxNQUFNLHFCQUFxQjtBQUNoRCxTQUFTQyxVQUFVLEVBQUVDLFlB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
239
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFbmRwb2ludCIsInBhdGhUb1JlZ2V4cCIsImV4dHJhY3RDb2xsZWN0aW9uIiwibWFwQ29sbGVjdGlvbiIsIk5ldHdvcmtFcnJvciIsImNyZWF0ZVBhZ2luYXRpb25TY2hlbWEiLCJwYXJhbXNUb1N0cmluZyIsImdldFVybEJhc2UiLCJnZXRVcmxUb2tlbnMiLCJpc1Bvam8iLCJfaGFzQm9keSIsIl9jbGFzc1ByaXZhdGVGaWVsZExvb3NlS2V5IiwiUmVzdEVuZHBvaW50IiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiX29wdGlvbnMkZmV0Y2giLCJmZXRjaCIsImFyZ3MiLCJ1cmxQYXJhbXMiLCJfY2xhc3NQcml2YXRlRmllbGRMb29zZUJhc2UiLCJsZW5ndGgiLCJib2R5IiwidW5kZWZpbmVkIiwiZmV0Y2hSZXNwb25zZSIsInVybCIsImdldFJlcXVlc3RJbml0IiwidGhlbiIsInJlc3BvbnNlIiwicGFyc2VSZXNwb25zZSIsInJlcyIsInByb2Nlc3MiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIndyaXRhYmxlIiwidmFsdWUiLCJzaWRlRWZmZWN0IiwibWV0aG9kIiwidXJsUHJlZml4IiwiaW5jbHVkZXMiLCJnZXQiLCJfX25hbWUiLCJwYXRoIiwia2V5IiwidXJsQmFzZSIsInRva2VucyIsInNlYXJjaFBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwiayIsImhhcyIsInNlYXJjaFRvU3RyaW5nIiwiZ2V0SGVhZGVycyIsImhlYWRlcnMiLCJib2R5SXNQb2pvIiwiSlNPTiIsInN0cmluZ2lmeSIsImluaXQiLCJyZXF1ZXN0SW5pdCIsInNpZ25hbCIsImlucHV0Iiwib2siLCJjYXRjaCIsImVycm9yIiwiVHlwZUVycm9yIiwic3RhdHVzIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0ZXh0Iiwic2NoZW1hIiwicHJvdG90eXBlIiwibWVzc2FnZSIsImVudiIsIk5PREVfRU5WIiwiX3Jlc3BvbnNlJGhlYWRlcnMkZ2V0MiIsInN0YXJ0c1dpdGgiLCJ0cnlQYXJzZSIsInN1YnN0cmluZyIsImpzb24iLCJlcnJvclBvbGljeSIsInBhdGhSZWdleCIsInRlc3RLZXkiLCJwcmVmaXgiLCJsYXN0UXVlc3Rpb24iLCJsYXN0SW5kZXhPZiIsInRlc3QiLCJleHRlbmQiLCJFIiwiYXNzaWduIiwicGFnaW5hdGVkIiwicmVtb3ZlQ3Vyc29yIiwiZmllbGROYW1lIiwicGFyYW1zIiwiZm91bmQiLCJjcmVhdGVQYWdpbmF0ZWRTY2hlbWEiLCJjb2xsZWN0aW9uIiwibmV3U2NoZW1hIiwiRXJyb3IiLCJzdXAiLCJjYWxsIiwibmFtZSIsImdldFBhZ2UiLCJwYWdpbmF0aW9uRmllbGQiLCJwdXNoIiwicyIsInVuc2hpZnQiLCJwYXJzZSIsImUiXSwic291cmNlcyI6WyIuLi9zcmMvUmVzdEVuZHBvaW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB7IHBhdGhUb1JlZ2V4cCB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IGV4dHJhY3RDb2xsZWN0aW9uIGZyb20gJy4vZXh0cmFjdENvbGxlY3Rpb24uanMnO1xuaW1wb3J0IG1hcENvbGxlY3Rpb24gZnJvbSAnLi9tYXBDb2xsZWN0aW9uLmpzJztcbmltcG9ydCBOZXR3b3JrRXJyb3IgZnJvbSAnLi9OZXR3b3JrRXJyb3IuanMnO1xuaW1wb3J0IHsgY3JlYXRlUGFnaW5hdGlvblNjaGVtYSB9IGZyb20gJy4vcGFnaW5hdGVkQ29sbGVjdGlvbnMuanMnO1xuaW1wb3J0IHBhcmFtc1RvU3RyaW5nIGZyb20gJy4vcGFyYW1zVG9TdHJpbmcuanMnO1xuaW1wb3J0IHsgZ2V0VXJsQmFzZSwgZ2V0VXJsVG9rZW5zLCBpc1Bvam8gfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuLyoqIFNpbXBsaWZpZXMgZW5kcG9pbnQgZGVmaW5pdGlvbnMgdGhhdCBmb2xsb3cgUkVTVCBwYXR0ZXJuc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL1Jlc3RFbmRwb2ludFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXN0RW5kcG9pbnQgZXh0ZW5kcyBFbmRwb2ludCB7XG4gICNoYXNCb2R5O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgc3VwZXIoXG4gICAgICBvcHRpb25zLmZldGNoID8/XG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgY29uc3QgdXJsUGFyYW1zID1cbiAgICAgICAgICAgIHRoaXMuI2hhc0JvZHkgJiYgYXJncy5sZW5ndGggPCAyID8ge30gOiBhcmdzWzBdIHx8IHt9O1xuICAgICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLiNoYXNCb2R5ID8gYXJnc1thcmdzLmxlbmd0aCAtIDFdIDogdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZldGNoUmVzcG9uc2UoXG4gICAgICAgICAgICB0aGlzLnVybCh1cmxQYXJhbXMpLFxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0SW5pdChib2R5KSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB0aGlzLnBhcnNlUmVzcG9uc2UocmVzcG9uc2UpKVxuICAgICAgICAgICAgLnRoZW4ocmVzID0+IHRoaXMucHJvY2VzcyhyZXMsIC4uLmFyZ3MpKTtcbiAgICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICAvLyB3ZSB3YW50IHRvIHVzZSB0aGUgcHJvdG90eXBlIGNoYWluIGhlcmVcbiAgICBpZiAoXG4gICAgICAhKCdzaWRlRWZmZWN0JyBpbiB0aGlzKSB8fFxuICAgICAgKCdtZXRob2QnIGluIG9wdGlvbnMgJiYgISgnc2lkZUVmZmVjdCcgaW4gb3B0aW9ucykpXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZGVFZmZlY3QgPVxuICAgICAgICBvcHRpb25zLm1ldGhvZCA9PT0gJ0dFVCcgfHwgb3B0aW9ucy5tZXRob2QgPT09IHVuZGVmaW5lZCA/XG4gICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgIDogdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubWV0aG9kID0gdGhpcy5zaWRlRWZmZWN0ID8gJ1BPU1QnIDogJ0dFVCc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVybFByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnVybFByZWZpeCA9ICcnO1xuICAgIH1cbiAgICB0aGlzLiNoYXNCb2R5ID1cbiAgICAgICghKCdib2R5JyBpbiB0aGlzKSB8fCB0aGlzLmJvZHkgIT09IHVuZGVmaW5lZCkgJiZcbiAgICAgICFbJ0dFVCcsICdERUxFVEUnXS5pbmNsdWRlcyh0aGlzLm1ldGhvZCk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hbWUnLCB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIC8vIHVzaW5nICdpbicgdG8gZW5zdXJlIGluaGVyaXRhbmNlIGxvb2t1cFxuICAgICAgICBpZiAoJ19fbmFtZScgaW4gdGhpcykgcmV0dXJuIHRoaXMuX19uYW1lO1xuICAgICAgICByZXR1cm4gdGhpcy51cmxQcmVmaXggKyB0aGlzLnBhdGg7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAga2V5KC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5tZXRob2R9ICR7dGhpcy51cmwoXG4gICAgICB0aGlzLiNoYXNCb2R5ICYmIGFyZ3MubGVuZ3RoIDwgMiA/IHt9IDogYXJnc1swXSB8fCB7fSxcbiAgICApfWA7XG4gIH1cblxuICAvKiogR2V0IHRoZSB1cmwgKi9cbiAgdXJsKHVybFBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgdXJsQmFzZSA9IGdldFVybEJhc2UodGhpcy5wYXRoKSh1cmxQYXJhbXMpO1xuICAgIGNvbnN0IHRva2VucyA9IGdldFVybFRva2Vucyh0aGlzLnBhdGgpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKHVybFBhcmFtcykuZm9yRWFjaChrID0+IHtcbiAgICAgIGlmICghdG9rZW5zLmhhcyhrKSkge1xuICAgICAgICBzZWFyY2hQYXJhbXNba10gPSB1cmxQYXJhbXNba107XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfT8ke3RoaXMuc2VhcmNoVG9TdHJpbmcoc2VhcmNoUGFyYW1zKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7dGhpcy51cmxQcmVmaXh9JHt1cmxCYXNlfWA7XG4gIH1cblxuICAvKiogRW5jb2RlIHRoZSB1cmwgc2VhcmNoUGFyYW1zICovXG4gIHNlYXJjaFRvU3RyaW5nKHNlYXJjaFBhcmFtcykge1xuICAgIHJldHVybiBwYXJhbXNUb1N0cmluZyhzZWFyY2hQYXJhbXMpO1xuICB9XG5cbiAgZ2V0SGVhZGVycyhoZWFkZXJzKSB7XG4gICAgcmV0dXJuIGhlYWRlcnM7XG4gIH1cblxuICAvKiogSW5pdCBvcHRpb25zIGZvciBmZXRjaCAtIHJ1biBhdCBmZXRjaCAqL1xuICBhc3luYyBnZXRSZXF1ZXN0SW5pdChib2R5KSB7XG4gICAgY29uc3QgYm9keUlzUG9qbyA9IGlzUG9qbyhib2R5KTtcbiAgICBpZiAoYm9keUlzUG9qbykge1xuICAgICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIH1cbiAgICBjb25zdCBpbml0ID0ge1xuICAgICAgLi4udGhpcy5yZXF1ZXN0SW5pdCxcbiAgICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXG4gICAgICBzaWduYWw6IHRoaXMuc2lnbmFsLFxuICAgICAgYm9keSxcbiAgICB9O1xuICAgIGlmICghYm9keSB8fCBib2R5SXNQb2pvKSB7XG4gICAgICBpbml0LmhlYWRlcnMgPSB7XG4gICAgICAgIC8vIGRlZmF1bHQgdG8gYXBwbGljYXRpb24vanNvbiBidXQgYWxsb3cgdXNlciBleHBsaWNpdCBvdmVycmlkZXNcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLi4uaW5pdC5oZWFkZXJzLFxuICAgICAgfTtcbiAgICB9XG4gICAgaW5pdC5oZWFkZXJzID0gYXdhaXQgdGhpcy5nZXRIZWFkZXJzKGluaXQuaGVhZGVycyk7XG4gICAgcmV0dXJuIGluaXQ7XG4gIH1cblxuICAvKiogUGVyZm9ybSBuZXR3b3JrIHJlcXVlc3QgYW5kIHJlc29sdmUgd2l0aCBIVFRQIFJlc3BvbnNlICovXG4gIGZldGNoUmVzcG9uc2UoaW5wdXQsIGluaXQpIHtcbiAgICByZXR1cm4gZmV0Y2goaW5wdXQsIGluaXQpXG4gICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTmV0d29ya0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgLy8gZW5zdXJlIENPUlMsIG5ldHdvcmsgZG93biwgYW5kIHBhcnNlIGVycm9ycyBhcmUgc3RpbGwgY2F1Z2h0IGJ5IE5ldHdvcmtFcnJvckJvdW5kYXJ5XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcikge1xuICAgICAgICAgIGVycm9yLnN0YXR1cyA9IDUwMDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9XG5cbiAgcGFyc2VSZXNwb25zZShyZXNwb25zZSkge1xuICAgIC8vIHRoaXMgc2hvdWxkIG5vdCBoYXZlIGFueSBjb250ZW50IHRvIHJlYWRcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgaWYgKCFyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdqc29uJykpIHtcbiAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCkudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgLy8gc3RyaW5nIG9yICdub3Qgc2V0JyBzY2hlbWEsIGFyZSB2YWxpZFxuICAgICAgICAvLyB3aGVuIG92ZXJyaWRpbmcgcHJvY2VzcyB0aGV5IG1pZ2h0IGhhbmRsZSBvdGhlciBjYXNlcywgc28gd2UgZG9uJ3Qgd2FudCB0byBibG9jayBvbiBvdXIgbG9naWNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIFsnc3RyaW5nJywgJ3VuZGVmaW5lZCddLmluY2x1ZGVzKHR5cGVvZiB0aGlzLnNjaGVtYSkgfHxcbiAgICAgICAgICB0aGlzLnNjaGVtYSA9PT0gbnVsbCB8fFxuICAgICAgICAgIHRoaXMucHJvY2VzcyAhPT0gUmVzdEVuZHBvaW50LnByb3RvdHlwZS5wcm9jZXNzXG4gICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdGV4dDtcblxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBOZXR3b3JrRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICBlcnJvci5zdGF0dXMgPSA0MDQ7XG4gICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVW5leHBlY3RlZCB0ZXh0IHJlc3BvbnNlIGZvciBzY2hlbWEgJHt0aGlzLnNjaGVtYX1gO1xuICAgICAgICAvLyBjdXN0b20gZGV2LW9ubHkgbWVzc2FnZXMgZm9yIG1vcmUgZGV0YWlsZWQgY2F1c2VcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKFxuICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk/LmluY2x1ZGVzKCdodG1sJykgfHxcbiAgICAgICAgICAgICAgdGV4dC5zdGFydHNXaXRoKCc8IWRvY3R5cGUgaHRtbD4nKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKHRyeVBhcnNlKHRleHQpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGBcImNvbnRlbnQtdHlwZVwiIGhlYWRlciBkb2VzIG5vdCBpbmNsdWRlIFwianNvblwiLCBidXQgSlNPTiByZXNwb25zZSBmb3VuZC5cblNlZSBodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjNDYyNyBmb3IgaW5mb3JtYXRpb24gb24gSlNPTiByZXNwb25zZXNcblxuVXNpbmcgcGFyc2VkIEpTT04uXG5JZiB0ZXh0IGNvbnRlbnQgd2FzIGV4cGVjdGVkIHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvUmVzdEVuZHBvaW50I3BhcnNlUmVzcG9uc2VgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gYFVuZXhwZWN0ZWQgaHRtbCByZXNwb25zZSBmb3Igc2NoZW1hICR7dGhpcy5zY2hlbWF9XG5UaGlzIGxpa2VseSBtZWFucyBubyBBUEkgZW5kcG9pbnQgd2FzIGNvbmZpZ3VyZWQgZm9yIHRoaXMgcmVxdWVzdCwgcmVzdWx0aW5nIGluIGFuIEhUTUwgZmFsbGJhY2suXG5cblJlc3BvbnNlIChmaXJzdCAzMDAgY2hhcmFjdGVycyk6ICR7dGV4dC5zdWJzdHJpbmcoMCwgMzAwKX1gO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGVycm9yLnN0YXR1cyA9IDQwMDtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvY2Vzcyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGVycm9yUG9saWN5KGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA+PSA1MDAgPyAnc29mdCcgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgcGF0aFJlZ2V4KCkge1xuICAgIHJldHVybiBwYXRoVG9SZWdleHAodGhpcy5wYXRoKTtcbiAgfVxuXG4gIHRlc3RLZXkoa2V5KSB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5tZXRob2QgKyAnICcgKyB0aGlzLnVybFByZWZpeDtcbiAgICBpZiAoIWtleS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBmYWxzZTtcbiAgICBsZXQgbGFzdFF1ZXN0aW9uID0ga2V5Lmxhc3RJbmRleE9mKCc/Jyk7XG4gICAgaWYgKGxhc3RRdWVzdGlvbiA9PT0gLTEpIGxhc3RRdWVzdGlvbiA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5wYXRoUmVnZXgudGVzdChrZXkuc3Vic3RyaW5nKHByZWZpeC5sZW5ndGgsIGxhc3RRdWVzdGlvbikpO1xuICB9XG5cbiAgZXh0ZW5kKG9wdGlvbnMpIHtcbiAgICAvLyBtYWtlIGEgY29uc3RydWN0b3IvcHJvdG90eXBlIGJhc2VkIG9mZiB0aGlzXG4gICAgLy8gZXh0ZW5kIGZyb20gaXQgYW5kIGluaXQgd2l0aCBvcHRpb25zIHNlbnRcbiAgICBjbGFzcyBFIGV4dGVuZHMgdGhpcy5jb25zdHJ1Y3RvciB7fVxuXG4gICAgT2JqZWN0LmFzc2lnbihFLnByb3RvdHlwZSwgdGhpcyk7XG5cbiAgICByZXR1cm4gbmV3IEUoXG4gICAgICAvLyAgZmV0Y2ggZ2V0IG92ZXJyaWRkZW4gYnkgZnVuY3Rpb24gcHJvdG90eXBlLCBzbyB3ZSBtdXN0IHNldCBpdCBleHBsaWNpdGx5IGV2ZXJ5IHRpbWVcbiAgICAgIHsgZmV0Y2g6IHRoaXMuZmV0Y2gsIC4uLm9wdGlvbnMgfSxcbiAgICApO1xuICB9XG5cbiAgcGFnaW5hdGVkKHJlbW92ZUN1cnNvcikge1xuICAgIGlmICh0eXBlb2YgcmVtb3ZlQ3Vyc29yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZmllbGROYW1lID0gcmVtb3ZlQ3Vyc29yO1xuICAgICAgcmVtb3ZlQ3Vyc29yID0gKHsgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgZGVsZXRlIHBhcmFtc1tmaWVsZE5hbWVdO1xuICAgICAgICByZXR1cm4gW3BhcmFtc107XG4gICAgICB9O1xuICAgIH1cbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBjb25zdCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEgPSBjb2xsZWN0aW9uID0+IHtcbiAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgIHJldHVybiBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hKHJlbW92ZUN1cnNvciwgY29sbGVjdGlvbik7XG4gICAgfTtcbiAgICBjb25zdCBuZXdTY2hlbWEgPSBtYXBDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBjcmVhdGVQYWdpbmF0ZWRTY2hlbWEpO1xuXG4gICAgaWYgKCFmb3VuZCkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIENvbGxlY3Rpb24nKTtcbiAgICBjb25zdCBzdXAgPSB0aGlzO1xuXG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIHNjaGVtYTogbmV3U2NoZW1hLFxuICAgICAga2V5KC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIHN1cC5rZXkuY2FsbCh0aGlzLCAuLi5yZW1vdmVDdXJzb3IoLi4uYXJncykpO1xuICAgICAgfSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuZ2V0UGFnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZ2V0UGFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWdpbmF0ZWQodGhpcy5wYWdpbmF0aW9uRmllbGQpO1xuICB9XG5cbiAgZ2V0IHB1c2goKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnB1c2gpLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHVuc2hpZnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZW5kKHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgc2NoZW1hOiBleHRyYWN0Q29sbGVjdGlvbih0aGlzLnNjaGVtYSwgcyA9PiBzLnVuc2hpZnQpLFxuICAgICAgbmFtZTogdGhpcy5uYW1lICsgJy5jcmVhdGUnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGFzc2lnbigpIHtcbiAgICByZXR1cm4gdGhpcy5leHRlbmQoe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBzY2hlbWE6IGV4dHJhY3RDb2xsZWN0aW9uKHRoaXMuc2NoZW1hLCBzID0+IHMuYXNzaWduKSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSArICcuY3JlYXRlJyxcbiAgICB9KTtcbiAgfVxufVxuXG5jb25zdCB0cnlQYXJzZSA9IGlucHV0ID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShpbnB1dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFFBQVEsUUFBUSx1QkFBdUI7QUFDaEQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxPQUFPQyxpQkFBaUIsTUFBTSx3QkFBd0I7QUFDdEQsT0FBT0MsYUFBYSxNQUFNLG9CQUFvQjtBQUM5QyxPQUFPQyxZQUFZLE1BQU0sbUJBQW1CO0FBQzVDLFNBQVNDLHNCQUFzQixRQUFRLDJCQUEyQjtBQUNsRSxPQUFPQyxjQUFjLE1BQU0scUJBQXFCO0FBQ2hELFNBQVNDLFVBQVUsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLFFBQVEsa0JBQWtCOztBQUVuRTtBQUNBO0FBQ0E7QUFDQTtBQUhBLElBQUFDLFFBQUEsZ0JBQUFDLDBCQUFBO0FBSUEsZUFBZSxNQUFNQyxZ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
@@ -1,9 +1,8 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  export function paginatedMerge(existing, incoming) {
3
2
  const existingSet = new Set(existing);
4
3
  const mergedList = [...existing];
5
4
  for (const pk of incoming) {
6
- if (!existingSet.has(pk)) _pushInstanceProperty(mergedList).call(mergedList, pk);
5
+ if (!existingSet.has(pk)) mergedList.push(pk);
7
6
  }
8
7
  return mergedList;
9
8
  }
@@ -22,4 +21,4 @@ export function createPaginationSchema(removeCursor, collection) {
22
21
  }
23
22
  });
24
23
  }
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWdpbmF0ZWRNZXJnZSIsImV4aXN0aW5nIiwiaW5jb21pbmciLCJleGlzdGluZ1NldCIsIlNldCIsIm1lcmdlZExpc3QiLCJwayIsImhhcyIsIl9wdXNoSW5zdGFuY2VQcm9wZXJ0eSIsImNhbGwiLCJjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIiwicmVtb3ZlQ3Vyc29yIiwiY29sbGVjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsIm5hbWUiLCJ2YWx1ZSIsInNjaGVtYSIsIm1lcmdlIiwicGFyZW50Iiwia2V5IiwiYXJncyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYWdpbmF0ZWRDb2xsZWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWdpbmF0ZWRNZXJnZShleGlzdGluZzogYW55W10sIGluY29taW5nOiBhbnlbXSkge1xuICBjb25zdCBleGlzdGluZ1NldDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KGV4aXN0aW5nKTtcbiAgY29uc3QgbWVyZ2VkTGlzdCA9IFsuLi5leGlzdGluZ107XG4gIGZvciAoY29uc3QgcGsgb2YgaW5jb21pbmcpIHtcbiAgICBpZiAoIWV4aXN0aW5nU2V0LmhhcyhwaykpIG1lcmdlZExpc3QucHVzaChwayk7XG4gIH1cbiAgcmV0dXJuIG1lcmdlZExpc3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYWdpbmF0aW9uU2NoZW1hKFxuICByZW1vdmVDdXJzb3I6ICguLi5hcmdzOiByZWFkb25seSBhbnlbXSkgPT4gYW55W10sXG4gIGNvbGxlY3Rpb246IHNjaGVtYS5Db2xsZWN0aW9uLFxuKSB7XG4gIHJldHVybiBPYmplY3QuY3JlYXRlKGNvbGxlY3Rpb24sIHtcbiAgICBuYW1lOiB7XG4gICAgICB2YWx1ZTogYFBhZ2luYXRpb24oJHtjb2xsZWN0aW9uLnNjaGVtYX0pYCxcbiAgICB9LFxuICAgIG1lcmdlOiB7XG4gICAgICB2YWx1ZTogcGFnaW5hdGVkTWVyZ2UsXG4gICAgfSxcbiAgICBwazoge1xuICAgICAgdmFsdWU6IGZ1bmN0aW9uICh2YWx1ZTogYW55LCBwYXJlbnQ6IGFueSwga2V5OiBhbnksIGFyZ3M6IGFueVtdKSB7XG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLnBrLmNhbGwoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBwYXJlbnQsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHJlbW92ZUN1cnNvciguLi5hcmdzKSxcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLFNBQVNBLGNBQWNBLENBQUNDLFFBQWUsRUFBRUMsUUFBZSxFQUFFO0VBQy9ELE1BQU1DLFdBQXdCLEdBQUcsSUFBSUMsR0FBRyxDQUFDSCxRQUFRLENBQUM7RUFDbEQsTUFBTUksVUFBVSxHQUFHLENBQUMsR0FBR0osUUFBUSxDQUFDO0VBQ2hDLEtBQUssTUFBTUssRUFBRSxJQUFJSixRQUFRLEVBQUU7SUFDekIsSUFBSSxDQUFDQyxXQUFXLENBQUNJLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUVFLHFCQUFBLENBQUFILFVBQVUsRUFBQUksSUFBQSxDQUFWSixVQUFVLEVBQU1DLEVBQUUsQ0FBQztFQUMvQztFQUNBLE9BQU9ELFVBQVU7QUFDbkI7QUFFQSxPQUFPLFNBQVNLLHNCQUFzQkEsQ0FDcENDLFlBQWdELEVBQ2hEQyxVQUE2QixFQUM3QjtFQUNBLE9BQU9DLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDRixVQUFVLEVBQUU7SUFDL0JHLElBQUksRUFBRTtNQUNKQyxLQUFLLEVBQUUsY0FBY0osVUFBVSxDQUFDSyxNQUFNO0lBQ3hDLENBQUM7SUFDREMsS0FBSyxFQUFFO01BQ0xGLEtBQUssRUFBRWhCO0lBQ1QsQ0FBQztJQUNETSxFQUFFLEVBQUU7TUFDRlUsS0FBSyxFQUFFLFNBQUFBLENBQVVBLEtBQVUsRUFBRUcsTUFBVyxFQUFFQyxHQUFRLEVBQUVDLElBQVcsRUFBRTtRQUMvRCxPQUFPVCxVQUFVLENBQUNOLEVBQUUsQ0FBQ0csSUFBSSxDQUN2QixJQUFJLEVBQ0pPLEtBQUssRUFDTEcsTUFBTSxFQUNOQyxHQUFHLEVBQ0hULFlBQVksQ0FBQyxHQUFHVSxJQUFJLENBQ3RCLENBQUM7TUFDSDtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYWdpbmF0ZWRNZXJnZSIsImV4aXN0aW5nIiwiaW5jb21pbmciLCJleGlzdGluZ1NldCIsIlNldCIsIm1lcmdlZExpc3QiLCJwayIsImhhcyIsInB1c2giLCJjcmVhdGVQYWdpbmF0aW9uU2NoZW1hIiwicmVtb3ZlQ3Vyc29yIiwiY29sbGVjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsIm5hbWUiLCJ2YWx1ZSIsInNjaGVtYSIsIm1lcmdlIiwicGFyZW50Iiwia2V5IiwiYXJncyIsImNhbGwiXSwic291cmNlcyI6WyIuLi9zcmMvcGFnaW5hdGVkQ29sbGVjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBzY2hlbWEgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFnaW5hdGVkTWVyZ2UoZXhpc3Rpbmc6IGFueVtdLCBpbmNvbWluZzogYW55W10pIHtcbiAgY29uc3QgZXhpc3RpbmdTZXQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldChleGlzdGluZyk7XG4gIGNvbnN0IG1lcmdlZExpc3QgPSBbLi4uZXhpc3RpbmddO1xuICBmb3IgKGNvbnN0IHBrIG9mIGluY29taW5nKSB7XG4gICAgaWYgKCFleGlzdGluZ1NldC5oYXMocGspKSBtZXJnZWRMaXN0LnB1c2gocGspO1xuICB9XG4gIHJldHVybiBtZXJnZWRMaXN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGFnaW5hdGlvblNjaGVtYShcbiAgcmVtb3ZlQ3Vyc29yOiAoLi4uYXJnczogcmVhZG9ubHkgYW55W10pID0+IGFueVtdLFxuICBjb2xsZWN0aW9uOiBzY2hlbWEuQ29sbGVjdGlvbixcbikge1xuICByZXR1cm4gT2JqZWN0LmNyZWF0ZShjb2xsZWN0aW9uLCB7XG4gICAgbmFtZToge1xuICAgICAgdmFsdWU6IGBQYWdpbmF0aW9uKCR7Y29sbGVjdGlvbi5zY2hlbWF9KWAsXG4gICAgfSxcbiAgICBtZXJnZToge1xuICAgICAgdmFsdWU6IHBhZ2luYXRlZE1lcmdlLFxuICAgIH0sXG4gICAgcGs6IHtcbiAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWU6IGFueSwgcGFyZW50OiBhbnksIGtleTogYW55LCBhcmdzOiBhbnlbXSkge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5way5jYWxsKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIGtleSxcbiAgICAgICAgICByZW1vdmVDdXJzb3IoLi4uYXJncyksXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLFNBQVNBLGNBQWNBLENBQUNDLFFBQWUsRUFBRUMsUUFBZSxFQUFFO0VBQy9ELE1BQU1DLFdBQXdCLEdBQUcsSUFBSUMsR0FBRyxDQUFDSCxRQUFRLENBQUM7RUFDbEQsTUFBTUksVUFBVSxHQUFHLENBQUMsR0FBR0osUUFBUSxDQUFDO0VBQ2hDLEtBQUssTUFBTUssRUFBRSxJQUFJSixRQUFRLEVBQUU7SUFDekIsSUFBSSxDQUFDQyxXQUFXLENBQUNJLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUVELFVBQVUsQ0FBQ0csSUFBSSxDQUFDRixFQUFFLENBQUM7RUFDL0M7RUFDQSxPQUFPRCxVQUFVO0FBQ25CO0FBRUEsT0FBTyxTQUFTSSxzQkFBc0JBLENBQ3BDQyxZQUFnRCxFQUNoREMsVUFBNkIsRUFDN0I7RUFDQSxPQUFPQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ0YsVUFBVSxFQUFFO0lBQy9CRyxJQUFJLEVBQUU7TUFDSkMsS0FBSyxFQUFFLGNBQWNKLFVBQVUsQ0FBQ0ssTUFBTTtJQUN4QyxDQUFDO0lBQ0RDLEtBQUssRUFBRTtNQUNMRixLQUFLLEVBQUVmO0lBQ1QsQ0FBQztJQUNETSxFQUFFLEVBQUU7TUFDRlMsS0FBSyxFQUFFLFNBQUFBLENBQVVBLEtBQVUsRUFBRUcsTUFBVyxFQUFFQyxHQUFRLEVBQUVDLElBQVcsRUFBRTtRQUMvRCxPQUFPVCxVQUFVLENBQUNMLEVBQUUsQ0FBQ2UsSUFBSSxDQUN2QixJQUFJLEVBQ0pOLEtBQUssRUFDTEcsTUFBTSxFQUNOQyxHQUFHLEVBQ0hULFlBQVksQ0FBQyxHQUFHVSxJQUFJLENBQ3RCLENBQUM7TUFDSDtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,7 +1,6 @@
1
- import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
2
1
  export default function paramsToString(searchParams) {
3
- const params = new _URLSearchParams(searchParams);
2
+ const params = new URLSearchParams(searchParams);
4
3
  params.sort();
5
4
  return params.toString();
6
5
  }
7
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcoXG4gIHNlYXJjaFBhcmFtcz86XG4gICAgfCBzdHJpbmdcbiAgICB8IFVSTFNlYXJjaFBhcmFtc1xuICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHwgc3RyaW5nW11bXVxuICAgIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgcGFyYW1zLnNvcnQoKTtcbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsZUFBZSxTQUFTQSxjQUFjQSxDQUNwQ0MsWUFLYSxFQUNiO0VBQ0EsTUFBTUMsTUFBTSxHQUFHLElBQUFDLGdCQUFBLENBQW9CRixZQUFZLENBQUM7RUFDaERDLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLENBQUM7RUFDYixPQUFPRixNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQzFCIiwiaWdub3JlTGlzdCI6W119
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJ0b1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJhbXNUb1N0cmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJhbXNUb1N0cmluZyhcbiAgc2VhcmNoUGFyYW1zPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgVVJMU2VhcmNoUGFyYW1zXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgfCBzdHJpbmdbXVtdXG4gICAgfCB1bmRlZmluZWQsXG4pIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhzZWFyY2hQYXJhbXMpO1xuICBwYXJhbXMuc29ydCgpO1xuICByZXR1cm4gcGFyYW1zLnRvU3RyaW5nKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxlQUFlLENBQUNGLFlBQVksQ0FBQztFQUNoREMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztFQUNiLE9BQU9GLE1BQU0sQ0FBQ0csUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,10 +1,9 @@
1
- import _URLSearchParams from "core-js-pure/stable/url-search-params/index.js";
2
1
  export default function paramsToString(searchParams) {
3
- const params = new _URLSearchParams(searchParams);
2
+ const params = new URLSearchParams(searchParams);
4
3
  try {
5
4
  params.sort();
6
5
  // eslint-disable-next-line no-empty
7
6
  } catch {}
8
7
  return params.toString();
9
8
  }
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIl9VUkxTZWFyY2hQYXJhbXMiLCJzb3J0IiwidG9TdHJpbmciXSwic291cmNlcyI6WyIuLi9zcmMvcGFyYW1zVG9TdHJpbmcubmF0aXZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHBhcmFtc1RvU3RyaW5nKFxuICBzZWFyY2hQYXJhbXM/OlxuICAgIHwgc3RyaW5nXG4gICAgfCBVUkxTZWFyY2hQYXJhbXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICB8IHN0cmluZ1tdW11cbiAgICB8IHVuZGVmaW5lZCxcbikge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHNlYXJjaFBhcmFtcyBhcyBhbnkpO1xuICB0cnkge1xuICAgIHBhcmFtcy5zb3J0KCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5XG4gIH0gY2F0Y2gge31cbiAgcmV0dXJuIHBhcmFtcy50b1N0cmluZygpO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsZUFBZSxTQUFTQSxjQUFjQSxDQUNwQ0MsWUFLYSxFQUNiO0VBQ0EsTUFBTUMsTUFBTSxHQUFHLElBQUFDLGdCQUFBLENBQW9CRixZQUFtQixDQUFDO0VBQ3ZELElBQUk7SUFDRkMsTUFBTSxDQUFDRSxJQUFJLENBQUMsQ0FBQztJQUNiO0VBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQztFQUNULE9BQU9GLE1BQU0sQ0FBQ0csUUFBUSxDQUFDLENBQUM7QUFDMUIiLCJpZ25vcmVMaXN0IjpbXX0=
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJhbXNUb1N0cmluZyIsInNlYXJjaFBhcmFtcyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsInNvcnQiLCJ0b1N0cmluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJhbXNUb1N0cmluZy5uYXRpdmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyYW1zVG9TdHJpbmcoXG4gIHNlYXJjaFBhcmFtcz86XG4gICAgfCBzdHJpbmdcbiAgICB8IFVSTFNlYXJjaFBhcmFtc1xuICAgIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIHwgc3RyaW5nW11bXVxuICAgIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zIGFzIGFueSk7XG4gIHRyeSB7XG4gICAgcGFyYW1zLnNvcnQoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHlcbiAgfSBjYXRjaCB7fVxuICByZXR1cm4gcGFyYW1zLnRvU3RyaW5nKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsU0FBU0EsY0FBY0EsQ0FDcENDLFlBS2EsRUFDYjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxlQUFlLENBQUNGLFlBQW1CLENBQUM7RUFDdkQsSUFBSTtJQUNGQyxNQUFNLENBQUNFLElBQUksQ0FBQyxDQUFDO0lBQ2I7RUFDRixDQUFDLENBQUMsTUFBTSxDQUFDO0VBQ1QsT0FBT0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsQ0FBQztBQUMxQiIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/resource.js CHANGED
@@ -1,4 +1,3 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  import { schema } from '@data-client/endpoint';
3
2
  import RestEndpoint from './RestEndpoint.js';
4
3
  import { shortenPath } from './RestHelpers.js';
@@ -72,7 +71,7 @@ This warning will not show in production.`);
72
71
  get,
73
72
  getList,
74
73
  // TODO(deprecated): remove this once we remove creates
75
- create: _pushInstanceProperty(getList).extend({
74
+ create: getList.push.extend({
76
75
  name: getName('create')
77
76
  }),
78
77
  update: new Endpoint({
@@ -160,4 +159,4 @@ function optimisticDelete(snap, params) {
160
159
  function ensurePojo(body) {
161
160
  return body instanceof FormData ? Object.fromEntries(body.entries()) : body;
162
161
  }
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJ1cGRhdGUiLCJtZXRob2QiLCJwYXJ0aWFsVXBkYXRlIiwiZGVsZXRlIiwicmVzIiwicGFyYW1zIiwia2V5cyIsImxlbmd0aCIsIm9wdGltaXN0aWNEZWxldGUiLCJ1bmRlZmluZWQiLCJhcmdzIiwib3ZlcnJpZGVzIiwic25hcCIsImJvZHkiLCJlbnN1cmVQb2pvIiwiZGF0YSIsImFib3J0IiwiRm9ybURhdGEiLCJmcm9tRW50cmllcyIsImVudHJpZXMiXSwic291cmNlcyI6WyIuLi9zcmMvcmVzb3VyY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnQGRhdGEtY2xpZW50L2VuZHBvaW50JztcbmltcG9ydCB0eXBlIHsgU25hcHNob3RJbnRlcmZhY2UsIFF1ZXJ5YWJsZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5cbmltcG9ydCB7XG4gIFJlc291cmNlR2VuZXJpY3MsXG4gIFJlc291cmNlT3B0aW9ucyxcbiAgUmVzb3VyY2UsXG4gIFJlc291cmNlSW50ZXJmYWNlLFxufSBmcm9tICcuL3Jlc291cmNlVHlwZXMuanMnO1xuaW1wb3J0IFJlc3RFbmRwb2ludCwge1xuICBHZXRFbmRwb2ludCxcbiAgUGFydGlhbFJlc3RHZW5lcmljcyxcbiAgUmVzdEVuZHBvaW50T3B0aW9ucyxcbiAgUmVzdEluc3RhbmNlQmFzZSxcbn0gZnJvbSAnLi9SZXN0RW5kcG9pbnQuanMnO1xuaW1wb3J0IHsgc2hvcnRlblBhdGggfSBmcm9tICcuL1Jlc3RIZWxwZXJzLmpzJztcblxuY29uc3QgeyBJbnZhbGlkYXRlLCBDb2xsZWN0aW9uOiBCYXNlQ29sbGVjdGlvbiB9ID0gc2NoZW1hO1xuXG4vKiogQ3JlYXRlcyBjb2xsZWN0aW9uIG9mIEVuZHBvaW50cyBmb3IgY29tbW9uIG9wZXJhdGlvbnMgb24gYSBnaXZlbiBkYXRhL3NjaGVtYS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXNvdXJjZTxPIGV4dGVuZHMgUmVzb3VyY2VHZW5lcmljcz4oe1xuICBwYXRoLFxuICBzY2hlbWEsXG4gIEVuZHBvaW50ID0gUmVzdEVuZHBvaW50LFxuICBDb2xsZWN0aW9uID0gQmFzZUNvbGxlY3Rpb24sXG4gIG9wdGltaXN0aWMsXG4gIHBhZ2luYXRpb25GaWVsZCxcbiAgLi4uZXh0cmFPcHRpb25zXG59OiBSZWFkb25seTxPPiAmIFJlc291cmNlT3B0aW9ucyk6IFJlc291cmNlPE8+IHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnZW5kcG9pbnQnIGluIGV4dHJhT3B0aW9ucyAmJlxuICAgICAgRW5kcG9pbnQgPT09IFJlc3RFbmRwb2ludCAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgZXh0cmFPcHRpb25zWydlbmRwb2ludCddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgUmVzdEVuZHBvaW50LnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSBhcyBhbnkpLnByb3RvdHlwZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFlvdSBwYXNzZWQgJ2VuZHBvaW50JyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgRW5kcG9pbnQ/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjZW5kcG9pbnRcblRoaXMgcGFyYW1ldGVyIG11c3QgYmUgY2FwaXRhbGl6ZWQuXG5cblRoaXMgd2FybmluZyB3aWxsIG5vdCBzaG93IGluIHByb2R1Y3Rpb24uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGlmIHRoZXkgbG93ZXJjYXNlIGFuZCBpdCBsb29rcyBsaWtlIHRoZXkgbWVhbnQgdG8gdXNlIHVwcGVyLWNhc2UgdmVyc2lvblxuICAgIGlmIChcbiAgICAgICdjb2xsZWN0aW9uJyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIENvbGxlY3Rpb24gPT09IEJhc2VDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddICYmXG4gICAgICBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuY2FsbChcbiAgICAgICAgQmFzZUNvbGxlY3Rpb24ucHJvdG90eXBlLFxuICAgICAgICAoZXh0cmFPcHRpb25zWydjb2xsZWN0aW9uJ10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdjb2xsZWN0aW9uJyBvcHRpb247IGRpZCB5b3UgbWVhbiB0byB1c2UgQ29sbGVjdGlvbj9cbmh0dHBzOi8vZGF0YWNsaWVudC5pby9yZXN0L2FwaS9yZXNvdXJjZSNjb2xsZWN0aW9uXG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBjb25zdCBzaG9ydGVuZWRQYXRoID0gc2hvcnRlblBhdGgocGF0aCk7XG4gIGNvbnN0IGdldE5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiBgJHsoc2NoZW1hIGFzIGFueSk/Lm5hbWV9LiR7bmFtZX1gO1xuICAvLyB0aGlzIGFjY291bnRzIGZvciBkZXJpdmF0aXZlIGVuZHBvaW50c1xuICBmdW5jdGlvbiBleHRlbmRNZW1iZXIoZXh0ZW5kZWQ6IGFueSwga2V5OiBzdHJpbmcsIG9wdGlvbnM6IGFueSkge1xuICAgIGV4dGVuZGVkW2tleV0gPSBleHRlbmRlZFtrZXldLmV4dGVuZChvcHRpb25zKTtcbiAgfVxuXG4gIGNvbnN0IGV4dHJhTXV0YXRlT3B0aW9ucyA9IHsgLi4uZXh0cmFPcHRpb25zIH07XG4gIGNvbnN0IGV4dHJhUGFydGlhbE9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBnZXQ6IEdldEVuZHBvaW50PHsgcGF0aDogT1sncGF0aCddOyBzY2hlbWE6IE9bJ3NjaGVtYSddIH0+ID1cbiAgICBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG5hbWU6IGdldE5hbWUoJ2dldCcpLFxuICAgIH0pIGFzIGFueTtcbiAgaWYgKG9wdGltaXN0aWMpIHtcbiAgICAoZXh0cmFNdXRhdGVPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1VwZGF0ZTtcbiAgICAvLyBUT0RPOiBDaGVjayB0aGF0IHNjaGVtYSBpcyBhIHF1ZXJ5YWJsZSwgb3RoZXJ3aXNlIHRoaXMgZG9lc24ndCBtYWtlIHNlbnNlXG4gICAgKGV4dHJhUGFydGlhbE9wdGlvbnMgYXMgYW55KS5nZXRPcHRpbWlzdGljUmVzcG9uc2UgPSBvcHRpbWlzdGljUGFydGlhbChcbiAgICAgIHNjaGVtYSBhcyBhbnksXG4gICAgKTtcbiAgfVxuICBjb25zdCBnZXRMaXN0ID0gbmV3IEVuZHBvaW50KHtcbiAgICAuLi5leHRyYU11dGF0ZU9wdGlvbnMsXG4gICAgcGFnaW5hdGlvbkZpZWxkOiBwYWdpbmF0aW9uRmllbGQgYXMgc3RyaW5nLFxuICAgIHBhdGg6IHNob3J0ZW5lZFBhdGgsXG4gICAgc2NoZW1hOiBuZXcgQ29sbGVjdGlvbihbc2NoZW1hIGFzIGFueV0pLFxuICAgIG5hbWU6IGdldE5hbWUoJ2dldExpc3QnKSxcbiAgfSk7XG4gIGNvbnN0IHJldCA9IHtcbiAgICBnZXQsXG4gICAgZ2V0TGlzdCxcbiAgICAvLyBUT0RPKGRlcHJlY2F0ZWQpOiByZW1vdmUgdGhpcyBvbmNlIHdlIHJlbW92ZSBjcmVhdGVzXG4gICAgY3JlYXRlOiBnZXRMaXN0LnB1c2guZXh0ZW5kKHsgbmFtZTogZ2V0TmFtZSgnY3JlYXRlJykgfSksXG4gICAgdXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCd1cGRhdGUnKSxcbiAgICB9KSxcbiAgICBwYXJ0aWFsVXBkYXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFQYXJ0aWFsT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBuYW1lOiBnZXROYW1lKCdwYXJ0aWFsVXBkYXRlJyksXG4gICAgfSksXG4gICAgZGVsZXRlOiBuZXcgRW5kcG9pbnQoe1xuICAgICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgICAgcGF0aCxcbiAgICAgIHNjaGVtYTogKHNjaGVtYSBhcyBhbnkpLnByb2Nlc3MgPyBuZXcgSW52YWxpZGF0ZShzY2hlbWEgYXMgYW55KSA6IHNjaGVtYSxcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICBuYW1lOiBnZXROYW1lKCdkZWxldGUnKSxcbiAgICAgIHByb2Nlc3MocmVzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICAgIHJldHVybiByZXMgJiYgT2JqZWN0LmtleXMocmVzKS5sZW5ndGggPyByZXMgOiBwYXJhbXM7XG4gICAgICB9LFxuICAgICAgZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlOiBvcHRpbWlzdGljID8gKG9wdGltaXN0aWNEZWxldGUgYXMgYW55KSA6IHVuZGVmaW5lZCxcbiAgICB9KSxcbiAgICBleHRlbmQoXG4gICAgICAuLi5hcmdzOlxuICAgICAgICB8IFtzdHJpbmcsIFJlc3RFbmRwb2ludE9wdGlvbnMgJiBQYXJ0aWFsUmVzdEdlbmVyaWNzXVxuICAgICAgICB8IFtSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgIGJhc2VSZXNvdXJjZTogUmVzb3VyY2VJbnRlcmZhY2UsXG4gICAgICAgICAgICApID0+IFJlY29yZDxzdHJpbmcsIFJlc3RJbnN0YW5jZUJhc2U+LFxuICAgICAgICAgIF1cbiAgICApIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgW2tleSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcbiAgICAgICAgICBjb25zdCBleHRlbmRlZCA9IHsgLi4udGhpcyB9O1xuICAgICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvcHRpb25zKTtcbiAgICAgICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgICBba2V5XTogdGhpcy5nZXQuZXh0ZW5kKG9wdGlvbnMpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSBhcmdzWzBdKHRoaXMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnRoaXMsXG4gICAgICAgICAgLi4uZXh0ZW5kZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvdmVycmlkZXMgPSBhcmdzWzBdO1xuICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG92ZXJyaWRlcykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZXh0ZW5kTWVtYmVyKGV4dGVuZGVkLCBrZXksIG92ZXJyaWRlc1trZXldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHRlbmRlZDtcbiAgICB9LFxuICB9IGFzIGFueTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICByZXR1cm4ge1xuICAgIC4uLnBhcmFtcyxcbiAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY1BhcnRpYWwoc2NoZW1hOiBRdWVyeWFibGUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnksIGJvZHk6IGFueSkge1xuICAgIGNvbnN0IGRhdGEgPSBzbmFwLmdldChzY2hlbWEsIHBhcmFtcyk7XG4gICAgaWYgKCFkYXRhKSB0aHJvdyBzbmFwLmFib3J0O1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICAuLi5kYXRhLFxuICAgICAgLy8gZXZlbiB0aG8gd2UgZG9uJ3QgYWx3YXlzIGhhdmUgdHdvIGFyZ3VtZW50cywgdGhlIGV4dHJhIG9uZSB3aWxsIHNpbXBseSBiZSB1bmRlZmluZWQgd2hpY2ggc3ByZWFkcyBmaW5lXG4gICAgICAuLi5lbnN1cmVQb2pvKGJvZHkpLFxuICAgIH07XG4gIH07XG59XG5mdW5jdGlvbiBvcHRpbWlzdGljRGVsZXRlKHNuYXA6IFNuYXBzaG90SW50ZXJmYWNlLCBwYXJhbXM6IGFueSkge1xuICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gZW5zdXJlUG9qbyhib2R5OiBhbnkpIHtcbiAgcmV0dXJuIGJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSA/XG4gICAgICBPYmplY3QuZnJvbUVudHJpZXMoKGJvZHkgYXMgYW55KS5lbnRyaWVzKCkpXG4gICAgOiBib2R5O1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsTUFBTSxRQUFRLHVCQUF1QjtBQVM5QyxPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFBTTtFQUFFQyxVQUFVO0VBQUVDLFVBQVUsRUFBRUM7QUFBZSxDQUFDLEdBQUdMLE1BQU07O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTTSxRQUFRQSxDQUE2QjtFQUMzREMsSUFBSTtFQUNKUCxNQUFNO0VBQ05RLFFBQVEsR0FBR1AsWUFBWTtFQUN2QkcsVUFBVSxH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
162
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2hlbWEiLCJSZXN0RW5kcG9pbnQiLCJzaG9ydGVuUGF0aCIsIkludmFsaWRhdGUiLCJDb2xsZWN0aW9uIiwiQmFzZUNvbGxlY3Rpb24iLCJyZXNvdXJjZSIsInBhdGgiLCJFbmRwb2ludCIsIm9wdGltaXN0aWMiLCJwYWdpbmF0aW9uRmllbGQiLCJleHRyYU9wdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpc1Byb3RvdHlwZU9mIiwiY2FsbCIsImNvbnNvbGUiLCJ3YXJuIiwic2hvcnRlbmVkUGF0aCIsImdldE5hbWUiLCJuYW1lIiwiZXh0ZW5kTWVtYmVyIiwiZXh0ZW5kZWQiLCJrZXkiLCJvcHRpb25zIiwiZXh0ZW5kIiwiZXh0cmFNdXRhdGVPcHRpb25zIiwiZXh0cmFQYXJ0aWFsT3B0aW9ucyIsImdldCIsImdldE9wdGltaXN0aWNSZXNwb25zZSIsIm9wdGltaXN0aWNVcGRhdGUiLCJvcHRpbWlzdGljUGFydGlhbCIsImdldExpc3QiLCJyZXQiLCJjcmVhdGUiLCJwdXNoIiwidXBkYXRlIiwibWV0aG9kIiwicGFydGlhbFVwZGF0ZSIsImRlbGV0ZSIsInJlcyIsInBhcmFtcyIsImtleXMiLCJsZW5ndGgiLCJvcHRpbWlzdGljRGVsZXRlIiwidW5kZWZpbmVkIiwiYXJncyIsIm92ZXJyaWRlcyIsInNuYXAiLCJib2R5IiwiZW5zdXJlUG9qbyIsImRhdGEiLCJhYm9ydCIsIkZvcm1EYXRhIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jlc291cmNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9lbmRwb2ludCc7XG5pbXBvcnQgdHlwZSB7IFNuYXBzaG90SW50ZXJmYWNlLCBRdWVyeWFibGUgfSBmcm9tICdAZGF0YS1jbGllbnQvZW5kcG9pbnQnO1xuXG5pbXBvcnQge1xuICBSZXNvdXJjZUdlbmVyaWNzLFxuICBSZXNvdXJjZU9wdGlvbnMsXG4gIFJlc291cmNlLFxuICBSZXNvdXJjZUludGVyZmFjZSxcbn0gZnJvbSAnLi9yZXNvdXJjZVR5cGVzLmpzJztcbmltcG9ydCBSZXN0RW5kcG9pbnQsIHtcbiAgR2V0RW5kcG9pbnQsXG4gIFBhcnRpYWxSZXN0R2VuZXJpY3MsXG4gIFJlc3RFbmRwb2ludE9wdGlvbnMsXG4gIFJlc3RJbnN0YW5jZUJhc2UsXG59IGZyb20gJy4vUmVzdEVuZHBvaW50LmpzJztcbmltcG9ydCB7IHNob3J0ZW5QYXRoIH0gZnJvbSAnLi9SZXN0SGVscGVycy5qcyc7XG5cbmNvbnN0IHsgSW52YWxpZGF0ZSwgQ29sbGVjdGlvbjogQmFzZUNvbGxlY3Rpb24gfSA9IHNjaGVtYTtcblxuLyoqIENyZWF0ZXMgY29sbGVjdGlvbiBvZiBFbmRwb2ludHMgZm9yIGNvbW1vbiBvcGVyYXRpb25zIG9uIGEgZ2l2ZW4gZGF0YS9zY2hlbWEuXG4gKlxuICogQHNlZSBodHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVzb3VyY2U8TyBleHRlbmRzIFJlc291cmNlR2VuZXJpY3M+KHtcbiAgcGF0aCxcbiAgc2NoZW1hLFxuICBFbmRwb2ludCA9IFJlc3RFbmRwb2ludCxcbiAgQ29sbGVjdGlvbiA9IEJhc2VDb2xsZWN0aW9uLFxuICBvcHRpbWlzdGljLFxuICBwYWdpbmF0aW9uRmllbGQsXG4gIC4uLmV4dHJhT3B0aW9uc1xufTogUmVhZG9ubHk8Tz4gJiBSZXNvdXJjZU9wdGlvbnMpOiBSZXNvdXJjZTxPPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gaWYgdGhleSBsb3dlcmNhc2UgYW5kIGl0IGxvb2tzIGxpa2UgdGhleSBtZWFudCB0byB1c2UgdXBwZXItY2FzZSB2ZXJzaW9uXG4gICAgaWYgKFxuICAgICAgJ2VuZHBvaW50JyBpbiBleHRyYU9wdGlvbnMgJiZcbiAgICAgIEVuZHBvaW50ID09PSBSZXN0RW5kcG9pbnQgJiZcbiAgICAgIHR5cGVvZiBleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGV4dHJhT3B0aW9uc1snZW5kcG9pbnQnXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIFJlc3RFbmRwb2ludC5wcm90b3R5cGUsXG4gICAgICAgIChleHRyYU9wdGlvbnNbJ2VuZHBvaW50J10gYXMgYW55KS5wcm90b3R5cGUsXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBZb3UgcGFzc2VkICdlbmRwb2ludCcgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIEVuZHBvaW50P1xuaHR0cHM6Ly9kYXRhY2xpZW50LmlvL3Jlc3QvYXBpL3Jlc291cmNlI2VuZHBvaW50XG5UaGlzIHBhcmFtZXRlciBtdXN0IGJlIGNhcGl0YWxpemVkLlxuXG5UaGlzIHdhcm5pbmcgd2lsbCBub3Qgc2hvdyBpbiBwcm9kdWN0aW9uLmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBpZiB0aGV5IGxvd2VyY2FzZSBhbmQgaXQgbG9va3MgbGlrZSB0aGV5IG1lYW50IHRvIHVzZSB1cHBlci1jYXNlIHZlcnNpb25cbiAgICBpZiAoXG4gICAgICAnY29sbGVjdGlvbicgaW4gZXh0cmFPcHRpb25zICYmXG4gICAgICBDb2xsZWN0aW9uID09PSBCYXNlQ29sbGVjdGlvbiAmJlxuICAgICAgdHlwZW9mIGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddID09PSAnZnVuY3Rpb24nICYmXG4gICAgICBleHRyYU9wdGlvbnNbJ2NvbGxlY3Rpb24nXSAmJlxuICAgICAgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwoXG4gICAgICAgIEJhc2VDb2xsZWN0aW9uLnByb3RvdHlwZSxcbiAgICAgICAgKGV4dHJhT3B0aW9uc1snY29sbGVjdGlvbiddIGFzIGFueSkucHJvdG90eXBlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgWW91IHBhc3NlZCAnY29sbGVjdGlvbicgb3B0aW9uOyBkaWQgeW91IG1lYW4gdG8gdXNlIENvbGxlY3Rpb24/XG5odHRwczovL2RhdGFjbGllbnQuaW8vcmVzdC9hcGkvcmVzb3VyY2UjY29sbGVjdGlvblxuVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBjYXBpdGFsaXplZC5cblxuVGhpcyB3YXJuaW5nIHdpbGwgbm90IHNob3cgaW4gcHJvZHVjdGlvbi5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3Qgc2hvcnRlbmVkUGF0aCA9IHNob3J0ZW5QYXRoKHBhdGgpO1xuICBjb25zdCBnZXROYW1lID0gKG5hbWU6IHN0cmluZykgPT4gYCR7KHNjaGVtYSBhcyBhbnkpPy5uYW1lfS4ke25hbWV9YDtcbiAgLy8gdGhpcyBhY2NvdW50cyBmb3IgZGVyaXZhdGl2ZSBlbmRwb2ludHNcbiAgZnVuY3Rpb24gZXh0ZW5kTWVtYmVyKGV4dGVuZGVkOiBhbnksIGtleTogc3RyaW5nLCBvcHRpb25zOiBhbnkpIHtcbiAgICBleHRlbmRlZFtrZXldID0gZXh0ZW5kZWRba2V5XS5leHRlbmQob3B0aW9ucyk7XG4gIH1cblxuICBjb25zdCBleHRyYU11dGF0ZU9wdGlvbnMgPSB7IC4uLmV4dHJhT3B0aW9ucyB9O1xuICBjb25zdCBleHRyYVBhcnRpYWxPcHRpb25zID0geyAuLi5leHRyYU9wdGlvbnMgfTtcbiAgY29uc3QgZ2V0OiBHZXRFbmRwb2ludDx7IHBhdGg6IE9bJ3BhdGgnXTsgc2NoZW1hOiBPWydzY2hlbWEnXSB9PiA9XG4gICAgbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBuYW1lOiBnZXROYW1lKCdnZXQnKSxcbiAgICB9KSBhcyBhbnk7XG4gIGlmIChvcHRpbWlzdGljKSB7XG4gICAgKGV4dHJhTXV0YXRlT3B0aW9ucyBhcyBhbnkpLmdldE9wdGltaXN0aWNSZXNwb25zZSA9IG9wdGltaXN0aWNVcGRhdGU7XG4gICAgLy8gVE9ETzogQ2hlY2sgdGhhdCBzY2hlbWEgaXMgYSBxdWVyeWFibGUsIG90aGVyd2lzZSB0aGlzIGRvZXNuJ3QgbWFrZSBzZW5zZVxuICAgIChleHRyYVBhcnRpYWxPcHRpb25zIGFzIGFueSkuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlID0gb3B0aW1pc3RpY1BhcnRpYWwoXG4gICAgICBzY2hlbWEgYXMgYW55LFxuICAgICk7XG4gIH1cbiAgY29uc3QgZ2V0TGlzdCA9IG5ldyBFbmRwb2ludCh7XG4gICAgLi4uZXh0cmFNdXRhdGVPcHRpb25zLFxuICAgIHBhZ2luYXRpb25GaWVsZDogcGFnaW5hdGlvbkZpZWxkIGFzIHN0cmluZyxcbiAgICBwYXRoOiBzaG9ydGVuZWRQYXRoLFxuICAgIHNjaGVtYTogbmV3IENvbGxlY3Rpb24oW3NjaGVtYSBhcyBhbnldKSxcbiAgICBuYW1lOiBnZXROYW1lKCdnZXRMaXN0JyksXG4gIH0pO1xuICBjb25zdCByZXQgPSB7XG4gICAgZ2V0LFxuICAgIGdldExpc3QsXG4gICAgLy8gVE9ETyhkZXByZWNhdGVkKTogcmVtb3ZlIHRoaXMgb25jZSB3ZSByZW1vdmUgY3JlYXRlc1xuICAgIGNyZWF0ZTogZ2V0TGlzdC5wdXNoLmV4dGVuZCh7IG5hbWU6IGdldE5hbWUoJ2NyZWF0ZScpIH0pLFxuICAgIHVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgndXBkYXRlJyksXG4gICAgfSksXG4gICAgcGFydGlhbFVwZGF0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhUGFydGlhbE9wdGlvbnMsXG4gICAgICBwYXRoLFxuICAgICAgc2NoZW1hLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgncGFydGlhbFVwZGF0ZScpLFxuICAgIH0pLFxuICAgIGRlbGV0ZTogbmV3IEVuZHBvaW50KHtcbiAgICAgIC4uLmV4dHJhTXV0YXRlT3B0aW9ucyxcbiAgICAgIHBhdGgsXG4gICAgICBzY2hlbWE6IChzY2hlbWEgYXMgYW55KS5wcm9jZXNzID8gbmV3IEludmFsaWRhdGUoc2NoZW1hIGFzIGFueSkgOiBzY2hlbWEsXG4gICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgbmFtZTogZ2V0TmFtZSgnZGVsZXRlJyksXG4gICAgICBwcm9jZXNzKHJlczogYW55LCBwYXJhbXM6IGFueSkge1xuICAgICAgICByZXR1cm4gcmVzICYmIE9iamVjdC5rZXlzKHJlcykubGVuZ3RoID8gcmVzIDogcGFyYW1zO1xuICAgICAgfSxcbiAgICAgIGdldE9wdGltaXN0aWNSZXNwb25zZTogb3B0aW1pc3RpYyA/IChvcHRpbWlzdGljRGVsZXRlIGFzIGFueSkgOiB1bmRlZmluZWQsXG4gICAgfSksXG4gICAgZXh0ZW5kKFxuICAgICAgLi4uYXJnczpcbiAgICAgICAgfCBbc3RyaW5nLCBSZXN0RW5kcG9pbnRPcHRpb25zICYgUGFydGlhbFJlc3RHZW5lcmljc11cbiAgICAgICAgfCBbUmVzdEVuZHBvaW50T3B0aW9ucyAmIFBhcnRpYWxSZXN0R2VuZXJpY3NdXG4gICAgICAgIHwgW1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBiYXNlUmVzb3VyY2U6IFJlc291cmNlSW50ZXJmYWNlLFxuICAgICAgICAgICAgKSA9PiBSZWNvcmQ8c3RyaW5nLCBSZXN0SW5zdGFuY2VCYXNlPixcbiAgICAgICAgICBdXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ZW5kZWQgPSB7IC4uLnRoaXMgfTtcbiAgICAgICAgICBleHRlbmRNZW1iZXIoZXh0ZW5kZWQsIGtleSwgb3B0aW9ucyk7XG4gICAgICAgICAgcmV0dXJuIGV4dGVuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgICAgW2tleV06IHRoaXMuZ2V0LmV4dGVuZChvcHRpb25zKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IGV4dGVuZGVkID0gYXJnc1swXSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50aGlzLFxuICAgICAgICAgIC4uLmV4dGVuZGVkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gYXJnc1swXTtcbiAgICAgIGNvbnN0IGV4dGVuZGVkID0geyAuLi50aGlzIH07XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvdmVycmlkZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGV4dGVuZE1lbWJlcihleHRlbmRlZCwga2V5LCBvdmVycmlkZXNba2V5XSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5kZWQ7XG4gICAgfSxcbiAgfSBhcyBhbnk7XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG9wdGltaXN0aWNVcGRhdGUoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wYXJhbXMsXG4gICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgfTtcbn1cbmZ1bmN0aW9uIG9wdGltaXN0aWNQYXJ0aWFsKHNjaGVtYTogUXVlcnlhYmxlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoc25hcDogU25hcHNob3RJbnRlcmZhY2UsIHBhcmFtczogYW55LCBib2R5OiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gc25hcC5nZXQoc2NoZW1hLCBwYXJhbXMpO1xuICAgIGlmICghZGF0YSkgdGhyb3cgc25hcC5hYm9ydDtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgLi4uZGF0YSxcbiAgICAgIC8vIGV2ZW4gdGhvIHdlIGRvbid0IGFsd2F5cyBoYXZlIHR3byBhcmd1bWVudHMsIHRoZSBleHRyYSBvbmUgd2lsbCBzaW1wbHkgYmUgdW5kZWZpbmVkIHdoaWNoIHNwcmVhZHMgZmluZVxuICAgICAgLi4uZW5zdXJlUG9qbyhib2R5KSxcbiAgICB9O1xuICB9O1xufVxuZnVuY3Rpb24gb3B0aW1pc3RpY0RlbGV0ZShzbmFwOiBTbmFwc2hvdEludGVyZmFjZSwgcGFyYW1zOiBhbnkpIHtcbiAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIGVuc3VyZVBvam8oYm9keTogYW55KSB7XG4gIHJldHVybiBib2R5IGluc3RhbmNlb2YgRm9ybURhdGEgP1xuICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKChib2R5IGFzIGFueSkuZW50cmllcygpKVxuICAgIDogYm9keTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHVCQUF1QjtBQVM5QyxPQUFPQyxZQUFZLE1BS1osbUJBQW1CO0FBQzFCLFNBQVNDLFdBQVcsUUFBUSxrQkFBa0I7QUFFOUMsTUFBTTtFQUFFQyxVQUFVO0VBQUVDLFVBQVUsRUFBRUM7QUFBZSxDQUFDLEdBQUdMLE1BQU07O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTTSxRQUFRQSxDQUE2QjtFQUMzREMsSUFBSTtFQUNKUCxNQUFNO0VBQ05RLFFBQVEsR0FBR1AsWUFBWTtFQUN2QkcsVUFBVSxHQUFHQyxjQUFjO0VBQzNCSSxV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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-client/rest",
3
- "version": "0.14.19",
3
+ "version": "0.14.20",
4
4
  "description": "Quickly define typed REST resources and endpoints",
5
5
  "homepage": "https://dataclient.io/rest",
6
6
  "repository": {
@@ -116,8 +116,8 @@
116
116
  "README.md"
117
117
  ],
118
118
  "scripts": {
119
- "build:lib": "NODE_ENV=production BROWSERSLIST_ENV='2020' yarn g:babel --out-dir lib",
120
- "build:legacy:lib": "NODE_ENV=production BROWSERSLIST_ENV='2018' yarn g:babel --out-dir legacy",
119
+ "build:lib": "NODE_ENV=production BROWSERSLIST_ENV='2020' POLYFILL_TARGETS='chrome>88,safari>14' yarn g:babel --out-dir lib",
120
+ "build:legacy:lib": "NODE_ENV=production BROWSERSLIST_ENV='2018' POLYFILL_TARGETS='chrome>80,safari>13,firefox>72' yarn g:babel --out-dir legacy",
121
121
  "build:js:node": "BROWSERSLIST_ENV=node12 yarn g:rollup",
122
122
  "build:js:browser": "BROWSERSLIST_ENV=legacy yarn g:rollup",
123
123
  "build:bundle": "yarn g:runs build:js:\\* && echo '{\"type\":\"commonjs\"}' > dist/package.json",
@@ -135,7 +135,7 @@
135
135
  "license": "Apache-2.0",
136
136
  "dependencies": {
137
137
  "@babel/runtime-corejs3": "^7.26.0",
138
- "@data-client/endpoint": "^0.14.19",
138
+ "@data-client/endpoint": "^0.14.20",
139
139
  "core-js-pure": "^3.40.0",
140
140
  "path-to-regexp": "^6.3.0"
141
141
  },