From bdffab1b658026e6fa69426237e9983a4c03fca4 Mon Sep 17 00:00:00 2001 From: amiika Date: Fri, 17 Nov 2023 15:40:18 +0000 Subject: [PATCH] deploy: 0d6aa6035185709d5fed9e4146ac405144a9d2a0 --- .../{index-90c7e125.js => index-75a44399.js} | 4 ++-- ...ex-90c7e125.js.gz => index-75a44399.js.gz} | Bin 749206 -> 749249 bytes index.html | 2 +- index.html.gz | Bin 11891 -> 11891 bytes sw.js | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename assets/{index-90c7e125.js => index-75a44399.js} (96%) rename assets/{index-90c7e125.js.gz => index-75a44399.js.gz} (89%) diff --git a/assets/index-90c7e125.js b/assets/index-75a44399.js similarity index 96% rename from assets/index-90c7e125.js rename to assets/index-75a44399.js index 5342dc1..d07b57d 100644 --- a/assets/index-90c7e125.js +++ b/assets/index-75a44399.js @@ -3163,12 +3163,12 @@ https://github.com/highlightjs/highlight.js/issues/2277`),se=P,ne=q),z===void 0& `+c.line+" | "+_+` `+m+" | "+t("",l.column-1," ")+t("",R,"^")}else a+=` at `+u}return a},e.buildMessage=function(i,a){var s={literal:function(_){return'"'+l(_.text)+'"'},class:function(_){var E=_.parts.map(function(R){return Array.isArray(R)?c(R[0])+"-"+c(R[1]):c(R)});return"["+(_.inverted?"^":"")+E.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(_){return _.description}};function o(_){return _.charCodeAt(0).toString(16).toUpperCase()}function l(_){return _.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function c(_){return _.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(_){return s[_.type](_)}function p(_){var E=_.map(u),R,w;if(E.sort(),E.length>0){for(R=1,w=1;R",H="[",h="+",S="*",b="%",N="&",M="|",B="<<",F=">>",V=/^[' '\t\r\n]/,re=/^[0-9]/,ae=ir(["'"," ","'"," ","\r",` -`],!1,!1),ie=wt("(",!1),te=wt(",",!1),x=wt(")",!1),P=ir([["0","9"]],!1,!1),q=wt(".",!1),z=wt("-",!1),ne=wt("/",!1),se=wt("\\",!1),_e=wt("<",!1),ye=wt(">",!1),Ie=wt("[",!1),ve=wt("+",!1),Re=wt("*",!1),de=wt("%",!1),Be=wt("&",!1),je=wt("|",!1),Ue=wt("<<",!1),rt=wt(">>",!1),st=function(W){return Nq(W.filter(oe=>oe))},bt=function(){},At=function(W,oe){return Math.floor(Math.random()*(oe-W+1)+W)},St=function(W,oe){return Math.random()*(oe-W)+W},Nt=function(){return parseFloat(ut())},kt=function(){return parseInt(ut())},Fn=function(W){return SI(W)},ze=function(W,oe){return W/oe},fn=function(W,oe){return Math.pow(2,W/oe)},Je=function(W,oe,pe,Se){var xe=Se?pe/Se:pe;return Math.pow(xe,W/oe)},Pe=function(W,oe){return parseFloat(W.toString()+"."+oe.toString())},cn=function(W){return W.filter(oe=>oe)},rn=function(W){return wq(W)},hn=function(){return mI(ut())},K=0,me=0,De=[{line:1,column:1}],Me=0,tt=[],Ne={},jt;if("startRule"in a){if(!(a.startRule in l))throw new Error(`Can't start parsing from rule "`+a.startRule+'".');c=l[a.startRule]}function ut(){return i.substring(me,K)}function wt(W,oe){return{type:"literal",text:W,ignoreCase:oe}}function ir(W,oe,pe){return{type:"class",parts:W,inverted:oe,ignoreCase:pe}}function ft(){return{type:"end"}}function an(W){var oe=De[W],pe;if(oe)return oe;for(pe=W-1;!De[pe];)pe--;for(oe=De[pe],oe={line:oe.line,column:oe.column};peMe&&(Me=K,tt=[]),tt.push(W))}function Zn(W,oe,pe){return new e(e.buildMessage(W,oe),W,oe,pe)}function ii(){var W,oe,pe,Se=K*17+0,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,oe=[],pe=Ur(),pe===s&&(pe=ar(),pe===s&&(pe=Yr(),pe===s&&(pe=sn(),pe===s&&(pe=dt())))),pe!==s)for(;pe!==s;)oe.push(pe),pe=Ur(),pe===s&&(pe=ar(),pe===s&&(pe=Yr(),pe===s&&(pe=sn(),pe===s&&(pe=dt()))));else oe=s;return oe!==s&&(me=W,oe=st(oe)),W=oe,Ne[Se]={nextPos:K,result:W},W}function dt(){var W,oe,pe=K*17+1,Se=Ne[pe];return Se?(K=Se.nextPos,Se.result):(W=K,V.test(i.charAt(K))?(oe=i.charAt(K),K++):(oe=s,$e(ae)),oe!==s&&(me=W,oe=bt()),W=oe,Ne[pe]={nextPos:K,result:W},W)}function ar(){var W,oe=K*17+2,pe=Ne[oe];return pe?(K=pe.nextPos,pe.result):(W=Yn(),W===s&&(W=Jt(),W===s&&(W=Un(),W===s&&(W=Wi()))),Ne[oe]={nextPos:K,result:W},W)}function Un(){var W,oe,pe,Se,xe,Ve,Fe=K*17+3,Rt=Ne[Fe];return Rt?(K=Rt.nextPos,Rt.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=Jt(),pe!==s?(i.charCodeAt(K)===44?(Se=p,K++):(Se=s,$e(te)),Se!==s?(xe=Jt(),xe!==s?(i.charCodeAt(K)===41?(Ve=m,K++):(Ve=s,$e(x)),Ve!==s?(me=W,W=At(pe,xe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[Fe]={nextPos:K,result:W},W)}function Wi(){var W,oe,pe,Se,xe,Ve,Fe=K*17+4,Rt=Ne[Fe];return Rt?(K=Rt.nextPos,Rt.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=Yn(),pe!==s?(i.charCodeAt(K)===44?(Se=p,K++):(Se=s,$e(te)),Se!==s?(xe=Yn(),xe!==s?(i.charCodeAt(K)===41?(Ve=m,K++):(Ve=s,$e(x)),Ve!==s?(me=W,W=St(pe,xe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[Fe]={nextPos:K,result:W},W)}function Yn(){var W,oe,pe,Se,xe,Ve,Fe,Rt=K*17+5,$n=Ne[Rt];if($n)return K=$n.nextPos,$n.result;if(W=K,oe=K,pe=[],re.test(i.charAt(K))?(Se=i.charAt(K),K++):(Se=s,$e(P)),Se!==s)for(;Se!==s;)pe.push(Se),re.test(i.charAt(K))?(Se=i.charAt(K),K++):(Se=s,$e(P));else pe=s;if(pe!==s?(i.charCodeAt(K)===46?(Se=_,K++):(Se=s,$e(q)),Se!==s?(pe=[pe,Se],oe=pe):(K=oe,oe=s)):(K=oe,oe=s),oe===s){for(oe=K,i.charCodeAt(K)===45?(pe=E,K++):(pe=s,$e(z)),pe===s&&(pe=null),Se=[],re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));xe!==s;)Se.push(xe),re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));if(i.charCodeAt(K)===46?(xe=_,K++):(xe=s,$e(q)),xe!==s){if(Ve=[],re.test(i.charAt(K))?(Fe=i.charAt(K),K++):(Fe=s,$e(P)),Fe!==s)for(;Fe!==s;)Ve.push(Fe),re.test(i.charAt(K))?(Fe=i.charAt(K),K++):(Fe=s,$e(P));else Ve=s;Ve!==s?(pe=[pe,Se,xe,Ve],oe=pe):(K=oe,oe=s)}else K=oe,oe=s;if(oe===s)if(oe=K,i.charCodeAt(K)===46?(pe=_,K++):(pe=s,$e(q)),pe!==s){if(Se=[],re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P)),xe!==s)for(;xe!==s;)Se.push(xe),re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));else Se=s;Se!==s?(pe=[pe,Se],oe=pe):(K=oe,oe=s)}else K=oe,oe=s}return oe!==s&&(me=W,oe=Nt()),W=oe,Ne[Rt]={nextPos:K,result:W},W}function Jt(){var W,oe,pe,Se=K*17+6,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,i.charCodeAt(K)===45?K++:$e(z),oe=[],re.test(i.charAt(K))?(pe=i.charAt(K),K++):(pe=s,$e(P)),pe!==s)for(;pe!==s;)oe.push(pe),re.test(i.charAt(K))?(pe=i.charAt(K),K++):(pe=s,$e(P));else oe=s;return oe!==s?(me=W,W=kt()):(K=W,W=s),Ne[Se]={nextPos:K,result:W},W}function Ur(){var W,oe,pe=K*17+7,Se=Ne[pe];return Se?(K=Se.nextPos,Se.result):(W=K,oe=Ra(),oe===s&&(oe=Ai(),oe===s&&(oe=Ia(),oe===s&&(oe=vr()))),oe!==s&&(me=W,oe=Fn(oe)),W=oe,Ne[pe]={nextPos:K,result:W},W)}function Ia(){var W,oe,pe,Se,xe=K*17+8,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===47?(pe=R,K++):(pe=s,$e(ne)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(me=W,W=ze(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ai(){var W,oe,pe,Se,xe=K*17+9,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===92?(pe=w,K++):(pe=s,$e(se)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(me=W,W=fn(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ra(){var W,oe,pe,Se,xe,Ve,Fe,Rt,$n=K*17+10,sr=Ne[$n];return sr?(K=sr.nextPos,sr.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===92?(pe=w,K++):(pe=s,$e(se)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(i.charCodeAt(K)===60?(xe=k,K++):(xe=s,$e(_e)),xe!==s?(Ve=Jt(),Ve===s&&(Ve=Un()),Ve!==s?(i.charCodeAt(K)===47?K++:$e(ne),Fe=Jt(),Fe===s&&(Fe=Un()),Fe===s&&(Fe=null),i.charCodeAt(K)===62?(Rt=$,K++):(Rt=s,$e(ye)),Rt!==s?(me=W,W=Je(oe,Se,Ve,Fe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[$n]={nextPos:K,result:W},W)}function vr(){var W,oe,pe,Se,xe=K*17+11,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe!==s?(i.charCodeAt(K)===44?(pe=p,K++):(pe=s,$e(te)),pe!==s?(Se=Jt(),Se!==s?(me=W,W=Pe(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ii(){var W,oe,pe,Se=K*17+12,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,oe=[],pe=Jt(),pe===s&&(pe=dt()),pe!==s)for(;pe!==s;)oe.push(pe),pe=Jt(),pe===s&&(pe=dt());else oe=s;return oe!==s&&(me=W,oe=cn(oe)),W=oe,Ne[Se]={nextPos:K,result:W},W}function Yr(){var W,oe,pe,Se,xe=K*17+13,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,i.charCodeAt(K)===91?(oe=H,K++):(oe=s,$e(Ie)),oe!==s?(pe=Ii(),pe!==s?(i.charCodeAt(K)===62?(Se=$,K++):(Se=s,$e(ye)),Se!==s?(me=W,W=rn(pe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function sn(){var W,oe,pe,Se,xe,Ve,Fe,Rt,$n=K*17+14,sr=Ne[$n];if(sr)return K=sr.nextPos,sr.result;if(W=K,oe=ar(),oe===s&&(oe=Ur(),oe===s&&(oe=Yr(),oe===s)))for(oe=[],pe=dt();pe!==s;)oe.push(pe),pe=dt();if(oe!==s){if(pe=[],Se=K,xe=Ri(),xe!==s){for(Ve=[],Fe=dt();Fe!==s;)Ve.push(Fe),Fe=dt();if(Fe=ar(),Fe===s&&(Fe=Ur(),Fe===s&&(Fe=Yr(),Fe===s&&(Fe=wi(),Fe===s&&(Fe=sn(),Fe===s)))))for(Fe=[],Rt=dt();Rt!==s;)Fe.push(Rt),Rt=dt();Fe!==s?(xe=[xe,Ve,Fe],Se=xe):(K=Se,Se=s)}else K=Se,Se=s;if(Se!==s)for(;Se!==s;)if(pe.push(Se),Se=K,xe=Ri(),xe!==s){for(Ve=[],Fe=dt();Fe!==s;)Ve.push(Fe),Fe=dt();if(Fe=ar(),Fe===s&&(Fe=Ur(),Fe===s&&(Fe=Yr(),Fe===s&&(Fe=wi(),Fe===s&&(Fe=sn(),Fe===s)))))for(Fe=[],Rt=dt();Rt!==s;)Fe.push(Rt),Rt=dt();Fe!==s?(xe=[xe,Ve,Fe],Se=xe):(K=Se,Se=s)}else K=Se,Se=s;else pe=s;pe!==s?(me=W,W=hn()):(K=W,W=s)}else K=W,W=s;return Ne[$n]={nextPos:K,result:W},W}function Ri(){var W,oe=K*17+15,pe=Ne[oe];return pe?(K=pe.nextPos,pe.result):(i.charCodeAt(K)===43?(W=h,K++):(W=s,$e(ve)),W===s&&(i.charCodeAt(K)===45?(W=E,K++):(W=s,$e(z)),W===s&&(i.charCodeAt(K)===42?(W=S,K++):(W=s,$e(Re)),W===s&&(i.charCodeAt(K)===37?(W=b,K++):(W=s,$e(de)),W===s&&(i.charCodeAt(K)===38?(W=N,K++):(W=s,$e(Be)),W===s&&(i.charCodeAt(K)===124?(W=M,K++):(W=s,$e(je)),W===s&&(i.substr(K,2)===B?(W=B,K+=2):(W=s,$e(Ue)),W===s&&(i.substr(K,2)===F?(W=F,K+=2):(W=s,$e(rt))))))))),Ne[oe]={nextPos:K,result:W},W)}function wi(){var W,oe,pe,Se,xe=K*17+16,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=sn(),pe!==s?(i.charCodeAt(K)===41?(Se=m,K++):(Se=s,$e(x)),Se!==s?(oe=[oe,pe,Se],W=oe):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}if(jt=c(),jt!==s&&K===i.length)return jt;throw jt!==s&&K{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a;return[s,o,l]},$i=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a;return[s,o,l]},tn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Si=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},Xn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},ln=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n-(n-t))%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},pv=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a;return[s,o,l]},Pn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+2*t%a+a)%a,c=(r+3*t%a+a)%a;return[s,o,l,c]},ei=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},ti=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},rr=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Mr=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*t%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Ee=(r,e=12)=>{const t=[];for(let n=0;n{const[,,t]=e;r.sort((i,a)=>i-a);const n=[...r];return Math.abs(r[1]-r[0])===t&&(r[0]=n[1],r[1]=n[2],r[2]=n[0]),Math.abs(r[2]-r[1])===t&&(r[0]=n[2],r[1]=n[0],r[2]=n[1]),r},SQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[1]-=s:c[1]+=s,Ee(c,a)},OQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=n-i,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[2]-=s:c[0]+=s,Ee(c,a)},EQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-i,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[0]+=s:c[2]-=s,Ee(c,a)},vQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t+n,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},TQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=i,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},CQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=n-t,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},yQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=2*n,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},AQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=2*t,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=Yi(l[0]+s,e):l=$i(l[0]-s,e),Ee(l,a)},IQ={M:Yi,maj:Yi,m:$i,min:$i,7:tn,maj7:Si,m7:Xn,hdim7:ln,aug:pv,augmented:pv,dim7:Pn,minMaj7:ei,maj7aug5:ti,dom7aug5:rr,dom7b5:Mr},RQ=(r,e,t=[3,4,5])=>IQ[e](r,t),wQ={p:SQ,l:OQ,r:EQ,f:vQ,n:TQ,s:CQ,h:yQ,t:AQ},NQ=(r,e,t=[3,4,5])=>{const n=e.split("");let i=[...r];for(let a=0;a{const[,n]=e,i=[];for(let a=0;a{const[n]=e,i=[];for(let a=0;a{const[,n]=e,i=[];for(let a=0;ar.map((i,a)=>i===e[a]).every(i=>i===!0),gt=(r,e)=>r.map((i,a)=>i===e[a]).every(i=>i===!0),LQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Xn(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},MQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Si(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+(2*n+t))%a?u[3]-=s:u[3]+=s,Ee(u,a)},PQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Xn(o[0],e)),c=gt(o,ln(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+(t+n))%a?u[2]-=s:u[2]+=s,Ee(u,a)},BQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ln(o[0],e)),c=gt(o,Pn(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+(2*t+n))%a?u[3]-=s:u[3]+=s,Ee(u,a)},FQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]-t,e):c=tn(c[0]+t,e),Ee(c,a)},UQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Xn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=Xn(c[0]+t,e),Ee(c,a)},YQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]-t,e):c=Si(c[0]+t,e),Ee(c,a)},$Q=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]-t,e):c=ln(c[0]+t,e),Ee(c,a)},GQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=Pn(c[0]+t,e),Ee(c,a)},QQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]+n,e):c=tn(c[0]-n,e),Ee(c,a)},qQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+n,e):c=tn(c[0]-n,e),Ee(c,a)},VQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]+n,e):c=Si(c[0]-n,e),Ee(c,a)},zQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]+(n-t),e):c=Si(c[0]-(n-t),e),Ee(c,a)},HQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+(n-t),e):c=tn(c[0]-(n-t),e),Ee(c,a)},WQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+2*t,e):c=ln(c[0]-2*t,e),Ee(c,a)},XQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+(i-t),e):c=Pn(c[0]-(i-t),e),Ee(c,a)},ZQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+i,e):c=Pn(c[0]-i,e),Ee(c,a)},KQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,rr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]+=s:u[2]-=s,Ee(u,a)},jQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Mr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]-=s:u[2]+=s,Ee(u,a)},JQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Xn(o[0],e)),c=gt(o,ei(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+2*t+n)%a?u[3]+=s:u[3]-=s,Ee(u,a)},eq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ln(o[0],e)),c=gt(o,Mr(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},tq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Si(o[0],e)),c=gt(o,ti(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]+=s:u[2]-=s,Ee(u,a)},nq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ei(o[0],e)),c=gt(o,Si(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},rq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,rr(o[0],e)),c=gt(o,ti(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+2*t+n)%a?u[3]+=s:u[3]-=s,Ee(u,a)},iq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=i-t,o=Ee(r),l=mt(o,Mr(o[0],e)),c=gt(o,rr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+2*t)%a?u[2]-=s:u[2]+=s,Ee(u,a)},aq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ei(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=ei(c[0]+t,e),Ee(c,a)},sq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]-t,e):c=ti(c[0]+t,e),Ee(c,a)},oq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,rr(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]-t,e):c=rr(c[0]+t,e),Ee(c,a)},lq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+n,e):c=ti(c[0]-n,e),Ee(c,a)},cq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,rr(s[0],e)),l=gt(s,Mr(s[0],e));if(o===l)return s;let c=[...s];return o?c=Mr(c[0]+n,e):c=rr(c[0]-n,e),Ee(c,a)},uq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]+(n-t),e):c=ti(c[0]-(n-t),e),Ee(c,a)},dq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]+(n-t),e):c=ti(c[0]-(n-t),e),Ee(c,a)},pq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Mr(s[0],e));if(o===l)return s;let c=[...s];return o?c=Mr(c[0]+2*t,e):c=tn(c[0]-2*t,e),Ee(c,a)},fq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Mr(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+2*t,e):c=Mr(c[0]-2*t,e),Ee(c,a)},hq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+(i-t),e):c=ln(c[0]-(i-t),e),Ee(c,a)},mq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Mr(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+(i-t),e):c=Mr(c[0]-(i-t),e),Ee(c,a)},gq={p12:LQ,p14:MQ,p23:PQ,p35:BQ,r12:FQ,r23:UQ,r42:YQ,r35:$Q,r53:GQ,l13:QQ,l15:qQ,l42:VQ,q43:zQ,q15:HQ,rr35:WQ,qq51:XQ,n51:ZQ,p18:KQ,p19:jQ,p26:JQ,p39:eq,p47:tq,p64:nq,p87:rq,p98:iq,r63:aq,r76:sq,r86:oq,l71:lq,l89:cq,q62:uq,q76:dq,rr19:pq,rr98:fq,qq38:hq,qq98:mq},_q=(r,e,t=[3,4,5])=>{const n=e.match(/([a-z]{1,2}[0-9]*)/g);if(!n||n&&n.length<1)return r;let i=[...r];for(let a=0;a{if(Object.prototype.hasOwnProperty.call(this,a)){const s=this[a];(s||s===0)&&(i[a]=this[a])}return i},{})}mapExisting(t,n){return t.reduce((a,s,o)=>{if(Object.prototype.hasOwnProperty.call(this,s)){const l=this[s];(l||l===0)&&(a[n[o]]=this[s])}return a},{})}};class En extends co{constructor(t){super(t);I(this,"pitch");I(this,"originalPitch");I(this,"add");I(this,"freq");I(this,"note");I(this,"octave");I(this,"pitchOctave");I(this,"bend");I(this,"key");I(this,"parsedScale");I(this,"scaleName");Object.assign(this,t)}refresh(){this.evaluate()}evaluate(t={}){const n=_i(this);if(n.duration||(n.duration=t.duration||t.duration===0?t.duration:m1),t.scale&&(n.parsedScale=Gi(t.scale)),t.key&&(n.key=t.key),(t.soundIndex||t.soundIndex===0)&&(typeof t.soundIndex!="number"?n.soundIndex=t.soundIndex.evaluateValue():n.soundIndex=t.soundIndex),t.sound&&(typeof t.sound!="string"?n.sound=t.sound.evaluateValue():n.sound=t.sound),n.pitch||n.pitch===0){n.pitch instanceof Iu&&(n.pitch=n.pitch.evaluateValue()),n.parsedScale&&n.pitch>=n.parsedScale.length&&(n.originalPitch=n.pitch,n.pitchOctave=Math.floor(n.pitch/n.parsedScale.length),n.pitch=n.pitch%n.parsedScale.length),(t.octave||n.pitchOctave)&&(n.octave=(t.octave||0)+(n.pitchOctave||0));const[i,a]=g1(n.key,n.pitch,n.parsedScale,n.octave);n.note=n.add?i+n.add:i,n.freq=ro(n.note),a&&(n.bend=a)}return n.soundIndex instanceof Iu&&(n.soundIndex=n.soundIndex.evaluateValue()),n}collect(t){return this[t]}scale(t){return this.scaleName!==t?(this.scaleName=t,this.parsedScale=Ca(t),this.evaluate()):this}randomScale(){return this.parsedScale=mQ(),this.evaluate()}tonnetzChord(t,n=[3,4,5]){const a=RQ(this.note,t,n).map(s=>{const o=s+(typeof this.key=="number"?s:Fr(this.key))+(this.octave||0)*12,l=ql(o,this.key,this.scaleName);return new En({note:o,duration:this.duration,key:this.key,parsedScale:this.parsedScale,scaleName:this.scaleName,pitch:l.pc,octave:(this.octave||0)+l.octave,add:l.add,text:l.text})});return new wn({pitches:a,duration:this.duration})}}class Sq extends En{constructor(e){super(e),Object.assign(this,e)}evaluateValue(){return this.sound}}let Oq=class extends co{constructor(t){super(t);I(this,"item");Object.assign(this,t)}evaluate(t){let n=this.sound;return t?t.sound=n:t={sound:n},this.item.evaluate(t)}};class Eq extends co{constructor(t){super(t);I(this,"item");Object.assign(this,t)}evaluate(t){return t?t.soundIndex=this.soundIndex:t={soundIndex:this.soundIndex},this.item.evaluate(t)}}class wn extends co{constructor(t){super(t);I(this,"pitches");I(this,"chordName");I(this,"inversion");I(this,"key");I(this,"scaleName");Object.assign(this,t),this.pitches&&this.pitches.length>0&&(this.duration=Math.max(...this.pitches.map(n=>n.duration)))}static fromPitchClassArray(t,n,i){const a=t.map(s=>new En({pitch:s,key:n,scaleName:i,parsedScale:Gi(i)}));return new wn({pitches:a})}evaluate(t={}){const n=_i(this);return t.inversion||n.inversion?n.pitches=n.invert(t.inversion||n.inversion,t):n.pitches=n.pitches.map(i=>i.evaluate(t)),n.duration=Math.max(...n.pitches.map(i=>i.duration)),n}collect(t){return this.pitches.map(i=>i.collect(t))}notes(){return this.pitches.map(t=>t.note)}freqs(){return this.pitches.map(t=>t.freq)}pcs(){return this.pitches.map(t=>t.pitch)}midiChord(){return this.pitches.map(n=>n.mapExisting(["note","soundIndex"],["note","channel"]))}scale(t){return this.pitches.forEach(n=>n.scale(t)),this}invert(t,n={}){const i=t<0?this.pitches.reverse():this.pitches;for(let a=0;aa.evaluate(n))}voiceLeadFromNotes(t,n){this.pitches=this.pitches.map((i,a)=>{if(t[a]){const s=ql(t[a],n.key,n.scaleName),o=_i(i);return o.pitch=s.pc,o.octave=s.octave,o.add=s.add,o.text=s.text,o.note=t[a],o.freq=ro(t[a]),o}else return _i(i)})}triadTonnetz(t,n=[3,4,5]){const i=this.notes();if(i.length===3){const a=NQ(i,t,n),s=this.pitches[0].parsedScale;return new wn({pitches:a.map(l=>new En({pitch:l,duration:this.duration,key:this.key,scaleName:this.scaleName,parsedScale:s}))}).evaluate()}else return this}tetraTonnetz(t,n=[3,4,5]){const i=this.notes();if(i.length===4){const a=_q(i,t,n),s=this.pitches[0].parsedScale;return new wn({pitches:a.map(l=>new En({pitch:l,duration:this.duration,key:this.key,scaleName:this.scaleName,parsedScale:s}))}).evaluate()}else return this}}class vq extends wn{constructor(t){super(t);I(this,"roman");I(this,"romanNumeral");I(this,"octave");I(this,"chordOctave");Object.assign(this,t)}evaluate(t={}){const n=_i(this);n.romanNumeral=Uq(n.roman);const i=n.key||t.key||60,a=n.scaleName||t.scale||"MAJOR",s=Gi(a);let o=(n.chordOctave||0)+(t.octave||0);const c=(n.chordName?Ku(n.romanNumeral,n.chordName,i,a,o):Bq(n.romanNumeral,a,i,o)).map(u=>ql(u,i,a));if(n.pitches=c.map(u=>{const p=o+u.octave;return new En({pitch:u.pc,octave:p,key:i,parsedScale:s,add:u.add,duration:this.duration}).evaluate(t)}),t.inversion||n.inversion){const u=t.inversion||n.inversion;n.pitches=n.invert(u,t)}return n.duration=Math.max(...n.pitches.map(u=>u.duration)),n}}class Vg extends co{constructor(e){super(e)}evaluate(e={}){return this.duration||(this.duration=e.duration||e.duration===0?e.duration:m1),this}}class Iu extends En{constructor(t){super(t);I(this,"min");I(this,"max");I(this,"randomSeed");I(this,"seededRandom");I(this,"random");Object.assign(this,t),t.min||(this.min=0),t.max||(this.max=xq(this.parsedScale)),this.seededRandom?this.random=this.seededRandom:this.random=Math.random}evaluate(t={}){this.pitch=this.evaluateValue();const n=new En(this).evaluate(t);return n.type="Pitch",n.text=n.pitch.toString(),n}evaluateValue(){return Math.floor(this.random()*(this.max-this.min+1))+this.min}}class Tq extends Oi{constructor(t){super(t);I(this,"octave");Object.assign(this,t)}evaluate(t={}){t.octave=this.octave+(t.octave||0)}}class Cq extends Oi{constructor(t){super(t);I(this,"duration");Object.assign(this,t)}evaluate(t={}){t.duration=this.duration}}class fv extends Oi{constructor(t){super(t);I(this,"times");I(this,"item");Object.assign(this,t)}evaluate(t={}){return[...Array(this.times)].map(()=>this.item).flat(1/0).map(i=>i.evaluate(t))}}class hv extends Oi{constructor(t){super(t);I(this,"items");Object.assign(this,t)}evaluate(t={}){return this.items.map(n=>n.evaluate(t))}}class bI extends Oi{constructor(t){super(t);I(this,"duration");I(this,"items");I(this,"evaluated");Object.assign(this,t)}evaluate(t={}){return t.subdivisions=!0,this.duration=t.duration||m1,this.evaluated=this.items.map(n=>n.evaluate(t)).filter(n=>n).flat(1/0),this}}class yq extends Oi{constructor(t){super(t);I(this,"times");I(this,"items");Object.assign(this,t)}evaluate(t={}){const n=this.items.map(a=>a.evaluate(t));return[...Array(this.times)].map(()=>n).flat(1/0)}}class Aq extends Oi{constructor(t){super(t);I(this,"left");I(this,"right");I(this,"operation");Object.assign(this,t)}evaluate(t={}){this.left.evaluate(t),this.right.evaluate(t);const n=oQ[this.operation];return this.right.items.flatMap(s=>this.left.items.map(o=>[s.clone(),o.clone()])).map(s=>(s[0].pitch=n(s[0].pitch,s[1].pitch),s[0].evaluate(t)))}}class al extends co{constructor(t){super(t);I(this,"items");I(this,"index");Object.assign(this,t),this.items=this.items.filter(n=>n!==void 0),this.index=0}nextItem(t={}){let n=this.items[this.index%this.items.length];for(;n instanceof al;)n=n.nextItem(t);return this.index=this.index+1,n instanceof Oi?n.evaluate(t):n}evaluate(t={}){return this.nextItem(t)}evaluateValue(t={}){const n=this.nextItem(t);return n instanceof Oi?n.evaluateValue():n}}const g1=(r,e,t,n=0,i=0,a=!1)=>{e=a&&e>0?e-1:e,r=typeof r=="string"?Fr(r):r;const s=typeof t=="string"?Ca(t):t,o=s.length;(e>=o||e<0)&&(n+=Math.floor(e/o),e=e<0?o-Math.abs(e)%o:e%o,e===o&&(e=0));let l=r+s.slice(0,e).reduce((c,u)=>c+u,0);return l=l+n*s.reduce((c,u)=>c+u,0)+i,Number.isInteger(l)?[l,void 0]:zg(l)},Fr=(r,e=4)=>{const t=r.match(/^([a-gA-G])([#bs])?([1-9])?$/);if(t===null)return 60;const[,n,i,a]=t,s=a?parseInt(a,10):e,o=pQ[i]||0,l=uQ[n.toUpperCase()];return 12+s*12+l+o},zg=(r,e=1)=>{let t=8192;if(r%1!==0){const n=r>Math.round(r)?r:Math.round(r),i=r>Math.round(r)?Math.round(r):r,a=ro(n)/ro(i),s=1200*Math.log2(a);t=t+Math.floor(8191*(s/(100*e)))}return[r,t]},ro=r=>440/32*2**((r-9)/12),mv=r=>12/Math.log(2)*Math.log(r/440)+69,SI=r=>1200*Math.log2(r),Iq=function*(){var t;const r={};let e=2;for(;;){if(!(e in r))yield e,r[e*e]=[e];else{for(const n of r[e])(r[t=n+e]||(r[t]=[])).push(n);delete r[e]}e++}},Rq=r=>{const e=Iq();return Array.from({length:r},()=>e.next().value)},wq=r=>{const e=r.length,t=Rq(e+1);let n=1;for(let i=0;i{r[0]!==0&&(r=[0,...r]);const e=[];for(let t=0;ttypeof r=="string"?Ca(r).length:r.length,OI=r=>[0,...r].reduce((e,t,n)=>{const i=n===0?0:t+e[n-1];return[...e,i]},[]),Dq=r=>{const e=(t,n)=>{const i=(n-t)%12;return i<0?i+12:i};return r.map((t,n)=>e(t,r[(n+1)%r.length]))},kq=r=>((r<0||r>4095)&&(console.log("Input number must be odd and between 0 and 4095. Using major (2741) instead."),r=2741),r%2===0&&console.log("Even numbers doesnt create a 'real' scale"),(r>>>0).toString(2).padStart(12,"0").split("").reduce((t,n,i)=>n==="1"?[11-i,...t]:t,[])),Lq=r=>{try{return _I(r)}catch{return[]}},Gi=r=>{if(typeof r=="string"){if(hI(r))return Ca(r);{const e=Lq(r);return e&&e.length>0?e:Ca("MAJOR")}}else if(typeof r=="number")return Dq(kq(r));return r},Ku=(r,e="major",t=60,n="CHROMATIC",i=1)=>{const a=dv[e]||dv.major;t=typeof t=="string"?Fr(t):t;const s=_1(n,t)[r-1],o=[];for(let l=0;l<=i;l++)for(const c of a)o.push(s+c+l*12);return o},Mq=(r="major",e=60,t="MAJOR",n=1,i)=>{const a=Ku(1,r,e,"CHROMATIC",n),s=typeof t=="string"?Ca(t):t;return a.map(l=>{const c=ql(l,e,t);return new En({text:c.text,note:l,pitch:c.pc,octave:c.octave,add:c.add,duration:i,scaleName:t,parsedScale:s,key:e})})},_1=(r,e=60,t=1)=>{const n=Gi(r);let i=typeof e=="string"?Fr(e):e;const a=[i];for(let s=0;s{const i=Gi(r),a=[];let s=typeof e=="string"?Fr(e,0):e;for(let o=0;o<9;o++)for(const l of i)s+=l,a.push(s);return a.filter(o=>o>=t&&o<=n)},Bq=(r,e="MAJOR",t=60,n=1,i=void 0)=>{const a=typeof t=="string"?Fr(t):t;return i&&typeof e=="string"&&e.toUpperCase()==="CHROMATIC"&&(i="major"),i?Ku(r,i,a,e,n):Fq(r,a,e)},Fq=(r,e=60,t="Major",n=3,i=2)=>{const a=typeof t=="string"?gQ(t):t.length,s=Math.floor((n*i+r-1)/a)+1,o=_1(t,e,s),l=[];for(let c=r-1;l.length{const e=r.match(/([a-gA-G][#bs]?)([0-9])?([a-zA-Z0-9]+)/);if(e===null)return[60,64,67];let[,t,n,i]=e;const a=Fr(t),s=n?parseInt(n,10):0;return Ku(1,i,a,"CHROMATIC",s)},Uq=r=>r.split("").map(t=>fQ[t]).reduce((t,n,i,a)=>i(uv.includes(r)||(r=TI(Fr(r))),uv.indexOf(r)-6),TI=r=>dQ[r%12],Yq=r=>{const e=TI(r);return vI(e)},$q=(r,e)=>{let t;return typeof e=="string"?t=vI(e[0]):t=Yq(e),(r*7+26-(11+t))%12+(11+t)},Gq=(r,e=60)=>r<=0?0:Math.floor((r-e)/12),ql=(r,e=60,t="MAJOR")=>{function n(p){return p>0?"^".repeat(p):p<0?"_".repeat(Math.abs(p)):""}const i=typeof e=="number"?e:Fr(e),a=bQ(r-i,12),s=Gq(r,i);if(typeof t=="string"&&t.toUpperCase()==="CHROMATIC")return{text:a.toString(),pc:a,octave:s,add:0};const o=["0","#0","1","#1","2","3","#3","4","#4","5","#5","6"],l=["0","b1","1","b2","2","3","b4","4","b5","5","b6","6"],c=$q(r,e);let u;if(c>=6&&c<=12&&l[a].length===2?u=l[a]:u=o[a],u.length>1){const p=u[0]==="#"?1:-1;return{text:n(s)+u,pc:parseInt(u[1]),octave:s,add:p}}return{text:n(s)+u,pc:parseInt(u),octave:s,add:0}},Qq=(r,e,t)=>{const n=Fr(r);return ql(n,e,t)},Hg=(r,e)=>r.map(t=>e+t%12).sort((t,n)=>t-n),qq=(r,e)=>{const t=r[0],n=Hg(r,t),i=Hg(e,t);return n.map((a,s)=>i[s]?i[s]-a:void 0)},Vq=(r,e)=>{const t=r[0],n=r.map(s=>[s,Hg(r,t).indexOf(t+s%12)]),i=qq(r,e);return n.map(([s,o])=>i[o]?s+i[o]:s)};function zq(r){const e=[];for(let n=1;n<12;n++){let i=r;if(r&1<a?i:(a-=i.length,s+=s.repeat(a),i+s.slice(0,a))}e.prototype.format=function(i){var a="Error: "+this.message;if(this.location){var s=null,o;for(o=0;o",!1),Ie=wt("[",!1),ve=wt("+",!1),Re=wt("*",!1),de=wt("%",!1),Be=wt("&",!1),je=wt("|",!1),Ue=wt("<<",!1),rt=wt(">>",!1),st=function(W){return Nq(W.filter(oe=>oe))},bt=function(){},At=function(W,oe){return Math.floor(Math.random()*(oe-W+1)+W)},St=function(W,oe){return Math.random()*(oe-W)+W},Nt=function(){return parseFloat(ut())},kt=function(){return parseInt(ut())},Fn=function(W){return SI(W)},ze=function(W,oe){return W/oe},fn=function(W,oe){return Math.pow(2,W/oe)},Je=function(W,oe,pe,Se){var xe=Se?pe/Se:pe;return Math.pow(xe,W/oe)},Pe=function(W,oe){return parseFloat(W.toString()+"."+oe.toString())},cn=function(W){return W.filter(oe=>oe)},rn=function(W){return wq(W)},hn=function(){return mI(ut())},K=0,me=0,De=[{line:1,column:1}],Me=0,tt=[],Ne={},jt;if("startRule"in a){if(!(a.startRule in l))throw new Error(`Can't start parsing from rule "`+a.startRule+'".');c=l[a.startRule]}function ut(){return i.substring(me,K)}function wt(W,oe){return{type:"literal",text:W,ignoreCase:oe}}function ir(W,oe,pe){return{type:"class",parts:W,inverted:oe,ignoreCase:pe}}function ft(){return{type:"end"}}function an(W){var oe=De[W],pe;if(oe)return oe;for(pe=W-1;!De[pe];)pe--;for(oe=De[pe],oe={line:oe.line,column:oe.column};peMe&&(Me=K,tt=[]),tt.push(W))}function Zn(W,oe,pe){return new e(e.buildMessage(W,oe),W,oe,pe)}function ii(){var W,oe,pe,Se=K*17+0,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,oe=[],pe=Ur(),pe===s&&(pe=ar(),pe===s&&(pe=Yr(),pe===s&&(pe=sn(),pe===s&&(pe=dt())))),pe!==s)for(;pe!==s;)oe.push(pe),pe=Ur(),pe===s&&(pe=ar(),pe===s&&(pe=Yr(),pe===s&&(pe=sn(),pe===s&&(pe=dt()))));else oe=s;return oe!==s&&(me=W,oe=st(oe)),W=oe,Ne[Se]={nextPos:K,result:W},W}function dt(){var W,oe,pe=K*17+1,Se=Ne[pe];return Se?(K=Se.nextPos,Se.result):(W=K,V.test(i.charAt(K))?(oe=i.charAt(K),K++):(oe=s,$e(ae)),oe!==s&&(me=W,oe=bt()),W=oe,Ne[pe]={nextPos:K,result:W},W)}function ar(){var W,oe=K*17+2,pe=Ne[oe];return pe?(K=pe.nextPos,pe.result):(W=Yn(),W===s&&(W=Jt(),W===s&&(W=Un(),W===s&&(W=Wi()))),Ne[oe]={nextPos:K,result:W},W)}function Un(){var W,oe,pe,Se,xe,Ve,Fe=K*17+3,Rt=Ne[Fe];return Rt?(K=Rt.nextPos,Rt.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=Jt(),pe!==s?(i.charCodeAt(K)===44?(Se=p,K++):(Se=s,$e(te)),Se!==s?(xe=Jt(),xe!==s?(i.charCodeAt(K)===41?(Ve=m,K++):(Ve=s,$e(x)),Ve!==s?(me=W,W=At(pe,xe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[Fe]={nextPos:K,result:W},W)}function Wi(){var W,oe,pe,Se,xe,Ve,Fe=K*17+4,Rt=Ne[Fe];return Rt?(K=Rt.nextPos,Rt.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=Yn(),pe!==s?(i.charCodeAt(K)===44?(Se=p,K++):(Se=s,$e(te)),Se!==s?(xe=Yn(),xe!==s?(i.charCodeAt(K)===41?(Ve=m,K++):(Ve=s,$e(x)),Ve!==s?(me=W,W=St(pe,xe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[Fe]={nextPos:K,result:W},W)}function Yn(){var W,oe,pe,Se,xe,Ve,Fe,Rt=K*17+5,$n=Ne[Rt];if($n)return K=$n.nextPos,$n.result;if(W=K,oe=K,pe=[],re.test(i.charAt(K))?(Se=i.charAt(K),K++):(Se=s,$e(P)),Se!==s)for(;Se!==s;)pe.push(Se),re.test(i.charAt(K))?(Se=i.charAt(K),K++):(Se=s,$e(P));else pe=s;if(pe!==s?(i.charCodeAt(K)===46?(Se=_,K++):(Se=s,$e(q)),Se!==s?(pe=[pe,Se],oe=pe):(K=oe,oe=s)):(K=oe,oe=s),oe===s){for(oe=K,i.charCodeAt(K)===45?(pe=E,K++):(pe=s,$e(z)),pe===s&&(pe=null),Se=[],re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));xe!==s;)Se.push(xe),re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));if(i.charCodeAt(K)===46?(xe=_,K++):(xe=s,$e(q)),xe!==s){if(Ve=[],re.test(i.charAt(K))?(Fe=i.charAt(K),K++):(Fe=s,$e(P)),Fe!==s)for(;Fe!==s;)Ve.push(Fe),re.test(i.charAt(K))?(Fe=i.charAt(K),K++):(Fe=s,$e(P));else Ve=s;Ve!==s?(pe=[pe,Se,xe,Ve],oe=pe):(K=oe,oe=s)}else K=oe,oe=s;if(oe===s)if(oe=K,i.charCodeAt(K)===46?(pe=_,K++):(pe=s,$e(q)),pe!==s){if(Se=[],re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P)),xe!==s)for(;xe!==s;)Se.push(xe),re.test(i.charAt(K))?(xe=i.charAt(K),K++):(xe=s,$e(P));else Se=s;Se!==s?(pe=[pe,Se],oe=pe):(K=oe,oe=s)}else K=oe,oe=s}return oe!==s&&(me=W,oe=Nt()),W=oe,Ne[Rt]={nextPos:K,result:W},W}function Jt(){var W,oe,pe,Se=K*17+6,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,i.charCodeAt(K)===45?K++:$e(z),oe=[],re.test(i.charAt(K))?(pe=i.charAt(K),K++):(pe=s,$e(P)),pe!==s)for(;pe!==s;)oe.push(pe),re.test(i.charAt(K))?(pe=i.charAt(K),K++):(pe=s,$e(P));else oe=s;return oe!==s?(me=W,W=kt()):(K=W,W=s),Ne[Se]={nextPos:K,result:W},W}function Ur(){var W,oe,pe=K*17+7,Se=Ne[pe];return Se?(K=Se.nextPos,Se.result):(W=K,oe=Ra(),oe===s&&(oe=Ai(),oe===s&&(oe=Ia(),oe===s&&(oe=vr()))),oe!==s&&(me=W,oe=Fn(oe)),W=oe,Ne[pe]={nextPos:K,result:W},W)}function Ia(){var W,oe,pe,Se,xe=K*17+8,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===47?(pe=R,K++):(pe=s,$e(ne)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(me=W,W=ze(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ai(){var W,oe,pe,Se,xe=K*17+9,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===92?(pe=w,K++):(pe=s,$e(se)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(me=W,W=fn(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ra(){var W,oe,pe,Se,xe,Ve,Fe,Rt,$n=K*17+10,sr=Ne[$n];return sr?(K=sr.nextPos,sr.result):(W=K,oe=Jt(),oe===s&&(oe=Un()),oe!==s?(i.charCodeAt(K)===92?(pe=w,K++):(pe=s,$e(se)),pe!==s?(Se=Jt(),Se===s&&(Se=Un()),Se!==s?(i.charCodeAt(K)===60?(xe=k,K++):(xe=s,$e(_e)),xe!==s?(Ve=Jt(),Ve===s&&(Ve=Un()),Ve!==s?(i.charCodeAt(K)===47?K++:$e(ne),Fe=Jt(),Fe===s&&(Fe=Un()),Fe===s&&(Fe=null),i.charCodeAt(K)===62?(Rt=$,K++):(Rt=s,$e(ye)),Rt!==s?(me=W,W=Je(oe,Se,Ve,Fe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[$n]={nextPos:K,result:W},W)}function vr(){var W,oe,pe,Se,xe=K*17+11,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,oe=Jt(),oe!==s?(i.charCodeAt(K)===44?(pe=p,K++):(pe=s,$e(te)),pe!==s?(Se=Jt(),Se!==s?(me=W,W=Pe(oe,Se)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function Ii(){var W,oe,pe,Se=K*17+12,xe=Ne[Se];if(xe)return K=xe.nextPos,xe.result;if(W=K,oe=[],pe=Jt(),pe===s&&(pe=dt()),pe!==s)for(;pe!==s;)oe.push(pe),pe=Jt(),pe===s&&(pe=dt());else oe=s;return oe!==s&&(me=W,oe=cn(oe)),W=oe,Ne[Se]={nextPos:K,result:W},W}function Yr(){var W,oe,pe,Se,xe=K*17+13,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,i.charCodeAt(K)===91?(oe=H,K++):(oe=s,$e(Ie)),oe!==s?(pe=Ii(),pe!==s?(i.charCodeAt(K)===62?(Se=$,K++):(Se=s,$e(ye)),Se!==s?(me=W,W=rn(pe)):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}function sn(){var W,oe,pe,Se,xe,Ve,Fe,Rt,$n=K*17+14,sr=Ne[$n];if(sr)return K=sr.nextPos,sr.result;if(W=K,oe=ar(),oe===s&&(oe=Ur(),oe===s&&(oe=Yr(),oe===s)))for(oe=[],pe=dt();pe!==s;)oe.push(pe),pe=dt();if(oe!==s){if(pe=[],Se=K,xe=Ri(),xe!==s){for(Ve=[],Fe=dt();Fe!==s;)Ve.push(Fe),Fe=dt();if(Fe=ar(),Fe===s&&(Fe=Ur(),Fe===s&&(Fe=Yr(),Fe===s&&(Fe=wi(),Fe===s&&(Fe=sn(),Fe===s)))))for(Fe=[],Rt=dt();Rt!==s;)Fe.push(Rt),Rt=dt();Fe!==s?(xe=[xe,Ve,Fe],Se=xe):(K=Se,Se=s)}else K=Se,Se=s;if(Se!==s)for(;Se!==s;)if(pe.push(Se),Se=K,xe=Ri(),xe!==s){for(Ve=[],Fe=dt();Fe!==s;)Ve.push(Fe),Fe=dt();if(Fe=ar(),Fe===s&&(Fe=Ur(),Fe===s&&(Fe=Yr(),Fe===s&&(Fe=wi(),Fe===s&&(Fe=sn(),Fe===s)))))for(Fe=[],Rt=dt();Rt!==s;)Fe.push(Rt),Rt=dt();Fe!==s?(xe=[xe,Ve,Fe],Se=xe):(K=Se,Se=s)}else K=Se,Se=s;else pe=s;pe!==s?(me=W,W=hn()):(K=W,W=s)}else K=W,W=s;return Ne[$n]={nextPos:K,result:W},W}function Ri(){var W,oe=K*17+15,pe=Ne[oe];return pe?(K=pe.nextPos,pe.result):(i.charCodeAt(K)===43?(W=h,K++):(W=s,$e(ve)),W===s&&(i.charCodeAt(K)===45?(W=E,K++):(W=s,$e(z)),W===s&&(i.charCodeAt(K)===42?(W=S,K++):(W=s,$e(Re)),W===s&&(i.charCodeAt(K)===37?(W=b,K++):(W=s,$e(de)),W===s&&(i.charCodeAt(K)===38?(W=N,K++):(W=s,$e(Be)),W===s&&(i.charCodeAt(K)===124?(W=M,K++):(W=s,$e(je)),W===s&&(i.substr(K,2)===B?(W=B,K+=2):(W=s,$e(Ue)),W===s&&(i.substr(K,2)===F?(W=F,K+=2):(W=s,$e(rt))))))))),Ne[oe]={nextPos:K,result:W},W)}function wi(){var W,oe,pe,Se,xe=K*17+16,Ve=Ne[xe];return Ve?(K=Ve.nextPos,Ve.result):(W=K,i.charCodeAt(K)===40?(oe=u,K++):(oe=s,$e(ie)),oe!==s?(pe=sn(),pe!==s?(i.charCodeAt(K)===41?(Se=m,K++):(Se=s,$e(x)),Se!==s?(oe=[oe,pe,Se],W=oe):(K=W,W=s)):(K=W,W=s)):(K=W,W=s),Ne[xe]={nextPos:K,result:W},W)}if(jt=c(),jt!==s&&K===i.length)return jt;throw jt!==s&&K{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a;return[s,o,l]},$i=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a;return[s,o,l]},tn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Si=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},Xn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},ln=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n-(n-t))%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},pv=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a;return[s,o,l]},Pn=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+2*t%a+a)%a,c=(r+3*t%a+a)%a;return[s,o,l,c]},ei=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+t%a+a)%a,l=(r+(t+n)%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},ti=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a,c=(r+(2*n+t)%a+a)%a;return[s,o,l,c]},rr=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*n%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Mr=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=(r%a+a)%a,o=(r+n%a+a)%a,l=(r+2*t%a+a)%a,c=(r+(2*t+n)%a+a)%a;return[s,o,l,c]},Ee=(r,e=12)=>{const t=[];for(let n=0;n{const[,,t]=e;r.sort((i,a)=>i-a);const n=[...r];return Math.abs(r[1]-r[0])===t&&(r[0]=n[1],r[1]=n[2],r[2]=n[0]),Math.abs(r[2]-r[1])===t&&(r[0]=n[2],r[1]=n[0],r[2]=n[1]),r},SQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[1]-=s:c[1]+=s,Ee(c,a)},OQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=n-i,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[2]-=s:c[0]+=s,Ee(c,a)},EQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-i,o=Ee(r),c=[...Vi(o,e)];return c[1]%a!==(c[0]+n)%a?c[0]+=s:c[2]-=s,Ee(c,a)},vQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t+n,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},TQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=i,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},CQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=n-t,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},yQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=2*n,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=$i(l[0]+s,e):l=Yi(l[0]-s,e),Ee(l,a)},AQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=2*t,o=Ee(r);let l=Vi(o,e);return l[1]%a===(l[0]+n)%a?l=Yi(l[0]+s,e):l=$i(l[0]-s,e),Ee(l,a)},IQ={M:Yi,maj:Yi,m:$i,min:$i,7:tn,maj7:Si,m7:Xn,hdim7:ln,aug:pv,augmented:pv,dim7:Pn,minMaj7:ei,maj7aug5:ti,dom7aug5:rr,dom7b5:Mr},RQ=(r,e,t=[3,4,5])=>IQ[e](r,t),wQ={p:SQ,l:OQ,r:EQ,f:vQ,n:TQ,s:CQ,h:yQ,t:AQ},NQ=(r,e,t=[3,4,5])=>{const n=e.split("");if(n.length===0)return;let i=[...r];for(let a=0;a{const[,n]=e,i=[];for(let a=0;a{const[n]=e,i=[];for(let a=0;a{const[,n]=e,i=[];for(let a=0;ar.map((i,a)=>i===e[a]).every(i=>i===!0),gt=(r,e)=>r.map((i,a)=>i===e[a]).every(i=>i===!0),LQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Xn(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},MQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Si(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+(2*n+t))%a?u[3]-=s:u[3]+=s,Ee(u,a)},PQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Xn(o[0],e)),c=gt(o,ln(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+(t+n))%a?u[2]-=s:u[2]+=s,Ee(u,a)},BQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ln(o[0],e)),c=gt(o,Pn(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+(2*t+n))%a?u[3]-=s:u[3]+=s,Ee(u,a)},FQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]-t,e):c=tn(c[0]+t,e),Ee(c,a)},UQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Xn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=Xn(c[0]+t,e),Ee(c,a)},YQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]-t,e):c=Si(c[0]+t,e),Ee(c,a)},$Q=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]-t,e):c=ln(c[0]+t,e),Ee(c,a)},GQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=Pn(c[0]+t,e),Ee(c,a)},QQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]+n,e):c=tn(c[0]-n,e),Ee(c,a)},qQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+n,e):c=tn(c[0]-n,e),Ee(c,a)},VQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]+n,e):c=Si(c[0]-n,e),Ee(c,a)},zQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Si(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]+(n-t),e):c=Si(c[0]-(n-t),e),Ee(c,a)},HQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+(n-t),e):c=tn(c[0]-(n-t),e),Ee(c,a)},WQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,Pn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Pn(c[0]+2*t,e):c=ln(c[0]-2*t,e),Ee(c,a)},XQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+(i-t),e):c=Pn(c[0]-(i-t),e),Ee(c,a)},ZQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Pn(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+i,e):c=Pn(c[0]-i,e),Ee(c,a)},KQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,rr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]+=s:u[2]-=s,Ee(u,a)},jQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,tn(o[0],e)),c=gt(o,Mr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]-=s:u[2]+=s,Ee(u,a)},JQ=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Xn(o[0],e)),c=gt(o,ei(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+2*t+n)%a?u[3]+=s:u[3]-=s,Ee(u,a)},eq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ln(o[0],e)),c=gt(o,Mr(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},tq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,Si(o[0],e)),c=gt(o,ti(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+t+n)%a?u[2]+=s:u[2]-=s,Ee(u,a)},nq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,ei(o[0],e)),c=gt(o,Si(o[0],e));if(l===c)return o;const u=[...o];return u[1]%a!==(u[0]+n)%a?u[1]-=s:u[1]+=s,Ee(u,a)},rq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=t-n,o=Ee(r),l=mt(o,rr(o[0],e)),c=gt(o,ti(o[0],e));if(l===c)return o;const u=[...o];return u[3]%a!==(u[0]+2*t+n)%a?u[3]+=s:u[3]-=s,Ee(u,a)},iq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=i-t,o=Ee(r),l=mt(o,Mr(o[0],e)),c=gt(o,rr(o[0],e));if(l===c)return o;const u=[...o];return u[2]%a!==(u[0]+2*t)%a?u[2]-=s:u[2]+=s,Ee(u,a)},aq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ei(s[0],e)),l=gt(s,ln(s[0],e));if(o===l)return s;let c=[...s];return o?c=ln(c[0]-t,e):c=ei(c[0]+t,e),Ee(c,a)},sq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]-t,e):c=ti(c[0]+t,e),Ee(c,a)},oq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,rr(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]-t,e):c=rr(c[0]+t,e),Ee(c,a)},lq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,tn(s[0],e));if(o===l)return s;let c=[...s];return o?c=tn(c[0]+n,e):c=ti(c[0]-n,e),Ee(c,a)},cq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,rr(s[0],e)),l=gt(s,Mr(s[0],e));if(o===l)return s;let c=[...s];return o?c=Mr(c[0]+n,e):c=rr(c[0]-n,e),Ee(c,a)},uq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,Xn(s[0],e));if(o===l)return s;let c=[...s];return o?c=Xn(c[0]+(n-t),e):c=ti(c[0]-(n-t),e),Ee(c,a)},dq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ti(s[0],e)),l=gt(s,ei(s[0],e));if(o===l)return s;let c=[...s];return o?c=ei(c[0]+(n-t),e):c=ti(c[0]-(n-t),e),Ee(c,a)},pq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,tn(s[0],e)),l=gt(s,Mr(s[0],e));if(o===l)return s;let c=[...s];return o?c=Mr(c[0]+2*t,e):c=tn(c[0]-2*t,e),Ee(c,a)},fq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Mr(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+2*t,e):c=Mr(c[0]-2*t,e),Ee(c,a)},hq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,ln(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+(i-t),e):c=ln(c[0]-(i-t),e),Ee(c,a)},mq=(r,e)=>{const[t,n,i]=e,a=t+n+i,s=Ee(r),o=mt(s,Mr(s[0],e)),l=gt(s,rr(s[0],e));if(o===l)return s;let c=[...s];return o?c=rr(c[0]+(i-t),e):c=Mr(c[0]-(i-t),e),Ee(c,a)},gq={p12:LQ,p14:MQ,p23:PQ,p35:BQ,r12:FQ,r23:UQ,r42:YQ,r35:$Q,r53:GQ,l13:QQ,l15:qQ,l42:VQ,q43:zQ,q15:HQ,rr35:WQ,qq51:XQ,n51:ZQ,p18:KQ,p19:jQ,p26:JQ,p39:eq,p47:tq,p64:nq,p87:rq,p98:iq,r63:aq,r76:sq,r86:oq,l71:lq,l89:cq,q62:uq,q76:dq,rr19:pq,rr98:fq,qq38:hq,qq98:mq},_q=(r,e,t=[3,4,5])=>{const n=e.match(/([a-z]{1,2}[0-9]*)/g);if(!n||n&&n.length<1)return;let i=[...r];for(let a=0;a{if(Object.prototype.hasOwnProperty.call(this,a)){const s=this[a];(s||s===0)&&(i[a]=this[a])}return i},{})}mapExisting(t,n){return t.reduce((a,s,o)=>{if(Object.prototype.hasOwnProperty.call(this,s)){const l=this[s];(l||l===0)&&(a[n[o]]=this[s])}return a},{})}};class En extends co{constructor(t){super(t);I(this,"pitch");I(this,"originalPitch");I(this,"add");I(this,"freq");I(this,"note");I(this,"octave");I(this,"pitchOctave");I(this,"bend");I(this,"key");I(this,"parsedScale");I(this,"scaleName");Object.assign(this,t)}refresh(){this.evaluate()}evaluate(t={}){const n=_i(this);if(n.duration||(n.duration=t.duration||t.duration===0?t.duration:m1),t.scale&&(n.parsedScale=Gi(t.scale)),t.key&&(n.key=t.key),(t.soundIndex||t.soundIndex===0)&&(typeof t.soundIndex!="number"?n.soundIndex=t.soundIndex.evaluateValue():n.soundIndex=t.soundIndex),t.sound&&(typeof t.sound!="string"?n.sound=t.sound.evaluateValue():n.sound=t.sound),n.pitch||n.pitch===0){n.pitch instanceof Iu&&(n.pitch=n.pitch.evaluateValue()),n.parsedScale&&n.pitch>=n.parsedScale.length&&(n.originalPitch=n.pitch,n.pitchOctave=Math.floor(n.pitch/n.parsedScale.length),n.pitch=n.pitch%n.parsedScale.length),(t.octave||n.pitchOctave)&&(n.octave=(t.octave||0)+(n.pitchOctave||0));const[i,a]=g1(n.key,n.pitch,n.parsedScale,n.octave);n.note=n.add?i+n.add:i,n.freq=ro(n.note),a&&(n.bend=a)}return n.soundIndex instanceof Iu&&(n.soundIndex=n.soundIndex.evaluateValue()),n}collect(t){return this[t]}scale(t){return this.scaleName!==t?(this.scaleName=t,this.parsedScale=Ca(t),this.evaluate()):this}randomScale(){return this.parsedScale=mQ(),this.evaluate()}tonnetzChord(t,n=[3,4,5]){const a=RQ(this.note,t,n).map(s=>{const o=s+(typeof this.key=="number"?s:Fr(this.key))+(this.octave||0)*12,l=ql(o,this.key,this.scaleName);return new En({note:o,duration:this.duration,key:this.key,parsedScale:this.parsedScale,scaleName:this.scaleName,pitch:l.pc,octave:(this.octave||0)+l.octave,add:l.add,text:l.text})});return new wn({pitches:a,duration:this.duration})}}class Sq extends En{constructor(e){super(e),Object.assign(this,e)}evaluateValue(){return this.sound}}let Oq=class extends co{constructor(t){super(t);I(this,"item");Object.assign(this,t)}evaluate(t){let n=this.sound;return t?t.sound=n:t={sound:n},this.item.evaluate(t)}};class Eq extends co{constructor(t){super(t);I(this,"item");Object.assign(this,t)}evaluate(t){return t?t.soundIndex=this.soundIndex:t={soundIndex:this.soundIndex},this.item.evaluate(t)}}class wn extends co{constructor(t){super(t);I(this,"pitches");I(this,"chordName");I(this,"inversion");I(this,"key");I(this,"scaleName");Object.assign(this,t),this.pitches&&this.pitches.length>0&&(this.duration=Math.max(...this.pitches.map(n=>n.duration)))}static fromPitchClassArray(t,n,i){const a=t.map(s=>new En({pitch:s,key:n,scaleName:i,parsedScale:Gi(i)}));return new wn({pitches:a})}evaluate(t={}){const n=_i(this);return t.inversion||n.inversion?n.pitches=n.invert(t.inversion||n.inversion,t):n.pitches=n.pitches.map(i=>i.evaluate(t)),n.duration=Math.max(...n.pitches.map(i=>i.duration)),n}collect(t){return this.pitches.map(i=>i.collect(t))}notes(){return this.pitches.map(t=>t.note)}freqs(){return this.pitches.map(t=>t.freq)}pcs(){return this.pitches.map(t=>t.pitch)}midiChord(){return this.pitches.map(n=>n.mapExisting(["note","soundIndex"],["note","channel"]))}scale(t){return this.pitches.forEach(n=>n.scale(t)),this}invert(t,n={}){const i=t<0?this.pitches.reverse():this.pitches;for(let a=0;aa.evaluate(n))}voiceLeadFromNotes(t,n){this.pitches=this.pitches.map((i,a)=>{if(t[a]){const s=ql(t[a],n.key,n.scaleName),o=_i(i);return o.pitch=s.pc,o.octave=s.octave,o.add=s.add,o.text=s.text,o.note=t[a],o.freq=ro(t[a]),o}else return _i(i)})}triadTonnetz(t,n=[3,4,5]){const i=this.notes();return i.length===3?t.split(" ").map(o=>{const l=NQ(i,o,n);if(!l)return this;const c=this.pitches[0].parsedScale;return new wn({pitches:l.map(p=>new En({pitch:p,duration:this.duration,key:this.key,scaleName:this.scaleName,parsedScale:c}))}).evaluate()}):this}tetraTonnetz(t,n=[3,4,5]){const i=this.notes();return i.length===4?t.split(" ").map(o=>{const l=_q(i,o,n);if(!l)return this;const c=this.pitches[0].parsedScale;return new wn({pitches:l.map(p=>new En({pitch:p,duration:this.duration,key:this.key,scaleName:this.scaleName,parsedScale:c}))}).evaluate()}):this}}class vq extends wn{constructor(t){super(t);I(this,"roman");I(this,"romanNumeral");I(this,"octave");I(this,"chordOctave");Object.assign(this,t)}evaluate(t={}){const n=_i(this);n.romanNumeral=Uq(n.roman);const i=n.key||t.key||60,a=n.scaleName||t.scale||"MAJOR",s=Gi(a);let o=(n.chordOctave||0)+(t.octave||0);const c=(n.chordName?Ku(n.romanNumeral,n.chordName,i,a,o):Bq(n.romanNumeral,a,i,o)).map(u=>ql(u,i,a));if(n.pitches=c.map(u=>{const p=o+u.octave;return new En({pitch:u.pc,octave:p,key:i,parsedScale:s,add:u.add,duration:this.duration}).evaluate(t)}),t.inversion||n.inversion){const u=t.inversion||n.inversion;n.pitches=n.invert(u,t)}return n.duration=Math.max(...n.pitches.map(u=>u.duration)),n}}class Vg extends co{constructor(e){super(e)}evaluate(e={}){return this.duration||(this.duration=e.duration||e.duration===0?e.duration:m1),this}}class Iu extends En{constructor(t){super(t);I(this,"min");I(this,"max");I(this,"randomSeed");I(this,"seededRandom");I(this,"random");Object.assign(this,t),t.min||(this.min=0),t.max||(this.max=xq(this.parsedScale)),this.seededRandom?this.random=this.seededRandom:this.random=Math.random}evaluate(t={}){this.pitch=this.evaluateValue();const n=new En(this).evaluate(t);return n.type="Pitch",n.text=n.pitch.toString(),n}evaluateValue(){return Math.floor(this.random()*(this.max-this.min+1))+this.min}}class Tq extends Oi{constructor(t){super(t);I(this,"octave");Object.assign(this,t)}evaluate(t={}){t.octave=this.octave+(t.octave||0)}}class Cq extends Oi{constructor(t){super(t);I(this,"duration");Object.assign(this,t)}evaluate(t={}){t.duration=this.duration}}class fv extends Oi{constructor(t){super(t);I(this,"times");I(this,"item");Object.assign(this,t)}evaluate(t={}){return[...Array(this.times)].map(()=>this.item).flat(1/0).map(i=>i.evaluate(t))}}class hv extends Oi{constructor(t){super(t);I(this,"items");Object.assign(this,t)}evaluate(t={}){return this.items.map(n=>n.evaluate(t))}}class bI extends Oi{constructor(t){super(t);I(this,"duration");I(this,"items");I(this,"evaluated");Object.assign(this,t)}evaluate(t={}){return t.subdivisions=!0,this.duration=t.duration||m1,this.evaluated=this.items.map(n=>n.evaluate(t)).filter(n=>n).flat(1/0),this}}class yq extends Oi{constructor(t){super(t);I(this,"times");I(this,"items");Object.assign(this,t)}evaluate(t={}){const n=this.items.map(a=>a.evaluate(t));return[...Array(this.times)].map(()=>n).flat(1/0)}}class Aq extends Oi{constructor(t){super(t);I(this,"left");I(this,"right");I(this,"operation");Object.assign(this,t)}evaluate(t={}){this.left.evaluate(t),this.right.evaluate(t);const n=oQ[this.operation];return this.right.items.flatMap(s=>this.left.items.map(o=>[s.clone(),o.clone()])).map(s=>(s[0].pitch=n(s[0].pitch,s[1].pitch),s[0].evaluate(t)))}}class al extends co{constructor(t){super(t);I(this,"items");I(this,"index");Object.assign(this,t),this.items=this.items.filter(n=>n!==void 0),this.index=0}nextItem(t={}){let n=this.items[this.index%this.items.length];for(;n instanceof al;)n=n.nextItem(t);return this.index=this.index+1,n instanceof Oi?n.evaluate(t):n}evaluate(t={}){return this.nextItem(t)}evaluateValue(t={}){const n=this.nextItem(t);return n instanceof Oi?n.evaluateValue():n}}const g1=(r,e,t,n=0,i=0,a=!1)=>{e=a&&e>0?e-1:e,r=typeof r=="string"?Fr(r):r;const s=typeof t=="string"?Ca(t):t,o=s.length;(e>=o||e<0)&&(n+=Math.floor(e/o),e=e<0?o-Math.abs(e)%o:e%o,e===o&&(e=0));let l=r+s.slice(0,e).reduce((c,u)=>c+u,0);return l=l+n*s.reduce((c,u)=>c+u,0)+i,Number.isInteger(l)?[l,void 0]:zg(l)},Fr=(r,e=4)=>{const t=r.match(/^([a-gA-G])([#bs])?([1-9])?$/);if(t===null)return 60;const[,n,i,a]=t,s=a?parseInt(a,10):e,o=pQ[i]||0,l=uQ[n.toUpperCase()];return 12+s*12+l+o},zg=(r,e=1)=>{let t=8192;if(r%1!==0){const n=r>Math.round(r)?r:Math.round(r),i=r>Math.round(r)?Math.round(r):r,a=ro(n)/ro(i),s=1200*Math.log2(a);t=t+Math.floor(8191*(s/(100*e)))}return[r,t]},ro=r=>440/32*2**((r-9)/12),mv=r=>12/Math.log(2)*Math.log(r/440)+69,SI=r=>1200*Math.log2(r),Iq=function*(){var t;const r={};let e=2;for(;;){if(!(e in r))yield e,r[e*e]=[e];else{for(const n of r[e])(r[t=n+e]||(r[t]=[])).push(n);delete r[e]}e++}},Rq=r=>{const e=Iq();return Array.from({length:r},()=>e.next().value)},wq=r=>{const e=r.length,t=Rq(e+1);let n=1;for(let i=0;i{r[0]!==0&&(r=[0,...r]);const e=[];for(let t=0;ttypeof r=="string"?Ca(r).length:r.length,OI=r=>[0,...r].reduce((e,t,n)=>{const i=n===0?0:t+e[n-1];return[...e,i]},[]),Dq=r=>{const e=(t,n)=>{const i=(n-t)%12;return i<0?i+12:i};return r.map((t,n)=>e(t,r[(n+1)%r.length]))},kq=r=>((r<0||r>4095)&&(console.log("Input number must be odd and between 0 and 4095. Using major (2741) instead."),r=2741),r%2===0&&console.log("Even numbers doesnt create a 'real' scale"),(r>>>0).toString(2).padStart(12,"0").split("").reduce((t,n,i)=>n==="1"?[11-i,...t]:t,[])),Lq=r=>{try{return _I(r)}catch{return[]}},Gi=r=>{if(typeof r=="string"){if(hI(r))return Ca(r);{const e=Lq(r);return e&&e.length>0?e:Ca("MAJOR")}}else if(typeof r=="number")return Dq(kq(r));return r},Ku=(r,e="major",t=60,n="CHROMATIC",i=1)=>{const a=dv[e]||dv.major;t=typeof t=="string"?Fr(t):t;const s=_1(n,t)[r-1],o=[];for(let l=0;l<=i;l++)for(const c of a)o.push(s+c+l*12);return o},Mq=(r="major",e=60,t="MAJOR",n=1,i)=>{const a=Ku(1,r,e,"CHROMATIC",n),s=typeof t=="string"?Ca(t):t;return a.map(l=>{const c=ql(l,e,t);return new En({text:c.text,note:l,pitch:c.pc,octave:c.octave,add:c.add,duration:i,scaleName:t,parsedScale:s,key:e})})},_1=(r,e=60,t=1)=>{const n=Gi(r);let i=typeof e=="string"?Fr(e):e;const a=[i];for(let s=0;s{const i=Gi(r),a=[];let s=typeof e=="string"?Fr(e,0):e;for(let o=0;o<9;o++)for(const l of i)s+=l,a.push(s);return a.filter(o=>o>=t&&o<=n)},Bq=(r,e="MAJOR",t=60,n=1,i=void 0)=>{const a=typeof t=="string"?Fr(t):t;return i&&typeof e=="string"&&e.toUpperCase()==="CHROMATIC"&&(i="major"),i?Ku(r,i,a,e,n):Fq(r,a,e)},Fq=(r,e=60,t="Major",n=3,i=2)=>{const a=typeof t=="string"?gQ(t):t.length,s=Math.floor((n*i+r-1)/a)+1,o=_1(t,e,s),l=[];for(let c=r-1;l.length{const e=r.match(/([a-gA-G][#bs]?)([0-9])?([a-zA-Z0-9]+)/);if(e===null)return[60,64,67];let[,t,n,i]=e;const a=Fr(t),s=n?parseInt(n,10):0;return Ku(1,i,a,"CHROMATIC",s)},Uq=r=>r.split("").map(t=>fQ[t]).reduce((t,n,i,a)=>i(uv.includes(r)||(r=TI(Fr(r))),uv.indexOf(r)-6),TI=r=>dQ[r%12],Yq=r=>{const e=TI(r);return vI(e)},$q=(r,e)=>{let t;return typeof e=="string"?t=vI(e[0]):t=Yq(e),(r*7+26-(11+t))%12+(11+t)},Gq=(r,e=60)=>r<=0?0:Math.floor((r-e)/12),ql=(r,e=60,t="MAJOR")=>{function n(p){return p>0?"^".repeat(p):p<0?"_".repeat(Math.abs(p)):""}const i=typeof e=="number"?e:Fr(e),a=bQ(r-i,12),s=Gq(r,i);if(typeof t=="string"&&t.toUpperCase()==="CHROMATIC")return{text:a.toString(),pc:a,octave:s,add:0};const o=["0","#0","1","#1","2","3","#3","4","#4","5","#5","6"],l=["0","b1","1","b2","2","3","b4","4","b5","5","b6","6"],c=$q(r,e);let u;if(c>=6&&c<=12&&l[a].length===2?u=l[a]:u=o[a],u.length>1){const p=u[0]==="#"?1:-1;return{text:n(s)+u,pc:parseInt(u[1]),octave:s,add:p}}return{text:n(s)+u,pc:parseInt(u),octave:s,add:0}},Qq=(r,e,t)=>{const n=Fr(r);return ql(n,e,t)},Hg=(r,e)=>r.map(t=>e+t%12).sort((t,n)=>t-n),qq=(r,e)=>{const t=r[0],n=Hg(r,t),i=Hg(e,t);return n.map((a,s)=>i[s]?i[s]-a:void 0)},Vq=(r,e)=>{const t=r[0],n=r.map(s=>[s,Hg(r,t).indexOf(t+s%12)]),i=qq(r,e);return n.map(([s,o])=>i[o]?s+i[o]:s)};function zq(r){const e=[];for(let n=1;n<12;n++){let i=r;if(r&1<a?i:(a-=i.length,s+=s.repeat(a),i+s.slice(0,a))}e.prototype.format=function(i){var a="Error: "+this.message;if(this.location){var s=null,o;for(o=0;o `+u+` `+m+` | `+c.line+" | "+_+` `+m+" | "+t("",l.column-1," ")+t("",R,"^")}else a+=` at `+u}return a},e.buildMessage=function(i,a){var s={literal:function(_){return'"'+l(_.text)+'"'},class:function(_){var E=_.parts.map(function(R){return Array.isArray(R)?c(R[0])+"-"+c(R[1]):c(R)});return"["+(_.inverted?"^":"")+E.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(_){return _.description}};function o(_){return _.charCodeAt(0).toString(16).toUpperCase()}function l(_){return _.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function c(_){return _.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+o(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+o(E)})}function u(_){return s[_.type](_)}function p(_){var E=_.map(u),R,w;if(E.sort(),E.length>0){for(R=1,w=1;R",w="@",k=":",$="/",H="(",h=")",S="[:",b="]",N="[",M="{",B="}",F="+",V="*",re="%",ae="^",ie="&",te=">>",x="<<",P="_",q="?",z="!",ne="r",se="#",_e="b",ye="iii",Ie="ii",ve="iv",Re="i",de="vii",Be="vi",je="v",Ue=/^[0-9]/,rt=/^[ \n\r\t]/,st=/^[a-z]/,bt=/^[a-z_]/,At=/^[a-z_0-9]/,St=/^[mklpdcwyhnqaefsxtgujzo]/,Nt=/^[a-zA-Z0-9]/,kt=/^[a-zA-Z0-9\-*+]/,Fn=/^[A-G]/,ze=/^[bs]/,fn=ct("-",!1),Je=cr([["0","9"]],!1,!1),Pe=ct(".",!1),cn=Ao("whitespace"),rn=cr([" ",` -`,"\r"," "],!1,!1),hn=ct(",",!1),K=ct("|",!1),me=cr([["a","z"]],!1,!1),De=cr([["a","z"],"_"],!1,!1),Me=cr([["a","z"],"_",["0","9"]],!1,!1),tt=ct("<",!1),Ne=ct(">",!1),jt=ct("@",!1),ut=ct(":",!1),wt=cr(["m","k","l","p","d","c","w","y","h","n","q","a","e","f","s","x","t","g","u","j","z","o"],!1,!1),ir=ct("/",!1),ft=ct("(",!1),an=ct(")",!1),It=ct("[:",!1),$e=ct("]",!1),Zn=ct("[",!1),ii=ct("{",!1),dt=ct("}",!1),ar=ct("+",!1),Un=ct("*",!1),Wi=ct("%",!1),Yn=ct("^",!1),Jt=ct("&",!1),Ur=ct(">>",!1),Ia=ct("<<",!1),Ai=ct("_",!1),Ra=ct("?",!1),vr=ct("!",!1),Ii=ct("r",!1),Yr=cr([["a","z"],["A","Z"],["0","9"]],!1,!1),sn=ct("#",!1),Ri=ct("b",!1),wi=cr([["a","z"],["A","Z"],["0","9"],"-","*","+"],!1,!1),W=cr([["A","G"]],!1,!1),oe=cr(["b","s"],!1,!1),pe=ct("iii",!1),Se=ct("ii",!1),xe=ct("iv",!1),Ve=ct("i",!1),Fe=ct("vii",!1),Rt=ct("vi",!1),$n=ct("v",!1),sr=function(T){return T.filter(D=>D)},ss=function(){return parseFloat(jn())},wa=function(){return parseInt(jn())},uo=function(){return parseInt(jn())},or=function(){},po=function(T){return Qt(Sq,{sound:T})},os=function(){return jn()},ls=function(T){return Qt(al,{items:T})},fo=function(T){return T},cs=function(T,D){return Qt(Oq,{item:T,sound:D})},ho=function(T,D){return Qt(Eq,{item:T,soundIndex:D})},us=function(T){return T},Kn=function(){return cQ[jn()]},mo=function(T,D){return T/D},go=function(T){return T.filter(D=>D)},ds=function(T){return Qt(al,{items:T})},ps=function(T,D){return D?Qt(fv,{item:T,times:D}):Qt(hv,{items:T})},_o=function(T){return T},fs=function(T,D,U){return Qt(Aq,{left:T,operation:D,right:U})},bo=function(T,D){return Qt(yq,{items:T,times:D})},hs=function(T){return Qt(bI,{items:T})},So=function(T){return T.map(D=>typeof D=="number"?D:void 0)},Oo=function(){return Math.ceil(mI(jn()))},Tr=function(T){var D=T.filter(U=>U).map(U=>Qt(En,{pitch:U[0]},U.toString()));return Qt(hv,{items:D})},Tt=function(T){return T},Eo=function(T){return T},Xi=function(){},vo=function(T){return Qt(al,{items:T})},Ni=function(T){return Qt(Tq,{octave:T})},To=function(){return jn().split("").reduce((T,D)=>T+(D==="^"?1:-1),0)},Zi=function(){return Qt(Iu,{seededRandom:a.seededRandom})},ms=function(T,D){return Qt(Iu,{min:T,max:D,seededRandom:a.seededRandom})},gs=function(T,D){return Qt(fv,{item:T,times:D})},Co=function(T){return Qt(Cq,{duration:T})},Ki=function(T){return T},_s=function(T){return Qt(Vg,{duration:T})},ji=function(T,D,U,J){const ue=T?a.nodeOptions.octave+T:a.nodeOptions.octave;return Qt(En,{duration:D,pitch:J,pitchOctave:ue,add:U})},Ji=function(T){return T.reduce((D,U)=>D+(U==="#"?1:-1),0)},bs=function(T,D,U){return Qt(wn,{pitches:[T].concat(D),inversion:U})},Na=function(){return jn()},xi=function(T){return T},In=function(){return jn()},Ss=function(T,D,U,J,ue){const Ce=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",_t=a.nodeOptions.key?a.nodeOptions.key:"C",Ar=Mq(J,U,Ce,T,D),No=D||a.nodeOptions.duration,SD=T?a.nodeOptions.octave+T:a.nodeOptions.octave;return Qt(wn,{duration:No,chordOctave:SD,pitches:Ar,chordName:J,inversion:ue,scaleName:Ce,key:_t})},lr=function(T,D,U){const J=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",ue=a.nodeOptions.key?a.nodeOptions.key:"C";return Qt(vq,{roman:T,chordName:D,inversion:U,scaleName:J,key:ue})},xa=function(T){const D=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",U=a.nodeOptions.key?a.nodeOptions.key:"C",J=Qq(T,U,D);return Qt(En,{pitch:J.pc,add:J.add,scaleName:D,key:U})},A=0,Ze=0,Os=[{line:1,column:1}],Cr=0,yo=[],Te=0,be={},Da;if("startRule"in a){if(!(a.startRule in l))throw new Error(`Can't start parsing from rule "`+a.startRule+'".');c=l[a.startRule]}function jn(){return i.substring(Ze,A)}function Vl(){return d(Ze,A)}function ct(T,D){return{type:"literal",text:T,ignoreCase:D}}function cr(T,D,U){return{type:"class",parts:T,inverted:D,ignoreCase:U}}function zl(){return{type:"end"}}function Ao(T){return{type:"other",description:T}}function Hl(T){var D=Os[T],U;if(D)return D;for(U=T-1;!Os[U];)U--;for(D=Os[U],D={line:D.line,column:D.column};UCr&&(Cr=A,yo=[]),yo.push(T))}function g(T,D,U){return new e(e.buildMessage(T,D),T,D,U)}function O(){var T,D,U=A*56+0,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=en(),D!==s&&(Ze=T,D=sr(D)),T=D,be[U]={nextPos:A,result:T},T)}function C(){var T,D,U,J,ue,Ce,_t,Ar=A*56+1,No=be[Ar];if(No)return A=No.nextPos,No.result;for(T=A,D=A,i.charCodeAt(A)===45?(U=u,A++):(U=s,Te===0&&f(fn)),U===s&&(U=null),J=[],Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));ue!==s;)J.push(ue),Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));if(i.charCodeAt(A)===46?(ue=p,A++):(ue=s,Te===0&&f(Pe)),ue!==s){if(Ce=[],Ue.test(i.charAt(A))?(_t=i.charAt(A),A++):(_t=s,Te===0&&f(Je)),_t!==s)for(;_t!==s;)Ce.push(_t),Ue.test(i.charAt(A))?(_t=i.charAt(A),A++):(_t=s,Te===0&&f(Je));else Ce=s;Ce!==s?(U=[U,J,ue,Ce],D=U):(A=D,D=s)}else A=D,D=s;if(D===s)if(D=A,i.charCodeAt(A)===46?(U=p,A++):(U=s,Te===0&&f(Pe)),U!==s){if(J=[],Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je)),ue!==s)for(;ue!==s;)J.push(ue),Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));else J=s;J!==s?(U=[U,J],D=U):(A=D,D=s)}else A=D,D=s;return D!==s&&(Ze=T,D=ss()),T=D,be[Ar]={nextPos:A,result:T},T}function y(){var T,D,U=A*56+2,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===45?A++:Te===0&&f(fn),Ue.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(Je)),D!==s?(Ze=T,T=wa()):(A=T,T=s),be[U]={nextPos:A,result:T},T)}function L(){var T,D,U,J=A*56+3,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,i.charCodeAt(A)===45?A++:Te===0&&f(fn),D=[],Ue.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(Je)),U!==s)for(;U!==s;)D.push(U),Ue.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(Je));else D=s;return D!==s?(Ze=T,T=uo()):(A=T,T=s),be[J]={nextPos:A,result:T},T}function G(){var T,D,U=A*56+4,J=be[U];return J?(A=J.nextPos,J.result):(Te++,T=A,rt.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(rn)),D!==s&&(Ze=T,D=or()),T=D,Te--,T===s&&(D=s,Te===0&&f(cn)),be[U]={nextPos:A,result:T},T)}function Y(){var T,D,U=A*56+8,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=j(),D!==s&&(Ze=T,D=po(D)),T=D,be[U]={nextPos:A,result:T},T)}function j(){var T,D,U,J,ue,Ce=A*56+10,_t=be[Ce];if(_t)return A=_t.nextPos,_t.result;if(T=A,st.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(me)),D!==s){if(U=[],bt.test(i.charAt(A))?(J=i.charAt(A),A++):(J=s,Te===0&&f(De)),J!==s)for(;J!==s;)U.push(J),bt.test(i.charAt(A))?(J=i.charAt(A),A++):(J=s,Te===0&&f(De));else U=s;if(U!==s){for(J=[],At.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Me));ue!==s;)J.push(ue),At.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Me));Ze=T,T=os()}else A=T,T=s}else A=T,T=s;return be[Ce]={nextPos:A,result:T},T}function Z(){var T,D=A*56+11,U=be[D];return U?(A=U.nextPos,U.result):(T=fe(),T===s&&(T=ge()),be[D]={nextPos:A,result:T},T)}function fe(){var T,D,U,J,ue=A*56+12,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s){if(U=[],J=Z(),J!==s)for(;J!==s;)U.push(J),J=Z();else U=s;U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=ls(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function ge(){var T,D=A*56+13,U=be[D];return U?(A=U.nextPos,U.result):(T=j(),T===s&&(T=fe(),T===s&&(T=G())),be[D]={nextPos:A,result:T},T)}function ce(){var T,D,U,J=A*56+14,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===64?(D=w,A++):(D=s,Te===0&&f(jt)),D!==s?(U=Z(),U!==s?(Ze=T,T=fo(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function le(){var T,D=A*56+15,U=be[D];return U?(A=U.nextPos,U.result):(T=mn(),T===s&&(T=ot(),T===s&&(T=Xt(),T===s&&(T=Ju(),T===s&&(T=Wt())))),be[D]={nextPos:A,result:T},T)}function we(){var T,D,U,J=A*56+16,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=le(),D===s&&(D=wo()),D!==s?(U=ce(),U!==s?(Ze=T,T=cs(D,U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function Oe(){var T,D,U,J=A*56+17,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=we(),D===s&&(D=le(),D===s&&(D=wo())),D!==s?(U=He(),U!==s?(Ze=T,T=ho(D,U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function He(){var T,D,U,J=A*56+18,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===58?(D=k,A++):(D=s,Te===0&&f(ut)),D!==s?(U=Lt(),U!==s?(Ze=T,T=us(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function et(){var T,D,U=A*56+19,J=be[U];return J?(A=J.nextPos,J.result):(T=A,St.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(wt)),D!==s&&(Ze=T,D=Kn()),T=D,be[U]={nextPos:A,result:T},T)}function Ge(){var T,D=A*56+20,U=be[D];return U?(A=U.nextPos,U.result):(T=xt(),T===s&&(T=C(),T===s&&(T=et())),be[D]={nextPos:A,result:T},T)}function xt(){var T,D,U,J,ue=A*56+21,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=L(),D!==s?(i.charCodeAt(A)===47?(U=$,A++):(U=s,Te===0&&f(ir)),U!==s?(J=L(),J!==s?(Ze=T,T=mo(D,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function en(){var T,D,U,J=A*56+22,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],U=w1(),U===s&&(U=Oe(),U===s&&(U=we(),U===s&&(U=mn(),U===s&&(U=Xt(),U===s&&(U=ot(),U===s&&(U=Wt(),U===s&&(U=wo(),U===s&&(U=Ju())))))))),U!==s)for(;U!==s;)D.push(U),U=w1(),U===s&&(U=Oe(),U===s&&(U=we(),U===s&&(U=mn(),U===s&&(U=Xt(),U===s&&(U=ot(),U===s&&(U=Wt(),U===s&&(U=wo(),U===s&&(U=Ju()))))))));else D=s;return D!==s&&(Ze=T,D=go(D)),T=D,be[J]={nextPos:A,result:T},T}function Lt(){var T,D=A*56+23,U=be[D];return U?(A=U.nextPos,U.result):(T=G(),T===s&&(T=L(),T===s&&(T=R1(),T===s&&(T=td(),T===s&&(T=un(),T===s&&(T=A1()))))),be[D]={nextPos:A,result:T},T)}function un(){var T,D,U,J,ue=A*56+24,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s){if(U=[],J=Lt(),J!==s)for(;J!==s;)U.push(J),J=Lt();else U=s;U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=ds(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function ot(){var T,D,U,J,ue,Ce=A*56+25,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,i.charCodeAt(A)===40?(D=H,A++):(D=s,Te===0&&f(ft)),D!==s?(i.charCodeAt(A)===58?A++:Te===0&&f(ut),U=en(),U!==s?(J=ht(),J===s&&(J=null),i.charCodeAt(A)===41?(ue=h,A++):(ue=s,Te===0&&f(an)),ue!==s?(Ze=T,T=ps(U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function ht(){var T,D,U,J=A*56+26,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===58?(D=k,A++):(D=s,Te===0&&f(ut)),D!==s?(U=L(),U!==s?(Ze=T,T=_o(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function mn(){var T,D,U,J,ue=A*56+27,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=ot(),D!==s?(U=I1(),U!==s?(J=ot(),J!==s?(Ze=T,T=fs(D,U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function Wt(){var T,D,U,J,ue,Ce=A*56+28,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,i.substr(A,2)===S?(D=S,A+=2):(D=s,Te===0&&f(It)),D!==s?(U=en(),U!==s?(J=ht(),J===s&&(J=null),i.charCodeAt(A)===93?(ue=b,A++):(ue=s,Te===0&&f($e)),ue!==s?(Ze=T,T=bo(U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function Xt(){var T,D,U,J,ue=A*56+29,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===91?(D=N,A++):(D=s,Te===0&&f(Zn)),D!==s?(U=en(),U!==s?(i.charCodeAt(A)===93?(J=b,A++):(J=s,Te===0&&f($e)),J!==s?(Ze=T,T=hs(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function yr(){var T,D=A*56+30,U=be[D];return U?(A=U.nextPos,U.result):(T=L(),T===s&&(T=y()),be[D]={nextPos:A,result:T},T)}function Io(){var T,D,U,J=A*56+31,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],U=Wl(),U===s&&(U=yr()),U!==s)for(;U!==s;)D.push(U),U=Wl(),U===s&&(U=yr());else D=s;return D!==s&&(Ze=T,D=So(D)),T=D,be[J]={nextPos:A,result:T},T}function Wl(){var T,D,U,J,ue=A*56+32,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===40?A++:Te===0&&f(ft),D=yr(),D!==s?(U=I1(),U!==s?(J=Io(),J!==s?(i.charCodeAt(A)===41?A++:Te===0&&f(an),Ze=T,T=Oo()):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function Ro(){var T,D,U,J,ue=A*56+33,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===123?(D=M,A++):(D=s,Te===0&&f(ii)),D!==s){if(U=[],J=Io(),J===s&&(J=G()),J!==s)for(;J!==s;)U.push(J),J=Io(),J===s&&(J=G());else U=s;U!==s?(i.charCodeAt(A)===125?(J=B,A++):(J=s,Te===0&&f(dt)),J!==s?(Ze=T,T=Tr(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function A1(){var T,D,U,J,ue=A*56+34,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===123?(D=M,A++):(D=s,Te===0&&f(ii)),D!==s?(U=L(),U===s&&(U=td()),U!==s?(i.charCodeAt(A)===125?(J=B,A++):(J=s,Te===0&&f(dt)),J!==s?(Ze=T,T=Tt(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function I1(){var T,D=A*56+35,U=be[D];return U?(A=U.nextPos,U.result):(i.charCodeAt(A)===43?(T=F,A++):(T=s,Te===0&&f(ar)),T===s&&(i.charCodeAt(A)===45?(T=u,A++):(T=s,Te===0&&f(fn)),T===s&&(i.charCodeAt(A)===42?(T=V,A++):(T=s,Te===0&&f(Un)),T===s&&(i.charCodeAt(A)===47?(T=$,A++):(T=s,Te===0&&f(ir)),T===s&&(i.charCodeAt(A)===37?(T=re,A++):(T=s,Te===0&&f(Wi)),T===s&&(i.charCodeAt(A)===94?(T=ae,A++):(T=s,Te===0&&f(Yn)),T===s&&(i.charCodeAt(A)===124?(T=_,A++):(T=s,Te===0&&f(K)),T===s&&(i.charCodeAt(A)===38?(T=ie,A++):(T=s,Te===0&&f(Jt)),T===s&&(i.substr(A,2)===te?(T=te,A+=2):(T=s,Te===0&&f(Ur)),T===s&&(i.substr(A,2)===x?(T=x,A+=2):(T=s,Te===0&&f(Ia))))))))))),be[D]={nextPos:A,result:T},T)}function wo(){var T,D,U=A*56+36,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=fD(),D===s&&(D=_D(),D===s&&(D=gD(),D===s&&(D=bD(),D===s&&(D=Y(),D===s&&(D=mD(),D===s&&(D=Xl(),D===s&&(D=uD(),D===s&&(D=G(),D===s&&(D=dD(),D===s&&(D=ot(),D===s&&(D=Ro(),D===s&&(D=cD())))))))))))),D!==s&&(Ze=T,D=Eo(D)),T=D,be[U]={nextPos:A,result:T},T)}function cD(){var T,D,U=A*56+37,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===124?(D=_,A++):(D=s,Te===0&&f(K)),D!==s&&(Ze=T,D=Xi()),T=D,be[U]={nextPos:A,result:T},T)}function Ju(){var T,D,U,J,ue=A*56+38,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s?(U=en(),U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=vo(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function uD(){var T,D,U=A*56+39,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=ed(),D!==s&&(Ze=T,D=Ni(D)),T=D,be[U]={nextPos:A,result:T},T)}function ed(){var T,D,U,J=A*56+40,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U===s&&(i.charCodeAt(A)===95?(U=P,A++):(U=s,Te===0&&f(Ai))),U!==s)for(;U!==s;)D.push(U),i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U===s&&(i.charCodeAt(A)===95?(U=P,A++):(U=s,Te===0&&f(Ai)));else D=s;return D!==s&&(Ze=T,D=To()),T=D,be[J]={nextPos:A,result:T},T}function R1(){var T,D,U=A*56+41,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===63?(D=q,A++):(D=s,Te===0&&f(Ra)),D!==s&&(Ze=T,D=Zi()),T=D,be[U]={nextPos:A,result:T},T)}function td(){var T,D,U,J,ue,Ce,_t=A*56+42,Ar=be[_t];return Ar?(A=Ar.nextPos,Ar.result):(T=A,i.charCodeAt(A)===40?(D=H,A++):(D=s,Te===0&&f(ft)),D!==s?(U=L(),U!==s?(i.charCodeAt(A)===44?(J=m,A++):(J=s,Te===0&&f(hn)),J!==s?(ue=L(),ue!==s?(i.charCodeAt(A)===41?(Ce=h,A++):(Ce=s,Te===0&&f(an)),Ce!==s?(Ze=T,T=ms(U,ue)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[_t]={nextPos:A,result:T},T)}function w1(){var T,D,U,J,ue=A*56+43,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=Oe(),D===s&&(D=we(),D===s&&(D=le(),D===s&&(D=wo()))),D!==s?(i.charCodeAt(A)===33?(U=z,A++):(U=s,Te===0&&f(vr)),U!==s?(J=L(),J!==s?(Ze=T,T=gs(D,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function dD(){var T,D,U=A*56+44,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=Ge(),D!==s&&(Ze=T,D=Co(D)),T=D,be[U]={nextPos:A,result:T},T)}function pD(){var T,D,U,J=A*56+45,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=Ge(),D!==s?(i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U!==s?(Ze=T,T=Ki(D)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function fD(){var T,D,U,J,ue,Ce=A*56+46,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,D=pD(),D===s&&(D=null),i.charCodeAt(A)===114?(U=ne,A++):(U=s,Te===0&&f(Ii)),U!==s?(J=A,Te++,Nt.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Yr)),Te--,ue===s?J=void 0:(A=J,J=s),J!==s?(Ze=T,T=_s(D)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function Xl(){var T,D,U,J,ue,Ce=A*56+47,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,D=ed(),D===s&&(D=null),U=Ge(),U===s&&(U=null),J=hD(),J===s&&(J=null),ue=y(),ue===s&&(ue=R1(),ue===s&&(ue=td(),ue===s&&(ue=A1()))),ue!==s?(Ze=T,T=ji(D,U,J,ue)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function hD(){var T,D,U,J=A*56+48,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],i.charCodeAt(A)===35?(U=se,A++):(U=s,Te===0&&f(sn)),U===s&&(i.charCodeAt(A)===98?(U=_e,A++):(U=s,Te===0&&f(Ri))),U!==s)for(;U!==s;)D.push(U),i.charCodeAt(A)===35?(U=se,A++):(U=s,Te===0&&f(sn)),U===s&&(i.charCodeAt(A)===98?(U=_e,A++):(U=s,Te===0&&f(Ri)));else D=s;return D!==s&&(Ze=T,D=Ji(D)),T=D,be[J]={nextPos:A,result:T},T}function mD(){var T,D,U,J,ue=A*56+49,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,D=Xl(),D!==s){if(U=[],J=Xl(),J!==s)for(;J!==s;)U.push(J),J=Xl();else U=s;U!==s?(J=nd(),J===s&&(J=null),Ze=T,T=bs(D,U,J)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function N1(){var T,D,U,J=A*56+50,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],kt.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(wi)),U!==s)for(;U!==s;)D.push(U),kt.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(wi));else D=s;return D!==s&&(Ze=T,D=Na()),T=D,be[J]={nextPos:A,result:T},T}function nd(){var T,D,U,J=A*56+51,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===37?(D=re,A++):(D=s,Te===0&&f(Wi)),D!==s?(U=L(),U!==s?(Ze=T,T=xi(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function x1(){var T,D,U=A*56+52,J=be[U];return J?(A=J.nextPos,J.result):(T=A,Fn.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(W)),D!==s?(ze.test(i.charAt(A))?(i.charAt(A),A++):Te===0&&f(oe),Ze=T,T=In()):(A=T,T=s),be[U]={nextPos:A,result:T},T)}function gD(){var T,D,U,J,ue,Ce,_t=A*56+53,Ar=be[_t];return Ar?(A=Ar.nextPos,Ar.result):(T=A,D=ed(),D===s&&(D=null),U=Ge(),U===s&&(U=null),J=x1(),J!==s?(i.charCodeAt(A)===94?A++:Te===0&&f(Yn),ue=N1(),ue!==s?(Ce=nd(),Ce===s&&(Ce=null),Ze=T,T=Ss(D,U,J,ue,Ce)):(A=T,T=s)):(A=T,T=s),be[_t]={nextPos:A,result:T},T)}function _D(){var T,D,U,J,ue=A*56+54,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.substr(A,3)===ye?(D=ye,A+=3):(D=s,Te===0&&f(pe)),D===s&&(i.substr(A,2)===Ie?(D=Ie,A+=2):(D=s,Te===0&&f(Se)),D===s&&(i.substr(A,2)===ve?(D=ve,A+=2):(D=s,Te===0&&f(xe)),D===s&&(i.charCodeAt(A)===105?(D=Re,A++):(D=s,Te===0&&f(Ve)),D===s&&(i.substr(A,3)===de?(D=de,A+=3):(D=s,Te===0&&f(Fe)),D===s&&(i.substr(A,2)===Be?(D=Be,A+=2):(D=s,Te===0&&f(Rt)),D===s&&(i.charCodeAt(A)===118?(D=je,A++):(D=s,Te===0&&f($n)))))))),D!==s?(i.charCodeAt(A)===94?A++:Te===0&&f(Yn),U=N1(),U===s&&(U=null),J=nd(),J===s&&(J=null),Ze=T,T=lr(D,U,J)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function bD(){var T,D,U=A*56+55,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=x1(),D!==s&&(Ze=T,D=xa(D)),T=D,be[U]={nextPos:A,result:T},T)}var D1=a.nodeOptions||{};function Qt(T,D,U=void 0){D.text=U||jn(),D.location=Vl();for(var J in D1)(D[J]===void 0||D[J]===null)&&(D[J]=D1[J]);return new T(D)}if(Da=c(),Da!==s&&A===i.length)return Da;throw Da!==s&&A1&&(c=c.slice(1));const u=c.map(p=>isNaN(parseInt(p))?p:parseInt(p));return o(...u).toString()}return o.toString()}}return a[0]}const i=new RegExp(t.join("|"),"g");return r.replace(i,a=>n(a))}function Wq(r,e,t){let n=r;for(let i=0;i1&&(t=t.split("").join(" ")),t}revaluate(){this.values=gv(this.input,this.options),this.evaluated=this.evaluate(this.values),this.applyTransformations(),this.duration=this.totalDuration()}pitches(){return this.evaluated.map(e=>e.collect("pitch"))}notes(){return this.evaluated.map(e=>e.collect("note"))}sounds(){return this.evaluated.map(e=>e.collect("sound"))}indices(){return this.evaluated.map(e=>e.collect("soundIndex"))}freqs(){return this.evaluated.map(e=>e.collect("freq"))}durations(){return this.evaluated.map(e=>e.collect("duration"))}octaves(){return this.evaluated.map(e=>e.collect("octave"))}retrograde(){return this.evaluated=this.evaluated.reverse(),this}scale(e){return this.applyOptions({scale:e}),this}key(e){return this.applyOptions({key:e}),this}octave(e){return this.applyOptions({octave:e}),this}invert(e){return this.applyOptions({inversion:e}),this}isInOptions(e,t){return this.options.nodeOptions&&this.options.nodeOptions[e]===t}atLast(){return this.index+1>=this.evaluated.length*this.redo}clone(){return _i(this)}notStarted(){return this.index<0}peek(){return this.evaluated[this.index-1||0]}hasStarted(){return this.index>=0}reset(){this.index=-1,this.counter=0}next(){this.index<0&&(this.index=0);const e=this.evaluated[this.index%this.evaluated.length];if(this.index++,this.counter++,this.redo>0&&this.index>=this.evaluated.length*this.redo){if(this.index=0,this.generator){const t=this.generator.next();t.done?this.generatorDone=!0:(this.input=Ka.inputFromNumber(t.value),this.revaluate())}this.evaluated=this.evaluate(this.values)}return e}applyOptions(e={}){this.evaluated=this.evaluate(this.evaluated,e),this.applyTransformations()}applyTransformations(){var e;(e=this.globalOptions)!=null&&e.retrograde&&(this.evaluated=this.evaluated.reverse())}update(){return this.evaluated=this.evaluate(this.values),this.applyTransformations(),this}evaluate(e,t={}){let n=e.map(i=>i.evaluate(t)).flat(1/0).filter(i=>i!==void 0);return t.subdivisions&&(n=yI(n)),n}totalDuration(){return this.evaluated.reduce((t,n)=>t+n.collect("duration"),0)}lead(){let e=this.evaluated.findIndex(t=>t instanceof wn);if(e>=0){for(let t=e+1;t<=this.evaluated.length;t++)if(this.evaluated[t]instanceof wn){const n=this.evaluated[e],i=this.evaluated[t],a=Vq(n.notes(),i.notes()),s=_i(i);s.voiceLeadFromNotes(a,this.options.nodeOptions),this.evaluated[t]=s,e=t}}return this}toString(){return this.evaluated.map(e=>e.toString()).join(" ")}rules(e,t=1){const n=Wq(this.input,e,t);return new Ka(n,this.options.nodeOptions,this.globalOptions)}tonnetzChords(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof En?n.tonnetzChord(e,t):n)),this}triadTonnetz(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof wn?n.triadTonnetz(e,t):n)),this}tetraTonnetz(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof wn?n.tetraTonnetz(e,t):n)),this}hexaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?xQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}octaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?DQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}enneaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?kQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}}const yI=(r,e=void 0)=>r.map(n=>{if(n instanceof bI){const i=n.evaluated.length,a=(e||n.duration)/i;return yI(n.evaluated,a)}else return n.duration=e||n.duration,n}).flat(1/0),Xq=r=>{let e={};return bq.forEach(t=>{if(r[t]!==void 0){const n=r[t];e[t]=n,delete r[t]}}),e},yi=(r,e)=>{let t=0;if(r<1)return t;for(;r%e**t===0;)t++;return t-1},zi=(r,e)=>{if(r===0)return 0;const t=yi(r,e);return 1/e**t},Zq=(r,e,t=11)=>{const n=[];for(let a=1;a{const n=[];for(let s=1;ss!==0))};function*Kq(){let[r,e]=[0,1];for(;;)yield r,[r,e]=[e,r+e]}function*jq(){let[r,e,t]=[0,0,1];for(;;)yield e,[r,e,t]=[t,r,r+e+t]}function*Jq(){let[r,e,t,n]=[0,0,0,1];for(;;)yield t,[r,e,t,n]=[n,r,e,r+e+t+n]}function*eV(){let[r,e,t,n,i]=[0,0,0,0,1];for(;;)yield n,[r,e,t,n,i]=[i,r,e,t,r+e+t+n+i]}function*tV(){let[r,e,t,n,i,a]=[0,0,0,0,0,1];for(;;)yield i,[r,e,t,n,i,a]=[a,r,e,t,n,r+e+t+n+i+a]}function*nV(){let[r,e,t,n,i,a,s]=[0,0,0,0,0,0,1];for(;;)yield a,[r,e,t,n,i,a,s]=[s,r,e,t,n,i,r+e+t+n+i+a+s]}function*rV(){let[r,e,t,n,i,a,s,o]=[0,0,0,0,0,0,0,1];for(;;)yield s,[r,e,t,n,i,a,s,o]=[o,r,e,t,n,i,a,r+e+t+n+i+a+s+o]}function*iV(){let[r,e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,0,1];for(;;)yield o,[r,e,t,n,i,a,s,o,l]=[l,r,e,t,n,i,a,s,r+e+t+n+i+a+s+o+l]}function*aV(r){let[e,t]=[0,1];for(;;)yield e,[e,t]=[t,(e+t)%r]}function*sV(r){let[e,t,n]=[0,0,1];for(;;)yield t,[e,t,n]=[n,e,(e+t+n)%r]}function*oV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield n,[e,t,n,i]=[i,e,t,(e+t+n+i)%r]}function*lV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield i,[e,t,n,i,a]=[a,e,t,n,(e+t+n+i+a)%r]}function*cV(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield a,[e,t,n,i,a,s]=[s,e,t,n,i,(e+t+n+i+a+s)%r]}function*uV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield s,[e,t,n,i,a,s,o]=[o,e,t,n,i,a,(e+t+n+i+a+s+o)%r]}function*dV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield o,[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,(e+t+n+i+a+s+o+l)%r]}function*pV(r){let[e,t,n,i,a,s,o,l,c]=[0,0,0,0,0,0,0,0,1];for(;;)yield l,[e,t,n,i,a,s,o,l,c]=[c,e,t,n,i,a,s,o,(e+t+n+i+a+s+o+l+c)%r]}function*fV(r){let[e,t]=[0,1];for(;;)yield yi(e,r),[e,t]=[t,e+t]}function*hV(r){let[e,t,n]=[0,0,1];for(;;)yield yi(t,r),[e,t,n]=[n,e,e+t+n]}function*mV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield yi(n,r),[e,t,n,i]=[i,e,t,e+t+n+i]}function*gV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield yi(i,r),[e,t,n,i,a]=[a,e,t,n,e+t+n+i+a]}function*_V(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield yi(a,r),[e,t,n,i,a,s]=[s,e,t,n,i,e+t+n+i+a+s]}function*bV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield yi(s,r),[e,t,n,i,a,s,o]=[o,e,t,n,i,a,e+t+n+i+a+s+o]}function*SV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield yi(o,r),[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,e+t+n+i+a+s+o+l]}function*OV(r){const e=Array(9).fill(0);e[9-1]=1;let[t,n,i,a,s,o,l,c,u]=e;for(;;)yield yi(c,r),[t,n,i,a,s,o,l,c,u]=[u,t,n,i,a,s,o,l,t+n+i+a+s+o+l+c+u]}function*EV(r){let[e,t]=[0,1];for(;;)yield zi(e,r),[e,t]=[t,e+t]}function*vV(r){let[e,t,n]=[0,0,1];for(;;)yield zi(t,r),[e,t,n]=[n,e,e+t+n]}function*TV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield zi(n,r),[e,t,n,i]=[i,e,t,e+t+n+i]}function*CV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield zi(i,r),[e,t,n,i,a]=[a,e,t,n,e+t+n+i+a]}function*yV(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield zi(a,r),[e,t,n,i,a,s]=[s,e,t,n,i,e+t+n+i+a+s]}function*AV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield zi(s,r),[e,t,n,i,a,s,o]=[o,e,t,n,i,a,e+t+n+i+a+s+o]}function*IV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield zi(o,r),[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,e+t+n+i+a+s+o+l]}function*RV(r){const e=Array(9).fill(0);e[9-1]=1;let[t,n,i,a,s,o,l,c,u]=e;for(;;)yield zi(c,r),[t,n,i,a,s,o,l,c,u]=[u,t,n,i,a,s,o,l,t+n+i+a+s+o+l+c+u]}function*wV(r,e=11){let[t,n]=[0,1];for(;;)yield Hi(t,r,e),[t,n]=[n,t+n]}function*NV(r,e=11){let[t,n,i]=[0,0,1];for(;;)yield Hi(n,r,e),[t,n,i]=[i,t,t+n+i]}function*xV(r,e=11){let[t,n,i,a]=[0,0,0,1];for(;;)yield Hi(i,r,e),[t,n,i,a]=[a,t,n,t+n+i+a]}function*DV(r,e=11){let[t,n,i,a,s]=[0,0,0,0,1];for(;;)yield Hi(a,r,e),[t,n,i,a,s]=[s,t,n,i,t+n+i+a+s]}function*kV(r,e=11){let[t,n,i,a,s,o]=[0,0,0,0,0,1];for(;;)yield Hi(s,r,e),[t,n,i,a,s,o]=[o,t,n,i,a,t+n+i+a+s+o]}function*LV(r,e=11){let[t,n,i,a,s,o,l]=[0,0,0,0,0,0,1];for(;;)yield Hi(o,r,e),[t,n,i,a,s,o,l]=[l,t,n,i,a,s,t+n+i+a+s+o+l]}function*MV(r,e=11){let[t,n,i,a,s,o,l,c]=[0,0,0,0,0,0,0,1];for(;;)yield Hi(l,r,e),[t,n,i,a,s,o,l,c]=[c,t,n,i,a,s,o,t+n+i+a+s+o+l+c]}function*PV(r,e=11){const t=Array(9).fill(0);t[9-1]=1;let[n,i,a,s,o,l,c,u,p]=t;for(;;)yield Hi(u,r,e),[n,i,a,s,o,l,c,u,p]=[p,n,i,a,s,o,l,c,n+i+a+s+o+l+c+u+p]}const BV=Object.freeze(Object.defineProperty({__proto__:null,enneanacci:iV,fibonacci:Kq,heptanacci:nV,hexanacci:tV,modularEnneanacci:pV,modularFibonacci:aV,modularHeptanacci:uV,modularHexanacci:cV,modularOctanacci:dV,modularPentanacci:lV,modularTetranacci:oV,modularTribonacci:sV,normPadicEnneanacci:RV,normPadicFibonacci:EV,normPadicHeptanacci:AV,normPadicHexanacci:yV,normPadicOctanacci:IV,normPadicPentanacci:CV,normPadicTetranacci:TV,normPadicTribonacci:vV,octanacci:rV,pAdicExpansion:Zq,pAdicExpansionArithmetic:Hi,pAdicExpansionEnneanacci:PV,pAdicExpansionFibonacci:wV,pAdicExpansionHeptanacci:LV,pAdicExpansionHexanacci:kV,pAdicExpansionOctanacci:MV,pAdicExpansionPentanacci:DV,pAdicExpansionTetranacci:xV,pAdicExpansionTribonacci:NV,pAdicNorm:zi,pAdicValuation:yi,padicEnneanacci:OV,padicFibonacci:fV,padicHeptanacci:bV,padicHexanacci:_V,padicOctanacci:SV,padicPentanacci:gV,padicTetranacci:mV,padicTribonacci:hV,pentanacci:eV,tetranacci:Jq,tribonacci:jq},Symbol.toStringTag,{value:"Module"}));class FV{constructor(e,t){I(this,"api");I(this,"settings");I(this,"midiAccess",null);I(this,"midiOutputs",[]);I(this,"currentOutputIndex",0);I(this,"scheduledNotes",{});I(this,"midiInputs",[]);I(this,"currentInputIndex");I(this,"bufferLength",512);I(this,"noteInputBuffer",[]);I(this,"ccInputBuffer",[]);I(this,"activeNotes",[]);I(this,"stickyNotes",[]);I(this,"lastNote");I(this,"lastCC",{});I(this,"lastNoteInChannel",{});I(this,"lastCCInChannel",{});I(this,"midiClockInputIndex");I(this,"midiClockInput");I(this,"lastTimestamp",0);I(this,"midiClockDelta",0);I(this,"lastBPM");I(this,"roundedBPM",0);I(this,"clockBuffer",[]);I(this,"clockBufferLength",24);I(this,"clockTicks",0);I(this,"clockErrorCount",0);I(this,"skipOnError",0);this.api=e,this.settings=t,this.lastBPM=e.bpm(),this.roundedBPM=this.lastBPM,this.initializeMidiAccess()}async initializeMidiAccess(){try{this.midiAccess=await navigator.requestMIDIAccess(),this.midiOutputs=Array.from(this.midiAccess.outputs.values()),this.midiOutputs.length===0&&(console.warn("No MIDI outputs available."),this.currentOutputIndex=-1),this.midiInputs=Array.from(this.midiAccess.inputs.values()),this.midiInputs.length===0?console.warn("No MIDI inputs available."):this.updateInputSelects()}catch(e){console.error("Failed to initialize MIDI:",e)}}getCurrentMidiPort(){return this.midiOutputs.length>0&&this.currentOutputIndex>=0&&this.currentOutputIndex0&&this.currentOutputIndex>=0&&this.currentOutputIndex0){const e=document.getElementById("midi-clock-input"),t=document.getElementById("default-midi-input");e.innerHTML="",t.innerHTML="";const n=document.createElement("option");n.value="-1",n.text="Internal",e.appendChild(n);const i=document.createElement("option");if(i.value="-1",i.text="None",t.appendChild(i),this.midiInputs.forEach((a,s)=>{const o=document.createElement("option");o.value=s.toString(),o.text=a.name||s.toString(),e.appendChild(o),t.appendChild(o.cloneNode(!0))}),this.settings.midi_clock_input){const a=this.getMidiInputIndex(this.settings.midi_clock_input);e.value=a.toString(),a>0&&(this.midiClockInput=this.midiInputs[a],this.registerMidiInputListener(a))}else e.value="-1";if(this.settings.default_midi_input){const a=this.getMidiInputIndex(this.settings.default_midi_input);t.value=a.toString(),a>0&&(this.currentInputIndex=a,this.registerMidiInputListener(a))}else t.value="-1";e.addEventListener("change",a=>{const s=a.target.value;if(s==="-1")this.midiClockInput&&this.midiClockInputIndex!=this.currentInputIndex&&(this.midiClockInput.onmidimessage=null),this.midiClockInput=void 0,this.settings.midi_clock_input=void 0;else{const o=parseInt(s);this.midiClockInputIndex=o,this.midiClockInput&&this.midiClockInputIndex!=this.currentInputIndex&&(this.midiClockInput.onmidimessage=null),this.midiClockInput=this.midiInputs[o],this.registerMidiInputListener(o),this.settings.midi_clock_input=this.midiClockInput.name||void 0}}),t.addEventListener("change",a=>{const s=a.target.value;s==="-1"?(this.currentInputIndex&&this.currentInputIndex!=this.midiClockInputIndex&&this.unregisterMidiInputListener(this.currentInputIndex),this.currentInputIndex=void 0,this.settings.default_midi_input=void 0):(this.currentInputIndex&&this.currentInputIndex!=this.midiClockInputIndex&&this.unregisterMidiInputListener(this.currentInputIndex),this.currentInputIndex=parseInt(s),this.registerMidiInputListener(this.currentInputIndex),this.settings.default_midi_input=this.midiInputs[this.currentInputIndex].name||void 0)})}}registerMidiInputListener(e){if(e!==void 0){const t=this.midiInputs[e];t&&!t.onmidimessage&&(t.onmidimessage=n=>{const i=n;if(t.name===this.settings.midi_clock_input&&(i.data[0]===248?this.skipOnError>0?this.skipOnError-=1:this.onMidiClock(n.timeStamp):i.data[0]===250?(console.log("MIDI start received"),this.api.stop(),this.api.play()):i.data[0]===252?(console.log("MIDI stop received"),this.api.pause()):i.data[0]===251?(console.log("MIDI continue received"),this.api.play()):i.data[0]===254&&console.log("MIDI active sensing received")),t.name===this.settings.default_midi_input){if(i.data[0]>=144&&i.data[0]<=159){const a=i.data[0]-144+1,s=i.data[1],o=i.data[2];this.lastNote={note:s,velocity:o,channel:a,timestamp:n.timeStamp},this.lastNoteInChannel[a]={note:s,velocity:o,channel:a,timestamp:n.timeStamp},this.settings.midi_channels_scripts&&this.api.script(a),this.pushToMidiInputBuffer({note:s,velocity:o,channel:a,timestamp:n.timeStamp}),this.activeNotes.push({note:s,velocity:o,channel:a,timestamp:n.timeStamp}),this.removeFromStickyNotes(s,a)||this.stickyNotes.push({note:s,velocity:o,channel:a,timestamp:n.timeStamp})}if(i.data[0]>=128&&i.data[0]<=143){const a=i.data[0]-128+1,s=i.data[1];this.removeFromActiveNotes(s,a)}if(i.data[0]>=176&&i.data[0]<=191){const a=i.data[0]-176+1,s=i.data[1],o=i.data[2];this.lastCC[s]=o,this.lastCCInChannel[a]?this.lastCCInChannel[a][s]=o:(this.lastCCInChannel[a]={},this.lastCCInChannel[a][s]=o),this.pushToMidiCCBuffer({control:s,value:o,channel:a,timestamp:n.timeStamp})}}})}}removeFromActiveNotes(e,t){const n=this.activeNotes.findIndex(i=>i.note===e&&i.channel===t);n>=0&&this.activeNotes.splice(n,1)}removeFromStickyNotes(e,t){const n=this.stickyNotes.findIndex(i=>i.note===e&&i.channel===t);return n>=0?(this.stickyNotes.splice(n,1),!0):!1}stickyNotesFromChannel(e){return this.stickyNotes.filter(t=>t.channel===e)}activeNotesFromChannel(e){return this.activeNotes.filter(t=>t.channel===e)}killActiveNotes(){this.activeNotes=[]}killActiveNotesFromChannel(e){this.activeNotes=this.activeNotes.filter(t=>t.channel!==e)}pushToMidiInputBuffer(e){this.noteInputBuffer.push(e),this.noteInputBuffer.length>this.bufferLength&&this.noteInputBuffer.shift()}pushToMidiCCBuffer(e){this.ccInputBuffer.push(e),this.ccInputBuffer.length>this.bufferLength&&this.ccInputBuffer.shift()}findNoteFromBufferInChannel(e){const t=this.noteInputBuffer.findIndex(n=>n.channel===e);if(t>=0){const n=this.noteInputBuffer[t];return this.noteInputBuffer.splice(t,1),n}else return}findCCFromBufferInChannel(e){const t=this.ccInputBuffer.findIndex(n=>n.channel===e);if(t>=0){const n=this.ccInputBuffer[t];return this.ccInputBuffer.splice(t,1),n}else return}unregisterMidiInputListener(e){if(e!==void 0){const t=this.midiInputs[e];t&&(t.onmidimessage=null)}}onMidiClock(e){if(this.clockTicks+=1,this.lastTimestamp>0)if(this.lastTimestamp===e)this.clockErrorCount+=1;else if(this.clockErrorCount>0)console.log("Timestamp error count: ",this.clockErrorCount),console.log("Current timestamp: ",e),console.log("Last timestamp: ",this.lastTimestamp),console.log("Last delta: ",this.midiClockDelta),console.log("Current delta: ",e-this.lastTimestamp),console.log("BPMs",this.clockBuffer),this.clockErrorCount=0,this.skipOnError=this.settings.midi_clock_ppqn/4,e=0;else{this.midiClockDelta=e-this.lastTimestamp,this.lastBPM=60*(1e3/this.midiClockDelta/this.settings.midi_clock_ppqn),this.clockBuffer.push(this.lastBPM),this.clockBuffer.length>this.clockBufferLength&&this.clockBuffer.shift();const t=this.estimatedBPM();t!==this.roundedBPM&&(console.log("Estimated BPM: ",t),this.api.bpm(t),this.roundedBPM=t)}this.lastTimestamp=e}estimatedBPM(){const e=this.clockBuffer.reduce((t,n)=>t+n);return Math.round(e/this.clockBuffer.length)}sendMidiClock(){if(!this.midiClockInput){const e=this.midiOutputs[this.currentOutputIndex];e&&e.send([248])}}switchMidiOutput(e){const t=this.getMidiOutputIndex(e);return t!==-1?(this.currentOutputIndex=t,!0):!1}getMidiOutputIndex(e){if(typeof e=="number")return e<0||e>=this.midiOutputs.length?(console.error(`Invalid MIDI output index. Index must be in the range 0-${this.midiOutputs.length-1}.`),this.currentOutputIndex):e;{const t=this.midiOutputs.findIndex(n=>n.name===e);return t!==-1?t:(console.error(`MIDI output "${e}" not found.`),this.currentOutputIndex)}}getMidiInputIndex(e){if(typeof e=="number")return e<0||e>=this.midiInputs.length?(console.error(`Invalid MIDI input index. Index must be in the range 0-${this.midiInputs.length-1}.`),-1):e;{const t=this.midiInputs.findIndex(n=>n.name===e);return t!==-1?t:(console.error(`MIDI input "${e}" not found.`),-1)}}listMidiOutputs(){let e="Available MIDI Outputs: ";return this.midiOutputs.forEach((t,n)=>{e+=`(${n+1}) ${t.name} `}),e}sendMidiNote(e,t,n,i,a=this.currentOutputIndex,s=void 0){typeof a=="string"&&(a=this.getMidiOutputIndex(a));const o=this.midiOutputs[a];if(e=Math.min(Math.max(e,0),127),o){const l=[144+t,e,n],c=[128+t,e,0];o.send(l),s&&this.sendPitchBend(s,t,a);const u=setTimeout(()=>{o.send(c),s&&this.sendPitchBend(8192,t,a),delete this.scheduledNotes[e]},(i-.02)*1e3);this.scheduledNotes[e]=u}else console.error("MIDI output not available.")}sendMidiOn(e,t,n,i=this.currentOutputIndex){typeof i=="string"&&(i=this.getMidiOutputIndex(i));const a=this.midiOutputs[i];if(e=Math.min(Math.max(e,0),127),a){const s=[144+t,e,n];a.send(s)}else console.error("MIDI output not available.")}sendMidiOff(e,t,n=this.currentOutputIndex){typeof n=="string"&&(n=this.getMidiOutputIndex(n));const i=this.midiOutputs[n];if(e=Math.min(Math.max(e,0),127),i){const a=[128+t,e,0];i.send(a)}else console.error("MIDI output not available.")}sendAllNotesOff(e,t=this.currentOutputIndex){typeof t=="string"&&(t=this.getMidiOutputIndex(t));const n=this.midiOutputs[t];if(n){const i=[176+e,123,0];n.send(i)}else console.error("MIDI output not available.")}sendAllSoundOff(e,t=this.currentOutputIndex){typeof t=="string"&&(t=this.getMidiOutputIndex(t));const n=this.midiOutputs[t];if(n){const i=[176+e,120,0];n.send(i)}else console.error("MIDI output not available.")}sendSysExMessage(e){const t=this.midiOutputs[this.currentOutputIndex];t?t.send(e):console.error("MIDI output not available.")}sendPitchBend(e,t,n=this.currentOutputIndex){(e<0||e>16383)&&console.error("Invalid pitch bend value. Value must be in the range 0-16383."),(t<0||t>15)&&console.error("Invalid MIDI channel. Channel must be in the range 0-15."),typeof n=="string"&&(n=this.getMidiOutputIndex(n));const i=this.midiOutputs[n];if(i){const a=e&127,s=e>>7&127;i.send([224|t,a,s])}else console.error("MIDI output not available.")}sendProgramChange(e,t){const n=this.midiOutputs[this.currentOutputIndex];n?n.send([192+t,e]):console.error("MIDI output not available.")}sendMidiControlChange(e,t,n){const i=this.midiOutputs[this.currentOutputIndex];i?i.send([176+n,e,t]):console.error("MIDI output not available.")}panic(){const e=this.midiOutputs[this.currentOutputIndex];if(e){for(const t in this.scheduledNotes){const n=this.scheduledNotes[t];clearTimeout(n),e.send([128,parseInt(t),0])}this.scheduledNotes={}}else console.error("MIDI output not available.")}}class UV{constructor(e,t,n){I(this,"min");I(this,"max");I(this,"wrap");I(this,"position");this.min=e,this.max=t,this.wrap=n,this.position=0}step(){const e=Math.floor(Math.random()*3)-1;this.position+=e,this.wrap?this.position>this.max?this.position=this.min:this.positionthis.max&&(this.position=this.max)}getPosition(){return this.position}toggleWrap(e){this.wrap=e}}class ju{constructor(e){I(this,"seedValue");I(this,"randomGen",Math.random);I(this,"app");I(this,"values",{});I(this,"evenbar",e=>this.app.clock.time_position.bar%2===0?this.modify(e):this);I(this,"even",e=>this.app.clock.time_position.beat%2===0?this.modify(e):this);I(this,"odd",e=>this.app.clock.time_position.beat%2!==0?this.modify(e):this);I(this,"odds",(e,t)=>this.randomGen()this);I(this,"almostNever",e=>this.odds(.025,e));I(this,"rarely",e=>this.odds(.1,e));I(this,"scarcely",e=>this.odds(.25,e));I(this,"sometimes",e=>this.odds(.5,e));I(this,"often",e=>this.odds(.75,e));I(this,"frequently",e=>this.odds(.9,e));I(this,"almostAlways",e=>this.odds(.985,e));I(this,"always",e=>this.modify(e));I(this,"modify",e=>e(this));I(this,"seed",e=>(this.seedValue=e.toString(),this.randomGen=this.app.api.localSeededRandom(this.seedValue),this));I(this,"clear",()=>(this.app.api.clearLocalSeed(this.seedValue),this));I(this,"apply",e=>this.modify(e));I(this,"noteLength",(e,...t)=>(t.length>0&&(e=Array.isArray(e)?e.concat(t):[e,...t]),Array.isArray(e)?(this.values.noteLength=e,this.values.dur=e.map(n=>this.app.clock.convertPulseToSecond(n*4*this.app.clock.ppqn))):(this.values.noteLength=e,this.values.dur=this.app.clock.convertPulseToSecond(e*4*this.app.clock.ppqn)),this));this.app=e,this.app.api.currentSeed&&(this.randomGen=this.app.api.randomGen)}}class AI extends ju{constructor(t){super(t);I(this,"pitch",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.pitch=t,this.values.key&&this.values.parsedScale&&this.update(),this));I(this,"pc",this.pitch);I(this,"octave",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.octave=t,this.values.key&&(this.values.pitch||this.values.pitch===0)&&this.values.parsedScale&&this.update(),this));I(this,"key",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.key=t,(this.values.pitch||this.values.pitch===0)&&this.values.parsedScale&&this.update(),this));I(this,"scale",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),typeof t=="string"||typeof t=="number"?this.values.parsedScale=Gi(t):Array.isArray(t)&&(this.values.parsedScale=t.map(i=>Gi(i))),this.values.key&&(this.values.pitch||this.values.pitch===0)&&this.update(),this));I(this,"freq",(t,...n)=>{if(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.freq=t,Array.isArray(t)){this.values.note=[],this.values.bend=[];for(const i of t){const a=mv(i);a%1!==0?(this.values.note.push(Math.floor(a)),this.values.bend.push(zg(a)[1])):this.values.note.push(a)}this.values.bend.length===0&&delete this.values.bend}else{const i=mv(t);i%1!==0?(this.values.note=Math.floor(i),this.values.bend=zg(i)[1]):this.values.note=i}return this});I(this,"update",()=>{})}}function Ru(r,e){e.forEach(a=>{Array.isArray(r[a])&&!Array.isArray(r[a][0])&&(r[a]=[r[a]])});const t=Object.keys(r),n=Math.max(...t.map(a=>Array.isArray(r[a])?r[a].length:1)),i=[];for(let a=0;a(Object.keys(e).forEach(i=>{n[i]=e[i]}),Object.keys(n).forEach(i=>{t[i]||(t[i]=[]),t[i].push(n[i])}),t),{})}function II(r,e){return Object.fromEntries(Object.entries(r).filter(([t])=>e.includes(t)))}class Wg extends AI{constructor(t,n){super(n);I(this,"nudge");I(this,"sound");I(this,"methodMap",{volume:["volume","vol"],zrand:["zrand","zr"],curve:["curve"],slide:["slide","sld"],deltaSlide:["deltaSlide","dslide"],pitchJump:["pitchJump","pj"],pitchJumpTime:["pitchJumpTime","pjt"],lfo:["lfo"],znoise:["znoise"],noise:["noise"],zmod:["zmod"],zcrush:["zcrush"],zdelay:["zdelay"],sustainVolume:["sustainVolume"],tremolo:["tremolo"],dur:["dur"],zzfx:["zzfx"],fmi:["fmi"],fmh:["fmh"],fmenv:["fmenv"],fmattack:["fmattack","fmatk"],fmdecay:["fmdecay","fmdec"],fmsustain:["fmsustain","fmsus"],fmrelease:["fmrelease","fmrel"],fmvelocity:["fmvelocity","fmvel"],fmwave:["fmwave","fmw"],fmadsr:(t,n,i,a)=>(this.updateValue("fmattack",t),this.updateValue("fmdecay",n),this.updateValue("fmsustain",i),this.updateValue("fmrelease",a),this),fmad:(t,n)=>(this.updateValue("fmattack",t),this.updateValue("fmdecay",n),this),ftype:["ftype"],fanchor:["fanchor"],attack:["attack","atk"],decay:["decay","dec"],sustain:["sustain","sus"],release:["release","rel"],adsr:(t,n,i,a)=>(this.updateValue("attack",t),this.updateValue("decay",n),this.updateValue("sustain",i),this.updateValue("release",a),this),ad:(t,n)=>(this.updateValue("attack",t),this.updateValue("decay",n),this.updateValue("sustain",0),this.updateValue("release",0),this),lpenv:["lpenv","lpe"],lpattack:["lpattack","lpa"],lpdecay:["lpdecay","lpd"],lpsustain:["lpsustain","lps"],lprelease:["lprelease","lpr"],cutoff:(t,n)=>(this.updateValue("cutoff",t),n&&this.updateValue("resonance",n),this),lpf:(t,n)=>(this.updateValue("cutoff",t),n&&this.updateValue("resonance",n),this),resonance:t=>(t>=0&&t<=1&&this.updateValue("resonance",50*t),this),lpadsr:(t,n,i,a,s)=>(this.updateValue("lpenv",t),this.updateValue("lpattack",n),this.updateValue("lpdecay",i),this.updateValue("lpsustain",a),this.updateValue("lprelease",s),this),lpad:(t,n,i)=>(this.updateValue("lpenv",t),this.updateValue("lpattack",n),this.updateValue("lpdecay",i),this.updateValue("lpsustain",0),this.updateValue("lprelease",0),this),hpenv:["hpenv","hpe"],hpattack:["hpattack","hpa"],hpdecay:["hpdecay","hpd"],hpsustain:["hpsustain","hpsus"],hprelease:["hprelease","hpr"],hcutoff:(t,n)=>(this.updateValue("hcutoff",t),n&&this.updateValue("hresonance",n),this),hpf:(t,n)=>(this.updateValue("hcutoff",t),n&&this.updateValue("hresonance",n),this),hpq:t=>(this.updateValue("hresonance",t),this),hpadsr:(t,n,i,a,s)=>(this.updateValue("hpenv",t),this.updateValue("hpattack",n),this.updateValue("hpdecay",i),this.updateValue("hpsustain",a),this.updateValue("hprelease",s),this),hpad:(t,n,i)=>(this.updateValue("hpenv",t),this.updateValue("hpattack",n),this.updateValue("hpdecay",i),this.updateValue("hpsustain",0),this.updateValue("hprelease",0),this),bpenv:["bpenv","bpe"],bpattack:["bpattack","bpa"],bpdecay:["bpdecay","bpd"],bpsustain:["bpsustain","bps"],bprelease:["bprelease","bpr"],bandf:(t,n)=>(this.updateValue("bandf",t),n&&this.updateValue("bandq",n),this),bpf:(t,n)=>(this.updateValue("bandf",t),n&&this.updateValue("bandq",n),this),bandq:["bandq","bpq"],bpadsr:(t,n,i,a,s)=>(this.updateValue("bpenv",t),this.updateValue("bpattack",n),this.updateValue("bpdecay",i),this.updateValue("bpsustain",a),this.updateValue("bprelease",s),this),bpad:(t,n,i)=>(this.updateValue("bpenv",t),this.updateValue("bpattack",n),this.updateValue("bpdecay",i),this.updateValue("bpsustain",0),this.updateValue("bprelease",0),this),vib:["vib"],vibmod:["vibmod"],fm:t=>{if(typeof t=="number")this.values.fmi=t;else{let n=t.split(":");this.values.fmi=parseFloat(n[0]),n.length>1&&(this.values.fmh=parseFloat(n[1]))}return this},loop:["loop"],loopBegin:["loopBegin","loopb"],loopEnd:["loopEnd","loope"],begin:["begin"],end:["end"],gain:["gain"],dbgain:t=>(this.updateValue("gain",Math.min(Math.pow(10,t/20),10)),this),db:t=>(this.updateValue("gain",Math.min(Math.pow(10,t/20),10)),this),velocity:["velocity","vel"],pan:["pan"],cut:["cut"],clip:["clip"],n:["n"],speed:["speed","spd"],coarse:["coarse"],crush:["crush"],shape:["shape"],vowel:["vowel","vow"],delay:["delay","del"],delayfeedback:["delayfeedback","delayfb"],delaytime:["delaytime","delayt"],orbit:["orbit","o"],room:["room","rm"],roomfade:["roomfade","rfade"],roomlp:["roomlp","rlp"],roomdim:["roomdim","rdim"],sound:["s","sound"],size:t=>(this.updateValue("roomsize",t),this),sz:t=>(this.updateValue("roomsize",t),this),comp:["compressor","cmp"],ratio:t=>(this.updateValue("compressorRatio",t),this),knee:t=>(this.updateValue("compressorKnee",t),this),compAttack:t=>(this.updateValue("compressorAttack",t),this),compRelease:t=>(this.updateValue("compressorRelease",t),this),stretch:t=>(this.updateValue("unit","c"),this.updateValue("speed",1/t),this.updateValue("cut",t),this)});I(this,"processSound",t=>{if(Array.isArray(t)&&typeof t[0]=="string"){const n=[],i=[];return t.forEach(a=>{const s=a.split(":");n.push(s[0]),s[1]&&i.push(parseInt(s[1]))}),{s:n,n:i.length>0?i:void 0,dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0}}else{if(typeof t=="object")return{dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0,...t};if(t.includes(":")){const n=t.split(":"),i=n[0],a=parseInt(n[1]);return{s:i,n:a,dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0}}else return{s:t,dur:.5,analyze:!0}}});I(this,"modify",t=>{const n=t(this);return n instanceof Object?n:(t(this.values),this.update(),this)});I(this,"update",()=>{const t=II(this.values,["key","pitch","parsedScale","octave"]),n=Ru(t,["parsedScale"]);n.forEach(a=>{const[s,o]=g1(a.key||"C4",a.pitch||0,a.parsedScale||a.scale||"MAJOR",a.octave||0);a.note=s,a.freq=ro(s)});const i=wu(n);this.values.note=i.note,this.values.freq=i.freq});I(this,"chord",t=>{const n=EI(t);return this.updateValue("note",n)});I(this,"invert",(t=0)=>{if(this.values.chord){let n=this.values.chord.map(a=>a.note);n=t<0?[...n].reverse():n;for(let a=0;a({note:a,freq:ro(a)}));return this.updateValue("chord",i)}else return this});I(this,"note",t=>typeof t=="string"?this.updateValue("note",Fr(t)):typeof t==null||t==null?this.updateValue("note",0).updateValue("gain",0):this.updateValue("note",t));I(this,"out",()=>{const t=Ru(this.values,["parsedScale"]);for(const n of t){const i=n;i.freq&&delete i.note,QD(i,this.nudge-this.app.clock.deviation,i.dur)}});this.app=n,this.nudge=n.dough_nudge/100;for(const[i,a]of Object.entries(this.methodMap))if(Symbol.iterator in Object(a))for(const s of a)this[s]=o=>this.updateValue(a[0],o);else this[i]=a;this.values=this.processSound(t)}updateValue(t,n){return n==null?this:(this.values[t]=n,this)}}class Xg extends AI{constructor(t,n){super(n);I(this,"midiConnection");I(this,"chord",t=>(this.values.note=EI(t),this));I(this,"note",t=>(this.values.note=t,this));I(this,"sustain",t=>(this.values.sustain=t,this));I(this,"velocity",t=>(this.values.velocity=t,this));I(this,"channel",t=>(this.values.channel=t,this));I(this,"port",t=>(typeof t=="string"?this.values.port=this.midiConnection.getMidiOutputIndex(t):Array.isArray(t)&&(this.values.port=t.map(n=>typeof n=="string"?this.midiConnection.getMidiOutputIndex(n):n)),this));I(this,"add",t=>(this.values.note+=t,this));I(this,"modify",t=>{const n=t(this);return n instanceof Object?n:(t(this.values),this.update(),this)});I(this,"bend",t=>(this.values.bend=t,this));I(this,"random",(t=0,n=127)=>(t=Math.min(Math.max(t,0),127),n=Math.min(Math.max(n,0),127),this.values.note=Math.floor(this.randomGen()*(n-t+1))+t,this));I(this,"update",()=>{const t=II(this.values,["key","pitch","parsedScale","octave"]),n=Ru(t,["parsedScale"]);n.forEach(a=>{const[s,o]=g1(a.key||"C4",a.pitch||0,a.parsedScale||a.scale||"MAJOR",a.octave||0);a.note=s,o&&(a.bend=o)});const i=wu(n);this.values.note=i.note,i.bend&&(this.values.bend=i.bend)});I(this,"out",()=>{function t(i,a){const s=a.channel?a.channel:0,o=a.velocity?a.velocity:100,l=a.note?a.note:60,c=a.sustain?a.sustain*i.app.clock.pulse_duration*i.app.api.ppqn():i.app.clock.pulse_duration*i.app.api.ppqn(),u=a.bend?a.bend:void 0,p=a.port?i.midiConnection.getMidiOutputIndex(a.port):i.midiConnection.getCurrentMidiPortIndex()||0;i.midiConnection.sendMidiNote(l,s,o,c,p,u)}Ru(this.values,["parsedScale"]).forEach(i=>{t(this,i)})});this.app=n,this.values=t,this.midiConnection=n.api.MidiConnection}}const Qo=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,RI=new Set,Zg=typeof process=="object"&&process?process:{},wI=(r,e,t,n)=>{typeof Zg.emitWarning=="function"?Zg.emitWarning(r,e,t,n):console.error(`[${t}] ${e}: ${r}`)};let Nu=globalThis.AbortController,_v=globalThis.AbortSignal;var Ev;if(typeof Nu>"u"){_v=class{constructor(){I(this,"onabort");I(this,"_onabort",[]);I(this,"reason");I(this,"aborted",!1)}addEventListener(n,i){this._onabort.push(i)}},Nu=class{constructor(){I(this,"signal",new _v);e()}abort(n){var i,a;if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(const s of this.signal._onabort)s(n);(a=(i=this.signal).onabort)==null||a.call(i,n)}}};let r=((Ev=Zg.env)==null?void 0:Ev.LRU_CACHE_IGNORE_AC_WARNING)!=="1";const e=()=>{r&&(r=!1,wI("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}const YV=r=>!RI.has(r),ra=r=>r&&r===Math.floor(r)&&r>0&&isFinite(r),NI=r=>ra(r)?r<=Math.pow(2,8)?Uint8Array:r<=Math.pow(2,16)?Uint16Array:r<=Math.pow(2,32)?Uint32Array:r<=Number.MAX_SAFE_INTEGER?Uc:null:null;class Uc extends Array{constructor(e){super(e),this.fill(0)}}var Fs;const Ya=class Ya{constructor(e,t){I(this,"heap");I(this,"length");if(!X(Ya,Fs))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}static create(e){const t=NI(e);if(!t)return[];Ke(Ya,Fs,!0);const n=new Ya(e,t);return Ke(Ya,Fs,!1),n}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};Fs=new WeakMap,lt(Ya,Fs,!1);let Kg=Ya;var Qr,fr,qr,Vr,Us,gn,zr,_n,Ut,it,qn,hr,kn,Cn,Hr,yn,Mi,Pi,Wr,Xr,da,Vn,Nl,Jg,za,Bi,xl,mr,ku,xI,Ha,Ys,Dl,ci,ia,ui,aa,kl,e_,$s,Yc,Gs,$c,Mt,qt,Ll,t_,Wa,Ko;const y1=class y1{constructor(e){lt(this,Nl);lt(this,ku);lt(this,ci);lt(this,ui);lt(this,kl);lt(this,$s);lt(this,Gs);lt(this,Mt);lt(this,Ll);lt(this,Wa);lt(this,Qr,void 0);lt(this,fr,void 0);lt(this,qr,void 0);lt(this,Vr,void 0);lt(this,Us,void 0);I(this,"ttl");I(this,"ttlResolution");I(this,"ttlAutopurge");I(this,"updateAgeOnGet");I(this,"updateAgeOnHas");I(this,"allowStale");I(this,"noDisposeOnSet");I(this,"noUpdateTTL");I(this,"maxEntrySize");I(this,"sizeCalculation");I(this,"noDeleteOnFetchRejection");I(this,"noDeleteOnStaleGet");I(this,"allowStaleOnFetchAbort");I(this,"allowStaleOnFetchRejection");I(this,"ignoreFetchAbort");lt(this,gn,void 0);lt(this,zr,void 0);lt(this,_n,void 0);lt(this,Ut,void 0);lt(this,it,void 0);lt(this,qn,void 0);lt(this,hr,void 0);lt(this,kn,void 0);lt(this,Cn,void 0);lt(this,Hr,void 0);lt(this,yn,void 0);lt(this,Mi,void 0);lt(this,Pi,void 0);lt(this,Wr,void 0);lt(this,Xr,void 0);lt(this,da,void 0);lt(this,Vn,void 0);lt(this,za,()=>{});lt(this,Bi,()=>{});lt(this,xl,()=>{});lt(this,mr,()=>!1);lt(this,Ha,e=>{});lt(this,Ys,(e,t,n)=>{});lt(this,Dl,(e,t,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});const{max:t=0,ttl:n,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:s,updateAgeOnHas:o,allowStale:l,dispose:c,disposeAfter:u,noDisposeOnSet:p,noUpdateTTL:m,maxSize:_=0,maxEntrySize:E=0,sizeCalculation:R,fetchMethod:w,noDeleteOnFetchRejection:k,noDeleteOnStaleGet:$,allowStaleOnFetchRejection:H,allowStaleOnFetchAbort:h,ignoreFetchAbort:S}=e;if(t!==0&&!ra(t))throw new TypeError("max option must be a nonnegative integer");const b=t?NI(t):Array;if(!b)throw new Error("invalid max value: "+t);if(Ke(this,Qr,t),Ke(this,fr,_),this.maxEntrySize=E||X(this,fr),this.sizeCalculation=R,this.sizeCalculation){if(!X(this,fr)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(w!==void 0&&typeof w!="function")throw new TypeError("fetchMethod must be a function if specified");if(Ke(this,Us,w),Ke(this,da,!!w),Ke(this,_n,new Map),Ke(this,Ut,new Array(t).fill(void 0)),Ke(this,it,new Array(t).fill(void 0)),Ke(this,qn,new b(t)),Ke(this,hr,new b(t)),Ke(this,kn,0),Ke(this,Cn,0),Ke(this,Hr,Kg.create(t)),Ke(this,gn,0),Ke(this,zr,0),typeof c=="function"&&Ke(this,qr,c),typeof u=="function"?(Ke(this,Vr,u),Ke(this,yn,[])):(Ke(this,Vr,void 0),Ke(this,yn,void 0)),Ke(this,Xr,!!X(this,qr)),Ke(this,Vn,!!X(this,Vr)),this.noDisposeOnSet=!!p,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!k,this.allowStaleOnFetchRejection=!!H,this.allowStaleOnFetchAbort=!!h,this.ignoreFetchAbort=!!S,this.maxEntrySize!==0){if(X(this,fr)!==0&&!ra(X(this,fr)))throw new TypeError("maxSize must be a positive integer if specified");if(!ra(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");We(this,ku,xI).call(this)}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!$,this.updateAgeOnGet=!!s,this.updateAgeOnHas=!!o,this.ttlResolution=ra(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=n||0,this.ttl){if(!ra(this.ttl))throw new TypeError("ttl must be a positive integer if specified");We(this,Nl,Jg).call(this)}if(X(this,Qr)===0&&this.ttl===0&&X(this,fr)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!X(this,Qr)&&!X(this,fr)){const N="LRU_CACHE_UNBOUNDED";YV(N)&&(RI.add(N),wI("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",N,y1))}}static unsafeExposeInternals(e){return{starts:X(e,Pi),ttls:X(e,Wr),sizes:X(e,Mi),keyMap:X(e,_n),keyList:X(e,Ut),valList:X(e,it),next:X(e,qn),prev:X(e,hr),get head(){return X(e,kn)},get tail(){return X(e,Cn)},free:X(e,Hr),isBackgroundFetch:t=>{var n;return We(n=e,Mt,qt).call(n,t)},backgroundFetch:(t,n,i,a)=>{var s;return We(s=e,Gs,$c).call(s,t,n,i,a)},moveToTail:t=>{var n;return We(n=e,Wa,Ko).call(n,t)},indexes:t=>{var n;return We(n=e,ci,ia).call(n,t)},rindexes:t=>{var n;return We(n=e,ui,aa).call(n,t)},isStale:t=>{var n;return X(n=e,mr).call(n,t)}}}get max(){return X(this,Qr)}get maxSize(){return X(this,fr)}get calculatedSize(){return X(this,zr)}get size(){return X(this,gn)}get fetchMethod(){return X(this,Us)}get dispose(){return X(this,qr)}get disposeAfter(){return X(this,Vr)}getRemainingTTL(e){return X(this,_n).has(e)?1/0:0}*entries(){for(const e of We(this,ci,ia).call(this))X(this,it)[e]!==void 0&&X(this,Ut)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield[X(this,Ut)[e],X(this,it)[e]])}*rentries(){for(const e of We(this,ui,aa).call(this))X(this,it)[e]!==void 0&&X(this,Ut)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield[X(this,Ut)[e],X(this,it)[e]])}*keys(){for(const e of We(this,ci,ia).call(this)){const t=X(this,Ut)[e];t!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield t)}}*rkeys(){for(const e of We(this,ui,aa).call(this)){const t=X(this,Ut)[e];t!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield t)}}*values(){for(const e of We(this,ci,ia).call(this))X(this,it)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield X(this,it)[e])}*rvalues(){for(const e of We(this,ui,aa).call(this))X(this,it)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield X(this,it)[e])}[Symbol.iterator](){return this.entries()}find(e,t={}){for(const n of We(this,ci,ia).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;if(a!==void 0&&e(a,X(this,Ut)[n],this))return this.get(X(this,Ut)[n],t)}}forEach(e,t=this){for(const n of We(this,ci,ia).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;a!==void 0&&e.call(t,a,X(this,Ut)[n],this)}}rforEach(e,t=this){for(const n of We(this,ui,aa).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;a!==void 0&&e.call(t,a,X(this,Ut)[n],this)}}purgeStale(){let e=!1;for(const t of We(this,ui,aa).call(this,{allowStale:!0}))X(this,mr).call(this,t)&&(this.delete(X(this,Ut)[t]),e=!0);return e}dump(){const e=[];for(const t of We(this,ci,ia).call(this,{allowStale:!0})){const n=X(this,Ut)[t],i=X(this,it)[t],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;if(a===void 0||n===void 0)continue;const s={value:a};if(X(this,Wr)&&X(this,Pi)){s.ttl=X(this,Wr)[t];const o=Qo.now()-X(this,Pi)[t];s.start=Math.floor(Date.now()-o)}X(this,Mi)&&(s.size=X(this,Mi)[t]),e.unshift([n,s])}return e}load(e){this.clear();for(const[t,n]of e){if(n.start){const i=Date.now()-n.start;n.start=Qo.now()-i}this.set(t,n.value,n)}}set(e,t,n={}){var m,_,E,R,w;if(t===void 0)return this.delete(e),this;const{ttl:i=this.ttl,start:a,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:o=this.sizeCalculation,status:l}=n;let{noUpdateTTL:c=this.noUpdateTTL}=n;const u=X(this,Dl).call(this,e,t,n.size||0,o);if(this.maxEntrySize&&u>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=!0),this.delete(e),this;let p=X(this,gn)===0?void 0:X(this,_n).get(e);if(p===void 0)p=X(this,gn)===0?X(this,Cn):X(this,Hr).length!==0?X(this,Hr).pop():X(this,gn)===X(this,Qr)?We(this,$s,Yc).call(this,!1):X(this,gn),X(this,Ut)[p]=e,X(this,it)[p]=t,X(this,_n).set(e,p),X(this,qn)[X(this,Cn)]=p,X(this,hr)[p]=X(this,Cn),Ke(this,Cn,p),Zl(this,gn)._++,X(this,Ys).call(this,p,u,l),l&&(l.set="add"),c=!1;else{We(this,Wa,Ko).call(this,p);const k=X(this,it)[p];if(t!==k){if(X(this,da)&&We(this,Mt,qt).call(this,k)){k.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:$}=k;$!==void 0&&!s&&(X(this,Xr)&&((m=X(this,qr))==null||m.call(this,$,e,"set")),X(this,Vn)&&((_=X(this,yn))==null||_.push([$,e,"set"])))}else s||(X(this,Xr)&&((E=X(this,qr))==null||E.call(this,k,e,"set")),X(this,Vn)&&((R=X(this,yn))==null||R.push([k,e,"set"])));if(X(this,Ha).call(this,p),X(this,Ys).call(this,p,u,l),X(this,it)[p]=t,l){l.set="replace";const $=k&&We(this,Mt,qt).call(this,k)?k.__staleWhileFetching:k;$!==void 0&&(l.oldValue=$)}}else l&&(l.set="update")}if(i!==0&&!X(this,Wr)&&We(this,Nl,Jg).call(this),X(this,Wr)&&(c||X(this,xl).call(this,p,i,a),l&&X(this,Bi).call(this,l,p)),!s&&X(this,Vn)&&X(this,yn)){const k=X(this,yn);let $;for(;$=k==null?void 0:k.shift();)(w=X(this,Vr))==null||w.call(this,...$)}return this}pop(){var e;try{for(;X(this,gn);){const t=X(this,it)[X(this,kn)];if(We(this,$s,Yc).call(this,!0),We(this,Mt,qt).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(X(this,Vn)&&X(this,yn)){const t=X(this,yn);let n;for(;n=t==null?void 0:t.shift();)(e=X(this,Vr))==null||e.call(this,...n)}}}has(e,t={}){const{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=t,a=X(this,_n).get(e);if(a!==void 0){const s=X(this,it)[a];if(We(this,Mt,qt).call(this,s)&&s.__staleWhileFetching===void 0)return!1;if(X(this,mr).call(this,a))i&&(i.has="stale",X(this,Bi).call(this,i,a));else return n&&X(this,za).call(this,a),i&&(i.has="hit",X(this,Bi).call(this,i,a)),!0}else i&&(i.has="miss");return!1}peek(e,t={}){const{allowStale:n=this.allowStale}=t,i=X(this,_n).get(e);if(i!==void 0&&(n||!X(this,mr).call(this,i))){const a=X(this,it)[i];return We(this,Mt,qt).call(this,a)?a.__staleWhileFetching:a}}async fetch(e,t={}){const{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,ttl:s=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:l=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:p=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:_=this.ignoreFetchAbort,allowStaleOnFetchAbort:E=this.allowStaleOnFetchAbort,context:R,forceRefresh:w=!1,status:k,signal:$}=t;if(!X(this,da))return k&&(k.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,status:k});const H={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,ttl:s,noDisposeOnSet:o,size:l,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:p,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:E,ignoreFetchAbort:_,status:k,signal:$};let h=X(this,_n).get(e);if(h===void 0){k&&(k.fetch="miss");const S=We(this,Gs,$c).call(this,e,h,H,R);return S.__returned=S}else{const S=X(this,it)[h];if(We(this,Mt,qt).call(this,S)){const F=n&&S.__staleWhileFetching!==void 0;return k&&(k.fetch="inflight",F&&(k.returnedStale=!0)),F?S.__staleWhileFetching:S.__returned=S}const b=X(this,mr).call(this,h);if(!w&&!b)return k&&(k.fetch="hit"),We(this,Wa,Ko).call(this,h),i&&X(this,za).call(this,h),k&&X(this,Bi).call(this,k,h),S;const N=We(this,Gs,$c).call(this,e,h,H,R),B=N.__staleWhileFetching!==void 0&&n;return k&&(k.fetch=b?"stale":"refresh",B&&b&&(k.returnedStale=!0)),B?N.__staleWhileFetching:N.__returned=N}}get(e,t={}){const{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,status:s}=t,o=X(this,_n).get(e);if(o!==void 0){const l=X(this,it)[o],c=We(this,Mt,qt).call(this,l);return s&&X(this,Bi).call(this,s,o),X(this,mr).call(this,o)?(s&&(s.get="stale"),c?(s&&n&&l.__staleWhileFetching!==void 0&&(s.returnedStale=!0),n?l.__staleWhileFetching:void 0):(a||this.delete(e),s&&n&&(s.returnedStale=!0),n?l:void 0)):(s&&(s.get="hit"),c?l.__staleWhileFetching:(We(this,Wa,Ko).call(this,o),i&&X(this,za).call(this,o),l))}else s&&(s.get="miss")}delete(e){var n,i,a,s;let t=!1;if(X(this,gn)!==0){const o=X(this,_n).get(e);if(o!==void 0)if(t=!0,X(this,gn)===1)this.clear();else{X(this,Ha).call(this,o);const l=X(this,it)[o];We(this,Mt,qt).call(this,l)?l.__abortController.abort(new Error("deleted")):(X(this,Xr)||X(this,Vn))&&(X(this,Xr)&&((n=X(this,qr))==null||n.call(this,l,e,"delete")),X(this,Vn)&&((i=X(this,yn))==null||i.push([l,e,"delete"]))),X(this,_n).delete(e),X(this,Ut)[o]=void 0,X(this,it)[o]=void 0,o===X(this,Cn)?Ke(this,Cn,X(this,hr)[o]):o===X(this,kn)?Ke(this,kn,X(this,qn)[o]):(X(this,qn)[X(this,hr)[o]]=X(this,qn)[o],X(this,hr)[X(this,qn)[o]]=X(this,hr)[o]),Zl(this,gn)._--,X(this,Hr).push(o)}}if(X(this,Vn)&&((a=X(this,yn))!=null&&a.length)){const o=X(this,yn);let l;for(;l=o==null?void 0:o.shift();)(s=X(this,Vr))==null||s.call(this,...l)}return t}clear(){var e,t,n;for(const i of We(this,ui,aa).call(this,{allowStale:!0})){const a=X(this,it)[i];if(We(this,Mt,qt).call(this,a))a.__abortController.abort(new Error("deleted"));else{const s=X(this,Ut)[i];X(this,Xr)&&((e=X(this,qr))==null||e.call(this,a,s,"delete")),X(this,Vn)&&((t=X(this,yn))==null||t.push([a,s,"delete"]))}}if(X(this,_n).clear(),X(this,it).fill(void 0),X(this,Ut).fill(void 0),X(this,Wr)&&X(this,Pi)&&(X(this,Wr).fill(0),X(this,Pi).fill(0)),X(this,Mi)&&X(this,Mi).fill(0),Ke(this,kn,0),Ke(this,Cn,0),X(this,Hr).length=0,Ke(this,zr,0),Ke(this,gn,0),X(this,Vn)&&X(this,yn)){const i=X(this,yn);let a;for(;a=i==null?void 0:i.shift();)(n=X(this,Vr))==null||n.call(this,...a)}}};Qr=new WeakMap,fr=new WeakMap,qr=new WeakMap,Vr=new WeakMap,Us=new WeakMap,gn=new WeakMap,zr=new WeakMap,_n=new WeakMap,Ut=new WeakMap,it=new WeakMap,qn=new WeakMap,hr=new WeakMap,kn=new WeakMap,Cn=new WeakMap,Hr=new WeakMap,yn=new WeakMap,Mi=new WeakMap,Pi=new WeakMap,Wr=new WeakMap,Xr=new WeakMap,da=new WeakMap,Vn=new WeakMap,Nl=new WeakSet,Jg=function(){const e=new Uc(X(this,Qr)),t=new Uc(X(this,Qr));Ke(this,Wr,e),Ke(this,Pi,t),Ke(this,xl,(a,s,o=Qo.now())=>{if(t[a]=s!==0?o:0,e[a]=s,s!==0&&this.ttlAutopurge){const l=setTimeout(()=>{X(this,mr).call(this,a)&&this.delete(X(this,Ut)[a])},s+1);l.unref&&l.unref()}}),Ke(this,za,a=>{t[a]=e[a]!==0?Qo.now():0}),Ke(this,Bi,(a,s)=>{if(e[s]){const o=e[s],l=t[s];a.ttl=o,a.start=l,a.now=n||i();const c=a.now-l;a.remainingTTL=o-c}});let n=0;const i=()=>{const a=Qo.now();if(this.ttlResolution>0){n=a;const s=setTimeout(()=>n=0,this.ttlResolution);s.unref&&s.unref()}return a};this.getRemainingTTL=a=>{const s=X(this,_n).get(a);if(s===void 0)return 0;const o=e[s],l=t[s];if(o===0||l===0)return 1/0;const c=(n||i())-l;return o-c},Ke(this,mr,a=>e[a]!==0&&t[a]!==0&&(n||i())-t[a]>e[a])},za=new WeakMap,Bi=new WeakMap,xl=new WeakMap,mr=new WeakMap,ku=new WeakSet,xI=function(){const e=new Uc(X(this,Qr));Ke(this,zr,0),Ke(this,Mi,e),Ke(this,Ha,t=>{Ke(this,zr,X(this,zr)-e[t]),e[t]=0}),Ke(this,Dl,(t,n,i,a)=>{if(We(this,Mt,qt).call(this,n))return 0;if(!ra(i))if(a){if(typeof a!="function")throw new TypeError("sizeCalculation must be a function");if(i=a(n,t),!ra(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i}),Ke(this,Ys,(t,n,i)=>{if(e[t]=n,X(this,fr)){const a=X(this,fr)-e[t];for(;X(this,zr)>a;)We(this,$s,Yc).call(this,!0)}Ke(this,zr,X(this,zr)+e[t]),i&&(i.entrySize=n,i.totalCalculatedSize=X(this,zr))})},Ha=new WeakMap,Ys=new WeakMap,Dl=new WeakMap,ci=new WeakSet,ia=function*({allowStale:e=this.allowStale}={}){if(X(this,gn))for(let t=X(this,Cn);!(!We(this,kl,e_).call(this,t)||((e||!X(this,mr).call(this,t))&&(yield t),t===X(this,kn)));)t=X(this,hr)[t]},ui=new WeakSet,aa=function*({allowStale:e=this.allowStale}={}){if(X(this,gn))for(let t=X(this,kn);!(!We(this,kl,e_).call(this,t)||((e||!X(this,mr).call(this,t))&&(yield t),t===X(this,Cn)));)t=X(this,qn)[t]},kl=new WeakSet,e_=function(e){return e!==void 0&&X(this,_n).get(X(this,Ut)[e])===e},$s=new WeakSet,Yc=function(e){var a,s;const t=X(this,kn),n=X(this,Ut)[t],i=X(this,it)[t];return X(this,da)&&We(this,Mt,qt).call(this,i)?i.__abortController.abort(new Error("evicted")):(X(this,Xr)||X(this,Vn))&&(X(this,Xr)&&((a=X(this,qr))==null||a.call(this,i,n,"evict")),X(this,Vn)&&((s=X(this,yn))==null||s.push([i,n,"evict"]))),X(this,Ha).call(this,t),e&&(X(this,Ut)[t]=void 0,X(this,it)[t]=void 0,X(this,Hr).push(t)),X(this,gn)===1?(Ke(this,kn,Ke(this,Cn,0)),X(this,Hr).length=0):Ke(this,kn,X(this,qn)[t]),X(this,_n).delete(n),Zl(this,gn)._--,t},Gs=new WeakSet,$c=function(e,t,n,i){const a=t===void 0?void 0:X(this,it)[t];if(We(this,Mt,qt).call(this,a))return a;const s=new Nu,{signal:o}=n;o==null||o.addEventListener("abort",()=>s.abort(o.reason),{signal:s.signal});const l={signal:s.signal,options:n,context:i},c=(R,w=!1)=>{const{aborted:k}=s.signal,$=n.ignoreFetchAbort&&R!==void 0;if(n.status&&(k&&!w?(n.status.fetchAborted=!0,n.status.fetchError=s.signal.reason,$&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),k&&!$&&!w)return p(s.signal.reason);const H=_;return X(this,it)[t]===_&&(R===void 0?H.__staleWhileFetching?X(this,it)[t]=H.__staleWhileFetching:this.delete(e):(n.status&&(n.status.fetchUpdated=!0),this.set(e,R,l.options))),R},u=R=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=R),p(R)),p=R=>{const{aborted:w}=s.signal,k=w&&n.allowStaleOnFetchAbort,$=k||n.allowStaleOnFetchRejection,H=$||n.noDeleteOnFetchRejection,h=_;if(X(this,it)[t]===_&&(!H||h.__staleWhileFetching===void 0?this.delete(e):k||(X(this,it)[t]=h.__staleWhileFetching)),$)return n.status&&h.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),h.__staleWhileFetching;if(h.__returned===h)throw R},m=(R,w)=>{var $;const k=($=X(this,Us))==null?void 0:$.call(this,e,a,l);k&&k instanceof Promise&&k.then(H=>R(H===void 0?void 0:H),w),s.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(R(void 0),n.allowStaleOnFetchAbort&&(R=H=>c(H,!0)))})};n.status&&(n.status.fetchDispatched=!0);const _=new Promise(m).then(c,u),E=Object.assign(_,{__abortController:s,__staleWhileFetching:a,__returned:void 0});return t===void 0?(this.set(e,E,{...l.options,status:void 0}),t=X(this,_n).get(e)):X(this,it)[t]=E,E},Mt=new WeakSet,qt=function(e){if(!X(this,da))return!1;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof Nu},Ll=new WeakSet,t_=function(e,t){X(this,hr)[t]=e,X(this,qn)[e]=t},Wa=new WeakSet,Ko=function(e){e!==X(this,Cn)&&(e===X(this,kn)?Ke(this,kn,X(this,qn)[e]):We(this,Ll,t_).call(this,X(this,hr)[e],X(this,qn)[e]),We(this,Ll,t_).call(this,X(this,Cn),e),Ke(this,Cn,e))};let jg=y1;const sl=class sl{constructor(){I(this,"_fallbackMethod",()=>sl.createSkipProxy());I(this,"out",()=>{})}};I(sl,"createSkipProxy",()=>{const e=new sl;return new Proxy(e,{get(t,n,i){return typeof t[n]>"u"?t._fallbackMethod:t[n]},set(t,n,i,a){return!1}})});let wl=sl;const ol=class ol extends ju{constructor(t,n){super(n);I(this,"_fallbackMethod",()=>ol.createRestProxy(this.values.noteLength,this.app));I(this,"out",()=>{});this.values.noteLength=t}};I(ol,"createRestProxy",(t,n)=>{const i=new ol(t,n);return new Proxy(i,{get(a,s,o){return typeof a[s]>"u"?a._fallbackMethod:a[s]},set(a,s,o,l){return!1}})});let xu=ol;class $V extends ju{constructor(t,n,i,a=""){super(i);I(this,"input");I(this,"ziffers");I(this,"initCallTime",0);I(this,"startCallTime",0);I(this,"lastCallTime",0);I(this,"waitTime",0);I(this,"played",!1);I(this,"current");I(this,"retro",!1);I(this,"index",-1);I(this,"zid","");I(this,"options",{});I(this,"skipIndex",0);I(this,"next",()=>(this.current=this.ziffers.next(),this.played=!0,this.current));I(this,"pulseToSecond",t=>this.app.clock.convertPulseToSecond(t));I(this,"firstRun",()=>this.notStarted());I(this,"atTheBeginning",()=>this.skipIndex===0&&this.ziffers.index<=0);I(this,"origin",()=>this.app.clock.pulses_since_origin+1);I(this,"pulse",()=>this.app.clock.time_position.pulse);I(this,"beat",()=>this.app.clock.time_position.beat);I(this,"nextBeat",()=>this.app.clock.next_beat_in_ticks);I(this,"nextBeatInTicks",()=>this.app.clock.next_beat_in_ticks);I(this,"areWeThereYet",()=>{this.app.clock.pulses_since_origin=this.nextBeatInTicks())&&this.origin()>=this.waitTime,n=this.current&&this.pulseToSecond(this.origin())>=this.pulseToSecond(this.lastCallTime)+this.pulseToSecond(this.current.duration*4*this.app.clock.ppqn)&&this.origin()>=this.waitTime,i=t||n;return this.skipIndex=i?0:this.skipIndex+1,this.index=i?this.index+1:this.index,i&&this.notStarted()&&(this.initCallTime=this.app.clock.pulses_since_origin),this.atTheBeginning()&&(this.startCallTime=this.app.clock.pulses_since_origin),i});I(this,"lead",()=>this.voiceleading());I(this,"invert",t=>(this.atTheBeginning()&&this.ziffers.invert(t),this));I(this,"out",()=>{});this.app=i,this.options=n,typeof t=="string"?(this.input=t,this.ziffers=new Ka(t,n)):typeof t=="number"?(this.input=t,this.ziffers=Ka.fromNumber(t,n)):(this.ziffers=Ka.fromGenerator(t,n),this.input=this.ziffers.input),this.zid=a}reset(){this.initCallTime=0,this.startCallTime=0,this.lastCallTime=0,this.waitTime=0,this.index=0,this.skipIndex=0,this.played=!1,this.skipIndex=0,this.ziffers.reset()}get ticks(){return this.ziffers.duration*4*this.app.clock.ppqn}nextEndTime(){return this.startCallTime+this.ticks}updateLastCallTime(){(this.notStarted()||this.played)&&(this.lastCallTime=this.app.clock.pulses_since_origin,this.played=!1)}notStarted(){return this.ziffers.notStarted()}sound(t){if(this.areWeThereYet()){const n=this.next(),i=this.app.clock.convertPulseToSecond(n.duration*4*this.app.clock.ppqn);if(n instanceof En){const a=n.getExisting("freq","note","pitch","key","scale","octave","parsedScale");return n.sound&&(t=n.sound),n.soundIndex&&(a.n=n.soundIndex),a.dur=i,new Wg(a,this.app).sound(t||"sine")}else if(n instanceof wn){const a=n.pitches.map(l=>l.getExisting("freq","note","pitch","key","scale","octave","parsedScale")),s={dur:i};t&&(s.s=t);let o=wu(a,s);return new Wg(o,this.app)}else if(n instanceof Vg)return xu.createRestProxy(n.duration,this.app)}else return wl.createSkipProxy()}midi(t=void 0){if(this.areWeThereYet()){const n=this.next(),i=n.getExisting("note","pitch","bend","key","scale","octave","parsedScale");if(n instanceof En){n.soundIndex&&(i.channel=n.soundIndex);const a=new Xg(i,this.app);return t?a.note(t):a}else{if(n instanceof Vg)return xu.createRestProxy(n.duration,this.app);if(n instanceof wn){const a=n.midiChord(),s=wu(a);return new Xg(s,this.app)}}}else return wl.createSkipProxy()}scale(t){return this.atTheBeginning()&&this.ziffers.scale(t),this}key(t){return this.atTheBeginning()&&this.ziffers.key(t),this}octave(t){return this.atTheBeginning()&&this.ziffers.octave(t),this}triadTonnetz(t,n=[3,4,5]){return this.atTheBeginning()&&this.ziffers.triadTonnetz(t,n),this}tetraTonnetz(t,n=[3,4,5]){return this.atTheBeginning()&&this.ziffers.tetraTonnetz(t,n),this}octaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.octaCycle(t),this}hexaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.hexaCycle(t),this}enneaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.enneaCycle(t),this}tonnetzChord(t){return this.atTheBeginning()&&this.ziffers.tonnetzChords(t),this}voiceleading(){return this.atTheBeginning()&&this.ziffers.lead(),this}retrograde(){return this.atTheBeginning()&&this.ziffers.retrograde(),this}wait(t){if(this.atTheBeginning()){if(typeof t=="function"){const n=this.app.api.patternCache.get(t.name);return n&&(this.waitTime=n.nextEndTime()),this}this.waitTime=this.origin()+Math.ceil(t*4*this.app.clock.ppqn)}return this}sync(t){if(this.atTheBeginning()&&this.notStarted()){const n=this.app.clock.pulses_since_origin,i=typeof t=="function"?t.name:t;if(n>0){const a=this.app.api.patternCache.get(i);if(a){const s=a.ziffers.duration,o=a.startCallTime,l=s*4*this.app.clock.ppqn;this.waitTime=o+l}}}return this}}const GV=r=>r[0]==="{"&&r[r.length-1]==="}",qo=(r,e)=>{if(GV(r)){const t=JSON.parse(r);return JSON.stringify({...t,...e})}else return JSON.stringify({...e,text:r})},QV=r=>{String.prototype.speak=function(){const e=JSON.parse(this.valueOf());new DI({...e,text:e.text}).speak().then(()=>{}).catch(t=>{console.log("Error speaking:",t)})},String.prototype.rate=function(e){return qo(this.valueOf(),{rate:e})},String.prototype.pitch=function(e){return qo(this.valueOf(),{pitch:e})},String.prototype.lang=function(e){return qo(this.valueOf(),{lang:e})},String.prototype.volume=function(e){return qo(this.valueOf(),{volume:e})},String.prototype.voice=function(e){return qo(this.valueOf(),{voice:e})},String.prototype.z=function(e={}){return r.z(this.valueOf(),e)},String.prototype.z0=function(e={}){return r.z0(this.valueOf(),e)},String.prototype.z1=function(e={}){return r.z1(this.valueOf(),e)},String.prototype.z2=function(e={}){return r.z2(this.valueOf(),e)},String.prototype.z3=function(e={}){return r.z3(this.valueOf(),e)},String.prototype.z4=function(e={}){return r.z4(this.valueOf(),e)},String.prototype.z5=function(e={}){return r.z5(this.valueOf(),e)},String.prototype.z6=function(e={}){return r.z6(this.valueOf(),e)},String.prototype.z7=function(e={}){return r.z7(this.valueOf(),e)},String.prototype.z8=function(e={}){return r.z8(this.valueOf(),e)},String.prototype.z9=function(e={}){return r.z9(this.valueOf(),e)},String.prototype.z10=function(e={}){return r.z10(this.valueOf(),e)},String.prototype.z11=function(e={}){return r.z11(this.valueOf(),e)},String.prototype.z12=function(e={}){return r.z12(this.valueOf(),e)},String.prototype.z13=function(e={}){return r.z13(this.valueOf(),e)},String.prototype.z14=function(e={}){return r.z14(this.valueOf(),e)},String.prototype.z15=function(e={}){return r.z15(this.valueOf(),e)},String.prototype.z16=function(e={}){return r.z16(this.valueOf(),e)},String.prototype.note=function(){try{return parseInt(this.valueOf())}catch{return Fr(this.valueOf())}}};let Lm;class DI{constructor(e){I(this,"speak",()=>new Promise((e,t)=>{if(this.options.text){const n=window.speechSynthesis;n.speaking&&n.cancel();const i=new SpeechSynthesisUtterance(this.options.text);i.rate=this.options.rate||1,i.pitch=this.options.pitch||1,i.volume=this.options.volume||1,this.options.voice&&(i.voice=n.getVoices()[this.options.voice]),this.options.lang&&(this.options.lang.length===2?i.lang=`${this.options.lang}-${this.options.lang.toUpperCase()}`:this.options.lang.length===5?i.lang=this.options.lang:i.lang="en-US"),i.onend=()=>{e()},i.onerror=a=>{t(a)},n.speaking?(n.cancel(),Lm&&clearTimeout(Lm),Lm=setTimeout(()=>{n.speak(i)},200)):n.speak(i)}else t("No text provided")}));this.options=e}}async function kI(){return Promise.all([YD(),sa("github:tidalcycles/Dirt-Samples/master").then(()=>rk()),lk(),sa("github:Bubobubobubobubo/Dough-Fox/main"),sa("github:Bubobubobubobubo/Dough-Samples/main"),sa("github:Bubobubobubobubo/Dough-Amiga/main"),sa("github:Bubobubobubobubo/Dough-Amen/main"),sa("github:Bubobubobubobubo/Dough-Waveforms/main")])}class qV{constructor(e){I(this,"variables",{});I(this,"codeExamples",{});I(this,"counters",{});I(this,"_drunk",new UV(-100,100,!1));I(this,"randomGen",Math.random);I(this,"currentSeed");I(this,"localSeeds",new Map);I(this,"patternCache",new jg({max:1e3,ttl:1e3*60*5}));I(this,"errorTimeoutID",0);I(this,"printTimeoutID",0);I(this,"MidiConnection");I(this,"scale_aid");I(this,"load");I(this,"_loadUniverseFromInterface",e=>{this.app.selected_universe=e.trim(),this.app.settings.selected_universe=e.trim(),fu(this.app,e),hu()});I(this,"_deleteUniverseFromInterface",e=>{delete this.app.universes[e],this.app.settings.selected_universe===e&&(this.app.settings.selected_universe="Welcome",this.app.selected_universe="Welcome"),this.app.settings.saveApplicationToLocalStorage(this.app.universes,this.app.settings),this.app.updateKnownUniversesView()});I(this,"_playDocExample",e=>{let t=this.app.universes[this.app.selected_universe];this.app.exampleIsPlaying=!0,t.example?t.example.candidate=e||this.app.selectedExample:(t.example={candidate:"",committed:"",evaluations:0},t.example.candidate=e||this.app.selectedExample),this.stop(),this.play()});I(this,"_stopDocExample",()=>{let e=this.app.universes[this.app.selected_universe];(e==null?void 0:e.example)!==void 0&&(this.app.exampleIsPlaying=!1,e.example.candidate="",e.example.committed=""),this.stop()});I(this,"_playDocExampleOnce",e=>{let t=this.app.universes[this.app.selected_universe];(t==null?void 0:t.example)!==void 0&&(t.example.candidate="",t.example.committed=""),this.stop(),this.play(),this.app.exampleIsPlaying=!0,i9(this.app,e)});I(this,"_all_samples",()=>Mu.get());I(this,"_reportError",e=>{const t=s=>{var l;const o=(l=s.stack)==null?void 0:l.split(` +`,"\r"," "],!1,!1),hn=ct(",",!1),K=ct("|",!1),me=cr([["a","z"]],!1,!1),De=cr([["a","z"],"_"],!1,!1),Me=cr([["a","z"],"_",["0","9"]],!1,!1),tt=ct("<",!1),Ne=ct(">",!1),jt=ct("@",!1),ut=ct(":",!1),wt=cr(["m","k","l","p","d","c","w","y","h","n","q","a","e","f","s","x","t","g","u","j","z","o"],!1,!1),ir=ct("/",!1),ft=ct("(",!1),an=ct(")",!1),It=ct("[:",!1),$e=ct("]",!1),Zn=ct("[",!1),ii=ct("{",!1),dt=ct("}",!1),ar=ct("+",!1),Un=ct("*",!1),Wi=ct("%",!1),Yn=ct("^",!1),Jt=ct("&",!1),Ur=ct(">>",!1),Ia=ct("<<",!1),Ai=ct("_",!1),Ra=ct("?",!1),vr=ct("!",!1),Ii=ct("r",!1),Yr=cr([["a","z"],["A","Z"],["0","9"]],!1,!1),sn=ct("#",!1),Ri=ct("b",!1),wi=cr([["a","z"],["A","Z"],["0","9"],"-","*","+"],!1,!1),W=cr([["A","G"]],!1,!1),oe=cr(["b","s"],!1,!1),pe=ct("iii",!1),Se=ct("ii",!1),xe=ct("iv",!1),Ve=ct("i",!1),Fe=ct("vii",!1),Rt=ct("vi",!1),$n=ct("v",!1),sr=function(T){return T.filter(D=>D)},ss=function(){return parseFloat(jn())},wa=function(){return parseInt(jn())},uo=function(){return parseInt(jn())},or=function(){},po=function(T){return Qt(Sq,{sound:T})},os=function(){return jn()},ls=function(T){return Qt(al,{items:T})},fo=function(T){return T},cs=function(T,D){return Qt(Oq,{item:T,sound:D})},ho=function(T,D){return Qt(Eq,{item:T,soundIndex:D})},us=function(T){return T},Kn=function(){return cQ[jn()]},mo=function(T,D){return T/D},go=function(T){return T.filter(D=>D)},ds=function(T){return Qt(al,{items:T})},ps=function(T,D){return D?Qt(fv,{item:T,times:D}):Qt(hv,{items:T})},_o=function(T){return T},fs=function(T,D,U){return Qt(Aq,{left:T,operation:D,right:U})},bo=function(T,D){return Qt(yq,{items:T,times:D})},hs=function(T){return Qt(bI,{items:T})},So=function(T){return T.map(D=>typeof D=="number"?D:void 0)},Oo=function(){return Math.ceil(mI(jn()))},Tr=function(T){var D=T.filter(U=>U).map(U=>Qt(En,{pitch:U[0]},U.toString()));return Qt(hv,{items:D})},Tt=function(T){return T},Eo=function(T){return T},Xi=function(){},vo=function(T){return Qt(al,{items:T})},Ni=function(T){return Qt(Tq,{octave:T})},To=function(){return jn().split("").reduce((T,D)=>T+(D==="^"?1:-1),0)},Zi=function(){return Qt(Iu,{seededRandom:a.seededRandom})},ms=function(T,D){return Qt(Iu,{min:T,max:D,seededRandom:a.seededRandom})},gs=function(T,D){return Qt(fv,{item:T,times:D})},Co=function(T){return Qt(Cq,{duration:T})},Ki=function(T){return T},_s=function(T){return Qt(Vg,{duration:T})},ji=function(T,D,U,J){const ue=T?a.nodeOptions.octave+T:a.nodeOptions.octave;return Qt(En,{duration:D,pitch:J,pitchOctave:ue,add:U})},Ji=function(T){return T.reduce((D,U)=>D+(U==="#"?1:-1),0)},bs=function(T,D,U){return Qt(wn,{pitches:[T].concat(D),inversion:U})},Na=function(){return jn()},xi=function(T){return T},In=function(){return jn()},Ss=function(T,D,U,J,ue){const Ce=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",_t=a.nodeOptions.key?a.nodeOptions.key:"C",Ar=Mq(J,U,Ce,T,D),No=D||a.nodeOptions.duration,SD=T?a.nodeOptions.octave+T:a.nodeOptions.octave;return Qt(wn,{duration:No,chordOctave:SD,pitches:Ar,chordName:J,inversion:ue,scaleName:Ce,key:_t})},lr=function(T,D,U){const J=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",ue=a.nodeOptions.key?a.nodeOptions.key:"C";return Qt(vq,{roman:T,chordName:D,inversion:U,scaleName:J,key:ue})},xa=function(T){const D=a.nodeOptions.scaleName?a.nodeOptions.scaleName:"MAJOR",U=a.nodeOptions.key?a.nodeOptions.key:"C",J=Qq(T,U,D);return Qt(En,{pitch:J.pc,add:J.add,scaleName:D,key:U})},A=0,Ze=0,Os=[{line:1,column:1}],Cr=0,yo=[],Te=0,be={},Da;if("startRule"in a){if(!(a.startRule in l))throw new Error(`Can't start parsing from rule "`+a.startRule+'".');c=l[a.startRule]}function jn(){return i.substring(Ze,A)}function Vl(){return d(Ze,A)}function ct(T,D){return{type:"literal",text:T,ignoreCase:D}}function cr(T,D,U){return{type:"class",parts:T,inverted:D,ignoreCase:U}}function zl(){return{type:"end"}}function Ao(T){return{type:"other",description:T}}function Hl(T){var D=Os[T],U;if(D)return D;for(U=T-1;!Os[U];)U--;for(D=Os[U],D={line:D.line,column:D.column};UCr&&(Cr=A,yo=[]),yo.push(T))}function g(T,D,U){return new e(e.buildMessage(T,D),T,D,U)}function O(){var T,D,U=A*56+0,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=en(),D!==s&&(Ze=T,D=sr(D)),T=D,be[U]={nextPos:A,result:T},T)}function C(){var T,D,U,J,ue,Ce,_t,Ar=A*56+1,No=be[Ar];if(No)return A=No.nextPos,No.result;for(T=A,D=A,i.charCodeAt(A)===45?(U=u,A++):(U=s,Te===0&&f(fn)),U===s&&(U=null),J=[],Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));ue!==s;)J.push(ue),Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));if(i.charCodeAt(A)===46?(ue=p,A++):(ue=s,Te===0&&f(Pe)),ue!==s){if(Ce=[],Ue.test(i.charAt(A))?(_t=i.charAt(A),A++):(_t=s,Te===0&&f(Je)),_t!==s)for(;_t!==s;)Ce.push(_t),Ue.test(i.charAt(A))?(_t=i.charAt(A),A++):(_t=s,Te===0&&f(Je));else Ce=s;Ce!==s?(U=[U,J,ue,Ce],D=U):(A=D,D=s)}else A=D,D=s;if(D===s)if(D=A,i.charCodeAt(A)===46?(U=p,A++):(U=s,Te===0&&f(Pe)),U!==s){if(J=[],Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je)),ue!==s)for(;ue!==s;)J.push(ue),Ue.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Je));else J=s;J!==s?(U=[U,J],D=U):(A=D,D=s)}else A=D,D=s;return D!==s&&(Ze=T,D=ss()),T=D,be[Ar]={nextPos:A,result:T},T}function y(){var T,D,U=A*56+2,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===45?A++:Te===0&&f(fn),Ue.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(Je)),D!==s?(Ze=T,T=wa()):(A=T,T=s),be[U]={nextPos:A,result:T},T)}function L(){var T,D,U,J=A*56+3,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,i.charCodeAt(A)===45?A++:Te===0&&f(fn),D=[],Ue.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(Je)),U!==s)for(;U!==s;)D.push(U),Ue.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(Je));else D=s;return D!==s?(Ze=T,T=uo()):(A=T,T=s),be[J]={nextPos:A,result:T},T}function G(){var T,D,U=A*56+4,J=be[U];return J?(A=J.nextPos,J.result):(Te++,T=A,rt.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(rn)),D!==s&&(Ze=T,D=or()),T=D,Te--,T===s&&(D=s,Te===0&&f(cn)),be[U]={nextPos:A,result:T},T)}function Y(){var T,D,U=A*56+8,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=j(),D!==s&&(Ze=T,D=po(D)),T=D,be[U]={nextPos:A,result:T},T)}function j(){var T,D,U,J,ue,Ce=A*56+10,_t=be[Ce];if(_t)return A=_t.nextPos,_t.result;if(T=A,st.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(me)),D!==s){if(U=[],bt.test(i.charAt(A))?(J=i.charAt(A),A++):(J=s,Te===0&&f(De)),J!==s)for(;J!==s;)U.push(J),bt.test(i.charAt(A))?(J=i.charAt(A),A++):(J=s,Te===0&&f(De));else U=s;if(U!==s){for(J=[],At.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Me));ue!==s;)J.push(ue),At.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Me));Ze=T,T=os()}else A=T,T=s}else A=T,T=s;return be[Ce]={nextPos:A,result:T},T}function Z(){var T,D=A*56+11,U=be[D];return U?(A=U.nextPos,U.result):(T=fe(),T===s&&(T=ge()),be[D]={nextPos:A,result:T},T)}function fe(){var T,D,U,J,ue=A*56+12,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s){if(U=[],J=Z(),J!==s)for(;J!==s;)U.push(J),J=Z();else U=s;U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=ls(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function ge(){var T,D=A*56+13,U=be[D];return U?(A=U.nextPos,U.result):(T=j(),T===s&&(T=fe(),T===s&&(T=G())),be[D]={nextPos:A,result:T},T)}function ce(){var T,D,U,J=A*56+14,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===64?(D=w,A++):(D=s,Te===0&&f(jt)),D!==s?(U=Z(),U!==s?(Ze=T,T=fo(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function le(){var T,D=A*56+15,U=be[D];return U?(A=U.nextPos,U.result):(T=mn(),T===s&&(T=ot(),T===s&&(T=Xt(),T===s&&(T=Ju(),T===s&&(T=Wt())))),be[D]={nextPos:A,result:T},T)}function we(){var T,D,U,J=A*56+16,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=le(),D===s&&(D=wo()),D!==s?(U=ce(),U!==s?(Ze=T,T=cs(D,U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function Oe(){var T,D,U,J=A*56+17,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=we(),D===s&&(D=le(),D===s&&(D=wo())),D!==s?(U=He(),U!==s?(Ze=T,T=ho(D,U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function He(){var T,D,U,J=A*56+18,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===58?(D=k,A++):(D=s,Te===0&&f(ut)),D!==s?(U=Lt(),U!==s?(Ze=T,T=us(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function et(){var T,D,U=A*56+19,J=be[U];return J?(A=J.nextPos,J.result):(T=A,St.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(wt)),D!==s&&(Ze=T,D=Kn()),T=D,be[U]={nextPos:A,result:T},T)}function Ge(){var T,D=A*56+20,U=be[D];return U?(A=U.nextPos,U.result):(T=xt(),T===s&&(T=C(),T===s&&(T=et())),be[D]={nextPos:A,result:T},T)}function xt(){var T,D,U,J,ue=A*56+21,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=L(),D!==s?(i.charCodeAt(A)===47?(U=$,A++):(U=s,Te===0&&f(ir)),U!==s?(J=L(),J!==s?(Ze=T,T=mo(D,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function en(){var T,D,U,J=A*56+22,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],U=w1(),U===s&&(U=Oe(),U===s&&(U=we(),U===s&&(U=mn(),U===s&&(U=Xt(),U===s&&(U=ot(),U===s&&(U=Wt(),U===s&&(U=wo(),U===s&&(U=Ju())))))))),U!==s)for(;U!==s;)D.push(U),U=w1(),U===s&&(U=Oe(),U===s&&(U=we(),U===s&&(U=mn(),U===s&&(U=Xt(),U===s&&(U=ot(),U===s&&(U=Wt(),U===s&&(U=wo(),U===s&&(U=Ju()))))))));else D=s;return D!==s&&(Ze=T,D=go(D)),T=D,be[J]={nextPos:A,result:T},T}function Lt(){var T,D=A*56+23,U=be[D];return U?(A=U.nextPos,U.result):(T=G(),T===s&&(T=L(),T===s&&(T=R1(),T===s&&(T=td(),T===s&&(T=un(),T===s&&(T=A1()))))),be[D]={nextPos:A,result:T},T)}function un(){var T,D,U,J,ue=A*56+24,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s){if(U=[],J=Lt(),J!==s)for(;J!==s;)U.push(J),J=Lt();else U=s;U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=ds(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function ot(){var T,D,U,J,ue,Ce=A*56+25,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,i.charCodeAt(A)===40?(D=H,A++):(D=s,Te===0&&f(ft)),D!==s?(i.charCodeAt(A)===58?A++:Te===0&&f(ut),U=en(),U!==s?(J=ht(),J===s&&(J=null),i.charCodeAt(A)===41?(ue=h,A++):(ue=s,Te===0&&f(an)),ue!==s?(Ze=T,T=ps(U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function ht(){var T,D,U,J=A*56+26,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===58?(D=k,A++):(D=s,Te===0&&f(ut)),D!==s?(U=L(),U!==s?(Ze=T,T=_o(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function mn(){var T,D,U,J,ue=A*56+27,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=ot(),D!==s?(U=I1(),U!==s?(J=ot(),J!==s?(Ze=T,T=fs(D,U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function Wt(){var T,D,U,J,ue,Ce=A*56+28,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,i.substr(A,2)===S?(D=S,A+=2):(D=s,Te===0&&f(It)),D!==s?(U=en(),U!==s?(J=ht(),J===s&&(J=null),i.charCodeAt(A)===93?(ue=b,A++):(ue=s,Te===0&&f($e)),ue!==s?(Ze=T,T=bo(U,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function Xt(){var T,D,U,J,ue=A*56+29,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===91?(D=N,A++):(D=s,Te===0&&f(Zn)),D!==s?(U=en(),U!==s?(i.charCodeAt(A)===93?(J=b,A++):(J=s,Te===0&&f($e)),J!==s?(Ze=T,T=hs(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function yr(){var T,D=A*56+30,U=be[D];return U?(A=U.nextPos,U.result):(T=L(),T===s&&(T=y()),be[D]={nextPos:A,result:T},T)}function Io(){var T,D,U,J=A*56+31,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],U=Wl(),U===s&&(U=yr()),U!==s)for(;U!==s;)D.push(U),U=Wl(),U===s&&(U=yr());else D=s;return D!==s&&(Ze=T,D=So(D)),T=D,be[J]={nextPos:A,result:T},T}function Wl(){var T,D,U,J,ue=A*56+32,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===40?A++:Te===0&&f(ft),D=yr(),D!==s?(U=I1(),U!==s?(J=Io(),J!==s?(i.charCodeAt(A)===41?A++:Te===0&&f(an),Ze=T,T=Oo()):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function Ro(){var T,D,U,J,ue=A*56+33,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,i.charCodeAt(A)===123?(D=M,A++):(D=s,Te===0&&f(ii)),D!==s){if(U=[],J=Io(),J===s&&(J=G()),J!==s)for(;J!==s;)U.push(J),J=Io(),J===s&&(J=G());else U=s;U!==s?(i.charCodeAt(A)===125?(J=B,A++):(J=s,Te===0&&f(dt)),J!==s?(Ze=T,T=Tr(U)):(A=T,T=s)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function A1(){var T,D,U,J,ue=A*56+34,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===123?(D=M,A++):(D=s,Te===0&&f(ii)),D!==s?(U=L(),U===s&&(U=td()),U!==s?(i.charCodeAt(A)===125?(J=B,A++):(J=s,Te===0&&f(dt)),J!==s?(Ze=T,T=Tt(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function I1(){var T,D=A*56+35,U=be[D];return U?(A=U.nextPos,U.result):(i.charCodeAt(A)===43?(T=F,A++):(T=s,Te===0&&f(ar)),T===s&&(i.charCodeAt(A)===45?(T=u,A++):(T=s,Te===0&&f(fn)),T===s&&(i.charCodeAt(A)===42?(T=V,A++):(T=s,Te===0&&f(Un)),T===s&&(i.charCodeAt(A)===47?(T=$,A++):(T=s,Te===0&&f(ir)),T===s&&(i.charCodeAt(A)===37?(T=re,A++):(T=s,Te===0&&f(Wi)),T===s&&(i.charCodeAt(A)===94?(T=ae,A++):(T=s,Te===0&&f(Yn)),T===s&&(i.charCodeAt(A)===124?(T=_,A++):(T=s,Te===0&&f(K)),T===s&&(i.charCodeAt(A)===38?(T=ie,A++):(T=s,Te===0&&f(Jt)),T===s&&(i.substr(A,2)===te?(T=te,A+=2):(T=s,Te===0&&f(Ur)),T===s&&(i.substr(A,2)===x?(T=x,A+=2):(T=s,Te===0&&f(Ia))))))))))),be[D]={nextPos:A,result:T},T)}function wo(){var T,D,U=A*56+36,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=fD(),D===s&&(D=_D(),D===s&&(D=gD(),D===s&&(D=bD(),D===s&&(D=Y(),D===s&&(D=mD(),D===s&&(D=Xl(),D===s&&(D=uD(),D===s&&(D=G(),D===s&&(D=dD(),D===s&&(D=ot(),D===s&&(D=Ro(),D===s&&(D=cD())))))))))))),D!==s&&(Ze=T,D=Eo(D)),T=D,be[U]={nextPos:A,result:T},T)}function cD(){var T,D,U=A*56+37,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===124?(D=_,A++):(D=s,Te===0&&f(K)),D!==s&&(Ze=T,D=Xi()),T=D,be[U]={nextPos:A,result:T},T)}function Ju(){var T,D,U,J,ue=A*56+38,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.charCodeAt(A)===60?(D=E,A++):(D=s,Te===0&&f(tt)),D!==s?(U=en(),U!==s?(i.charCodeAt(A)===62?(J=R,A++):(J=s,Te===0&&f(Ne)),J!==s?(Ze=T,T=vo(U)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function uD(){var T,D,U=A*56+39,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=ed(),D!==s&&(Ze=T,D=Ni(D)),T=D,be[U]={nextPos:A,result:T},T)}function ed(){var T,D,U,J=A*56+40,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U===s&&(i.charCodeAt(A)===95?(U=P,A++):(U=s,Te===0&&f(Ai))),U!==s)for(;U!==s;)D.push(U),i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U===s&&(i.charCodeAt(A)===95?(U=P,A++):(U=s,Te===0&&f(Ai)));else D=s;return D!==s&&(Ze=T,D=To()),T=D,be[J]={nextPos:A,result:T},T}function R1(){var T,D,U=A*56+41,J=be[U];return J?(A=J.nextPos,J.result):(T=A,i.charCodeAt(A)===63?(D=q,A++):(D=s,Te===0&&f(Ra)),D!==s&&(Ze=T,D=Zi()),T=D,be[U]={nextPos:A,result:T},T)}function td(){var T,D,U,J,ue,Ce,_t=A*56+42,Ar=be[_t];return Ar?(A=Ar.nextPos,Ar.result):(T=A,i.charCodeAt(A)===40?(D=H,A++):(D=s,Te===0&&f(ft)),D!==s?(U=L(),U!==s?(i.charCodeAt(A)===44?(J=m,A++):(J=s,Te===0&&f(hn)),J!==s?(ue=L(),ue!==s?(i.charCodeAt(A)===41?(Ce=h,A++):(Ce=s,Te===0&&f(an)),Ce!==s?(Ze=T,T=ms(U,ue)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[_t]={nextPos:A,result:T},T)}function w1(){var T,D,U,J,ue=A*56+43,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,D=Oe(),D===s&&(D=we(),D===s&&(D=le(),D===s&&(D=wo()))),D!==s?(i.charCodeAt(A)===33?(U=z,A++):(U=s,Te===0&&f(vr)),U!==s?(J=L(),J!==s?(Ze=T,T=gs(D,J)):(A=T,T=s)):(A=T,T=s)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function dD(){var T,D,U=A*56+44,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=Ge(),D!==s&&(Ze=T,D=Co(D)),T=D,be[U]={nextPos:A,result:T},T)}function pD(){var T,D,U,J=A*56+45,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,D=Ge(),D!==s?(i.charCodeAt(A)===94?(U=ae,A++):(U=s,Te===0&&f(Yn)),U!==s?(Ze=T,T=Ki(D)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function fD(){var T,D,U,J,ue,Ce=A*56+46,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,D=pD(),D===s&&(D=null),i.charCodeAt(A)===114?(U=ne,A++):(U=s,Te===0&&f(Ii)),U!==s?(J=A,Te++,Nt.test(i.charAt(A))?(ue=i.charAt(A),A++):(ue=s,Te===0&&f(Yr)),Te--,ue===s?J=void 0:(A=J,J=s),J!==s?(Ze=T,T=_s(D)):(A=T,T=s)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function Xl(){var T,D,U,J,ue,Ce=A*56+47,_t=be[Ce];return _t?(A=_t.nextPos,_t.result):(T=A,D=ed(),D===s&&(D=null),U=Ge(),U===s&&(U=null),J=hD(),J===s&&(J=null),ue=y(),ue===s&&(ue=R1(),ue===s&&(ue=td(),ue===s&&(ue=A1()))),ue!==s?(Ze=T,T=ji(D,U,J,ue)):(A=T,T=s),be[Ce]={nextPos:A,result:T},T)}function hD(){var T,D,U,J=A*56+48,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],i.charCodeAt(A)===35?(U=se,A++):(U=s,Te===0&&f(sn)),U===s&&(i.charCodeAt(A)===98?(U=_e,A++):(U=s,Te===0&&f(Ri))),U!==s)for(;U!==s;)D.push(U),i.charCodeAt(A)===35?(U=se,A++):(U=s,Te===0&&f(sn)),U===s&&(i.charCodeAt(A)===98?(U=_e,A++):(U=s,Te===0&&f(Ri)));else D=s;return D!==s&&(Ze=T,D=Ji(D)),T=D,be[J]={nextPos:A,result:T},T}function mD(){var T,D,U,J,ue=A*56+49,Ce=be[ue];if(Ce)return A=Ce.nextPos,Ce.result;if(T=A,D=Xl(),D!==s){if(U=[],J=Xl(),J!==s)for(;J!==s;)U.push(J),J=Xl();else U=s;U!==s?(J=nd(),J===s&&(J=null),Ze=T,T=bs(D,U,J)):(A=T,T=s)}else A=T,T=s;return be[ue]={nextPos:A,result:T},T}function N1(){var T,D,U,J=A*56+50,ue=be[J];if(ue)return A=ue.nextPos,ue.result;if(T=A,D=[],kt.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(wi)),U!==s)for(;U!==s;)D.push(U),kt.test(i.charAt(A))?(U=i.charAt(A),A++):(U=s,Te===0&&f(wi));else D=s;return D!==s&&(Ze=T,D=Na()),T=D,be[J]={nextPos:A,result:T},T}function nd(){var T,D,U,J=A*56+51,ue=be[J];return ue?(A=ue.nextPos,ue.result):(T=A,i.charCodeAt(A)===37?(D=re,A++):(D=s,Te===0&&f(Wi)),D!==s?(U=L(),U!==s?(Ze=T,T=xi(U)):(A=T,T=s)):(A=T,T=s),be[J]={nextPos:A,result:T},T)}function x1(){var T,D,U=A*56+52,J=be[U];return J?(A=J.nextPos,J.result):(T=A,Fn.test(i.charAt(A))?(D=i.charAt(A),A++):(D=s,Te===0&&f(W)),D!==s?(ze.test(i.charAt(A))?(i.charAt(A),A++):Te===0&&f(oe),Ze=T,T=In()):(A=T,T=s),be[U]={nextPos:A,result:T},T)}function gD(){var T,D,U,J,ue,Ce,_t=A*56+53,Ar=be[_t];return Ar?(A=Ar.nextPos,Ar.result):(T=A,D=ed(),D===s&&(D=null),U=Ge(),U===s&&(U=null),J=x1(),J!==s?(i.charCodeAt(A)===94?A++:Te===0&&f(Yn),ue=N1(),ue!==s?(Ce=nd(),Ce===s&&(Ce=null),Ze=T,T=Ss(D,U,J,ue,Ce)):(A=T,T=s)):(A=T,T=s),be[_t]={nextPos:A,result:T},T)}function _D(){var T,D,U,J,ue=A*56+54,Ce=be[ue];return Ce?(A=Ce.nextPos,Ce.result):(T=A,i.substr(A,3)===ye?(D=ye,A+=3):(D=s,Te===0&&f(pe)),D===s&&(i.substr(A,2)===Ie?(D=Ie,A+=2):(D=s,Te===0&&f(Se)),D===s&&(i.substr(A,2)===ve?(D=ve,A+=2):(D=s,Te===0&&f(xe)),D===s&&(i.charCodeAt(A)===105?(D=Re,A++):(D=s,Te===0&&f(Ve)),D===s&&(i.substr(A,3)===de?(D=de,A+=3):(D=s,Te===0&&f(Fe)),D===s&&(i.substr(A,2)===Be?(D=Be,A+=2):(D=s,Te===0&&f(Rt)),D===s&&(i.charCodeAt(A)===118?(D=je,A++):(D=s,Te===0&&f($n)))))))),D!==s?(i.charCodeAt(A)===94?A++:Te===0&&f(Yn),U=N1(),U===s&&(U=null),J=nd(),J===s&&(J=null),Ze=T,T=lr(D,U,J)):(A=T,T=s),be[ue]={nextPos:A,result:T},T)}function bD(){var T,D,U=A*56+55,J=be[U];return J?(A=J.nextPos,J.result):(T=A,D=x1(),D!==s&&(Ze=T,D=xa(D)),T=D,be[U]={nextPos:A,result:T},T)}var D1=a.nodeOptions||{};function Qt(T,D,U=void 0){D.text=U||jn(),D.location=Vl();for(var J in D1)(D[J]===void 0||D[J]===null)&&(D[J]=D1[J]);return new T(D)}if(Da=c(),Da!==s&&A===i.length)return Da;throw Da!==s&&A1&&(c=c.slice(1));const u=c.map(p=>isNaN(parseInt(p))?p:parseInt(p));return o(...u).toString()}return o.toString()}}return a[0]}const i=new RegExp(t.join("|"),"g");return r.replace(i,a=>n(a))}function Wq(r,e,t){let n=r;for(let i=0;i1&&(t=t.split("").join(" ")),t}revaluate(){this.values=gv(this.input,this.options),this.evaluated=this.evaluate(this.values),this.applyTransformations(),this.duration=this.totalDuration()}pitches(){return this.evaluated.map(e=>e.collect("pitch"))}notes(){return this.evaluated.map(e=>e.collect("note"))}sounds(){return this.evaluated.map(e=>e.collect("sound"))}indices(){return this.evaluated.map(e=>e.collect("soundIndex"))}freqs(){return this.evaluated.map(e=>e.collect("freq"))}durations(){return this.evaluated.map(e=>e.collect("duration"))}octaves(){return this.evaluated.map(e=>e.collect("octave"))}retrograde(){return this.evaluated=this.evaluated.reverse(),this}scale(e){return this.applyOptions({scale:e}),this}key(e){return this.applyOptions({key:e}),this}octave(e){return this.applyOptions({octave:e}),this}invert(e){return this.applyOptions({inversion:e}),this}isInOptions(e,t){return this.options.nodeOptions&&this.options.nodeOptions[e]===t}atLast(){return this.index+1>=this.evaluated.length*this.redo}clone(){return _i(this)}notStarted(){return this.index<0}peek(){return this.evaluated[this.index-1||0]}hasStarted(){return this.index>=0}reset(){this.index=-1,this.counter=0}next(){this.index<0&&(this.index=0);const e=this.evaluated[this.index%this.evaluated.length];if(this.index++,this.counter++,this.redo>0&&this.index>=this.evaluated.length*this.redo){if(this.index=0,this.generator){const t=this.generator.next();t.done?this.generatorDone=!0:(this.input=Ka.inputFromNumber(t.value),this.revaluate())}this.evaluated=this.evaluate(this.values)}return e}applyOptions(e={}){this.evaluated=this.evaluate(this.evaluated,e),this.applyTransformations()}applyTransformations(){var e;(e=this.globalOptions)!=null&&e.retrograde&&(this.evaluated=this.evaluated.reverse())}update(){return this.evaluated=this.evaluate(this.values),this.applyTransformations(),this}evaluate(e,t={}){let n=e.map(i=>i.evaluate(t)).flat(1/0).filter(i=>i!==void 0);return t.subdivisions&&(n=yI(n)),n}totalDuration(){return this.evaluated.reduce((t,n)=>t+n.collect("duration"),0)}lead(){let e=this.evaluated.findIndex(t=>t instanceof wn);if(e>=0){for(let t=e+1;t<=this.evaluated.length;t++)if(this.evaluated[t]instanceof wn){const n=this.evaluated[e],i=this.evaluated[t],a=Vq(n.notes(),i.notes()),s=_i(i);s.voiceLeadFromNotes(a,this.options.nodeOptions),this.evaluated[t]=s,e=t}}return this}toString(){return this.evaluated.map(e=>e.toString()).join(" ")}rules(e,t=1){const n=Wq(this.input,e,t);return new Ka(n,this.options.nodeOptions,this.globalOptions)}tonnetzChords(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof En?n.tonnetzChord(e,t):n)),this}triadTonnetz(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof wn?n.triadTonnetz(e,t):n).flat(1/0)),this}tetraTonnetz(e,t=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(n=>n instanceof wn?n.tetraTonnetz(e,t):n).flat(1/0)),this}hexaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?xQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}octaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?DQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}enneaCycle(e=[3,4,5]){return this.evaluated&&(this.evaluated=this.evaluated.map(t=>t instanceof En?kQ(t.pitch,e).map(a=>wn.fromPitchClassArray(a,t.key||"C4",t.scaleName||"MAJOR").evaluate()):t).flat(1/0)),this}}const yI=(r,e=void 0)=>r.map(n=>{if(n instanceof bI){const i=n.evaluated.length,a=(e||n.duration)/i;return yI(n.evaluated,a)}else return n.duration=e||n.duration,n}).flat(1/0),Xq=r=>{let e={};return bq.forEach(t=>{if(r[t]!==void 0){const n=r[t];e[t]=n,delete r[t]}}),e},yi=(r,e)=>{let t=0;if(r<1)return t;for(;r%e**t===0;)t++;return t-1},zi=(r,e)=>{if(r===0)return 0;const t=yi(r,e);return 1/e**t},Zq=(r,e,t=11)=>{const n=[];for(let a=1;a{const n=[];for(let s=1;ss!==0))};function*Kq(){let[r,e]=[0,1];for(;;)yield r,[r,e]=[e,r+e]}function*jq(){let[r,e,t]=[0,0,1];for(;;)yield e,[r,e,t]=[t,r,r+e+t]}function*Jq(){let[r,e,t,n]=[0,0,0,1];for(;;)yield t,[r,e,t,n]=[n,r,e,r+e+t+n]}function*eV(){let[r,e,t,n,i]=[0,0,0,0,1];for(;;)yield n,[r,e,t,n,i]=[i,r,e,t,r+e+t+n+i]}function*tV(){let[r,e,t,n,i,a]=[0,0,0,0,0,1];for(;;)yield i,[r,e,t,n,i,a]=[a,r,e,t,n,r+e+t+n+i+a]}function*nV(){let[r,e,t,n,i,a,s]=[0,0,0,0,0,0,1];for(;;)yield a,[r,e,t,n,i,a,s]=[s,r,e,t,n,i,r+e+t+n+i+a+s]}function*rV(){let[r,e,t,n,i,a,s,o]=[0,0,0,0,0,0,0,1];for(;;)yield s,[r,e,t,n,i,a,s,o]=[o,r,e,t,n,i,a,r+e+t+n+i+a+s+o]}function*iV(){let[r,e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,0,1];for(;;)yield o,[r,e,t,n,i,a,s,o,l]=[l,r,e,t,n,i,a,s,r+e+t+n+i+a+s+o+l]}function*aV(r){let[e,t]=[0,1];for(;;)yield e,[e,t]=[t,(e+t)%r]}function*sV(r){let[e,t,n]=[0,0,1];for(;;)yield t,[e,t,n]=[n,e,(e+t+n)%r]}function*oV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield n,[e,t,n,i]=[i,e,t,(e+t+n+i)%r]}function*lV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield i,[e,t,n,i,a]=[a,e,t,n,(e+t+n+i+a)%r]}function*cV(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield a,[e,t,n,i,a,s]=[s,e,t,n,i,(e+t+n+i+a+s)%r]}function*uV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield s,[e,t,n,i,a,s,o]=[o,e,t,n,i,a,(e+t+n+i+a+s+o)%r]}function*dV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield o,[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,(e+t+n+i+a+s+o+l)%r]}function*pV(r){let[e,t,n,i,a,s,o,l,c]=[0,0,0,0,0,0,0,0,1];for(;;)yield l,[e,t,n,i,a,s,o,l,c]=[c,e,t,n,i,a,s,o,(e+t+n+i+a+s+o+l+c)%r]}function*fV(r){let[e,t]=[0,1];for(;;)yield yi(e,r),[e,t]=[t,e+t]}function*hV(r){let[e,t,n]=[0,0,1];for(;;)yield yi(t,r),[e,t,n]=[n,e,e+t+n]}function*mV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield yi(n,r),[e,t,n,i]=[i,e,t,e+t+n+i]}function*gV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield yi(i,r),[e,t,n,i,a]=[a,e,t,n,e+t+n+i+a]}function*_V(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield yi(a,r),[e,t,n,i,a,s]=[s,e,t,n,i,e+t+n+i+a+s]}function*bV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield yi(s,r),[e,t,n,i,a,s,o]=[o,e,t,n,i,a,e+t+n+i+a+s+o]}function*SV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield yi(o,r),[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,e+t+n+i+a+s+o+l]}function*OV(r){const e=Array(9).fill(0);e[9-1]=1;let[t,n,i,a,s,o,l,c,u]=e;for(;;)yield yi(c,r),[t,n,i,a,s,o,l,c,u]=[u,t,n,i,a,s,o,l,t+n+i+a+s+o+l+c+u]}function*EV(r){let[e,t]=[0,1];for(;;)yield zi(e,r),[e,t]=[t,e+t]}function*vV(r){let[e,t,n]=[0,0,1];for(;;)yield zi(t,r),[e,t,n]=[n,e,e+t+n]}function*TV(r){let[e,t,n,i]=[0,0,0,1];for(;;)yield zi(n,r),[e,t,n,i]=[i,e,t,e+t+n+i]}function*CV(r){let[e,t,n,i,a]=[0,0,0,0,1];for(;;)yield zi(i,r),[e,t,n,i,a]=[a,e,t,n,e+t+n+i+a]}function*yV(r){let[e,t,n,i,a,s]=[0,0,0,0,0,1];for(;;)yield zi(a,r),[e,t,n,i,a,s]=[s,e,t,n,i,e+t+n+i+a+s]}function*AV(r){let[e,t,n,i,a,s,o]=[0,0,0,0,0,0,1];for(;;)yield zi(s,r),[e,t,n,i,a,s,o]=[o,e,t,n,i,a,e+t+n+i+a+s+o]}function*IV(r){let[e,t,n,i,a,s,o,l]=[0,0,0,0,0,0,0,1];for(;;)yield zi(o,r),[e,t,n,i,a,s,o,l]=[l,e,t,n,i,a,s,e+t+n+i+a+s+o+l]}function*RV(r){const e=Array(9).fill(0);e[9-1]=1;let[t,n,i,a,s,o,l,c,u]=e;for(;;)yield zi(c,r),[t,n,i,a,s,o,l,c,u]=[u,t,n,i,a,s,o,l,t+n+i+a+s+o+l+c+u]}function*wV(r,e=11){let[t,n]=[0,1];for(;;)yield Hi(t,r,e),[t,n]=[n,t+n]}function*NV(r,e=11){let[t,n,i]=[0,0,1];for(;;)yield Hi(n,r,e),[t,n,i]=[i,t,t+n+i]}function*xV(r,e=11){let[t,n,i,a]=[0,0,0,1];for(;;)yield Hi(i,r,e),[t,n,i,a]=[a,t,n,t+n+i+a]}function*DV(r,e=11){let[t,n,i,a,s]=[0,0,0,0,1];for(;;)yield Hi(a,r,e),[t,n,i,a,s]=[s,t,n,i,t+n+i+a+s]}function*kV(r,e=11){let[t,n,i,a,s,o]=[0,0,0,0,0,1];for(;;)yield Hi(s,r,e),[t,n,i,a,s,o]=[o,t,n,i,a,t+n+i+a+s+o]}function*LV(r,e=11){let[t,n,i,a,s,o,l]=[0,0,0,0,0,0,1];for(;;)yield Hi(o,r,e),[t,n,i,a,s,o,l]=[l,t,n,i,a,s,t+n+i+a+s+o+l]}function*MV(r,e=11){let[t,n,i,a,s,o,l,c]=[0,0,0,0,0,0,0,1];for(;;)yield Hi(l,r,e),[t,n,i,a,s,o,l,c]=[c,t,n,i,a,s,o,t+n+i+a+s+o+l+c]}function*PV(r,e=11){const t=Array(9).fill(0);t[9-1]=1;let[n,i,a,s,o,l,c,u,p]=t;for(;;)yield Hi(u,r,e),[n,i,a,s,o,l,c,u,p]=[p,n,i,a,s,o,l,c,n+i+a+s+o+l+c+u+p]}const BV=Object.freeze(Object.defineProperty({__proto__:null,enneanacci:iV,fibonacci:Kq,heptanacci:nV,hexanacci:tV,modularEnneanacci:pV,modularFibonacci:aV,modularHeptanacci:uV,modularHexanacci:cV,modularOctanacci:dV,modularPentanacci:lV,modularTetranacci:oV,modularTribonacci:sV,normPadicEnneanacci:RV,normPadicFibonacci:EV,normPadicHeptanacci:AV,normPadicHexanacci:yV,normPadicOctanacci:IV,normPadicPentanacci:CV,normPadicTetranacci:TV,normPadicTribonacci:vV,octanacci:rV,pAdicExpansion:Zq,pAdicExpansionArithmetic:Hi,pAdicExpansionEnneanacci:PV,pAdicExpansionFibonacci:wV,pAdicExpansionHeptanacci:LV,pAdicExpansionHexanacci:kV,pAdicExpansionOctanacci:MV,pAdicExpansionPentanacci:DV,pAdicExpansionTetranacci:xV,pAdicExpansionTribonacci:NV,pAdicNorm:zi,pAdicValuation:yi,padicEnneanacci:OV,padicFibonacci:fV,padicHeptanacci:bV,padicHexanacci:_V,padicOctanacci:SV,padicPentanacci:gV,padicTetranacci:mV,padicTribonacci:hV,pentanacci:eV,tetranacci:Jq,tribonacci:jq},Symbol.toStringTag,{value:"Module"}));class FV{constructor(e,t){I(this,"api");I(this,"settings");I(this,"midiAccess",null);I(this,"midiOutputs",[]);I(this,"currentOutputIndex",0);I(this,"scheduledNotes",{});I(this,"midiInputs",[]);I(this,"currentInputIndex");I(this,"bufferLength",512);I(this,"noteInputBuffer",[]);I(this,"ccInputBuffer",[]);I(this,"activeNotes",[]);I(this,"stickyNotes",[]);I(this,"lastNote");I(this,"lastCC",{});I(this,"lastNoteInChannel",{});I(this,"lastCCInChannel",{});I(this,"midiClockInputIndex");I(this,"midiClockInput");I(this,"lastTimestamp",0);I(this,"midiClockDelta",0);I(this,"lastBPM");I(this,"roundedBPM",0);I(this,"clockBuffer",[]);I(this,"clockBufferLength",24);I(this,"clockTicks",0);I(this,"clockErrorCount",0);I(this,"skipOnError",0);this.api=e,this.settings=t,this.lastBPM=e.bpm(),this.roundedBPM=this.lastBPM,this.initializeMidiAccess()}async initializeMidiAccess(){try{this.midiAccess=await navigator.requestMIDIAccess(),this.midiOutputs=Array.from(this.midiAccess.outputs.values()),this.midiOutputs.length===0&&(console.warn("No MIDI outputs available."),this.currentOutputIndex=-1),this.midiInputs=Array.from(this.midiAccess.inputs.values()),this.midiInputs.length===0?console.warn("No MIDI inputs available."):this.updateInputSelects()}catch(e){console.error("Failed to initialize MIDI:",e)}}getCurrentMidiPort(){return this.midiOutputs.length>0&&this.currentOutputIndex>=0&&this.currentOutputIndex0&&this.currentOutputIndex>=0&&this.currentOutputIndex0){const e=document.getElementById("midi-clock-input"),t=document.getElementById("default-midi-input");e.innerHTML="",t.innerHTML="";const n=document.createElement("option");n.value="-1",n.text="Internal",e.appendChild(n);const i=document.createElement("option");if(i.value="-1",i.text="None",t.appendChild(i),this.midiInputs.forEach((a,s)=>{const o=document.createElement("option");o.value=s.toString(),o.text=a.name||s.toString(),e.appendChild(o),t.appendChild(o.cloneNode(!0))}),this.settings.midi_clock_input){const a=this.getMidiInputIndex(this.settings.midi_clock_input);e.value=a.toString(),a>0&&(this.midiClockInput=this.midiInputs[a],this.registerMidiInputListener(a))}else e.value="-1";if(this.settings.default_midi_input){const a=this.getMidiInputIndex(this.settings.default_midi_input);t.value=a.toString(),a>0&&(this.currentInputIndex=a,this.registerMidiInputListener(a))}else t.value="-1";e.addEventListener("change",a=>{const s=a.target.value;if(s==="-1")this.midiClockInput&&this.midiClockInputIndex!=this.currentInputIndex&&(this.midiClockInput.onmidimessage=null),this.midiClockInput=void 0,this.settings.midi_clock_input=void 0;else{const o=parseInt(s);this.midiClockInputIndex=o,this.midiClockInput&&this.midiClockInputIndex!=this.currentInputIndex&&(this.midiClockInput.onmidimessage=null),this.midiClockInput=this.midiInputs[o],this.registerMidiInputListener(o),this.settings.midi_clock_input=this.midiClockInput.name||void 0}}),t.addEventListener("change",a=>{const s=a.target.value;s==="-1"?(this.currentInputIndex&&this.currentInputIndex!=this.midiClockInputIndex&&this.unregisterMidiInputListener(this.currentInputIndex),this.currentInputIndex=void 0,this.settings.default_midi_input=void 0):(this.currentInputIndex&&this.currentInputIndex!=this.midiClockInputIndex&&this.unregisterMidiInputListener(this.currentInputIndex),this.currentInputIndex=parseInt(s),this.registerMidiInputListener(this.currentInputIndex),this.settings.default_midi_input=this.midiInputs[this.currentInputIndex].name||void 0)})}}registerMidiInputListener(e){if(e!==void 0){const t=this.midiInputs[e];t&&!t.onmidimessage&&(t.onmidimessage=n=>{const i=n;if(t.name===this.settings.midi_clock_input&&(i.data[0]===248?this.skipOnError>0?this.skipOnError-=1:this.onMidiClock(n.timeStamp):i.data[0]===250?(console.log("MIDI start received"),this.api.stop(),this.api.play()):i.data[0]===252?(console.log("MIDI stop received"),this.api.pause()):i.data[0]===251?(console.log("MIDI continue received"),this.api.play()):i.data[0]===254&&console.log("MIDI active sensing received")),t.name===this.settings.default_midi_input){if(i.data[0]>=144&&i.data[0]<=159){const a=i.data[0]-144+1,s=i.data[1],o=i.data[2];this.lastNote={note:s,velocity:o,channel:a,timestamp:n.timeStamp},this.lastNoteInChannel[a]={note:s,velocity:o,channel:a,timestamp:n.timeStamp},this.settings.midi_channels_scripts&&this.api.script(a),this.pushToMidiInputBuffer({note:s,velocity:o,channel:a,timestamp:n.timeStamp}),this.activeNotes.push({note:s,velocity:o,channel:a,timestamp:n.timeStamp}),this.removeFromStickyNotes(s,a)||this.stickyNotes.push({note:s,velocity:o,channel:a,timestamp:n.timeStamp})}if(i.data[0]>=128&&i.data[0]<=143){const a=i.data[0]-128+1,s=i.data[1];this.removeFromActiveNotes(s,a)}if(i.data[0]>=176&&i.data[0]<=191){const a=i.data[0]-176+1,s=i.data[1],o=i.data[2];this.lastCC[s]=o,this.lastCCInChannel[a]?this.lastCCInChannel[a][s]=o:(this.lastCCInChannel[a]={},this.lastCCInChannel[a][s]=o),this.pushToMidiCCBuffer({control:s,value:o,channel:a,timestamp:n.timeStamp})}}})}}removeFromActiveNotes(e,t){const n=this.activeNotes.findIndex(i=>i.note===e&&i.channel===t);n>=0&&this.activeNotes.splice(n,1)}removeFromStickyNotes(e,t){const n=this.stickyNotes.findIndex(i=>i.note===e&&i.channel===t);return n>=0?(this.stickyNotes.splice(n,1),!0):!1}stickyNotesFromChannel(e){return this.stickyNotes.filter(t=>t.channel===e)}activeNotesFromChannel(e){return this.activeNotes.filter(t=>t.channel===e)}killActiveNotes(){this.activeNotes=[]}killActiveNotesFromChannel(e){this.activeNotes=this.activeNotes.filter(t=>t.channel!==e)}pushToMidiInputBuffer(e){this.noteInputBuffer.push(e),this.noteInputBuffer.length>this.bufferLength&&this.noteInputBuffer.shift()}pushToMidiCCBuffer(e){this.ccInputBuffer.push(e),this.ccInputBuffer.length>this.bufferLength&&this.ccInputBuffer.shift()}findNoteFromBufferInChannel(e){const t=this.noteInputBuffer.findIndex(n=>n.channel===e);if(t>=0){const n=this.noteInputBuffer[t];return this.noteInputBuffer.splice(t,1),n}else return}findCCFromBufferInChannel(e){const t=this.ccInputBuffer.findIndex(n=>n.channel===e);if(t>=0){const n=this.ccInputBuffer[t];return this.ccInputBuffer.splice(t,1),n}else return}unregisterMidiInputListener(e){if(e!==void 0){const t=this.midiInputs[e];t&&(t.onmidimessage=null)}}onMidiClock(e){if(this.clockTicks+=1,this.lastTimestamp>0)if(this.lastTimestamp===e)this.clockErrorCount+=1;else if(this.clockErrorCount>0)console.log("Timestamp error count: ",this.clockErrorCount),console.log("Current timestamp: ",e),console.log("Last timestamp: ",this.lastTimestamp),console.log("Last delta: ",this.midiClockDelta),console.log("Current delta: ",e-this.lastTimestamp),console.log("BPMs",this.clockBuffer),this.clockErrorCount=0,this.skipOnError=this.settings.midi_clock_ppqn/4,e=0;else{this.midiClockDelta=e-this.lastTimestamp,this.lastBPM=60*(1e3/this.midiClockDelta/this.settings.midi_clock_ppqn),this.clockBuffer.push(this.lastBPM),this.clockBuffer.length>this.clockBufferLength&&this.clockBuffer.shift();const t=this.estimatedBPM();t!==this.roundedBPM&&(console.log("Estimated BPM: ",t),this.api.bpm(t),this.roundedBPM=t)}this.lastTimestamp=e}estimatedBPM(){const e=this.clockBuffer.reduce((t,n)=>t+n);return Math.round(e/this.clockBuffer.length)}sendMidiClock(){if(!this.midiClockInput){const e=this.midiOutputs[this.currentOutputIndex];e&&e.send([248])}}switchMidiOutput(e){const t=this.getMidiOutputIndex(e);return t!==-1?(this.currentOutputIndex=t,!0):!1}getMidiOutputIndex(e){if(typeof e=="number")return e<0||e>=this.midiOutputs.length?(console.error(`Invalid MIDI output index. Index must be in the range 0-${this.midiOutputs.length-1}.`),this.currentOutputIndex):e;{const t=this.midiOutputs.findIndex(n=>n.name===e);return t!==-1?t:(console.error(`MIDI output "${e}" not found.`),this.currentOutputIndex)}}getMidiInputIndex(e){if(typeof e=="number")return e<0||e>=this.midiInputs.length?(console.error(`Invalid MIDI input index. Index must be in the range 0-${this.midiInputs.length-1}.`),-1):e;{const t=this.midiInputs.findIndex(n=>n.name===e);return t!==-1?t:(console.error(`MIDI input "${e}" not found.`),-1)}}listMidiOutputs(){let e="Available MIDI Outputs: ";return this.midiOutputs.forEach((t,n)=>{e+=`(${n+1}) ${t.name} `}),e}sendMidiNote(e,t,n,i,a=this.currentOutputIndex,s=void 0){typeof a=="string"&&(a=this.getMidiOutputIndex(a));const o=this.midiOutputs[a];if(e=Math.min(Math.max(e,0),127),o){const l=[144+t,e,n],c=[128+t,e,0];o.send(l),s&&this.sendPitchBend(s,t,a);const u=setTimeout(()=>{o.send(c),s&&this.sendPitchBend(8192,t,a),delete this.scheduledNotes[e]},(i-.02)*1e3);this.scheduledNotes[e]=u}else console.error("MIDI output not available.")}sendMidiOn(e,t,n,i=this.currentOutputIndex){typeof i=="string"&&(i=this.getMidiOutputIndex(i));const a=this.midiOutputs[i];if(e=Math.min(Math.max(e,0),127),a){const s=[144+t,e,n];a.send(s)}else console.error("MIDI output not available.")}sendMidiOff(e,t,n=this.currentOutputIndex){typeof n=="string"&&(n=this.getMidiOutputIndex(n));const i=this.midiOutputs[n];if(e=Math.min(Math.max(e,0),127),i){const a=[128+t,e,0];i.send(a)}else console.error("MIDI output not available.")}sendAllNotesOff(e,t=this.currentOutputIndex){typeof t=="string"&&(t=this.getMidiOutputIndex(t));const n=this.midiOutputs[t];if(n){const i=[176+e,123,0];n.send(i)}else console.error("MIDI output not available.")}sendAllSoundOff(e,t=this.currentOutputIndex){typeof t=="string"&&(t=this.getMidiOutputIndex(t));const n=this.midiOutputs[t];if(n){const i=[176+e,120,0];n.send(i)}else console.error("MIDI output not available.")}sendSysExMessage(e){const t=this.midiOutputs[this.currentOutputIndex];t?t.send(e):console.error("MIDI output not available.")}sendPitchBend(e,t,n=this.currentOutputIndex){(e<0||e>16383)&&console.error("Invalid pitch bend value. Value must be in the range 0-16383."),(t<0||t>15)&&console.error("Invalid MIDI channel. Channel must be in the range 0-15."),typeof n=="string"&&(n=this.getMidiOutputIndex(n));const i=this.midiOutputs[n];if(i){const a=e&127,s=e>>7&127;i.send([224|t,a,s])}else console.error("MIDI output not available.")}sendProgramChange(e,t){const n=this.midiOutputs[this.currentOutputIndex];n?n.send([192+t,e]):console.error("MIDI output not available.")}sendMidiControlChange(e,t,n){const i=this.midiOutputs[this.currentOutputIndex];i?i.send([176+n,e,t]):console.error("MIDI output not available.")}panic(){const e=this.midiOutputs[this.currentOutputIndex];if(e){for(const t in this.scheduledNotes){const n=this.scheduledNotes[t];clearTimeout(n),e.send([128,parseInt(t),0])}this.scheduledNotes={}}else console.error("MIDI output not available.")}}class UV{constructor(e,t,n){I(this,"min");I(this,"max");I(this,"wrap");I(this,"position");this.min=e,this.max=t,this.wrap=n,this.position=0}step(){const e=Math.floor(Math.random()*3)-1;this.position+=e,this.wrap?this.position>this.max?this.position=this.min:this.positionthis.max&&(this.position=this.max)}getPosition(){return this.position}toggleWrap(e){this.wrap=e}}class ju{constructor(e){I(this,"seedValue");I(this,"randomGen",Math.random);I(this,"app");I(this,"values",{});I(this,"evenbar",e=>this.app.clock.time_position.bar%2===0?this.modify(e):this);I(this,"even",e=>this.app.clock.time_position.beat%2===0?this.modify(e):this);I(this,"odd",e=>this.app.clock.time_position.beat%2!==0?this.modify(e):this);I(this,"odds",(e,t)=>this.randomGen()this);I(this,"almostNever",e=>this.odds(.025,e));I(this,"rarely",e=>this.odds(.1,e));I(this,"scarcely",e=>this.odds(.25,e));I(this,"sometimes",e=>this.odds(.5,e));I(this,"often",e=>this.odds(.75,e));I(this,"frequently",e=>this.odds(.9,e));I(this,"almostAlways",e=>this.odds(.985,e));I(this,"always",e=>this.modify(e));I(this,"modify",e=>e(this));I(this,"seed",e=>(this.seedValue=e.toString(),this.randomGen=this.app.api.localSeededRandom(this.seedValue),this));I(this,"clear",()=>(this.app.api.clearLocalSeed(this.seedValue),this));I(this,"apply",e=>this.modify(e));I(this,"noteLength",(e,...t)=>(t.length>0&&(e=Array.isArray(e)?e.concat(t):[e,...t]),Array.isArray(e)?(this.values.noteLength=e,this.values.dur=e.map(n=>this.app.clock.convertPulseToSecond(n*4*this.app.clock.ppqn))):(this.values.noteLength=e,this.values.dur=this.app.clock.convertPulseToSecond(e*4*this.app.clock.ppqn)),this));this.app=e,this.app.api.currentSeed&&(this.randomGen=this.app.api.randomGen)}}class AI extends ju{constructor(t){super(t);I(this,"pitch",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.pitch=t,this.values.key&&this.values.parsedScale&&this.update(),this));I(this,"pc",this.pitch);I(this,"octave",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.octave=t,this.values.key&&(this.values.pitch||this.values.pitch===0)&&this.values.parsedScale&&this.update(),this));I(this,"key",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.key=t,(this.values.pitch||this.values.pitch===0)&&this.values.parsedScale&&this.update(),this));I(this,"scale",(t,...n)=>(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),typeof t=="string"||typeof t=="number"?this.values.parsedScale=Gi(t):Array.isArray(t)&&(this.values.parsedScale=t.map(i=>Gi(i))),this.values.key&&(this.values.pitch||this.values.pitch===0)&&this.update(),this));I(this,"freq",(t,...n)=>{if(n.length>0&&(t=Array.isArray(t)?t.concat(n):[t,...n]),this.values.freq=t,Array.isArray(t)){this.values.note=[],this.values.bend=[];for(const i of t){const a=mv(i);a%1!==0?(this.values.note.push(Math.floor(a)),this.values.bend.push(zg(a)[1])):this.values.note.push(a)}this.values.bend.length===0&&delete this.values.bend}else{const i=mv(t);i%1!==0?(this.values.note=Math.floor(i),this.values.bend=zg(i)[1]):this.values.note=i}return this});I(this,"update",()=>{})}}function Ru(r,e){e.forEach(a=>{Array.isArray(r[a])&&!Array.isArray(r[a][0])&&(r[a]=[r[a]])});const t=Object.keys(r),n=Math.max(...t.map(a=>Array.isArray(r[a])?r[a].length:1)),i=[];for(let a=0;a(Object.keys(e).forEach(i=>{n[i]=e[i]}),Object.keys(n).forEach(i=>{t[i]||(t[i]=[]),t[i].push(n[i])}),t),{})}function II(r,e){return Object.fromEntries(Object.entries(r).filter(([t])=>e.includes(t)))}class Wg extends AI{constructor(t,n){super(n);I(this,"nudge");I(this,"sound");I(this,"methodMap",{volume:["volume","vol"],zrand:["zrand","zr"],curve:["curve"],slide:["slide","sld"],deltaSlide:["deltaSlide","dslide"],pitchJump:["pitchJump","pj"],pitchJumpTime:["pitchJumpTime","pjt"],lfo:["lfo"],znoise:["znoise"],noise:["noise"],zmod:["zmod"],zcrush:["zcrush"],zdelay:["zdelay"],sustainVolume:["sustainVolume"],tremolo:["tremolo"],dur:["dur"],zzfx:["zzfx"],fmi:["fmi"],fmh:["fmh"],fmenv:["fmenv"],fmattack:["fmattack","fmatk"],fmdecay:["fmdecay","fmdec"],fmsustain:["fmsustain","fmsus"],fmrelease:["fmrelease","fmrel"],fmvelocity:["fmvelocity","fmvel"],fmwave:["fmwave","fmw"],fmadsr:(t,n,i,a)=>(this.updateValue("fmattack",t),this.updateValue("fmdecay",n),this.updateValue("fmsustain",i),this.updateValue("fmrelease",a),this),fmad:(t,n)=>(this.updateValue("fmattack",t),this.updateValue("fmdecay",n),this),ftype:["ftype"],fanchor:["fanchor"],attack:["attack","atk"],decay:["decay","dec"],sustain:["sustain","sus"],release:["release","rel"],adsr:(t,n,i,a)=>(this.updateValue("attack",t),this.updateValue("decay",n),this.updateValue("sustain",i),this.updateValue("release",a),this),ad:(t,n)=>(this.updateValue("attack",t),this.updateValue("decay",n),this.updateValue("sustain",0),this.updateValue("release",0),this),lpenv:["lpenv","lpe"],lpattack:["lpattack","lpa"],lpdecay:["lpdecay","lpd"],lpsustain:["lpsustain","lps"],lprelease:["lprelease","lpr"],cutoff:(t,n)=>(this.updateValue("cutoff",t),n&&this.updateValue("resonance",n),this),lpf:(t,n)=>(this.updateValue("cutoff",t),n&&this.updateValue("resonance",n),this),resonance:t=>(t>=0&&t<=1&&this.updateValue("resonance",50*t),this),lpadsr:(t,n,i,a,s)=>(this.updateValue("lpenv",t),this.updateValue("lpattack",n),this.updateValue("lpdecay",i),this.updateValue("lpsustain",a),this.updateValue("lprelease",s),this),lpad:(t,n,i)=>(this.updateValue("lpenv",t),this.updateValue("lpattack",n),this.updateValue("lpdecay",i),this.updateValue("lpsustain",0),this.updateValue("lprelease",0),this),hpenv:["hpenv","hpe"],hpattack:["hpattack","hpa"],hpdecay:["hpdecay","hpd"],hpsustain:["hpsustain","hpsus"],hprelease:["hprelease","hpr"],hcutoff:(t,n)=>(this.updateValue("hcutoff",t),n&&this.updateValue("hresonance",n),this),hpf:(t,n)=>(this.updateValue("hcutoff",t),n&&this.updateValue("hresonance",n),this),hpq:t=>(this.updateValue("hresonance",t),this),hpadsr:(t,n,i,a,s)=>(this.updateValue("hpenv",t),this.updateValue("hpattack",n),this.updateValue("hpdecay",i),this.updateValue("hpsustain",a),this.updateValue("hprelease",s),this),hpad:(t,n,i)=>(this.updateValue("hpenv",t),this.updateValue("hpattack",n),this.updateValue("hpdecay",i),this.updateValue("hpsustain",0),this.updateValue("hprelease",0),this),bpenv:["bpenv","bpe"],bpattack:["bpattack","bpa"],bpdecay:["bpdecay","bpd"],bpsustain:["bpsustain","bps"],bprelease:["bprelease","bpr"],bandf:(t,n)=>(this.updateValue("bandf",t),n&&this.updateValue("bandq",n),this),bpf:(t,n)=>(this.updateValue("bandf",t),n&&this.updateValue("bandq",n),this),bandq:["bandq","bpq"],bpadsr:(t,n,i,a,s)=>(this.updateValue("bpenv",t),this.updateValue("bpattack",n),this.updateValue("bpdecay",i),this.updateValue("bpsustain",a),this.updateValue("bprelease",s),this),bpad:(t,n,i)=>(this.updateValue("bpenv",t),this.updateValue("bpattack",n),this.updateValue("bpdecay",i),this.updateValue("bpsustain",0),this.updateValue("bprelease",0),this),vib:["vib"],vibmod:["vibmod"],fm:t=>{if(typeof t=="number")this.values.fmi=t;else{let n=t.split(":");this.values.fmi=parseFloat(n[0]),n.length>1&&(this.values.fmh=parseFloat(n[1]))}return this},loop:["loop"],loopBegin:["loopBegin","loopb"],loopEnd:["loopEnd","loope"],begin:["begin"],end:["end"],gain:["gain"],dbgain:t=>(this.updateValue("gain",Math.min(Math.pow(10,t/20),10)),this),db:t=>(this.updateValue("gain",Math.min(Math.pow(10,t/20),10)),this),velocity:["velocity","vel"],pan:["pan"],cut:["cut"],clip:["clip"],n:["n"],speed:["speed","spd"],coarse:["coarse"],crush:["crush"],shape:["shape"],vowel:["vowel","vow"],delay:["delay","del"],delayfeedback:["delayfeedback","delayfb"],delaytime:["delaytime","delayt"],orbit:["orbit","o"],room:["room","rm"],roomfade:["roomfade","rfade"],roomlp:["roomlp","rlp"],roomdim:["roomdim","rdim"],sound:["s","sound"],size:t=>(this.updateValue("roomsize",t),this),sz:t=>(this.updateValue("roomsize",t),this),comp:["compressor","cmp"],ratio:t=>(this.updateValue("compressorRatio",t),this),knee:t=>(this.updateValue("compressorKnee",t),this),compAttack:t=>(this.updateValue("compressorAttack",t),this),compRelease:t=>(this.updateValue("compressorRelease",t),this),stretch:t=>(this.updateValue("unit","c"),this.updateValue("speed",1/t),this.updateValue("cut",t),this)});I(this,"processSound",t=>{if(Array.isArray(t)&&typeof t[0]=="string"){const n=[],i=[];return t.forEach(a=>{const s=a.split(":");n.push(s[0]),s[1]&&i.push(parseInt(s[1]))}),{s:n,n:i.length>0?i:void 0,dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0}}else{if(typeof t=="object")return{dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0,...t};if(t.includes(":")){const n=t.split(":"),i=n[0],a=parseInt(n[1]);return{s:i,n:a,dur:this.app.clock.convertPulseToSecond(this.app.clock.ppqn),analyze:!0}}else return{s:t,dur:.5,analyze:!0}}});I(this,"modify",t=>{const n=t(this);return n instanceof Object?n:(t(this.values),this.update(),this)});I(this,"update",()=>{const t=II(this.values,["key","pitch","parsedScale","octave"]),n=Ru(t,["parsedScale"]);n.forEach(a=>{const[s,o]=g1(a.key||"C4",a.pitch||0,a.parsedScale||a.scale||"MAJOR",a.octave||0);a.note=s,a.freq=ro(s)});const i=wu(n);this.values.note=i.note,this.values.freq=i.freq});I(this,"chord",t=>{const n=EI(t);return this.updateValue("note",n)});I(this,"invert",(t=0)=>{if(this.values.chord){let n=this.values.chord.map(a=>a.note);n=t<0?[...n].reverse():n;for(let a=0;a({note:a,freq:ro(a)}));return this.updateValue("chord",i)}else return this});I(this,"note",t=>typeof t=="string"?this.updateValue("note",Fr(t)):typeof t==null||t==null?this.updateValue("note",0).updateValue("gain",0):this.updateValue("note",t));I(this,"out",()=>{const t=Ru(this.values,["parsedScale"]);for(const n of t){const i=n;i.freq&&delete i.note,QD(i,this.nudge-this.app.clock.deviation,i.dur)}});this.app=n,this.nudge=n.dough_nudge/100;for(const[i,a]of Object.entries(this.methodMap))if(Symbol.iterator in Object(a))for(const s of a)this[s]=o=>this.updateValue(a[0],o);else this[i]=a;this.values=this.processSound(t)}updateValue(t,n){return n==null?this:(this.values[t]=n,this)}}class Xg extends AI{constructor(t,n){super(n);I(this,"midiConnection");I(this,"chord",t=>(this.values.note=EI(t),this));I(this,"note",t=>(this.values.note=t,this));I(this,"sustain",t=>(this.values.sustain=t,this));I(this,"velocity",t=>(this.values.velocity=t,this));I(this,"channel",t=>(this.values.channel=t,this));I(this,"port",t=>(typeof t=="string"?this.values.port=this.midiConnection.getMidiOutputIndex(t):Array.isArray(t)&&(this.values.port=t.map(n=>typeof n=="string"?this.midiConnection.getMidiOutputIndex(n):n)),this));I(this,"add",t=>(this.values.note+=t,this));I(this,"modify",t=>{const n=t(this);return n instanceof Object?n:(t(this.values),this.update(),this)});I(this,"bend",t=>(this.values.bend=t,this));I(this,"random",(t=0,n=127)=>(t=Math.min(Math.max(t,0),127),n=Math.min(Math.max(n,0),127),this.values.note=Math.floor(this.randomGen()*(n-t+1))+t,this));I(this,"update",()=>{const t=II(this.values,["key","pitch","parsedScale","octave"]),n=Ru(t,["parsedScale"]);n.forEach(a=>{const[s,o]=g1(a.key||"C4",a.pitch||0,a.parsedScale||a.scale||"MAJOR",a.octave||0);a.note=s,o&&(a.bend=o)});const i=wu(n);this.values.note=i.note,i.bend&&(this.values.bend=i.bend)});I(this,"out",()=>{function t(i,a){const s=a.channel?a.channel:0,o=a.velocity?a.velocity:100,l=a.note?a.note:60,c=a.sustain?a.sustain*i.app.clock.pulse_duration*i.app.api.ppqn():i.app.clock.pulse_duration*i.app.api.ppqn(),u=a.bend?a.bend:void 0,p=a.port?i.midiConnection.getMidiOutputIndex(a.port):i.midiConnection.getCurrentMidiPortIndex()||0;i.midiConnection.sendMidiNote(l,s,o,c,p,u)}Ru(this.values,["parsedScale"]).forEach(i=>{t(this,i)})});this.app=n,this.values=t,this.midiConnection=n.api.MidiConnection}}const Qo=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,RI=new Set,Zg=typeof process=="object"&&process?process:{},wI=(r,e,t,n)=>{typeof Zg.emitWarning=="function"?Zg.emitWarning(r,e,t,n):console.error(`[${t}] ${e}: ${r}`)};let Nu=globalThis.AbortController,_v=globalThis.AbortSignal;var Ev;if(typeof Nu>"u"){_v=class{constructor(){I(this,"onabort");I(this,"_onabort",[]);I(this,"reason");I(this,"aborted",!1)}addEventListener(n,i){this._onabort.push(i)}},Nu=class{constructor(){I(this,"signal",new _v);e()}abort(n){var i,a;if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(const s of this.signal._onabort)s(n);(a=(i=this.signal).onabort)==null||a.call(i,n)}}};let r=((Ev=Zg.env)==null?void 0:Ev.LRU_CACHE_IGNORE_AC_WARNING)!=="1";const e=()=>{r&&(r=!1,wI("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}const YV=r=>!RI.has(r),ra=r=>r&&r===Math.floor(r)&&r>0&&isFinite(r),NI=r=>ra(r)?r<=Math.pow(2,8)?Uint8Array:r<=Math.pow(2,16)?Uint16Array:r<=Math.pow(2,32)?Uint32Array:r<=Number.MAX_SAFE_INTEGER?Uc:null:null;class Uc extends Array{constructor(e){super(e),this.fill(0)}}var Fs;const Ya=class Ya{constructor(e,t){I(this,"heap");I(this,"length");if(!X(Ya,Fs))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}static create(e){const t=NI(e);if(!t)return[];Ke(Ya,Fs,!0);const n=new Ya(e,t);return Ke(Ya,Fs,!1),n}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}};Fs=new WeakMap,lt(Ya,Fs,!1);let Kg=Ya;var Qr,fr,qr,Vr,Us,gn,zr,_n,Ut,it,qn,hr,kn,Cn,Hr,yn,Mi,Pi,Wr,Xr,da,Vn,Nl,Jg,za,Bi,xl,mr,ku,xI,Ha,Ys,Dl,ci,ia,ui,aa,kl,e_,$s,Yc,Gs,$c,Mt,qt,Ll,t_,Wa,Ko;const y1=class y1{constructor(e){lt(this,Nl);lt(this,ku);lt(this,ci);lt(this,ui);lt(this,kl);lt(this,$s);lt(this,Gs);lt(this,Mt);lt(this,Ll);lt(this,Wa);lt(this,Qr,void 0);lt(this,fr,void 0);lt(this,qr,void 0);lt(this,Vr,void 0);lt(this,Us,void 0);I(this,"ttl");I(this,"ttlResolution");I(this,"ttlAutopurge");I(this,"updateAgeOnGet");I(this,"updateAgeOnHas");I(this,"allowStale");I(this,"noDisposeOnSet");I(this,"noUpdateTTL");I(this,"maxEntrySize");I(this,"sizeCalculation");I(this,"noDeleteOnFetchRejection");I(this,"noDeleteOnStaleGet");I(this,"allowStaleOnFetchAbort");I(this,"allowStaleOnFetchRejection");I(this,"ignoreFetchAbort");lt(this,gn,void 0);lt(this,zr,void 0);lt(this,_n,void 0);lt(this,Ut,void 0);lt(this,it,void 0);lt(this,qn,void 0);lt(this,hr,void 0);lt(this,kn,void 0);lt(this,Cn,void 0);lt(this,Hr,void 0);lt(this,yn,void 0);lt(this,Mi,void 0);lt(this,Pi,void 0);lt(this,Wr,void 0);lt(this,Xr,void 0);lt(this,da,void 0);lt(this,Vn,void 0);lt(this,za,()=>{});lt(this,Bi,()=>{});lt(this,xl,()=>{});lt(this,mr,()=>!1);lt(this,Ha,e=>{});lt(this,Ys,(e,t,n)=>{});lt(this,Dl,(e,t,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});const{max:t=0,ttl:n,ttlResolution:i=1,ttlAutopurge:a,updateAgeOnGet:s,updateAgeOnHas:o,allowStale:l,dispose:c,disposeAfter:u,noDisposeOnSet:p,noUpdateTTL:m,maxSize:_=0,maxEntrySize:E=0,sizeCalculation:R,fetchMethod:w,noDeleteOnFetchRejection:k,noDeleteOnStaleGet:$,allowStaleOnFetchRejection:H,allowStaleOnFetchAbort:h,ignoreFetchAbort:S}=e;if(t!==0&&!ra(t))throw new TypeError("max option must be a nonnegative integer");const b=t?NI(t):Array;if(!b)throw new Error("invalid max value: "+t);if(Ke(this,Qr,t),Ke(this,fr,_),this.maxEntrySize=E||X(this,fr),this.sizeCalculation=R,this.sizeCalculation){if(!X(this,fr)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(w!==void 0&&typeof w!="function")throw new TypeError("fetchMethod must be a function if specified");if(Ke(this,Us,w),Ke(this,da,!!w),Ke(this,_n,new Map),Ke(this,Ut,new Array(t).fill(void 0)),Ke(this,it,new Array(t).fill(void 0)),Ke(this,qn,new b(t)),Ke(this,hr,new b(t)),Ke(this,kn,0),Ke(this,Cn,0),Ke(this,Hr,Kg.create(t)),Ke(this,gn,0),Ke(this,zr,0),typeof c=="function"&&Ke(this,qr,c),typeof u=="function"?(Ke(this,Vr,u),Ke(this,yn,[])):(Ke(this,Vr,void 0),Ke(this,yn,void 0)),Ke(this,Xr,!!X(this,qr)),Ke(this,Vn,!!X(this,Vr)),this.noDisposeOnSet=!!p,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!k,this.allowStaleOnFetchRejection=!!H,this.allowStaleOnFetchAbort=!!h,this.ignoreFetchAbort=!!S,this.maxEntrySize!==0){if(X(this,fr)!==0&&!ra(X(this,fr)))throw new TypeError("maxSize must be a positive integer if specified");if(!ra(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");We(this,ku,xI).call(this)}if(this.allowStale=!!l,this.noDeleteOnStaleGet=!!$,this.updateAgeOnGet=!!s,this.updateAgeOnHas=!!o,this.ttlResolution=ra(i)||i===0?i:1,this.ttlAutopurge=!!a,this.ttl=n||0,this.ttl){if(!ra(this.ttl))throw new TypeError("ttl must be a positive integer if specified");We(this,Nl,Jg).call(this)}if(X(this,Qr)===0&&this.ttl===0&&X(this,fr)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!X(this,Qr)&&!X(this,fr)){const N="LRU_CACHE_UNBOUNDED";YV(N)&&(RI.add(N),wI("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",N,y1))}}static unsafeExposeInternals(e){return{starts:X(e,Pi),ttls:X(e,Wr),sizes:X(e,Mi),keyMap:X(e,_n),keyList:X(e,Ut),valList:X(e,it),next:X(e,qn),prev:X(e,hr),get head(){return X(e,kn)},get tail(){return X(e,Cn)},free:X(e,Hr),isBackgroundFetch:t=>{var n;return We(n=e,Mt,qt).call(n,t)},backgroundFetch:(t,n,i,a)=>{var s;return We(s=e,Gs,$c).call(s,t,n,i,a)},moveToTail:t=>{var n;return We(n=e,Wa,Ko).call(n,t)},indexes:t=>{var n;return We(n=e,ci,ia).call(n,t)},rindexes:t=>{var n;return We(n=e,ui,aa).call(n,t)},isStale:t=>{var n;return X(n=e,mr).call(n,t)}}}get max(){return X(this,Qr)}get maxSize(){return X(this,fr)}get calculatedSize(){return X(this,zr)}get size(){return X(this,gn)}get fetchMethod(){return X(this,Us)}get dispose(){return X(this,qr)}get disposeAfter(){return X(this,Vr)}getRemainingTTL(e){return X(this,_n).has(e)?1/0:0}*entries(){for(const e of We(this,ci,ia).call(this))X(this,it)[e]!==void 0&&X(this,Ut)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield[X(this,Ut)[e],X(this,it)[e]])}*rentries(){for(const e of We(this,ui,aa).call(this))X(this,it)[e]!==void 0&&X(this,Ut)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield[X(this,Ut)[e],X(this,it)[e]])}*keys(){for(const e of We(this,ci,ia).call(this)){const t=X(this,Ut)[e];t!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield t)}}*rkeys(){for(const e of We(this,ui,aa).call(this)){const t=X(this,Ut)[e];t!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield t)}}*values(){for(const e of We(this,ci,ia).call(this))X(this,it)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield X(this,it)[e])}*rvalues(){for(const e of We(this,ui,aa).call(this))X(this,it)[e]!==void 0&&!We(this,Mt,qt).call(this,X(this,it)[e])&&(yield X(this,it)[e])}[Symbol.iterator](){return this.entries()}find(e,t={}){for(const n of We(this,ci,ia).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;if(a!==void 0&&e(a,X(this,Ut)[n],this))return this.get(X(this,Ut)[n],t)}}forEach(e,t=this){for(const n of We(this,ci,ia).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;a!==void 0&&e.call(t,a,X(this,Ut)[n],this)}}rforEach(e,t=this){for(const n of We(this,ui,aa).call(this)){const i=X(this,it)[n],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;a!==void 0&&e.call(t,a,X(this,Ut)[n],this)}}purgeStale(){let e=!1;for(const t of We(this,ui,aa).call(this,{allowStale:!0}))X(this,mr).call(this,t)&&(this.delete(X(this,Ut)[t]),e=!0);return e}dump(){const e=[];for(const t of We(this,ci,ia).call(this,{allowStale:!0})){const n=X(this,Ut)[t],i=X(this,it)[t],a=We(this,Mt,qt).call(this,i)?i.__staleWhileFetching:i;if(a===void 0||n===void 0)continue;const s={value:a};if(X(this,Wr)&&X(this,Pi)){s.ttl=X(this,Wr)[t];const o=Qo.now()-X(this,Pi)[t];s.start=Math.floor(Date.now()-o)}X(this,Mi)&&(s.size=X(this,Mi)[t]),e.unshift([n,s])}return e}load(e){this.clear();for(const[t,n]of e){if(n.start){const i=Date.now()-n.start;n.start=Qo.now()-i}this.set(t,n.value,n)}}set(e,t,n={}){var m,_,E,R,w;if(t===void 0)return this.delete(e),this;const{ttl:i=this.ttl,start:a,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:o=this.sizeCalculation,status:l}=n;let{noUpdateTTL:c=this.noUpdateTTL}=n;const u=X(this,Dl).call(this,e,t,n.size||0,o);if(this.maxEntrySize&&u>this.maxEntrySize)return l&&(l.set="miss",l.maxEntrySizeExceeded=!0),this.delete(e),this;let p=X(this,gn)===0?void 0:X(this,_n).get(e);if(p===void 0)p=X(this,gn)===0?X(this,Cn):X(this,Hr).length!==0?X(this,Hr).pop():X(this,gn)===X(this,Qr)?We(this,$s,Yc).call(this,!1):X(this,gn),X(this,Ut)[p]=e,X(this,it)[p]=t,X(this,_n).set(e,p),X(this,qn)[X(this,Cn)]=p,X(this,hr)[p]=X(this,Cn),Ke(this,Cn,p),Zl(this,gn)._++,X(this,Ys).call(this,p,u,l),l&&(l.set="add"),c=!1;else{We(this,Wa,Ko).call(this,p);const k=X(this,it)[p];if(t!==k){if(X(this,da)&&We(this,Mt,qt).call(this,k)){k.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:$}=k;$!==void 0&&!s&&(X(this,Xr)&&((m=X(this,qr))==null||m.call(this,$,e,"set")),X(this,Vn)&&((_=X(this,yn))==null||_.push([$,e,"set"])))}else s||(X(this,Xr)&&((E=X(this,qr))==null||E.call(this,k,e,"set")),X(this,Vn)&&((R=X(this,yn))==null||R.push([k,e,"set"])));if(X(this,Ha).call(this,p),X(this,Ys).call(this,p,u,l),X(this,it)[p]=t,l){l.set="replace";const $=k&&We(this,Mt,qt).call(this,k)?k.__staleWhileFetching:k;$!==void 0&&(l.oldValue=$)}}else l&&(l.set="update")}if(i!==0&&!X(this,Wr)&&We(this,Nl,Jg).call(this),X(this,Wr)&&(c||X(this,xl).call(this,p,i,a),l&&X(this,Bi).call(this,l,p)),!s&&X(this,Vn)&&X(this,yn)){const k=X(this,yn);let $;for(;$=k==null?void 0:k.shift();)(w=X(this,Vr))==null||w.call(this,...$)}return this}pop(){var e;try{for(;X(this,gn);){const t=X(this,it)[X(this,kn)];if(We(this,$s,Yc).call(this,!0),We(this,Mt,qt).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(X(this,Vn)&&X(this,yn)){const t=X(this,yn);let n;for(;n=t==null?void 0:t.shift();)(e=X(this,Vr))==null||e.call(this,...n)}}}has(e,t={}){const{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=t,a=X(this,_n).get(e);if(a!==void 0){const s=X(this,it)[a];if(We(this,Mt,qt).call(this,s)&&s.__staleWhileFetching===void 0)return!1;if(X(this,mr).call(this,a))i&&(i.has="stale",X(this,Bi).call(this,i,a));else return n&&X(this,za).call(this,a),i&&(i.has="hit",X(this,Bi).call(this,i,a)),!0}else i&&(i.has="miss");return!1}peek(e,t={}){const{allowStale:n=this.allowStale}=t,i=X(this,_n).get(e);if(i!==void 0&&(n||!X(this,mr).call(this,i))){const a=X(this,it)[i];return We(this,Mt,qt).call(this,a)?a.__staleWhileFetching:a}}async fetch(e,t={}){const{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,ttl:s=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:l=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:p=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:_=this.ignoreFetchAbort,allowStaleOnFetchAbort:E=this.allowStaleOnFetchAbort,context:R,forceRefresh:w=!1,status:k,signal:$}=t;if(!X(this,da))return k&&(k.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,status:k});const H={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:a,ttl:s,noDisposeOnSet:o,size:l,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:p,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:E,ignoreFetchAbort:_,status:k,signal:$};let h=X(this,_n).get(e);if(h===void 0){k&&(k.fetch="miss");const S=We(this,Gs,$c).call(this,e,h,H,R);return S.__returned=S}else{const S=X(this,it)[h];if(We(this,Mt,qt).call(this,S)){const F=n&&S.__staleWhileFetching!==void 0;return k&&(k.fetch="inflight",F&&(k.returnedStale=!0)),F?S.__staleWhileFetching:S.__returned=S}const b=X(this,mr).call(this,h);if(!w&&!b)return k&&(k.fetch="hit"),We(this,Wa,Ko).call(this,h),i&&X(this,za).call(this,h),k&&X(this,Bi).call(this,k,h),S;const N=We(this,Gs,$c).call(this,e,h,H,R),B=N.__staleWhileFetching!==void 0&&n;return k&&(k.fetch=b?"stale":"refresh",B&&b&&(k.returnedStale=!0)),B?N.__staleWhileFetching:N.__returned=N}}get(e,t={}){const{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:a=this.noDeleteOnStaleGet,status:s}=t,o=X(this,_n).get(e);if(o!==void 0){const l=X(this,it)[o],c=We(this,Mt,qt).call(this,l);return s&&X(this,Bi).call(this,s,o),X(this,mr).call(this,o)?(s&&(s.get="stale"),c?(s&&n&&l.__staleWhileFetching!==void 0&&(s.returnedStale=!0),n?l.__staleWhileFetching:void 0):(a||this.delete(e),s&&n&&(s.returnedStale=!0),n?l:void 0)):(s&&(s.get="hit"),c?l.__staleWhileFetching:(We(this,Wa,Ko).call(this,o),i&&X(this,za).call(this,o),l))}else s&&(s.get="miss")}delete(e){var n,i,a,s;let t=!1;if(X(this,gn)!==0){const o=X(this,_n).get(e);if(o!==void 0)if(t=!0,X(this,gn)===1)this.clear();else{X(this,Ha).call(this,o);const l=X(this,it)[o];We(this,Mt,qt).call(this,l)?l.__abortController.abort(new Error("deleted")):(X(this,Xr)||X(this,Vn))&&(X(this,Xr)&&((n=X(this,qr))==null||n.call(this,l,e,"delete")),X(this,Vn)&&((i=X(this,yn))==null||i.push([l,e,"delete"]))),X(this,_n).delete(e),X(this,Ut)[o]=void 0,X(this,it)[o]=void 0,o===X(this,Cn)?Ke(this,Cn,X(this,hr)[o]):o===X(this,kn)?Ke(this,kn,X(this,qn)[o]):(X(this,qn)[X(this,hr)[o]]=X(this,qn)[o],X(this,hr)[X(this,qn)[o]]=X(this,hr)[o]),Zl(this,gn)._--,X(this,Hr).push(o)}}if(X(this,Vn)&&((a=X(this,yn))!=null&&a.length)){const o=X(this,yn);let l;for(;l=o==null?void 0:o.shift();)(s=X(this,Vr))==null||s.call(this,...l)}return t}clear(){var e,t,n;for(const i of We(this,ui,aa).call(this,{allowStale:!0})){const a=X(this,it)[i];if(We(this,Mt,qt).call(this,a))a.__abortController.abort(new Error("deleted"));else{const s=X(this,Ut)[i];X(this,Xr)&&((e=X(this,qr))==null||e.call(this,a,s,"delete")),X(this,Vn)&&((t=X(this,yn))==null||t.push([a,s,"delete"]))}}if(X(this,_n).clear(),X(this,it).fill(void 0),X(this,Ut).fill(void 0),X(this,Wr)&&X(this,Pi)&&(X(this,Wr).fill(0),X(this,Pi).fill(0)),X(this,Mi)&&X(this,Mi).fill(0),Ke(this,kn,0),Ke(this,Cn,0),X(this,Hr).length=0,Ke(this,zr,0),Ke(this,gn,0),X(this,Vn)&&X(this,yn)){const i=X(this,yn);let a;for(;a=i==null?void 0:i.shift();)(n=X(this,Vr))==null||n.call(this,...a)}}};Qr=new WeakMap,fr=new WeakMap,qr=new WeakMap,Vr=new WeakMap,Us=new WeakMap,gn=new WeakMap,zr=new WeakMap,_n=new WeakMap,Ut=new WeakMap,it=new WeakMap,qn=new WeakMap,hr=new WeakMap,kn=new WeakMap,Cn=new WeakMap,Hr=new WeakMap,yn=new WeakMap,Mi=new WeakMap,Pi=new WeakMap,Wr=new WeakMap,Xr=new WeakMap,da=new WeakMap,Vn=new WeakMap,Nl=new WeakSet,Jg=function(){const e=new Uc(X(this,Qr)),t=new Uc(X(this,Qr));Ke(this,Wr,e),Ke(this,Pi,t),Ke(this,xl,(a,s,o=Qo.now())=>{if(t[a]=s!==0?o:0,e[a]=s,s!==0&&this.ttlAutopurge){const l=setTimeout(()=>{X(this,mr).call(this,a)&&this.delete(X(this,Ut)[a])},s+1);l.unref&&l.unref()}}),Ke(this,za,a=>{t[a]=e[a]!==0?Qo.now():0}),Ke(this,Bi,(a,s)=>{if(e[s]){const o=e[s],l=t[s];a.ttl=o,a.start=l,a.now=n||i();const c=a.now-l;a.remainingTTL=o-c}});let n=0;const i=()=>{const a=Qo.now();if(this.ttlResolution>0){n=a;const s=setTimeout(()=>n=0,this.ttlResolution);s.unref&&s.unref()}return a};this.getRemainingTTL=a=>{const s=X(this,_n).get(a);if(s===void 0)return 0;const o=e[s],l=t[s];if(o===0||l===0)return 1/0;const c=(n||i())-l;return o-c},Ke(this,mr,a=>e[a]!==0&&t[a]!==0&&(n||i())-t[a]>e[a])},za=new WeakMap,Bi=new WeakMap,xl=new WeakMap,mr=new WeakMap,ku=new WeakSet,xI=function(){const e=new Uc(X(this,Qr));Ke(this,zr,0),Ke(this,Mi,e),Ke(this,Ha,t=>{Ke(this,zr,X(this,zr)-e[t]),e[t]=0}),Ke(this,Dl,(t,n,i,a)=>{if(We(this,Mt,qt).call(this,n))return 0;if(!ra(i))if(a){if(typeof a!="function")throw new TypeError("sizeCalculation must be a function");if(i=a(n,t),!ra(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i}),Ke(this,Ys,(t,n,i)=>{if(e[t]=n,X(this,fr)){const a=X(this,fr)-e[t];for(;X(this,zr)>a;)We(this,$s,Yc).call(this,!0)}Ke(this,zr,X(this,zr)+e[t]),i&&(i.entrySize=n,i.totalCalculatedSize=X(this,zr))})},Ha=new WeakMap,Ys=new WeakMap,Dl=new WeakMap,ci=new WeakSet,ia=function*({allowStale:e=this.allowStale}={}){if(X(this,gn))for(let t=X(this,Cn);!(!We(this,kl,e_).call(this,t)||((e||!X(this,mr).call(this,t))&&(yield t),t===X(this,kn)));)t=X(this,hr)[t]},ui=new WeakSet,aa=function*({allowStale:e=this.allowStale}={}){if(X(this,gn))for(let t=X(this,kn);!(!We(this,kl,e_).call(this,t)||((e||!X(this,mr).call(this,t))&&(yield t),t===X(this,Cn)));)t=X(this,qn)[t]},kl=new WeakSet,e_=function(e){return e!==void 0&&X(this,_n).get(X(this,Ut)[e])===e},$s=new WeakSet,Yc=function(e){var a,s;const t=X(this,kn),n=X(this,Ut)[t],i=X(this,it)[t];return X(this,da)&&We(this,Mt,qt).call(this,i)?i.__abortController.abort(new Error("evicted")):(X(this,Xr)||X(this,Vn))&&(X(this,Xr)&&((a=X(this,qr))==null||a.call(this,i,n,"evict")),X(this,Vn)&&((s=X(this,yn))==null||s.push([i,n,"evict"]))),X(this,Ha).call(this,t),e&&(X(this,Ut)[t]=void 0,X(this,it)[t]=void 0,X(this,Hr).push(t)),X(this,gn)===1?(Ke(this,kn,Ke(this,Cn,0)),X(this,Hr).length=0):Ke(this,kn,X(this,qn)[t]),X(this,_n).delete(n),Zl(this,gn)._--,t},Gs=new WeakSet,$c=function(e,t,n,i){const a=t===void 0?void 0:X(this,it)[t];if(We(this,Mt,qt).call(this,a))return a;const s=new Nu,{signal:o}=n;o==null||o.addEventListener("abort",()=>s.abort(o.reason),{signal:s.signal});const l={signal:s.signal,options:n,context:i},c=(R,w=!1)=>{const{aborted:k}=s.signal,$=n.ignoreFetchAbort&&R!==void 0;if(n.status&&(k&&!w?(n.status.fetchAborted=!0,n.status.fetchError=s.signal.reason,$&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),k&&!$&&!w)return p(s.signal.reason);const H=_;return X(this,it)[t]===_&&(R===void 0?H.__staleWhileFetching?X(this,it)[t]=H.__staleWhileFetching:this.delete(e):(n.status&&(n.status.fetchUpdated=!0),this.set(e,R,l.options))),R},u=R=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=R),p(R)),p=R=>{const{aborted:w}=s.signal,k=w&&n.allowStaleOnFetchAbort,$=k||n.allowStaleOnFetchRejection,H=$||n.noDeleteOnFetchRejection,h=_;if(X(this,it)[t]===_&&(!H||h.__staleWhileFetching===void 0?this.delete(e):k||(X(this,it)[t]=h.__staleWhileFetching)),$)return n.status&&h.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),h.__staleWhileFetching;if(h.__returned===h)throw R},m=(R,w)=>{var $;const k=($=X(this,Us))==null?void 0:$.call(this,e,a,l);k&&k instanceof Promise&&k.then(H=>R(H===void 0?void 0:H),w),s.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(R(void 0),n.allowStaleOnFetchAbort&&(R=H=>c(H,!0)))})};n.status&&(n.status.fetchDispatched=!0);const _=new Promise(m).then(c,u),E=Object.assign(_,{__abortController:s,__staleWhileFetching:a,__returned:void 0});return t===void 0?(this.set(e,E,{...l.options,status:void 0}),t=X(this,_n).get(e)):X(this,it)[t]=E,E},Mt=new WeakSet,qt=function(e){if(!X(this,da))return!1;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof Nu},Ll=new WeakSet,t_=function(e,t){X(this,hr)[t]=e,X(this,qn)[e]=t},Wa=new WeakSet,Ko=function(e){e!==X(this,Cn)&&(e===X(this,kn)?Ke(this,kn,X(this,qn)[e]):We(this,Ll,t_).call(this,X(this,hr)[e],X(this,qn)[e]),We(this,Ll,t_).call(this,X(this,Cn),e),Ke(this,Cn,e))};let jg=y1;const sl=class sl{constructor(){I(this,"_fallbackMethod",()=>sl.createSkipProxy());I(this,"out",()=>{})}};I(sl,"createSkipProxy",()=>{const e=new sl;return new Proxy(e,{get(t,n,i){return typeof t[n]>"u"?t._fallbackMethod:t[n]},set(t,n,i,a){return!1}})});let wl=sl;const ol=class ol extends ju{constructor(t,n){super(n);I(this,"_fallbackMethod",()=>ol.createRestProxy(this.values.noteLength,this.app));I(this,"out",()=>{});this.values.noteLength=t}};I(ol,"createRestProxy",(t,n)=>{const i=new ol(t,n);return new Proxy(i,{get(a,s,o){return typeof a[s]>"u"?a._fallbackMethod:a[s]},set(a,s,o,l){return!1}})});let xu=ol;class $V extends ju{constructor(t,n,i,a=""){super(i);I(this,"input");I(this,"ziffers");I(this,"initCallTime",0);I(this,"startCallTime",0);I(this,"lastCallTime",0);I(this,"waitTime",0);I(this,"played",!1);I(this,"current");I(this,"retro",!1);I(this,"index",-1);I(this,"zid","");I(this,"options",{});I(this,"skipIndex",0);I(this,"next",()=>(this.current=this.ziffers.next(),this.played=!0,this.current));I(this,"pulseToSecond",t=>this.app.clock.convertPulseToSecond(t));I(this,"firstRun",()=>this.notStarted());I(this,"atTheBeginning",()=>this.skipIndex===0&&this.ziffers.index<=0);I(this,"origin",()=>this.app.clock.pulses_since_origin+1);I(this,"pulse",()=>this.app.clock.time_position.pulse);I(this,"beat",()=>this.app.clock.time_position.beat);I(this,"nextBeat",()=>this.app.clock.next_beat_in_ticks);I(this,"nextBeatInTicks",()=>this.app.clock.next_beat_in_ticks);I(this,"areWeThereYet",()=>{this.app.clock.pulses_since_origin=this.nextBeatInTicks())&&this.origin()>=this.waitTime,n=this.current&&this.pulseToSecond(this.origin())>=this.pulseToSecond(this.lastCallTime)+this.pulseToSecond(this.current.duration*4*this.app.clock.ppqn)&&this.origin()>=this.waitTime,i=t||n;return this.skipIndex=i?0:this.skipIndex+1,this.index=i?this.index+1:this.index,i&&this.notStarted()&&(this.initCallTime=this.app.clock.pulses_since_origin),this.atTheBeginning()&&(this.startCallTime=this.app.clock.pulses_since_origin),i});I(this,"lead",()=>this.voiceleading());I(this,"invert",t=>(this.atTheBeginning()&&this.ziffers.invert(t),this));I(this,"out",()=>{});this.app=i,this.options=n,typeof t=="string"?(this.input=t,this.ziffers=new Ka(t,n)):typeof t=="number"?(this.input=t,this.ziffers=Ka.fromNumber(t,n)):(this.ziffers=Ka.fromGenerator(t,n),this.input=this.ziffers.input),this.zid=a}reset(){this.initCallTime=0,this.startCallTime=0,this.lastCallTime=0,this.waitTime=0,this.index=0,this.skipIndex=0,this.played=!1,this.skipIndex=0,this.ziffers.reset()}get ticks(){return this.ziffers.duration*4*this.app.clock.ppqn}nextEndTime(){return this.startCallTime+this.ticks}updateLastCallTime(){(this.notStarted()||this.played)&&(this.lastCallTime=this.app.clock.pulses_since_origin,this.played=!1)}notStarted(){return this.ziffers.notStarted()}sound(t){if(this.areWeThereYet()){const n=this.next(),i=this.app.clock.convertPulseToSecond(n.duration*4*this.app.clock.ppqn);if(n instanceof En){const a=n.getExisting("freq","note","pitch","key","scale","octave","parsedScale");return n.sound&&(t=n.sound),n.soundIndex&&(a.n=n.soundIndex),a.dur=i,new Wg(a,this.app).sound(t||"sine")}else if(n instanceof wn){const a=n.pitches.map(l=>l.getExisting("freq","note","pitch","key","scale","octave","parsedScale")),s={dur:i};t&&(s.s=t);let o=wu(a,s);return new Wg(o,this.app)}else if(n instanceof Vg)return xu.createRestProxy(n.duration,this.app)}else return wl.createSkipProxy()}midi(t=void 0){if(this.areWeThereYet()){const n=this.next(),i=n.getExisting("note","pitch","bend","key","scale","octave","parsedScale");if(n instanceof En){n.soundIndex&&(i.channel=n.soundIndex);const a=new Xg(i,this.app);return t?a.note(t):a}else{if(n instanceof Vg)return xu.createRestProxy(n.duration,this.app);if(n instanceof wn){const a=n.midiChord(),s=wu(a);return new Xg(s,this.app)}}}else return wl.createSkipProxy()}scale(t){return this.atTheBeginning()&&this.ziffers.scale(t),this}key(t){return this.atTheBeginning()&&this.ziffers.key(t),this}octave(t){return this.atTheBeginning()&&this.ziffers.octave(t),this}triadTonnetz(t,n=[3,4,5]){return this.atTheBeginning()&&this.ziffers.triadTonnetz(t,n),this}tetraTonnetz(t,n=[3,4,5]){return this.atTheBeginning()&&this.ziffers.tetraTonnetz(t,n),this}octaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.octaCycle(t),this}hexaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.hexaCycle(t),this}enneaCycle(t=[3,4,5]){return this.atTheBeginning()&&this.ziffers.enneaCycle(t),this}tonnetzChord(t){return this.atTheBeginning()&&this.ziffers.tonnetzChords(t),this}voiceleading(){return this.atTheBeginning()&&this.ziffers.lead(),this}retrograde(){return this.atTheBeginning()&&this.ziffers.retrograde(),this}wait(t){if(this.atTheBeginning()){if(typeof t=="function"){const n=this.app.api.patternCache.get(t.name);return n&&(this.waitTime=n.nextEndTime()),this}this.waitTime=this.origin()+Math.ceil(t*4*this.app.clock.ppqn)}return this}sync(t){if(this.atTheBeginning()&&this.notStarted()){const n=this.app.clock.pulses_since_origin,i=typeof t=="function"?t.name:t;if(n>0){const a=this.app.api.patternCache.get(i);if(a){const s=a.ziffers.duration,o=a.startCallTime,l=s*4*this.app.clock.ppqn;this.waitTime=o+l}}}return this}}const GV=r=>r[0]==="{"&&r[r.length-1]==="}",qo=(r,e)=>{if(GV(r)){const t=JSON.parse(r);return JSON.stringify({...t,...e})}else return JSON.stringify({...e,text:r})},QV=r=>{String.prototype.speak=function(){const e=JSON.parse(this.valueOf());new DI({...e,text:e.text}).speak().then(()=>{}).catch(t=>{console.log("Error speaking:",t)})},String.prototype.rate=function(e){return qo(this.valueOf(),{rate:e})},String.prototype.pitch=function(e){return qo(this.valueOf(),{pitch:e})},String.prototype.lang=function(e){return qo(this.valueOf(),{lang:e})},String.prototype.volume=function(e){return qo(this.valueOf(),{volume:e})},String.prototype.voice=function(e){return qo(this.valueOf(),{voice:e})},String.prototype.z=function(e={}){return r.z(this.valueOf(),e)},String.prototype.z0=function(e={}){return r.z0(this.valueOf(),e)},String.prototype.z1=function(e={}){return r.z1(this.valueOf(),e)},String.prototype.z2=function(e={}){return r.z2(this.valueOf(),e)},String.prototype.z3=function(e={}){return r.z3(this.valueOf(),e)},String.prototype.z4=function(e={}){return r.z4(this.valueOf(),e)},String.prototype.z5=function(e={}){return r.z5(this.valueOf(),e)},String.prototype.z6=function(e={}){return r.z6(this.valueOf(),e)},String.prototype.z7=function(e={}){return r.z7(this.valueOf(),e)},String.prototype.z8=function(e={}){return r.z8(this.valueOf(),e)},String.prototype.z9=function(e={}){return r.z9(this.valueOf(),e)},String.prototype.z10=function(e={}){return r.z10(this.valueOf(),e)},String.prototype.z11=function(e={}){return r.z11(this.valueOf(),e)},String.prototype.z12=function(e={}){return r.z12(this.valueOf(),e)},String.prototype.z13=function(e={}){return r.z13(this.valueOf(),e)},String.prototype.z14=function(e={}){return r.z14(this.valueOf(),e)},String.prototype.z15=function(e={}){return r.z15(this.valueOf(),e)},String.prototype.z16=function(e={}){return r.z16(this.valueOf(),e)},String.prototype.note=function(){try{return parseInt(this.valueOf())}catch{return Fr(this.valueOf())}}};let Lm;class DI{constructor(e){I(this,"speak",()=>new Promise((e,t)=>{if(this.options.text){const n=window.speechSynthesis;n.speaking&&n.cancel();const i=new SpeechSynthesisUtterance(this.options.text);i.rate=this.options.rate||1,i.pitch=this.options.pitch||1,i.volume=this.options.volume||1,this.options.voice&&(i.voice=n.getVoices()[this.options.voice]),this.options.lang&&(this.options.lang.length===2?i.lang=`${this.options.lang}-${this.options.lang.toUpperCase()}`:this.options.lang.length===5?i.lang=this.options.lang:i.lang="en-US"),i.onend=()=>{e()},i.onerror=a=>{t(a)},n.speaking?(n.cancel(),Lm&&clearTimeout(Lm),Lm=setTimeout(()=>{n.speak(i)},200)):n.speak(i)}else t("No text provided")}));this.options=e}}async function kI(){return Promise.all([YD(),sa("github:tidalcycles/Dirt-Samples/master").then(()=>rk()),lk(),sa("github:Bubobubobubobubo/Dough-Fox/main"),sa("github:Bubobubobubobubo/Dough-Samples/main"),sa("github:Bubobubobubobubo/Dough-Amiga/main"),sa("github:Bubobubobubobubo/Dough-Amen/main"),sa("github:Bubobubobubobubo/Dough-Waveforms/main")])}class qV{constructor(e){I(this,"variables",{});I(this,"codeExamples",{});I(this,"counters",{});I(this,"_drunk",new UV(-100,100,!1));I(this,"randomGen",Math.random);I(this,"currentSeed");I(this,"localSeeds",new Map);I(this,"patternCache",new jg({max:1e3,ttl:1e3*60*5}));I(this,"errorTimeoutID",0);I(this,"printTimeoutID",0);I(this,"MidiConnection");I(this,"scale_aid");I(this,"load");I(this,"_loadUniverseFromInterface",e=>{this.app.selected_universe=e.trim(),this.app.settings.selected_universe=e.trim(),fu(this.app,e),hu()});I(this,"_deleteUniverseFromInterface",e=>{delete this.app.universes[e],this.app.settings.selected_universe===e&&(this.app.settings.selected_universe="Welcome",this.app.selected_universe="Welcome"),this.app.settings.saveApplicationToLocalStorage(this.app.universes,this.app.settings),this.app.updateKnownUniversesView()});I(this,"_playDocExample",e=>{let t=this.app.universes[this.app.selected_universe];this.app.exampleIsPlaying=!0,t.example?t.example.candidate=e||this.app.selectedExample:(t.example={candidate:"",committed:"",evaluations:0},t.example.candidate=e||this.app.selectedExample),this.stop(),this.play()});I(this,"_stopDocExample",()=>{let e=this.app.universes[this.app.selected_universe];(e==null?void 0:e.example)!==void 0&&(this.app.exampleIsPlaying=!1,e.example.candidate="",e.example.committed=""),this.stop()});I(this,"_playDocExampleOnce",e=>{let t=this.app.universes[this.app.selected_universe];(t==null?void 0:t.example)!==void 0&&(t.example.candidate="",t.example.committed=""),this.stop(),this.play(),this.app.exampleIsPlaying=!0,i9(this.app,e)});I(this,"_all_samples",()=>Mu.get());I(this,"_reportError",e=>{const t=s=>{var l;const o=(l=s.stack)==null?void 0:l.split(` `);if(o){for(const c of o)if(c.includes("")){const u=c.match(/:(\d+):(\d+)/);if(u)return{line:parseInt(u[1],10),column:parseInt(u[2],10)}}}return{line:null,column:null}},{line:n,column:i}=t(e),a=n&&i?`${e.message} (Line: ${n-2}, Column: ${i})`:e.message;clearTimeout(this.errorTimeoutID),clearTimeout(this.printTimeoutID),this.app.interface.error_line.innerHTML=a,this.app.interface.error_line.style.color="color-red-800",this.app.interface.error_line.classList.remove("hidden"),this.errorTimeoutID=setTimeout(()=>this.app.interface.error_line.classList.add("hidden"),2e3)});I(this,"_logMessage",e=>{console.log(e),clearTimeout(this.printTimeoutID),clearTimeout(this.errorTimeoutID),this.app.interface.error_line.innerHTML=e,this.app.interface.error_line.style.color="white",this.app.interface.error_line.classList.remove("hidden"),this.printTimeoutID=setTimeout(()=>this.app.interface.error_line.classList.add("hidden"),4e3)});I(this,"time",()=>this.app.audioContext.currentTime);I(this,"play",()=>{this.app.setButtonHighlighting("play",!0),this.MidiConnection.sendStartMessage(),this.app.clock.start()});I(this,"pause",()=>{this.app.setButtonHighlighting("pause",!0),this.app.clock.pause()});I(this,"stop",()=>{this.app.setButtonHighlighting("stop",!0),this.app.clock.stop()});I(this,"silence",this.stop);I(this,"hush",this.stop);I(this,"warp",e=>{this.app.clock.tick=e,this.app.clock.time_position=this.app.clock.convertTicksToTimeposition(e)});I(this,"beat_warp",e=>{this.app.clock.tick=e*this.app.clock.ppqn,this.app.clock.time_position=this.app.clock.convertTicksToTimeposition(e*this.app.clock.ppqn)});I(this,"onmousemove",e=>{this.app._mouseX=e.pageX,this.app._mouseY=e.pageY});I(this,"mouseX",()=>this.app._mouseX);I(this,"mouseY",()=>this.app._mouseY);I(this,"noteX",()=>Math.floor(this.app._mouseX/document.body.clientWidth*127));I(this,"noteY",()=>Math.floor(this.app._mouseY/document.body.clientHeight*127));I(this,"script",(...e)=>{e.forEach(t=>{t>=1&&t<=9&&(uk(this.app,"local",t),ns(this.app,this.app.universes[this.app.selected_universe].locals[t]))})});I(this,"s",this.script);I(this,"delete_script",e=>{this.app.universes[this.app.selected_universe].locals[e]={candidate:"",committed:"",evaluations:0}});I(this,"cs",this.delete_script);I(this,"copy_script",(e,t)=>{this.app.universes[this.app.selected_universe].locals[t]={...this.app.universes[this.app.selected_universe].locals[e]}});I(this,"cps",this.copy_script);I(this,"copy_universe",(e,t)=>{this.app.universes[t]={...this.app.universes[e]}});I(this,"delete_universe",e=>{this.app.selected_universe===e&&(this.app.selected_universe="Default"),delete this.app.universes[e],this.app.settings.saveApplicationToLocalStorage(this.app.universes,this.app.settings),this.app.updateKnownUniversesView()});I(this,"big_bang",()=>{confirm("Are you sure you want to delete all universes?")&&(this.app.universes={...W_},this.app.settings.saveApplicationToLocalStorage(this.app.universes,this.app.settings)),this.app.selected_universe="Default",this.app.updateKnownUniversesView()});I(this,"midi_outputs",()=>{this._logMessage(this.MidiConnection.listMidiOutputs())});I(this,"midi_output",e=>{e?this.MidiConnection.switchMidiOutput(e):console.log(this.MidiConnection.getCurrentMidiPort())});I(this,"midi",(e=60,t,n,i)=>{const a={note:e,velocity:t,channel:n,port:i};return new Xg(a,this.app)});I(this,"sysex",e=>{this.MidiConnection.sendSysExMessage(e)});I(this,"pitch_bend",(e,t)=>{this.MidiConnection.sendPitchBend(e,t)});I(this,"program_change",(e,t)=>{this.MidiConnection.sendProgramChange(e,t)});I(this,"midi_clock",()=>{this.MidiConnection.sendMidiClock()});I(this,"control_change",({control:e=20,value:t=0,channel:n=0})=>{this.MidiConnection.sendMidiControlChange(e,t,n)});I(this,"midi_panic",()=>{this.MidiConnection.panic()});I(this,"active_note_events",e=>{let t;if(e?t=this.MidiConnection.activeNotesFromChannel(e):t=this.MidiConnection.activeNotes,t.length>0)return t});I(this,"active_notes",e=>{const t=this.active_note_events(e);if(t&&t.length>0)return t.map(n=>n.note)});I(this,"kill_active_notes",()=>{this.MidiConnection.activeNotes=[]});I(this,"sticky_notes",e=>{let t;if(e?t=this.MidiConnection.stickyNotesFromChannel(e):t=this.MidiConnection.stickyNotes,t.length>0)return t.map(n=>n.note)});I(this,"kill_sticky_notes",()=>{this.MidiConnection.stickyNotes=[]});I(this,"buffer",e=>e?this.MidiConnection.findNoteFromBufferInChannel(e)!==void 0:this.MidiConnection.noteInputBuffer.length>0);I(this,"buffer_event",e=>e?this.MidiConnection.findNoteFromBufferInChannel(e):this.MidiConnection.noteInputBuffer.shift());I(this,"buffer_note",e=>{const t=this.buffer_event(e);return t?t.note:void 0});I(this,"last_note_event",e=>e?this.MidiConnection.lastNoteInChannel[e]:this.MidiConnection.lastNote);I(this,"last_note",e=>{const t=this.last_note_event(e);return t?t.note:60});I(this,"last_cc",(e,t)=>t?this.MidiConnection.lastCCInChannel[t]?this.MidiConnection.lastCCInChannel[t][e]:0:this.MidiConnection.lastCC[e]||0);I(this,"has_cc",e=>e?this.MidiConnection.findCCFromBufferInChannel(e)!==void 0:this.MidiConnection.ccInputBuffer.length>0);I(this,"buffer_cc",e=>e?this.MidiConnection.findCCFromBufferInChannel(e):this.MidiConnection.ccInputBuffer.shift());I(this,"show_scale",(e,t,n=0,i=this.MidiConnection.currentOutputIndex||0,a=!1)=>{(!this.scale_aid||t!==this.scale_aid)&&(this.hide_scale(e,t,n,i),Pq(t,e).forEach(o=>{this.MidiConnection.sendMidiOn(o,n,1,i),a&&this.MidiConnection.sendAllSoundOff(n,i)}),this.scale_aid=t)});I(this,"hide_scale",(e=0,t=0,n=0,i=this.MidiConnection.currentOutputIndex||0)=>{Array.from(Array(128).keys()).forEach(s=>{this.MidiConnection.sendMidiOff(s,n,i)}),this.scale_aid=void 0});I(this,"midi_notes_off",(e=0,t=this.MidiConnection.currentOutputIndex||0)=>{this.MidiConnection.sendAllNotesOff(e,t)});I(this,"midi_sound_off",(e=0,t=this.MidiConnection.currentOutputIndex||0)=>{this.MidiConnection.sendAllSoundOff(e,t)});I(this,"generateCacheKey",(...e)=>e.map(t=>JSON.stringify(t)).join(","));I(this,"resetAllFromCache",()=>{this.patternCache.forEach(e=>e.reset())});I(this,"removePatternFromCache",e=>{this.patternCache.delete(e)});I(this,"z",(e,t={},n="")=>{const i="z"+n.toString(),a=n===""?this.generateCacheKey(e,t):i;let s;return this.app.api.patternCache.has(a)&&(s=this.app.api.patternCache.get(a),typeof e=="string"&&s.input!==e&&(s=void 0)),s||(s=new $V(e,t,this.app,i),this.app.api.patternCache.set(a,s)),s.ziffers.generator&&s.ziffers.generatorDone&&this.removePatternFromCache(a),typeof n=="number"&&(s.zid=i),s.updateLastCallTime(),n!==""&&i!=="z0"&&s.sync("z0"),s});I(this,"z0",(e,t={})=>this.z(e,t,0));I(this,"z1",(e,t={})=>this.z(e,t,1));I(this,"z2",(e,t={})=>this.z(e,t,2));I(this,"z3",(e,t={})=>this.z(e,t,3));I(this,"z4",(e,t={})=>this.z(e,t,4));I(this,"z5",(e,t={})=>this.z(e,t,5));I(this,"z6",(e,t={})=>this.z(e,t,6));I(this,"z7",(e,t={})=>this.z(e,t,7));I(this,"z8",(e,t={})=>this.z(e,t,8));I(this,"z9",(e,t={})=>this.z(e,t,9));I(this,"z10",(e,t={})=>this.z(e,t,10));I(this,"z11",(e,t={})=>this.z(e,t,11));I(this,"z12",(e,t={})=>this.z(e,t,12));I(this,"z13",(e,t={})=>this.z(e,t,13));I(this,"z14",(e,t={})=>this.z(e,t,14));I(this,"z15",(e,t={})=>this.z(e,t,15));I(this,"z16",(e,t={})=>this.z(e,t,16));I(this,"counter",(e,t,n)=>(e in this.counters?(this.counters[e].limit!==t&&(this.counters[e].value=0,this.counters[e].limit=t),this.counters[e].step!==n&&(this.counters[e].step=n??this.counters[e].step),this.counters[e].value+=this.counters[e].step,this.counters[e].limit!==void 0&&this.counters[e].value>this.counters[e].limit&&(this.counters[e].value=0)):this.counters[e]={value:0,step:n??1,limit:t},this.counters[e].value));I(this,"$",this.counter);I(this,"i",e=>e!==void 0?(this.app.universes[this.app.selected_universe].global.evaluations=e,this.app.universes[this.app.selected_universe]):this.app.universes[this.app.selected_universe].global.evaluations);I(this,"drunk",e=>e!==void 0?(this._drunk.position=e,this._drunk.getPosition()):(this._drunk.step(),this._drunk.getPosition()));I(this,"drunk_max",e=>{this._drunk.max=e});I(this,"drunk_min",e=>{this._drunk.min=e});I(this,"drunk_wrap",e=>{this._drunk.toggleWrap(e)});I(this,"variable",(e,t)=>typeof e=="string"&&t===void 0?this.variables[e]:(this.variables[e]=t,this.variables[e]));I(this,"v",this.variable);I(this,"delete_variable",e=>{delete this.variables[e]});I(this,"dv",this.delete_variable);I(this,"clear_variables",()=>{this.variables={}});I(this,"cv",this.clear_variables);I(this,"randI",(e,t)=>Math.floor(this.randomGen()*(t-e+1))+e);I(this,"rand",(e,t)=>this.randomGen()*(t-e)+e);I(this,"irand",this.randI);I(this,"rI",this.randI);I(this,"r",this.rand);I(this,"ir",this.randI);I(this,"seed",e=>{typeof e=="number"&&(e=e.toString()),this.currentSeed!==e&&(this.currentSeed=e,this.randomGen=qg(e))});I(this,"localSeededRandom",e=>{if(typeof e=="number"&&(e=e.toString()),this.localSeeds.has(e))return this.localSeeds.get(e);const t=qg(e);return this.localSeeds.set(e,t),t});I(this,"clearLocalSeed",(e=void 0)=>{e&&this.localSeeds.delete(e.toString()),this.localSeeds.clear()});I(this,"quantize",(e,t)=>{if(t.length===0)return e;let n=t[0];return t.forEach(i=>{Math.abs(i-e)Math.min(Math.max(e,t),n));I(this,"cmp",this.clamp);I(this,"prob",e=>this.randomGen()*100this.randomGen()>.5);I(this,"odds",(e,t=1)=>this.randomGen()!1);I(this,"almostNever",(e=1)=>this.randomGen()<.025*this.ppqn()/(this.ppqn()*e));I(this,"rarely",(e=1)=>this.randomGen()<.1*this.ppqn()/(this.ppqn()*e));I(this,"scarcely",(e=1)=>this.randomGen()<.25*this.ppqn()/(this.ppqn()*e));I(this,"sometimes",(e=1)=>this.randomGen()<.5*this.ppqn()/(this.ppqn()*e));I(this,"often",(e=1)=>this.randomGen()<.75*this.ppqn()/(this.ppqn()*e));I(this,"frequently",(e=1)=>this.randomGen()<.9*this.ppqn()/(this.ppqn()*e));I(this,"almostAlways",(e=1)=>this.randomGen()<.985*this.ppqn()/(this.ppqn()*e));I(this,"always",(e=1)=>!0);I(this,"dice",e=>Math.floor(this.randomGen()*e)+1);I(this,"cbar",()=>this.app.clock.time_position.bar+1);I(this,"ctick",()=>this.app.clock.tick+1);I(this,"cpulse",()=>this.app.clock.time_position.pulse+1);I(this,"cbeat",()=>this.app.clock.time_position.beat+1);I(this,"ebeat",()=>this.app.clock.beats_since_origin+1);I(this,"epulse",()=>this.app.clock.pulses_since_origin+1);I(this,"nominator",()=>this.app.clock.time_signature[0]);I(this,"meter",()=>this.app.clock.time_signature[1]);I(this,"denominator",this.meter);I(this,"fill",()=>this.app.fill);I(this,"fullseq",(e,t)=>e.split("").every(n=>n==="x"||n==="o")?[...e].map(n=>n==="x").beat(t):!1);I(this,"seq",(e,t=.5)=>{let n=e.length*t,i=[];for(let a=1;a<=n+1;a+=t)i.push(Math.floor(a*10)/10);return i.pop(),i=i.filter((a,s)=>{const o=s%e.length;return e[o]==="x"}),this.oncount(i,n)});I(this,"beat",(e=1,t=0)=>(Array.isArray(e)?e:[e]).map(a=>(this.app.clock.pulses_since_origin-Math.floor(t*this.ppqn()))%Math.floor(a*this.ppqn())===0).some(a=>a===!0));I(this,"b",this.beat);I(this,"bar",(e=1,t=0)=>{const n=Array.isArray(e)?e:[e],i=this.app.clock.time_signature[1]*this.ppqn(),a=Math.floor(t*i);return n.map(o=>(this.app.clock.pulses_since_origin-a)%Math.floor(o*i)===0).some(o=>o===!0)});I(this,"B",this.bar);I(this,"pulse",(e=1,t=0)=>(Array.isArray(e)?e:[e]).map(a=>(this.app.clock.pulses_since_origin-t)%a===0).some(a=>a===!0));I(this,"p",this.pulse);I(this,"tick",(e,t=0)=>(Array.isArray(e)?e:[e]).map(a=>this.app.clock.time_position.pulse===a+t).some(a=>a===!0));I(this,"dur",e=>{let t=Array.isArray(e)?e:[e];return this.beat(t.dur(...t))});I(this,"flip",(e,t=50)=>{let n=e*2;const i=this.app.clock.pulses_since_origin,a=Math.floor(n*this.ppqn()),s=Math.floor(t/100*a);return i%a{let t=e*2;const n=this.app.clock.time_position.bar;return Math.floor(n/t)%2===0});I(this,"onbar",(e,t=this.app.clock.time_signature[0])=>{let n=this.app.clock.time_position.bar%t+1;return typeof e=="number"?e===n:e.some(i=>i==n)});I(this,"onbeat",(...e)=>{let t=[];return e.forEach(n=>{let i=n%this.nominator()||this.nominator(),a=Math.floor(i);a=a==0?this.nominator():a;let s=Math.floor((i-a)*this.ppqn()+1);s<=0&&(s=s+this.ppqn()*this.nominator()),t.push(a===this.cbeat()&&this.cpulse()===s)}),t.some(n=>n==!0)});I(this,"oncount",(e,t)=>{typeof e=="number"&&(e=[e]);const n=this.app.clock.pulses_since_origin;let i=[];return e.forEach(a=>{a=a<1?0:a-1;const s=Math.ceil(a*this.ppqn()),o=n%(this.ppqn()*t);return i.push(o===s)}),i.some(a=>a==!0)});I(this,"oneuclid",(e,t,n=0)=>{const a=this._euclidean_cycle(e,t,n).reduce((s,o,l)=>(o&&s.push(l+1),s),[]);return this.oncount(a,t)});I(this,"delay",(e,t)=>{setTimeout(t,e)});I(this,"delayr",(e,t,n)=>{[...Array(t).keys()].map(a=>e*a).forEach((a,s)=>{setTimeout(n,a)})});I(this,"euclid",(e,t,n,i=0)=>this._euclidean_cycle(t,n,i)[e%n]);I(this,"ec",this.euclid);I(this,"rhythm",(e,t,n,i=0)=>this.beat(e)&&this._euclidean_cycle(t,n,i).beat(e));I(this,"bin",(e,t)=>{let i=t.toString(2).split("").map(a=>a==="1");return i[e%i.length]});I(this,"binrhythm",(e,t)=>{let i=t.toString(2).split("").map(a=>a==="1");return this.beat(e)&&i.beat(e)});I(this,"line",(e,t,n=1)=>{const i=[];if(t>e&&n>0||t(Math.sin(this.app.clock.ctx.currentTime*Math.PI*2*e)+n)*t);I(this,"usine",(e=1,t=1,n=0)=>(this.sine(e,t,n)+1)/2*t);I(this,"saw",(e=1,t=1,n=0)=>(this.app.clock.ctx.currentTime*e%1*2-1+n)*t);I(this,"usaw",(e=1,t=1,n=0)=>(this.saw(e,t,n)+1)/2*t);I(this,"triangle",(e=1,t=1,n=0)=>(Math.abs(this.saw(e,t,n))*2-1)*t);I(this,"utriangle",(e=1,t=1,n=0)=>(this.triangle(e,t,n)+1)/2*t);I(this,"square",(e=1,t=1,n=0,i=.5)=>{const a=1/e;return((Date.now()/1e3+n)%a/a(this.square(e,t,n,i)+1)/2*t);I(this,"noise",(e=1)=>(this.randomGen()*2-1)*e);I(this,"min",(...e)=>Math.min(...e));I(this,"max",(...e)=>Math.max(...e));I(this,"mean",(...e)=>e.reduce((n,i)=>n+i,0)/e.length);I(this,"range",(e,t,n,i,a)=>(e-t)/(n-t)*(a-i)+i);I(this,"limit",(e,t,n)=>Math.min(Math.max(e,t),n));I(this,"abs",Math.abs);I(this,"speak",(e,t="en-US",n=0,i=1,a=1)=>{new DI({text:e,lang:t,voice:n,rate:i,pitch:a}).speak().then(()=>{}).catch(o=>{console.log(o)})});I(this,"stop_hydra",()=>{this.app.hydra.hush()});I(this,"sound",e=>e?new Wg(e,this.app):new wl);I(this,"snd",this.sound);I(this,"samples",sa);I(this,"log",e=>{console.log(e),this._logMessage(e)});I(this,"scale",_1);I(this,"nearScales",zq);I(this,"rate",e=>{});I(this,"divseq",(...e)=>{const t=e[0],n=e.slice(1),i=this.app.clock.pulses_since_origin,a=Math.floor(i/Math.floor(t*this.ppqn()));return n[a%n.length]});I(this,"seqbeat",(...e)=>e[this.app.clock.time_position.beat%e.length]);I(this,"seqbar",(...e)=>e[(this.app.clock.time_position.bar+1)%e.length]);I(this,"register",(e,t)=>{ju.prototype[e]=function(...n){return t(this,...n)}});I(this,"shuffle",e=>e.sort(()=>this.randomGen()-.5));I(this,"reverse",e=>e.reverse());I(this,"rotate",e=>t=>t.slice(e,t.length).concat(t.slice(0,e)));I(this,"repeat",e=>t=>t.flatMap(n=>Array(e).fill(n)));I(this,"repeatOdd",e=>t=>t.flatMap((n,i)=>i%2===0?Array(e).fill(n):n));I(this,"repeatEven",e=>t=>t.flatMap((n,i)=>i%2!==0?Array(e).fill(n):n));I(this,"palindrome",e=>e.concat(e.slice(0,e.length-1).reverse()));I(this,"scope",e=>{this.app.osc={...this.app.osc,...e}});I(this,"raltfont",(e,t)=>{this.app.view.dispatch({effects:this.app.fontSize.reconfigure(Le.theme({"&":{fontFamily:e},".cm-gutters":{fontFamily:e},".cm-content":{fontFamily:e},".cm-comment":{fontFamily:t}}))})});I(this,"gif",e=>{const{url:t,posX:n=0,posY:i=0,opacity:a=1,size:s="auto",center:o=!1,rotation:l=0,filter:c="none",dur:u=1}=e;let p=u*this.app.clock.pulse_duration*this.app.clock.ppqn,m=p*.1,_=p-m;const E=document.createElement("img");E.src=t,E.style.position="fixed",E.style.left=o?"50%":`${n}px`,E.style.top=o?"50%":`${i}px`,E.style.opacity=`${a}`,E.style.zIndex="-1",s!=="auto"&&(E.style.width=s,E.style.height=s);const R=[`rotate(${l}deg)`];o&&R.unshift("translate(-50%, -50%)"),E.style.transform=R.join(" "),E.style.filter=c,E.style.transition=`opacity ${m}s ease`,document.body.appendChild(E),setTimeout(()=>{E.style.opacity="0"},_*1e3),setTimeout(()=>{document.body.contains(E)&&document.body.removeChild(E)},p*1e3)});I(this,"nudge",e=>(e&&(this.app.clock.nudge=e),this.app.clock.nudge));I(this,"bpm",e=>e===void 0?this.app.clock.bpm:((e<1||e>500)&&console.log(`Setting bpm to ${e}`),this.app.clock.bpm=e,e));I(this,"tempo",this.bpm);I(this,"bpb",e=>e===void 0?this.app.clock.time_signature[0]:(e<1&&console.log(`Setting bpb to ${e}`),this.app.clock.time_signature[0]=e,e));I(this,"ppqn",e=>e===void 0?this.app.clock.ppqn:(e<1&&console.log(`Setting ppqn to ${e}`),this.app.clock.ppqn=e,e));I(this,"time_signature",(e,t)=>{this.app.clock.time_signature=[e,t]});this.app=e,this.MidiConnection=new FV(this,e.settings)}transmission(){return this.MidiConnection.activeNotes.length>0}_euclidean_cycle(e,t,n=0){if(e==t)return Array.from({length:t},()=>!0);function i(o,l){const c=o.length,u=(l+1)%c;return o[l]>o[u]}if(e>=t)return[!0];const a=Array.from({length:t},(o,l)=>(e*(l-1)%t+t)%t);let s=a.map((o,l)=>i(a,l));return n!=0&&(s=s.slice(n).concat(s.slice(0,n))),s}}function v(){v=function(){return e};var r,e={},t=Object.prototype,n=t.hasOwnProperty,i=Object.defineProperty||function(x,P,q){x[P]=q.value},a=typeof Symbol=="function"?Symbol:{},s=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function c(x,P,q){return Object.defineProperty(x,P,{value:q,enumerable:!0,configurable:!0,writable:!0}),x[P]}try{c({},"")}catch{c=function(P,q,z){return P[q]=z}}function u(x,P,q,z){var ne=Object.create((P&&P.prototype instanceof k?P:k).prototype),se=new ie(z||[]);return i(ne,"_invoke",{value:F(x,q,se)}),ne}function p(x,P,q){try{return{type:"normal",arg:x.call(P,q)}}catch(z){return{type:"throw",arg:z}}}e.wrap=u;var m="suspendedStart",_="suspendedYield",E="executing",R="completed",w={};function k(){}function $(){}function H(){}var h={};c(h,s,function(){return this});var S=Object.getPrototypeOf,b=S&&S(S(te([])));b&&b!==t&&n.call(b,s)&&(h=b);var N=H.prototype=k.prototype=Object.create(h);function M(x){["next","throw","return"].forEach(function(P){c(x,P,function(q){return this._invoke(P,q)})})}function B(x,P){function q(ne,se,_e,ye){var Ie=p(x[ne],x,se);if(Ie.type!=="throw"){var ve=Ie.arg,Re=ve.value;return Re&&typeof Re=="object"&&n.call(Re,"__await")?P.resolve(Re.__await).then(function(de){q("next",de,_e,ye)},function(de){q("throw",de,_e,ye)}):P.resolve(Re).then(function(de){ve.value=de,_e(ve)},function(de){return q("throw",de,_e,ye)})}ye(Ie.arg)}var z;i(this,"_invoke",{value:function(ne,se){function _e(){return new P(function(ye,Ie){q(ne,se,ye,Ie)})}return z=z?z.then(_e,_e):_e()}})}function F(x,P,q){var z=m;return function(ne,se){if(z===E)throw new Error("Generator is already running");if(z===R){if(ne==="throw")throw se;return{value:r,done:!0}}for(q.method=ne,q.arg=se;;){var _e=q.delegate;if(_e){var ye=V(_e,q);if(ye){if(ye===w)continue;return ye}}if(q.method==="next")q.sent=q._sent=q.arg;else if(q.method==="throw"){if(z===m)throw z=R,q.arg;q.dispatchException(q.arg)}else q.method==="return"&&q.abrupt("return",q.arg);z=E;var Ie=p(x,P,q);if(Ie.type==="normal"){if(z=q.done?R:_,Ie.arg===w)continue;return{value:Ie.arg,done:q.done}}Ie.type==="throw"&&(z=R,q.method="throw",q.arg=Ie.arg)}}}function V(x,P){var q=P.method,z=x.iterator[q];if(z===r)return P.delegate=null,q==="throw"&&x.iterator.return&&(P.method="return",P.arg=r,V(x,P),P.method==="throw")||q!=="return"&&(P.method="throw",P.arg=new TypeError("The iterator does not provide a '"+q+"' method")),w;var ne=p(z,x.iterator,P.arg);if(ne.type==="throw")return P.method="throw",P.arg=ne.arg,P.delegate=null,w;var se=ne.arg;return se?se.done?(P[x.resultName]=se.value,P.next=x.nextLoc,P.method!=="return"&&(P.method="next",P.arg=r),P.delegate=null,w):se:(P.method="throw",P.arg=new TypeError("iterator result is not an object"),P.delegate=null,w)}function re(x){var P={tryLoc:x[0]};1 in x&&(P.catchLoc=x[1]),2 in x&&(P.finallyLoc=x[2],P.afterLoc=x[3]),this.tryEntries.push(P)}function ae(x){var P=x.completion||{};P.type="normal",delete P.arg,x.completion=P}function ie(x){this.tryEntries=[{tryLoc:"root"}],x.forEach(re,this),this.reset(!0)}function te(x){if(x||x===""){var P=x[s];if(P)return P.call(x);if(typeof x.next=="function")return x;if(!isNaN(x.length)){var q=-1,z=function ne(){for(;++q=0;--z){var ne=this.tryEntries[z],se=ne.completion;if(ne.tryLoc==="root")return q("end");if(ne.tryLoc<=this.prev){var _e=n.call(ne,"catchLoc"),ye=n.call(ne,"finallyLoc");if(_e&&ye){if(this.prev=0;--q){var z=this.tryEntries[q];if(z.tryLoc<=this.prev&&n.call(z,"finallyLoc")&&this.prev=0;--P){var q=this.tryEntries[P];if(q.finallyLoc===x)return this.complete(q.completion,q.afterLoc),ae(q),w}},catch:function(x){for(var P=this.tryEntries.length-1;P>=0;--P){var q=this.tryEntries[P];if(q.tryLoc===x){var z=q.completion;if(z.type==="throw"){var ne=z.arg;ae(q)}return ne}}throw new Error("illegal catch attempt")},delegateYield:function(x,P,q){return this.delegate={iterator:te(x),resultName:P,nextLoc:q},this.method==="next"&&(this.arg=r),w}},e}function bv(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t=r.length?{done:!0}:{done:!1,value:r[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var LI="0.9.7",VV=v().mark(MI);function MI(){var r,e,t;return v().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=0,e=[0n,1n,1n,1n,2n,1n,2n,1n,5n,2n,2n,1n,5n,1n,2n,1n,14n,1n,5n,1n,5n,2n,2n,1n,15n,2n,2n,5n,4n,1n,4n,1n,51n,1n,2n,1n,14n,1n,2n,2n,14n,1n,6n,1n,4n,2n,2n,1n,52n,2n,5n,1n,5n,1n,15n,2n,13n,2n,2n,1n,13n,1n,2n,4n,267n,1n,4n,1n,5n,1n,4n,1n,50n,1n,2n,3n,4n,1n,6n,1n,52n,15n,2n,1n,15n,1n,2n,1n,12n,1n,10n,1n,4n,2n,2n,1n,231n,1n,5n,2n,16n,1n,4n,1n,14n,2n,2n,1n,45n,1n,6n,2n,43n,1n,6n,1n,5n,4n,2n,1n,47n,2n,2n,1n,4n,5n,16n,1n,2328n,2n,4n,1n,10n,1n,2n,5n,15n,1n,4n,1n,11n,1n,2n,1n,197n,1n,2n,6n,5n,1n,13n,1n,12n,2n,4n,2n,18n,1n,2n,1n,238n,1n,55n,1n,5n,2n,2n,1n,57n,2n,4n,5n,4n,1n,4n,2n,42n,1n,2n,1n,37n,1n,4n,2n,12n,1n,6n,1n,4n,13n,4n,1n,1543n,1n,2n,2n,12n,1n,10n,1n,52n,2n,2n,2n,12n,2n,2n,2n,51n,1n,12n,1n,5n,1n,2n,1n,177n,1n,2n,2n,15n,1n,6n,1n,197n,6n,2n,1n,15n,1n,4n,2n,14n,1n,16n,1n,4n,2n,4n,1n,208n,1n,5n,67n,5n,2n,4n,1n,12n,1n,15n,1n,46n,2n,2n,1n,56092n,1n,6n,1n,15n,2n,2n,1n,39n,1n,4n,1n,4n,1n,30n,1n,54n,5n,2n,4n,10n,1n,2n,4n,40n,1n,4n,1n,4n,2n,4n,1n,1045n,2n,4n,2n,5n,1n,23n,1n,14n,5n,2n,1n,49n,2n,2n,1n,42n,2n,10n,1n,9n,2n,6n,1n,61n,1n,2n,4n,4n,1n,4n,1n,1640n,1n,4n,1n,176n,2n,2n,2n,15n,1n,12n,1n,4n,5n,2n,1n,228n,1n,5n,1n,15n,1n,18n,5n,12n,1n,2n,1n,12n,1n,10n,14n,195n,1n,4n,2n,5n,2n,2n,1n,162n,2n,2n,3n,11n,1n,6n,1n,42n,2n,4n,1n,15n,1n,4n,7n,12n,1n,60n,1n,11n,2n,2n,1n,20169n,2n,2n,4n,5n,1n,12n,1n,44n,1n,2n,1n,30n,1n,2n,5n,221n,1n,6n,1n,5n,16n,6n,1n,46n,1n,6n,1n,4n,1n,10n,1n,235n,2n,4n,1n,41n,1n,2n,2n,14n,2n,4n,1n,4n,2n,4n,1n,775n,1n,4n,1n,5n,1n,6n,1n,51n,13n,4n,1n,18n,1n,2n,1n,1396n,1n,34n,1n,5n,2n,2n,1n,54n,1n,2n,5n,11n,1n,12n,1n,51n,4n,2n,1n,55n,1n,4n,2n,12n,1n,6n,2n,11n,2n,2n,1n,1213n,1n,2n,2n,12n,1n,261n,1n,14n,2n,10n,1n,12n,1n,4n,4n,42n,2n,4n,1n,56n,1n,2n,1n,202n,2n,6n,6n,4n,1n,8n,1n,10494213n,15n,2n,1n,15n,1n,4n,1n,49n,1n,10n,1n,4n,6n,2n,1n,170n,2n,4n,2n,9n,1n,4n,1n,12n,1n,2n,2n,119n,1n,2n,2n,246n,1n,24n,1n,5n,4n,16n,1n,39n,1n,2n,2n,4n,1n,16n,1n,180n,1n,2n,1n,10n,1n,2n,49n,12n,1n,12n,1n,11n,1n,4n,2n,8681n,1n,5n,2n,15n,1n,6n,1n,15n,4n,2n,1n,66n,1n,4n,1n,51n,1n,30n,1n,5n,2n,4n,1n,205n,1n,6n,4n,4n,7n,4n,1n,195n,3n,6n,1n,36n,1n,2n,2n,35n,1n,6n,1n,15n,5n,2n,1n,260n,15n,2n,2n,5n,1n,32n,1n,12n,2n,2n,1n,12n,2n,4n,2n,21541n,1n,4n,1n,9n,2n,4n,1n,757n,1n,10n,5n,4n,1n,6n,2n,53n,5n,4n,1n,40n,1n,2n,2n,12n,1n,18n,1n,4n,2n,4n,1n,1280n,1n,2n,17n,16n,1n,4n,1n,53n,1n,4n,1n,51n,1n,15n,2n,42n,2n,8n,1n,5n,4n,2n,1n,44n,1n,2n,1n,36n,1n,62n,1n,1387n,1n,2n,1n,10n,1n,6n,4n,15n,1n,12n,2n,4n,1n,2n,1n,840n,1n,5n,2n,5n,2n,13n,1n,40n,504n,4n,1n,18n,1n,2n,6n,195n,2n,10n,1n,15n,5n,4n,1n,54n,1n,2n,2n,11n,1n,39n,1n,42n,1n,4n,2n,189n,1n,2n,2n,39n,1n,6n,1n,4n,2n,2n,1n,1090235n,1n,12n,1n,5n,1n,16n,4n,15n,5n,2n,1n,53n,1n,4n,5n,172n,1n,4n,1n,5n,1n,4n,2n,137n,1n,2n,1n,4n,1n,24n,1n,1211n,2n,2n,1n,15n,1n,4n,1n,14n,1n,113n,1n,16n,2n,4n,1n,205n,1n,2n,11n,20n,1n,4n,1n,12n,5n,4n,1n,30n,1n,4n,2n,1630n,2n,6n,1n,9n,13n,2n,1n,186n,2n,2n,1n,4n,2n,10n,2n,51n,2n,10n,1n,10n,1n,4n,5n,12n,1n,12n,1n,11n,2n,2n,1n,4725n,1n,2n,3n,9n,1n,8n,1n,14n,4n,4n,5n,18n,1n,2n,1n,221n,1n,68n,1n,15n,1n,2n,1n,61n,2n,4n,15n,4n,1n,4n,1n,19349n,2n,2n,1n,150n,1n,4n,7n,15n,2n,6n,1n,4n,2n,8n,1n,222n,1n,2n,4n,5n,1n,30n,1n,39n,2n,2n,1n,34n,2n,2n,4n,235n,1n,18n,2n,5n,1n,2n,2n,222n,1n,4n,2n,11n,1n,6n,1n,42n,13n,4n,1n,15n,1n,10n,1n,42n,1n,10n,2n,4n,1n,2n,1n,11394n,2n,4n,2n,5n,1n,12n,1n,42n,2n,4n,1n,900n,1n,2n,6n,51n,1n,6n,2n,34n,5n,2n,1n,46n,1n,4n,2n,11n,1n,30n,1n,196n,2n,6n,1n,10n,1n,2n,15n,199n,1n,4n,1n,4n,2n,2n,1n,954n,1n,6n,2n,13n,1n,23n,2n,12n,2n,2n,1n,37n,1n,4n,2n,49487367289n,4n,66n,2n,5n,19n,4n,1n,54n,1n,4n,2n,11n,1n,4n,1n,231n,1n,2n,1n,36n,2n,2n,2n,12n,1n,40n,1n,4n,51n,4n,2n,1028n,1n,5n,1n,15n,1n,10n,1n,35n,2n,4n,1n,12n,1n,4n,4n,42n,1n,4n,2n,5n,1n,10n,1n,583n,2n,2n,6n,4n,2n,6n,1n,1681n,6n,4n,1n,77n,1n,2n,2n,15n,1n,16n,1n,51n,2n,4n,1n,170n,1n,4n,5n,5n,1n,12n,1n,12n,2n,2n,1n,46n,1n,4n,2n,1092n,1n,8n,1n,5n,14n,2n,2n,39n,1n,4n,2n,4n,1n,254n,1n,42n,2n,2n,1n,41n,1n,2n,5n,39n,1n,4n,1n,11n,1n,10n,1n,157877n,1n,2n,4n,16n,1n,6n,1n,49n,13n,4n,1n,18n,1n,4n,1n,53n,1n,32n,1n,5n,1n,2n,2n,279n,1n,4n,2n,11n,1n,4n,3n,235n,2n,2n,1n,99n,1n,8n,2n,14n,1n,6n,1n,11n,14n,2n,1n,1040n,1n,2n,1n,13n,2n,16n,1n,12n,5n,27n,1n,12n,1n,2n,69n,1387n,1n,16n,1n,20n,2n,4n,1n,164n,4n,2n,2n,4n,1n,12n,1n,153n,2n,2n,1n,15n,1n,2n,2n,51n,1n,30n,1n,4n,1n,4n,1n,1460n,1n,55n,4n,5n,1n,12n,2n,14n,1n,4n,1n,131n,1n,2n,2n,42n,3n,6n,1n,5n,5n,4n,1n,44n,1n,10n,3n,11n,1n,10n,1n,1116461n,5n,2n,1n,10n,1n,2n,4n,35n,1n,12n,1n,11n,1n,2n,1n,3609n,1n,4n,2n,50n,1n,24n,1n,12n,2n,2n,1n,18n,1n,6n,2n,244n,1n,18n,1n,9n,2n,2n,1n,181n,1n,2n,51n,4n,2n,12n,1n,42n,1n,8n,5n,61n,1n,4n,1n,12n,1n,6n,1n,11n,2n,4n,1n,11720n,1n,2n,1n,5n,1n,112n,1n,52n,1n,2n,2n,12n,1n,4n,4n,245n,1n,4n,1n,9n,5n,2n,1n,211n,2n,4n,2n,38n,1n,6n,15n,195n,15n,6n,2n,29n,1n,2n,1n,14n,1n,32n,1n,4n,2n,4n,1n,198n,1n,4n,8n,5n,1n,4n,1n,153n,1n,2n,1n,227n,2n,4n,5n,19324n,1n,8n,1n,5n,4n,4n,1n,39n,1n,2n,2n,15n,4n,16n,1n,53n,6n,4n,1n,40n,1n,12n,5n,12n,1n,4n,2n,4n,1n,2n,1n,5958n,1n,4n,5n,12n,2n,6n,1n,14n,4n,10n,1n,40n,1n,2n,2n,179n,1n,1798n,1n,15n,2n,4n,1n,61n,1n,2n,5n,4n,1n,46n,1n,1387n,1n,6n,2n,36n,2n,2n,1n,49n,1n,24n,1n,11n,10n,2n,1n,222n,1n,4n,3n,5n,1n,10n,1n,41n,2n,4n,1n,174n,1n,2n,2n,195n,2n,4n,1n,15n,1n,6n,1n,889n,1n,2n,2n,4n,1n,12n,2n,178n,13n,2n,1n,15n,4n,4n,1n,12n,1n,20n,1n,4n,5n,4n,1n,408641062n,1n,2n,60n,36n,1n,4n,1n,15n,2n,2n,1n,46n,1n,16n,1n,54n,1n,24n,2n,5n,2n,4n,1n,221n,1n,4n,1n,11n,1n,30n,1n,928n,2n,4n,1n,10n,2n,2n,13n,14n,1n,4n,1n,11n,2n,6n,1n,697n,1n,4n,3n,5n,1n,8n,1n,12n,5n,2n,2n,64n,1n,4n,2n,10281n,1n,10n,1n,5n,1n,4n,1n,54n,1n,8n,2n,11n,1n,4n,1n,51n,6n,2n,1n,477n,1n,2n,2n,56n,5n,6n,1n,11n,5n,4n,1n,1213n,1n,4n,2n,5n,1n,72n,1n,68n,2n,2n,1n,12n,1n,2n,13n,42n,1n,38n,1n,9n,2n,2n,2n,137n,1n,2n,5n,11n,1n,6n,1n,21507n,5n,10n,1n,15n,1n,4n,1n,34n,2n,60n,2n,4n,5n,2n,1n,1005n,2n,5n,2n,5n,1n,4n,1n,12n,1n,10n,1n,30n,1n,10n,1n,235n,1n,6n,1n,50n,309n,4n,2n,39n,7n,2n,1n,11n,1n,36n,2n,42n,2n,2n,5n,40n,1n,2n,2n,39n,1n,12n,1n,4n,3n,2n,1n,47937n,1n,4n,2n,5n,1n,13n,1n,35n,4n,4n,1n,37n,1n,4n,2n,51n,1n,16n,1n,9n,1n,30n,2n,64n,1n,2n,14n,4n,1n,4n,1n,1285n,1n,2n,1n,228n,1n,2n,5n,53n,1n,8n,2n,4n,2n,2n,4n,260n,1n,6n,1n,15n,1n,110n,1n,12n,2n,4n,1n,12n,1n,4n,5n,1083553n,1n,12n,1n,5n,1n,4n,1n,749n,1n,4n,2n,11n,3n,30n,1n,54n,13n,6n,1n,15n,2n,2n,9n,12n,1n,10n,1n,35n,2n,2n,1n,1264n,2n,4n,6n,5n,1n,18n,1n,14n,2n,4n,1n,117n,1n,2n,2n,178n,1n,6n,1n,5n,4n,4n,1n,162n,2n,10n,1n,4n,1n,16n,1n,1630n,2n,2n,2n,56n,1n,10n,15n,15n,1n,4n,1n,4n,2n,12n,1n,1096n,1n,2n,21n,9n,1n,6n,1n,39n,5n,2n,1n,18n,1n,4n,2n,195n,1n,120n,1n,9n,2n,2n,1n,54n,1n,4n,4n,36n,1n,4n,1n,186n,2n,2n,1n,36n,1n,6n,15n,12n,1n,8n,1n,4n,5n,4n,1n,241004n,1n,5n,1n,15n,4n,10n,1n,15n,2n,4n,1n,34n,1n,2n,4n,167n,1n,12n,1n,15n,1n,2n,1n,3973n,1n,4n,1n,4n,1n,40n,1n,235n,11n,2n,1n,15n,1n,6n,1n,144n,1n,18n,1n,4n,2n,2n,2n,203n,1n,4n,15n,15n,1n,12n,2n,39n,1n,4n,1n,120n,1n,2n,2n,1388n,1n,6n,1n,13n,4n,4n,1n,39n,1n,2n,5n,4n,1n,66n,1n,963n,1n,8n,1n,10n,2n,4n,4n,12n,2n,12n,1n,4n,2n,4n,2n,6538n,1n,2n,2n,20n,1n,6n,2n,46n,63n,2n,1n,88n,1n,12n,1n,42n,1n,10n,2n,5n,5n,2n,1n,175n,2n,2n,2n,11n,1n,12n,1n];case 1:if(!(r1n;e--)r*=e;return r}function YI(r){for(var e=[];r>0n;)e.unshift(r%2n),r>>=1n;return e.join("")}var ez=v().mark(Aa);function Aa(){var r;return v().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=2n;case 1:if(!ri(r)){e.next=4;break}return e.next=4,r;case 4:r++,e.next=1;break;case 7:case"end":return e.stop()}},ez)}var tz=v().mark($I);function $I(){var r,e,t;return v().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=pn(Aa());case 1:if((e=r()).done){n.next=7;break}return t=e.value,n.next=5,BigInt(0|Math.sqrt(Number(t)));case 5:n.next=1;break;case 7:case"end":return n.stop()}},tz)}var nz=v().mark(GI);function GI(){return v().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,1n;case 2:return r.next=4,0n;case 4:r.next=2;break;case 6:case"end":return r.stop()}},nz)}var rz=v().mark(QI);function QI(){var r,e,t;return v().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=0,e=[1n,1n,2n,2n,3n,4n,5n,6n,7n,8n,11n,12n,15n,16n,19n,22n,25n,28n,31n,34n,40n,43n,49n,52n,58n,64n,70n,76n,82n,88n,98n,104n,114n,120n,130n,140n,150n,160n,170n,180n,195n,205n,220n,230n,245n,260n,275n,290n,305n,320n,341n,356n,377n,392n,413n,434n,455n,476n,497n,518n,546n];case 1:if(!(rr)){a.next=8;break}return a.next=7,t[r];case 7:r++;case 8:e++,a.next=2;break;case 11:case"end":return a.stop()}},Pz)}var Bz=v().mark(OR);function OR(){var r,e,t,n,i,a;return v().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return t=function(o){return o in e||(e[o]=r.next().value),e[o]},s.next=3,1n;case 3:r=E1(),e=[],n=[1n],i=1;case 7:for(n[i]=0n,a=1;a<=i;a++)n[i]+=n[i-a]*t(a);return n[i]/=BigInt(i),s.next=12,n[i];case 12:i++,s.next=7;break;case 15:case"end":return s.stop()}},Bz)}var Fz=v().mark(ER);function ER(){var r;return v().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=1n;case 1:return e.next=3,r;case 3:r=10n*r+1n,e.next=1;break;case 6:case"end":return e.stop()}},Fz)}var Uz=v().mark(vR);function vR(){var r,e,t;return v().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=pn(Aa());case 1:if((e=r()).done){n.next=8;break}if(t=e.value,!ri(BigInt(Math.pow(2,Number(t)))-1n)){n.next=6;break}return n.next=6,t;case 6:n.next=1;break;case 8:case"end":return n.stop()}},Uz)}var Yz=v().mark(TR);function TR(){var r,e,t;return v().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=0,e=[1n,1n,1n,2n,3n,5n,8n,13n,21n,34n,55n,89n,144n,232n,375n,606n,979n,1582n,2556n,4130n,6673n,10782n,17421n,28148n,45480n,73484n,118732n,191841n,309967n,500829n,809214n,1307487n,2112571n,3413385n,5515174n,8911138n,14398164n,23263822n,37588502n,60733592n,98130253n,158553878n,256183302n,413927966n,668803781n,1080619176n,1746009572n,2821113574n,4558212008n];case 1:if(!(rr||r%n!==0n)){i.next=7;break}return i.abrupt("continue",11);case 7:i.next=2;break;case 9:return i.next=11,r;case 11:r++,i.next=1;break;case 14:case"end":return i.stop()}},KZ)}var jZ=v().mark(D3);function D3(){var r;return v().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=0n;case 1:if((YI(r).match(/1/g)||[]).length%2!=0){e.next=4;break}return e.next=4,r;case 4:r++,e.next=1;break;case 7:case"end":return e.stop()}},jZ)}var JZ=v().mark(k3);function k3(){var r,e;return v().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=1n;case 1:e=0;case 2:if(!(er?0n:e===1n||e===r?1n:n_(r-1n,e-1n)+n_(r-e,e)}function H3(){var r,e;return v().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=1n;case 1:e=1n;case 2:if(!(e<=r)){t.next=8;break}return t.next=5,n_(r,e);case 5:e++,t.next=2;break;case 8:r++,t.next=1;break;case 11:case"end":return t.stop()}},mK)}var gK=v().mark(W3);function W3(){var r;return v().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r=1n;case 1:return e.next=3,ri(r)?1n:0n;case 3:r++,e.next=1;break;case 6:case"end":return e.stop()}},gK)}var _K=v().mark(X3);function X3(){var r,e;return v().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:r=0n;case 1:return t.next=3,1n;case 3:e=0;case 4:if(!(el)){m.next=6;break}return m.abrupt("break",11);case 6:return m.next=8,p;case 8:t.delete(p);case 9:m.next=2;break;case 11:return m.next=13,l;case 13:r.push(l),e.push(2n),Object.keys(r).forEach(function(_){for(var E=parseInt(_,10),R=-1n,w=e[E];R{Array.prototype.mouseX=function(){const e=r.mouseX(),n=window.innerWidth/this.length,i=Math.floor(e/n);return this[i]},Array.prototype.mouseY=function(){const e=r.mouseY(),n=window.innerHeight/this.length,i=Math.floor(e/n);return this[i]},Array.prototype.square=function(){return this.map(e=>e*e)},Array.prototype.sometimes=function(e){return r.randomGen()<.5?e(this):this},Array.prototype.apply=function(e){return e(this)},Array.prototype.sqrt=function(){if(this.some(e=>e<0))throw new Error("Cannot take square root of negative number");return this.map(e=>Math.sqrt(e))},Array.prototype.add=function(e){return this.map(t=>t+e)},Array.prototype.sub=function(e){return this.map(t=>t-e)},Array.prototype.mult=function(e){return this.map(t=>t*e)},Array.prototype.div=function(e){if(e===0)throw new Error("Division by zero");return this.map(t=>t/e)},Array.prototype.pick=function(){return this[Math.floor(r.randomGen()*this.length)]},Array.prototype.gen=function(e,t,n){return n<1?[]:Array.from({length:n},()=>Math.floor(r.randomGen()*(t-e+1))+e)},Array.prototype.bar=function(e=1){return e===1?this[r.app.clock.time_position.bar%this.length]:this[Math.floor(r.app.clock.time_position.bar/e)%this.length]},Array.prototype.beat=function(e=1){const t=e,n=r.app.clock.pulses_since_origin,i=Math.floor(n/Math.floor(t*r.ppqn()));return this[i%this.length]},Array.prototype.b=Array.prototype.beat,Array.prototype.dur=function(...e){const t=r.app.clock.pulses_since_origin,n=r.ppqn(),i=this.map((l,c)=>e[c%e.length]),a=i.reduce((l,c)=>l+c*n,0),s=t%a;let o=0;for(let l=0;l0)e=e%t;else return this;const n=this.splice(-e,e);return this.unshift(...n),this},Array.prototype.unique=function(){const e=new Set;let t=0;for(let n=0;n100)throw new Error("Amount should be between 0 and 100");if(this.length<=1)return this;for(let t=0;t1)this.splice(t,1);else return this;else t++;return this},Array.prototype.repeat=function(e=1){if(e<1)throw new Error("Amount should be at least 1");let t=[];for(let n=0;n(i%a+a)%a,n=OI(Gi(r));return this.map(i=>{const a=Math.floor(i/n.length)*12;return n[t(i,n.length)]+e+a})};Array.prototype.scaleArp=function(r="major",e=0){const t=OI(Gi(r));let n=[];e=e>t.length?t.length:e,e=e==0?t.length:e;for(let i=0;i{if(!r)return;r.width=window.innerWidth,r.height=window.innerHeight;const e=r.getContext("2d"),t=window.devicePixelRatio||1;r.width=window.innerWidth*t,r.height=window.innerHeight*t,e&&e.scale(t,t)},lD=r=>(r.settings.saveApplicationToLocalStorage(r.universes,r.settings),null),kK=r=>(r.currentFile().candidate=r.view.state.doc.toString(),r.currentFile().committed=r.view.state.doc.toString(),r.settings.saveApplicationToLocalStorage(r.universes,r.settings),null),LK=(r,e,t=!1)=>{e.addEventListener("resize",()=>Sv(r.interface.scope)),e.addEventListener("resize",()=>Sv(r.interface.feedback)),e.addEventListener("beforeunload",n=>{n.preventDefault(),kK(r)}),e.addEventListener("visibilitychange",n=>{n.preventDefault(),lD(r)}),t&&(localStorage.openpages=Date.now(),e.addEventListener("storage",function(n){n.key=="openpages"&&(localStorage.page_available=Date.now()),n.key=="page_available"&&(document.getElementById("all").classList.add("invisible"),alert("Topos is already opened in another tab. Close this tab now to prevent data loss."))},!1))},MK=r=>{const e=qy(),t=Object.keys(e).map(i=>({type:"output",regex:new RegExp(`<${i}([^>]*)>`,"g"),replace:(a,s)=>`<${i} class="${e[i]}" ${s}>`}));r.interface.line_numbers_checkbox.checked=r.settings.line_numbers,r.interface.time_position_checkbox.checked=r.settings.time_position,r.interface.tips_checkbox.checked=r.settings.tips,r.interface.completion_checkbox.checked=r.settings.completions,r.interface.midi_clock_checkbox.checked=r.settings.send_clock,r.interface.midi_channels_scripts.checked=r.settings.midi_channels_scripts,r.interface.midi_clock_ppqn.value=r.settings.midi_clock_ppqn.toString(),r.interface.load_demo_songs.checked=r.settings.load_demo_songs;const n=document.querySelectorAll('[id^="tab-"]');for(let i=0;i{n[i].classList.add("bg-orange-300");for(let l=0;l{ki(),r.updateKnownUniversesView(),hu()}),r.buttonElements.play_buttons.forEach(i=>{i.addEventListener("click",()=>{r.isPlaying?(r.setButtonHighlighting("pause",!0),r.isPlaying=!r.isPlaying,r.clock.pause(),r.api.MidiConnection.sendStopMessage()):(r.setButtonHighlighting("play",!0),r.isPlaying=!r.isPlaying,r.clock.start(),r.api.MidiConnection.sendStartMessage())})}),r.buttonElements.clear_buttons.forEach(i=>{i.addEventListener("click",()=>{r.setButtonHighlighting("clear",!0),confirm("Do you want to reset the current universe?")&&(r.universes[r.selected_universe]=structuredClone(rl),r.updateEditorView())})}),r.interface.documentation_button.addEventListener("click",()=>{iI(r)}),r.interface.destroy_universes_button.addEventListener("click",()=>{confirm("Do you want to destroy all universes?")&&(r.universes={...W_},r.updateKnownUniversesView())}),r.interface.audio_nudge_range.addEventListener("input",()=>{r.clock.nudge=parseInt(r.interface.audio_nudge_range.value)}),r.interface.dough_nudge_range.addEventListener("input",()=>{r.dough_nudge=parseInt(r.interface.dough_nudge_range.value)}),r.interface.upload_universe_button.addEventListener("click",()=>{const i=document.createElement("input");i.type="file",i.accept=".json",i.addEventListener("change",a=>{var l;const o=(l=a.target.files)==null?void 0:l[0];if(o){const c=new FileReader;c.readAsText(o,"UTF-8"),c.onload=u=>{const p=JSON.parse(u.target.result);for(const[m,_]of Object.entries(p))r.universes[m]=_},c.onerror=u=>{console.error("An error occurred reading the file:",u)}}}),document.body.appendChild(i),i.click(),document.body.removeChild(i)}),r.interface.download_universe_button.addEventListener("click",()=>{r.settings.saveApplicationToLocalStorage(r.universes,r.settings);let i=`topos-universes-${Date.now()}.json`;const a=new Blob([JSON.stringify(r.settings.universes)],{type:"application/json"}),s=URL.createObjectURL(a),o=document.createElement("a");o.href=s,o.download=i,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(s)}),r.interface.load_universe_button.addEventListener("click",()=>{let i=r.interface.buffer_search.value;i.length>2&&i.length<20&&!i.includes(" ")&&(r.settings.selected_universe=i,fu(r,i),r.interface.buffer_search.value="",Pg(),r.view.focus(),Qy())}),r.interface.eval_button.addEventListener("click",()=>{r.currentFile().candidate=r.view.state.doc.toString(),r.flashBackground("#404040",200)}),r.buttonElements.stop_buttons.forEach(i=>{i.addEventListener("click",()=>{r.setButtonHighlighting("stop",!0),r.isPlaying=!1,r.clock.stop()})}),r.interface.local_button.addEventListener("click",()=>r.changeModeFromInterface("local")),r.interface.global_button.addEventListener("click",()=>r.changeModeFromInterface("global")),r.interface.init_button.addEventListener("click",()=>r.changeModeFromInterface("init")),r.interface.note_button.addEventListener("click",()=>r.changeModeFromInterface("notes")),r.interface.font_family_selector.addEventListener("change",()=>{let i=r.interface.font_family_selector.value;console.log("Picking new font : "+i),r.settings.font=i,r.view.dispatch({effects:r.fontSize.reconfigure(Le.theme({"&":{fontSize:r.settings.font_size+"px"},".cm-content":{fontFamily:i,fontSize:r.settings.font_size+"px"},".cm-gutters":{fontSize:r.settings.font_size+"px"}}))})}),r.interface.font_size_input.addEventListener("input",()=>{let i=r.interface.font_size_input.value;r.settings.font_size=parseInt(i),r.view.dispatch({effects:r.fontSize.reconfigure(Le.theme({"&":{fontSize:r.settings.font_size+"px"},".cm-content":{fontFamily:r.settings.font,fontSize:r.settings.font_size+"px"},".cm-gutters":{fontSize:r.settings.font_size+"px"}}))})}),r.interface.settings_button.addEventListener("click",()=>{const i=document.getElementById("font-family");i&&(i.value=r.settings.font);const a=r.interface.dough_nudge_range;a.value=r.dough_nudge.toString();const s=document.getElementById("doughnumber");s.value=r.dough_nudge.toString(),r.settings.font_size===null&&(r.settings.font_size=12);const o=r.interface.font_size_input;o.value=r.settings.font_size.toString();const l=r.interface.line_numbers_checkbox;l.checked=r.settings.line_numbers;const c=r.interface.time_position_checkbox;c.checked=r.settings.time_position;const u=r.interface.tips_checkbox;u.checked=r.settings.tips;const p=r.interface.midi_clock_checkbox;p.checked=r.settings.send_clock;const m=r.interface.midi_channels_scripts;m.checked=r.settings.midi_channels_scripts;const _=r.interface.midi_clock_ppqn;_.value=r.settings.midi_clock_ppqn.toString();const E=r.interface.load_demo_songs;E.checked=r.settings.load_demo_songs;const R=r.interface.vim_mode_checkbox;R.checked=r.settings.vimMode;let w=document.getElementById("modal-settings"),k=document.getElementById("editor");w==null||w.classList.remove("invisible"),k==null||k.classList.add("invisible")}),r.interface.close_settings_button.addEventListener("click",()=>{let i=document.getElementById("modal-settings"),a=document.getElementById("editor");i==null||i.classList.add("invisible"),a==null||a.classList.remove("invisible");let s=r.interface.font_size_input.value;r.settings.font_size=parseInt(s),r.view.dispatch({effects:r.fontSize.reconfigure(Le.theme({"&":{fontSize:r.settings.font_size+"px"},".cm-content":{fontFamily:r.settings.font,fontSize:r.settings.font_size+"px"},".cm-gutters":{fontSize:r.settings.font_size+"px"}}))})}),r.interface.close_universes_button.addEventListener("click",()=>{lD(r),hu()}),r.interface.share_button.addEventListener("click",async()=>{r.currentFile().candidate=r.view.state.doc.toString(),r.currentFile().committed=r.view.state.doc.toString(),r.settings.saveApplicationToLocalStorage(r.universes,r.settings),await o9(r)}),r.interface.vim_mode_checkbox.addEventListener("change",()=>{let i=!!r.interface.vim_mode_checkbox.checked;r.settings.vimMode=i,r.view.dispatch({effects:r.vimModeCompartment.reconfigure(i?c1():[])})}),r.interface.line_numbers_checkbox.addEventListener("change",()=>{let a=!!r.interface.line_numbers_checkbox.checked;r.settings.line_numbers=a,r.view.dispatch({effects:r.withLineNumbers.reconfigure(a?[iC()]:[])})}),r.interface.time_position_checkbox.addEventListener("change",()=>{let i=document.getElementById("timeviewer"),a=!!r.interface.time_position_checkbox.checked;r.settings.time_position=a,a?i.classList.remove("hidden"):i.classList.add("hidden")}),r.interface.tips_checkbox.addEventListener("change",()=>{let i=!!r.interface.tips_checkbox.checked;r.settings.tips=i,r.view.dispatch({effects:r.hoveringCompartment.reconfigure(i?pI:[])})}),r.interface.completion_checkbox.addEventListener("change",()=>{let i=!!r.interface.completion_checkbox.checked;r.settings.completions=i,r.view.dispatch({effects:r.completionsCompartment.reconfigure(i?fI:[])})}),r.interface.midi_clock_checkbox.addEventListener("change",()=>{let i=!!r.interface.midi_clock_checkbox.checked;r.settings.send_clock=i}),r.interface.midi_channels_scripts.addEventListener("change",()=>{let i=!!r.interface.midi_channels_scripts.checked;r.settings.midi_channels_scripts=i}),r.interface.midi_clock_ppqn.addEventListener("change",()=>{let i=parseInt(r.interface.midi_clock_ppqn.value);r.settings.midi_clock_ppqn=i}),r.interface.load_demo_songs.addEventListener("change",()=>{let i=!!r.interface.load_demo_songs.checked;r.settings.load_demo_songs=i}),r.interface.universe_creator.addEventListener("submit",i=>{i.preventDefault();let s=new FormData(r.interface.universe_creator).get("universe");s&&s.length>2&&s.length<20&&(s=s.trim(),r.settings.selected_universe=s,r.selected_universe=s,fu(r,s),r.interface.buffer_search.value="",Pg(),r.view.focus())}),ns(r,r.universes[r.selected_universe.toString()].init),["introduction","interface","interaction","code","time","linear","cyclic","longform","sound","samples","synths","chaining","patterns","ziffers","midi","functions","lfos","probabilities","variables","synchronisation","mouse","shortcuts","about","bonus","oscilloscope"].forEach(i=>{let a="docs_"+i;document.getElementById(a).addEventListener("click",async()=>{a!=="docs_samples"?(r.currentDocumentationPane=i,Qg(r,t)):(console.log("Loading samples!"),await kI().then(()=>{r.docs=rI(r),r.currentDocumentationPane=i,Qg(r,t)}))})})},PK=r=>{Number.prototype.z0=function(e={}){return r.z0(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z1=function(e={}){return r.z1(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z2=function(e={}){return r.z2(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z3=function(e={}){return r.z3(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z4=function(e={}){return r.z4(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z5=function(e={}){return r.z5(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z6=function(e={}){return r.z6(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z7=function(e={}){return r.z7(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z8=function(e={}){return r.z8(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z9=function(e={}){return r.z9(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z10=function(e={}){return r.z10(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z11=function(e={}){return r.z11(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z12=function(e={}){return r.z12(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z13=function(e={}){return r.z13(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z14=function(e={}){return r.z14(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z15=function(e={}){return r.z15(this.valueOf().toString().split("").join(" "),e)},Number.prototype.z16=function(e={}){return r.z16(this.valueOf().toString().split("").join(" "),e)},Number.prototype.midi=function(...e){return r.midi(this.valueOf(),...e)},Number.prototype.sound=function(e){return Number.isInteger(this.valueOf())?r.sound(e).note(this.valueOf()):r.sound(e).freq(this.valueOf())}},BK="modulepreload",FK=function(r){return"/"+r},Ov={},UK=function(e,t,n){if(!t||t.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(t.map(a=>{if(a=FK(a),a in Ov)return;Ov[a]=!0;const s=a.endsWith(".css"),o=s?'[rel="stylesheet"]':"";if(!!n)for(let u=i.length-1;u>=0;u--){const p=i[u];if(p.href===a&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${o}`))return;const c=document.createElement("link");if(c.rel=s?"stylesheet":BK,s||(c.as="script",c.crossOrigin=""),c.href=a,document.head.appendChild(c),s)return new Promise((u,p)=>{c.addEventListener("load",u),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${a}`)))})})).then(()=>e()).catch(a=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a})};function YK(r={}){const{immediate:e=!1,onNeedRefresh:t,onOfflineReady:n,onRegistered:i,onRegisteredSW:a,onRegisterError:s}=r;let o,l;const c=async(p=!0)=>{await l};async function u(){if("serviceWorker"in navigator){const{Workbox:p}=await UK(()=>import("./workbox-window.prod.es5-a7b12eab.js"),[]);o=new p("/sw.js",{scope:"/",type:"classic"}),o.addEventListener("activated",m=>{(m.isUpdate||m.isExternal)&&window.location.reload()}),o.addEventListener("installed",m=>{m.isUpdate||n==null||n()}),o.register({immediate:e}).then(m=>{a?a("/sw.js",m):i==null||i(m)}).catch(m=>{s==null||s(m)})}}return l=u(),c}"serviceWorker"in navigator&&YK();class $K{constructor(){I(this,"settings",new a9);I(this,"universes",{});I(this,"selected_universe","Welcome");I(this,"fill",!1);I(this,"local_index",1);I(this,"editor_mode","global");I(this,"fontSize");I(this,"withLineNumbers");I(this,"vimModeCompartment");I(this,"hoveringCompartment");I(this,"completionsCompartment");I(this,"chosenLanguage");I(this,"dynamicPlugins");I(this,"currentDocumentationPane","introduction");I(this,"exampleCounter",0);I(this,"exampleIsPlaying",!1);I(this,"editorExtensions",[]);I(this,"userPlugins",[]);I(this,"state");I(this,"view");I(this,"selectedExample","");I(this,"docs",{});I(this,"_mouseX",0);I(this,"_mouseY",0);I(this,"show_error",!1);I(this,"buttonElements",{});I(this,"interface",{});I(this,"blinkTimeouts",{});I(this,"osc",{enabled:!1,color:"#fdba74",thickness:4,refresh:1,fftSize:1024,orientation:"horizontal",offsetX:0,offsetY:0,mode:"scope",size:1});I(this,"api");I(this,"audioContext");I(this,"clock");I(this,"dough_nudge",20);I(this,"manualPlay",!1);I(this,"isPlaying",!1);I(this,"hydra_backend");I(this,"hydra");I(this,"updateKnownUniversesView",()=>{let e=document.getElementById("ui-known-universe-item-template");if(!e){console.warn("Missing template #ui-known-universe-item-template");return}let t=document.getElementById("existing-universes");if(!t){console.warn("Missing element #existing-universes");return}let n=document.createElement("ul");n.className="lg:h-80 lg:text-normal text-sm h-auto lg:w-80 w-auto lg:pb-2 lg:pt-2 overflow-y-scroll text-white lg:mb-4 border rounded-lg bg-neutral-800",n.append(...Object.keys(this.universes).map(i=>{var o,l;let a=e.content.cloneNode(!0),s=window;return a.querySelector(".universe-name").textContent=i,(o=a.querySelector(".load-universe"))==null||o.addEventListener("click",()=>s._loadUniverseFromInterface(i)),(l=a.querySelector(".delete-universe"))==null||l.addEventListener("click",()=>s._deleteUniverseFromInterface(i)),a})),t.innerHTML="",t.append(n)});this.initializeElements(),this.initializeButtonGroups(),this.setCanvas(this.interface.feedback),this.setCanvas(this.interface.scope);try{this.loadHydraSynthAsync()}catch(t){console.log("Couldn't start Hydra: ",t)}this.universes={...this.settings.universes},s9(this),this.audioContext=new AudioContext({latencyHint:"playback"}),this.clock=new sQ(this,this.audioContext),this.api=new qV(this),DK(this.api),QV(this.api),PK(this.api),Object.entries(this.api).forEach(([t,n])=>{globalThis[t]=n}),Object.entries(xK).forEach(([t,n])=>{globalThis[t]=n}),Object.entries(BV).forEach(([t,n])=>{globalThis[t]=n}),(async()=>{await kI()})(),this.docs=rI(this),RG(this),wG(this),MK(this),yv(this),rQ(this),dk(this.interface.scope,this),ns(this,this.universes[this.selected_universe.toString()].init),this.changeModeFromInterface("global"),l9(this)}getBuffer(e){const t=this.universes[this.selected_universe.toString()];return e==="locals"?t[e][this.local_index]:t[e]}get note_buffer(){return this.getBuffer("notes")}get example_buffer(){return this.getBuffer("example")}get global_buffer(){return this.getBuffer("global")}get init_buffer(){return this.getBuffer("init")}get local_buffer(){return this.getBuffer("locals")}changeToLocalBuffer(e){const t=document.querySelectorAll('[id^="tab-"]'),n=t[e];n.classList.add("bg-orange-300");for(let a=0;a{t.forEach(a=>{let s=a.children[0];s.classList.contains("text-orange-300")&&(s.classList.remove("text-orange-300"),a.classList.remove("text-orange-300"))}),i.children[0].classList.remove("text-white"),i.children[0].classList.add("text-orange-300"),i.classList.add("text-orange-300"),i.classList.add("fill-orange-300")};switch(e){case"local":this.interface.local_script_tabs.classList.contains("hidden")&&this.interface.local_script_tabs.classList.remove("hidden"),this.editor_mode="local",this.local_index=0,document.getElementById("editor").style.height="calc(100% - 100px)",this.changeToLocalBuffer(this.local_index),n(this.interface.local_button);break;case"global":this.interface.local_script_tabs.classList.contains("hidden")||this.interface.local_script_tabs.classList.add("hidden"),this.editor_mode="global",document.getElementById("editor").style.height="100%",n(this.interface.global_button);break;case"init":this.interface.local_script_tabs.classList.contains("hidden")||this.interface.local_script_tabs.classList.add("hidden"),this.editor_mode="init",n(this.interface.init_button);break;case"notes":this.interface.local_script_tabs.classList.contains("hidden")||this.interface.local_script_tabs.classList.add("hidden"),this.editor_mode="notes",n(this.interface.note_button);break}this.view.dispatch({effects:this.chosenLanguage.reconfigure(this.editor_mode=="notes"?[C6()]:[M_()])}),this.updateEditorView()}setButtonHighlighting(e,t){document.getElementById("play-label").textContent=e!=="pause"?"Pause":"Play",e!=="pause"?(document.getElementById("pause-icon").classList.remove("hidden"),document.getElementById("play-icon").classList.add("hidden")):(document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),e==="stop"&&(this.isPlaying==!1,document.getElementById("play-label").textContent="Play",document.getElementById("pause-icon").classList.add("hidden"),document.getElementById("play-icon").classList.remove("hidden")),this.flashBackground("#404040",200);const n=['[id^="play-button-"]','[id^="clear-button-"]','[id^="stop-button-"]'];let i;switch(e){case"play":i=0;break;case"pause":i=1;break;case"clear":i=2;break;case"stop":i=3;break}document.querySelectorAll(n[i]).forEach(a=>{t&&a.children[0].classList.add("animate-pulse")}),document.querySelectorAll(n.filter((a,s)=>s!=i).join(",")).forEach(a=>{a.children[0].classList.remove("animate-pulse"),a.children[1].classList.remove("animate-pulse")})}unfocusPlayButtons(){document.querySelectorAll('[id^="play-button-"]').forEach(e=>{e.children[0].classList.remove("fill-orange-300"),e.children[0].classList.remove("animate-pulse")})}updateEditorView(){this.view.dispatch({changes:{from:0,to:this.view.state.doc.toString().length,insert:this.currentFile().candidate}})}currentFile(){switch(this.editor_mode){case"global":return this.global_buffer;case"local":return this.local_buffer;case"init":return this.init_buffer;case"notes":return this.note_buffer}}flashBackground(e,t){const n=this.view.dom,i=n.getElementsByClassName("cm-gutter");n.classList.add("fluid-bg-transition"),Array.from(i).forEach(a=>a.classList.add("fluid-bg-transition")),n.style.backgroundColor=e,Array.from(i).forEach(a=>a.style.backgroundColor=e),setTimeout(()=>{n.style.backgroundColor="",Array.from(i).forEach(a=>a.style.backgroundColor=""),n.classList.remove("fluid-bg-transition"),Array.from(i).forEach(a=>a.classList.remove("fluid-bg-transition"))},t)}initializeElements(){for(const[e,t]of Object.entries(d9))this.interface[e]=document.getElementById(t)}initializeButtonGroups(){for(const[e,t]of Object.entries(p9))this.buttonElements[e]=t.map(n=>document.getElementById(n))}loadHydraSynthAsync(){var e=document.createElement("script");e.src="https://unpkg.com/hydra-synth",e.async=!0,e.onload=()=>{console.log("Hydra loaded successfully"),this.initializeHydra()},e.onerror=function(){console.error("Error loading Hydra script")},document.head.appendChild(e)}initializeHydra(){this.hydra_backend=new Hydra({canvas:this.interface.hydra_canvas,detectAudio:!1,enableStreamCapture:!1}),this.hydra=this.hydra_backend.synth}setCanvas(e){if(!e)return;const t=e.getContext("2d"),n=window.devicePixelRatio||1;e.width=window.innerWidth*n,e.height=window.innerHeight*n,t&&t.scale(n,n)}}let GK=new $K;LK(GK,window,!1); diff --git a/assets/index-90c7e125.js.gz b/assets/index-75a44399.js.gz similarity index 89% rename from assets/index-90c7e125.js.gz rename to assets/index-75a44399.js.gz index 26c0b8eb7f3ad0d3d1f47e94b859805b0cb59d77..4aa0a2d312a757253febbfd247363bf1abdd7d8c 100644 GIT binary patch delta 79123 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

m^hTwKDerwKd}=us^FFCJUN%@~E(g

Xa{;21k1| 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 delta 79126 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�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 MeSt$5aIl^Pm;1n|cOd>G_t51>zS! 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 diff --git a/index.html b/index.html index 647953f..c01f3d7 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@ - +