/** * @license * MIT License * * Copyright (c) 2014-present, Lee Byron and other contributors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ !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).Immutable={})}(this,(function(t){"use strict";var e="@@__IMMUTABLE_INDEXED__@@";function r(t){return Boolean(t&&t[e])}var n="@@__IMMUTABLE_KEYED__@@";function i(t){return Boolean(t&&t[n])}function o(t){return i(t)||r(t)}var u="@@__IMMUTABLE_ITERABLE__@@";function s(t){return Boolean(t&&t[u])}var a=function(t){return s(t)?t:Q(t)},c=function(t){function e(t){return i(t)?t:X(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a),f=function(t){function e(t){return r(t)?t:G(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a),h=function(t){function e(t){return s(t)&&!o(t)?t:Z(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(a);a.Keyed=c,a.Indexed=f,a.Set=h;var p=0,_=1,l=2,v="function"==typeof Symbol&&Symbol.iterator,y="@@iterator",d=v||y,g=function(t){this.next=t};function w(t,e,r,n){var i=t===p?e:t===_?r:[e,r];return n?n.value=i:n={value:i,done:!1},n}function m(){return{value:void 0,done:!0}}function b(t){return!!Array.isArray(t)||!!I(t)}function z(t){return!(!t||"function"!=typeof t.next)}function S(t){var e=I(t);return e&&e.call(t)}function I(t){var e=t&&(v&&t[v]||t[y]);if("function"==typeof e)return e}g.prototype.toString=function(){return"[Iterator]"},g.KEYS=p,g.VALUES=_,g.ENTRIES=l,g.prototype.inspect=g.prototype.toSource=function(){return this.toString()},g.prototype[d]=function(){return this};var O="delete",E=5,j=1<>>0;if(""+r!==e||4294967295===r)return NaN;e=r}return e<0?A(t)+e:e}function R(){return!0}function U(t,e,r){return(0===t&&!L(t)||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&e>=r)}function T(t,e){return K(t,e,0)}function B(t,e){return K(t,e,e)}function K(t,e,r){return void 0===t?r:L(t)?e===1/0?e:0|Math.max(0,e+t):void 0===e||e===t?t:0|Math.min(e,t)}function L(t){return t<0||0===t&&1/t==-1/0}var C="@@__IMMUTABLE_RECORD__@@";function N(t){return Boolean(t&&t[C])}function P(t){return s(t)||N(t)}var W="@@__IMMUTABLE_ORDERED__@@";function H(t){return Boolean(t&&t[W])}var J="@@__IMMUTABLE_SEQ__@@";function V(t){return Boolean(t&&t[J])}var F=Object.prototype.hasOwnProperty;function Y(t){return!(!Array.isArray(t)&&"string"!=typeof t)||t&&"object"==typeof t&&Number.isInteger(t.length)&&t.length>=0&&(0===t.length?1===Object.keys(t).length:t.hasOwnProperty(t.length-1))}var Q=function(t){function e(t){return null==t?nt():P(t)?t.toSeq():function(t){var e=ut(t);if(e)return(n=I(r=t))&&n===r.entries?e.fromEntrySeq():function(t){var e=I(t);return e&&e===t.keys}(t)?e.toSetSeq():e;var r,n;if("object"==typeof t)return new tt(t);throw new TypeError("Expected Array or collection object of values, or keyed object: "+t)}(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq {","}")},e.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},e.prototype.__iterate=function(t,e){var r=this._cache;if(r){for(var n=r.length,i=0;i!==n;){var o=r[e?n-++i:i++];if(!1===t(o[1],o[0],this))break}return i}return this.__iterateUncached(t,e)},e.prototype.__iterator=function(t,e){var r=this._cache;if(r){var n=r.length,i=0;return new g((function(){if(i===n)return{value:void 0,done:!0};var o=r[e?n-++i:i++];return w(t,o[0],o[1])}))}return this.__iteratorUncached(t,e)},e}(a),X=function(t){function e(t){return null==t?nt().toKeyedSeq():s(t)?i(t)?t.toSeq():t.fromEntrySeq():N(t)?t.toSeq():it(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toKeyedSeq=function(){return this},e}(Q),G=function(t){function e(t){return null==t?nt():s(t)?i(t)?t.entrySeq():t.toIndexedSeq():N(t)?t.toSeq().entrySeq():ot(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.of=function(){return e(arguments)},e.prototype.toIndexedSeq=function(){return this},e.prototype.toString=function(){return this.__toString("Seq [","]")},e}(Q),Z=function(t){function e(t){return(s(t)&&!o(t)?t:G(t)).toSetSeq()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.of=function(){return e(arguments)},e.prototype.toSetSeq=function(){return this},e}(Q);Q.isSeq=V,Q.Keyed=X,Q.Set=Z,Q.Indexed=G,Q.prototype[J]=!0;var $=function(t){function e(t){this._array=t,this.size=t.length}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t,e){return this.has(t)?this._array[k(this,t)]:e},e.prototype.__iterate=function(t,e){for(var r=this._array,n=r.length,i=0;i!==n;){var o=e?n-++i:i++;if(!1===t(r[o],o,this))break}return i},e.prototype.__iterator=function(t,e){var r=this._array,n=r.length,i=0;return new g((function(){if(i===n)return{value:void 0,done:!0};var o=e?n-++i:i++;return w(t,o,r[o])}))},e}(G),tt=function(t){function e(t){var e=Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]);this._object=t,this._keys=e,this.size=e.length}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},e.prototype.has=function(t){return F.call(this._object,t)},e.prototype.__iterate=function(t,e){for(var r=this._object,n=this._keys,i=n.length,o=0;o!==i;){var u=n[e?i-++o:o++];if(!1===t(r[u],u,this))break}return o},e.prototype.__iterator=function(t,e){var r=this._object,n=this._keys,i=n.length,o=0;return new g((function(){if(o===i)return{value:void 0,done:!0};var u=n[e?i-++o:o++];return w(t,u,r[u])}))},e}(X);tt.prototype[W]=!0;var et,rt=function(t){function e(t){this._collection=t,this.size=t.length||t.size}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);var r=S(this._collection),n=0;if(z(r))for(var i;!(i=r.next()).done&&!1!==t(i.value,n++,this););return n},e.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var r=S(this._collection);if(!z(r))return new g(m);var n=0;return new g((function(){var e=r.next();return e.done?e:w(t,n++,e.value)}))},e}(G);function nt(){return et||(et=new $([]))}function it(t){var e=ut(t);if(e)return e.fromEntrySeq();if("object"==typeof t)return new tt(t);throw new TypeError("Expected Array or collection object of [k, v] entries, or keyed object: "+t)}function ot(t){var e=ut(t);if(e)return e;throw new TypeError("Expected Array or collection object of values: "+t)}function ut(t){return Y(t)?new $(t):b(t)?new rt(t):void 0}function st(){return this.__ensureOwner()}function at(){return this.__ownerID?this:this.__ensureOwner(new D)}var ct="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(t,e){var r=65535&(t|=0),n=65535&(e|=0);return r*n+((t>>>16)*n+r*(e>>>16)<<16>>>0)|0};function ft(t){return t>>>1&1073741824|3221225471&t}var ht=Object.prototype.valueOf;function pt(t){if(null==t)return _t(t);if("function"==typeof t.hashCode)return ft(t.hashCode(t));var e,r=(e=t).valueOf!==ht&&"function"==typeof e.valueOf?e.valueOf(e):e;if(null==r)return _t(r);switch(typeof r){case"boolean":return r?1108378657:1108378656;case"number":return function(t){if(t!=t||t===1/0)return 0;var e=0|t;e!==t&&(e^=4294967295*t);for(;t>4294967295;)e^=t/=4294967295;return ft(e)}(r);case"string":return r.length>Ot?function(t){var e=Mt[t];void 0===e&&(e=lt(t),jt===Et&&(jt=0,Mt={}),jt++,Mt[t]=e);return e}(r):lt(r);case"object":case"function":return function(t){var e;if(bt&&void 0!==(e=mt.get(t)))return e;if(e=t[It],void 0!==e)return e;if(!gt){if(void 0!==(e=t.propertyIsEnumerable&&t.propertyIsEnumerable[It]))return e;if(void 0!==(e=function(t){if(t&&t.nodeType>0)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}(t)))return e}if(e=wt(),bt)mt.set(t,e);else{if(void 0!==dt&&!1===dt(t))throw new Error("Non-extensible objects are not allowed as keys.");if(gt)Object.defineProperty(t,It,{enumerable:!1,configurable:!1,writable:!1,value:e});else if(void 0!==t.propertyIsEnumerable&&t.propertyIsEnumerable===t.constructor.prototype.propertyIsEnumerable)t.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},t.propertyIsEnumerable[It]=e;else{if(void 0===t.nodeType)throw new Error("Unable to set a non-enumerable property on object.");t[It]=e}}return e}(r);case"symbol":return function(t){var e=zt[t];if(void 0!==e)return e;return e=wt(),zt[t]=e,e}(r);default:if("function"==typeof r.toString)return lt(r.toString());throw new Error("Value type "+typeof r+" cannot be hashed.")}}function _t(t){return null===t?1108378658:1108378659}function lt(t){for(var e=0,r=0;r=0&&(a.get=function(e,r){return(e=k(this,e))>=0&&eo)return{value:void 0,done:!0};var t=i.next();return n||e===_||t.done?t:w(e,a-1,e===p?void 0:t.value[1],t)}))},a}function Kt(t,e,r,n){var i=Yt(t);return i.__iterateUncached=function(i,o){var u=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,a=0;return t.__iterate((function(t,o,c){if(!s||!(s=e.call(r,t,o,c)))return a++,i(t,n?o:a-1,u)})),a},i.__iteratorUncached=function(i,o){var u=this;if(o)return this.cacheResult().__iterator(i,o);var s=t.__iterator(l,o),a=!0,c=0;return new g((function(){var t,o,f;do{if((t=s.next()).done)return n||i===_?t:w(i,c++,i===p?void 0:t.value[1],t);var h=t.value;o=h[0],f=h[1],a&&(a=e.call(r,f,o,u))}while(a);return i===l?t:w(i,o,f,t)}))},i}xt.prototype.cacheResult=qt.prototype.cacheResult=Dt.prototype.cacheResult=At.prototype.cacheResult=Qt;var Lt=function(t){function r(t){this._wrappedIterables=t.flatMap((function(t){return t._wrappedIterables?t._wrappedIterables:[t]})),this.size=this._wrappedIterables.reduce((function(t,e){if(void 0!==t){var r=e.size;if(void 0!==r)return t+r}}),0),this[n]=this._wrappedIterables[0][n],this[e]=this._wrappedIterables[0][e],this[W]=this._wrappedIterables[0][W]}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.__iterateUncached=function(t,e){if(0!==this._wrappedIterables.length){if(e)return this.cacheResult().__iterate(t,e);for(var r=0,n=i(this),o=n?l:_,u=this._wrappedIterables[r].__iterator(o,e),s=!0,a=0;s;){for(var c=u.next();c.done;){if(++r===this._wrappedIterables.length)return a;c=(u=this._wrappedIterables[r].__iterator(o,e)).next()}s=!1!==(n?t(c.value[1],c.value[0],this):t(c.value,a,this)),a++}return a}},r.prototype.__iteratorUncached=function(t,e){var r=this;if(0===this._wrappedIterables.length)return new g(m);if(e)return this.cacheResult().__iterator(t,e);var n=0,i=this._wrappedIterables[n].__iterator(t,e);return new g((function(){for(var o=i.next();o.done;){if(++n===r._wrappedIterables.length)return o;o=(i=r._wrappedIterables[n].__iterator(t,e)).next()}return o}))},r}(Q);function Ct(t,e,r){var n=Yt(t);return n.__iterateUncached=function(i,o){if(o)return this.cacheResult().__iterate(i,o);var u=0,a=!1;return function t(c,f){c.__iterate((function(o,c){return(!e||f0}function Ht(t,e,r,n){var i=Yt(t),o=new $(r).map((function(t){return t.size}));return i.size=n?o.max():o.min(),i.__iterate=function(t,e){for(var r,n=this.__iterator(_,e),i=0;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},i.__iteratorUncached=function(t,i){var o=r.map((function(t){return t=a(t),S(i?t.reverse():t)})),u=0,s=!1;return new g((function(){var r;return s||(r=o.map((function(t){return t.next()})),s=n?r.every((function(t){return t.done})):r.some((function(t){return t.done}))),s?{value:void 0,done:!0}:w(t,u++,e.apply(null,r.map((function(t){return t.value}))))}))},i}function Jt(t,e){return t===e?t:V(t)?e:t.constructor(e)}function Vt(t){if(t!==Object(t))throw new TypeError("Expected [K, V] tuple: "+t)}function Ft(t){return i(t)?c:r(t)?f:h}function Yt(t){return Object.create((i(t)?X:r(t)?G:Z).prototype)}function Qt(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Q.prototype.cacheResult.call(this)}function Xt(t,e){return void 0===t&&void 0===e?0:void 0===t?1:void 0===e?-1:t>e?1:t0;)e[r]=arguments[r+1];if("function"!=typeof t)throw new TypeError("Invalid merger function: "+t);return re(this,e,t)}function re(t,e,r){for(var n=[],i=0;i0;)e[r]=arguments[r+1];return ce(this,e,t)}function _e(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];return tr(this,t,Be(),(function(t){return ce(t,e)}))}function le(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];return tr(this,t,Be(),(function(t){return fe(t,e)}))}function ve(t,e,r){return tr(t,e,q,(function(){return r}))}function ye(t,e){return ve(this,t,e)}function de(t,e,r){return 1===arguments.length?t(this):$t(this,t,e,r)}function ge(t,e,r){return tr(this,t,e,r)}function we(){return this.__altered}function me(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this}var be="@@__IMMUTABLE_MAP__@@";function ze(t){return Boolean(t&&t[be])}function Se(t,e){if(!t)throw new Error(e)}function Ie(t){Se(t!==1/0,"Cannot perform this action with an infinite size.")}var Oe=function(t){function e(e){return null==e?Be():ze(e)&&!H(e)?e:Be().withMutations((function(r){var n=t(e);Ie(n.size),n.forEach((function(t,e){return r.set(e,t)}))}))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.__toString("Map {","}")},e.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},e.prototype.set=function(t,e){return Ke(this,t,e)},e.prototype.remove=function(t){return Ke(this,t,q)},e.prototype.deleteAll=function(t){var e=a(t);return 0===e.size?this:this.withMutations((function(t){e.forEach((function(e){return t.remove(e)}))}))},e.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Be()},e.prototype.sort=function(t){return zr(Nt(this,t))},e.prototype.sortBy=function(t,e){return zr(Nt(this,e,t))},e.prototype.map=function(t,e){var r=this;return this.withMutations((function(n){n.forEach((function(i,o){n.set(o,t.call(e,i,o,r))}))}))},e.prototype.__iterator=function(t,e){return new ke(this,t,e)},e.prototype.__iterate=function(t,e){var r=this,n=0;return this._root&&this._root.iterate((function(e){return n++,t(e[1],e[0],r)}),e),n},e.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Te(this.size,this._root,t,this.__hash):0===this.size?Be():(this.__ownerID=t,this.__altered=!1,this)},e}(c);Oe.isMap=ze;var Ee=Oe.prototype;Ee[be]=!0,Ee[O]=Ee.remove,Ee.removeAll=Ee.deleteAll,Ee.setIn=ye,Ee.removeIn=Ee.deleteIn=nr,Ee.update=de,Ee.updateIn=ge,Ee.merge=Ee.concat=te,Ee.mergeWith=ee,Ee.mergeDeep=he,Ee.mergeDeepWith=pe,Ee.mergeIn=le,Ee.mergeDeepIn=_e,Ee.withMutations=me,Ee.wasAltered=we,Ee.asImmutable=st,Ee["@@transducer/init"]=Ee.asMutable=at,Ee["@@transducer/step"]=function(t,e){return t.set(e[0],e[1])},Ee["@@transducer/result"]=function(t){return t.asImmutable()};var je=function(t,e){this.ownerID=t,this.entries=e};je.prototype.get=function(t,e,r,n){for(var i=this.entries,o=0,u=i.length;o=He)return function(t,e,r,n){t||(t=new D);for(var i=new De(t,pt(r),[r,n]),o=0;o>>t)&M),o=this.bitmap;return 0==(o&i)?n:this.nodes[Pe(o&i-1)].get(t+E,e,r,n)},Me.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=pt(n));var s=(0===e?r:r>>>e)&M,a=1<=Je)return function(t,e,r,n,i){for(var o=0,u=new Array(j),s=0;0!==r;s++,r>>>=1)u[s]=1&r?e[o++]:void 0;return u[n]=i,new qe(t,o+1,u)}(t,p,c,s,l);if(f&&!l&&2===p.length&&Ce(p[1^h]))return p[1^h];if(f&&l&&1===p.length&&Ce(l))return l;var v=t&&t===this.ownerID,y=f?l?c:c^a:c|a,d=f?l?We(p,h,l,v):function(t,e,r){var n=t.length-1;if(r&&e===n)return t.pop(),t;for(var i=new Array(n),o=0,u=0;u>>t)&M,o=this.nodes[i];return o?o.get(t+E,e,r,n):n},qe.prototype.update=function(t,e,r,n,i,o,u){void 0===r&&(r=pt(n));var s=(0===e?r:r>>>e)&M,a=i===q,c=this.nodes,f=c[s];if(a&&!f)return this;var h=Le(f,t,e+E,r,n,i,o,u);if(h===f)return this;var p=this.count;if(f){if(!h&&--p=Fe&&(n=this._buildIndex()),void 0!==n){var i=n[yt(t)];if(void 0!==i)for(var o=0;o>>r)&M,s=(0===r?n:n>>>r)&M,a=u===s?[Ne(t,e,r+E,n,i)]:(o=new De(e,n,i),u>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function We(t,e,r,n){var i=n?t:se(t);return i[e]=r,i}var He=j/4,Je=j/2,Ve=j/4,Fe=16;function Ye(t){if(Y(t)&&"string"!=typeof t)return t;if(H(t))return t.toArray();throw new TypeError("Invalid keyPath: expected Ordered Collection or Array: "+t)}function Qe(t){try{return"string"==typeof t?JSON.stringify(t):String(t)}catch(e){return JSON.stringify(t)}}function Xe(t,e){return P(t)?t.has(e):oe(t)&&F.call(t,e)}function Ge(t,e,r){return P(t)?t.get(e,r):Xe(t,e)?"function"==typeof t.get?t.get(e):t[e]:r}function Ze(t,e){if(!oe(t))throw new TypeError("Cannot update non-data-structure value: "+t);if(P(t)){if(!t.remove)throw new TypeError("Cannot update immutable value without .remove() method: "+t);return t.remove(e)}if(!F.call(t,e))return t;var r=ae(t);return Array.isArray(r)?r.splice(e,1):delete r[e],r}function $e(t,e,r){if(ue(e))return t;if(!oe(t))throw new TypeError("Cannot update non-data-structure value: "+t);if(P(t)){if(!t.set)throw new TypeError("Cannot update immutable value without .set() method: "+t);return t.set(e,r)}if(F.call(t,e)&&r===t[e])return t;var n=ae(t);return n[e]=r,n}function tr(t,e,r,n){n||(n=r,r=void 0);var i=er(P(t),t,Ye(e),0,r,n);return i===q?r:i}function er(t,e,r,n,i,o){var u=e===q;if(n===r.length){var s=u?i:e,a=o(s);return a===s?e:a}if(!u&&!oe(e))throw new TypeError("Cannot update within non-data-structure value in path ["+Array.from(r).slice(0,n).map(Qe)+"]: "+e);var c=r[n],f=u?q:Ge(e,c,q),h=er(f===q?t:P(f),f,r,n+1,i,o);return h===f?e:h===q?Ze(e,c):$e(u?t?Be():{}:e,c,h)}function rr(t,e){return tr(t,e,(function(){return q}))}function nr(t){return rr(this,t)}var ir="@@__IMMUTABLE_LIST__@@";function or(t){return Boolean(t&&t[ir])}var ur=function(t){function e(e){var r=pr();if(null==e)return r;if(or(e))return e;var n=t(e),i=n.size;return 0===i?r:(Ie(i),i>0&&i=0&&t=t.size||e<0)return t.withMutations((function(t){e<0?yr(t,e).set(0,r):yr(t,0,e+1).set(e,r)}));e+=t._origin;var n=t._tail,i=t._root,o={value:!1};e>=dr(t._capacity)?n=_r(n,t.__ownerID,0,e,r,o):i=_r(i,t.__ownerID,t._level,e,r,o);if(!o.value)return t;if(t.__ownerID)return t._root=i,t._tail=n,t.__hash=void 0,t.__altered=!0,t;return hr(t._origin,t._capacity,t._level,i,n)}(this,t,e)},e.prototype.remove=function(t){return this.has(t)?0===t?this.shift():t===this.size-1?this.pop():this.splice(t,1):this},e.prototype.insert=function(t,e){return this.splice(t,0,e)},e.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=E,this._root=this._tail=this.__hash=void 0,this.__altered=!0,this):pr()},e.prototype.push=function(){var t=arguments,e=this.size;return this.withMutations((function(r){yr(r,0,e+t.length);for(var n=0;n>>e&M;if(n>=this.array.length)return new ar([],t);var i,o=0===n;if(e>0){var u=this.array[n];if((i=u&&u.removeBefore(t,e-E,r))===u&&o)return this}if(o&&!i)return this;var s=lr(this,t);if(!o)for(var a=0;a>>e&M;if(i>=this.array.length)return this;if(e>0){var o=this.array[i];if((n=o&&o.removeAfter(t,e-E,r))===o&&i===this.array.length-1)return this}var u=lr(this,t);return u.array.splice(i+1),n&&(u.array[i]=n),u};var cr={};function fr(t,e){var r=t._origin,n=t._capacity,i=dr(n),o=t._tail;return u(t._root,t._level,0);function u(t,s,a){return 0===s?function(t,u){var s=u===i?o&&o.array:t&&t.array,a=u>r?0:r-u,c=n-u;c>j&&(c=j);return function(){if(a===c)return cr;var t=e?--c:a++;return s&&s[t]}}(t,a):function(t,i,o){var s,a=t&&t.array,c=o>r?0:r-o>>i,f=1+(n-o>>i);f>j&&(f=j);return function(){for(;;){if(s){var t=s();if(t!==cr)return t;s=null}if(c===f)return cr;var r=e?--f:c++;s=u(a&&a[r],i-E,o+(r<>>r&M,a=t&&s0){var c=t&&t.array[s],f=_r(c,e,r-E,n,i,o);return f===c?t:((u=lr(t,e)).array[s]=f,u)}return a&&t.array[s]===i?t:(o&&x(o),u=lr(t,e),void 0===i&&s===u.array.length-1?u.array.pop():u.array[s]=i,u)}function lr(t,e){return e&&t&&e===t.ownerID?t:new ar(t?t.array.slice():[],e)}function vr(t,e){if(e>=dr(t._capacity))return t._tail;if(e<1<0;)r=r.array[e>>>n&M],n-=E;return r}}function yr(t,e,r){!function(t,e,r){var n=t._origin+(void 0===e?0:e),i=void 0===r?t._capacity:r<0?t._capacity+r:t._origin+r;if(Number.isFinite(i)&&i>gr||Number.isFinite(n)&&n<-gr||Number.isFinite(i)&&Number.isFinite(n)&&i-n>gr)throw new RangeError("Invalid List size: a List cannot hold more than "+gr+" (2 ** 30) values.")}(t,e,r),void 0!==e&&(e|=0),void 0!==r&&(r|=0);var n=t.__ownerID||new D,i=t._origin,o=t._capacity,u=i+e,s=void 0===r?o:r<0?o+r:i+r;if(u===i&&s===o)return t;if(u>=s)return t.clear();for(var a=t._level,c=t._root,f=0;u+f<0;)c=new ar(c&&c.array.length?[void 0,c]:[],n),f+=wr(a+=E);f&&(u+=f,i+=f,s+=f,o+=f);for(var h=dr(o),p=dr(s);p>=wr(a+E);)c=new ar(c&&c.array.length?[c]:[],n),a+=E;var _=t._tail,l=ph?new ar([],n):_;if(_&&p>h&&uE;y-=E){var d=h>>>y&M;v=v.array[d]=lr(v.array[d],n)}v.array[h>>>E&M]=_}if(s=p)u-=p,s-=p,a=E,c=void 0,l=l&&l.removeBefore(n,0,u);else if(u>i||p>>a&M;if(g!==p>>>a&M)break;g&&(f+=(1<i&&(c=c.removeBefore(n,a,u-f)),c&&p>>E<=j&&u.size>=2*o.size?(n=(i=u.filter((function(t,e){return void 0!==t&&s!==e}))).toKeyedSeq().map((function(t){return t[0]})).flip().toMap(),t.__ownerID&&(n.__ownerID=i.__ownerID=t.__ownerID)):(n=o.remove(e),i=s===u.size-1?u.pop():u.set(s,void 0))}else if(a){if(r===u.get(s)[1])return t;n=o,i=u.set(s,[e,r])}else n=o.set(e,u.size),i=u.set(u.size,[e,r]);return t.__ownerID?(t.size=n.size,t._map=n,t._list=i,t.__hash=void 0,t.__altered=!0,t):Sr(n,i)}zr.isOrderedMap=mr,zr.prototype[W]=!0,zr.prototype[O]=zr.prototype.remove;var Er="@@__IMMUTABLE_STACK__@@";function jr(t){return Boolean(t&&t[Er])}var Mr=function(t){function e(t){return null==t?Ar():jr(t)?t:Ar().pushAll(t)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.of=function(){return this(arguments)},e.prototype.toString=function(){return this.__toString("Stack [","]")},e.prototype.get=function(t,e){var r=this._head;for(t=k(this,t);r&&t--;)r=r.next;return r?r.value:e},e.prototype.peek=function(){return this._head&&this._head.value},e.prototype.push=function(){var t=arguments;if(0===arguments.length)return this;for(var e=this.size+arguments.length,r=this._head,n=arguments.length-1;n>=0;n--)r={value:t[n],next:r};return this.__ownerID?(this.size=e,this._head=r,this.__hash=void 0,this.__altered=!0,this):Dr(e,r)},e.prototype.pushAll=function(e){if(0===(e=t(e)).size)return this;if(0===this.size&&jr(e))return e;Ie(e.size);var r=this.size,n=this._head;return e.__iterate((function(t){r++,n={value:t,next:n}}),!0),this.__ownerID?(this.size=r,this._head=n,this.__hash=void 0,this.__altered=!0,this):Dr(r,n)},e.prototype.pop=function(){return this.slice(1)},e.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Ar()},e.prototype.slice=function(e,r){if(U(e,r,this.size))return this;var n=T(e,this.size);if(B(r,this.size)!==this.size)return t.prototype.slice.call(this,e,r);for(var i=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=i,this._head=o,this.__hash=void 0,this.__altered=!0,this):Dr(i,o)},e.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?Dr(this.size,this._head,t,this.__hash):0===this.size?Ar():(this.__ownerID=t,this.__altered=!1,this)},e.prototype.__iterate=function(t,e){var r=this;if(e)return new $(this.toArray()).__iterate((function(e,n){return t(e,n,r)}),e);for(var n=0,i=this._head;i&&!1!==t(i.value,n++,this);)i=i.next;return n},e.prototype.__iterator=function(t,e){if(e)return new $(this.toArray()).__iterator(t,e);var r=0,n=this._head;return new g((function(){if(n){var e=n.value;return n=n.next,w(t,r++,e)}return{value:void 0,done:!0}}))},e}(f);Mr.isStack=jr;var qr,xr=Mr.prototype;function Dr(t,e,r,n){var i=Object.create(xr);return i.size=t,i._head=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function Ar(){return qr||(qr=Dr(0))}function kr(t,e,r,n,i,o){return Ie(t.size),t.__iterate((function(t,o,u){i?(i=!1,r=t):r=e.call(n,r,t,o,u)}),o),r}function Rr(t,e){return e}function Ur(t,e){return[e,t]}function Tr(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return!t.apply(this,e)}}function Br(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return-t.apply(this,e)}}function Kr(t,e){return te?-1:0}function Lr(t,e){if(t===e)return!0;if(!s(e)||void 0!==t.size&&void 0!==e.size&&t.size!==e.size||void 0!==t.__hash&&void 0!==e.__hash&&t.__hash!==e.__hash||i(t)!==i(e)||r(t)!==r(e)||H(t)!==H(e))return!1;if(0===t.size&&0===e.size)return!0;var n=!o(t);if(H(t)){var u=t.entries();return e.every((function(t,e){var r=u.next().value;return r&&Zt(r[1],t)&&(n||Zt(r[0],e))}))&&u.next().done}var a=!1;if(void 0===t.size)if(void 0===e.size)"function"==typeof t.cacheResult&&t.cacheResult();else{a=!0;var c=t;t=e,e=c}var f=!0,h=e.__iterate((function(e,r){if(n?!t.has(e):a?!Zt(e,t.get(r,q)):!Zt(t.get(r,q),e))return f=!1,!1}));return f&&t.size===h}xr[Er]=!0,xr.shift=xr.pop,xr.unshift=xr.push,xr.unshiftAll=xr.pushAll,xr.withMutations=me,xr.wasAltered=we,xr.asImmutable=st,xr["@@transducer/init"]=xr.asMutable=at,xr["@@transducer/step"]=function(t,e){return t.unshift(e)},xr["@@transducer/result"]=function(t){return t.asImmutable()};var Cr,Nr=function(t){function e(t,r,n){if(void 0===n&&(n=1),!(this instanceof e))return new e(t,r,n);if(Se(0!==n,"Cannot step a Range by 0"),Se(void 0!==t,"You must define a start value when using Range"),Se(void 0!==r,"You must define an end value when using Range"),n=Math.abs(n),r=0&&e=0&&r>>-15,461845907),e=ct(e<<13|e>>>-13,5),e=(e+3864292196|0)^t,e=ct(e^e>>>16,2246822507),e=ct(e^e>>>13,3266489909),e=ft(e^e>>>16),e}(t.size,n)}function rn(t,e){return t^e+2654435769+(t<<6)+(t>>2)|0}function nn(t,e){var r=function(r){t.prototype[r]=e[r]};return Object.keys(e).forEach(r),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(r),t}Vr[Pr]=!0,Vr[O]=Vr.remove,Vr.merge=Vr.concat=Vr.union,Vr.withMutations=me,Vr.asImmutable=st,Vr["@@transducer/init"]=Vr.asMutable=at,Vr["@@transducer/step"]=function(t,e){return t.add(e)},Vr["@@transducer/result"]=function(t){return t.asImmutable()},Vr.__empty=Qr,Vr.__make=Yr,a.Iterator=g,nn(a,{toArray:function(){Ie(this.size);var t=new Array(this.size||0),e=i(this),r=0;return this.__iterate((function(n,i){t[r++]=e?[i,n]:n})),t},toIndexedSeq:function(){return new xt(this)},toJS:function(){return tn(this)},toKeyedSeq:function(){return new qt(this,!0)},toMap:function(){return Oe(this.toKeyedSeq())},toObject:$r,toOrderedMap:function(){return zr(this.toKeyedSeq())},toOrderedSet:function(){return hn(i(this)?this.valueSeq():this)},toSet:function(){return Hr(i(this)?this.valueSeq():this)},toSetSeq:function(){return new Dt(this)},toSeq:function(){return r(this)?this.toIndexedSeq():i(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Mr(i(this)?this.valueSeq():this)},toList:function(){return ur(i(this)?this.valueSeq():this)},toString:function(){return"[Collection]"},__toString:function(t,e){return 0===this.size?t+e:t+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];return Jt(this,function(t,e){var n=i(t),o=[t].concat(e).map((function(t){return s(t)?n&&(t=c(t)):t=n?it(t):ot(Array.isArray(t)?t:[t]),t})).filter((function(t){return 0!==t.size}));if(0===o.length)return t;if(1===o.length){var u=o[0];if(u===t||n&&i(u)||r(t)&&r(u))return u}return new Lt(o)}(this,t))},includes:function(t){return this.some((function(e){return Zt(e,t)}))},entries:function(){return this.__iterator(l)},every:function(t,e){Ie(this.size);var r=!0;return this.__iterate((function(n,i,o){if(!t.call(e,n,i,o))return r=!1,!1})),r},filter:function(t,e){return Jt(this,Tt(this,t,e,!0))},partition:function(t,e){return function(t,e,r){var n=i(t),o=[[],[]];t.__iterate((function(i,u){o[e.call(r,i,u,t)?1:0].push(n?[u,i]:i)}));var u=Ft(t);return o.map((function(e){return Jt(t,u(e))}))}(this,t,e)},find:function(t,e,r){var n=this.findEntry(t,e);return n?n[1]:r},forEach:function(t,e){return Ie(this.size),this.__iterate(e?t.bind(e):t)},join:function(t){Ie(this.size),t=void 0!==t?""+t:",";var e="",r=!0;return this.__iterate((function(n){r?r=!1:e+=t,e+=null!=n?n.toString():""})),e},keys:function(){return this.__iterator(p)},map:function(t,e){return Jt(this,Rt(this,t,e))},reduce:function(t,e,r){return kr(this,t,e,r,arguments.length<2,!1)},reduceRight:function(t,e,r){return kr(this,t,e,r,arguments.length<2,!0)},reverse:function(){return Jt(this,Ut(this,!0))},slice:function(t,e){return Jt(this,Bt(this,t,e,!0))},some:function(t,e){Ie(this.size);var r=!1;return this.__iterate((function(n,i,o){if(t.call(e,n,i,o))return r=!0,!1})),r},sort:function(t){return Jt(this,Nt(this,t))},values:function(){return this.__iterator(_)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(t,e){return A(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return function(t,e,r){var n=Oe().asMutable();return t.__iterate((function(i,o){n.update(e.call(r,i,o,t),0,(function(t){return t+1}))})),n.asImmutable()}(this,t,e)},equals:function(t){return Lr(this,t)},entrySeq:function(){var t=this;if(t._cache)return new $(t._cache);var e=t.toSeq().map(Ur).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter(Tr(t),e)},findEntry:function(t,e,r){var n=r;return this.__iterate((function(r,i,o){if(t.call(e,r,i,o))return n=[i,r],!1})),n},findKey:function(t,e){var r=this.findEntry(t,e);return r&&r[0]},findLast:function(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)},findLastEntry:function(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(t){return this.find(R,null,t)},flatMap:function(t,e){return Jt(this,function(t,e,r){var n=Ft(t);return t.toSeq().map((function(i,o){return n(e.call(r,i,o,t))})).flatten(!0)}(this,t,e))},flatten:function(t){return Jt(this,Ct(this,t,!0))},fromEntrySeq:function(){return new At(this)},get:function(t,e){return this.find((function(e,r){return Zt(r,t)}),void 0,e)},getIn:Gr,groupBy:function(t,e){return function(t,e,r){var n=i(t),o=(H(t)?zr():Oe()).asMutable();t.__iterate((function(i,u){o.update(e.call(r,i,u,t),(function(t){return(t=t||[]).push(n?[u,i]:i),t}))}));var u=Ft(t);return o.map((function(e){return Jt(t,u(e))})).asImmutable()}(this,t,e)},has:function(t){return this.get(t,q)!==q},hasIn:function(t){return Zr(this,t)},isSubset:function(t){return t="function"==typeof t.includes?t:a(t),this.every((function(e){return t.includes(e)}))},isSuperset:function(t){return(t="function"==typeof t.isSubset?t:a(t)).isSubset(this)},keyOf:function(t){return this.findKey((function(e){return Zt(e,t)}))},keySeq:function(){return this.toSeq().map(Rr).toIndexedSeq()},last:function(t){return this.toSeq().reverse().first(t)},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return Pt(this,t)},maxBy:function(t,e){return Pt(this,e,t)},min:function(t){return Pt(this,t?Br(t):Kr)},minBy:function(t,e){return Pt(this,e?Br(e):Kr,t)},rest:function(){return this.slice(1)},skip:function(t){return 0===t?this:this.slice(Math.max(0,t))},skipLast:function(t){return 0===t?this:this.slice(0,-Math.max(0,t))},skipWhile:function(t,e){return Jt(this,Kt(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile(Tr(t),e)},sortBy:function(t,e){return Jt(this,Nt(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return this.slice(-Math.max(0,t))},takeWhile:function(t,e){return Jt(this,function(t,e,r){var n=Yt(t);return n.__iterateUncached=function(n,i){var o=this;if(i)return this.cacheResult().__iterate(n,i);var u=0;return t.__iterate((function(t,i,s){return e.call(r,t,i,s)&&++u&&n(t,i,o)})),u},n.__iteratorUncached=function(n,i){var o=this;if(i)return this.cacheResult().__iterator(n,i);var u=t.__iterator(l,i),s=!0;return new g((function(){if(!s)return{value:void 0,done:!0};var t=u.next();if(t.done)return t;var i=t.value,a=i[0],c=i[1];return e.call(r,c,a,o)?n===l?t:w(n,a,c,t):(s=!1,{value:void 0,done:!0})}))},n}(this,t,e))},takeUntil:function(t,e){return this.takeWhile(Tr(t),e)},update:function(t){return t(this)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=en(this))}});var on=a.prototype;on[u]=!0,on[d]=on.values,on.toJSON=on.toArray,on.__toStringMapper=Qe,on.inspect=on.toSource=function(){return this.toString()},on.chain=on.flatMap,on.contains=on.includes,nn(c,{flip:function(){return Jt(this,kt(this))},mapEntries:function(t,e){var r=this,n=0;return Jt(this,this.toSeq().map((function(i,o){return t.call(e,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(t,e){var r=this;return Jt(this,this.toSeq().flip().map((function(n,i){return t.call(e,n,i,r)})).flip())}});var un=c.prototype;un[n]=!0,un[d]=on.entries,un.toJSON=$r,un.__toStringMapper=function(t,e){return Qe(e)+": "+Qe(t)},nn(f,{toKeyedSeq:function(){return new qt(this,!1)},filter:function(t,e){return Jt(this,Tt(this,t,e,!1))},findIndex:function(t,e){var r=this.findEntry(t,e);return r?r[0]:-1},indexOf:function(t){var e=this.keyOf(t);return void 0===e?-1:e},lastIndexOf:function(t){var e=this.lastKeyOf(t);return void 0===e?-1:e},reverse:function(){return Jt(this,Ut(this,!1))},slice:function(t,e){return Jt(this,Bt(this,t,e,!1))},splice:function(t,e){var r=arguments.length;if(e=Math.max(e||0,0),0===r||2===r&&!e)return this;t=T(t,t<0?this.count():this.size);var n=this.slice(0,t);return Jt(this,1===r?n:n.concat(se(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){var r=this.findLastEntry(t,e);return r?r[0]:-1},first:function(t){return this.get(0,t)},flatten:function(t){return Jt(this,Ct(this,t,!1))},get:function(t,e){return(t=k(this,t))<0||this.size===1/0||void 0!==this.size&&t>this.size?e:this.find((function(e,r){return r===t}),void 0,e)},has:function(t){return(t=k(this,t))>=0&&(void 0!==this.size?this.size===1/0||t2?[]:void 0,{"":t})},t.get=Ge,t.getIn=Xr,t.has=Xe,t.hasIn=Zr,t.hash=pt,t.is=Zt,t.isAssociative=o,t.isCollection=s,t.isImmutable=P,t.isIndexed=r,t.isKeyed=i,t.isList=or,t.isMap=ze,t.isOrdered=H,t.isOrderedMap=mr,t.isOrderedSet=fn,t.isPlainObject=ie,t.isRecord=N,t.isSeq=V,t.isSet=Wr,t.isStack=jr,t.isValueObject=Gt,t.merge=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];return fe(t,e)},t.mergeDeep=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];return ce(t,e)},t.mergeDeepWith=function(t,e){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return ce(e,r,t)},t.mergeWith=function(t,e){for(var r=[],n=arguments.length-2;n-- >0;)r[n]=arguments[n+2];return fe(e,r,t)},t.remove=Ze,t.removeIn=rr,t.set=$e,t.setIn=ve,t.update=$t,t.updateIn=tr,t.version="5.1.9"}));