Socket
Socket
Sign inDemoInstall

@adraffy/ens-normalize

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@adraffy/ens-normalize - npm Package Compare versions

Comparing version 1.8.3 to 1.8.6

2

dist/all.min.js

@@ -1,1 +0,1 @@

function A(A){return function(A){let t=0;return()=>A[t++]}(function(A){let t=0;function e(){return A[t++]<<8|A[t++]}let n=e(),r=1,o=[0,1];for(let A=1;A<n;A++)o.push(r+=e());let l=e(),s=t;t+=l;let c=0,i=0;function w(){return 0==c&&(i=i<<8|A[t++],c=8),i>>--c&1}const a=2**31,C=a>>>1,Q=a-1;let f=0;for(let A=0;A<31;A++)f=f<<1|w();let p=[],B=0,g=a;for(;;){let A=Math.floor(((f-B+1)*r-1)/g),t=0,e=n;for(;e-t>1;){let n=t+e>>>1;A<o[n]?e=n:t=n}if(0==t)break;p.push(t);let l=B+Math.floor(g*o[t]/r),s=B+Math.floor(g*o[t+1]/r)-1;for(;0==((l^s)&C);)f=f<<1&Q|w(),l=l<<1&Q,s=s<<1&Q|1;for(;l&~s&536870912;)f=f&C|f<<1&Q>>>1|w(),l=l<<1^C,s=(s^C)<<1|C|1;B=l,g=1+s-l}let u=n-4;return p.map((t=>{switch(t-u){case 3:return u+65792+(A[s++]<<16|A[s++]<<8|A[s++]);case 2:return u+256+(A[s++]<<8|A[s++]);case 1:return u+A[s++];default:return t-1}}))}(function(A){let t=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,e)=>t[A.charCodeAt(0)]=e));let e=A.length,n=new Uint8Array(6*e>>3);for(let r=0,o=0,l=0,s=0;r<e;r++)s=s<<6|t[A.charCodeAt(r)],l+=6,l>=8&&(n[o++]=s>>(l-=8));return n}(A)))}function t(A){return 1&A?~A>>1:A>>1}function e(A,e){let n=Array(A);for(let r=0,o=0;r<A;r++)n[r]=o+=t(e());return n}function n(A,t=0){let e=[];for(;;){let n=A(),r=A();if(!r)break;t+=n;for(let A=0;A<r;A++)e.push(t+A);t+=r+1}return e}function r(A){return l((()=>{let t=n(A);if(t.length)return t}))}function o(A){let t=[];for(;;){let e=A();if(0==e)break;t.push(c(e,A))}for(;;){let e=A()-1;if(e<0)break;t.push(i(e,A))}return t.flat()}function l(A){let t=[];for(;;){let e=A(t.length);if(!e)break;t.push(e)}return t}function s(A,t,n){let r=Array(A).fill().map((()=>[]));for(let o=0;o<t;o++)e(A,n).forEach(((A,t)=>r[t].push(A)));return r}function c(A,t){let e=1+t(),n=t(),r=l(t);return s(r.length,1+A,t).flatMap(((A,t)=>{let[o,...l]=A;return Array(r[t]).fill().map(((A,t)=>{let r=t*n;return[o+t*e,l.map((A=>A+r))]}))}))}function i(A,t){return s(1+t(),1+A,t).map((A=>[A[0],A.slice(1)]))}var w=A("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");const a=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function C(A){return A.toString(16).toUpperCase().padStart(2,"0")}function Q(A){return`{${C(A)}}`}function f(A){let t=[];for(let e=0,n=A.length;e<n;){let n=A.codePointAt(e);e+=n<65536?1:2,t.push(n)}return t}function p(A){let t=A.length;if(t<4096)return String.fromCodePoint(...A);let e=[];for(let n=0;n<t;)e.push(String.fromCodePoint(...A.slice(n,n+=4096)));return e.join("")}function B(A,t){let{length:e}=A,n=e-t.length;for(let r=0;0==n&&r<e;r++)n=A[r]-t[r];return n}function g(A,t=Math.random){return A[t()*A.length|0]}function u(A,t,e=Math.random){if((A=A.slice()).length>t){for(let n=0;n<t;n++){let t=A[n],r=Math.floor(n+e()*(A.length-n));A[n]=A[r],A[r]=t}A=A.slice(0,t)}return A}function d(A,t){let e=[];for(let n of t){let{name:t,norm:r,error:o}=n;"string"!=typeof r&&(r=t);try{let l=A(t);o?e.push({type:"expected error",result:l,...n}):l!=r&&e.push({type:"wrong norm",result:l,...n})}catch(A){o||e.push({type:"unexpected error",result:A.message,...n})}}return e}var M=A("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");function E(A){return A>>24&255}function D(A){return 16777215&A}const k=new Map(r(M).flatMap(((A,t)=>A.map((A=>[A,t+1<<24]))))),h=new Set(n(M)),m=new Map,I=new Map;for(let[A,t]of o(M)){if(!h.has(A)&&2==t.length){let[e,n]=t,r=I.get(e);r||(r=new Map,I.set(e,r)),r.set(n,A)}m.set(A,t.reverse())}const F=44032;function x(A){return A>=F&&A<55204}function U(A,t){if(A>=4352&&A<4371&&t>=4449&&t<4470)return F+588*(A-4352)+28*(t-4449);if(x(A)&&t>4519&&t<4547&&(A-F)%28==0)return A+(t-4519);{let e=I.get(A);return e&&(e=e.get(t),e)?e:-1}}function N(A){let t=[],e=[],n=!1;function r(A){let e=k.get(A);e&&(n=!0,A|=e),t.push(A)}for(let n of A)for(;;){if(n<128)t.push(n);else if(x(n)){let A=n-F,t=A%588/28|0,e=A%28;r(4352+(A/588|0)),r(4449+t),e>0&&r(4519+e)}else{let A=m.get(n);A?e.push(...A):r(n)}if(!e.length)break;n=e.pop()}if(n&&t.length>1){let A=E(t[0]);for(let e=1;e<t.length;e++){let n=E(t[e]);if(0==n||A<=n){A=n;continue}let r=e-1;for(;;){let e=t[r+1];if(t[r+1]=t[r],t[r]=e,!r)break;if(A=E(t[--r]),A<=n)break}A=E(t[e])}}return t}function T(A){return N(A).map(D)}function L(A){return function(A){let t=[],e=[],n=-1,r=0;for(let o of A){let A=E(o),l=D(o);if(-1==n)0==A?n=l:t.push(l);else if(r>0&&r>=A)0==A?(t.push(n,...e),e.length=0,n=l):e.push(l),r=A;else{let o=U(n,l);o>=0?n=o:0==r&&0==A?(t.push(n),n=l):(e.push(l),r=A)}}return n>=0&&t.push(n,...e),t}(N(A))}function J(){return new Set(n(w))}const S=new Map(o(w)),G=J(),V=J(),R=J(),H=J(),j=r(w);function z(){return new Set([n(w).map((A=>j[A])),n(w)].flat(2))}const b=w(),P=l((A=>{let t=l(w).map((A=>A+96));if(t.length){let e=A>=b;t[0]-=32,t=p(t),e&&(t=`Restricted[${t}]`);let n=z(),r=z(),o=[...n,...r].sort(((A,t)=>A-t));return{N:t,P:n,M:w()-1,R:e,V:new Set(o)}}})),y=J(),v=new Map;[...y,...J()].sort(((A,t)=>A-t)).map(((A,t,e)=>{let n=w(),r=e[t]=n?e[t-n]:{V:[],M:new Map};r.V.push(A),y.has(A)||v.set(A,r)}));for(let{V:A,M:t}of new Set(v.values())){let e=[];for(let t of A){let A=P.filter((A=>A.V.has(t))),n=e.find((({G:t})=>A.some((A=>t.has(A)))));n||(n={G:new Set,V:[]},e.push(n)),n.V.push(t),A.forEach((A=>n.G.add(A)))}let n=e.flatMap((({G:A})=>[...A]));for(let{G:A,V:r}of e){let e=new Set(n.filter((t=>!A.has(t))));for(let A of r)t.set(A,e)}}let K=new Set,O=new Set;for(let A of P)for(let t of A.V)(K.has(t)?O:K).add(t);for(let A of K)v.has(A)||O.has(A)||v.set(A,1);const W=new Set([...K,...T(K)]),Y=n(w),X=function A(t){let e=l((()=>{let t=n(w).map((A=>Y[A]));if(t.length)return A(t)})).sort(((A,t)=>t.Q.size-A.Q.size)),r=w(),o=r%3;r=r/3|0;let s=1&r;return r>>=1,{B:e,V:o,F:s,S:1&r,C:2&r,Q:new Set(t)}}([]);class Z extends Array{get is_emoji(){return!0}}function q(A,t=Q){let e=[];AA(A[0])&&e.push("◌");let n=0,r=A.length;for(let o=0;o<r;o++){let r=A[o];tA(r)&&(e.push(p(A.slice(n,o))),e.push(t(r)),n=o+1)}return e.push(p(A.slice(n,r))),e.join("")}function $(A){return(tA(A)?"":`"${q([A])}" `)+Q(A)}function _(A){for(let t=A.lastIndexOf(95);t>0;)if(95!==A[--t])throw new Error("underscore allowed only at start")}function AA(A){return V.has(A)}function tA(A){return R.has(A)}function eA(A,t=L){return A.split(".").map((A=>p(wA(f(A),t).flatMap((A=>A.is_emoji?aA(A):A))))).join(".")}function nA(A){return lA(oA(A))}function rA(A){let t=oA(A,!0);for(let{type:A,output:e,error:n}of t)if(!n&&"Greek"!==A){let A=0;for(;;){let t=e.indexOf(958,A);if(t<0)break;e[t]=926,A=t+1}}return lA(t)}function oA(A,t){let e=0;return A.split(".").map((A=>{let n,r=f(A),o={input:r,offset:e};e+=r.length+1;try{let A,e=o.tokens=wA(r,L),l=e.length;if(l){let r=e[0],s=l>1||r.is_emoji;if(!s&&r.every((A=>A<128)))n=r,_(n),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(n),A="ASCII";else if(s&&(o.emoji=!0,r=e.flatMap((A=>A.is_emoji?[]:A))),n=e.flatMap((A=>!t&&A.is_emoji?aA(A):A)),_(n),r.length){if(V.has(n[0]))throw iA("leading combining mark");for(let A=1;A<l;A++){let t=e[A];if(!t.is_emoji&&V.has(t[0]))throw iA(`emoji + combining mark: "${p(e[A-1])} + ${q([t[0]])}"`)}!function(A){let t=A[0],e=a.get(t);if(e)throw iA(`leading ${e}`);let n=A.length,r=-1;for(let o=1;o<n;o++){t=A[o];let n=a.get(t);if(n){if(r==o)throw iA(`${e} + ${n}`);r=o+1,e=n}}if(r==n)throw iA(`trailing ${e}`)}(n);let t=[...new Set(r)],[o]=function(A){let t=P;for(let e of A){let A=t.filter((A=>A.V.has(e)));if(!A.length)throw t===P?sA(e):cA(t[0],e);if(t=A,1==A.length)break}return t}(t);!function(A,t){let{V:e,M:n}=A;for(let n of t)if(!e.has(n))throw cA(A,n);if(n>=0)for(let e=1,r=T(t).length;e<r;e++)if(V.has(t[e])){let o=e+1;for(;o<r&&V.has(t[o]);)o++;if(o-e>n)throw new Error(`too many combining marks: ${A.N} "${p(t.slice(e-1,o))}" (${o-e}/${n})`);e=o}}(o,r),function(A,t){let e,n=[];for(let A of t){let t=v.get(A);if(1===t)return;if(t){let n=t.M.get(A);if(e=e?e.filter((A=>n.has(A))):[...n],!e.length)return}else n.push(A)}if(e)for(let t of e)if(n.every((A=>t.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${t.N}`)}(o,t),A=o.N}else A="Emoji"}else n=[],A="None";o.type=A}catch(A){o.error=A}return o.output=n,o}))}function lA(A){return A.map((({input:t,error:e,output:n})=>{if(e){let n=e.message;throw new Error(1==A.length?n:`Invalid label "${q(t)}": ${n}`)}return p(n)})).join(".")}function sA(A){return new Error(`disallowed character: ${$(A)}`)}function cA(A,t){let e=$(t),n=P.find((A=>A.P.has(t)));return n&&(e=`${n.N} ${e}`),new Error(`illegal mixture: ${A.N} + ${e}`)}function iA(A){return new Error(`illegal placement: ${A}`)}function wA(A,t){let e=[],n=[];for(A=A.slice().reverse();A.length;){let r=CA(A);if(r)n.length&&(e.push(t(n)),n=[]),e.push(r);else{let t=A.pop();if(W.has(t))n.push(t);else{let A=S.get(t);if(A)n.push(...A);else if(!G.has(t))throw sA(t)}}}return n.length&&e.push(t(n)),e}function aA(A){return A.filter((A=>65039!=A))}function CA(A,t){let e,n,r=X,o=[],l=A.length;for(t&&(t.length=0);l;){let s=A[--l];if(r=r.B.find((A=>A.Q.has(s))),!r)break;if(r.S)n=s;else if(r.C&&s===n)break;o.push(s),r.F&&(o.push(65039),l>0&&65039==A[l-1]&&l--),r.V&&(e=QA(o,r),t&&t.push(...A.slice(l).reverse()),A.length=l)}return e}function QA(A,t){let e=Z.from(A);return 2==t.V&&e.splice(1,1),e}function fA(){let A=[];return function t(e,n,r){if(e.S)r=n[n.length-1];else if(e.C&&r===n[n.length-1])return;e.F&&n.push(65039),e.V&&A.push(QA(n,e));for(let A of e.B)for(let e of A.Q)t(A,[...n,e],r)}(X,[]),A.sort(B)}function pA(A,{nf:t=!0}={}){let e=f(A).reverse(),n=[],r=[];for(;e.length;){let A=CA(e,n);if(A)r.push({type:"emoji",emoji:A,input:n.slice(),cps:aA(A)});else{let A=e.pop();if(46==A)r.push({type:"stop",cp:A});else if(W.has(A))r.push({type:"valid",cps:[A]});else if(G.has(A))r.push({type:"ignored",cp:A});else{let t=S.get(A);t?r.push({type:"mapped",cp:A,cps:t.slice()}):r.push({type:"disallowed",cp:A})}}}if(t)for(let A=0,t=-1;A<r.length;A++){let e=r[A];if(BA(e.type))if(gA(e.cps)){let e=A+1;for(let A=e;A<r.length;A++){let{type:t,cps:n}=r[A];if(BA(t)){if(!gA(n))break;e=A+1}else if("ignored"!==t)break}t<0&&(t=A);let n=r.slice(t,e),o=n.flatMap((A=>BA(A.type)?A.cps:[])),l=L(o);B(l,o)?(r.splice(t,e-t,{type:"nfc",input:o,cps:l,tokens0:uA(n),tokens:pA(p(l),{nf:!1})}),A=t):A=e-1,t=-1}else t=A;else"ignored"!==e.type&&(t=-1)}return uA(r)}function BA(A){return"valid"==A||"mapped"==A}function gA(A){return A.some((A=>H.has(A)))}function uA(A){for(let t=0;t<A.length;t++)if("valid"==A[t].type){let e=t+1;for(;e<A.length&&"valid"==A[e].type;)e++;A.splice(t,e-t,{type:"valid",cps:A.slice(t,e).flatMap((A=>A.cps))})}return A}function dA(A){return A.map(C).join(" ")}function MA(){let A=document.createElement("span");return A.classList.add("arrow"),A.innerHTML="➔",A}function EA(A,t){let e=document.createElement("span");return 8205==A?(e.classList.add("mod","zwj"),e.innerText="ZWJ"):8204==A?(e.classList.add("mod","zwj"),e.innerText="ZWNJ"):65039==A?(e.classList.add("mod","dropped","style"),e.innerText="FE0F"):8419==A?(e.classList.add("mod","keycap"),e.innerText="Keycap"):A>=917537&&A<=917630?(e.classList.add("mod","tag"),e.innerText=String.fromCodePoint(A-917504)):917631==A?(e.classList.add("mod","tag","end"),e.innerText="⌫"):!t&&tA(A)?(e.classList.add("code"),e.innerText=C(A)):e.innerText=q([A]),e}function DA(A,t){let e=Object.entries(A).map((([A,t])=>`${A}: ${t}`));return Array.isArray(t)&&e.push(...t),e.join("\n")}function kA(A,{before:t=!1,tld_class:e=!0,components:n=!1,emoji_url:r="https://emojipedia.org/%s",extra:o=(()=>{})}={}){let l=document.createElement("div");return l.classList.add("tokens"),t&&(A=A.flatMap((A=>"nfc"!==A.type||A.tokens.every((A=>"valid"==A.type))?A:A.tokens))),l.append(...A.map(((l,s)=>{let c;switch(l.type){case"emoji":{c=document.createElement(r?"a":"span"),r&&(c.href=r.replace("%s",String.fromCodePoint(...l.emoji)));let A=t?l.input:l.cps;n?c.append(...A.map((A=>EA(A,!0)))):c.innerText=String.fromCodePoint(...l.emoji),c.title=DA({Type:"Emoji",Hex:dA(A),Beautified:dA(l.emoji)},o(l.type,A));break}case"nfc":if(c=document.createElement("div"),t)c.innerText=q(l.input),c.title=DA({Type:"NFC (Unnormalized)",Hex:dA(l.input)},o(l.type,l.input));else{let A=kA(l.tokens0,{components:n,emoji_url:r,extra:o});l.tokens0.every((A=>"valid"===A.type))&&(A.querySelector(".valid").innerHTML=l.input.map((A=>q([A]))).join("<span>+</span>")),A.classList.add("before"),A.title=DA({Type:"NFC (Unnormalized)",Hex:dA(l.input)},o(l.type,l.input));let t=kA(l.tokens,{components:n,emoji_url:r,extra:o});t.title=DA({Type:"NFC (Normalized)",Hex:dA(l.cps)},o(l.type,l.cps)),c.append(A,MA(),t)}break;case"valid":{c=document.createElement("span");let t=q(l.cps);e&&(1==A.length||s===A.length-1&&"stop"===A[s-1].type)&&/[a-z]/.test(t)&&c.classList.add(t),c.innerText=t,c.title=DA({Type:"Valid",Hex:dA(l.cps)},o(l.type,l.cps));break}case"mapped":{c=document.createElement("div");let A=document.createElement("span");if(A.classList.add("before"),A.innerText=q([l.cp]),A.title=DA({Type:"Mapped (Match)",Hex:C(l.cp)},o(l.type,[l.cp])),c.append(A),!t){let A=document.createElement("span");A.innerText=l.cps.map((A=>q([A]))).join("​"),A.title=DA({Type:"Mapped (Replacement)",Hex:dA(l.cps)},o(l.type,l.cps)),c.append(MA(),A)}break}case"stop":case"ignored":case"disallowed":c=EA(l.cp),c.title=DA({Type:l.type,Hex:C(l.cp)},o(l.type,[l.cp]));break;default:throw new TypeError(`unknown token type: ${l.type}`)}return c.classList.add(l.type),c}))),l}function hA(){let A=document.createElement("style");A.innerText="\n\t.tokens {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 2px;\n\t}\n\t.tokens > * {\n\t\tpadding: 2px 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 4px;\n\t\tborder-radius: 5px;\n\t\toverflow: hidden;\n\t}\n\t.tokens a {\n\t\ttext-decoration: none;\n\t}\n\t.tokens a:hover {\n\t\tborder-color: #00f;\n\t}\n\t.tokens .valid {\n\t\tbackground: #cfc;\n\t\tborder: 2px solid #0a0;\n\t\tline-break: anywhere;\n\t}\n\t.tokens .valid.eth {\n\t\tcolor: #fff;\n\t\tbackground: #58f;\n\t\tborder: none;\n\t}\n\t.tokens .valid.com {\n\t\tcolor: #fff;\n\t\tbackground: #0a0;\n\t\tborder: none;\n\t}\n\t.tokens .ignored {\n\t\tcolor: #fff;\n\t\tbackground: #aaa;\n\t\tfont-size: 75%;\n\t\tfont-family: monospace;\n\t}\n\t.tokens .disallowed {\n\t\tbackground: #c00;\t\n\t\tmin-width: 5px;\n\t\tmin-height: 1em;\n\t\tborder-radius: 5px;\n\t\tcolor: #fff;\n\t}\n\t.tokens .disallowed.code {\n\t\tfont-size: 75%;\n\t\tbackground: #800;\n\t}\n\t.tokens .disallowed.mod {\n\t\tborder: 2px solid #800;\n\t\tfont-size: 80%;\n\t}\n\t.tokens .disallowed.mod.tag {\n\t\tbackground: #f00;\n\t\tcolor: #000;\n\t}\n\t.tokens .mapped {\n\t\tdisplay: flex;\n\t\tborder: 2px solid #66f;\n\t\tbackground: #ccf;\n\t}\n\t.tokens .mapped span:first-child {\n\t\tmargin-bottom: -4px;\n\t\tborder-bottom: 4px solid #000;\n\t\ttext-align: center;\n\t\tmin-width: 0.5rem;\n\t}\n\t.tokens .stop {\n\t\tfont-weight: bold;\n\t\tbackground: linear-gradient(#fff, #ff0);\n\t\tpadding-bottom: 0;\n\t\tborder: 1px solid #ccc;\n\t}\n\t.tokens .emoji {\n\t\tborder: 2px solid #0aa;\n\t\tbackground: #cff;\n\t\tcolor: #000;\n\t}\n\t.tokens .mod {\n\t\tcolor: #fff;\n\t}\n\t.tokens * .mod {\n\t\tfont-size: 70%;\n\t\tpadding: 2px;\n\t\tborder-radius: 3px;\n\t}\n\t.tokens .emoji .mod {\n\t\tbackground: #333;\n\t}\n\t.tokens .emoji .mod.zwj {\n\t\tbackground: #0aa;\n\t}\n\t.tokens .emoji .mod.tag {\n\t\tbackground: #0aa;\n\t}\n\t.tokens .emoji .mod.tag.end {\n\t\tbackground: #066;\n\t}\n\t.tokens .emoji .mod.dropped {\n\t\tbackground: #aaa;\t\t\n\t}\n\t.tokens .arrow {\n\t\tcolor: rgba(0, 0, 0, 0.35);\n\t}\n\t.tokens .code {\n\t\tfont-family: monospace;\n\t}\n\t.tokens .nfc {\n\t\tdisplay: flex;\n\t\tborder: 2px solid #c80;\n\t\tbackground: #fd8;\n\t\tborder-radius: 5px;\n\t\tpadding: 2px;\n\t}\n\t.tokens .nfc .before .valid span {\n\t\tcolor: rgba(0, 0, 0, 0.35);\n\t}",document.body.append(A)}export{B as compare_arrays,kA as dom_from_tokens,rA as ens_beautify,fA as ens_emoji,nA as ens_normalize,eA as ens_normalize_fragment,oA as ens_split,pA as ens_tokenize,f as explode_cp,C as hex_cp,AA as is_combining_mark,L as nfc,T as nfd,Q as quote_cp,g as random_choice,u as random_sample,d as run_tests,q as safe_str_from_cps,tA as should_escape,p as str_from_cps,hA as use_default_style};
function A(A){return function(A){let e=0;return()=>A[e++]}(function(A){let e=0;function t(){return A[e++]<<8|A[e++]}let n=t(),o=1,r=[0,1];for(let A=1;A<n;A++)r.push(o+=t());let l=t(),s=e;e+=l;let g=0,i=0;function c(){return 0==g&&(i=i<<8|A[e++],g=8),i>>--g&1}const C=2**31,a=C>>>1,f=C-1;let B=0;for(let A=0;A<31;A++)B=B<<1|c();let p=[],w=0,Q=C;for(;;){let A=Math.floor(((B-w+1)*o-1)/Q),e=0,t=n;for(;t-e>1;){let n=e+t>>>1;A<r[n]?t=n:e=n}if(0==e)break;p.push(e);let l=w+Math.floor(Q*r[e]/o),s=w+Math.floor(Q*r[e+1]/o)-1;for(;0==((l^s)&a);)B=B<<1&f|c(),l=l<<1&f,s=s<<1&f|1;for(;l&~s&536870912;)B=B&a|B<<1&f>>>1|c(),l=l<<1^a,s=(s^a)<<1|a|1;w=l,Q=1+s-l}let u=n-4;return p.map((e=>{switch(e-u){case 3:return u+65792+(A[s++]<<16|A[s++]<<8|A[s++]);case 2:return u+256+(A[s++]<<8|A[s++]);case 1:return u+A[s++];default:return e-1}}))}(function(A){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,t)=>e[A.charCodeAt(0)]=t));let t=A.length,n=new Uint8Array(6*t>>3);for(let o=0,r=0,l=0,s=0;o<t;o++)s=s<<6|e[A.charCodeAt(o)],l+=6,l>=8&&(n[r++]=s>>(l-=8));return n}(A)))}function e(A){return 1&A?~A>>1:A>>1}function t(A,t){let n=Array(A);for(let o=0,r=0;o<A;o++)n[o]=r+=e(t());return n}function n(A,e=0){let t=[];for(;;){let n=A(),o=A();if(!o)break;e+=n;for(let A=0;A<o;A++)t.push(e+A);e+=o+1}return t}function o(A){return l((()=>{let e=n(A);if(e.length)return e}))}function r(A){let e=[];for(;;){let t=A();if(0==t)break;e.push(g(t,A))}for(;;){let t=A()-1;if(t<0)break;e.push(i(t,A))}return e.flat()}function l(A){let e=[];for(;;){let t=A(e.length);if(!t)break;e.push(t)}return e}function s(A,e,n){let o=Array(A).fill().map((()=>[]));for(let r=0;r<e;r++)t(A,n).forEach(((A,e)=>o[e].push(A)));return o}function g(A,e){let t=1+e(),n=e(),o=l(e);return s(o.length,1+A,e).flatMap(((A,e)=>{let[r,...l]=A;return Array(o[e]).fill().map(((A,e)=>{let o=e*n;return[r+e*t,l.map((A=>A+o))]}))}))}function i(A,e){return s(1+e(),1+A,e).map((A=>[A[0],A.slice(1)]))}var c=A("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");const C=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function a(A){return A.toString(16).toUpperCase().padStart(2,"0")}function f(A){return`{${a(A)}}`}function B(A){let e=[];for(let t=0,n=A.length;t<n;){let n=A.codePointAt(t);t+=n<65536?1:2,e.push(n)}return e}function p(A){let e=A.length;if(e<4096)return String.fromCodePoint(...A);let t=[];for(let n=0;n<e;)t.push(String.fromCodePoint(...A.slice(n,n+=4096)));return t.join("")}function w(A,e){let{length:t}=A,n=t-e.length;for(let o=0;0==n&&o<t;o++)n=A[o]-e[o];return n}function Q(A,e=Math.random){return A[e()*A.length|0]}function u(A,e,t=Math.random){if((A=A.slice()).length>e){for(let n=0;n<e;n++){let e=A[n],o=Math.floor(n+t()*(A.length-n));A[n]=A[o],A[o]=e}A=A.slice(0,e)}return A}function I(A,e){let t=[];for(let n of e){let{name:e,norm:o,error:r}=n;"string"!=typeof o&&(o=e);try{let l=A(e);r?t.push({type:"expected error",result:l,...n}):l!=o&&t.push({type:"wrong norm",result:l,...n})}catch(A){r||t.push({type:"unexpected error",result:A.message,...n})}}return t}var E=A("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");function d(A){return A>>24&255}function h(A){return 16777215&A}const D=new Map(o(E).flatMap(((A,e)=>A.map((A=>[A,e+1<<24]))))),M=new Set(n(E)),k=new Map,m=new Map;for(let[A,e]of r(E)){if(!M.has(A)&&2==e.length){let[t,n]=e,o=m.get(t);o||(o=new Map,m.set(t,o)),o.set(n,A)}k.set(A,e.reverse())}const L=44032;function F(A){return A>=L&&A<55204}function Y(A,e){if(A>=4352&&A<4371&&e>=4449&&e<4470)return L+588*(A-4352)+28*(e-4449);if(F(A)&&e>4519&&e<4547&&(A-L)%28==0)return A+(e-4519);{let t=m.get(A);return t&&(t=t.get(e),t)?t:-1}}function U(A){let e=[],t=[],n=!1;function o(A){let t=D.get(A);t&&(n=!0,A|=t),e.push(A)}for(let n of A)for(;;){if(n<128)e.push(n);else if(F(n)){let A=n-L,e=A%588/28|0,t=A%28;o(4352+(A/588|0)),o(4449+e),t>0&&o(4519+t)}else{let A=k.get(n);A?t.push(...A):o(n)}if(!t.length)break;n=t.pop()}if(n&&e.length>1){let A=d(e[0]);for(let t=1;t<e.length;t++){let n=d(e[t]);if(0==n||A<=n){A=n;continue}let o=t-1;for(;;){let t=e[o+1];if(e[o+1]=e[o],e[o]=t,!o)break;if(A=d(e[--o]),A<=n)break}A=d(e[t])}}return e}function N(A){return U(A).map(h)}function S(A){return function(A){let e=[],t=[],n=-1,o=0;for(let r of A){let A=d(r),l=h(r);if(-1==n)0==A?n=l:e.push(l);else if(o>0&&o>=A)0==A?(e.push(n,...t),t.length=0,n=l):t.push(l),o=A;else{let r=Y(n,l);r>=0?n=r:0==o&&0==A?(e.push(n),n=l):(t.push(l),o=A)}}return n>=0&&e.push(n,...t),e}(U(A))}function b(){return new Set(n(c))}const z=new Map(r(c)),P=b(),R=b(),J=b(),K=b(),H=o(c);function V(){return new Set([n(c).map((A=>H[A])),n(c)].flat(2))}const y=c(),x=l((A=>{let e=l(c).map((A=>A+96));if(e.length){let t=A>=y;e[0]-=32,e=p(e),t&&(e=`Restricted[${e}]`);let n=V(),o=V(),r=[...n,...o].sort(((A,e)=>A-e));return{N:e,P:n,M:c()-1,R:t,V:new Set(r)}}})),O=b(),T=new Map;[...O,...b()].sort(((A,e)=>A-e)).map(((A,e,t)=>{let n=c(),o=t[e]=n?t[e-n]:{V:[],M:new Map};o.V.push(A),O.has(A)||T.set(A,o)}));for(let{V:A,M:e}of new Set(T.values())){let t=[];for(let e of A){let A=x.filter((A=>A.V.has(e))),n=t.find((({G:e})=>A.some((A=>e.has(A)))));n||(n={G:new Set,V:[]},t.push(n)),n.V.push(e),A.forEach((A=>n.G.add(A)))}let n=t.flatMap((({G:A})=>[...A]));for(let{G:A,V:o}of t){let t=new Set(n.filter((e=>!A.has(e))));for(let A of o)e.set(A,t)}}let j=new Set,G=new Set;for(let A of x)for(let e of A.V)(j.has(e)?G:j).add(e);for(let A of j)T.has(A)||G.has(A)||T.set(A,1);const Z=new Set([...j,...N(j)]),W=n(c),q=function A(e){let t=l((()=>{let e=n(c).map((A=>W[A]));if(e.length)return A(e)})).sort(((A,e)=>e.Q.size-A.Q.size)),o=c(),r=o%3;o=o/3|0;let s=1&o;return o>>=1,{B:t,V:r,F:s,S:1&o,C:2&o,Q:new Set(e)}}([]);class X extends Array{get is_emoji(){return!0}}function v(A,e=f){let t=[];AA(A[0])&&t.push("◌");let n=0,o=A.length;for(let r=0;r<o;r++){let o=A[r];eA(o)&&(t.push(p(A.slice(n,r))),t.push(e(o)),n=r+1)}return t.push(p(A.slice(n,o))),t.join("")}function $(A){return(eA(A)?"":`"${v([A])}" `)+f(A)}function _(A){for(let e=A.lastIndexOf(95);e>0;)if(95!==A[--e])throw new Error("underscore allowed only at start")}function AA(A){return R.has(A)}function eA(A){return J.has(A)}function tA(A,e){let t=e?N:S;return A.split(".").map((A=>p(cA(B(A),t).flatMap((A=>A.is_emoji?CA(A):A))))).join(".")}function nA(A){return lA(rA(A))}function oA(A){let e=rA(A,!0);for(let{type:A,output:t,error:n}of e)if(!n&&"Greek"!==A){let A=0;for(;;){let e=t.indexOf(958,A);if(e<0)break;t[e]=926,A=e+1}}return lA(e)}function rA(A,e){let t=0;return A.split(".").map((A=>{let n,o=B(A),r={input:o,offset:t};t+=o.length+1;try{let A,t=r.tokens=cA(o,S),l=t.length;if(l){let o=t[0],s=l>1||o.is_emoji;if(!s&&o.every((A=>A<128)))n=o,_(n),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(n),A="ASCII";else if(s&&(r.emoji=!0,o=t.flatMap((A=>A.is_emoji?[]:A))),n=t.flatMap((A=>!e&&A.is_emoji?CA(A):A)),_(n),o.length){if(R.has(n[0]))throw iA("leading combining mark");for(let A=1;A<l;A++){let e=t[A];if(!e.is_emoji&&R.has(e[0]))throw iA(`emoji + combining mark: "${p(t[A-1])} + ${v([e[0]])}"`)}!function(A){let e=A[0],t=C.get(e);if(t)throw iA(`leading ${t}`);let n=A.length,o=-1;for(let r=1;r<n;r++){e=A[r];let n=C.get(e);if(n){if(o==r)throw iA(`${t} + ${n}`);o=r+1,t=n}}if(o==n)throw iA(`trailing ${t}`)}(n);let e=[...new Set(o)],[r]=function(A){let e=x;for(let t of A){let A=e.filter((A=>A.V.has(t)));if(!A.length)throw e===x?sA(t):gA(e[0],t);if(e=A,1==A.length)break}return e}(e);!function(A,e){let{V:t,M:n}=A;for(let n of e)if(!t.has(n))throw gA(A,n);if(n>=0)for(let t=1,o=N(e).length;t<o;t++)if(R.has(e[t])){let r=t+1;for(;r<o&&R.has(e[r]);)r++;if(r-t>n)throw new Error(`too many combining marks: ${A.N} "${p(e.slice(t-1,r))}" (${r-t}/${n})`);t=r}}(r,o),function(A,e){let t,n=[];for(let A of e){let e=T.get(A);if(1===e)return;if(e){let n=e.M.get(A);if(t=t?t.filter((A=>n.has(A))):[...n],!t.length)return}else n.push(A)}if(t)for(let e of t)if(n.every((A=>e.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${e.N}`)}(r,e),A=r.N}else A="Emoji"}else n=[],A="None";r.type=A}catch(A){r.error=A}return r.output=n,r}))}function lA(A){return A.map((({input:e,error:t,output:n})=>{if(t){let n=t.message;throw new Error(1==A.length?n:`Invalid label "${v(e)}": ${n}`)}return p(n)})).join(".")}function sA(A){return new Error(`disallowed character: ${$(A)}`)}function gA(A,e){let t=$(e),n=x.find((A=>A.P.has(e)));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${A.N} + ${t}`)}function iA(A){return new Error(`illegal placement: ${A}`)}function cA(A,e){let t=[],n=[];for(A=A.slice().reverse();A.length;){let o=aA(A);if(o)n.length&&(t.push(e(n)),n=[]),t.push(o);else{let e=A.pop();if(Z.has(e))n.push(e);else{let A=z.get(e);if(A)n.push(...A);else if(!P.has(e))throw sA(e)}}}return n.length&&t.push(e(n)),t}function CA(A){return A.filter((A=>65039!=A))}function aA(A,e){let t,n,o=q,r=[],l=A.length;for(e&&(e.length=0);l;){let s=A[--l];if(o=o.B.find((A=>A.Q.has(s))),!o)break;if(o.S)n=s;else if(o.C&&s===n)break;r.push(s),o.F&&(r.push(65039),l>0&&65039==A[l-1]&&l--),o.V&&(t=fA(r,o),e&&e.push(...A.slice(l).reverse()),A.length=l)}return t}function fA(A,e){let t=X.from(A);return 2==e.V&&t.splice(1,1),t}function BA(){let A=[];return function e(t,n,o){if(t.S)o=n[n.length-1];else if(t.C&&o===n[n.length-1])return;t.F&&n.push(65039),t.V&&A.push(fA(n,t));for(let A of t.B)for(let t of A.Q)e(A,[...n,t],o)}(q,[]),A.sort(w)}function pA(A,{nf:e=!0}={}){let t=B(A).reverse(),n=[],o=[];for(;t.length;){let A=aA(t,n);if(A)o.push({type:"emoji",emoji:A,input:n.slice(),cps:CA(A)});else{let A=t.pop();if(46==A)o.push({type:"stop",cp:A});else if(Z.has(A))o.push({type:"valid",cps:[A]});else if(P.has(A))o.push({type:"ignored",cp:A});else{let e=z.get(A);e?o.push({type:"mapped",cp:A,cps:e.slice()}):o.push({type:"disallowed",cp:A})}}}if(e)for(let A=0,e=-1;A<o.length;A++){let t=o[A];if(wA(t.type))if(QA(t.cps)){let t=A+1;for(let A=t;A<o.length;A++){let{type:e,cps:n}=o[A];if(wA(e)){if(!QA(n))break;t=A+1}else if("ignored"!==e)break}e<0&&(e=A);let n=o.slice(e,t),r=n.flatMap((A=>wA(A.type)?A.cps:[])),l=S(r);w(l,r)?(o.splice(e,t-e,{type:"nfc",input:r,cps:l,tokens0:uA(n),tokens:pA(p(l),{nf:!1})}),A=e):A=t-1,e=-1}else e=A;else"ignored"!==t.type&&(e=-1)}return uA(o)}function wA(A){return"valid"==A||"mapped"==A}function QA(A){return A.some((A=>K.has(A)))}function uA(A){for(let e=0;e<A.length;e++)if("valid"==A[e].type){let t=e+1;for(;t<A.length&&"valid"==A[t].type;)t++;A.splice(e,t-e,{type:"valid",cps:A.slice(e,t).flatMap((A=>A.cps))})}return A}function IA(A){return A.map(a).join(" ")}function EA(){let A=document.createElement("span");return A.classList.add("arrow"),A.innerHTML="➔",A}function dA(A,e){let t=document.createElement("span");return 8205==A?(t.classList.add("mod","zwj"),t.innerText="ZWJ"):8204==A?(t.classList.add("mod","zwj"),t.innerText="ZWNJ"):65039==A?(t.classList.add("mod","dropped","style"),t.innerText="FE0F"):8419==A?(t.classList.add("mod","keycap"),t.innerText="Keycap"):A>=917537&&A<=917630?(t.classList.add("mod","tag"),t.innerText=String.fromCodePoint(A-917504)):917631==A?(t.classList.add("mod","tag","end"),t.innerText="⌫"):!e&&eA(A)?(t.classList.add("code"),t.innerText=a(A)):t.innerText=v([A]),t}function hA(A,e){let t=Object.entries(A).map((([A,e])=>`${A}: ${e}`));return Array.isArray(e)&&t.push(...e),t.join("\n")}function DA(A,{before:e=!1,tld_class:t=!0,components:n=!1,emoji_url:o="https://emojipedia.org/%s",extra:r=(()=>{})}={}){let l=document.createElement("div");return l.classList.add("tokens"),l.append(...A.map(((l,s)=>{let g;switch(l.type){case"emoji":{g=document.createElement(o?"a":"span"),o&&(g.href=o.replace("%s",String.fromCodePoint(...l.emoji)));let A=e?l.input:l.cps;n?g.append(...A.map((A=>dA(A,!0)))):g.innerText=String.fromCodePoint(...l.emoji),g.title=hA({Type:"Emoji",Hex:IA(A),Beautified:IA(l.emoji)},r(l.type,A));break}case"nfc":{g=document.createElement("div");let A=l.tokens0.flatMap((A=>"valid"===A.type?A.cps:A.cp)),t=DA(l.tokens0.flatMap((A=>"valid"===A.type?A.cps.map((A=>({type:"valid",cps:[A]}))):A)),{components:n,before:e,emoji_url:o,extra:r});if(t.title=hA({Type:"NFC (Unnormalized)",Hex:IA(A)},r(l.type,A)),g.append(t),!e){let A=DA(l.tokens,{components:n,emoji_url:o,extra:r});A.title=hA({Type:"NFC (Normalized)",Hex:IA(l.cps)},r(l.type,l.cps)),g.append(EA(),A)}break}case"valid":{g=document.createElement("span");let e=v(l.cps);t&&(1==A.length||s===A.length-1&&"stop"===A[s-1].type)&&/[a-z]/.test(e)&&g.classList.add(e),g.innerText=e,g.title=hA({Type:"Valid",Hex:IA(l.cps)},r(l.type,l.cps));break}case"mapped":{g=document.createElement("div");let A=document.createElement("span");if(A.classList.add("before"),A.innerText=v([l.cp]),A.title=hA({Type:"Mapped (Match)",Hex:a(l.cp)},r(l.type,[l.cp])),g.append(A),!e){let A=document.createElement("span");A.innerText=l.cps.map((A=>v([A]))).join("​"),A.title=hA({Type:"Mapped (Replacement)",Hex:IA(l.cps)},r(l.type,l.cps)),g.append(EA(),A)}break}case"stop":case"ignored":case"disallowed":g=dA(l.cp),g.title=hA({Type:l.type,Hex:a(l.cp)},r(l.type,[l.cp]));break;default:throw new TypeError(`unknown token type: ${l.type}`)}return g.classList.add(l.type),g}))),l}function MA(){let A=document.createElement("style");A.innerText="\n\t.tokens {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 2px;\n\t}\n\t.tokens > * {\n\t\tpadding: 2px 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 4px;\n\t\tborder-radius: 5px;\n\t\toverflow: hidden;\n\t}\n\t.tokens a {\n\t\ttext-decoration: none;\n\t}\n\t.tokens a:hover {\n\t\tborder-color: #00f;\n\t}\n\t.tokens .valid {\n\t\tbackground: #cfc;\n\t\tborder: 2px solid #0a0;\n\t\tline-break: anywhere;\n\t}\n\t.tokens .valid.eth {\n\t\tcolor: #fff;\n\t\tbackground: #58f;\n\t\tborder: none;\n\t}\n\t.tokens .valid.com {\n\t\tcolor: #fff;\n\t\tbackground: #0a0;\n\t\tborder: none;\n\t}\n\t.tokens .ignored {\n\t\tcolor: #fff;\n\t\tbackground: #aaa;\n\t\tfont-size: 75%;\n\t\tfont-family: monospace;\n\t}\n\t.tokens .disallowed {\n\t\tbackground: #c00;\t\n\t\tmin-width: 5px;\n\t\tmin-height: 1em;\n\t\tborder-radius: 5px;\n\t\tcolor: #fff;\n\t}\n\t.tokens .disallowed.code {\n\t\tfont-size: 75%;\n\t\tbackground: #800;\n\t}\n\t.tokens .disallowed.mod {\n\t\tborder: 2px solid #800;\n\t\tfont-size: 80%;\n\t}\n\t.tokens .disallowed.mod.tag {\n\t\tbackground: #f00;\n\t\tcolor: #000;\n\t}\n\t.tokens .mapped {\n\t\tdisplay: flex;\n\t\tborder: 2px solid #66f;\n\t\tbackground: #ccf;\n\t}\n\t.tokens .mapped span:first-child {\n\t\tmargin-bottom: -4px;\n\t\tborder-bottom: 4px solid #000;\n\t\ttext-align: center;\n\t\tmin-width: 0.5rem;\n\t}\n\t.tokens .stop {\n\t\tfont-weight: bold;\n\t\tbackground: linear-gradient(#fff, #ff0);\n\t\tpadding-bottom: 0;\n\t\tborder: 1px solid #ccc;\n\t}\n\t.tokens .emoji {\n\t\tborder: 2px solid #0aa;\n\t\tbackground: #cff;\n\t\tcolor: #000;\n\t}\n\t.tokens .mod {\n\t\tcolor: #fff;\n\t}\n\t.tokens * .mod {\n\t\tfont-size: 70%;\n\t\tpadding: 2px;\n\t\tborder-radius: 3px;\n\t}\n\t.tokens .emoji .mod {\n\t\tbackground: #333;\n\t}\n\t.tokens .emoji .mod.zwj {\n\t\tbackground: #0aa;\n\t}\n\t.tokens .emoji .mod.tag {\n\t\tbackground: #0aa;\n\t}\n\t.tokens .emoji .mod.tag.end {\n\t\tbackground: #066;\n\t}\n\t.tokens .emoji .mod.dropped {\n\t\tbackground: #aaa;\t\t\n\t}\n\t.tokens .arrow {\n\t\tcolor: rgba(0, 0, 0, 0.35);\n\t}\n\t.tokens .code {\n\t\tfont-family: monospace;\n\t}\n\t.tokens .nfc {\n\t\tdisplay: flex;\n\t\tborder: 2px solid #c80;\n\t\tbackground: #fd8;\n\t\tborder-radius: 5px;\n\t\tpadding: 2px;\n\t}",document.body.append(A)}export{w as compare_arrays,DA as dom_from_tokens,oA as ens_beautify,BA as ens_emoji,nA as ens_normalize,tA as ens_normalize_fragment,rA as ens_split,pA as ens_tokenize,B as explode_cp,a as hex_cp,AA as is_combining_mark,S as nfc,N as nfd,f as quote_cp,Q as random_choice,u as random_sample,I as run_tests,v as safe_str_from_cps,eA as should_escape,p as str_from_cps,MA as use_default_style};

@@ -205,4 +205,4 @@ function decode_arithmetic(bytes) {

// created 2022-12-05T00:28:25.581Z
var r = read_compressed_payload('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');
// created 2023-01-11T09:20:55.161Z
var r = read_compressed_payload('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');
const FENCED = new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);

@@ -277,2 +277,3 @@

/*
// direct include from payload is smaller that the decompression code
const FENCED = new Map(read_array_while(() => {

@@ -288,2 +289,3 @@ let cp = r();

function read_chunked() {
// deduplicated sets + uniques
return new Set([read_sorted(r).map(i => CHUNKS[i]), read_sorted(r)].flat(2));

@@ -369,3 +371,3 @@ }

const EMOJI_SORTED = read_sorted(r);
//const EMOJI_SOLO = new Set(read_sorted(r).map(i => EMOJI_SORTED[i]));
//const EMOJI_SOLO = new Set(read_sorted(r).map(i => EMOJI_SORTED[i])); // not needed
const EMOJI_ROOT = read_emoji_trie([]);

@@ -462,3 +464,4 @@ function read_emoji_trie(cps) {

function ens_normalize_fragment(frag, nf = nfc) {
function ens_normalize_fragment(frag, decompose) {
let nf = decompose ? nfd : nfc;
return frag.split(STOP_CH).map(label => str_from_cps(process(explode_cp(label), nf).flatMap(x => x.is_emoji ? filter_fe0f(x) : x))).join(STOP_CH);

@@ -484,2 +487,5 @@ }

}
// 20221213: fixes bidi subdomain issue, but breaks invariant (200E is disallowed)
// could be fixed with special case for: 2D (.) + 200E (LTR)
//output.splice(0, 0, 0x200E);
}

@@ -518,2 +524,3 @@ return flatten(split);

// cant have wholes
// see derive: assert ascii fast path
type = 'ASCII';

@@ -539,5 +546,7 @@ } else {

let unique = [...new Set(chars)];
let [g] = determine_group(unique);
check_group(g, chars);
check_whole(g, unique);
let [g] = determine_group(unique); // take the first match
// see derive: equivalent up to naming
// alternative: could form a hybrid type: Latin/Japanese/...
check_group(g, chars); // need text in order
check_whole(g, unique); // only need unique (order would be required for multiple-char confusables)
type = g.N;

@@ -549,3 +558,3 @@ }

} catch (err) {
info.error = err;
info.error = err; // use full error object
}

@@ -901,3 +910,3 @@ info.output = norm;

type: TY_NFC,
input: cps0,
input: cps0, // there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps
cps,

@@ -904,0 +913,0 @@ tokens0: collapse_valid_tokens(slice),

@@ -1,1 +0,1 @@

function A(A){return 1&A?~A>>1:A>>1}function e(e,t){let n=Array(e);for(let r=0,w=0;r<e;r++)n[r]=w+=A(t());return n}function t(A,e=0){let t=[];for(;;){let n=A(),r=A();if(!r)break;e+=n;for(let A=0;A<r;A++)t.push(e+A);e+=r+1}return t}function n(A){let e=[];for(;;){let t=A(e.length);if(!t)break;e.push(t)}return e}function r(A,t,n){let r=Array(A).fill().map((()=>[]));for(let w=0;w<t;w++)e(A,n).forEach(((A,e)=>r[e].push(A)));return r}function w(A,e){let t=1+e(),w=e(),o=n(e);return r(o.length,1+A,e).flatMap(((A,e)=>{let[n,...r]=A;return Array(o[e]).fill().map(((A,e)=>{let o=e*w;return[n+e*t,r.map((A=>A+o))]}))}))}function o(A,e){return r(1+e(),1+A,e).map((A=>[A[0],A.slice(1)]))}var l=function(A){let e=0;return()=>A[e++]}(function(A){let e=0;function t(){return A[e++]<<8|A[e++]}let n=t(),r=1,w=[0,1];for(let A=1;A<n;A++)w.push(r+=t());let o=t(),l=e;e+=o;let Q=0,f=0;function C(){return 0==Q&&(f=f<<8|A[e++],Q=8),f>>--Q&1}const c=2**31,s=c>>>1,B=c-1;let i=0;for(let A=0;A<31;A++)i=i<<1|C();let g=[],D=0,u=c;for(;;){let A=Math.floor(((i-D+1)*r-1)/u),e=0,t=n;for(;t-e>1;){let n=e+t>>>1;A<w[n]?t=n:e=n}if(0==e)break;g.push(e);let o=D+Math.floor(u*w[e]/r),l=D+Math.floor(u*w[e+1]/r)-1;for(;0==((o^l)&s);)i=i<<1&B|C(),o=o<<1&B,l=l<<1&B|1;for(;o&~l&536870912;)i=i&s|i<<1&B>>>1|C(),o=o<<1^s,l=(l^s)<<1|s|1;D=o,u=1+l-o}let M=n-4;return g.map((e=>{switch(e-M){case 3:return M+65792+(A[l++]<<16|A[l++]<<8|A[l++]);case 2:return M+256+(A[l++]<<8|A[l++]);case 1:return M+A[l++];default:return e-1}}))}(function(A){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,t)=>e[A.charCodeAt(0)]=t));let t=A.length,n=new Uint8Array(6*t>>3);for(let r=0,w=0,o=0,l=0;r<t;r++)l=l<<6|e[A.charCodeAt(r)],o+=6,o>=8&&(n[w++]=l>>(o-=8));return n}("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")));const Q=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function f(A){return`{${function(A){return A.toString(16).toUpperCase().padStart(2,"0")}(A)}}`}function C(A){let e=[];for(let t=0,n=A.length;t<n;){let n=A.codePointAt(t);t+=n<65536?1:2,e.push(n)}return e}function c(A){let e=A.length;if(e<4096)return String.fromCodePoint(...A);let t=[];for(let n=0;n<e;)t.push(String.fromCodePoint(...A.slice(n,n+=4096)));return t.join("")}function s(A,e){let{length:t}=A,n=t-e.length;for(let r=0;0==n&&r<t;r++)n=A[r]-e[r];return n}function B(A,e){return C(c(A).normalize(e))}function i(A){return B(A,"NFC")}function g(A){return B(A,"NFD")}function D(){return new Set(t(l))}const u=new Map(function(A){let e=[];for(;;){let t=A();if(0==t)break;e.push(w(t,A))}for(;;){let t=A()-1;if(t<0)break;e.push(o(t,A))}return e.flat()}(l)),M=D(),a=D(),h=D(),E=D(),p=(F=l,n((()=>{let A=t(F);if(A.length)return A})));var F;function k(){return new Set([t(l).map((A=>p[A])),t(l)].flat(2))}const I=l(),U=n((A=>{let e=n(l).map((A=>A+96));if(e.length){let t=A>=I;e[0]-=32,e=c(e),t&&(e=`Restricted[${e}]`);let n=k(),r=k(),w=[...n,...r].sort(((A,e)=>A-e));return{N:e,P:n,M:l()-1,R:t,V:new Set(w)}}})),m=D(),G=new Map;[...m,...D()].sort(((A,e)=>A-e)).map(((A,e,t)=>{let n=l(),r=t[e]=n?t[e-n]:{V:[],M:new Map};r.V.push(A),m.has(A)||G.set(A,r)}));for(let{V:A,M:e}of new Set(G.values())){let t=[];for(let e of A){let A=U.filter((A=>A.V.has(e))),n=t.find((({G:e})=>A.some((A=>e.has(A)))));n||(n={G:new Set,V:[]},t.push(n)),n.V.push(e),A.forEach((A=>n.G.add(A)))}let n=t.flatMap((({G:A})=>[...A]));for(let{G:A,V:r}of t){let t=new Set(n.filter((e=>!A.has(e))));for(let A of r)e.set(A,t)}}let J=new Set,V=new Set;for(let A of U)for(let e of A.V)(J.has(e)?V:J).add(e);for(let A of J)G.has(A)||V.has(A)||G.set(A,1);const x=new Set([...J,...g(J)]),S=t(l),d=function A(e){let r=n((()=>{let e=t(l).map((A=>S[A]));if(e.length)return A(e)})).sort(((A,e)=>e.Q.size-A.Q.size)),w=l(),o=w%3;w=w/3|0;let Q=1&w;return w>>=1,{B:r,V:o,F:Q,S:1&w,C:2&w,Q:new Set(e)}}([]);class T extends Array{get is_emoji(){return!0}}function R(A,e=f){let t=[];H(A[0])&&t.push("◌");let n=0,r=A.length;for(let w=0;w<r;w++){let r=A[w];L(r)&&(t.push(c(A.slice(n,w))),t.push(e(r)),n=w+1)}return t.push(c(A.slice(n,r))),t.join("")}function N(A){return(L(A)?"":`"${R([A])}" `)+f(A)}function z(A){for(let e=A.lastIndexOf(95);e>0;)if(95!==A[--e])throw new Error("underscore allowed only at start")}function H(A){return a.has(A)}function L(A){return h.has(A)}function P(A,e=i){return A.split(".").map((A=>c(O(C(A),e).flatMap((A=>A.is_emoji?q(A):A))))).join(".")}function y(A){return Y(K(A))}function j(A){let e=K(A,!0);for(let{type:A,output:t,error:n}of e)if(!n&&"Greek"!==A){let A=0;for(;;){let e=t.indexOf(958,A);if(e<0)break;t[e]=926,A=e+1}}return Y(e)}function K(A,e){let t=0;return A.split(".").map((A=>{let n,r=C(A),w={input:r,offset:t};t+=r.length+1;try{let A,t=w.tokens=O(r,i),o=t.length;if(o){let r=t[0],l=o>1||r.is_emoji;if(!l&&r.every((A=>A<128)))n=r,z(n),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(n),A="ASCII";else if(l&&(w.emoji=!0,r=t.flatMap((A=>A.is_emoji?[]:A))),n=t.flatMap((A=>!e&&A.is_emoji?q(A):A)),z(n),r.length){if(a.has(n[0]))throw X("leading combining mark");for(let A=1;A<o;A++){let e=t[A];if(!e.is_emoji&&a.has(e[0]))throw X(`emoji + combining mark: "${c(t[A-1])} + ${R([e[0]])}"`)}!function(A){let e=A[0],t=Q.get(e);if(t)throw X(`leading ${t}`);let n=A.length,r=-1;for(let w=1;w<n;w++){e=A[w];let n=Q.get(e);if(n){if(r==w)throw X(`${t} + ${n}`);r=w+1,t=n}}if(r==n)throw X(`trailing ${t}`)}(n);let e=[...new Set(r)],[w]=function(A){let e=U;for(let t of A){let A=e.filter((A=>A.V.has(t)));if(!A.length)throw e===U?v(t):W(e[0],t);if(e=A,1==A.length)break}return e}(e);!function(A,e){let{V:t,M:n}=A;for(let n of e)if(!t.has(n))throw W(A,n);if(n>=0)for(let t=1,r=g(e).length;t<r;t++)if(a.has(e[t])){let w=t+1;for(;w<r&&a.has(e[w]);)w++;if(w-t>n)throw new Error(`too many combining marks: ${A.N} "${c(e.slice(t-1,w))}" (${w-t}/${n})`);t=w}}(w,r),function(A,e){let t,n=[];for(let A of e){let e=G.get(A);if(1===e)return;if(e){let n=e.M.get(A);if(t=t?t.filter((A=>n.has(A))):[...n],!t.length)return}else n.push(A)}if(t)for(let e of t)if(n.every((A=>e.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${e.N}`)}(w,e),A=w.N}else A="Emoji"}else n=[],A="None";w.type=A}catch(A){w.error=A}return w.output=n,w}))}function Y(A){return A.map((({input:e,error:t,output:n})=>{if(t){let n=t.message;throw new Error(1==A.length?n:`Invalid label "${R(e)}": ${n}`)}return c(n)})).join(".")}function v(A){return new Error(`disallowed character: ${N(A)}`)}function W(A,e){let t=N(e),n=U.find((A=>A.P.has(e)));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${A.N} + ${t}`)}function X(A){return new Error(`illegal placement: ${A}`)}function O(A,e){let t=[],n=[];for(A=A.slice().reverse();A.length;){let r=b(A);if(r)n.length&&(t.push(e(n)),n=[]),t.push(r);else{let e=A.pop();if(x.has(e))n.push(e);else{let A=u.get(e);if(A)n.push(...A);else if(!M.has(e))throw v(e)}}}return n.length&&t.push(e(n)),t}function q(A){return A.filter((A=>65039!=A))}function b(A,e){let t,n,r=d,w=[],o=A.length;for(e&&(e.length=0);o;){let l=A[--o];if(r=r.B.find((A=>A.Q.has(l))),!r)break;if(r.S)n=l;else if(r.C&&l===n)break;w.push(l),r.F&&(w.push(65039),o>0&&65039==A[o-1]&&o--),r.V&&(t=Z(w,r),e&&e.push(...A.slice(o).reverse()),A.length=o)}return t}function Z(A,e){let t=T.from(A);return 2==e.V&&t.splice(1,1),t}function $(){let A=[];return function e(t,n,r){if(t.S)r=n[n.length-1];else if(t.C&&r===n[n.length-1])return;t.F&&n.push(65039),t.V&&A.push(Z(n,t));for(let A of t.B)for(let t of A.Q)e(A,[...n,t],r)}(d,[]),A.sort(s)}function _(A,{nf:e=!0}={}){let t=C(A).reverse(),n=[],r=[];for(;t.length;){let A=b(t,n);if(A)r.push({type:"emoji",emoji:A,input:n.slice(),cps:q(A)});else{let A=t.pop();if(46==A)r.push({type:"stop",cp:A});else if(x.has(A))r.push({type:"valid",cps:[A]});else if(M.has(A))r.push({type:"ignored",cp:A});else{let e=u.get(A);e?r.push({type:"mapped",cp:A,cps:e.slice()}):r.push({type:"disallowed",cp:A})}}}if(e)for(let A=0,e=-1;A<r.length;A++){let t=r[A];if(AA(t.type))if(eA(t.cps)){let t=A+1;for(let A=t;A<r.length;A++){let{type:e,cps:n}=r[A];if(AA(e)){if(!eA(n))break;t=A+1}else if("ignored"!==e)break}e<0&&(e=A);let n=r.slice(e,t),w=n.flatMap((A=>AA(A.type)?A.cps:[])),o=i(w);s(o,w)?(r.splice(e,t-e,{type:"nfc",input:w,cps:o,tokens0:tA(n),tokens:_(c(o),{nf:!1})}),A=e):A=t-1,e=-1}else e=A;else"ignored"!==t.type&&(e=-1)}return tA(r)}function AA(A){return"valid"==A||"mapped"==A}function eA(A){return A.some((A=>E.has(A)))}function tA(A){for(let e=0;e<A.length;e++)if("valid"==A[e].type){let t=e+1;for(;t<A.length&&"valid"==A[t].type;)t++;A.splice(e,t-e,{type:"valid",cps:A.slice(e,t).flatMap((A=>A.cps))})}return A}export{j as ens_beautify,$ as ens_emoji,y as ens_normalize,P as ens_normalize_fragment,K as ens_split,_ as ens_tokenize,H as is_combining_mark,i as nfc,g as nfd,R as safe_str_from_cps,L as should_escape};
function A(A){return 1&A?~A>>1:A>>1}function e(e,t){let r=Array(e);for(let o=0,g=0;o<e;o++)r[o]=g+=A(t());return r}function t(A,e=0){let t=[];for(;;){let r=A(),o=A();if(!o)break;e+=r;for(let A=0;A<o;A++)t.push(e+A);e+=o+1}return t}function r(A){let e=[];for(;;){let t=A(e.length);if(!t)break;e.push(t)}return e}function o(A,t,r){let o=Array(A).fill().map((()=>[]));for(let g=0;g<t;g++)e(A,r).forEach(((A,e)=>o[e].push(A)));return o}function g(A,e){let t=1+e(),g=e(),n=r(e);return o(n.length,1+A,e).flatMap(((A,e)=>{let[r,...o]=A;return Array(n[e]).fill().map(((A,e)=>{let n=e*g;return[r+e*t,o.map((A=>A+n))]}))}))}function n(A,e){return o(1+e(),1+A,e).map((A=>[A[0],A.slice(1)]))}var l=function(A){let e=0;return()=>A[e++]}(function(A){let e=0;function t(){return A[e++]<<8|A[e++]}let r=t(),o=1,g=[0,1];for(let A=1;A<r;A++)g.push(o+=t());let n=t(),l=e;e+=n;let C=0,i=0;function f(){return 0==C&&(i=i<<8|A[e++],C=8),i>>--C&1}const B=2**31,s=B>>>1,w=B-1;let c=0;for(let A=0;A<31;A++)c=c<<1|f();let I=[],Q=0,u=B;for(;;){let A=Math.floor(((c-Q+1)*o-1)/u),e=0,t=r;for(;t-e>1;){let r=e+t>>>1;A<g[r]?t=r:e=r}if(0==e)break;I.push(e);let n=Q+Math.floor(u*g[e]/o),l=Q+Math.floor(u*g[e+1]/o)-1;for(;0==((n^l)&s);)c=c<<1&w|f(),n=n<<1&w,l=l<<1&w|1;for(;n&~l&536870912;)c=c&s|c<<1&w>>>1|f(),n=n<<1^s,l=(l^s)<<1|s|1;Q=n,u=1+l-n}let D=r-4;return I.map((e=>{switch(e-D){case 3:return D+65792+(A[l++]<<16|A[l++]<<8|A[l++]);case 2:return D+256+(A[l++]<<8|A[l++]);case 1:return D+A[l++];default:return e-1}}))}(function(A){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,t)=>e[A.charCodeAt(0)]=t));let t=A.length,r=new Uint8Array(6*t>>3);for(let o=0,g=0,n=0,l=0;o<t;o++)l=l<<6|e[A.charCodeAt(o)],n+=6,n>=8&&(r[g++]=l>>(n-=8));return r}("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")));const C=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function i(A){return`{${function(A){return A.toString(16).toUpperCase().padStart(2,"0")}(A)}}`}function f(A){let e=[];for(let t=0,r=A.length;t<r;){let r=A.codePointAt(t);t+=r<65536?1:2,e.push(r)}return e}function B(A){let e=A.length;if(e<4096)return String.fromCodePoint(...A);let t=[];for(let r=0;r<e;)t.push(String.fromCodePoint(...A.slice(r,r+=4096)));return t.join("")}function s(A,e){let{length:t}=A,r=t-e.length;for(let o=0;0==r&&o<t;o++)r=A[o]-e[o];return r}function w(A,e){return f(B(A).normalize(e))}function c(A){return w(A,"NFC")}function I(A){return w(A,"NFD")}function Q(){return new Set(t(l))}const u=new Map(function(A){let e=[];for(;;){let t=A();if(0==t)break;e.push(g(t,A))}for(;;){let t=A()-1;if(t<0)break;e.push(n(t,A))}return e.flat()}(l)),D=Q(),a=Q(),h=Q(),p=Q(),E=(M=l,r((()=>{let A=t(M);if(A.length)return A})));var M;function L(){return new Set([t(l).map((A=>E[A])),t(l)].flat(2))}const Y=l(),F=r((A=>{let e=r(l).map((A=>A+96));if(e.length){let t=A>=Y;e[0]-=32,e=B(e),t&&(e=`Restricted[${e}]`);let r=L(),o=L(),g=[...r,...o].sort(((A,e)=>A-e));return{N:e,P:r,M:l()-1,R:t,V:new Set(g)}}})),k=Q(),K=new Map;[...k,...Q()].sort(((A,e)=>A-e)).map(((A,e,t)=>{let r=l(),o=t[e]=r?t[e-r]:{V:[],M:new Map};o.V.push(A),k.has(A)||K.set(A,o)}));for(let{V:A,M:e}of new Set(K.values())){let t=[];for(let e of A){let A=F.filter((A=>A.V.has(e))),r=t.find((({G:e})=>A.some((A=>e.has(A)))));r||(r={G:new Set,V:[]},t.push(r)),r.V.push(e),A.forEach((A=>r.G.add(A)))}let r=t.flatMap((({G:A})=>[...A]));for(let{G:A,V:o}of t){let t=new Set(r.filter((e=>!A.has(e))));for(let A of o)e.set(A,t)}}let z=new Set,m=new Set;for(let A of F)for(let e of A.V)(z.has(e)?m:z).add(e);for(let A of z)K.has(A)||m.has(A)||K.set(A,1);const P=new Set([...z,...I(z)]),S=t(l),R=function A(e){let o=r((()=>{let e=t(l).map((A=>S[A]));if(e.length)return A(e)})).sort(((A,e)=>e.Q.size-A.Q.size)),g=l(),n=g%3;g=g/3|0;let C=1&g;return g>>=1,{B:o,V:n,F:C,S:1&g,C:2&g,Q:new Set(e)}}([]);class V extends Array{get is_emoji(){return!0}}function J(A,e=i){let t=[];H(A[0])&&t.push("◌");let r=0,o=A.length;for(let g=0;g<o;g++){let o=A[g];G(o)&&(t.push(B(A.slice(r,g))),t.push(e(o)),r=g+1)}return t.push(B(A.slice(r,o))),t.join("")}function U(A){return(G(A)?"":`"${J([A])}" `)+i(A)}function y(A){for(let e=A.lastIndexOf(95);e>0;)if(95!==A[--e])throw new Error("underscore allowed only at start")}function H(A){return a.has(A)}function G(A){return h.has(A)}function O(A,e){let t=e?I:c;return A.split(".").map((A=>B(Z(f(A),t).flatMap((A=>A.is_emoji?X(A):A))))).join(".")}function N(A){return b(j(A))}function q(A){let e=j(A,!0);for(let{type:A,output:t,error:r}of e)if(!r&&"Greek"!==A){let A=0;for(;;){let e=t.indexOf(958,A);if(e<0)break;t[e]=926,A=e+1}}return b(e)}function j(A,e){let t=0;return A.split(".").map((A=>{let r,o=f(A),g={input:o,offset:t};t+=o.length+1;try{let A,t=g.tokens=Z(o,c),n=t.length;if(n){let o=t[0],l=n>1||o.is_emoji;if(!l&&o.every((A=>A<128)))r=o,y(r),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(r),A="ASCII";else if(l&&(g.emoji=!0,o=t.flatMap((A=>A.is_emoji?[]:A))),r=t.flatMap((A=>!e&&A.is_emoji?X(A):A)),y(r),o.length){if(a.has(r[0]))throw d("leading combining mark");for(let A=1;A<n;A++){let e=t[A];if(!e.is_emoji&&a.has(e[0]))throw d(`emoji + combining mark: "${B(t[A-1])} + ${J([e[0]])}"`)}!function(A){let e=A[0],t=C.get(e);if(t)throw d(`leading ${t}`);let r=A.length,o=-1;for(let g=1;g<r;g++){e=A[g];let r=C.get(e);if(r){if(o==g)throw d(`${t} + ${r}`);o=g+1,t=r}}if(o==r)throw d(`trailing ${t}`)}(r);let e=[...new Set(o)],[g]=function(A){let e=F;for(let t of A){let A=e.filter((A=>A.V.has(t)));if(!A.length)throw e===F?T(t):W(e[0],t);if(e=A,1==A.length)break}return e}(e);!function(A,e){let{V:t,M:r}=A;for(let r of e)if(!t.has(r))throw W(A,r);if(r>=0)for(let t=1,o=I(e).length;t<o;t++)if(a.has(e[t])){let g=t+1;for(;g<o&&a.has(e[g]);)g++;if(g-t>r)throw new Error(`too many combining marks: ${A.N} "${B(e.slice(t-1,g))}" (${g-t}/${r})`);t=g}}(g,o),function(A,e){let t,r=[];for(let A of e){let e=K.get(A);if(1===e)return;if(e){let r=e.M.get(A);if(t=t?t.filter((A=>r.has(A))):[...r],!t.length)return}else r.push(A)}if(t)for(let e of t)if(r.every((A=>e.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${e.N}`)}(g,e),A=g.N}else A="Emoji"}else r=[],A="None";g.type=A}catch(A){g.error=A}return g.output=r,g}))}function b(A){return A.map((({input:e,error:t,output:r})=>{if(t){let r=t.message;throw new Error(1==A.length?r:`Invalid label "${J(e)}": ${r}`)}return B(r)})).join(".")}function T(A){return new Error(`disallowed character: ${U(A)}`)}function W(A,e){let t=U(e),r=F.find((A=>A.P.has(e)));return r&&(t=`${r.N} ${t}`),new Error(`illegal mixture: ${A.N} + ${t}`)}function d(A){return new Error(`illegal placement: ${A}`)}function Z(A,e){let t=[],r=[];for(A=A.slice().reverse();A.length;){let o=v(A);if(o)r.length&&(t.push(e(r)),r=[]),t.push(o);else{let e=A.pop();if(P.has(e))r.push(e);else{let A=u.get(e);if(A)r.push(...A);else if(!D.has(e))throw T(e)}}}return r.length&&t.push(e(r)),t}function X(A){return A.filter((A=>65039!=A))}function v(A,e){let t,r,o=R,g=[],n=A.length;for(e&&(e.length=0);n;){let l=A[--n];if(o=o.B.find((A=>A.Q.has(l))),!o)break;if(o.S)r=l;else if(o.C&&l===r)break;g.push(l),o.F&&(g.push(65039),n>0&&65039==A[n-1]&&n--),o.V&&(t=x(g,o),e&&e.push(...A.slice(n).reverse()),A.length=n)}return t}function x(A,e){let t=V.from(A);return 2==e.V&&t.splice(1,1),t}function $(){let A=[];return function e(t,r,o){if(t.S)o=r[r.length-1];else if(t.C&&o===r[r.length-1])return;t.F&&r.push(65039),t.V&&A.push(x(r,t));for(let A of t.B)for(let t of A.Q)e(A,[...r,t],o)}(R,[]),A.sort(s)}function _(A,{nf:e=!0}={}){let t=f(A).reverse(),r=[],o=[];for(;t.length;){let A=v(t,r);if(A)o.push({type:"emoji",emoji:A,input:r.slice(),cps:X(A)});else{let A=t.pop();if(46==A)o.push({type:"stop",cp:A});else if(P.has(A))o.push({type:"valid",cps:[A]});else if(D.has(A))o.push({type:"ignored",cp:A});else{let e=u.get(A);e?o.push({type:"mapped",cp:A,cps:e.slice()}):o.push({type:"disallowed",cp:A})}}}if(e)for(let A=0,e=-1;A<o.length;A++){let t=o[A];if(AA(t.type))if(eA(t.cps)){let t=A+1;for(let A=t;A<o.length;A++){let{type:e,cps:r}=o[A];if(AA(e)){if(!eA(r))break;t=A+1}else if("ignored"!==e)break}e<0&&(e=A);let r=o.slice(e,t),g=r.flatMap((A=>AA(A.type)?A.cps:[])),n=c(g);s(n,g)?(o.splice(e,t-e,{type:"nfc",input:g,cps:n,tokens0:tA(r),tokens:_(B(n),{nf:!1})}),A=e):A=t-1,e=-1}else e=A;else"ignored"!==t.type&&(e=-1)}return tA(o)}function AA(A){return"valid"==A||"mapped"==A}function eA(A){return A.some((A=>p.has(A)))}function tA(A){for(let e=0;e<A.length;e++)if("valid"==A[e].type){let t=e+1;for(;t<A.length&&"valid"==A[t].type;)t++;A.splice(e,t-e,{type:"valid",cps:A.slice(e,t).flatMap((A=>A.cps))})}return A}export{q as ens_beautify,$ as ens_emoji,N as ens_normalize,O as ens_normalize_fragment,j as ens_split,_ as ens_tokenize,H as is_combining_mark,c as nfc,I as nfd,J as safe_str_from_cps,G as should_escape};

