covertable
Version:
A flexible pairwise tool written in TypeScript
2 lines • 25.4 kB
JavaScript
/*! For license information please see index.js.LICENSE.txt */
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var s in r)("object"==typeof exports?exports:e)[s]=r[s]}}(global,(()=>(()=>{var __webpack_modules__={386:(module,exports,__webpack_require__)=>{var __WEBPACK_AMD_DEFINE_RESULT__;(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&module.exports,AMD=__webpack_require__.amdO,ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var r=OUTPUT_TYPES[t];e[r]=createOutputMethod(r)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"==typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null==e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if("string"!==r){if("object"!==r)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw ERROR;t=!0}for(var s,o,i=0,n=e.length,a=this.blocks,u=this.buffer8;i<n;){if(this.hashed&&(this.hashed=!1,a[0]=a[16],a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)if(ARRAY_BUFFER)for(o=this.start;i<n&&o<64;++i)u[o++]=e[i];else for(o=this.start;i<n&&o<64;++i)a[o>>2]|=e[i]<<SHIFT[3&o++];else if(ARRAY_BUFFER)for(o=this.start;i<n&&o<64;++i)(s=e.charCodeAt(i))<128?u[o++]=s:s<2048?(u[o++]=192|s>>6,u[o++]=128|63&s):s<55296||s>=57344?(u[o++]=224|s>>12,u[o++]=128|s>>6&63,u[o++]=128|63&s):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++i)),u[o++]=240|s>>18,u[o++]=128|s>>12&63,u[o++]=128|s>>6&63,u[o++]=128|63&s);else for(o=this.start;i<n&&o<64;++i)(s=e.charCodeAt(i))<128?a[o>>2]|=s<<SHIFT[3&o++]:s<2048?(a[o>>2]|=(192|s>>6)<<SHIFT[3&o++],a[o>>2]|=(128|63&s)<<SHIFT[3&o++]):s<55296||s>=57344?(a[o>>2]|=(224|s>>12)<<SHIFT[3&o++],a[o>>2]|=(128|s>>6&63)<<SHIFT[3&o++],a[o>>2]|=(128|63&s)<<SHIFT[3&o++]):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++i)),a[o>>2]|=(240|s>>18)<<SHIFT[3&o++],a[o>>2]|=(128|s>>12&63)<<SHIFT[3&o++],a[o>>2]|=(128|s>>6&63)<<SHIFT[3&o++],a[o>>2]|=(128|63&s)<<SHIFT[3&o++]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,r,s,o,i,n=this.blocks;this.first?t=((t=((e=((e=n[0]-680876937)<<7|e>>>25)-271733879|0)^(r=((r=(-271733879^(s=((s=(-1732584194^2004318071&e)+n[1]-117830708)<<12|s>>>20)+e|0)&(-271733879^e))+n[2]-1126478375)<<17|r>>>15)+s|0)&(s^e))+n[3]-1316259209)<<22|t>>>10)+r|0:(e=this.h0,t=this.h1,r=this.h2,t=((t+=((e=((e+=((s=this.h3)^t&(r^s))+n[0]-680876936)<<7|e>>>25)+t|0)^(r=((r+=(t^(s=((s+=(r^e&(t^r))+n[1]-389564586)<<12|s>>>20)+e|0)&(e^t))+n[2]+606105819)<<17|r>>>15)+s|0)&(s^e))+n[3]-1044525330)<<22|t>>>10)+r|0),t=((t+=((e=((e+=(s^t&(r^s))+n[4]-176418897)<<7|e>>>25)+t|0)^(r=((r+=(t^(s=((s+=(r^e&(t^r))+n[5]+1200080426)<<12|s>>>20)+e|0)&(e^t))+n[6]-1473231341)<<17|r>>>15)+s|0)&(s^e))+n[7]-45705983)<<22|t>>>10)+r|0,t=((t+=((e=((e+=(s^t&(r^s))+n[8]+1770035416)<<7|e>>>25)+t|0)^(r=((r+=(t^(s=((s+=(r^e&(t^r))+n[9]-1958414417)<<12|s>>>20)+e|0)&(e^t))+n[10]-42063)<<17|r>>>15)+s|0)&(s^e))+n[11]-1990404162)<<22|t>>>10)+r|0,t=((t+=((e=((e+=(s^t&(r^s))+n[12]+1804603682)<<7|e>>>25)+t|0)^(r=((r+=(t^(s=((s+=(r^e&(t^r))+n[13]-40341101)<<12|s>>>20)+e|0)&(e^t))+n[14]-1502002290)<<17|r>>>15)+s|0)&(s^e))+n[15]+1236535329)<<22|t>>>10)+r|0,t=((t+=((s=((s+=(t^r&((e=((e+=(r^s&(t^r))+n[1]-165796510)<<5|e>>>27)+t|0)^t))+n[6]-1069501632)<<9|s>>>23)+e|0)^e&((r=((r+=(e^t&(s^e))+n[11]+643717713)<<14|r>>>18)+s|0)^s))+n[0]-373897302)<<20|t>>>12)+r|0,t=((t+=((s=((s+=(t^r&((e=((e+=(r^s&(t^r))+n[5]-701558691)<<5|e>>>27)+t|0)^t))+n[10]+38016083)<<9|s>>>23)+e|0)^e&((r=((r+=(e^t&(s^e))+n[15]-660478335)<<14|r>>>18)+s|0)^s))+n[4]-405537848)<<20|t>>>12)+r|0,t=((t+=((s=((s+=(t^r&((e=((e+=(r^s&(t^r))+n[9]+568446438)<<5|e>>>27)+t|0)^t))+n[14]-1019803690)<<9|s>>>23)+e|0)^e&((r=((r+=(e^t&(s^e))+n[3]-187363961)<<14|r>>>18)+s|0)^s))+n[8]+1163531501)<<20|t>>>12)+r|0,t=((t+=((s=((s+=(t^r&((e=((e+=(r^s&(t^r))+n[13]-1444681467)<<5|e>>>27)+t|0)^t))+n[2]-51403784)<<9|s>>>23)+e|0)^e&((r=((r+=(e^t&(s^e))+n[7]+1735328473)<<14|r>>>18)+s|0)^s))+n[12]-1926607734)<<20|t>>>12)+r|0,t=((t+=((i=(s=((s+=((o=t^r)^(e=((e+=(o^s)+n[5]-378558)<<4|e>>>28)+t|0))+n[8]-2022574463)<<11|s>>>21)+e|0)^e)^(r=((r+=(i^t)+n[11]+1839030562)<<16|r>>>16)+s|0))+n[14]-35309556)<<23|t>>>9)+r|0,t=((t+=((i=(s=((s+=((o=t^r)^(e=((e+=(o^s)+n[1]-1530992060)<<4|e>>>28)+t|0))+n[4]+1272893353)<<11|s>>>21)+e|0)^e)^(r=((r+=(i^t)+n[7]-155497632)<<16|r>>>16)+s|0))+n[10]-1094730640)<<23|t>>>9)+r|0,t=((t+=((i=(s=((s+=((o=t^r)^(e=((e+=(o^s)+n[13]+681279174)<<4|e>>>28)+t|0))+n[0]-358537222)<<11|s>>>21)+e|0)^e)^(r=((r+=(i^t)+n[3]-722521979)<<16|r>>>16)+s|0))+n[6]+76029189)<<23|t>>>9)+r|0,t=((t+=((i=(s=((s+=((o=t^r)^(e=((e+=(o^s)+n[9]-640364487)<<4|e>>>28)+t|0))+n[12]-421815835)<<11|s>>>21)+e|0)^e)^(r=((r+=(i^t)+n[15]+530742520)<<16|r>>>16)+s|0))+n[2]-995338651)<<23|t>>>9)+r|0,t=((t+=((s=((s+=(t^((e=((e+=(r^(t|~s))+n[0]-198630844)<<6|e>>>26)+t|0)|~r))+n[7]+1126891415)<<10|s>>>22)+e|0)^((r=((r+=(e^(s|~t))+n[14]-1416354905)<<15|r>>>17)+s|0)|~e))+n[5]-57434055)<<21|t>>>11)+r|0,t=((t+=((s=((s+=(t^((e=((e+=(r^(t|~s))+n[12]+1700485571)<<6|e>>>26)+t|0)|~r))+n[3]-1894986606)<<10|s>>>22)+e|0)^((r=((r+=(e^(s|~t))+n[10]-1051523)<<15|r>>>17)+s|0)|~e))+n[1]-2054922799)<<21|t>>>11)+r|0,t=((t+=((s=((s+=(t^((e=((e+=(r^(t|~s))+n[8]+1873313359)<<6|e>>>26)+t|0)|~r))+n[15]-30611744)<<10|s>>>22)+e|0)^((r=((r+=(e^(s|~t))+n[6]-1560198380)<<15|r>>>17)+s|0)|~e))+n[13]+1309151649)<<21|t>>>11)+r|0,t=((t+=((s=((s+=(t^((e=((e+=(r^(t|~s))+n[4]-145523070)<<6|e>>>26)+t|0)|~r))+n[11]-1120210379)<<10|s>>>22)+e|0)^((r=((r+=(e^(s|~t))+n[2]+718787259)<<15|r>>>17)+s|0)|~e))+n[9]-343485551)<<21|t>>>11)+r|0,this.first?(this.h0=e+1732584193|0,this.h1=t-271733879|0,this.h2=r-1732584194|0,this.h3=s+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+t|0,this.h2=this.h2+r|0,this.h3=this.h3+s|0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,s=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[15&s]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,s=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&s,s>>8&255,s>>16&255,s>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,r,s="",o=this.array(),i=0;i<15;)e=o[i++],t=o[i++],r=o[i++],s+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|r>>>6)]+BASE64_ENCODE_CHAR[63&r];return e=o[i],s+(BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"==")};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()},626:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Controller=t.Row=void 0;const o=s(r(730)),i=s(r(411)),n=r(23),a=r(784);class u extends Map{constructor(e){super(),this.consumed=new Map;for(const[t,r]of e)this.set(t,r)}getPairKey(...e){const t=[...this.values(),...e];return(0,n.unique)(t)}copy(e){for(let[t,r]of e.entries())this.set(t,r)}}t.Row=u,t.Controller=class{constructor(e,t={}){this.factors=e,this.options=t,this.serials=new Map,this.parents=new Map,this.indices=new Map,this.incomplete=new Map,this.numAllChunks=0,this.rejected=new Set,this.serialize(e),this.setIncomplete(),this.numAllChunks=this.incomplete.size,this.row=new u([]),this.factorLength=(0,n.len)(e),this.factorIsArray=e instanceof Array;for(const[e,t]of this.incomplete.entries()){const r=this.getCandidate(t);null==this.storable(r)&&this.incomplete.delete(e)}}serialize(e){let t=0;const r=(0,n.primeGenerator)();(0,n.getItems)(e).map((([e,s])=>{const o=(0,n.len)(s),i=[];(0,n.range)(t,t+o).map((t=>{const s=r.next().value;i.push(s),this.parents.set(s,e),this.indices.set(s,t)})),this.serials.set(e,i),t+=o}))}setIncomplete(){const{sorter:e=i.default,seed:t=""}=this.options,r=[],s=(0,n.getItems)(this.serials).map((([e,t])=>e));for(const e of(0,n.combinations)(s,this.pairwiseCount)){const t=(0,n.range)(0,this.pairwiseCount).map((t=>this.serials.get(e[t])));for(let e of(0,n.product)(...t))e=e.sort(n.ascOrder),r.push(e)}for(let s of e(r,{seed:t,indices:this.indices}))this.incomplete.set((0,n.unique)(s),s)}setPair(e){for(let[t,r]of this.getCandidate(e))this.row.set(t,r);for(let e of(0,n.combinations)([...this.row.values()],this.pairwiseCount))this.consume(e)}consume(e){const t=(0,n.unique)(e);this.incomplete.delete(t)&&this.row.consumed.set(t,e)}consumeRow(e){for(let t of(0,n.combinations)([...e.values()],this.pairwiseCount))this.consume(t)}getCandidate(e){return(0,n.getCandidate)(e,this.parents)}storable(e){let t=0;for(let[r,s]of e){let e=this.row.get(r);if(void 0===e)t++;else if(e!=s)return null}if(!this.options.preFilter)return t;const r=[...this.row.entries()].concat(e),s=new u(r),o=this.toProxy(s);try{if(!this.options.preFilter(o))return this.consumeRow(s),null}catch(e){if(e instanceof a.NotReady)return-t;throw e}return t}isFilled(e){return e.size===this.factorLength}toMap(e){const t=new Map;for(let[r,s]of e.entries()){const e=this.indices.get(s),o=this.indices.get(this.serials.get(r)[0]);t.set(r,this.factors[r][e-o])}return t}toProxy(e){const t={};for(let[r,s]of this.toMap(e).entries())t[r]=s;return new Proxy(t,n.proxyHandler)}toObject(e){const t={};for(let[r,s]of this.toMap(e).entries())t[r]=s;return t}reset(){this.row.consumed.forEach(((e,t)=>{this.incomplete.set(t,e)})),this.row=new u([])}discard(){const e=this.row.getPairKey();this.rejected.add(e),this.row=new u([])}restore(){const e=this.row;if(this.row=new u([]),this.factorIsArray){const t=this.toMap(e);return(0,n.getItems)(t).sort(((e,t)=>e[0]>t[0]?1:-1)).map((([e,t])=>t))}return this.toObject(e)}close(){const e=new u([...this.row.entries()]),t=(0,n.getItems)(this.serials);for(let[r,s]of t)for(let t of s){const s=e.getPairKey(t);if(this.rejected.has(s))continue;const o=[[r,t]];if(null!=this.storable(o)){e.set(r,t);break}this.rejected.add(s)}if(this.row.copy(e),this.isComplete)return!0;if(0===e.size)return!1;const r=e.getPairKey();if(this.rejected.has(r))throw new a.NeverMatch;return this.rejected.add(r),this.reset(),!1}get pairwiseCount(){return this.options.length||2}get isComplete(){var e,t,r;if(!this.isFilled(this.row))return!1;const s=this.toProxy(this.row);try{return null===(r=null===(t=(e=this.options).preFilter)||void 0===t?void 0:t.call(e,s))||void 0===r||r}catch(e){if(e instanceof a.NotReady)return!1;throw e}}get progress(){return 0===this.numAllChunks?0:1-this.incomplete.size/this.numAllChunks}*makeAsync(){const{criterion:e=o.default,postFilter:t}=this.options;do{for(let t of e(this)){if(this.isFilled(this.row))break;this.setPair(t)}try{this.close()&&(!t||t(this.toObject(this.row))?yield this.restore():this.discard())}catch(e){if(e instanceof a.NeverMatch)break;throw e}}while(this.incomplete.size);this.incomplete.clear()}}},730:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(23),o=(e,t,r)=>{let o=0;const i=(0,s.combinations)([...e],r);for(let e of i){const r=(0,s.unique)(e);t.has(r)&&o++}return o};t.default=function*(e){for(;;){let t=null,r=null;for(const[s,i]of e.incomplete.entries()){const s=e.row.size;if(0===s){yield i;continue}if(e.isFilled(e.row))break;const n=e.storable(e.getCandidate(i));if(null===n)continue;if(0===n){e.consume(i);continue}const a=Math.abs(n),{tolerance:u=0}=e.options,l=o(new Set([...e.row.values(),...i]),e.incomplete,e.pairwiseCount);if(l+u>s*a){r=i;break}(null===t||t<l)&&(t=l,r=i)}if(null===r)break;yield r}}},892:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function*(e){const t=e.incomplete;for(let r of t.values()){const t=e.getCandidate(r),s=e.storable(t);null!==s&&0!==s&&(yield r)}}},784:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NeverMatch=t.NotReady=void 0;class r extends Error{constructor(e){super(`Not yet '${e}' in the object`),this.key=e}}t.NotReady=r;class s extends Error{}t.NeverMatch=s},156:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Controller=t.PictConstraintsLexer=t.criteria=t.sorters=t.makeAsync=t.make=void 0;const o=s(r(411)),i=s(r(512)),n=s(r(730)),a=s(r(892)),u=r(676);Object.defineProperty(t,"PictConstraintsLexer",{enumerable:!0,get:function(){return u.PictConstraintsLexer}});const l=r(626);Object.defineProperty(t,"Controller",{enumerable:!0,get:function(){return l.Controller}});const c=function*(e,t={}){const r=new l.Controller(e,t);yield*r.makeAsync()};t.makeAsync=c;const h=(e,t={})=>[...c(e,t)];t.make=h;const f={hash:o.default,random:i.default};t.sorters=f;const p={greedy:n.default,simple:a.default};t.criteria=p,t.default=h},23:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.proxyHandler=t.primeGenerator=t.unique=t.ascOrder=t.getCandidate=t.getItems=t.len=t.copy=t.product=t.combinations=t.zip=t.all=t.range=t.md5=void 0;var s=r(386);Object.defineProperty(t,"md5",{enumerable:!0,get:function(){return s.hex}});const o=r(784);t.range=(e,t,r=1)=>Array.from({length:(t-e-1)/r+1},((t,s)=>e+s*r)),t.all=e=>{for(let t of e)if(!t)return!1;return!0},t.zip=(...e)=>{const r=e[0].length;return(0,t.range)(0,r).map((t=>e.map((e=>e[t]))))},t.combinations=(e,r)=>{const s=r-1,o=[],i=(0,t.range)(0,r);for(;i[0]<e.length-s;){o.push(i.map((t=>e[t]))),i[s]++;for(let t=s;t>0;t--)i[t]>=e.length-(s-t)&&i[t-1]++;for(let t=1;t<=s;t++)i[t]>=e.length-(s-t)&&(i[t]=i[t-1]+1)}return o},t.product=(...e)=>{const t=[],r=(s,o)=>{if(s.length!==e.length)for(let t of e[o])r([...s,t],o+1);else t.push(s)};return r([],0),t},t.copy=e=>Array.isArray(e)?[...e]:Object.assign({},e),t.len=e=>Array.isArray(e)?e.length:Object.keys(e).length,t.getItems=e=>Array.isArray(e)?e.map(((e,t)=>[t,e])):e instanceof Map?[...e.entries()]:[...Object.entries(e)],t.getCandidate=(e,r)=>{const s=e.map((e=>r.get(e)||0));return(0,t.zip)(s,e)},t.ascOrder=(e,t)=>e>t?1:-1,t.unique=e=>{const r=e.reduce(((e,t)=>e*t));return Number.isSafeInteger(r)?r:e.sort(t.ascOrder).toString()};const i=e=>{if(e%2==0)return!1;let r=(0,t.range)(3,Math.sqrt(e)+1,2);for(;r.length>0;){const t=r[0];if(e%t==0)return!1;r=r.filter((e=>e%t!=0))}return!0};t.primeGenerator=function*(){yield 2;for(let e=3;;e+=2)i(e)&&(yield e)},t.proxyHandler={get(e,t,r){if(t in e)return e[t];throw new o.NotReady(t)}}},411:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(23);t.default=function(e,t){const{seed:r,indices:o}=t;return e.sort(((e,t)=>{const i=`${e.map((e=>o.get(e)))} ${r}`,n=`${t.map((e=>o.get(e)))} ${r}`;return(0,s.md5)(i)>(0,s.md5)(n)?1:-1}))}},512:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=(e,t)=>Math.random()>.5?1:-1;t.default=function(e,t){return e.sort(r)}},676:(e,t)=>{"use strict";var r;function s(e){if(e.startsWith("[")&&e.endsWith("]"))return{type:r.REF,value:e};if(e.startsWith('"')&&e.endsWith('"'))return{type:r.STRING,value:e};if(!isNaN(parseFloat(e)))return{type:r.NUMBER,value:e};if(["TRUE","FALSE"].includes(e.toUpperCase()))return{type:r.BOOLEAN,value:e.toUpperCase()};if(e.toUpperCase()===r.NULL)return{type:r.NULL,value:e.toUpperCase()};if([r.IF,r.ELSE,r.THEN].includes(e.toUpperCase()))return{type:e.toUpperCase(),value:e.toUpperCase()};if(["=","<>",">","<",">=","<=","IN","LIKE"].includes(e.toUpperCase()))return{type:r.COMPARER,value:e.toUpperCase()};if(["AND","OR","NOT"].includes(e.toUpperCase()))return{type:r.OPERATOR,value:e.toUpperCase()};switch(e){case"(":return{type:r.LPAREN,value:e};case")":return{type:r.RPAREN,value:e};case"{":return{type:r.LBRACE,value:e};case"}":return{type:r.RBRACE,value:e};case",":return{type:r.COMMA,value:e};case":":return{type:r.COLON,value:e};case";":return{type:r.SEMICOLON,value:e};default:return{type:r.UNKNOWN,value:e}}}Object.defineProperty(t,"__esModule",{value:!0}),t.PictConstraintsLexer=void 0,function(e){e.REF="REF",e.STRING="STRING",e.NUMBER="NUMBER",e.BOOLEAN="BOOLEAN",e.NULL="NULL",e.IF="IF",e.ELSE="ELSE",e.THEN="THEN",e.COMPARER="COMPARER",e.OPERATOR="OPERATOR",e.LPAREN="LPAREN",e.RPAREN="RPAREN",e.LBRACE="LBRACE",e.RBRACE="RBRACE",e.COMMA="COMMA",e.COLON="COLON",e.SEMICOLON="SEMICOLON",e.WHITESPACE="WHITESPACE",e.UNKNOWN="UNKNOWN"}(r||(r={}));const o=e=>" "===e||"\n"===e||"\t"===e;t.PictConstraintsLexer=class{constructor(e,t=!1){this.input=e,this.debug=t,this.tokens=[],this.cache={},this.filters=[],this.errors=[],this.filter=(e,...t)=>{for(const t of this.filters)if(null!=t&&!t(e))return!1;for(const r of t)if(!r(e))return!1;return!0},this.tokenize(),this.analyze()}tokenize(){const e=this.input,t=[];let i="",n=!1,a=!1,u=!1;const l=(e,r)=>{t.push({type:e,value:r})};for(let c=0;c<e.length;c++){const h=e[c];if('"'===h)n=!n,i+=h,n||(l(r.STRING,i),i="");else if(n)i+=h;else if("["===h)i.length>0&&(t.push(s(i)),i=""),u=!0,i+=h;else if("]"===h&&u)i+=h,t.push(s(i)),u=!1,i="";else if("{"===h)a=!0,i.length>0&&(t.push(s(i)),i=""),l(r.LBRACE,h);else if("}"===h)a=!1,i.length>0&&(t.push(s(i)),i=""),l(r.RBRACE,h);else if(","===h&&a)i.length>0&&(t.push(s(i)),i=""),l(r.COMMA,h);else if(!"[]=<>!();:".includes(h)||a||u)if(!o(h)||a||u)o(h),i+=h;else{i.length>0&&(t.push(s(i)),i="");let n=h;for(;c+1<e.length&&o(e[c+1]);)n+=e[++c];l(r.WHITESPACE,n)}else if(i.length>0&&(t.push(s(i)),i=""),"<"===h||">"===h||"!"===h||"="===h){const r=e[c+1];"="===r?(t.push(s(h+"=")),c++):"<"===h&&">"===r?(t.push(s("<>")),c++):t.push(s(h))}else t.push(s(h))}return i.length>0&&t.push(s(i)),this.tokens=t,t}analyze(){let e=0,t=0,s=0;const o=this.tokens,i=()=>{for(;e<o.length&&"WHITESPACE"===o[e].type;)e++;return e<o.length?o[e++]:null},n=()=>{let t=a(),s=i();if((null==s?void 0:s.type)===r.UNKNOWN)throw new Error(`Unexpected token: ${s.value}`);for(;s&&"OPERATOR"===s.type&&"OR"===s.value;)t=`(${t} || ${a()})`,s=i();return e--,t||"true"},a=()=>{let t=u(),s=i();if((null==s?void 0:s.type)===r.UNKNOWN)throw new Error(`Unexpected token: ${s.value}`);for(;s&&"OPERATOR"===s.type&&"AND"===s.value;)t=`(${t} && ${u()})`,s=i();return e--,t},u=()=>{let t=i();if(null!=t){if("OPERATOR"===t.type&&"NOT"===t.value)return`!(${u()})`;if(t.type===r.LPAREN){const e=n();if(t=i(),!t||t.type!==r.RPAREN)throw new Error("Expected closing parenthesis");return`(${e})`}if(t.type===r.BOOLEAN)return"TRUE"===t.value.toUpperCase()?"true":"false";if(t.type===r.UNKNOWN)throw new Error(`Unexpected token: ${t.value}`)}return e--,l()},l=()=>{const e=h();if(null==e)throw new Error('Expected field or value after "IF", "THEN", "ELSE"');const t=i();if([r.NUMBER,r.STRING,r.BOOLEAN,r.NULL].includes(null==t?void 0:t.type))throw new Error(`Expected comparison operator but found value: ${null==t?void 0:t.value}`);if((null==t?void 0:t.type)===r.THEN)throw new Error("A comparison operator and value are required after the field.");if("OPERATOR"===(null==t?void 0:t.type))throw new Error(`Expected comparison operator but found operator: ${t.value}`);const o=null==t?void 0:t.value;if("IN"===o)return`${c()}.has(${e})`;const n=h();if(null==n)throw new Error("Expected field or value");switch(o){case"=":return`${e} === ${n}`;case"<>":return`${e} !== ${n}`;case">":return`${e} > ${n}`;case"<":return`${e} < ${n}`;case">=":return`${e} >= ${n}`;case"<=":return`${e} <= ${n}`;case"LIKE":const t=n.slice(1,-1).replace(/\*/g,".*").replace(/\?/g,"."),r="re_"+s++;return this.cache[r]||(this.cache[r]=new RegExp("^"+t+"$")),`this.cache['${r}'].test(${e})`;default:throw new Error(`Unknown comparison operator: ${o}`)}},c=()=>{const e=[];let s=i();if(!s||s.type!==r.LBRACE)throw new Error(`Expected '{' but found ${s?s.value:r.NULL}`);for(s=i();s&&s.type!==r.RBRACE;){if(s.type===r.STRING)e.push(s.value.slice(1,-1));else if(s.type!==r.COMMA&&s.type!==r.WHITESPACE)throw new Error(`Unexpected token in array: ${s.value}`);s=i()}const o="set_"+t++;return this.cache[o]||(this.cache[o]=new Set(e)),`this.cache['${o}']`},h=()=>{const e=i();return null==e?null:e.type===r.REF?`row["${e.value.slice(1,-1)}"]`:e.type===r.STRING?`${e.value}`:e.type===r.NUMBER?e.value:e.type===r.BOOLEAN?"TRUE"===e.value?"true":"false":e.type===r.NULL?r.NULL:null},f=()=>{for(;e<o.length&&o[e].type!==r.SEMICOLON;)e++},p=(e,t)=>{if(null==e)this.debug&&console.error(`Error[${this.errors.length}]:`,t),this.filters.push(null),this.errors.push(t);else{this.debug&&console.debug(`Code[${this.filters.length}]:`,e);try{const t=this.makeClosure(e);this.filters.push(t),this.errors.push(null)}catch(e){console.error(e),this.filters.push(null),this.errors.push(`RuntimeError[${this.errors.length}]:`,e.message)}}},d=()=>{try{return n()}catch(e){p(null,e.message)}return e--,f(),null};for(;null!=o[e];){const t=i();if(null==t)break;if(t.type===r.IF){const t=d();if(null==t)continue;const s=i();if(!s||s.type!==r.THEN){f();continue}const o=d();if(null==o)continue;const n=i();let a="true";if(n&&n.type===r.ELSE){if(a=d(),null==a)continue}else e--;p(`return (${t} ? (${o}) : (${a}));`,null)}else t.type===r.SEMICOLON||(t.type===r.UNKNOWN?p(null,`Unknown token: ${t.value}`):p(null,`The leading "IF" is missing, found ${t.value}`),f())}}makeClosure(e){return new Function("row",e).bind(this)}}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.amdO={};var __webpack_exports__=__webpack_require__(156);return __webpack_exports__})()));