UNPKG

stated-js

Version:

JSONata embedded in JSON

2 lines 348 kB
/*! For license information please see bundle.mjs.LICENSE.txt */ var t={392:t=>{function e(t){return Promise.resolve().then((()=>{var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}))}e.keys=()=>[],e.resolve=e,e.id=392,t.exports=e},998:t=>{t.exports=function t(e,r,n){function o(a,s){if(!r[a]){if(!e[a]){if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[a]={exports:{}};e[a][0].call(c.exports,(function(t){return o(e[a][1][t]||t)}),c,c.exports,t,e,r,n)}return r[a].exports}for(var i=void 0,a=0;a<n.length;a++)o(n[a]);return o}({1:[function(t,e,r){const n=t("./utils"),o=function(){const t=n.stringToArray,e=["Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"],r=["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth"],o=["Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety","Hundred"],i=["Thousand","Million","Billion","Trillion"];const a={};e.forEach((function(t,e){a[t.toLowerCase()]=e})),r.forEach((function(t,e){a[t.toLowerCase()]=e})),o.forEach((function(t,e){const r=t.toLowerCase();a[r]=10*(e+2),a[r.substring(0,t.length-1)+"ieth"]=a[r]})),a.hundredth=100,i.forEach((function(t,e){const r=t.toLowerCase(),n=Math.pow(10,3*(e+1));a[r]=n,a[r+"th"]=n}));const s=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],u={M:1e3,D:500,C:100,L:50,X:10,V:5,I:1};function c(t){for(var e=0;e<s.length;e++){const r=s[e];if(t>=r[0])return r[1]+c(t-r[0])}return""}function l(t,e){if(void 0!==t)return h(t=Math.floor(t),v(e))}const f={DECIMAL:"decimal",LETTERS:"letters",ROMAN:"roman",WORDS:"words",SEQUENCE:"sequence"},p={UPPER:"upper",LOWER:"lower",TITLE:"title"};function h(n,a){let s;const u=n<0;switch(n=Math.abs(n),a.primary){case f.LETTERS:s=function(t,e){for(var r=[],n=e.charCodeAt(0);t>0;)r.unshift(String.fromCharCode((t-1)%26+n)),t=Math.floor((t-1)/26);return r.join("")}(n,a.case===p.UPPER?"A":"a");break;case f.ROMAN:s=c(n),a.case===p.UPPER&&(s=s.toUpperCase());break;case f.WORDS:s=function(t,n){var a=function(t,n,s){var u="";if(t<=19)u=(n?" and ":"")+(s?r[t]:e[t]);else if(t<100){const e=Math.floor(t/10),r=t%10;u=(n?" and ":"")+o[e-2],r>0?u+="-"+a(r,!1,s):s&&(u=u.substring(0,u.length-1)+"ieth")}else if(t<1e3){const r=Math.floor(t/100),o=t%100;u=(n?", ":"")+e[r]+" Hundred",o>0?u+=a(o,!0,s):s&&(u+="th")}else{var c=Math.floor(Math.log10(t)/3);c>i.length&&(c=i.length);const e=Math.pow(10,3*c),r=Math.floor(t/e),o=t-r*e;u=(n?", ":"")+a(r,!1,!1)+" "+i[c-1],o>0?u+=a(o,!0,s):s&&(u+="th")}return u};return a(t,!1,n)}(n,a.ordinal),a.case===p.UPPER?s=s.toUpperCase():a.case===p.LOWER&&(s=s.toLowerCase());break;case f.DECIMAL:s=""+n;var l=a.mandatoryDigits-s.length;if(l>0){var h=new Array(l+1).join("0");s=h+s}if(48!==a.zeroCode&&(s=t(s).map((t=>String.fromCodePoint(t.codePointAt(0)+a.zeroCode-48))).join("")),a.regular)for(let t=Math.floor((s.length-1)/a.groupingSeparators.position);t>0;t--){const e=s.length-t*a.groupingSeparators.position;s=s.substr(0,e)+a.groupingSeparators.character+s.substr(e)}else a.groupingSeparators.reverse().forEach((t=>{const e=s.length-t.position;s=s.substr(0,e)+t.character+s.substr(e)}));if(a.ordinal){var d={1:"st",2:"nd",3:"rd"}[s[s.length-1]];(!d||s.length>1&&"1"===s[s.length-2])&&(d="th"),s+=d}break;case f.SEQUENCE:throw{code:"D3130",value:a.token}}return u&&(s="-"+s),s}const d=[48,1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43504,43600,44016,65296];function v(e){const r={type:"integer",primary:f.DECIMAL,case:p.LOWER,ordinal:!1};let n,o;const i=e.lastIndexOf(";");switch(-1===i?n=e:(n=e.substring(0,i),o=e.substring(i+1),"o"===o[0]&&(r.ordinal=!0)),n){case"A":r.case=p.UPPER;case"a":r.primary=f.LETTERS;break;case"I":r.case=p.UPPER;case"i":r.primary=f.ROMAN;break;case"W":r.case=p.UPPER,r.primary=f.WORDS;break;case"Ww":r.case=p.TITLE,r.primary=f.WORDS;break;case"w":r.primary=f.WORDS;break;default:{let e=null,o=0,i=0,a=[],s=0;if(t(n).map((t=>t.codePointAt(0))).reverse().forEach((t=>{let r=!1;for(let n=0;n<d.length;n++){const i=d[n];if(t>=i&&t<=i+9){if(r=!0,o++,s++,null===e)e=i;else if(i!==e)throw{code:"D3131"};break}}r||(35===t?(s++,i++):a.push({position:s,character:String.fromCodePoint(t)}))})),o>0){r.primary=f.DECIMAL,r.zeroCode=e,r.mandatoryDigits=o,r.optionalDigits=i;const t=function(t){if(0===t.length)return 0;const e=t[0].character;for(let r=1;r<t.length;r++)if(t[r].character!==e)return 0;const r=t.map((t=>t.position)),n=function(t,e){return 0===e?t:n(e,t%e)},o=r.reduce(n);for(let t=1;t<=r.length;t++)if(-1===r.indexOf(t*o))return 0;return o}(a);t>0?(r.regular=!0,r.groupingSeparators={position:t,character:a[0].character}):(r.regular=!1,r.groupingSeparators=a)}else r.primary=f.SEQUENCE,r.token=n}}return r}const y={Y:"1",M:"1",D:"1",d:"1",F:"n",W:"1",w:"1",X:"1",x:"1",H:"1",h:"1",P:"n",m:"01",s:"01",f:"1",Z:"01:01",z:"01:01",C:"n",E:"n"};function g(t){var e=[];const r={type:"datetime",parts:e},n=function(r,n){if(n>r){let o=t.substring(r,n);o=o.split("]]").join("]"),e.push({type:"literal",value:o})}};for(var o=0,i=0;i<t.length;){if("["===t.charAt(i)){if("["===t.charAt(i+1)){n(o,i),e.push({type:"literal",value:"["}),o=i+=2;continue}if(n(o,i),o=i,-1===(i=t.indexOf("]",o)))throw{code:"D3135"};let r=t.substring(o+1,i);r=r.split(/\s+/).join("");var a,s={type:"marker",component:r.charAt(0)},u=r.lastIndexOf(",");if(-1!==u){const t=r.substring(u+1),e=t.indexOf("-");let n,o;const i=function(t){return void 0===t||"*"===t?void 0:parseInt(t)};-1===e?n=t:(n=t.substring(0,e),o=t.substring(e+1));const c={min:i(n),max:i(o)};s.width=c,a=r.substring(1,u)}else a=r.substring(1);if(1===a.length)s.presentation1=a;else if(a.length>1){var c=a.charAt(a.length-1);-1!=="atco".indexOf(c)?(s.presentation2=c,"o"===c&&(s.ordinal=!0),s.presentation1=a.substring(0,a.length-1)):s.presentation1=a}else s.presentation1=y[s.component];if(void 0===s.presentation1)throw{code:"D3132",value:s.component};if("n"===s.presentation1[0])s.names=p.LOWER;else if("N"===s.presentation1[0])"n"===s.presentation1[1]?s.names=p.TITLE:s.names=p.UPPER;else if(-1!=="YMDdFWwXxHhmsf".indexOf(s.component)){var l=s.presentation1;if(s.presentation2&&(l+=";"+s.presentation2),s.integerFormat=v(l),s.width&&void 0!==s.width.min&&s.integerFormat.mandatoryDigits<s.width.min&&(s.integerFormat.mandatoryDigits=s.width.min),-1!=="YMD".indexOf(s.component))if(s.n=-1,s.width&&void 0!==s.width.max)s.n=s.width.max,s.integerFormat.mandatoryDigits=s.n;else{var f=s.integerFormat.mandatoryDigits+s.integerFormat.optionalDigits;f>=2&&(s.n=f)}}"Z"!==s.component&&"z"!==s.component||(s.integerFormat=v(s.presentation1)),e.push(s),o=i+1}i++}return n(o,i),r}const m=["","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],b=["January","February","March","April","May","June","July","August","September","October","November","December"],w=864e5,x=function(t){const e=Date.UTC(t.year,t.month);var r=new Date(e).getUTCDay();return 0===r&&(r=7),r>4?e+(8-r)*w:e-(r-1)*w},k=function(t,e){return{year:t,month:e,nextMonth:function(){return 11===e?k(t+1,0):k(t,e+1)},previousMonth:function(){return 0===e?k(t-1,11):k(t,e-1)},nextYear:function(){return k(t+1,e)},previousYear:function(){return k(t-1,e)}}},_=function(t,e){return(e-t)/6048e5+1},j=(t,e)=>{let r;switch(e){case"Y":r=t.getUTCFullYear();break;case"M":r=t.getUTCMonth()+1;break;case"D":r=t.getUTCDate();break;case"d":r=(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(t.getUTCFullYear(),0))/w+1;break;case"F":r=t.getUTCDay(),0===r&&(r=7);break;case"W":{const e=k(t.getUTCFullYear(),0),n=x(e),o=Date.UTC(e.year,t.getUTCMonth(),t.getUTCDate());let i=_(n,o);if(i>52)o>=x(e.nextYear())&&(i=1);else if(i<1){const t=x(e.previousYear());i=_(t,o)}r=Math.floor(i);break}case"w":{const e=k(t.getUTCFullYear(),t.getUTCMonth()),n=x(e),o=Date.UTC(e.year,e.month,t.getUTCDate());let i=_(n,o);if(i>4)o>=x(e.nextMonth())&&(i=1);else if(i<1){const t=x(e.previousMonth());i=_(t,o)}r=Math.floor(i);break}case"X":{const e=k(t.getUTCFullYear(),0),n=x(e),o=x(e.nextYear()),i=t.getTime();r=i<n?e.year-1:i>=o?e.year+1:e.year;break}case"x":{const e=k(t.getUTCFullYear(),t.getUTCMonth()),n=x(e),o=e.nextMonth(),i=x(o),a=t.getTime();r=a<n?e.previousMonth().month+1:a>=i?o.month+1:e.month+1;break}case"H":r=t.getUTCHours();break;case"h":r=t.getUTCHours(),r%=12,0===r&&(r=12);break;case"P":r=t.getUTCHours()>=12?"pm":"am";break;case"m":r=t.getUTCMinutes();break;case"s":r=t.getUTCSeconds();break;case"f":r=t.getUTCMilliseconds();break;case"Z":case"z":break;case"C":case"E":r="ISO"}return r};let O=null;function S(t,e,r){var n=0,o=0;if(void 0!==r){const t=parseInt(r);n=Math.floor(t/100),o=t%100}let i;void 0===e?(null===O&&(O=g("[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z01:01t]")),i=O):i=g(e);const a=new Date(t+60*(60*n+o)*1e3);let s="";return i.parts.forEach((function(t){"literal"===t.type?s+=t.value:s+=function(t,e){var r=j(t,e.component);if(-1!=="YMDdFWwXxHhms".indexOf(e.component))if("Y"===e.component&&-1!==e.n&&(r%=Math.pow(10,e.n)),e.names){if("M"===e.component||"x"===e.component)r=b[r-1];else{if("F"!==e.component)throw{code:"D3133",value:e.component};r=m[r]}e.names===p.UPPER?r=r.toUpperCase():e.names===p.LOWER&&(r=r.toLowerCase()),e.width&&r.length>e.width.max&&(r=r.substring(0,e.width.max))}else r=h(r,e.integerFormat);else if("f"===e.component)r=h(r,e.integerFormat);else if("Z"===e.component||"z"===e.component){const t=100*n+o;if(e.integerFormat.regular)r=h(t,e.integerFormat);else{const i=e.integerFormat.mandatoryDigits;if(1===i||2===i)r=h(n,e.integerFormat),0!==o&&(r+=":"+l(o,"00"));else{if(3!==i&&4!==i)throw{code:"D3134",value:i};r=h(t,e.integerFormat)}}t>=0&&(r="+"+r),"z"===e.component&&(r="GMT"+r),0===t&&"t"===e.presentation2&&(r="Z")}else"P"===e.component&&e.names===p.UPPER&&(r=r.toUpperCase());return r}(a,t)})),s}function P(t){var e={};if("datetime"===t.type)e.type="datetime",e.parts=t.parts.map((function(t){var e={};if("literal"===t.type)e.regex=t.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");else if("Z"===t.component||"z"===t.component){let r;Array.isArray(t.integerFormat.groupingSeparators)||(r=t.integerFormat.groupingSeparators),e.regex="","z"===t.component&&(e.regex="GMT"),e.regex+="[-+][0-9]+",r&&(e.regex+=r.character+"[0-9]+"),e.parse=function(e){"z"===t.component&&(e=e.substring(3));let n=0,o=0;return r?(n=Number.parseInt(e.substring(0,e.indexOf(r.character))),o=Number.parseInt(e.substring(e.indexOf(r.character)+1))):e.length-1<=2?n=Number.parseInt(e):(n=Number.parseInt(e.substring(0,3)),o=Number.parseInt(e.substring(3))),60*n+o}}else if(t.integerFormat)t.integerFormat.n=t.n,e=P(t.integerFormat);else{e.regex="[a-zA-Z]+";var r={};if("M"===t.component||"x"===t.component)b.forEach((function(e,n){t.width&&t.width.max?r[e.substring(0,t.width.max)]=n+1:r[e]=n+1}));else if("F"===t.component)m.forEach((function(e,n){n>0&&(t.width&&t.width.max?r[e.substring(0,t.width.max)]=n:r[e]=n)}));else{if("P"!==t.component)throw{code:"D3133",value:t.component};r={am:0,AM:0,pm:1,PM:1}}e.parse=function(t){return r[t]}}return e.component=t.component,e}));else{e.type="integer";const r=t.case===p.UPPER;let n;switch(n=t.n&&t.n>0?0===t.optionalDigits?`{${t.n}}`:`{${t.n-t.optionalDigits},${t.n}}`:"+",t.primary){case f.LETTERS:e.regex=r?"[A-Z]+":"[a-z]+",e.parse=function(t){return function(t,e){for(var r=e.charCodeAt(0),n=0,o=0;o<t.length;o++)n+=(t.charCodeAt(t.length-o-1)-r+1)*Math.pow(26,o);return n}(t,r?"A":"a")};break;case f.ROMAN:e.regex=r?"[MDCLXVI]+":"[mdclxvi]+",e.parse=function(t){return function(t){for(var e=0,r=1,n=t.length-1;n>=0;n--){const o=t[n],i=u[o];i<r?e-=i:(r=i,e+=i)}return e}(r?t:t.toUpperCase())};break;case f.WORDS:e.regex="(?:"+Object.keys(a).concat("and","[\\-, ]").join("|")+")+",e.parse=function(t){return function(t){const e=t.split(/,\s|\sand\s|[\s\\-]/).map((t=>a[t]));let r=[0];return e.forEach((t=>{if(t<100){let e=r.pop();e>=1e3&&(r.push(e),e=0),r.push(e+t)}else r.push(r.pop()*t)})),r.reduce(((t,e)=>t+e),0)}(t.toLowerCase())};break;case f.DECIMAL:e.regex=`[0-9]${n}`,t.ordinal&&(e.regex+="(?:th|st|nd|rd)"),e.parse=function(e){let r=e;return t.ordinal&&(r=e.substring(0,e.length-2)),t.regular?r=r.split(",").join(""):t.groupingSeparators.forEach((t=>{r=r.split(t.character).join("")})),48!==t.zeroCode&&(r=r.split("").map((e=>String.fromCodePoint(e.codePointAt(0)-t.zeroCode+48))).join("")),parseInt(r)};break;case f.SEQUENCE:throw{code:"D3130",value:t.token}}}return e}function E(t,e){const r=P(g(e)),n="^"+r.parts.map((t=>"("+t.regex+")")).join("")+"$";var o=new RegExp(n,"i").exec(t);if(null!==o){const t=161,e=130,n=84,a=72,s=23,u=47,c={};for(let t=1;t<o.length;t++){const e=r.parts[t-1];e.parse&&(c[e.component]=e.parse(o[t]))}if(0===Object.getOwnPropertyNames(c).length)return;let l=0;const f=t=>{l<<=1,l+=t?1:0},p=t=>!(~t&l||!(t&l));"YXMxWwdD".split("").forEach((t=>f(c[t])));const h=!p(t)&&p(e),d=p(n),v=!d&&p(a);l=0,"PHhmsf".split("").forEach((t=>f(c[t])));const y=!p(s)&&p(u),g=(h?"YD":d?"XxwF":v?"XWF":"YMD")+(y?"Phmsf":"Hmsf"),m=this.environment.timestamp;let b=!1,w=!1;if(g.split("").forEach((t=>{if(void 0===c[t])b?(c[t]=-1!=="MDd".indexOf(t)?1:0,w=!0):c[t]=j(m,t);else if(b=!0,w)throw{code:"D3136"}})),c.M>0?c.M-=1:c.M=0,h){const t=Date.UTC(c.Y,0),e=1e3*(c.d-1)*60*60*24,r=new Date(t+e);c.M=r.getUTCMonth(),c.D=r.getUTCDate()}if(d)throw{code:"D3136"};if(v)throw{code:"D3136"};y&&(c.H=12===c.h?0:c.h,1===c.P&&(c.H+=12));var i=Date.UTC(c.Y,c.M,c.D,c.H,c.m,c.s,c.f);return(c.Z||c.z)&&(i-=60*(c.Z||c.z)*1e3),i}}var A=new RegExp("^\\d{4}(-[01]\\d)*(-[0-3]\\d)*(T[0-2]\\d:[0-5]\\d:[0-5]\\d)*(\\.\\d+)?([+-][0-2]\\d:?[0-5]\\d|Z)?$");return{formatInteger:l,parseInteger:function(t,e){if(void 0!==t)return P(v(e)).parse(t)},fromMillis:function(t,e,r){if(void 0!==t)return S.call(this,t,e,r)},toMillis:function(t,e){if(void 0!==t){if(void 0===e){if(!A.test(t))throw{stack:(new Error).stack,code:"D3110",value:t};return Date.parse(t)}return E.call(this,t,e)}}}}();e.exports=o},{"./utils":6}],2:[function(t,e,r){(function(r){(function(){var n=t("./utils");const o=(()=>{var t=n.isNumeric,e=n.isArrayOfStrings,o=n.isArrayOfNumbers,i=n.createSequence,a=n.isSequence,s=n.isFunction,u=n.isLambda,c=n.isPromise,l=n.getFunctionArity,f=n.isDeepEqual,p=n.stringToArray;function h(t,e,r){if(void 0!==t){var n=p(t),o=n.length;if(o+e<0&&(e=0),void 0!==r){if(r<=0)return"";var i=e>=0?e+r:o+e+r;return n.slice(e,i).join("")}return n.slice(e).join("")}}function d(t){if(void 0!==t)return p(t).length}async function v(t,e){var r=t.apply(this,[e]);if(c(r)&&(r=await r),r&&"number"!=typeof r.start&&"number"!==r.end&&!Array.isArray(r.groups)&&!s(r.next))throw{code:"T1010",stack:(new Error).stack};return r}function y(t,e){var r;if(void 0!==t){if(e){var n=t.toString().split("e");t=+(n[0]+"e"+(n[1]?+n[1]+e:e))}var o=(r=Math.round(t))-t;return.5===Math.abs(o)&&1===Math.abs(r%2)&&(r-=1),e&&(n=r.toString().split("e"),r=+(n[0]+"e"+(n[1]?+n[1]-e:-e))),Object.is(r,-0)&&(r=0),r}}function g(e){if(void 0!==e){var r=!1;return Array.isArray(e)?1===e.length?r=g(e[0]):e.length>1&&(r=e.filter((function(t){return g(t)})).length>0):"string"==typeof e?e.length>0&&(r=!0):t(e)?0!==e&&(r=!0):null!==e&&"object"==typeof e?Object.keys(e).length>0&&(r=!0):"boolean"==typeof e&&!0===e&&(r=!0),r}}function m(t,e,r,n){var o=[e],i=l(t);return i>=2&&o.push(r),i>=3&&o.push(n),o}function b(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=i(t)),Array.isArray(e)||(e=[e]),t.concat(e))}return{sum:function(t){if(void 0!==t){var e=0;return t.forEach((function(t){e+=t})),e}},count:function(t){return void 0===t?0:t.length},max:function(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)},min:function(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)},average:function(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach((function(t){e+=t})),e/t.length}},string:function(e,r=!1){if(void 0!==e){var n;if("string"==typeof e)n=e;else if(s(e))n="";else{if("number"==typeof e&&!isFinite(e))throw{code:"D3001",value:e,stack:(new Error).stack};var o=r?2:0;Array.isArray(e)&&e.outerWrapper&&(e=e[0]),n=JSON.stringify(e,(function(e,r){return null!=r&&r.toPrecision&&t(r)?Number(r.toPrecision(15)):r&&s(r)?"":r}),o)}return n}},substring:h,substringBefore:function(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(0,r):t}},substringAfter:function(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(r+e.length):t}},lowercase:function(t){if(void 0!==t)return t.toLowerCase()},uppercase:function(t){if(void 0!==t)return t.toUpperCase()},length:d,trim:function(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}},pad:function(t,e,r){if(void 0!==t){var n;void 0!==r&&0!==r.length||(r=" ");var o=Math.abs(e)-d(t);if(o>0){var i=new Array(o+1).join(r);r.length>1&&(i=h(i,0,o)),n=e>0?t+i:i+t}else n=t;return n}},match:async function(t,e,r){if(void 0!==t){if(r<0)throw{stack:(new Error).stack,value:r,code:"D3040",index:3};var n=i();if(void 0===r||r>0){var o=0,a=await v(e,t);if(void 0!==a)for(;void 0!==a&&(void 0===r||o<r);)n.push({match:a.match,index:a.start,groups:a.groups}),a=await v(a.next),o++}return n}},contains:async function(t,e){if(void 0!==t)return"string"==typeof e?-1!==t.indexOf(e):void 0!==await v(e,t)},replace:async function(t,e,r,n){if(void 0!==t){var o;if(""===e)throw{code:"D3010",stack:(new Error).stack,value:e,index:2};if(n<0)throw{code:"D3011",stack:(new Error).stack,value:n,index:4};o="string"==typeof r?function(t){for(var e="",n=0,o=r.indexOf("$",n);-1!==o&&n<r.length;){e+=r.substring(n,o),n=o+1;var i=r.charAt(n);if("$"===i)e+="$",n++;else if("0"===i)e+=t.match,n++;else{var a;if(a=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,o=parseInt(r.substring(n,n+a),10),a>1&&o>t.groups.length&&(o=parseInt(r.substring(n,n+a-1),10)),isNaN(o))e+="$";else{if(t.groups.length>0){var s=t.groups[o-1];void 0!==s&&(e+=s)}n+=o.toString().length}}o=r.indexOf("$",n)}return e+r.substring(n)}:r;var i="",a=0;if(void 0===n||n>0){var s=0;if("string"==typeof e){for(var u=t.indexOf(e,a);-1!==u&&(void 0===n||s<n);)i+=t.substring(a,u),i+=r,a=u+e.length,s++,u=t.indexOf(e,a);i+=t.substring(a)}else{var l=await v(e,t);if(void 0!==l){for(;void 0!==l&&(void 0===n||s<n);){i+=t.substring(a,l.start);var f=o.apply(this,[l]);if(c(f)&&(f=await f),"string"!=typeof f)throw{code:"D3012",stack:(new Error).stack,value:f};i+=f,a=l.start+l.match.length,s++,l=await v(l.next)}i+=t.substring(a)}else i=t}}else i=t;return i}},split:async function(t,e,r){if(void 0!==t){if(r<0)throw{code:"D3020",stack:(new Error).stack,value:r,index:3};var n=[];if(void 0===r||r>0)if("string"==typeof e)n=t.split(e,r);else{var o=0,i=await v(e,t);if(void 0!==i){for(var a=0;void 0!==i&&(void 0===r||o<r);)n.push(t.substring(a,i.start)),a=i.end,i=await v(i.next),o++;(void 0===r||o<r)&&n.push(t.substring(a))}else n.push(t)}return n}},join:function(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)},formatNumber:function(t,e,r){if(void 0!==t){var n={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==r&&Object.keys(r).forEach((function(t){n[t]=r[t]}));for(var o=[],i=n["zero-digit"].charCodeAt(0),a=i;a<i+10;a++)o.push(String.fromCharCode(a));var s=o.concat([n["decimal-separator"],n["exponent-separator"],n["grouping-separator"],n.digit,n["pattern-separator"]]),u=e.split(n["pattern-separator"]);if(u.length>2)throw{code:"D3080",stack:(new Error).stack};var c=u.map((function(t){var e,r,o,i,a=function(){for(var e,r=0;r<t.length;r++)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(0,r)}(),u=function(){for(var e,r=t.length-1;r>=0;r--)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(r+1)}(),c=t.substring(a.length,t.length-u.length),l=t.indexOf(n["exponent-separator"],a.length);-1===l||l>t.length-u.length?(e=c,r=void 0):(e=c.substring(0,l),r=c.substring(l+1));var f=e.indexOf(n["decimal-separator"]);return-1===f?(o=e,i=u):(o=e.substring(0,f),i=e.substring(f+1)),{prefix:a,suffix:u,activePart:c,mantissaPart:e,exponentPart:r,integerPart:o,fractionalPart:i,subpicture:t}}));c.forEach((function(t){var e,r,i=t.subpicture,a=i.indexOf(n["decimal-separator"]);a!==i.lastIndexOf(n["decimal-separator"])&&(e="D3081"),i.indexOf(n.percent)!==i.lastIndexOf(n.percent)&&(e="D3082"),i.indexOf(n["per-mille"])!==i.lastIndexOf(n["per-mille"])&&(e="D3083"),-1!==i.indexOf(n.percent)&&-1!==i.indexOf(n["per-mille"])&&(e="D3084");var u=!1;for(r=0;r<t.mantissaPart.length;r++){var c=t.mantissaPart.charAt(r);if(-1!==o.indexOf(c)||c===n.digit){u=!0;break}}u||(e="D3085"),-1!==t.activePart.split("").map((function(t){return-1===s.indexOf(t)?"p":"a"})).join("").indexOf("p")&&(e="D3086"),-1!==a?i.charAt(a-1)!==n["grouping-separator"]&&i.charAt(a+1)!==n["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===n["grouping-separator"]&&(e="D3088"),-1!==i.indexOf(n["grouping-separator"]+n["grouping-separator"])&&(e="D3089");var l=t.integerPart.indexOf(n.digit);-1!==l&&t.integerPart.substring(0,l).split("").filter((function(t){return o.indexOf(t)>-1})).length>0&&(e="D3090"),-1!==(l=t.fractionalPart.lastIndexOf(n.digit))&&t.fractionalPart.substring(l).split("").filter((function(t){return o.indexOf(t)>-1})).length>0&&(e="D3091");var f="string"==typeof t.exponentPart;if(f&&t.exponentPart.length>0&&(-1!==i.indexOf(n.percent)||-1!==i.indexOf(n["per-mille"]))&&(e="D3092"),f&&(0===t.exponentPart.length||t.exponentPart.split("").filter((function(t){return-1===o.indexOf(t)})).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}}));var l,f,p,h,d=c.map((function(t){var e=function(e,r){for(var i=[],a=e.indexOf(n["grouping-separator"]);-1!==a;){var s=(r?e.substring(0,a):e.substring(a)).split("").filter((function(t){return-1!==o.indexOf(t)||t===n.digit})).length;i.push(s),a=t.integerPart.indexOf(n["grouping-separator"],a+1)}return i},r=e(t.integerPart),i=function(t){if(0===t.length)return 0;for(var e=function(t,r){return 0===r?t:e(r,t%r)},r=t.reduce(e),n=1;n<=t.length;n++)if(-1===t.indexOf(n*r))return 0;return r}(r),a=e(t.fractionalPart,!0),s=t.integerPart.split("").filter((function(t){return-1!==o.indexOf(t)})).length,u=s,c=t.fractionalPart.split(""),l=c.filter((function(t){return-1!==o.indexOf(t)})).length,f=c.filter((function(t){return-1!==o.indexOf(t)||t===n.digit})).length,p="string"==typeof t.exponentPart;0===s&&0===f&&(p?(l=1,f=1):s=1),p&&0===s&&-1!==t.integerPart.indexOf(n.digit)&&(s=1),0===s&&0===l&&(l=1);var h=0;return p&&(h=t.exponentPart.split("").filter((function(t){return-1!==o.indexOf(t)})).length),{integerPartGroupingPositions:r,regularGrouping:i,minimumIntegerPartSize:s,scalingFactor:u,prefix:t.prefix,fractionalPartGroupingPositions:a,minimumFactionalPartSize:l,maximumFactionalPartSize:f,minimumExponentSize:h,suffix:t.suffix,picture:t.subpicture}})),v=n["minus-sign"],g=n["zero-digit"],m=n["decimal-separator"],b=n["grouping-separator"];if(1===d.length&&(d.push(JSON.parse(JSON.stringify(d[0]))),d[1].prefix=v+d[1].prefix),f=-1!==(l=t>=0?d[0]:d[1]).picture.indexOf(n.percent)?100*t:-1!==l.picture.indexOf(n["per-mille"])?1e3*t:t,0===l.minimumExponentSize)p=f;else{var w=Math.pow(10,l.scalingFactor),x=Math.pow(10,l.scalingFactor-1);for(p=f,h=0;p<x;)p*=10,h-=1;for(;p>w;)p/=10,h+=1}var k=function(t,e){var r=Math.abs(t).toFixed(e);return"0"!==g&&(r=r.split("").map((function(t){return t>="0"&&t<="9"?o[t.charCodeAt(0)-48]:t})).join("")),r},_=k(y(p,l.maximumFactionalPartSize),l.maximumFactionalPartSize),j=_.indexOf(".");for(-1===j?_+=m:_=_.replace(".",m);_.charAt(0)===g;)_=_.substring(1);for(;_.charAt(_.length-1)===g;)_=_.substring(0,_.length-1);j=_.indexOf(m);var O=l.minimumIntegerPartSize-j,S=l.minimumFactionalPartSize-(_.length-j-1);if(_=(O>0?new Array(O+1).join(g):"")+_,_+=S>0?new Array(S+1).join(g):"",j=_.indexOf(m),l.regularGrouping>0)for(var P=Math.floor((j-1)/l.regularGrouping),E=1;E<=P;E++)_=[_.slice(0,j-E*l.regularGrouping),b,_.slice(j-E*l.regularGrouping)].join("");else l.integerPartGroupingPositions.forEach((function(t){_=[_.slice(0,j-t),b,_.slice(j-t)].join(""),j++}));if(j=_.indexOf(m),l.fractionalPartGroupingPositions.forEach((function(t){_=[_.slice(0,t+j+1),b,_.slice(t+j+1)].join("")})),j=_.indexOf(m),-1!==l.picture.indexOf(m)&&j!==_.length-1||(_=_.substring(0,_.length-1)),void 0!==h){var A=k(h,0);(O=l.minimumExponentSize-A.length)>0&&(A=new Array(O+1).join(g)+A),_=_+n["exponent-separator"]+(h<0?v:"")+A}return _=l.prefix+_+l.suffix}},formatBase:function(t,e){if(void 0!==t){if(t=y(t),(e=void 0===e?10:y(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}},number:function(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if("string"==typeof t&&/^(0[xX][0-9A-Fa-f]+)|(0[oO][0-7]+)|(0[bB][0-1]+)$/.test(t))e=Number(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}},floor:function(t){if(void 0!==t)return Math.floor(t)},ceil:function(t){if(void 0!==t)return Math.ceil(t)},round:y,abs:function(t){if(void 0!==t)return Math.abs(t)},sqrt:function(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}},power:function(t,e){var r;if(void 0!==t){if(r=Math.pow(t,e),!isFinite(r))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return r}},random:function(){return Math.random()},boolean:g,not:function(t){if(void 0!==t)return!g(t)},map:async function(t,e){if(void 0!==t){for(var r=i(),n=0;n<t.length;n++){var o=m(e,t[n],n,t),a=await e.apply(this,o);void 0!==a&&r.push(a)}return r}},zip:function(){for(var t=[],e=Array.prototype.slice.call(arguments),r=Math.min.apply(Math,e.map((function(t){return Array.isArray(t)?t.length:0}))),n=0;n<r;n++){var o=e.map((t=>t[n]));t.push(o)}return t},filter:async function(t,e){if(void 0!==t){for(var r=i(),n=0;n<t.length;n++){var o=t[n],a=m(e,o,n,t);g(await e.apply(this,a))&&r.push(o)}return r}},single:async function(t,e){if(void 0!==t){for(var r,n=!1,o=0;o<t.length;o++){var i=t[o],a=!0;if(void 0!==e){var s=m(e,i,o,t);a=g(await e.apply(this,s))}if(a){if(n)throw{stack:(new Error).stack,code:"D3138",index:o};r=i,n=!0}}if(!n)throw{stack:(new Error).stack,code:"D3139"};return r}},foldLeft:async function(t,e,r){if(void 0!==t){var n,o,i=l(e);if(i<2)throw{stack:(new Error).stack,code:"D3050",index:1};for(void 0===r&&t.length>0?(n=t[0],o=1):(n=r,o=0);o<t.length;){var a=[n,t[o]];i>=3&&a.push(o),i>=4&&a.push(t),n=await e.apply(this,a),o++}return n}},sift:async function(t,e){var r={};for(var n in t){var o=t[n],i=m(e,o,n,t);g(await e.apply(this,i))&&(r[n]=o)}return 0===Object.keys(r).length&&(r=void 0),r},keys:function t(e){var r=i();if(Array.isArray(e)){var n={};e.forEach((function(e){t(e).forEach((function(t){n[t]=!0}))})),r=t(n)}else null===e||"object"!=typeof e||u(e)||Object.keys(e).forEach((t=>r.push(t)));return r},lookup:function t(e,r){var n;if(Array.isArray(e)){n=i();for(var o=0;o<e.length;o++){var a=t(e[o],r);void 0!==a&&(Array.isArray(a)?a.forEach((t=>n.push(t))):n.push(a))}}else null!==e&&"object"==typeof e&&(n=e[r]);return n},append:b,exists:function(t){return void 0!==t},spread:function t(e){var r=i();if(Array.isArray(e))e.forEach((function(e){r=b(r,t(e))}));else if(null===e||"object"!=typeof e||u(e))r=e;else for(var n in e){var o={};o[n]=e[n],r.push(o)}return r},merge:function(t){if(void 0!==t){var e={};return t.forEach((function(t){for(var r in t)e[r]=t[r]})),e}},reverse:function(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,r=new Array(e),n=0;n<e;n++)r[e-n-1]=t[n];return r}},each:async function(t,e){var r=i();for(var n in t){var o=m(e,t[n],n,t),a=await e.apply(this,o);void 0!==a&&r.push(a)}return r},error:function(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}},assert:function(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}},type:function(e){if(void 0!==e)return null===e?"null":t(e)?"number":"string"==typeof e?"string":"boolean"==typeof e?"boolean":Array.isArray(e)?"array":s(e)?"function":"object"},sort:async function(t,r){if(void 0!==t){if(t.length<=1)return t;var n;if(void 0===r){if(!o(t)&&!e(t))throw{stack:(new Error).stack,code:"D3070",index:1};n=async function(t,e){return t>e}}else n=r;var i=async function(t){if(!Array.isArray(t)||t.length<=1)return t;var e=Math.floor(t.length/2),r=t.slice(0,e),o=t.slice(e);return r=await i(r),o=await i(o),await async function(t,e){var r=async function(t,e,o){0===e.length?Array.prototype.push.apply(t,o):0===o.length?Array.prototype.push.apply(t,e):await n(e[0],o[0])?(t.push(o[0]),await r(t,e,o.slice(1))):(t.push(e[0]),await r(t,e.slice(1),o))},o=[];return await r(o,t,e),o}(r,o)};return await i(t)}},shuffle:function(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),r=0;r<t.length;r++){var n=Math.floor(Math.random()*(r+1));r!==n&&(e[r]=e[n]),e[n]=t[r]}return e}},distinct:function(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=a(t)?i():[],r=0;r<t.length;r++){for(var n=t[r],o=!1,s=0;s<e.length;s++)if(f(n,e[s])){o=!0;break}o||e.push(n)}return e}},base64encode:function(t){if(void 0!==t){var e="undefined"!=typeof window?window.btoa:function(t){return new r.Buffer.from(t,"binary").toString("base64")};return e(t)}},base64decode:function(t){if(void 0!==t){var e="undefined"!=typeof window?window.atob:function(t){return new r.Buffer.from(t,"base64").toString("binary")};return e(t)}},encodeUrlComponent:function(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}},encodeUrl:function(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}},decodeUrlComponent:function(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}},decodeUrl:function(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}}})();e.exports=o}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,r){var n=t("./datetime"),o=t("./functions"),i=t("./utils"),a=t("./parser"),s=t("./signature"),u=function(){var t=i.isNumeric,e=i.isArrayOfStrings,r=i.isArrayOfNumbers,u=i.createSequence,c=i.isSequence,l=i.isFunction,f=i.isLambda,p=i.isIterable,h=i.isPromise,d=i.getFunctionArity,v=i.isDeepEqual,y=F(null);async function g(r,n,i){var a,s=i.lookup("__evaluate_entry");switch(s&&await s(r,n,i),r.type){case"path":a=await async function(t,e,r){var n,o;n=Array.isArray(e)&&"variable"!==t.steps[0].type?e:u(e);for(var i=!1,a=void 0,s=0;s<t.steps.length;s++){var c=t.steps[s];if(c.tuple&&(i=!0),0===s&&c.consarray?o=await g(c,n,r):i?a=await x(c,n,a,r):o=await b(c,n,r,s===t.steps.length-1),!i&&(void 0===o||0===o.length))break;void 0===c.focus&&(n=o)}if(i)if(t.tuple)o=a;else for(o=u(),s=0;s<a.length;s++)o.push(a[s]["@"]);return t.keepSingletonArray&&(Array.isArray(o)&&o.cons&&!o.sequence&&(o=u(o)),o.keepSingleton=!0),t.hasOwnProperty("group")&&(o=await S(t.group,i?a:o,r)),o}(r,n,i);break;case"binary":a=await async function(e,r,n){var i,a=await g(e.lhs,r,n),s=e.value,u=async()=>await g(e.rhs,r,n);if("and"===s||"or"===s)try{return await async function(t,e,r){var n,o=O(t);switch(r){case"and":n=o&&O(await e());break;case"or":n=o||O(await e())}return n}(a,u,s)}catch(t){throw t.position=e.position,t.token=s,t}var c=await u();try{switch(s){case"+":case"-":case"*":case"/":case"%":i=function(e,r,n){var o;if(void 0!==e&&!t(e))throw{code:"T2001",stack:(new Error).stack,value:e};if(void 0!==r&&!t(r))throw{code:"T2002",stack:(new Error).stack,value:r};if(void 0===e||void 0===r)return o;switch(n){case"+":o=e+r;break;case"-":o=e-r;break;case"*":o=e*r;break;case"/":o=e/r;break;case"%":o=e%r}return o}(a,c,s);break;case"=":case"!=":i=function(t,e,r){var n;if(void 0===t||void 0===e)return!1;switch(r){case"=":n=v(t,e);break;case"!=":n=!v(t,e)}return n}(a,c,s);break;case"<":case"<=":case">":case">=":i=function(t,e,r){var n,o=typeof t,i=typeof e;if("undefined"!==o&&"string"!==o&&"number"!==o||"undefined"!==i&&"string"!==i&&"number"!==i)throw{code:"T2010",stack:(new Error).stack,value:"string"!==o&&"number"!==o?t:e};if("undefined"!==o&&"undefined"!==i){if(o!==i)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(r){case"<":n=t<e;break;case"<=":n=t<=e;break;case">":n=t>e;break;case">=":n=t>=e}return n}}(a,c,s);break;case"&":i=function(t,e){var r="",n="";return void 0!==t&&(r=o.string(t)),void 0!==e&&(n=o.string(e)),r.concat(n)}(a,c);break;case"..":i=function(t,e){var r;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;if(t>e)return r;var n=e-t+1;if(n>1e7)throw{code:"D2014",stack:(new Error).stack,value:n};r=new Array(n);for(var o=t,i=0;o<=e;o++,i++)r[i]=o;return r.sequence=!0,r}(a,c);break;case"in":i=function(t,e){var r=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++)if(e[n]===t){r=!0;break}return r}(a,c)}}catch(t){throw t.position=e.position,t.token=s,t}return i}(r,n,i);break;case"unary":a=await async function(e,r,n){var i;switch(e.value){case"-":if(void 0===(i=await g(e.expression,r,n)))i=void 0;else{if(!t(i))throw{code:"D1002",stack:(new Error).stack,position:e.position,token:e.value,value:i};i=-i}break;case"[":i=[];let u=await Promise.all(e.expressions.map((async(t,e)=>(n.isParallelCall=e>0,[t,await g(t,r,n)]))));for(let t of u){var[a,s]=t;void 0!==s&&("["===a.value?i.push(s):i=o.append(i,s))}e.consarray&&Object.defineProperty(i,"cons",{enumerable:!1,configurable:!1,value:!0});break;case"{":i=await S(e,r,n)}return i}(r,n,i);break;case"name":a=function(t,e,r){return o.lookup(e,t.value)}(r,n);break;case"string":case"number":case"value":a=function(t){return t.value}(r);break;case"wildcard":a=function(t,e){var r=u();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"==typeof e&&Object.keys(e).forEach((function(t){var n=e[t];Array.isArray(n)?(n=_(n),r=o.append(r,n)):r.push(n)})),r}(0,n);break;case"descendant":a=function(t,e){var r,n=u();return void 0!==e&&(j(e,n),r=1===n.length?n[0]:n),r}(0,n);break;case"parent":a=i.lookup(r.slot.label);break;case"condition":a=await async function(t,e,r){var n,i=await g(t.condition,e,r);return o.boolean(i)?n=await g(t.then,e,r):void 0!==t.else&&(n=await g(t.else,e,r)),n}(r,n,i);break;case"block":a=await async function(t,e,r){for(var n,o=F(r),i=0;i<t.expressions.length;i++)n=await g(t.expressions[i],e,o);return n}(r,n,i);break;case"bind":a=await async function(t,e,r){var n=await g(t.rhs,e,r);return r.bind(t.lhs.value,n),n}(r,n,i);break;case"regex":a=function(t){var e=new z.RegexEngine(t.value),r=function(n,o){var i;e.lastIndex=o||0;var a=e.exec(n);if(null!==a){if(i={match:a[0],start:a.index,end:a.index+a[0].length,groups:[]},a.length>1)for(var s=1;s<a.length;s++)i.groups.push(a[s]);i.next=function(){if(!(e.lastIndex>=n.length)){var o=r(n,e.lastIndex);if(o&&""===o.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return o}}}return i};return r}(r);break;case"function":a=await A(r,n,i);break;case"variable":a=function(t,e,r){return""===t.value?e&&e.outerWrapper?e[0]:e:r.lookup(t.value)}(r,n,i);break;case"lambda":a=function(t,e,r){var n={_jsonata_lambda:!0,input:e,environment:r,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(n.thunk=!0),n.apply=async function(t,o){return await T(n,o,e,t?t.environment:r)},n}(r,n,i);break;case"partial":a=await async function(t,e,r){for(var n,o=[],i=0;i<t.arguments.length;i++){var a=t.arguments[i];"operator"===a.type&&"?"===a.value?o.push(a):o.push(await g(a,e,r))}var s=await g(t.procedure,e,r);if(void 0===s&&"path"===t.procedure.type&&r.lookup(t.procedure.steps[0].value))throw{code:"T1007",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};if(f(s))n=L(s,o);else if(s&&!0===s._jsonata_function)n=C(s.implementation,o);else{if("function"!=typeof s)throw{code:"T1008",stack:(new Error).stack,position:t.position,token:"path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value};n=C(s,o)}return n}(r,n,i);break;case"apply":a=await async function(t,e,r){var n,o=await g(t.lhs,e,r);if("function"===t.rhs.type)n=await A(t.rhs,e,r,{context:o});else{var i=await g(t.rhs,e,r);if(!l(i))throw{code:"T2006",stack:(new Error).stack,position:t.position,value:i};if(l(o)){var a=await g(E,null,r);n=await T(a,[o,i],null,r)}else n=await T(i,[o],null,r)}return n}(r,n,i);break;case"transform":a=function(t,r,n){return N((async function(r){if(void 0!==r){var o=n.lookup("clone");if(!l(o))throw{code:"T2013",stack:(new Error).stack,position:t.position};var i=await T(o,[r],null,n),a=await g(t.pattern,i,n);if(void 0!==a){Array.isArray(a)||(a=[a]);for(var s=0;s<a.length;s++){var u=a[s];if(u&&(u.isPrototypeOf(i)||u instanceof Object.constructor))throw{code:"D1010",stack:(new Error).stack,position:t.position};var c=await g(t.update,u,n),f=typeof c;if("undefined"!==f){if("object"!==f||null===c||Array.isArray(c))throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:c};for(var p in c)u[p]=c[p]}if(void 0!==t.delete){var h=await g(t.delete,u,n);if(void 0!==h){var d=h;if(Array.isArray(h)||(h=[h]),!e(h))throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:d};for(var v=0;v<h.length;v++)"object"==typeof u&&null!==u&&delete u[h[v]]}}}}return i}}),"<(oa):o>")}(r,0,i)}if(Object.prototype.hasOwnProperty.call(r,"predicate"))for(var p=0;p<r.predicate.length;p++)a=await k(r.predicate[p].expr,a,i);"path"!==r.type&&Object.prototype.hasOwnProperty.call(r,"group")&&(a=await S(r.group,a,i));var h=i.lookup("__evaluate_exit");return h&&await h(r,n,i,a),a&&c(a)&&!a.tupleStream&&(r.keepArray&&(a.keepSingleton=!0),0===a.length?a=void 0:1===a.length&&(a=a.keepSingleton?a:a[0])),a}function m(t,e){var r=F(t);for(const t in e)r.bind(t,e[t]);return r}async function b(t,e,r,n){var o;if("sort"===t.type)return o=await P(t,e,r),t.stages&&(o=await w(t.stages,o,r)),o;o=u();for(var i=0;i<e.length;i++){var a=await g(t,e[i],r);if(t.stages)for(var s=0;s<t.stages.length;s++)a=await k(t.stages[s].expr,a,r);void 0!==a&&o.push(a)}var l=u();return n&&1===o.length&&Array.isArray(o[0])&&!c(o[0])?l=o[0]:o.forEach((function(t){!Array.isArray(t)||t.cons?l.push(t):t.forEach((t=>l.push(t)))})),l}async function w(t,e,r){for(var n=e,o=0;o<t.length;o++){var i=t[o];switch(i.type){case"filter":n=await k(i.expr,n,r);break;case"index":for(var a=0;a<n.length;a++)n[a][i.value]=a}}return n}async function x(t,e,r,n){var o;if("sort"===t.type){if(r)o=await P(t,r,n);else{var i=await P(t,e,n);(o=u()).tupleStream=!0;for(var a=0;a<i.length;a++){var s={"@":i[a]};s[t.index]=a,o.push(s)}}return t.stages&&(o=await w(t.stages,o,n)),o}(o=u()).tupleStream=!0;var c=n;void 0===r&&(r=e.map((t=>({"@":t}))));for(var l=0;l<r.length;l++){c=m(n,r[l]);var f=await g(t,r[l]["@"],c);if(void 0!==f){Array.isArray(f)||(f=[f]);for(var p=0;p<f.length;p++)s={},Object.assign(s,r[l]),f.tupleStream?Object.assign(s,f[p]):(t.focus?(s[t.focus]=f[p],s["@"]=r[l]["@"]):s["@"]=f[p],t.index&&(s[t.index]=p),t.ancestor&&(s[t.ancestor.label]=r[l]["@"])),o.push(s)}}return t.stages&&(o=await w(t.stages,o,n)),o}async function k(e,n,i){var a=u();if(n&&n.tupleStream&&(a.tupleStream=!0),Array.isArray(n)||(n=u(n)),"number"===e.type){var s=Math.floor(e.value);s<0&&(s=n.length+s),void 0!==(c=n[s])&&(Array.isArray(c)?a=c:a.push(c))}else for(s=0;s<n.length;s++){var c,l=c=n[s],f=i;n.tupleStream&&(l=c["@"],f=m(i,c));var p=await g(e,l,f);t(p)&&(p=[p]),r(p)?p.forEach((function(t){var e=Math.floor(t);e<0&&(e=n.length+e),e===s&&a.push(c)})):o.boolean(p)&&a.push(c)}return a}function _(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach((function(t){_(t,e)})):e.push(t),e}function j(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach((function(t){j(t,e)})):null!==t&&"object"==typeof t&&Object.keys(t).forEach((function(r){j(t[r],e)}))}function O(t){var e=o.boolean(t);return void 0!==e&&e}async function S(t,e,r){var n={},i={},a=!(!e||!e.tupleStream);Array.isArray(e)||(e=u(e)),0===e.length&&e.push(void 0);for(var s=0;s<e.length;s++)for(var c=e[s],l=a?m(r,c):r,f=0;f<t.lhs.length;f++){var p,h=t.lhs[f];if("string"!=typeof(p=await g(h[0],a?c["@"]:c,l))&&void 0!==p)throw{code:"T1003",stack:(new Error).stack,position:t.position,value:p};if(void 0!==p){var d={data:c,exprIndex:f};if(i.hasOwnProperty(p)){if(i[p].exprIndex!==f)throw{code:"D1009",stack:(new Error).stack,position:t.position,value:p};i[p].data=o.append(i[p].data,c)}else i[p]=d}}let v=await Promise.all(Object.keys(i).map((async(e,n)=>{let s=i[e];var u=s.data,c=r;if(a){var l=function(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var r=1;r<t.length;r++)for(const n in t[r])e[n]=o.append(e[n],t[r][n]);return e}(s.data);u=l["@"],delete l["@"],c=m(r,l)}return r.isParallelCall=n>0,[e,await g(t.lhs[s.exprIndex][1],u,c)]})));for(let t of v){var[p,y]=await t;void 0!==y&&(n[p]=y)}return n}async function P(t,e,r){var n=e,i=!!e.tupleStream,a={environment:r,input:e};return await o.sort.apply(a,[n,async function(e,n){for(var o=0,a=0;0===o&&a<t.terms.length;a++){var s=t.terms[a],u=e,c=r;i&&(u=e["@"],c=m(r,e));var l=await g(s.expression,u,c);u=n,c=r,i&&(u=n["@"],c=m(r,n));var f=await g(s.expression,u,c),p=typeof l,h=typeof f;if("undefined"!==p)if("undefined"!==h){if("string"!==p&&"number"!==p||"string"!==h&&"number"!==h)throw{code:"T2008",stack:(new Error).stack,position:t.position,value:"string"!==p&&"number"!==p?l:f};if(p!==h)throw{code:"T2007",stack:(new Error).stack,position:t.position,value:l,value2:f};l!==f&&(o=l<f?-1:1,!0===s.descending&&(o=-o))}else o=-1;else o="undefined"===h?0:1}return 1===o}])}var E=a("function($f, $g) { function($x){ $g($f($x)) } }");async function A(t,e,r,n){var o,i=await g(t.procedure,e,r);if(void 0===i&&"path"===t.procedure.type&&r.lookup(t.procedure.steps[0].value))throw{code:"T1005",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};var a=[];void 0!==n&&a.push(n.context);for(var s=0;s<t.arguments.length;s++){const n=await g(t.arguments[s],e,r);if(l(n)){const t=async function(...t){return await T(n,t,null,r)};t.arity=d(n),a.push(t)}else a.push(n)}var u="path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value;try{"object"==typeof i&&(i.token=u,i.position=t.position),o=await T(i,a,e,r)}catch(e){throw e.position||(e.position=t.position),e.token||(e.token=u),e}return o}async function T(t,e,r,n){var o;for(o=await I(t,e,r,n);f(o)&&!0===o.thunk;){var i=await g(o.body.procedure,o.input,o.environment);"variable"===o.body.procedure.type&&(i.token=o.body.procedure.value),i.position=o.body.procedure.position;for(var a=[],s=0;s<o.body.arguments.length;s++)a.push(await g(o.body.arguments[s],o.input,o.environment));o=await I(i,a,r,n)}return o}async function I(t,e,r,n){var o;try{var i=e;if(t&&(i=function(t,e,r){return void 0===t?e:t.validate(e,r)}(t.signature,e,r)),f(t))o=await async function(t,e){var r=F(t.environment);return t.arguments.forEach((function(t,n){r.bind(t.value,e[n])})),"function"==typeof t.body?await async function(t,e){var r=D(t).map((function(t){return e.lookup(t.trim())})),n={environment:e},o=t.apply(n,r);return h(o)&&(o=await o),o}(t.body,r):await g(t.body,t.input,r)}(t,i);else if(t&&!0===t._jsonata_function){var a={environment:n,input:r};o=t.implementation.apply(a,i),p(o)&&(o=o.next().value),h(o)&&(o=await o)}else{if("function"!=typeof t)throw{code:"T1006",stack:(new Error).stack};o=t.apply(r,i),h(o)&&(o=await o)}}catch(e){throw t&&(void 0===e.token&&void 0!==t.token&&(e.token=t.token),e.position=t.position||e.position),e}return o}function L(t,e){var r=F(t.environment),n=[];return t.arguments.forEach((function(t,o){var i=e[o];i&&"operator"===i.type&&"?"===i.value?n.push(t):r.bind(t.value,i)})),{_jsonata_lambda:!0,input:t.input,environment:r,arguments:n,body:t.body}}function C(t,e){var r=D(t),n="function("+(r=r.map((function(t){return"$"+t.trim()}))).join(", ")+"){ _ }",o=a(n);return o.body=t,L(o,e)}function D(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function N(t,e){var r={_jsonata_function:!0,implementation:t};return void 0!==e&&(r.signature=s(e)),r}function F(t){var e={};return{bind:function(t,r){e[t]=r},lookup:function(r){var n;return e.hasOwnProperty(r)?n=e[r]:t&&(n=t.lookup(r)),n},timestamp:t?t.timestamp:null,async:!!t&&t.async,isParallelCall:!!t&&t.isParallelCall,global:t?t.global:{ancestry:[null]}}}y.bind("sum",N(o.sum,"<a<n>:n>")),y.bind("count",N(o.count,"<a:n>")),y.bind("max",N(o.max,"<a<n>:n>")),y.bind("min",N(o.min,"<a<n>:n>")),y.bind("average",N(o.average,"<a<n>:n>")),y.bind("string",N(o.string,"<x-b?:s>")),y.bind("substring",N(o.substring,"<s-nn?:s>")),y.bind("substringBefore",N(o.substringBefore,"<s-s:s>")),y.bind("substringAfter",N(o.substringAfter,"<s-s:s>")),y.bind("lowercase",N(o.lowercase,"<s-:s>")),y.bind("uppercase",N(o.uppercase,"<s-:s>")),y.bind("length",N(o.length,"<s-:n>")),y.bind("trim",N(o.trim,"<s-:s>")),y.bind("pad",N(o.pad,"<s-ns?:s>")),y.bind("match",N(o.match,"<s-f<s:o>n?:a<o>>")),y.bind("contains",N(o.contains,"<s-(sf):b>")),y.bind("replace",N(o.replace,"<s-(sf)(sf)n?:s>")),y.bind("split",N(o.split,"<s-(sf)n?:a<s>>")),y.bind("join",N(o.join,"<a<s>s?:s>")),y.bind("formatNumber",N(o.formatNumber,"<n-so?:s>")),y.bind("formatBase",N(o.formatBase,"<n-n?:s>")),y.bind("formatInteger",N(n.formatInteger,"<n-s:s>")),y.bind("parseInteger",N(n.parseInteger,"<s-s:n>")),y.bind("number",N(o.number,"<(nsb)-:n>")),y.bind("floor",N(o.floor,"<n-:n>")),y.bind("ceil",N(o.ceil,"<n-:n>")),y.bind("round",N(o.round,"<n-n?:n>")),y.bind("abs",N(o.abs,"<n-:n>")),y.bind("sqrt",N(o.sqrt,"<n-:n>")),y.bind("power",N(o.power,"<n-n:n>")),y.bind("random",N(o.random,"<:n>")),y.bind("boolean",N(o.boolean,"<x-:b>")),y.bind("not",N(o.not,"<x-:b>")),y.bind("map",N(o.map,"<af>")),y.bind("zip",N(o.zip,"<a+>")),y.bind("filter",N(o.filter,"<af>")),y.bind("single",N(o.single,"<af?>")),y.bind("reduce",N(o.foldLeft,"<afj?:j>")),y.bind("sift",N(o.sift,"<o-f?:o>")),y.bind("keys",N(o.keys,"<x-:a<s>>")),y.bind("lookup",N(o.lookup,"<x-s:x>")),y.bind("append",N(o.append,"<xx:a>")),y.bind("exists",N(o.exists,"<x:b>")),y.bind("spread",N(o.spread,"<x-:a<o>>")),y.bind("merge",N(o.merge,"<a<o>:o>")),y.bind("reverse",N(o.reverse,"<a:a>")),y.bind("each",N(o.each,"<o-f:a>")),y.bind("error",N(o.error,"<s?:x>")),y.bind("assert",N(o.assert,"<bs?:x>")),y.bind("type",N(o.type,"<x:s>")),y.bind("sort",N(o.sort,"<af?:a>")),y.bind("shuffle",N(o.shuffle,"<a:a>")),y.bind("distinct",N(o.distinct,"<x:x>")),y.bind("base64encode",N(o.base64encode,"<s-:s>")),y.bind("base64decode",N(o.base64decode,"<s-:s>")),y.bind("encodeUrlComponent",N(o.encodeUrlComponent,"<s-:s>")),y.bind("encodeUrl",N(o.encodeUrl,"<s-:s>")),y.bind("decodeUrlComponent",N(o.decodeUrlComponent,"<s-:s>")),y.bind("decodeUrl",N(o.decodeUrl,"<s-:s>")),y.bind("eval",N((async function(t,e){if(void 0!==t){var r=this.input;void 0!==e&&(r=e,Array.isArray(r)&&!c(r)&&((r=u(r)).outerWrapper=!0));try{var n=a(t,!1)}catch(t){throw U(t),{stack:(new Error).stack,code:"D3120",value:t.message,error:t}}try{var o=await g(n,r,this.environment)}catch(t){throw U(t),{stack:(new Error).stack,code:"D3121",value:t.message,error:t}}return o}}),"<sx?:x>")),y.bind("toMillis",N(n.toMillis,"<s-s?:n>")),y.bind("fromMillis",N(n.fromMillis,"<n-s?s?:s>")),y.bind("clone",N((function(t){if(void 0!==t)return JSON.parse(o.string(t))}),"<(oa)-:o>"));var M={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type pa