/* Sutton SignWriting Core Module v1.4.2 (https://github.com/sutton-signwriting/core), author: Steve Slevinski (https://SteveSlevinski.me), license: MIT */ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});let e={symbol:"S[123][0-9a-f]{2}[0-5][0-9a-f]",coord:"[0-9]{3}x[0-9]{3}",sort:"A",box:"[BLMR]"};e.prefix=`(?:${e.sort}(?:${e.symbol})+)`,e.spatial=`${e.symbol}${e.coord}`,e.signbox=`${e.box}${e.coord}(?:${e.spatial})*`,e.sign=`${e.prefix}?${e.signbox}`,e.sortable=`${e.prefix}${e.signbox}`;let t={colorize:"C",colorhex:"(?:[0-9a-fA-F]{3}){1,2}",colorname:"[a-zA-Z]+",padding:"P[0-9]{2}",zoom:"Z(?:[0-9]+(?:\\.[0-9]+)?|x)",classbase:"-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}",id:"[a-zA-Z][_a-zA-Z0-9-]{0,100}"};t.colorbase=`(?:${t.colorhex}|${t.colorname})`,t.color=`_${t.colorbase}_`,t.colors=`_${t.colorbase}(?:,${t.colorbase})?_`,t.background=`G${t.color}`,t.detail=`D${t.colors}`,t.detailsym=`D[0-9]{2}${t.colors}`,t.classes=`${t.classbase}(?: ${t.classbase})*`,t.full=`-(${t.colorize})?(${t.padding})?(${t.background})?(${t.detail})?(${t.zoom})?(?:-((?:${t.detailsym})*))?(?:-(${t.classes})?!(?:(${t.id})!)?)?`;const r=e=>(new RegExp(`^${t.colorhex}$`).test(e)?"#":"")+e,s=e=>{const s=`^${t.full}`,o=("string"==typeof e?e.match(new RegExp(s)):[])||[];return n={colorize:o[1]?!!o[1]:void 0,padding:o[2]?parseInt(o[2].slice(1)):void 0,background:o[3]?r(o[3].slice(2,-1)):void 0,detail:o[4]?o[4].slice(2,-1).split(",").map(r):void 0,zoom:o[5]?"Zx"===o[5]?"x":parseFloat(o[5].slice(1)):void 0,detailsym:o[6]?o[6].match(new RegExp(t.detailsym,"g")).map((e=>{const t=e.split("_"),s=t[1].split(",").map(r);return{index:parseInt(t[0].slice(1)),detail:s}})):void 0,classes:o[7]?o[7]:void 0,id:o[8]?o[8]:void 0},Object.fromEntries(Object.entries(n).filter((([e,t])=>void 0!==t)));var n};var o=Object.freeze({__proto__:null,re:t,parse:s,compose:e=>{if("object"!=typeof e||null===e)return;let r="-";r+=e.colorize?"C":"";const s=parseInt(e.padding);r+=!s||s<=0||s>99?"":"P"+(s>9?s:"0"+s);const o=e.background&&"string"==typeof e.background?e.background.match(t.colorbase)[0]:void 0;r+=o?"G_"+o+"_":"";const n=e.detail&&e.detail[0]&&"string"==typeof e.detail[0]?e.detail[0].match(t.colorbase)[0]:void 0,i=e.detail&&e.detail[1]&&"string"==typeof e.detail[1]?e.detail[1].match(t.colorbase)[0]:void 0;n&&(r+="D_"+n,i&&(r+=","+i),r+="_");const a="x"===e.zoom?"x":parseFloat(e.zoom);r+=!a||a<=0?"":"Z"+a;let l="";const c=e.detailsym&&Array.isArray(e.detailsym)?e.detailsym.map((e=>{const r=parseInt(e.index);if(!r||r<=0||r>99)return"";let s="D"+(r>9?r:"0"+r);const o=e.detail&&e.detail[0]?e.detail[0].match(t.colorbase)[0]:void 0,n=e.detail&&e.detail[1]?e.detail[1].match(t.colorbase)[0]:void 0;return o&&(s+="_"+o,n&&(s+=","+n),s+="_"),s})):[];l+=c.join("");let p="";const u=e.classes&&"string"==typeof e.classes?e.classes.match(t.classes)[0]:void 0;p+=u||"";const f=e.id&&"string"==typeof e.id?e.id.match(t.id)[0]:void 0;return p+=u||f?"!":"",p+=f?f+"!":"",r+(l||p?"-"+l:"")+(p?"-"+p:"")}});let n={symbol:"(?:(?:\ud8c0[\udc01-\udfff])|(?:[\ud8c1-\ud8fc][\udc00-\udfff])|(?:\ud8fd[\udc00-\udc80]))",coord:"(?:\ud836[\udc0c-\uddff]){2}",sort:"𝠀",box:"\ud836[\udc01-\udc04]"};n.prefix=`(?:${n.sort}(?:${n.symbol})+)`,n.spatial=`${n.symbol}${n.coord}`,n.signbox=`${n.box}${n.coord}(?:${n.spatial})*`,n.sign=`${n.prefix}?${n.signbox}`,n.sortable=`${n.prefix}${n.signbox}`;const i=e=>({A:"𝠀",B:"𝠁",L:"𝠂",M:"𝠃",R:"𝠄"}[e]),a=e=>parseInt(e.codePointAt(0))-120844+250,l=e=>String.fromCodePoint(120844+parseInt(e)-250),c=e=>[a(e.slice(0,2)),a(e.slice(2,4))],p=e=>e.map((e=>l(e))).join(""),u=e=>e.split("x").map((e=>parseInt(e))),f=e=>parseInt(e.codePointAt(0)),d=e=>String.fromCodePoint(e),g=e=>{const t=f(e)-262145,r=parseInt(t/96),s=parseInt((t-96*r)/16),o=parseInt(t-96*r-16*s);return"S"+(r+256).toString(16)+s.toString(16)+o.toString(16)},m=e=>d(262145+96*(parseInt(e.slice(1,4),16)-256)+16*parseInt(e.slice(4,5),16)+parseInt(e.slice(5,6),16));var h=Object.freeze({__proto__:null,swu2mark:e=>({"𝠀":"A","𝠁":"B","𝠂":"L","𝠃":"M","𝠄":"R"}[e]),mark2swu:i,swu2num:a,num2swu:l,swu2coord:c,coord2swu:p,fsw2coord:u,coord2fsw:e=>e.join("x"),swu2code:f,code2swu:d,swu2id:e=>f(e)-262144,id2swu:e=>d(e+262144),key2id:e=>1+96*(parseInt(e.slice(1,4),16)-256)+16*parseInt(e.slice(4,5),16)+parseInt(e.slice(5,6),16),id2key:e=>{const t=e-1,r=parseInt(t/96),s=parseInt((t-96*r)/16),o=parseInt(t-96*r-16*s);return"S"+(r+256).toString(16)+s.toString(16)+o.toString(16)},swu2key:g,key2swu:m,swu2fsw:e=>{if(!e)return"";let t=e.replace(/𝠀/g,"A").replace(/𝠁/g,"B").replace(/𝠂/g,"L").replace(/𝠃/g,"M").replace(/𝠄/g,"R");const r=t.match(new RegExp(n.symbol,"g"));r&&r.forEach((function(e){t=t.replace(e,g(e))}));const s=t.match(new RegExp(n.coord,"g"));return s&&s.forEach((function(e){t=t.replace(e,c(e).join("x"))})),t},fsw2swu:t=>{if(!t)return"";const r=t.match(new RegExp(e.prefix,"g"));r&&r.forEach((function(e){t=t.replace(e,"𝠀"+e.slice(1).match(/.{6}/g).map((e=>m(e))).join(""))}));const s=t.match(new RegExp(e.box+e.coord,"g"));s&&s.forEach((function(e){t=t.replace(e,i(e.slice(0,1))+p(u(e.slice(1,8))))}));const o=t.match(new RegExp(e.spatial,"g"));return o&&o.forEach((function(e){t=t.replace(e,m(e.slice(0,6))+p(u(e.slice(6,13))))})),t}});const y={symbol:r=>{const s=`^(${e.symbol})(${e.coord})?(${t.full})?`,o="string"==typeof r?r.match(new RegExp(s)):void 0;return{symbol:o?o[1]:void 0,coord:o&&o[2]?u(o[2]):void 0,style:o?o[3]:void 0}},sign:r=>{const s=`^(${e.prefix})?(${e.signbox})(${t.full})?`,o="string"==typeof r?r.match(new RegExp(s)):void 0;return o?{sequence:o[1]?o[1].slice(1).match(/.{6}/g):void 0,box:o[2][0],max:u(o[2].slice(1,8)),spatials:o[2].length<9?void 0:o[2].slice(8).match(/(.{13})/g).map((e=>({symbol:e.slice(0,6),coord:[parseInt(e.slice(6,9)),parseInt(e.slice(10,13))]}))),style:o[3]}:{}},text:r=>{if("string"!=typeof r)return[];const s=`(${e.sign}(${t.full})?|${e.spatial}(${t.full})?)`,o=r.match(new RegExp(s,"g"));return o?[...o]:[]}},b={symbol:r=>{if("string"==typeof r.symbol){const s=(r.symbol.match(e.symbol)||[""])[0];if(s){return s+((((r.coord&&r.coord[0]||"").toString()+"x"+(r.coord&&r.coord[1]||"").toString()).match(e.coord)||[""])[0]||"")+("string"==typeof r.style&&(r.style.match(t.full)||[""])[0]||"")}}},sign:r=>{let s="string"!=typeof r.box?"M":(r.box+"M").match(e.box);const o=(((r.max&&r.max[0]||"").toString()+"x"+(r.max&&r.max[1]||"").toString()).match(e.coord)||[""])[0]||"";if(!o)return;let n="";r.sequence&&Array.isArray(r.sequence)&&(n=r.sequence.map((t=>(t.match(e.symbol)||[""])[0])).join(""),n=n?"A"+n:"");let i="";r.spatials&&Array.isArray(r.spatials)&&(i=r.spatials.map((t=>{if("string"==typeof t.symbol){const r=(t.symbol.match(e.symbol)||[""])[0];if(r){const s=(((t.coord&&t.coord[0]||"").toString()+"x"+(t.coord&&t.coord[1]||"").toString()).match(e.coord)||[""])[0]||"";if(s)return r+s}}return""})).join(""));return n+s+o+i+("string"==typeof r.style&&(r.style.match(t.full)||[""])[0]||"")}},x=e=>{let t,r,o,n,i,a,l,c,p=y.sign(e);p.spatials?(n=Math.min(...p.spatials.map((e=>e.coord[0]))),i=p.max[0],t=i-n,a=Math.min(...p.spatials.map((e=>e.coord[1]))),l=p.max[1],r=l-a,o="sign",c=p.box):(p=y.symbol(e),c="M",p.coord?(n=p.coord[0],t=2*(500-n),a=p.coord[1],r=2*(500-a),o="symbol"):(n=490,t=20,a=490,r=20,o="none"));let u=s(p.style),f=u.zoom||1,d=u.padding||0;return{minX:n,minY:a,width:t,height:r,segment:o,lane:{B:0,L:-1,M:0,R:1}[c],padding:d,zoom:f}},$={height:500,width:150,offset:50,pad:20,margin:5,dynamic:!1,background:void 0,punctuation:{spacing:!0,pad:30,pull:!0},style:{detail:["black","white"],zoom:1}},w=e=>("object"!=typeof e&&(e={}),{...$,...e,punctuation:{...$.punctuation,...e.punctuation},style:{...$.style,...e.style}}),v=[256,517,759,767,877,895,903],I={all:[256,907],writing:[256,894],hand:[256,516],movement:[517,758],dynamic:[759,766],head:[767,876],hcenter:[767,876],vcenter:[767,885],trunk:[877,885],limb:[886,894],location:[895,902],punctuation:[903,907]},A=["#0000CC","#CC0000","#FF0099","#006600","#000000","#884411","#FF9900"];var R=Object.freeze({__proto__:null,re:e,parse:y,compose:b,info:x,columnDefaults:$,columnDefaultsMerge:w,columns:(e,t)=>{if("string"!=typeof e)return{};const r=w(t);let s=y.text(e),o=0,n=[],i=[],a=0,l=parseInt(r.width/2),c=r.height-r.margin,p=!0,u=!1;for(let e of s){let t=x(e);o+=a,r.punctuation.spacing?o+="sign"==t.segment?r.pad:0:o+=r.pad,u=o+t.height>c,u&&"symbol"==t.segment&&r.punctuation.pull&&p&&(u=!1,p=!1),0==i.length&&(u=!1),u&&(o=r.pad,n.push(i),i=[],p=!0),i.push(Object.assign(t,{x:l+r.offset*t.lane-(500-t.minX)*t.zoom*r.style.zoom,y:o,text:e})),o+=t.height*t.zoom*r.style.zoom,a=r.punctuation.spacing?"sign"==t.segment?r.pad:r.punctuation.pad:r.pad}if(i.length&&n.push(i),r.punctuation.pull)for(let e of n){let t=e[e.length-1],s=t.y+t.height-(r.height-r.margin);if(s>0){let t=parseInt(s/e.length)+1;for(let r in e)e[r].y-=t*r+t}}let f=[];for(let e of n){let t=[l-r.offset-r.pad],s=[l+r.offset+r.pad];for(let o of e)t.push(o.x-r.pad),s.push(o.x+o.width+r.pad);t=Math.min(...t),s=Math.max(...s);let o=r.width,n=0;r.dynamic?(o=s-t,n=-t):n=l-parseInt((t+s)/2);for(let t of e)t.x+=n;f.push(o)}return{options:r,widths:f,columns:n}},kind:[256,895,903],category:v,group:[256,270,286,324,332,390,420,442,461,501,517,534,554,597,613,648,678,695,725,739,759,767,778,810,827,857,877,886,895,903],ranges:I,isType:(e,t)=>{const r=y.symbol(e);if(r.symbol){const e=parseInt(r.symbol.slice(1,4),16),s=I[t];if(s)return s[0]<=e&&s[1]>=e}return!1},colors:A,colorize:e=>{const t=y.symbol(e);let r="#000000";if(t.symbol){const e=parseInt(t.symbol.slice(1,4),16),s=v.findIndex((t=>t>e));r=A[s<0?6:s-1]}return r}});let k={base:"[123][0-9a-f]{2}",coord:"(?:[0-9]{3}x[0-9]{3})?",var:"V[0-9]+"};k.symbol=`S${k.base}[0-5u][0-9a-fu]`,k.range=`R${k.base}t${k.base}`,k.item=`(?:${k.symbol}|${k.range})`,k.list=`${k.item}(?:o${k.item})*`,k.prefix=`(?:A(?:${k.list})+)?T`,k.signbox=`(?:${k.list}${k.coord})*`,k.full=`Q(${k.prefix})?(${k.signbox})?(${k.var})?(-?)`;const E=e=>e.match(new RegExp(`(${k.list}${k.coord})`,"g")).map((e=>{let t,r;return e.includes("x")?(t=u(e.slice(-7)),r=e.slice(0,-7)):r=e,r.includes("o")?{or:r.split("o").map((e=>e.includes("S")?e:e.slice(1).split("t"))),coord:t,coord:t}:r.includes("S")?{symbol:r,coord:t}:{range:r.slice(1).split("t"),coord:t}})),j=(e,t,r)=>{let s,o,n,i,a,l,c;if(r||(r=""),s="",(e=("000"+e).slice(-3))===(t=""+t))return e;if(o=[],(e[0]!=t[0]||e[1]!=t[1])&&"0"!=e[2])if(s=e[0]+e[1],r){switch(e[2]){case"f":s+="f";break;case"e":s+="[ef]";break;case"d":case"c":case"b":case"a":s+="["+e[2]+"-f]";break;default:switch(e[2]){case"9":s+="[9a-f]";break;case"8":s+="[89a-f]";break;default:s+="["+e[2]+"-9a-f]"}}n=15-parseInt(e[2],16)+1,e=""+(parseInt(e,16)+n).toString(16),o.push(s)}else{switch(e[2]){case"9":s+="9";break;case"8":s+="[89]";break;default:s+="["+e[2]+"-9]"}n=9-e[2]+1,e=""+(1*e+n),o.push(s)}if(s="",e[0]!=t[0]&&"0"!=e[1])if(r){switch(s=e[0],e[1]){case"f":s+="f";break;case"e":s+="[ef]";break;case"d":case"c":case"b":case"a":s+="["+e[1]+"-f]";break;case"9":s+="[9a-f]";break;case"8":s+="[89a-f]";break;default:s+="["+e[1]+"-9a-f]"}s+="[0-9a-f]",n=15-parseInt(e[1],16)+1,e=""+(parseInt(e,16)+16*n).toString(16),o.push(s)}else{switch(s=e[0],n=9-e[1]+1,e[1]){case"9":s+="9";break;case"8":s+="[89]";break;default:s+="["+e[1]+"-9]"}s+="[0-9]",n=9-e[1]+1,e=""+(1*e+10*n),o.push(s)}if(s="",e[0]!=t[0])if(r){switch(n=parseInt(t[0],16)-parseInt(e[0],16),i=(parseInt(e[0],16)+n-1).toString(16),n){case 1:s=e[0];break;case 2:s="["+e[0]+i+"]";break;default:switch(l=parseInt(e[0],16)>9?"h":"d",c=parseInt(i,16)>9?"h":"d",l+c){case"dd":case"hh":s+="["+e[0]+"-"+i+"]";break;case"dh":switch(n=9-e[0],n){case 0:s+="[9";break;case 1:s+="[89";break;default:s+="["+e[0]+"-9"}switch(i[0]){case"a":s+="a]";break;case"b":s+="ab]";break;default:s+="a-"+i+"]"}}}s+="[0-9a-f][0-9a-f]",n=parseInt(t[0],16)-parseInt(e[0],16),e=""+(parseInt(e,16)+256*n).toString(16),o.push(s)}else{switch(n=t[0]-e[0],i=1*e[0]+n-1,n){case 1:s=e[0];break;case 2:s="["+e[0]+i+"]";break;default:s="["+e[0]+"-"+i+"]"}s+="[0-9][0-9]",e=""+(1*e+100*n),o.push(s)}if(s="",e[1]!=t[1])if(r){switch(n=parseInt(t[1],16)-parseInt(e[1],16),i=(parseInt(e[1],16)+n-1).toString(16),s=e[0],n){case 1:s+=e[1];break;case 2:s+="["+e[1]+i+"]";break;default:switch(l=parseInt(e[1],16)>9?"h":"d",c=parseInt(i,16)>9?"h":"d",l+c){case"dd":s+="["+e[1],n>1&&(s+="-"),s+=i+"]";break;case"dh":switch(n=9-e[1],n){case 0:s+="[9";break;case 1:s+="[89";break;default:s+="["+e[1]+"-9"}switch(t[1]){case"a":s+="]";break;case"b":s+="a]";break;default:s+="a-"+(parseInt(t[1],16)-1).toString(16)+"]"}break;case"hh":s+="["+e[1],n>1&&(s+="-"),s+=(parseInt(t[1],16)-1).toString(16)+"]"}}s+="[0-9a-f]",n=parseInt(t[1],16)-parseInt(e[1],16),e=""+(parseInt(e,16)+16*n).toString(16),o.push(s)}else{switch(n=t[1]-e[1],i=1*e[1]+n-1,s=e[0],n){case 1:s+=e[1];break;case 2:s+="["+e[1]+i+"]";break;default:s+="["+e[1]+"-"+i+"]"}s+="[0-9]",e=""+(1*e+10*n),o.push(s)}if(s="",e[2]!=t[2])if(r){switch(s=e[0]+e[1],n=parseInt(t[2],16)-parseInt(e[2],16),l=parseInt(e[2],16)>9?"h":"d",c=parseInt(t[2],16)>9?"h":"d",l+c){case"dd":case"hh":s+="["+e[2],n>1&&(s+="-"),s+=t[2]+"]";break;case"dh":switch(n=9-e[2],n){case 0:s+="[9";break;case 1:s+="[89";break;default:s+="["+e[2]+"-9"}switch(t[2]){case"a":s+="a]";break;case"b":s+="ab]";break;default:s+="a-"+t[2]+"]"}}n=parseInt(t[2],16)-parseInt(e[2],16),e=""+(parseInt(e,16)+n).toString(16),o.push(s)}else{switch(n=t[2]-e[2],s=e[0]+e[1],n){case 0:s+=e[2];break;case 1:s+="["+e[2]+t[2]+"]";break;default:s+="["+e[2]+"-"+t[2]+"]"}e=""+(1*e+n),o.push(s)}return s="","0"==e[2]&&"0"==t[2]&&(s=t,o.push(s)),s="",a=o.length,1==a?s=o[0]:(s=o.join(")|("),s="(("+s+"))"),s},S=e=>{let t=e.slice(0,4),r=e.slice(4,5);t+="u"==r?"[0-5]":r;let s=e.slice(5,6);return t+="u"==s?"[0-9a-f]":s,t},_=e=>{let t=e.slice(1,4),r=e.slice(5,8);return"S"+j(t,r,"hex")+"[0-5][0-9a-f]"},z=r=>{if(!(r=r.match(new RegExp(`^${k.full}`))[0]))return"";var s,o,n,i,a,l,c,p,f,d,g,m=20,h="("+t.full+")?";if("Q"==r)return[e.prefix+"?"+e.signbox];if("Q-"==r)return[e.prefix+"?"+e.signbox+h];if("QT"==r)return[e.prefix+e.signbox];if("QT-"==r)return[e.prefix+e.signbox+h];var y=[],b=r.indexOf("T")+1;if(b){g="(A";var x=r.slice(0,b);if(r=r.replace(x,""),"QT"==x)g+="("+e.symbol+")+)";else if(s=x.match(new RegExp("("+k.list+")","g"))){for(a=0;a0&&(c+=h),y.push(c)}return y.length||(r.indexOf("-")>0&&(c+=h),y.push(g+e.signbox)),y};var F=Object.freeze({__proto__:null,re:k,parse:e=>{const t="string"==typeof e?e.match(new RegExp(`^${k.full}`)):void 0;return{query:!!t||void 0,prefix:t&&t[1]?(r=t[1],{required:!0,parts:"T"==r?void 0:r.match(new RegExp(`${k.list}`,"g")).map((e=>e.includes("o")?["or"].concat(e.match(new RegExp(`(${k.item})`,"g")).map((e=>"S"==e[0]?e:e.slice(1).split("t")))):"S"==e[0]?e:e.slice(1).split("t")))}):void 0,signbox:t&&t[2]?E(t[2]):void 0,variance:t&&t[3]?parseInt(t[3].slice(1)):void 0,style:!(!t||!t[4])||void 0};var r},compose:e=>{if(!e||!e.query)return;let t="Q";return e.prefix&&e.prefix.required&&(Array.isArray(e.prefix.parts)&&(t+="A",t+=e.prefix.parts.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}t${e[1]}`:Array.isArray(e)&&e.length>2&&"or"==e[0]?(e.shift(),e.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}t${e[1]}`:void 0)).join("o")):void 0)).join("")),t+="T"),Array.isArray(e.signbox)&&(t+=e.signbox.map((e=>{let t;return e.or?t=e.or.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}t${e[1]}`:void 0)).join("o"):e.symbol?t=e.symbol:e.range&&Array.isArray(e.range)&&2==e.range.length&&(t=`R${e.range[0]}t${e.range[1]}`),t+(Array.isArray(e.coord)&&2==e.coord.length?e.coord.join("x"):"")})).join("")),t+=e.style?"-":"",t=t.match(new RegExp(`^${k.full}`))[0],t},fsw2query:(e,t)=>{let r="";const s=y.sign(e);if(s.box){const e=t.indexOf("A")>-1,o=t.indexOf("a")>-1,n=t.indexOf("S")>-1,i=t.indexOf("s")>-1,a=t.indexOf("L")>-1;return(e||o||n||i)&&((e||o)&&s.sequence&&(r+="A",r+=s.sequence.map((e=>e.slice(0,4)+(o?"uu":e.slice(4,6)))).join(""),r+="T"),(n||i)&&s.spatials&&(r+=s.spatials.map((e=>e.symbol.slice(0,4)+(i?"uu":e.symbol.slice(4,6))+(a?e.coord.join("x"):""))).join(""))),r?"Q"+r:void 0}},range:j,regex:z,results:(e,t)=>{if(!t)return[];let r,s,o,n,i,a=z(e);if(!a)return[];for(i=0;i{if(!t)return[];let r,s,o,n,i,a=z(e);if(!a)return[];for(i=0;i{const r=`^(${n.symbol})(${n.coord})?(${t.full})?`,s="string"==typeof e?e.match(new RegExp(r)):void 0;return{symbol:s?s[1]:void 0,coord:s&&s[2]?c(s[2]):void 0,style:s?s[3]:void 0}},sign:e=>{const r=`^(${n.prefix})?(${n.signbox})(${t.full})?`,s="string"==typeof e?e.match(new RegExp(r)):void 0;return s?{sequence:s[1]?s[1].slice(2).match(/.{2}/g):void 0,box:s[2].slice(0,2),max:c(s[2].slice(2,6)),spatials:s[2].length<7?void 0:s[2].slice(6).match(/(.{6})/g).map((e=>({symbol:e.slice(0,2),coord:c(e.slice(2))}))),style:s[3]}:{}},text:e=>{if("string"!=typeof e)return[];const r=`(${n.sign}(${t.full})?|${n.spatial}(${t.full})?)`,s=e.match(new RegExp(r,"g"));return s?[...s]:[]}},O=e=>e.replace(/\\u([0-9A-F]{4})/g,(function(e,t){return String.fromCharCode(parseInt(t,16))})),q=e=>[e.charCodeAt(0).toString(16).toUpperCase(),e.charCodeAt(1).toString(16).toUpperCase()],M={symbol:e=>{if("object"==typeof e&&null!==e&&"string"==typeof e.symbol){const r=(e.symbol.match(n.symbol)||[""])[0];if(r){const s=e.coord&&e.coord[0]||"",o=e.coord&&e.coord[1]||"";return r+(s&&o?p([s,o]):"")+("string"==typeof e.style&&(e.style.match(t.full)||[""])[0]||"")}}},sign:e=>{if("object"!=typeof e||null===e)return;let r="string"!=typeof e.box?"𝠃":(e.box+"𝠃").match(n.box);const s=e.max&&e.max[0]||"",o=e.max&&e.max[1]||"",i=s&&o?p([s,o]):void 0;if(!i)return;let a="";e.sequence&&Array.isArray(e.sequence)&&(a=e.sequence.map((e=>(e.match(n.symbol)||[""])[0])).join(""),a=a?"𝠀"+a:"");let l="";e.spatials&&Array.isArray(e.spatials)&&(l=e.spatials.map((e=>{if("string"==typeof e.symbol){const t=(e.symbol.match(n.symbol)||[""])[0];if(t){const r=e.coord&&e.coord[0]||"",s=e.coord&&e.coord[1]||"",o=r&&s?p([r,s]):"";if(o)return t+o}}return""})).join(""));return a+r+i+l+("string"==typeof e.style&&(e.style.match(t.full)||[""])[0]||"")}},D=e=>{let t,r,o,n,i,a,l,c,p=C.sign(e);p.spatials?(n=Math.min(...p.spatials.map((e=>e.coord[0]))),i=p.max[0],t=i-n,a=Math.min(...p.spatials.map((e=>e.coord[1]))),l=p.max[1],r=l-a,o="sign",c=p.box):(p=C.symbol(e),c="𝠃",p.coord?(n=p.coord[0],t=2*(500-n),a=p.coord[1],r=2*(500-a),o="symbol"):(n=490,t=20,a=490,r=20,o="none"));let u=s(p.style),f=u.zoom||1,d=u.padding||0;return{minX:n,minY:a,width:t,height:r,segment:o,lane:{"𝠁":0,"𝠂":-1,"𝠃":0,"𝠄":1}[c],padding:d,zoom:f}},T={height:500,width:150,offset:50,pad:20,margin:5,dynamic:!1,background:void 0,punctuation:{spacing:!0,pad:30,pull:!0},style:{detail:["black","white"],zoom:1}},Q=e=>("object"!=typeof e&&(e={}),{...T,...e,punctuation:{...T.punctuation,...e.punctuation},style:{...T.style,...e.style}}),Z=[262145,287201,310433,311201,321761,323489,324257],L={all:[262145,324736],writing:[262145,323488],hand:[262145,287200],movement:[287201,310432],dynamic:[310433,311200],head:[311201,321760],hcenter:[311201,321760],vcenter:[311201,322624],trunk:[321761,322624],limb:[322625,323488],location:[323489,324256],punctuation:[324257,324736]},P=["#0000CC","#CC0000","#FF0099","#006600","#000000","#884411","#FF9900"];var U=Object.freeze({__proto__:null,re:n,parse:C,encode:e=>e.replace(/[\u007F-\uFFFF]/g,(function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).substr(-4).toUpperCase()})),decode:O,pair:q,compose:M,info:D,columnDefaults:T,columnDefaultsMerge:Q,columns:(e,t)=>{if("string"!=typeof e)return{};const r=Q(t);let s=C.text(e),o=0,n=[],i=[],a=0,l=parseInt(r.width/2),c=r.height-r.margin,p=!0,u=!1;for(let e of s){let t=D(e);o+=a,r.punctuation.spacing?o+="sign"==t.segment?r.pad:0:o+=r.pad,u=o+t.height>c,u&&"symbol"==t.segment&&r.punctuation.pull&&p&&(u=!1,p=!1),0==i.length&&(u=!1),u&&(o=r.pad,n.push(i),i=[],p=!0),i.push(Object.assign(t,{x:l+r.offset*t.lane-(500-t.minX)*t.zoom*r.style.zoom,y:o,text:e})),o+=t.height*t.zoom*r.style.zoom,a=r.punctuation.spacing?"sign"==t.segment?r.pad:r.punctuation.pad:r.pad}if(i.length&&n.push(i),r.punctuation.pull)for(let e of n){let t=e[e.length-1],s=t.y+t.height-(r.height-r.margin);if(s>0){let t=parseInt(s/e.length)+1;for(let r in e)e[r].y-=t*r+t}}let f=[];for(let e of n){let t=[l-r.offset-r.pad],s=[l+r.offset+r.pad];for(let o of e)t.push(o.x-r.pad),s.push(o.x+o.width+r.pad);t=Math.min(...t),s=Math.max(...s);let o=r.width,n=0;r.dynamic?(o=s-t,n=-t):n=l-parseInt((t+s)/2);for(let t of e)t.x+=n;f.push(o)}return{options:r,widths:f,columns:n}},kind:[262145,323489,324257],category:Z,group:[262145,263489,265025,268673,269441,275009,277889,280001,281825,285665,287201,288833,290753,294881,296417,299777,302657,304289,307169,308513,310433,311201,312257,315329,316961,319841,321761,322625,323489,324257],ranges:L,isType:(e,t)=>{const r=C.symbol(e);if(r.symbol){const e=f(r.symbol),s=L[t];if(s)return s[0]<=e&&s[1]>=e}return!1},colors:P,colorize:e=>{const t=C.symbol(e);let r="#000000";if(t.symbol){const e=f(t.symbol),s=Z.findIndex((t=>t>e));r=P[s<0?6:s-1]}return r}});let B={base:"(?:(?:\ud8c0[\udc01-\udfff])|(?:[\ud8c1-\ud8fc][\udc00-\udfff])|(?:\ud8fd[\udc00-\udc80]))",coord:"(?:(?:\ud836[\udc0c-\uddff]){2})?",var:"V[0-9]+"};B.symbol=`${B.base}f?r?`,B.range=`R${B.base}${B.base}`,B.item=`(?:${B.symbol}|${B.range})`,B.list=`${B.item}(?:o${B.item})*`,B.prefix=`(?:A(?:${B.list})+)?T`,B.signbox=`(?:${B.list}${B.coord})*`,B.full=`Q(${B.prefix})?(${B.signbox})?(${B.var})?(-?)`;const X=e=>e.match(new RegExp(`(${B.list}${B.coord})`,"g")).map((e=>{let t,r;return t=e.match(new RegExp(`${n.coord}`)),t?(t=c(t[0]),r=e.slice(0,-4)):(t=void 0,r=e),r.includes("o")?{or:r.split("o").map((e=>e.includes("R")?[e.slice(1,3),e.slice(3,5)]:e)),coord:t,coord:t}:r.includes("R")?{range:[r.slice(1,3),r.slice(3,5)],coord:t}:{symbol:r,coord:t}})),V=(e,t)=>{if(e>t)return"";let r,s="",o=[];if(e=q(e),t=q(t),2!=e.length&&2!=t.length)return"";if(e[0]==t[0])e[1]==t[1]?(s="\\u"+e[0]+"\\u"+e[1],o.push(s)):(s="\\u"+e[0]+"[\\u"+e[1]+"-\\u"+t[1]+"]",o.push(s));else{s="DFFF"==e[1]?"\\u"+e[0]+"\\uDFFF":"\\u"+e[0]+"[\\u"+e[1]+"-\\uDFFF]",o.push(s);let r=parseInt(t[0],16)-parseInt(e[0],16);2==r&&(s="\\u"+(parseInt(e[0],16)+1).toString(16).toUpperCase(),s+="[\\uDC00-\\uDFFF]",o.push(s)),r>2&&(s="[",s+="\\u"+(parseInt(e[0],16)+1).toString(16).toUpperCase(),s+="-\\u"+(parseInt(t[0],16)-1).toString(16).toUpperCase(),s+="][\\uDC00-\\uDFFF]",o.push(s)),s="DC00"==t[1]?"\\u"+t[0]+"\\uDC00":"\\u"+t[0]+"[\\uDC00-\\u"+t[1]+"]",o.push(s)}return r=o.length,1==r?s=o[0]:(s=o.join(")|("),s="(("+s+"))"),O(s)},G=e=>{let t=e.match(new RegExp(B.symbol));if(t){let e,r,s=t[0].slice(0,2),o=g(s),n=o.slice(0,4);if("fr"==t[0].slice(-2))return e=m(n+"00"),r=m(n+"5f"),V(e,r);if("r"==t[0].slice(-1))return e=m(o.slice(0,5)+"0"),r=m(o.slice(0,5)+"f"),V(e,r);if("f"==t[0].slice(-1)){return"("+[0,1,2,3,4,5].map((function(e){return m(n+e+o.slice(-1))})).join("|")+")"}return s}return""},Y=e=>(from=g(e.slice(1,3)),to=g(e.slice(-2)),from=m(from.slice(0,4)+"00"),to=m(to.slice(0,4)+"5f"),V(from,to)),H=e=>{if(!(e=e.match(new RegExp(`^${B.full}`))[0]))return"";let r,s,o,i,a,p,u,f,d,g,m,h=20,y=n.symbol,b=n.coord,x=n.box+b+"("+y+b+")*",$="("+n.sort+"("+y+")+)",w="("+t.full+")?";if("Q"==e)return[n.sign];if("Q-"==e)return[n.sign+"("+t.full+")?"];if("QT"==e)return[n.sortable];if("QT-"==e)return[n.sortable+"("+t.full+")?"];let v=[],I=e.indexOf("T")+1;if(I){m="("+n.sort;let t=e.slice(0,I);if(e=e.replace(t,""),"QT"==t)m+="("+y+")+)";else if(r=t.match(new RegExp("("+B.list+")","g")),r){for(a=0;a0&&(f+=w),v.push(f)}return v.length||(e.indexOf("-")>0&&(f+=w),v.push(m+x)),v};var J=Object.freeze({__proto__:null,re:B,parse:e=>{const t="string"==typeof e?e.match(new RegExp(`^${B.full}`)):void 0;return{query:!!t||void 0,prefix:t&&t[1]?(r=t[1],{required:!0,parts:"T"==r?void 0:r.match(new RegExp(`(${B.list})`,"g")).map((e=>e.includes("o")?["or"].concat(e.match(new RegExp(`(${B.item})`,"g")).map((e=>"R"!=e[0]?e:[e.slice(1,3),e.slice(3,5)]))):"R"!=e[0]?e:[e.slice(1,3),e.slice(3,5)]))}):void 0,signbox:t&&t[2]?X(t[2]):void 0,variance:t&&t[3]?parseInt(t[3].slice(1)):void 0,style:!(!t||!t[4])||void 0};var r},compose:e=>{if(!e||!e.query)return;let t="Q";return e.prefix&&e.prefix.required&&(Array.isArray(e.prefix.parts)&&(t+="A",t+=e.prefix.parts.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}${e[1]}`:Array.isArray(e)&&e.length>2&&"or"==e[0]?(e.shift(),e.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}${e[1]}`:void 0)).join("o")):void 0)).join("")),t+="T"),Array.isArray(e.signbox)&&(t+=e.signbox.map((e=>{let t;return e.or?t=e.or.map((e=>"string"==typeof e?e:Array.isArray(e)&&2==e.length?`R${e[0]}${e[1]}`:void 0)).join("o"):e.symbol?t=e.symbol:e.range&&Array.isArray(e.range)&&2==e.range.length&&(t=`R${e.range[0]}${e.range[1]}`),t+(Array.isArray(e.coord)&&2==e.coord.length?p(e.coord):"")})).join("")),t+=e.style?"-":"",t=t.match(new RegExp(`^${B.full}`))[0],t},swu2query:(e,t)=>{let r="";const s=C.sign(e);if(s.box){const e=t.indexOf("A")>-1,o=t.indexOf("a")>-1,n=t.indexOf("S")>-1,i=t.indexOf("s")>-1,a=t.indexOf("L")>-1;return(e||o||n||i)&&((e||o)&&s.sequence&&(r+="A",r+=s.sequence.map((e=>e+(o?"fr":""))).join(""),r+="T"),(n||i)&&s.spatials&&(r+=s.spatials.map((e=>e.symbol+(i?"fr":"")+(a?p(e.coord):""))).join(""))),r?"Q"+r:void 0}},range:V,symbolRanges:G,regex:H,results:(e,t)=>{if(!t)return[];let r,s,o,n,i,a=H(e);if(!a)return[];for(i=0;i{if(!t)return[];let r,s,o,n,i,a=H(e);if(!a)return[];for(i=0;i