@@ -47,14 +47,14 @@ interface DisallowedToken {

export function ens_normalize(name: string): string;
export function ens_normalize_fragment(frag: string, decompose?: boolean): string;
export function ens_beautify(name: string): string;
export function ens_tokenize(name: string, options?: {nf?: boolean}): Token[];
export function ens_split(name: string, preserve_emoji?: boolean): Label[];
export function ens_emoji(): number[][];
export function ens_normalize_fragment(frag: string, nf?: (cps: number[]) => number[]): string;
export function should_escape(cp: number): boolean;
export function is_combining_mark(cp: number): boolean;
export function safe_str_from_cps(cps: number[]): string;
export function nfd(cps: number[]): number[];
export function nfc(cps: number[]): number[];
export function should_escape(cp: number): boolean;
export function is_combining_mark(cp: number): boolean;
export function safe_str_from_cps(cps: number): string;

@@ -205,4 +205,4 @@ function decode_arithmetic(bytes) {

// created 2022-12-05T00:28:25.581Z
var r$1 = read_compressed_payload('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');
// created 2023-01-11T09:20:55.161Z
var r$1 = read_compressed_payload('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');
const FENCED = new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);

@@ -251,3 +251,3 @@

// created 2022-12-05T00:28:25.688Z
// created 2023-01-11T09:20:55.270Z
var r = read_compressed_payload('AEUDTAHBCFQATQDRADAAcgAgADQAFAAsABQAHwAOACQADQARAAoAFwAHABIACAAPAAUACwAFAAwABAAQAAMABwAEAAoABQAIAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACgANAA0AAwAKAAkABAAdAAYAZwDSAdsDJgC0CkMB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgsj26PTQyy8FfEQ8AY8IPAGcEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJF8AJpIBpob5AERSMAKNoAXqaQLUBMCzEiACnwRZEkkVsS7tANAsBG0RuAQLEPABv9HICTUBXigPZwRBApMDOwAamhtaABqEAY8KvKx3LQ4ArAB8UhwEBAVSagD8AEFZADkBIadVj2UMUgx5Il4ANQC9AxIB1BlbEPMAs30CGxlXAhwZKQIECBc6EbsCoxngzv7UzRQA8M0BawL6ZwkN7wABAD33OQRcsgLJCjMCjqUChtw/km+NAsXPAoP2BT84PwURAK0RAvptb6cApQS/OMMey5HJS84UdxpxTPkCogVFITaTOwERAK5pAvkNBOVyA7q3BKlOJSALAgUIBRcEdASpBXqzABXFSWZOawLCOqw//AolCZdvv3dSBkEQGyelEPcMMwG1ATsN7UvYBPEGOwTJH30ZGQ/NlZwIpS3dDO0m4y6hgFoj9SqDBe1L9DzdC01RaA9ZC2UJ4zpjgU4DIQENIosK3Q05CG0Q8wrJaw3lEUUHOQPVSZoApQcBCxEdNRW1JhBirAsJOXcG+xr2C48mrxMpevwF0xohBk0BKRr/AM8u54WwWjFcHE9fBgMLJSPHFKhQIA0lQLd4SBobBxUlqQKRQ3BKh1E2HpMh9jw9DWYuE1F8B/U8BRlPC4E8nkarRQ4R0j6NPUgiSUwsBDV/LC8niwnPD4UMuXxyAVkJIQmxDHETMREXN8UIOQcZLZckJxUIIUaVYJoE958D8xPRAwsFPwlBBxMDtRwtEy4VKQUNgSTXAvM21S6zAo9WgAEXBcsPJR/fEFBH4A7pCJsCZQODJesALRUhABcimwhDYwBfj9hTBS7LCMdqbCN0A2cU52ERcweRDlcHpxwzFb8c4XDIXguGCCijrwlbAXUJmQFfBOMICTVbjKAgQWdTi1gYmyBhQT9d/AIxDGUVn0S9h3gCiw9rEhsBNQFzBzkNAQJ3Ee0RaxCVCOuGBDW1M/g6JQRPIYMgEQonA09szgsnJvkM+GkBoxJiAww0PXfuZ6tgtiQX/QcZMsVBYCHxC5JPzQycGsEYQlQuGeQHvwPzGvMn6kFXBf8DowMTOk0z7gS9C2kIiwk/AEkOoxcH1xhqCnGM0AExiwG3mQNXkYMCb48GNwcLAGcLhwV55QAdAqcIowAFAM8DVwA5Aq0HnQAZAIVBAT0DJy8BIeUCjwOTCDHLAZUvAfMpBBvDDBUA9zduSgLDsQKAamaiBd1YAo4CSTUBTSUEBU5HUQOvceEA2wBLBhPfRwEVq0rLGuNDAd9vKwDHAPsABTUHBUEBzQHzbQC3AV8LMQmis7UBTekpAIMAFWsB1wKJAN0ANQB/8QFTAE0FWfkF0wJPSQERMRgrV2EBuwMfATMBDQB5BsuNpckHHwRtB9MCEBsV4QLvLge1AQMi3xPNQsUCvd5VoWACZIECYkJbTa9bNyACofcCaJgCZgkCn4Q4GwsCZjsCZiYEbgR/A38TA36SOQY5dxc5gjojIwJsHQIyNjgKAm3HAm2u74ozZ0UrAWcA3gDhAEoFB5gMjQD+C8IADbUCdy8CdqI/AnlLQwJ4uh1c20WuRtcCfD8CesgCfQkCfPAFWQUgSABIfWMkAoFtAoAAAoAFAn+uSVhKWxUXSswC0QEC0MxLJwOITwOH5kTFkTIC8qFdAwMDrkvOTC0lA89NTE2vAos/AorYwRsHHUNnBbcCjjcCjlxAl4ECjtkCjlx4UbRTNQpS1FSFApP7ApMMAOkAHFUeVa9V0AYsGymVhjLheGZFOzkCl58C77JYIagAWSUClo8ClnycAKlZrFoJgU0AOwKWtQKWTlxEXNECmcsCmWRcyl0HGQKcmznCOp0CnBYCn5sCnriKAB0PMSoPAp3xAp6SALU9YTRh7wKe0wKgbgGpAp6fHwKeTqVjyGQnJSsCJ68CJn4CoPsCoEwCot0CocQCpi8Cpc4Cp/8AfQKn8mh8aLEAA0lqHGrRAqzjAqyuAq1nAq0CAlcdAlXcArHh1wMfTmyXArK9DQKy6Bds4G1jbUhfAyXNArZcOz9ukAMpRQK4XgK5RxUCuSp3cDZw4QK9GQK72nCWAzIRAr6IcgIDM3ECvhpzInNPAsPLAsMEc4J0SzVFdOADPKcDPJoDPb8CxXwCxkcCxhCJAshpUQLIRALJTwLJLgJknQLd0nh5YXiueSVL0AMYo2cCAmH0GfOVJHsLXpJeuxECz2sCz2wvS1PS8xOfAMatAs9zASnqA04SfksFAtwnAtuKAtJPA1JcA1NfAQEDVYyAiT8AyxbtYEWCHILTgs6DjQLaxwLZ3oQQhEmnPAOGpQAvA2QOhnFZ+QBVAt9lAt64c3cC4i/tFAHzMCcB9JsB8tKHAuvzAulweQLq+QLq5AD5RwG5Au6JAuuclqqXAwLuPwOF4Jh5cOBxoQLzAwBpA44WmZMC9xMDkW4DkocC95gC+dkC+GaaHJqruzebHgOdgwL++gEbADmfHJ+zAwWNA6ZqA6bZANHFAwZqoYiiBQkDDEkCwAA/AwDhQRdTARHzA2sHl2cFAJMtK7evvdsBiZkUfxEEOQH7KQUhDp0JnwCS/SlXxQL3AZ0AtwW5AG8LbUEuFCaNLgFDAYD8AbUmAHUDDgRtACwCFgyhAAAKAj0CagPdA34EkQEgRQUhfAoABQBEABMANhICdwEABdUDa+8KxQIA9wqfJ7+xt+UBkSFBQgHpFH8RNMCJAAQAGwBaAkUChIsABjpTOpSNbQC4Oo860ACNOME63AClAOgAywE6gTo7Ofw5+Tt2iTpbO56JOm85GAFWATMBbAUvNV01njWtNWY1dTW2NcU1gjWRNdI14TWeNa017jX9NbI1wTYCNhE1xjXVNhY2JzXeNe02LjY9Ni41LSE2OjY9Njw2yTcIBJA8VzY4Nt03IDcPNsogN4k3MAoEsDxnNiQ3GTdsOo03IULUQwdC4EMLHA8PCZsobShRVQYA6X8A6bABFCnXAukBowC9BbcAbwNzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgBFLWZAu0BhQCjBcEAbykBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUABavAj626xQAJP0A3etzuf4NNRA7efy2Z9NQrCnC0OSyANz5BBIbJ5IFDR6miIavYS6tprjjmuKebxm5C74Q225X1pkaYYPb6f1DK4k3xMEBb9S2WMjEibTNWhsRJIA+vwNVEiXTE5iXs/wezV66oFLfp9NZGYW+Gk19J2+bCT6Ye2w6LDYdgzKMUabk595eLBCXANz9HUpWbATq9vqXVx9XDg+Pc9Xp4+bsS005SVM/BJBM4687WUuf+Uj9dEi8aDNaPxtpbDxcG1THTImUMZq4UCaaNYpsVqraNyKLJXDYsFZ/5jl7bLRtO88t7P3xZaAxhb5OdPMXqsSkp1WCieG8jXm1U99+blvLlXzPCS+M93VnJCiK+09LfaSaBAVBomyDgJua8dfUzR7ga34IvR2Nvj+A9heJ6lsl1KG4NkI1032Cnff1m1wof2B9oHJK4bi6JkEdSqeNeiuo6QoZZincoc73/TH9SXF8sCE7XyuYyW8WSgbGFCjPV0ihLKhdPs08Tx82fYAkLLc4I2wdl4apY7GU5lHRFzRWJep7Ww3wbeA3qmd59/86P4xuNaqDpygXt6M85glSBHOCGgJDnt+pN9bK7HApMguX6+06RZNjzVmcZJ+wcUrJ9//bpRNxNuKpNl9uFds+S9tdx7LaM5ZkIrPj6nIU9mnbFtVbs9s/uLgl8MVczAwet+iOEzzBlYW7RCMgE6gyNLeq6+1tIx4dpgZnd0DksJS5f+JNDpwwcPNXaaVspq1fbQajOrJgK0ofKtJ1Ne90L6VO4MOl5S886p7u6xo7OLjG8TGL+HU1JXGJgppg4nNbNJ5nlzSpuPYy21JUEcUA94PoFiZfjZue+QnyQ80ekOuZVkxx4g+cvhJfHgNl4hy1/a6+RKcKlar/J29y//EztlbVPHVUeQ1zX86eQVAjR/M3dA9w4W8LfaXp4EgM85wOWasli837PzVMOnsLzR+k3o75/lRPAJSE1xAKQzEi5v10ke+VBvRt1cwQRMd+U5mLCTGVd6XiZtgBG5cDi0w22GKcVNvHiu5LQbZEDVtz0onn7k5+heuKXVsZtSzilkLRAUmjMXEMB3J9YC50XBxPiz53SC+EhnPl9WsKCv92SM/OFFIMJZYfl0WW8tIO3UxYcwdMAj7FSmgrsZ2aAZO03BOhP1bNNZItyXYQFTpC3SG1VuPDqH9GkiCDmE+JwxyIVSO5siDErAOpEXFgjy6PQtOVDj+s6e1r8heWVvmZnTciuf4EiNZzCAd7SOMhXERIOlsHIMG399i9aLTy3m2hRLZjJVDNLS53iGIK11dPqQt0zBDyg6qc7YqkDm2M5Ve6dCWCaCbTXX2rToaIgz6+zh4lYUi/+6nqcFMAkQJKHYLK0wYk5N9szV6xihDbDDFr45lN1K4aCXBq/FitPSud9gLt5ZVn+ZqGX7cwm2z5EGMgfFpIFyhGGuDPmso6TItTMwny+7uPnLCf4W6goFQFV0oQSsc9VfMmVLcLr6ZetDZbaSFTLqnSO/bIPjA3/zAUoqgGFAEQS4IhuMzEp2I3jJzbzkk/IEmyax+rhZTwd6f+CGtwPixu8IvzACquPWPREu9ZvGkUzpRwvRRuaNN6cr0W1wWits9ICdYJ7ltbgMiSL3sTPeufgNcVqMVWFkCPDH4jG2jA0XcVgQj62Cb29v9f/z/+2KbYvIv/zzjpQAPkliaVDzNrW57TZ/ZOyZD0nlfMmAIBIAGAI0D3k/mdN4xr9v85ZbZbbqfH2jGd5hUqNZWwl5SPfoGmfElmazUIeNL1j/mkF7VNAzTq4jNt8JoQ11NQOcmhprXoxSxfRGJ9LDEOAQ+dmxAQH90iti9e2u/MoeuaGcDTHoC+xsmEeWmxEKefQuIzHbpw5Tc5cEocboAD09oipWQhtTO1wivf/O+DRe2rpl/E9wlrzBorjJsOeG1B/XPW4EaJEFdNlECEZga5ZoGRHXgYouGRuVkm8tDESiEyFNo+3s5M5puSdTyUL2llnINVHEt91XUNW4ewdMgJ4boJfEyt/iY5WXqbA+A2Fkt5Z0lutiWhe9nZIyIUjyXDC3UsaG1t+eNx6z4W/OYoTB7A6x+dNSTOi9AInctbESqm5gvOLww7OWXPrmHwVZasrl4eD113pm+JtT7JVOvnCXqdzzdTRHgJ0PiGTFYW5Gvt9R9LD6Lzfs0v/TZZHSmyVNq7viIHE6DBK7Qp07Iz55EM8SYtQvZf/obBniTWi5C2/ovHfw4VndkE5XYdjOhCMRjDeOEfXeN/CwfGduiUIfsoFeUxXeQXba7c7972XNv8w+dTjjUM0QeNAReW+J014dKAD/McQYXT7c0GQPIkn3Ll6R7gGjuiQoZD0TEeEqQpKoZ15g/0OPQI17QiSv9AUROa/V/TQN3dvLArec3RrsYlvBm1b8LWzltdugsC50lNKYLEp2a+ZZYqPejULRlOJh5zj/LVMyTDvwKhMxxwuDkxJ1QpoNI0OTWLom4Z71SNzI9TV1iXJrIu9Wcnd+MCaAw8o1jSXd94YU/1gnkrC9BUEOtQvEIQ7g0i6h+KL2JKk8Ydl7HruvgWMSAmNe+LshGhV4qnWHhO9/RIPQzY1tHRj2VqOyNsDpK0cww+56AdDC4gsWwY0XxoucIWIqs/GcwnWqlaT0KPr8mbK5U94/301i1WLt4YINTVvCFBrFZbIbY8eycOdeJ2teD5IfPLCRg7jjcFTwlMFNl9zdh/o3E/hHPwj7BWg0MU09pPrBLbrCgm54A6H+I6v27+jL5gkjWg/iYdks9jbfVP5y/n0dlgWEMlKasl7JvFZd56LfybW1eeaVO0gxTfXZwD8G4SI116yx7UKVRgui6Ya1YpixqXeNLc8IxtAwCU5IhwQgn+NqHnRaDv61CxKhOq4pOX7M6pkA+Pmpd4j1vn6ACUALoLLc4vpXci8VidLxzm7qFBe7s+quuJs6ETYmnpgS3LwSZxPIltgBDXz8M1k/W2ySNv2f9/NPhxLGK2D21dkHeSGmenRT3Yqcdl0m/h3OYr8V+lXNYGf8aCCpd4bWjE4QIPj7vUKN4Nrfs7ML6Y2OyS830JCnofg/k7lpFpt4SqZc5HGg1HCOrHvOdC8bP6FGDbE/VV0mX4IakzbdS/op+Kt3G24/8QbBV7y86sGSQ/vZzU8FXs7u6jIvwchsEP2BpIhW3G8uWNwa3HmjfH/ZjhhCWvluAcF+nMf14ClKg5hGgtPLJ98ueNAkc5Hs2WZlk2QHvfreCK1CCGO6nMZVSb99VM/ajr8WHTte9JSmkXq/i/U943HEbdzW6Re/S88dKgg8pGOLlAeNiqrcLkUR3/aClFpMXcOUP3rmETcWSfMXZE3TUOi8i+fqRnTYLflVx/Vb/6GJ7eIRZUA6k3RYR3iFSK9c4iDdNwJuZL2FKz/IK5VimcNWEqdXjSoxSgmF0UPlDoUlNrPcM7ftmA8Y9gKiqKEHuWN+AZRIwtVSxye2Kf8rM3lhJ5XcBXU9n4v0Oy1RU2M+4qM8AQPVwse8ErNSob5oFPWxuqZnVzo1qB/IBxkM3EVUKFUUlO3e51259GgNcJbCmlvrdjtoTW7rChm1wyCKzpCTwozUUEOIcWLneRLgMXh+SjGSFkAllzbGS5HK7LlfCMRNRDSvbQPjcXaenNYxCvu2Qyznz6StuxVj66SgI0T8B6/sfHAJYZaZ78thjOSIFumNWLQbeZixDCCC+v0YBtkxiBB3jefHqZ/dFHU+crbj6OvS1x/JDD7vlm7zOVPwpUC01nhxZuY/63E7g');

@@ -440,2 +440,3 @@

/*
// direct include from payload is smaller that the decompression code
const FENCED = new Map(read_array_while(() => {

@@ -451,2 +452,3 @@ let cp = r();

function read_chunked() {
// deduplicated sets + uniques
return new Set([read_sorted(r$1).map(i => CHUNKS[i]), read_sorted(r$1)].flat(2));

@@ -532,3 +534,3 @@ }

const EMOJI_SORTED = read_sorted(r$1);
//const EMOJI_SOLO = new Set(read_sorted(r).map(i => EMOJI_SORTED[i]));
//const EMOJI_SOLO = new Set(read_sorted(r).map(i => EMOJI_SORTED[i])); // not needed
const EMOJI_ROOT = read_emoji_trie([]);

@@ -625,3 +627,4 @@ function read_emoji_trie(cps) {

function ens_normalize_fragment(frag, nf = nfc) {
function ens_normalize_fragment(frag, decompose) {
let nf = decompose ? nfd : nfc;
return frag.split(STOP_CH).map(label => str_from_cps(process(explode_cp(label), nf).flatMap(x => x.is_emoji ? filter_fe0f(x) : x))).join(STOP_CH);

@@ -647,2 +650,5 @@ }

}
// 20221213: fixes bidi subdomain issue, but breaks invariant (200E is disallowed)
// could be fixed with special case for: 2D (.) + 200E (LTR)
//output.splice(0, 0, 0x200E);
}

@@ -681,2 +687,3 @@ return flatten(split);

// cant have wholes
// see derive: assert ascii fast path
type = 'ASCII';

@@ -702,5 +709,7 @@ } else {

let unique = [...new Set(chars)];
let [g] = determine_group(unique);
check_group(g, chars);
check_whole(g, unique);
let [g] = determine_group(unique); // take the first match
// see derive: equivalent up to naming
// alternative: could form a hybrid type: Latin/Japanese/...
check_group(g, chars); // need text in order
check_whole(g, unique); // only need unique (order would be required for multiple-char confusables)
type = g.N;

@@ -712,3 +721,3 @@ }

} catch (err) {
info.error = err;
info.error = err; // use full error object
}

@@ -1064,3 +1073,3 @@ info.output = norm;

type: TY_NFC,
input: cps0,
input: cps0, // there are 3 states: tokens0 ==(process)=> input ==(nfc)=> tokens/cps
cps,

@@ -1067,0 +1076,0 @@ tokens0: collapse_valid_tokens(slice),

@@ -1,1 +0,1 @@

function A(A){return function(A){let e=0;return()=>A[e++]}(function(A){let e=0;function t(){return A[e++]<<8|A[e++]}let n=t(),r=1,w=[0,1];for(let A=1;A<n;A++)w.push(r+=t());let C=t(),Q=e;e+=C;let B=0,l=0;function o(){return 0==B&&(l=l<<8|A[e++],B=8),l>>--B&1}const c=2**31,s=c>>>1,f=c-1;let g=0;for(let A=0;A<31;A++)g=g<<1|o();let M=[],i=0,D=c;for(;;){let A=Math.floor(((g-i+1)*r-1)/D),e=0,t=n;for(;t-e>1;){let n=e+t>>>1;A<w[n]?t=n:e=n}if(0==e)break;M.push(e);let C=i+Math.floor(D*w[e]/r),Q=i+Math.floor(D*w[e+1]/r)-1;for(;0==((C^Q)&s);)g=g<<1&f|o(),C=C<<1&f,Q=Q<<1&f|1;for(;C&~Q&536870912;)g=g&s|g<<1&f>>>1|o(),C=C<<1^s,Q=(Q^s)<<1|s|1;i=C,D=1+Q-C}let E=n-4;return M.map((e=>{switch(e-E){case 3:return E+65792+(A[Q++]<<16|A[Q++]<<8|A[Q++]);case 2:return E+256+(A[Q++]<<8|A[Q++]);case 1:return E+A[Q++];default:return e-1}}))}(function(A){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,t)=>e[A.charCodeAt(0)]=t));let t=A.length,n=new Uint8Array(6*t>>3);for(let r=0,w=0,C=0,Q=0;r<t;r++)Q=Q<<6|e[A.charCodeAt(r)],C+=6,C>=8&&(n[w++]=Q>>(C-=8));return n}(A)))}function e(A){return 1&A?~A>>1:A>>1}function t(A,t){let n=Array(A);for(let r=0,w=0;r<A;r++)n[r]=w+=e(t());return n}function n(A,e=0){let t=[];for(;;){let n=A(),r=A();if(!r)break;e+=n;for(let A=0;A<r;A++)t.push(e+A);e+=r+1}return t}function r(A){return C((()=>{let e=n(A);if(e.length)return e}))}function w(A){let e=[];for(;;){let t=A();if(0==t)break;e.push(B(t,A))}for(;;){let t=A()-1;if(t<0)break;e.push(l(t,A))}return e.flat()}function C(A){let e=[];for(;;){let t=A(e.length);if(!t)break;e.push(t)}return e}function Q(A,e,n){let r=Array(A).fill().map((()=>[]));for(let w=0;w<e;w++)t(A,n).forEach(((A,e)=>r[e].push(A)));return r}function B(A,e){let t=1+e(),n=e(),r=C(e);return Q(r.length,1+A,e).flatMap(((A,e)=>{let[w,...C]=A;return Array(r[e]).fill().map(((A,e)=>{let r=e*n;return[w+e*t,C.map((A=>A+r))]}))}))}function l(A,e){return Q(1+e(),1+A,e).map((A=>[A[0],A.slice(1)]))}var o=A("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");const c=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function s(A){return`{${function(A){return A.toString(16).toUpperCase().padStart(2,"0")}(A)}}`}function f(A){let e=[];for(let t=0,n=A.length;t<n;){let n=A.codePointAt(t);t+=n<65536?1:2,e.push(n)}return e}function g(A){let e=A.length;if(e<4096)return String.fromCodePoint(...A);let t=[];for(let n=0;n<e;)t.push(String.fromCodePoint(...A.slice(n,n+=4096)));return t.join("")}function M(A,e){let{length:t}=A,n=t-e.length;for(let r=0;0==n&&r<t;r++)n=A[r]-e[r];return n}var i=A("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");function D(A){return A>>24&255}function E(A){return 16777215&A}const u=new Map(r(i).flatMap(((A,e)=>A.map((A=>[A,e+1<<24]))))),h=new Set(n(i)),a=new Map,p=new Map;for(let[A,e]of w(i)){if(!h.has(A)&&2==e.length){let[t,n]=e,r=p.get(t);r||(r=new Map,p.set(t,r)),r.set(n,A)}a.set(A,e.reverse())}const I=44032;function k(A){return A>=I&&A<55204}function F(A,e){if(A>=4352&&A<4371&&e>=4449&&e<4470)return I+588*(A-4352)+28*(e-4449);if(k(A)&&e>4519&&e<4547&&(A-I)%28==0)return A+(e-4519);{let t=p.get(A);return t&&(t=t.get(e),t)?t:-1}}function U(A){let e=[],t=[],n=!1;function r(A){let t=u.get(A);t&&(n=!0,A|=t),e.push(A)}for(let n of A)for(;;){if(n<128)e.push(n);else if(k(n)){let A=n-I,e=A%588/28|0,t=A%28;r(4352+(A/588|0)),r(4449+e),t>0&&r(4519+t)}else{let A=a.get(n);A?t.push(...A):r(n)}if(!t.length)break;n=t.pop()}if(n&&e.length>1){let A=D(e[0]);for(let t=1;t<e.length;t++){let n=D(e[t]);if(0==n||A<=n){A=n;continue}let r=t-1;for(;;){let t=e[r+1];if(e[r+1]=e[r],e[r]=t,!r)break;if(A=D(e[--r]),A<=n)break}A=D(e[t])}}return e}function N(A){return U(A).map(E)}function J(A){return function(A){let e=[],t=[],n=-1,r=0;for(let w of A){let A=D(w),C=E(w);if(-1==n)0==A?n=C:e.push(C);else if(r>0&&r>=A)0==A?(e.push(n,...t),t.length=0,n=C):t.push(C),r=A;else{let w=F(n,C);w>=0?n=w:0==r&&0==A?(e.push(n),n=C):(t.push(C),r=A)}}return n>=0&&e.push(n,...t),e}(U(A))}function S(){return new Set(n(o))}const G=new Map(w(o)),V=S(),x=S(),L=S(),R=S(),T=r(o);function m(){return new Set([n(o).map((A=>T[A])),n(o)].flat(2))}const d=o(),H=C((A=>{let e=C(o).map((A=>A+96));if(e.length){let t=A>=d;e[0]-=32,e=g(e),t&&(e=`Restricted[${e}]`);let n=m(),r=m(),w=[...n,...r].sort(((A,e)=>A-e));return{N:e,P:n,M:o()-1,R:t,V:new Set(w)}}})),P=S(),z=new Map;[...P,...S()].sort(((A,e)=>A-e)).map(((A,e,t)=>{let n=o(),r=t[e]=n?t[e-n]:{V:[],M:new Map};r.V.push(A),P.has(A)||z.set(A,r)}));for(let{V:A,M:e}of new Set(z.values())){let t=[];for(let e of A){let A=H.filter((A=>A.V.has(e))),n=t.find((({G:e})=>A.some((A=>e.has(A)))));n||(n={G:new Set,V:[]},t.push(n)),n.V.push(e),A.forEach((A=>n.G.add(A)))}let n=t.flatMap((({G:A})=>[...A]));for(let{G:A,V:r}of t){let t=new Set(n.filter((e=>!A.has(e))));for(let A of r)e.set(A,t)}}let j=new Set,K=new Set;for(let A of H)for(let e of A.V)(j.has(e)?K:j).add(e);for(let A of j)z.has(A)||K.has(A)||z.set(A,1);const O=new Set([...j,...N(j)]),Y=n(o),W=function A(e){let t=C((()=>{let e=n(o).map((A=>Y[A]));if(e.length)return A(e)})).sort(((A,e)=>e.Q.size-A.Q.size)),r=o(),w=r%3;r=r/3|0;let Q=1&r;return r>>=1,{B:t,V:w,F:Q,S:1&r,C:2&r,Q:new Set(e)}}([]);class X extends Array{get is_emoji(){return!0}}function v(A,e=s){let t=[];y(A[0])&&t.push("◌");let n=0,r=A.length;for(let w=0;w<r;w++){let r=A[w];q(r)&&(t.push(g(A.slice(n,w))),t.push(e(r)),n=w+1)}return t.push(g(A.slice(n,r))),t.join("")}function b(A){return(q(A)?"":`"${v([A])}" `)+s(A)}function Z(A){for(let e=A.lastIndexOf(95);e>0;)if(95!==A[--e])throw new Error("underscore allowed only at start")}function y(A){return x.has(A)}function q(A){return L.has(A)}function $(A,e=J){return A.split(".").map((A=>g(CA(f(A),e).flatMap((A=>A.is_emoji?QA(A):A))))).join(".")}function _(A){return tA(eA(A))}function AA(A){let e=eA(A,!0);for(let{type:A,output:t,error:n}of e)if(!n&&"Greek"!==A){let A=0;for(;;){let e=t.indexOf(958,A);if(e<0)break;t[e]=926,A=e+1}}return tA(e)}function eA(A,e){let t=0;return A.split(".").map((A=>{let n,r=f(A),w={input:r,offset:t};t+=r.length+1;try{let A,t=w.tokens=CA(r,J),C=t.length;if(C){let r=t[0],Q=C>1||r.is_emoji;if(!Q&&r.every((A=>A<128)))n=r,Z(n),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(n),A="ASCII";else if(Q&&(w.emoji=!0,r=t.flatMap((A=>A.is_emoji?[]:A))),n=t.flatMap((A=>!e&&A.is_emoji?QA(A):A)),Z(n),r.length){if(x.has(n[0]))throw wA("leading combining mark");for(let A=1;A<C;A++){let e=t[A];if(!e.is_emoji&&x.has(e[0]))throw wA(`emoji + combining mark: "${g(t[A-1])} + ${v([e[0]])}"`)}!function(A){let e=A[0],t=c.get(e);if(t)throw wA(`leading ${t}`);let n=A.length,r=-1;for(let w=1;w<n;w++){e=A[w];let n=c.get(e);if(n){if(r==w)throw wA(`${t} + ${n}`);r=w+1,t=n}}if(r==n)throw wA(`trailing ${t}`)}(n);let e=[...new Set(r)],[w]=function(A){let e=H;for(let t of A){let A=e.filter((A=>A.V.has(t)));if(!A.length)throw e===H?nA(t):rA(e[0],t);if(e=A,1==A.length)break}return e}(e);!function(A,e){let{V:t,M:n}=A;for(let n of e)if(!t.has(n))throw rA(A,n);if(n>=0)for(let t=1,r=N(e).length;t<r;t++)if(x.has(e[t])){let w=t+1;for(;w<r&&x.has(e[w]);)w++;if(w-t>n)throw new Error(`too many combining marks: ${A.N} "${g(e.slice(t-1,w))}" (${w-t}/${n})`);t=w}}(w,r),function(A,e){let t,n=[];for(let A of e){let e=z.get(A);if(1===e)return;if(e){let n=e.M.get(A);if(t=t?t.filter((A=>n.has(A))):[...n],!t.length)return}else n.push(A)}if(t)for(let e of t)if(n.every((A=>e.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${e.N}`)}(w,e),A=w.N}else A="Emoji"}else n=[],A="None";w.type=A}catch(A){w.error=A}return w.output=n,w}))}function tA(A){return A.map((({input:e,error:t,output:n})=>{if(t){let n=t.message;throw new Error(1==A.length?n:`Invalid label "${v(e)}": ${n}`)}return g(n)})).join(".")}function nA(A){return new Error(`disallowed character: ${b(A)}`)}function rA(A,e){let t=b(e),n=H.find((A=>A.P.has(e)));return n&&(t=`${n.N} ${t}`),new Error(`illegal mixture: ${A.N} + ${t}`)}function wA(A){return new Error(`illegal placement: ${A}`)}function CA(A,e){let t=[],n=[];for(A=A.slice().reverse();A.length;){let r=BA(A);if(r)n.length&&(t.push(e(n)),n=[]),t.push(r);else{let e=A.pop();if(O.has(e))n.push(e);else{let A=G.get(e);if(A)n.push(...A);else if(!V.has(e))throw nA(e)}}}return n.length&&t.push(e(n)),t}function QA(A){return A.filter((A=>65039!=A))}function BA(A,e){let t,n,r=W,w=[],C=A.length;for(e&&(e.length=0);C;){let Q=A[--C];if(r=r.B.find((A=>A.Q.has(Q))),!r)break;if(r.S)n=Q;else if(r.C&&Q===n)break;w.push(Q),r.F&&(w.push(65039),C>0&&65039==A[C-1]&&C--),r.V&&(t=lA(w,r),e&&e.push(...A.slice(C).reverse()),A.length=C)}return t}function lA(A,e){let t=X.from(A);return 2==e.V&&t.splice(1,1),t}function oA(){let A=[];return function e(t,n,r){if(t.S)r=n[n.length-1];else if(t.C&&r===n[n.length-1])return;t.F&&n.push(65039),t.V&&A.push(lA(n,t));for(let A of t.B)for(let t of A.Q)e(A,[...n,t],r)}(W,[]),A.sort(M)}function cA(A,{nf:e=!0}={}){let t=f(A).reverse(),n=[],r=[];for(;t.length;){let A=BA(t,n);if(A)r.push({type:"emoji",emoji:A,input:n.slice(),cps:QA(A)});else{let A=t.pop();if(46==A)r.push({type:"stop",cp:A});else if(O.has(A))r.push({type:"valid",cps:[A]});else if(V.has(A))r.push({type:"ignored",cp:A});else{let e=G.get(A);e?r.push({type:"mapped",cp:A,cps:e.slice()}):r.push({type:"disallowed",cp:A})}}}if(e)for(let A=0,e=-1;A<r.length;A++){let t=r[A];if(sA(t.type))if(fA(t.cps)){let t=A+1;for(let A=t;A<r.length;A++){let{type:e,cps:n}=r[A];if(sA(e)){if(!fA(n))break;t=A+1}else if("ignored"!==e)break}e<0&&(e=A);let n=r.slice(e,t),w=n.flatMap((A=>sA(A.type)?A.cps:[])),C=J(w);M(C,w)?(r.splice(e,t-e,{type:"nfc",input:w,cps:C,tokens0:gA(n),tokens:cA(g(C),{nf:!1})}),A=e):A=t-1,e=-1}else e=A;else"ignored"!==t.type&&(e=-1)}return gA(r)}function sA(A){return"valid"==A||"mapped"==A}function fA(A){return A.some((A=>R.has(A)))}function gA(A){for(let e=0;e<A.length;e++)if("valid"==A[e].type){let t=e+1;for(;t<A.length&&"valid"==A[t].type;)t++;A.splice(e,t-e,{type:"valid",cps:A.slice(e,t).flatMap((A=>A.cps))})}return A}export{AA as ens_beautify,oA as ens_emoji,_ as ens_normalize,$ as ens_normalize_fragment,eA as ens_split,cA as ens_tokenize,y as is_combining_mark,J as nfc,N as nfd,v as safe_str_from_cps,q as should_escape};
function A(A){return function(A){let e=0;return()=>A[e++]}(function(A){let e=0;function t(){return A[e++]<<8|A[e++]}let C=t(),g=1,o=[0,1];for(let A=1;A<C;A++)o.push(g+=t());let r=t(),n=e;e+=r;let B=0,l=0;function w(){return 0==B&&(l=l<<8|A[e++],B=8),l>>--B&1}const Q=2**31,s=Q>>>1,i=Q-1;let f=0;for(let A=0;A<31;A++)f=f<<1|w();let c=[],I=0,D=Q;for(;;){let A=Math.floor(((f-I+1)*g-1)/D),e=0,t=C;for(;t-e>1;){let C=e+t>>>1;A<o[C]?t=C:e=C}if(0==e)break;c.push(e);let r=I+Math.floor(D*o[e]/g),n=I+Math.floor(D*o[e+1]/g)-1;for(;0==((r^n)&s);)f=f<<1&i|w(),r=r<<1&i,n=n<<1&i|1;for(;r&~n&536870912;)f=f&s|f<<1&i>>>1|w(),r=r<<1^s,n=(n^s)<<1|s|1;I=r,D=1+n-r}let E=C-4;return c.map((e=>{switch(e-E){case 3:return E+65792+(A[n++]<<16|A[n++]<<8|A[n++]);case 2:return E+256+(A[n++]<<8|A[n++]);case 1:return E+A[n++];default:return e-1}}))}(function(A){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach(((A,t)=>e[A.charCodeAt(0)]=t));let t=A.length,C=new Uint8Array(6*t>>3);for(let g=0,o=0,r=0,n=0;g<t;g++)n=n<<6|e[A.charCodeAt(g)],r+=6,r>=8&&(C[o++]=n>>(r-=8));return C}(A)))}function e(A){return 1&A?~A>>1:A>>1}function t(A,t){let C=Array(A);for(let g=0,o=0;g<A;g++)C[g]=o+=e(t());return C}function C(A,e=0){let t=[];for(;;){let C=A(),g=A();if(!g)break;e+=C;for(let A=0;A<g;A++)t.push(e+A);e+=g+1}return t}function g(A){return r((()=>{let e=C(A);if(e.length)return e}))}function o(A){let e=[];for(;;){let t=A();if(0==t)break;e.push(B(t,A))}for(;;){let t=A()-1;if(t<0)break;e.push(l(t,A))}return e.flat()}function r(A){let e=[];for(;;){let t=A(e.length);if(!t)break;e.push(t)}return e}function n(A,e,C){let g=Array(A).fill().map((()=>[]));for(let o=0;o<e;o++)t(A,C).forEach(((A,e)=>g[e].push(A)));return g}function B(A,e){let t=1+e(),C=e(),g=r(e);return n(g.length,1+A,e).flatMap(((A,e)=>{let[o,...r]=A;return Array(g[e]).fill().map(((A,e)=>{let g=e*C;return[o+e*t,r.map((A=>A+g))]}))}))}function l(A,e){return n(1+e(),1+A,e).map((A=>[A[0],A.slice(1)]))}var w=A("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");const Q=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function s(A){return`{${function(A){return A.toString(16).toUpperCase().padStart(2,"0")}(A)}}`}function i(A){let e=[];for(let t=0,C=A.length;t<C;){let C=A.codePointAt(t);t+=C<65536?1:2,e.push(C)}return e}function f(A){let e=A.length;if(e<4096)return String.fromCodePoint(...A);let t=[];for(let C=0;C<e;)t.push(String.fromCodePoint(...A.slice(C,C+=4096)));return t.join("")}function c(A,e){let{length:t}=A,C=t-e.length;for(let g=0;0==C&&g<t;g++)C=A[g]-e[g];return C}var I=A("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");function D(A){return A>>24&255}function E(A){return 16777215&A}const u=new Map(g(I).flatMap(((A,e)=>A.map((A=>[A,e+1<<24]))))),h=new Set(C(I)),p=new Map,a=new Map;for(let[A,e]of o(I)){if(!h.has(A)&&2==e.length){let[t,C]=e,g=a.get(t);g||(g=new Map,a.set(t,g)),g.set(C,A)}p.set(A,e.reverse())}const M=44032;function L(A){return A>=M&&A<55204}function F(A,e){if(A>=4352&&A<4371&&e>=4449&&e<4470)return M+588*(A-4352)+28*(e-4449);if(L(A)&&e>4519&&e<4547&&(A-M)%28==0)return A+(e-4519);{let t=a.get(A);return t&&(t=t.get(e),t)?t:-1}}function k(A){let e=[],t=[],C=!1;function g(A){let t=u.get(A);t&&(C=!0,A|=t),e.push(A)}for(let C of A)for(;;){if(C<128)e.push(C);else if(L(C)){let A=C-M,e=A%588/28|0,t=A%28;g(4352+(A/588|0)),g(4449+e),t>0&&g(4519+t)}else{let A=p.get(C);A?t.push(...A):g(C)}if(!t.length)break;C=t.pop()}if(C&&e.length>1){let A=D(e[0]);for(let t=1;t<e.length;t++){let C=D(e[t]);if(0==C||A<=C){A=C;continue}let g=t-1;for(;;){let t=e[g+1];if(e[g+1]=e[g],e[g]=t,!g)break;if(A=D(e[--g]),A<=C)break}A=D(e[t])}}return e}function Y(A){return k(A).map(E)}function U(A){return function(A){let e=[],t=[],C=-1,g=0;for(let o of A){let A=D(o),r=E(o);if(-1==C)0==A?C=r:e.push(r);else if(g>0&&g>=A)0==A?(e.push(C,...t),t.length=0,C=r):t.push(r),g=A;else{let o=F(C,r);o>=0?C=o:0==g&&0==A?(e.push(C),C=r):(t.push(r),g=A)}}return C>=0&&e.push(C,...t),e}(k(A))}function S(){return new Set(C(w))}const N=new Map(o(w)),R=S(),P=S(),J=S(),K=S(),z=g(w);function V(){return new Set([C(w).map((A=>z[A])),C(w)].flat(2))}const H=w(),O=r((A=>{let e=r(w).map((A=>A+96));if(e.length){let t=A>=H;e[0]-=32,e=f(e),t&&(e=`Restricted[${e}]`);let C=V(),g=V(),o=[...C,...g].sort(((A,e)=>A-e));return{N:e,P:C,M:w()-1,R:t,V:new Set(o)}}})),G=S(),m=new Map;[...G,...S()].sort(((A,e)=>A-e)).map(((A,e,t)=>{let C=w(),g=t[e]=C?t[e-C]:{V:[],M:new Map};g.V.push(A),G.has(A)||m.set(A,g)}));for(let{V:A,M:e}of new Set(m.values())){let t=[];for(let e of A){let A=O.filter((A=>A.V.has(e))),C=t.find((({G:e})=>A.some((A=>e.has(A)))));C||(C={G:new Set,V:[]},t.push(C)),C.V.push(e),A.forEach((A=>C.G.add(A)))}let C=t.flatMap((({G:A})=>[...A]));for(let{G:A,V:g}of t){let t=new Set(C.filter((e=>!A.has(e))));for(let A of g)e.set(A,t)}}let T=new Set,b=new Set;for(let A of O)for(let e of A.V)(T.has(e)?b:T).add(e);for(let A of T)m.has(A)||b.has(A)||m.set(A,1);const j=new Set([...T,...Y(T)]),Z=C(w),W=function A(e){let t=r((()=>{let e=C(w).map((A=>Z[A]));if(e.length)return A(e)})).sort(((A,e)=>e.Q.size-A.Q.size)),g=w(),o=g%3;g=g/3|0;let n=1&g;return g>>=1,{B:t,V:o,F:n,S:1&g,C:2&g,Q:new Set(e)}}([]);class q extends Array{get is_emoji(){return!0}}function y(A,e=s){let t=[];X(A[0])&&t.push("◌");let C=0,g=A.length;for(let o=0;o<g;o++){let g=A[o];v(g)&&(t.push(f(A.slice(C,o))),t.push(e(g)),C=o+1)}return t.push(f(A.slice(C,g))),t.join("")}function d(A){return(v(A)?"":`"${y([A])}" `)+s(A)}function x(A){for(let e=A.lastIndexOf(95);e>0;)if(95!==A[--e])throw new Error("underscore allowed only at start")}function X(A){return P.has(A)}function v(A){return J.has(A)}function $(A,e){let t=e?Y:U;return A.split(".").map((A=>f(rA(i(A),t).flatMap((A=>A.is_emoji?nA(A):A))))).join(".")}function _(A){return tA(eA(A))}function AA(A){let e=eA(A,!0);for(let{type:A,output:t,error:C}of e)if(!C&&"Greek"!==A){let A=0;for(;;){let e=t.indexOf(958,A);if(e<0)break;t[e]=926,A=e+1}}return tA(e)}function eA(A,e){let t=0;return A.split(".").map((A=>{let C,g=i(A),o={input:g,offset:t};t+=g.length+1;try{let A,t=o.tokens=rA(g,U),r=t.length;if(r){let g=t[0],n=r>1||g.is_emoji;if(!n&&g.every((A=>A<128)))C=g,x(C),function(A){if(A.length>=4&&45==A[2]&&45==A[3])throw new Error("invalid label extension")}(C),A="ASCII";else if(n&&(o.emoji=!0,g=t.flatMap((A=>A.is_emoji?[]:A))),C=t.flatMap((A=>!e&&A.is_emoji?nA(A):A)),x(C),g.length){if(P.has(C[0]))throw oA("leading combining mark");for(let A=1;A<r;A++){let e=t[A];if(!e.is_emoji&&P.has(e[0]))throw oA(`emoji + combining mark: "${f(t[A-1])} + ${y([e[0]])}"`)}!function(A){let e=A[0],t=Q.get(e);if(t)throw oA(`leading ${t}`);let C=A.length,g=-1;for(let o=1;o<C;o++){e=A[o];let C=Q.get(e);if(C){if(g==o)throw oA(`${t} + ${C}`);g=o+1,t=C}}if(g==C)throw oA(`trailing ${t}`)}(C);let e=[...new Set(g)],[o]=function(A){let e=O;for(let t of A){let A=e.filter((A=>A.V.has(t)));if(!A.length)throw e===O?CA(t):gA(e[0],t);if(e=A,1==A.length)break}return e}(e);!function(A,e){let{V:t,M:C}=A;for(let C of e)if(!t.has(C))throw gA(A,C);if(C>=0)for(let t=1,g=Y(e).length;t<g;t++)if(P.has(e[t])){let o=t+1;for(;o<g&&P.has(e[o]);)o++;if(o-t>C)throw new Error(`too many combining marks: ${A.N} "${f(e.slice(t-1,o))}" (${o-t}/${C})`);t=o}}(o,g),function(A,e){let t,C=[];for(let A of e){let e=m.get(A);if(1===e)return;if(e){let C=e.M.get(A);if(t=t?t.filter((A=>C.has(A))):[...C],!t.length)return}else C.push(A)}if(t)for(let e of t)if(C.every((A=>e.V.has(A))))throw new Error(`whole-script confusable: ${A.N}/${e.N}`)}(o,e),A=o.N}else A="Emoji"}else C=[],A="None";o.type=A}catch(A){o.error=A}return o.output=C,o}))}function tA(A){return A.map((({input:e,error:t,output:C})=>{if(t){let C=t.message;throw new Error(1==A.length?C:`Invalid label "${y(e)}": ${C}`)}return f(C)})).join(".")}function CA(A){return new Error(`disallowed character: ${d(A)}`)}function gA(A,e){let t=d(e),C=O.find((A=>A.P.has(e)));return C&&(t=`${C.N} ${t}`),new Error(`illegal mixture: ${A.N} + ${t}`)}function oA(A){return new Error(`illegal placement: ${A}`)}function rA(A,e){let t=[],C=[];for(A=A.slice().reverse();A.length;){let g=BA(A);if(g)C.length&&(t.push(e(C)),C=[]),t.push(g);else{let e=A.pop();if(j.has(e))C.push(e);else{let A=N.get(e);if(A)C.push(...A);else if(!R.has(e))throw CA(e)}}}return C.length&&t.push(e(C)),t}function nA(A){return A.filter((A=>65039!=A))}function BA(A,e){let t,C,g=W,o=[],r=A.length;for(e&&(e.length=0);r;){let n=A[--r];if(g=g.B.find((A=>A.Q.has(n))),!g)break;if(g.S)C=n;else if(g.C&&n===C)break;o.push(n),g.F&&(o.push(65039),r>0&&65039==A[r-1]&&r--),g.V&&(t=lA(o,g),e&&e.push(...A.slice(r).reverse()),A.length=r)}return t}function lA(A,e){let t=q.from(A);return 2==e.V&&t.splice(1,1),t}function wA(){let A=[];return function e(t,C,g){if(t.S)g=C[C.length-1];else if(t.C&&g===C[C.length-1])return;t.F&&C.push(65039),t.V&&A.push(lA(C,t));for(let A of t.B)for(let t of A.Q)e(A,[...C,t],g)}(W,[]),A.sort(c)}function QA(A,{nf:e=!0}={}){let t=i(A).reverse(),C=[],g=[];for(;t.length;){let A=BA(t,C);if(A)g.push({type:"emoji",emoji:A,input:C.slice(),cps:nA(A)});else{let A=t.pop();if(46==A)g.push({type:"stop",cp:A});else if(j.has(A))g.push({type:"valid",cps:[A]});else if(R.has(A))g.push({type:"ignored",cp:A});else{let e=N.get(A);e?g.push({type:"mapped",cp:A,cps:e.slice()}):g.push({type:"disallowed",cp:A})}}}if(e)for(let A=0,e=-1;A<g.length;A++){let t=g[A];if(sA(t.type))if(iA(t.cps)){let t=A+1;for(let A=t;A<g.length;A++){let{type:e,cps:C}=g[A];if(sA(e)){if(!iA(C))break;t=A+1}else if("ignored"!==e)break}e<0&&(e=A);let C=g.slice(e,t),o=C.flatMap((A=>sA(A.type)?A.cps:[])),r=U(o);c(r,o)?(g.splice(e,t-e,{type:"nfc",input:o,cps:r,tokens0:fA(C),tokens:QA(f(r),{nf:!1})}),A=e):A=t-1,e=-1}else e=A;else"ignored"!==t.type&&(e=-1)}return fA(g)}function sA(A){return"valid"==A||"mapped"==A}function iA(A){return A.some((A=>K.has(A)))}function fA(A){for(let e=0;e<A.length;e++)if("valid"==A[e].type){let t=e+1;for(;t<A.length&&"valid"==A[t].type;)t++;A.splice(e,t-e,{type:"valid",cps:A.slice(e,t).flatMap((A=>A.cps))})}return A}export{AA as ens_beautify,wA as ens_emoji,_ as ens_normalize,$ as ens_normalize_fragment,eA as ens_split,QA as ens_tokenize,X as is_combining_mark,U as nfc,Y as nfd,y as safe_str_from_cps,v as should_escape};
{
"name": "@adraffy/ens-normalize",
"version": "1.8.3",
"version": "1.8.6",
"description": "Compact ES6 Ethereum Name Service (ENS) Name Normalizer",

@@ -5,0 +5,0 @@ "keywords": [

@@ -5,3 +5,3 @@ # ens-normalize.js

* Follows [ENS Name Normalization Standard](https://github.com/adraffy/ensip-norm/blob/main/draft.md)
* Passes [**100%**](https://adraffy.github.io/ens-norm-tests/test-validation/output/ens_normalize_1.6.3.html) Validation Tests
* Passes [**100%**](https://adraffy.github.io/ens-normalize.js/test/validate.html) Validation Tests
* Custom [`NFC`](https://unicode.org/reports/tr15/) Implementation (or use native)

@@ -13,6 +13,17 @@ * Passes [**100%**](https://adraffy.github.io/ens-normalize.js/test/report-nf.html) Unicode `15.0.0` [Normalization Tests](https://www.unicode.org/Public/15.0.0/ucd/NormalizationTest.txt)

* [`41KB`](./dist/all.min.js) *Everything!* — custom `NFC` + sub-libraries: [parts.js](./src/parts.js), [utils.js](./src/utils.js)
* [**Resolver Demo**](https://adraffy.github.io/ens-normalize.js/test/resolver.html)
* [Character Viewer](https://adraffy.github.io/ens-normalize.js/test/chars.html)
* [List of Supported Emoji](https://adraffy.github.io/ens-normalize.js/test/emoji.html)
* [Confused Explainer](https://adraffy.github.io/ens-normalize.js/test/confused.html)
* Included Apps:
* [**Resolver Demo**](https://adraffy.github.io/ens-normalize.js/test/resolver.html)
* [Character Viewer](https://adraffy.github.io/ens-normalize.js/test/chars.html)
* [Supported Emoji](https://adraffy.github.io/ens-normalize.js/test/emoji.html)
* [Confused Explainer](https://adraffy.github.io/ens-normalize.js/test/confused.html)
* External Apps:
* [Recent Registrations](https://raffy.antistupid.com/eth/ens-regs.html)
* [Emoji Frequency Explorer](https://raffy.antistupid.com/eth/ens-emoji-freq.html)
* Breakdown Reports:
* [Disallowed Characters](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/disallowed.html)
* [Different Norm](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/diff.html)
* [Whole-script Confusables](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/wholes.html)
* [Illegal Placement](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/placement.html)
* [Illegal Mixtures](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/mixtures.html)
* [Excess Combining Marks](https://adraffy.github.io/ens-norm-tests/test-breakdown/output/cm.html)

@@ -24,3 +35,3 @@ ```Javascript

// *** ALL errors throw by this library are safe to print ***
// *** ALL errors thrown by this library are safe to print ***

@@ -140,3 +151,3 @@ // string -> string

Determine if a character is a printable combining mark:
Determine if a character is a combining mark:
```Javascript

@@ -164,2 +175,2 @@ // number -> bool

* `npm run rebuild` — run all the commands above
* `npm run order` — create optimal ordering and rebuild again
* `npm run order` — create optimal ordering and rebuild again

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc