Humuhumu33 commited on
Commit
c27aa66
·
verified ·
1 Parent(s): 9f78139

kappa mirror: ui + q closures (2357 objects, blake3-addressed) - U3 (part 2)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. b/1c58976bfa08636c68ba1e0feeb51187bfbe8407a85fcbf2faa0e65cd5a17c2e +3 -1
  2. b/1c59c83fc23c4067fd3a0235ba74a102c29ac97dc9e94a8e968fc00689672540 +3 -92
  3. b/1c5cd62e9af7e00c7c5f915b362aefbadaaf8a9891efad966e129004a5d60e94 +3 -1
  4. b/1c75f20c416b6d150f7e753b8ab04612dc6104da2a597bfd7cd1d4f144feb3a5 +3 -46
  5. b/1c852725efc7493292f86d26c5992104439e442f8190a016cf569571010cb14c +3 -1
  6. b/1c9df70f8cbf80c5607feb54ab7b780d999a26bfb7246016998045216f757ca6 +3 -113
  7. b/1cc7000946eb9434c5f518e037745606d4d5665a297a4a6c5ca9fa019fd0b9c8 +3 -21
  8. b/1cdef47925363396def9e8d35e23591ee1fe3e55c053042e8772027c34e33dfa +0 -0
  9. b/1d04933d8b6165771cd1b3f9b6455a5f2aa25ad705204afd1a0f95f3b1e41c1e +3 -59
  10. b/1d1b5edbccfd7324cc4b2bd53a86813b75a19be7153efa1c9e91467d7e6e0194 +3 -1
  11. b/1d1e9b8c14e515ed9f326314eeed45637f4985f9e76d78d76e015d5548f8540b +3 -103
  12. b/1d2311973f28c55c3a761f20215061b07b815295b2ad491e130bb7ef92794be7 +3 -20
  13. b/1d2c6f9e169ebaa1f536702cf8d6baec4842f2005e6a179848b0a7392e178c2d +3 -26
  14. b/1d334d984bc2d8f0d85df835b7688ea791bc05b3c70077541f0e00608feefd00 +3 -133
  15. b/1d612e61fa4cc7ae9af90ff3988e54b3f606263d0ebbbc292895945803ef29b2 +3 -27
  16. b/1d77caf194b3f1187e88d2eadf83e01e6e1846632b7d138c1a86a464838a5dc2 +3 -55
  17. b/1d7e7cd23c36f98e28c9ac19295b39c069a9c653dac08b2331d0681e98566259 +3 -116
  18. b/1d91954229902aea23185e49bb0fef3dfe31c5cdfcbd7e658030f8ed094ae5e8 +3 -112
  19. b/1d924b1309c0374bc494702500d8db178b30e55e60306f58cb18212a35d0fbd5 +3 -20
  20. b/1db7c1e7b1eb8ee3087cf309e707ad194d5fb5f3984f39642063b09a403e5ea2 +3 -31
  21. b/1dcec218a2f7b66e0a1440db345620b4badbee36ef670ad4b800d814f64fe438 +3 -229
  22. b/1ddbebc91714c07138e154f9babcfd832b3dbf33cc4bc2108952cd9f2abf941e +3 -20
  23. b/1e003a50d610f06d8f4e868d709690e30f3b53ba387fa56c16798e9df5af4f01 +0 -0
  24. b/1e15254bf0d64d13becddf7b3d5524c684bfb7760e2bb4bde36253347395cb59 +3 -7
  25. b/1e282ef78b88f6be9c4a12e0ffe016ae1977d5ab37c882f944c34929cb3f98f3 +3 -5
  26. b/1e3087a6dcb3ad01bb916247c344b0f9a96c5d297047f30bdc606d893be50f1f +3 -21
  27. b/1e44a399093ef9e1ad59bef41a2efedbd83d7852f2b75f1b58e3f1b4517e4da4 +3 -20
  28. b/1e6281215a106302322f097423b574cd621a19254d97ae7fc3c0a503a8681c6d +3 -104
  29. b/1e70a570b62a4fc06a5971ab7acd36a0690ffc58ddc9ce473d48be85dc4d9052 +3 -133
  30. b/1e808de8bebfde40323472e7a6b3aa40f2e651cfc73e87f397b06b18723ff7e6 +3 -20
  31. b/1eb8f1020cd21d0924234c64fe6812e72f0809e2f6e8fd4594d73e6afd545ee5 +3 -38
  32. b/1ee081b9ff4a193649ec9af1c672b6cb313b72bbd531fc55b3656744b3ea9ba5 +3 -20
  33. b/1f24b4c0f18c1c7c8063940d3a962965d8e83c32844924b8fa4e6d17ff4e8cce +3 -40
  34. b/1f4c9e3daad4e255238b6ed619da8fee32e3ae77123196abf85151491f68ee7d +3 -89
  35. b/1f5670322346a1a6d37a27d42e263e65e81bc4f1b402c0655bf7c271fad277e3 +3 -1
  36. b/1fa7589bae3567ddf321b209bcd8ac5c08b031e42a3dcbd44281b5e9f618cd5b +3 -101
  37. b/1fbb6601eb301afee66f7d512198538ea4a9455651cc9749826f65ee6ccd5cc4 +3 -20
  38. b/1fc456a0dd6b2099db450f45ddab86b816944212ec00d7334c1a5a5823d2b891 +0 -0
  39. b/1fdbfb228aeca30bf91c8bda1b713192e12086578b3c038cabead062dcd78d36 +3 -66
  40. b/201433ecce079a365af9ef7ea23a01f5fbcf769f1f0ffa2d30cb32ed1e543bb2 +3 -68
  41. b/20153dcfad0dff5c1c27178dafc84bc3d810e0f51415c3509e88428ec941493c +3 -50
  42. b/202d294d5997625575278176a973965301df1e9b5d35b39650f36426abf7c525 +3 -200
  43. b/2058bd906159ce455e183ecbf81b564040875357491b8264c480c308c8a876bf +3 -20
  44. b/2059b4ea678a3bd8298142c4703701463c3b578aa4a6a0ec998741f0b54ada4f +3 -51
  45. b/2075bb11bd0b67f95cca88fe62a2d3a7558076d7f74cecee2f6f82a47b531374 +3 -1
  46. b/2083a6fb012857dcc21e7f62d3e79cb272aca709541b01bc1462d6268a58b207 +3 -20
  47. b/20858f7b5361ed90eeeffbd854595eee3436c019d88bb27775e5da7defc12672 +3 -54
  48. b/209109999ddeb25219c43e168b0ab79e82f7e11f99f0e98cf401e5ce7014a431 +3 -20
  49. b/2095f78819ebb914f00fdfaed8bdb290c151e7303fab7787095e21625e864435 +3 -20
  50. b/20a0383acfaa1a2b232c1a8cd7059947e1cc6346bff6e3627afc4568899256c1 +3 -96
b/1c58976bfa08636c68ba1e0feeb51187bfbe8407a85fcbf2faa0e65cd5a17c2e CHANGED
@@ -1 +1,3 @@
1
- function xe(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(r=xe(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function ke(){for(var e,t,r=0,o="",i=arguments.length;r<i;r++)(e=arguments[r])&&(t=xe(e))&&(o&&(o+=" "),o+=t);return o}var Ue=(e,t)=>{let r=new Array(e.length+t.length);for(let o=0;o<e.length;o++)r[o]=e[o];for(let o=0;o<t.length;o++)r[e.length+o]=t[o];return r},$e=(e,t)=>({classGroupId:e,validator:t}),Se=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),Q="-",we=[],De="arbitrary..",Ye=e=>{let t=Xe(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return qe(l);let u=l.split(Q),b=u[0]===""&&u.length>1?1:0;return Ae(u,b,t)},getConflictingClassGroupIds:(l,u)=>{if(u){let b=o[l],m=r[l];return b?m?Ue(m,b):b:m||we}return r[l]||we}}},Ae=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;let i=e[t],d=r.nextPart.get(i);if(d){let m=Ae(e,t+1,d);if(m)return m}let l=r.validators;if(l===null)return;let u=t===0?e.join(Q):e.slice(t).join(Q),b=l.length;for(let m=0;m<b;m++){let h=l[m];if(h.validator(u))return h.classGroupId}},qe=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?De+o:void 0})(),Xe=e=>{let{theme:t,classGroups:r}=e;return Je(r,t)},Je=(e,t)=>{let r=Se();for(let o in e){let i=e[o];ne(i,r,o,t)}return r},ne=(e,t,r,o)=>{let i=e.length;for(let d=0;d<i;d++){let l=e[d];Qe(l,t,r,o)}},Qe=(e,t,r,o)=>{if(typeof e=="string"){He(e,t,r);return}if(typeof e=="function"){Ze(e,t,r,o);return}eo(e,t,r,o)},He=(e,t,r)=>{let o=e===""?t:Me(t,e);o.classGroupId=r},Ze=(e,t,r,o)=>{if(oo(e)){ne(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push($e(r,e))},eo=(e,t,r,o)=>{let i=Object.entries(e),d=i.length;for(let l=0;l<d;l++){let[u,b]=i[l];ne(b,Me(t,u),r,o)}},Me=(e,t)=>{let r=e,o=t.split(Q),i=o.length;for(let d=0;d<i;d++){let l=o[d],u=r.nextPart.get(l);u||(u=Se(),r.nextPart.set(l,u)),r=u}return r},oo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,ro=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),i=(d,l)=>{r[d]=l,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(d){let l=r[d];if(l!==void 0)return l;if((l=o[d])!==void 0)return i(d,l),l},set(d,l){d in r?r[d]=l:i(d,l)}}},se="!",ye=":",to=[],ve=(e,t,r,o,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:i}),so=e=>{let{prefix:t,experimentalParseClassName:r}=e,o=i=>{let d=[],l=0,u=0,b=0,m,h=i.length;for(let y=0;y<h;y++){let C=i[y];if(l===0&&u===0){if(C===ye){d.push(i.slice(b,y)),b=y+1;continue}if(C==="/"){m=y;continue}}C==="["?l++:C==="]"?l--:C==="("?u++:C===")"&&u--}let x=d.length===0?i:i.slice(b),T=x,S=!1;x.endsWith(se)?(T=x.slice(0,-1),S=!0):x.startsWith(se)&&(T=x.slice(1),S=!0);let F=m&&m>b?m-b:void 0;return ve(d,S,T,F)};if(t){let i=t+ye,d=o;o=l=>l.startsWith(i)?d(l.slice(i.length)):ve(to,!1,l,void 0,!0)}if(r){let i=o;o=d=>r({className:d,parseClassName:i})}return o},no=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{let o=[],i=[];for(let d=0;d<r.length;d++){let l=r[d],u=l[0]==="[",b=t.has(l);u||b?(i.length>0&&(i.sort(),o.push(...i),i=[]),o.push(l)):i.push(l)}return i.length>0&&(i.sort(),o.push(...i)),o}},ao=e=>({cache:ro(e.cacheSize),parseClassName:so(e),sortModifiers:no(e),postfixLookupClassGroupIds:io(e),...Ye(e)}),io=e=>{let t=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let o=0;o<r.length;o++)t[r[o]]=!0;return t},lo=/\s+/,co=(e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:d,postfixLookupClassGroupIds:l}=t,u=[],b=e.trim().split(lo),m="";for(let h=b.length-1;h>=0;h-=1){let x=b[h],{isExternal:T,modifiers:S,hasImportantModifier:F,baseClassName:y,maybePostfixModifierPosition:C}=r(x);if(T){m=x+(m.length>0?" "+m:m);continue}let L=!!C,v;if(L){let M=y.substring(0,C);v=o(M);let a=v&&l[v]?o(y):void 0;a&&a!==v&&(v=a,L=!1)}else v=o(y);if(!v){if(!L){m=x+(m.length>0?" "+m:m);continue}if(v=o(y),!v){m=x+(m.length>0?" "+m:m);continue}L=!1}let B=S.length===0?"":S.length===1?S[0]:d(S).join(":"),W=F?B+se:B,E=W+v;if(u.indexOf(E)>-1)continue;u.push(E);let O=i(v,L);for(let M=0;M<O.length;++M){let a=O[M];u.push(W+a)}m=x+(m.length>0?" "+m:m)}return m},mo=(...e)=>{let t=0,r,o,i="";for(;t<e.length;)(r=e[t++])&&(o=Pe(r))&&(i&&(i+=" "),i+=o);return i},Pe=e=>{if(typeof e=="string")return e;let t,r="";for(let o=0;o<e.length;o++)e[o]&&(t=Pe(e[o]))&&(r&&(r+=" "),r+=t);return r},po=(e,...t)=>{let r,o,i,d,l=b=>{let m=t.reduce((h,x)=>x(h),e());return r=ao(m),o=r.cache.get,i=r.cache.set,d=u,u(b)},u=b=>{let m=o(b);if(m)return m;let h=co(b,r);return i(b,h),h};return d=l,(...b)=>d(mo(...b))},uo=[],f=e=>{let t=r=>r[e]||uo;return t.isThemeGetter=!0,t},Ie=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Re=/^\((?:(\w[\w-]*):)?(.+)\)$/i,bo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,go=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ho=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,I=e=>bo.test(e),p=e=>!!e&&!Number.isNaN(Number(e)),A=e=>!!e&&Number.isInteger(Number(e)),te=e=>e.endsWith("%")&&p(e.slice(0,-1)),P=e=>fo.test(e),Te=()=>!0,wo=e=>go.test(e)&&!ho.test(e),ae=()=>!1,yo=e=>xo.test(e),vo=e=>ko.test(e),zo=e=>!s(e)&&!n(e),Co=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Go=e=>R(e,_e,ae),s=e=>Ie.test(e),_=e=>R(e,Ve,wo),ze=e=>R(e,Lo,p),So=e=>R(e,Ee,Te),Ao=e=>R(e,We,ae),Ce=e=>R(e,Le,ae),Mo=e=>R(e,Ne,vo),X=e=>R(e,Oe,yo),n=e=>Re.test(e),K=e=>V(e,Ve),Po=e=>V(e,We),Ge=e=>V(e,Le),Io=e=>V(e,_e),Ro=e=>V(e,Ne),J=e=>V(e,Oe,!0),To=e=>V(e,Ee,!0),R=(e,t,r)=>{let o=Ie.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},V=(e,t,r=!1)=>{let o=Re.exec(e);return o?o[1]?t(o[1]):r:!1},Le=e=>e==="position"||e==="percentage",Ne=e=>e==="image"||e==="url",_e=e=>e==="length"||e==="size"||e==="bg-size",Ve=e=>e==="length",Lo=e=>e==="number",We=e=>e==="family-name",Ee=e=>e==="number"||e==="weight",Oe=e=>e==="shadow";var No=()=>{let e=f("color"),t=f("font"),r=f("text"),o=f("font-weight"),i=f("tracking"),d=f("leading"),l=f("breakpoint"),u=f("container"),b=f("spacing"),m=f("radius"),h=f("shadow"),x=f("inset-shadow"),T=f("text-shadow"),S=f("drop-shadow"),F=f("blur"),y=f("perspective"),C=f("aspect"),L=f("ease"),v=f("animate"),B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...W(),n,s],O=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],a=()=>[n,s,b],z=()=>[I,"full","auto",...a()],de=()=>[A,"none","subgrid",n,s],me=()=>["auto",{span:["full",A,n,s]},A,n,s],U=()=>[A,"auto",n,s],pe=()=>["auto","min","max","fr",n,s],H=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],j=()=>["start","end","center","stretch","center-safe","end-safe"],G=()=>["auto",...a()],N=()=>[I,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...a()],Z=()=>[I,"screen","full","dvw","lvw","svw","min","max","fit",...a()],ee=()=>[I,"screen","full","lh","dvh","lvh","svh","min","max","fit",...a()],c=()=>[e,n,s],ue=()=>[...W(),Ge,Ce,{position:[n,s]}],be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],fe=()=>["auto","cover","contain",Io,Go,{size:[n,s]}],oe=()=>[te,K,_],k=()=>["","none","full",m,n,s],w=()=>["",p,K,_],$=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[p,te,Ge,Ce],he=()=>["","none",F,n,s],D=()=>["none",p,n,s],Y=()=>["none",p,n,s],re=()=>[p,n,s],q=()=>[I,"full",...a()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[P],breakpoint:[P],color:[Te],container:[P],"drop-shadow":[P],ease:["in","out","in-out"],font:[zo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[P],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[P],shadow:[P],spacing:["px",p],text:[P],"text-shadow":[P],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",I,s,n,C]}],container:["container"],"container-type":[{"@container":["","normal","size",n,s]}],"container-named":[Co],columns:[{columns:[p,s,n,u]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:z()}],"inset-x":[{"inset-x":z()}],"inset-y":[{"inset-y":z()}],start:[{"inset-s":z(),start:z()}],end:[{"inset-e":z(),end:z()}],"inset-bs":[{"inset-bs":z()}],"inset-be":[{"inset-be":z()}],top:[{top:z()}],right:[{right:z()}],bottom:[{bottom:z()}],left:[{left:z()}],visibility:["visible","invisible","collapse"],z:[{z:[A,"auto",n,s]}],basis:[{basis:[I,"full","auto",u,...a()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[p,I,"auto","initial","none",s]}],grow:[{grow:["",p,n,s]}],shrink:[{shrink:["",p,n,s]}],order:[{order:[A,"first","last","none",n,s]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:me()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:me()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":pe()}],"auto-rows":[{"auto-rows":pe()}],gap:[{gap:a()}],"gap-x":[{"gap-x":a()}],"gap-y":[{"gap-y":a()}],"justify-content":[{justify:[...H(),"normal"]}],"justify-items":[{"justify-items":[...j(),"normal"]}],"justify-self":[{"justify-self":["auto",...j()]}],"align-content":[{content:["normal",...H()]}],"align-items":[{items:[...j(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...j(),{baseline:["","last"]}]}],"place-content":[{"place-content":H()}],"place-items":[{"place-items":[...j(),"baseline"]}],"place-self":[{"place-self":["auto",...j()]}],p:[{p:a()}],px:[{px:a()}],py:[{py:a()}],ps:[{ps:a()}],pe:[{pe:a()}],pbs:[{pbs:a()}],pbe:[{pbe:a()}],pt:[{pt:a()}],pr:[{pr:a()}],pb:[{pb:a()}],pl:[{pl:a()}],m:[{m:G()}],mx:[{mx:G()}],my:[{my:G()}],ms:[{ms:G()}],me:[{me:G()}],mbs:[{mbs:G()}],mbe:[{mbe:G()}],mt:[{mt:G()}],mr:[{mr:G()}],mb:[{mb:G()}],ml:[{ml:G()}],"space-x":[{"space-x":a()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":a()}],"space-y-reverse":["space-y-reverse"],size:[{size:N()}],"inline-size":[{inline:["auto",...Z()]}],"min-inline-size":[{"min-inline":["auto",...Z()]}],"max-inline-size":[{"max-inline":["none",...Z()]}],"block-size":[{block:["auto",...ee()]}],"min-block-size":[{"min-block":["auto",...ee()]}],"max-block-size":[{"max-block":["none",...ee()]}],w:[{w:[u,"screen",...N()]}],"min-w":[{"min-w":[u,"screen","none",...N()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...N()]}],h:[{h:["screen","lh",...N()]}],"min-h":[{"min-h":["screen","lh","none",...N()]}],"max-h":[{"max-h":["screen","lh",...N()]}],"font-size":[{text:["base",r,K,_]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,To,So]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",te,s]}],"font-family":[{font:[Po,Ao,t]}],"font-features":[{"font-features":[s]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,n,s]}],"line-clamp":[{"line-clamp":[p,"none",n,ze]}],leading:[{leading:[d,...a()]}],"list-image":[{"list-image":["none",n,s]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",n,s]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:c()}],"text-color":[{text:c()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...$(),"wavy"]}],"text-decoration-thickness":[{decoration:[p,"from-font","auto",n,_]}],"text-decoration-color":[{decoration:c()}],"underline-offset":[{"underline-offset":[p,"auto",n,s]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:a()}],"tab-size":[{tab:[A,n,s]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",n,s]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",n,s]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:be()}],"bg-size":[{bg:fe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},A,n,s],radial:["",n,s],conic:[A,n,s]},Ro,Mo]}],"bg-color":[{bg:c()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:c()}],"gradient-via":[{via:c()}],"gradient-to":[{to:c()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-bs":[{"border-bs":w()}],"border-w-be":[{"border-be":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...$(),"hidden","none"]}],"divide-style":[{divide:[...$(),"hidden","none"]}],"border-color":[{border:c()}],"border-color-x":[{"border-x":c()}],"border-color-y":[{"border-y":c()}],"border-color-s":[{"border-s":c()}],"border-color-e":[{"border-e":c()}],"border-color-bs":[{"border-bs":c()}],"border-color-be":[{"border-be":c()}],"border-color-t":[{"border-t":c()}],"border-color-r":[{"border-r":c()}],"border-color-b":[{"border-b":c()}],"border-color-l":[{"border-l":c()}],"divide-color":[{divide:c()}],"outline-style":[{outline:[...$(),"none","hidden"]}],"outline-offset":[{"outline-offset":[p,n,s]}],"outline-w":[{outline:["",p,K,_]}],"outline-color":[{outline:c()}],shadow:[{shadow:["","none",h,J,X]}],"shadow-color":[{shadow:c()}],"inset-shadow":[{"inset-shadow":["none",x,J,X]}],"inset-shadow-color":[{"inset-shadow":c()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:c()}],"ring-offset-w":[{"ring-offset":[p,_]}],"ring-offset-color":[{"ring-offset":c()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":c()}],"text-shadow":[{"text-shadow":["none",T,J,X]}],"text-shadow-color":[{"text-shadow":c()}],opacity:[{opacity:[p,n,s]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[p]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":c()}],"mask-image-linear-to-color":[{"mask-linear-to":c()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":c()}],"mask-image-t-to-color":[{"mask-t-to":c()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":c()}],"mask-image-r-to-color":[{"mask-r-to":c()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":c()}],"mask-image-b-to-color":[{"mask-b-to":c()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":c()}],"mask-image-l-to-color":[{"mask-l-to":c()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":c()}],"mask-image-x-to-color":[{"mask-x-to":c()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":c()}],"mask-image-y-to-color":[{"mask-y-to":c()}],"mask-image-radial":[{"mask-radial":[n,s]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":c()}],"mask-image-radial-to-color":[{"mask-radial-to":c()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":W()}],"mask-image-conic-pos":[{"mask-conic":[p]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":c()}],"mask-image-conic-to-color":[{"mask-conic-to":c()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:be()}],"mask-size":[{mask:fe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",n,s]}],filter:[{filter:["","none",n,s]}],blur:[{blur:he()}],brightness:[{brightness:[p,n,s]}],contrast:[{contrast:[p,n,s]}],"drop-shadow":[{"drop-shadow":["","none",S,J,X]}],"drop-shadow-color":[{"drop-shadow":c()}],grayscale:[{grayscale:["",p,n,s]}],"hue-rotate":[{"hue-rotate":[p,n,s]}],invert:[{invert:["",p,n,s]}],saturate:[{saturate:[p,n,s]}],sepia:[{sepia:["",p,n,s]}],"backdrop-filter":[{"backdrop-filter":["","none",n,s]}],"backdrop-blur":[{"backdrop-blur":he()}],"backdrop-brightness":[{"backdrop-brightness":[p,n,s]}],"backdrop-contrast":[{"backdrop-contrast":[p,n,s]}],"backdrop-grayscale":[{"backdrop-grayscale":["",p,n,s]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p,n,s]}],"backdrop-invert":[{"backdrop-invert":["",p,n,s]}],"backdrop-opacity":[{"backdrop-opacity":[p,n,s]}],"backdrop-saturate":[{"backdrop-saturate":[p,n,s]}],"backdrop-sepia":[{"backdrop-sepia":["",p,n,s]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":a()}],"border-spacing-x":[{"border-spacing-x":a()}],"border-spacing-y":[{"border-spacing-y":a()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",n,s]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[p,"initial",n,s]}],ease:[{ease:["linear","initial",L,n,s]}],delay:[{delay:[p,n,s]}],animate:[{animate:["none",v,n,s]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,n,s]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:D()}],"rotate-x":[{"rotate-x":D()}],"rotate-y":[{"rotate-y":D()}],"rotate-z":[{"rotate-z":D()}],scale:[{scale:Y()}],"scale-x":[{"scale-x":Y()}],"scale-y":[{"scale-y":Y()}],"scale-z":[{"scale-z":Y()}],"scale-3d":["scale-3d"],skew:[{skew:re()}],"skew-x":[{"skew-x":re()}],"skew-y":[{"skew-y":re()}],transform:[{transform:[n,s,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:q()}],"translate-x":[{"translate-x":q()}],"translate-y":[{"translate-y":q()}],"translate-z":[{"translate-z":q()}],"translate-none":["translate-none"],zoom:[{zoom:[A,n,s]}],accent:[{accent:c()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:c()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",n,s]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":c()}],"scrollbar-track-color":[{"scrollbar-track":c()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":a()}],"scroll-mx":[{"scroll-mx":a()}],"scroll-my":[{"scroll-my":a()}],"scroll-ms":[{"scroll-ms":a()}],"scroll-me":[{"scroll-me":a()}],"scroll-mbs":[{"scroll-mbs":a()}],"scroll-mbe":[{"scroll-mbe":a()}],"scroll-mt":[{"scroll-mt":a()}],"scroll-mr":[{"scroll-mr":a()}],"scroll-mb":[{"scroll-mb":a()}],"scroll-ml":[{"scroll-ml":a()}],"scroll-p":[{"scroll-p":a()}],"scroll-px":[{"scroll-px":a()}],"scroll-py":[{"scroll-py":a()}],"scroll-ps":[{"scroll-ps":a()}],"scroll-pe":[{"scroll-pe":a()}],"scroll-pbs":[{"scroll-pbs":a()}],"scroll-pbe":[{"scroll-pbe":a()}],"scroll-pt":[{"scroll-pt":a()}],"scroll-pr":[{"scroll-pr":a()}],"scroll-pb":[{"scroll-pb":a()}],"scroll-pl":[{"scroll-pl":a()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",n,s]}],fill:[{fill:["none",...c()]}],"stroke-w":[{stroke:[p,K,_,ze]}],stroke:[{stroke:["none",...c()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var je=po(No);function ie(...e){return je(ke(e))}import{jsx as Be}from"react/jsx-runtime";function le({className:e,...t}){return Be("kbd",{"data-slot":"kbd",className:ie("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none","[&_svg:not([class*='size-'])]:size-3","[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",e),...t})}function Fe({className:e,...t}){return Be("kbd",{"data-slot":"kbd-group",className:ie("inline-flex items-center gap-1",e),...t})}import{jsx as ce,jsxs as Ke}from"react/jsx-runtime";function _o(){return ce("div",{className:"flex flex-col items-center gap-4",children:Ke("p",{className:"text-sm text-muted-foreground",children:["Use"," ",Ke(Fe,{children:[ce(le,{children:"Ctrl + B"}),ce(le,{children:"Ctrl + K"})]})," ","to open the command palette"]})})}export{_o as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f422868f78910e74331e42156cba1cea1ee32d4c7fcdb7c78bd73462f1a0cbbc
3
+ size 28364
b/1c59c83fc23c4067fd3a0235ba74a102c29ac97dc9e94a8e968fc00689672540 CHANGED
@@ -1,92 +1,3 @@
1
- // core/skills.js — SELF-EVOLVING AGENT SKILLS, 100% agentskills.io-compatible, enhanced by the UOR
2
- // substrate. A skill is a folder with SKILL.md (name + description frontmatter + instructions) —
3
- // the open Anthropic/agentskills.io format, portable to any skills-compatible agent. The Hermes
4
- // idea (the agent autonomously CREATES and IMPROVES skills from experience) is realized as the
5
- // agent's own tools. The substrate enhancement: every skill version is content-addressed (κ) and
6
- // chained — a tamper-proof PROVENANCE of how the skill evolved (Holo Prov). Skills live in OPFS
7
- // "/skills/<name>/SKILL.md"; the chain log in "/skills/<name>/.prov" (one κ per version).
8
- //
9
- // Progressive disclosure (the spec): DISCOVERY (names+descriptions injected at session start) →
10
- // ACTIVATION (read_skill loads full SKILL.md) → EXECUTION (the agent follows it, using file tools).
11
-
12
- import { skillAsHowTo, verifySemantic } from "./semantic.js";
13
-
14
- const te = new TextEncoder(), td = new TextDecoder();
15
- const sha = async (s) => "did:holo:sha256:" + [...new Uint8Array(await crypto.subtle.digest("SHA-256", te.encode(s)))].map((b) => b.toString(16).padStart(2, "0")).join("");
16
- const slug = (s) => String(s || "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 48) || "skill";
17
-
18
- async function skillsRoot() { const d = await navigator.storage.getDirectory(); const a = await d.getDirectoryHandle("skills", { create: true }); return a; }
19
- async function skillDir(name, create = false) { return (await skillsRoot()).getDirectoryHandle(slug(name), { create }); }
20
- async function readText(dir, file) { const fh = await dir.getFileHandle(file); return td.decode(await (await fh.getFile()).arrayBuffer()); }
21
- async function writeText(dir, file, text) { const fh = await dir.getFileHandle(file, { create: true }); const w = await fh.createWritable(); await w.write(te.encode(text)); await w.close(); }
22
-
23
- // SKILL.md = YAML-ish frontmatter (name, description) + markdown instructions (verbatim spec form).
24
- function buildSkillMd({ name, description, instructions }) {
25
- return `---\nname: ${name}\ndescription: ${description}\n---\n\n${instructions || ""}\n`;
26
- }
27
- function parseSkillMd(text) {
28
- const m = text.match(/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);
29
- const meta = {}; if (m) for (const line of m[1].split("\n")) { const i = line.indexOf(":"); if (i > 0) meta[line.slice(0, i).trim()] = line.slice(i + 1).trim(); }
30
- return { name: meta.name || "", description: meta.description || "", instructions: m ? m[2].trim() : text.trim() };
31
- }
32
-
33
- export async function listSkills() {
34
- const out = [];
35
- try { const root = await skillsRoot();
36
- for await (const [n, h] of root.entries()) { if (h.kind !== "directory") continue;
37
- try { const sk = parseSkillMd(await readText(h, "SKILL.md")); out.push({ slug: n, name: sk.name || n, description: sk.description }); } catch {} } }
38
- catch {}
39
- return out.sort((a, b) => a.name.localeCompare(b.name));
40
- }
41
-
42
- export async function readSkill(name) { const dir = await skillDir(name); return parseSkillMd(await readText(dir, "SKILL.md")); }
43
-
44
- // save = create OR improve (self-evolution). Appends a κ to the provenance chain — every version
45
- // sealed + chained to its parent, so the skill's evolution is verifiable (Holo Prov shape).
46
- export async function saveSkill({ name, description, instructions }) {
47
- const dir = await skillDir(name, true);
48
- const md = buildSkillMd({ name, description, instructions });
49
- const kappa = await sha(md);
50
- let prov = []; try { prov = JSON.parse(await readText(dir, ".prov")); } catch {}
51
- const parent = prov.length ? prov[prov.length - 1].kappa : null;
52
- prov.push({ v: prov.length + 1, kappa, parent, descKappa: await sha(description || "") });
53
- await writeText(dir, "SKILL.md", md);
54
- await writeText(dir, ".prov", JSON.stringify(prov, null, 1));
55
- // semantic skin (C2): emit the W3C linked-data view — schema:HowTo + PROV-O revision chain.
56
- const ld = skillAsHowTo({ name, description, instructions, kappa, prov });
57
- await writeText(dir, "skill.jsonld", JSON.stringify(ld, null, 1));
58
- return { slug: slug(name), kappa, version: prov.length, parent, semantic: verifySemantic(ld).ok };
59
- }
60
-
61
- // the W3C linked-data view of a skill (schema:HowTo + PROV-O), for export / validation / agents.
62
- export async function skillLinkedData(name) { try { return JSON.parse(await readText(await skillDir(name), "skill.jsonld")); } catch { return null; } }
63
-
64
- export async function skillProvenance(name) { try { return JSON.parse(await readText(await skillDir(name), ".prov")); } catch { return []; } }
65
-
66
- // DISCOVERY block (progressive disclosure stage 1): names + descriptions only — small footprint.
67
- export async function skillsDiscoveryPrompt() {
68
- const sk = await listSkills();
69
- if (!sk.length) return "";
70
- return "You have these learned SKILLS available (each a verifiable, content-addressed capability you built from experience). " +
71
- "When a task matches a skill's description, call read_skill to load its full instructions, then follow them. " +
72
- "When you complete a non-trivial task worth reusing, call save_skill to capture it (or improve an existing one):\n" +
73
- sk.map((s) => `- ${s.name}: ${s.description}`).join("\n");
74
- }
75
-
76
- // the agent's skill tools (Hermes self-evolution: the agent creates/improves/uses skills itself)
77
- export function skillTools() {
78
- return [
79
- {
80
- def: { name: "list_skills", description: "List the learned skills available (name + description).", inputSchema: { type: "object", properties: {}, required: [] } },
81
- serverName: "skills", call: async () => { const s = await listSkills(); return { text: s.length ? s.map((x) => `${x.name}: ${x.description}`).join("\n") : "(no skills yet)", isError: false }; },
82
- },
83
- {
84
- def: { name: "read_skill", description: "Load a skill's full instructions by name, to follow them for the current task.", inputSchema: { type: "object", properties: { name: { type: "string" } }, required: ["name"] } },
85
- serverName: "skills", call: async ({ name }) => { try { const s = await readSkill(name); return { text: `# ${s.name}\n${s.description}\n\n${s.instructions}`, isError: false }; } catch (e) { return { text: "no such skill: " + name, isError: true }; } },
86
- },
87
- {
88
- def: { name: "save_skill", description: "Capture a reusable skill from what you just did (or improve an existing one). name: short; description: one line of WHEN to use it; instructions: the step-by-step procedure. Each save is sealed + chained (verifiable provenance).", inputSchema: { type: "object", properties: { name: { type: "string" }, description: { type: "string" }, instructions: { type: "string" } }, required: ["name", "description", "instructions"] } },
89
- serverName: "skills", call: async ({ name, description, instructions }) => { try { const r = await saveSkill({ name, description, instructions }); return { text: `skill "${name}" saved (v${r.version}, ${r.kappa.slice(0, 28)}…${r.parent ? `, evolved from ${r.parent.slice(0, 20)}…` : ", first version"})`, isError: false }; } catch (e) { return { text: "save error: " + (e.message || e), isError: true }; } },
90
- },
91
- ];
92
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c53b8e9fbb3a9bccb4828e2ab5a4cacd3b1c30d26f9832b2aeb5ca013b3e6df6
3
+ size 7176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1c5cd62e9af7e00c7c5f915b362aefbadaaf8a9891efad966e129004a5d60e94 CHANGED
@@ -1 +1,3 @@
1
- import{jsx as o}from"react/jsx-runtime";function t(){return o("h2",{className:"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0",children:"The People of the Kingdom"})}export{t as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:20c1c78464a1c8a392639306dd9cf5252d125d979e3842927692b5ac5bfa84a0
3
+ size 216
b/1c75f20c416b6d150f7e753b8ab04612dc6104da2a597bfd7cd1d4f144feb3a5 CHANGED
@@ -1,46 +1,3 @@
1
- import {
2
- IconBrandJavascript,
3
- IconCopy,
4
- IconCornerDownLeft,
5
- IconRefresh,
6
- } from "@tabler/icons-react"
7
-
8
- import {
9
- InputGroup,
10
- InputGroupAddon,
11
- InputGroupButton,
12
- InputGroupText,
13
- InputGroupTextarea,
14
- } from "@/registry/new-york-v4/ui/input-group"
15
-
16
- export default function InputGroupTextareaExample() {
17
- return (
18
- <div className="grid w-full max-w-md gap-4">
19
- <InputGroup>
20
- <InputGroupTextarea
21
- id="textarea-code-32"
22
- placeholder="console.log('Hello, world!');"
23
- className="min-h-[200px]"
24
- />
25
- <InputGroupAddon align="block-end" className="border-t">
26
- <InputGroupText>Line 1, Column 1</InputGroupText>
27
- <InputGroupButton size="sm" className="ml-auto" variant="default">
28
- Run <IconCornerDownLeft />
29
- </InputGroupButton>
30
- </InputGroupAddon>
31
- <InputGroupAddon align="block-start" className="border-b">
32
- <InputGroupText className="font-mono font-medium">
33
- <IconBrandJavascript />
34
- script.js
35
- </InputGroupText>
36
- <InputGroupButton className="ml-auto" size="icon-xs">
37
- <IconRefresh />
38
- </InputGroupButton>
39
- <InputGroupButton variant="ghost" size="icon-xs">
40
- <IconCopy />
41
- </InputGroupButton>
42
- </InputGroupAddon>
43
- </InputGroup>
44
- </div>
45
- )
46
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f243f0f38cf7e725ee21e21c695bef2f9cbdb57fc6d63042843e6a364231a4fc
3
+ size 1368
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1c852725efc7493292f86d26c5992104439e442f8190a016cf569571010cb14c CHANGED
@@ -1 +1,3 @@
1
- var Tt=Object.defineProperty;var Oe=(e,t)=>{for(var r in t)Tt(e,r,{get:t[r],enumerable:!0})};import*as Ue from"react";import*as qt from"react-dom";var ne={};Oe(ne,{Root:()=>jt,Slot:()=>jt,Slottable:()=>Ot,createSlot:()=>se,createSlottable:()=>He});import*as z from"react";import*as We from"react";function Fe(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Vt(...e){return t=>{let r=!1,o=e.map(s=>{let n=Fe(s,t);return!r&&typeof n=="function"&&(r=!0),n});if(r)return()=>{for(let s=0;s<o.length;s++){let n=o[s];typeof n=="function"?n():Fe(e[s],null)}}}}function $e(...e){return We.useCallback(Vt(...e),e)}function se(e){let t=z.forwardRef((r,o)=>{let{children:s,...n}=r,a=null,c=!1,m=[];Be(s)&&typeof oe=="function"&&(s=oe(s._payload)),z.Children.forEach(s,h=>{if(Bt(h)){c=!0;let v=h,y="child"in v.props?v.props.child:v.props.children;Be(y)&&typeof oe=="function"&&(y=oe(y._payload)),a=Ft(v,y),m.push(a?.props?.children)}else m.push(h)}),a?a=z.cloneElement(a,void 0,m):!c&&z.Children.count(s)===1&&z.isValidElement(s)&&(a=s);let d=a?$t(a):void 0,b=$e(o,d);if(!a){if(s||s===0)throw new Error(c?Yt(e):Ut(e));return s}let g=Wt(n,a.props??{});return a.type!==z.Fragment&&(g.ref=o?b:d),z.cloneElement(a,g)});return t.displayName=`${e}.Slot`,t}var jt=se("Slot"),De=Symbol.for("radix.slottable");function He(e){let t=r=>"child"in r?r.children(r.child):r.children;return t.displayName=`${e}.Slottable`,t.__radixId=De,t}var Ot=He("Slottable"),Ft=(e,t)=>{if("child"in e.props){let r=e.props.child;return z.isValidElement(r)?z.cloneElement(r,void 0,e.props.children(r.props.children)):null}return z.isValidElement(t)?t:null};function Wt(e,t){let r={...t};for(let o in t){let s=e[o],n=t[o];/^on[A-Z]/.test(o)?s&&n?r[o]=(...c)=>{let m=n(...c);return s(...c),m}:s&&(r[o]=s):o==="style"?r[o]={...s,...n}:o==="className"&&(r[o]=[s,n].filter(Boolean).join(" "))}return{...e,...r}}function $t(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Bt(e){return z.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===De}var Dt=Symbol.for("react.lazy");function Be(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Dt&&"_payload"in e&&Ht(e._payload)}function Ht(e){return typeof e=="object"&&e!==null&&"then"in e}var Ut=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Yt=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,oe=z[" use ".trim().toString()];import{jsx as Kt}from"react/jsx-runtime";var Xt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ae=Xt.reduce((e,t)=>{let r=se(`Primitive.${t}`),o=Ue.forwardRef((s,n)=>{let{asChild:a,...c}=s,m=a?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),Kt(m,{...c,ref:n})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});import*as _ from"react";import{jsx as Zt}from"react/jsx-runtime";function Ye(e,t=[]){let r=[];function o(n,a){let c=_.createContext(a);c.displayName=n+"Context";let m=r.length;r=[...r,a];let d=g=>{let{scope:h,children:v,...y}=g,k=h?.[e]?.[m]||c,R=_.useMemo(()=>y,Object.values(y));return Zt(k.Provider,{value:R,children:v})};d.displayName=n+"Provider";function b(g,h){let v=h?.[e]?.[m]||c,y=_.useContext(v);if(y)return y;if(a!==void 0)return a;throw new Error(`\`${g}\` must be used within \`${n}\``)}return[d,b]}let s=()=>{let n=r.map(a=>_.createContext(a));return function(c){let m=c?.[e]||n;return _.useMemo(()=>({[`__scope${e}`]:{...c,[e]:m}}),[c,m])}};return s.scopeName=e,[o,Jt(s,...t)]}function Jt(...e){let t=e[0];if(e.length===1)return t;let r=()=>{let o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(n){let a=o.reduce((c,{useScope:m,scopeName:d})=>{let g=m(n)[`__scope${d}`];return{...c,...g}},{});return _.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return r.scopeName=t.scopeName,r}import*as qe from"react";var ie=globalThis?.document?qe.useLayoutEffect:()=>{};import*as Y from"react";function Ke(e){let t=Y.useRef(e);return Y.useEffect(()=>{t.current=e}),Y.useMemo(()=>(...r)=>t.current?.(...r),[])}var q={};Oe(q,{Avatar:()=>we,AvatarFallback:()=>ze,AvatarImage:()=>Re,Fallback:()=>cr,Image:()=>lr,Root:()=>ir,createAvatarScope:()=>sr});import*as I from"react";import*as Qt from"react";import*as le from"react";var ye=!1;function er(){let[e,t]=le.useState(ye);return le.useEffect(()=>{ye||(ye=!0,t(!0))},[]),e}var Xe=Qt[" useSyncExternalStore ".trim().toString()];function tr(){return()=>{}}function rr(){return Xe(tr,()=>!0,()=>!1)}var Ze=typeof Xe=="function"?rr:er;import{jsx as ce}from"react/jsx-runtime";var ke="Avatar",[or,sr]=Ye(ke),[nr,Qe]=or(ke),we=I.forwardRef((e,t)=>{let{__scopeAvatar:r,...o}=e,[s,n]=I.useState("idle");return ce(nr,{scope:r,imageLoadingStatus:s,onImageLoadingStatusChange:n,children:ce(ae.span,{...o,ref:t})})});we.displayName=ke;var et="AvatarImage",Re=I.forwardRef((e,t)=>{let{__scopeAvatar:r,src:o,onLoadingStatusChange:s=()=>{},...n}=e,a=Qe(et,r),c=ar(o,n),m=Ke(d=>{s(d),a.onImageLoadingStatusChange(d)});return ie(()=>{c!=="idle"&&m(c)},[c,m]),c==="loaded"?ce(ae.img,{...n,ref:t,src:o}):null});Re.displayName=et;var tt="AvatarFallback",ze=I.forwardRef((e,t)=>{let{__scopeAvatar:r,delayMs:o,...s}=e,n=Qe(tt,r),[a,c]=I.useState(o===void 0);return I.useEffect(()=>{if(o!==void 0){let m=window.setTimeout(()=>c(!0),o);return()=>window.clearTimeout(m)}},[o]),a&&n.imageLoadingStatus!=="loaded"?ce(ae.span,{...s,ref:t}):null});ze.displayName=tt;function Je(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function ar(e,{referrerPolicy:t,crossOrigin:r}){let o=Ze(),s=I.useRef(null),n=o?(s.current||(s.current=new window.Image),s.current):null,[a,c]=I.useState(()=>Je(n,e));return ie(()=>{c(Je(n,e))},[n,e]),ie(()=>{let m=g=>()=>{c(g)};if(!n)return;let d=m("loaded"),b=m("error");return n.addEventListener("load",d),n.addEventListener("error",b),t&&(n.referrerPolicy=t),typeof r=="string"&&(n.crossOrigin=r),()=>{n.removeEventListener("load",d),n.removeEventListener("error",b)}},[n,r,t]),a}var ir=we,lr=Re,cr=ze;function rt(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(r=rt(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function de(){for(var e,t,r=0,o="",s=arguments.length;r<s;r++)(e=arguments[r])&&(t=rt(e))&&(o&&(o+=" "),o+=t);return o}var dr=(e,t)=>{let r=new Array(e.length+t.length);for(let o=0;o<e.length;o++)r[o]=e[o];for(let o=0;o<t.length;o++)r[e.length+o]=t[o];return r},mr=(e,t)=>({classGroupId:e,validator:t}),ct=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),pe="-",ot=[],ur="arbitrary..",pr=e=>{let t=gr(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return fr(a);let c=a.split(pe),m=c[0]===""&&c.length>1?1:0;return dt(c,m,t)},getConflictingClassGroupIds:(a,c)=>{if(c){let m=o[a],d=r[a];return m?d?dr(d,m):m:d||ot}return r[a]||ot}}},dt=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;let s=e[t],n=r.nextPart.get(s);if(n){let d=dt(e,t+1,n);if(d)return d}let a=r.validators;if(a===null)return;let c=t===0?e.join(pe):e.slice(t).join(pe),m=a.length;for(let d=0;d<m;d++){let b=a[d];if(b.validator(c))return b.classGroupId}},fr=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?ur+o:void 0})(),gr=e=>{let{theme:t,classGroups:r}=e;return br(r,t)},br=(e,t)=>{let r=ct();for(let o in e){let s=e[o];Ae(s,r,o,t)}return r},Ae=(e,t,r,o)=>{let s=e.length;for(let n=0;n<s;n++){let a=e[n];hr(a,t,r,o)}},hr=(e,t,r,o)=>{if(typeof e=="string"){vr(e,t,r);return}if(typeof e=="function"){xr(e,t,r,o);return}yr(e,t,r,o)},vr=(e,t,r)=>{let o=e===""?t:mt(t,e);o.classGroupId=r},xr=(e,t,r,o)=>{if(kr(e)){Ae(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(mr(r,e))},yr=(e,t,r,o)=>{let s=Object.entries(e),n=s.length;for(let a=0;a<n;a++){let[c,m]=s[a];Ae(m,mt(t,c),r,o)}},mt=(e,t)=>{let r=e,o=t.split(pe),s=o.length;for(let n=0;n<s;n++){let a=o[n],c=r.nextPart.get(a);c||(c=ct(),r.nextPart.set(a,c)),r=c}return r},kr=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,wr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null),s=(n,a)=>{r[n]=a,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(n){let a=r[n];if(a!==void 0)return a;if((a=o[n])!==void 0)return s(n,a),a},set(n,a){n in r?r[n]=a:s(n,a)}}},Se="!",st=":",Rr=[],nt=(e,t,r,o,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:s}),zr=e=>{let{prefix:t,experimentalParseClassName:r}=e,o=s=>{let n=[],a=0,c=0,m=0,d,b=s.length;for(let k=0;k<b;k++){let R=s[k];if(a===0&&c===0){if(R===st){n.push(s.slice(m,k)),m=k+1;continue}if(R==="/"){d=k;continue}}R==="["?a++:R==="]"?a--:R==="("?c++:R===")"&&c--}let g=n.length===0?s:s.slice(m),h=g,v=!1;g.endsWith(Se)?(h=g.slice(0,-1),v=!0):g.startsWith(Se)&&(h=g.slice(1),v=!0);let y=d&&d>m?d-m:void 0;return nt(n,v,h,y)};if(t){let s=t+st,n=o;o=a=>a.startsWith(s)?n(a.slice(s.length)):nt(Rr,!1,a,void 0,!0)}if(r){let s=o;o=n=>r({className:n,parseClassName:s})}return o},Cr=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{let o=[],s=[];for(let n=0;n<r.length;n++){let a=r[n],c=a[0]==="[",m=t.has(a);c||m?(s.length>0&&(s.sort(),o.push(...s),s=[]),o.push(a)):s.push(a)}return s.length>0&&(s.sort(),o.push(...s)),o}},Sr=e=>({cache:wr(e.cacheSize),parseClassName:zr(e),sortModifiers:Cr(e),postfixLookupClassGroupIds:Ar(e),...pr(e)}),Ar=e=>{let t=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let o=0;o<r.length;o++)t[r[o]]=!0;return t},Pr=/\s+/,Er=(e,t)=>{let{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s,sortModifiers:n,postfixLookupClassGroupIds:a}=t,c=[],m=e.trim().split(Pr),d="";for(let b=m.length-1;b>=0;b-=1){let g=m[b],{isExternal:h,modifiers:v,hasImportantModifier:y,baseClassName:k,maybePostfixModifierPosition:R}=r(g);if(h){d=g+(d.length>0?" "+d:d);continue}let j=!!R,A;if(j){let N=k.substring(0,R);A=o(N);let u=A&&a[A]?o(k):void 0;u&&u!==A&&(A=u,j=!1)}else A=o(k);if(!A){if(!j){d=g+(d.length>0?" "+d:d);continue}if(A=o(k),!A){d=g+(d.length>0?" "+d:d);continue}j=!1}let X=v.length===0?"":v.length===1?v[0]:n(v).join(":"),B=y?X+Se:X,D=B+A;if(c.indexOf(D)>-1)continue;c.push(D);let H=s(A,j);for(let N=0;N<H.length;++N){let u=H[N];c.push(B+u)}d=g+(d.length>0?" "+d:d)}return d},Ir=(...e)=>{let t=0,r,o,s="";for(;t<e.length;)(r=e[t++])&&(o=ut(r))&&(s&&(s+=" "),s+=o);return s},ut=e=>{if(typeof e=="string")return e;let t,r="";for(let o=0;o<e.length;o++)e[o]&&(t=ut(e[o]))&&(r&&(r+=" "),r+=t);return r},Mr=(e,...t)=>{let r,o,s,n,a=m=>{let d=t.reduce((b,g)=>g(b),e());return r=Sr(d),o=r.cache.get,s=r.cache.set,n=c,c(m)},c=m=>{let d=o(m);if(d)return d;let b=Er(m,r);return s(m,b),b};return n=a,(...m)=>n(Ir(...m))},Lr=[],x=e=>{let t=r=>r[e]||Lr;return t.isThemeGetter=!0,t},pt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ft=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Nr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_r=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Gr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Tr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Vr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,jr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,T=e=>Nr.test(e),f=e=>!!e&&!Number.isNaN(Number(e)),L=e=>!!e&&Number.isInteger(Number(e)),Ce=e=>e.endsWith("%")&&f(e.slice(0,-1)),G=e=>_r.test(e),gt=()=>!0,Or=e=>Gr.test(e)&&!Tr.test(e),Pe=()=>!1,Fr=e=>Vr.test(e),Wr=e=>jr.test(e),$r=e=>!i(e)&&!l(e),Br=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Dr=e=>V(e,vt,Pe),i=e=>pt.test(e),F=e=>V(e,xt,Or),at=e=>V(e,Jr,f),Hr=e=>V(e,kt,gt),Ur=e=>V(e,yt,Pe),it=e=>V(e,bt,Pe),Yr=e=>V(e,ht,Wr),me=e=>V(e,wt,Fr),l=e=>ft.test(e),Z=e=>W(e,xt),qr=e=>W(e,yt),lt=e=>W(e,bt),Kr=e=>W(e,vt),Xr=e=>W(e,ht),ue=e=>W(e,wt,!0),Zr=e=>W(e,kt,!0),V=(e,t,r)=>{let o=pt.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},W=(e,t,r=!1)=>{let o=ft.exec(e);return o?o[1]?t(o[1]):r:!1},bt=e=>e==="position"||e==="percentage",ht=e=>e==="image"||e==="url",vt=e=>e==="length"||e==="size"||e==="bg-size",xt=e=>e==="length",Jr=e=>e==="number",yt=e=>e==="family-name",kt=e=>e==="number"||e==="weight",wt=e=>e==="shadow";var Qr=()=>{let e=x("color"),t=x("font"),r=x("text"),o=x("font-weight"),s=x("tracking"),n=x("leading"),a=x("breakpoint"),c=x("container"),m=x("spacing"),d=x("radius"),b=x("shadow"),g=x("inset-shadow"),h=x("text-shadow"),v=x("drop-shadow"),y=x("blur"),k=x("perspective"),R=x("aspect"),j=x("ease"),A=x("animate"),X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],B=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],D=()=>[...B(),l,i],H=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],u=()=>[l,i,m],P=()=>[T,"full","auto",...u()],Me=()=>[L,"none","subgrid",l,i],Le=()=>["auto",{span:["full",L,l,i]},L,l,i],J=()=>[L,"auto",l,i],Ne=()=>["auto","min","max","fr",l,i],ge=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],U=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...u()],O=()=>[T,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...u()],be=()=>[T,"screen","full","dvw","lvw","svw","min","max","fit",...u()],he=()=>[T,"screen","full","lh","dvh","lvh","svh","min","max","fit",...u()],p=()=>[e,l,i],_e=()=>[...B(),lt,it,{position:[l,i]}],Ge=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Te=()=>["auto","cover","contain",Kr,Dr,{size:[l,i]}],ve=()=>[Ce,Z,F],C=()=>["","none","full",d,l,i],S=()=>["",f,Z,F],Q=()=>["solid","dashed","dotted","double"],Ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],w=()=>[f,Ce,lt,it],je=()=>["","none",y,l,i],ee=()=>["none",f,l,i],te=()=>["none",f,l,i],xe=()=>[f,l,i],re=()=>[T,"full",...u()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[G],breakpoint:[G],color:[gt],container:[G],"drop-shadow":[G],ease:["in","out","in-out"],font:[$r],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[G],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[G],shadow:[G],spacing:["px",f],text:[G],"text-shadow":[G],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",T,i,l,R]}],container:["container"],"container-type":[{"@container":["","normal","size",l,i]}],"container-named":[Br],columns:[{columns:[f,i,l,c]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:D()}],overflow:[{overflow:H()}],"overflow-x":[{"overflow-x":H()}],"overflow-y":[{"overflow-y":H()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[L,"auto",l,i]}],basis:[{basis:[T,"full","auto",c,...u()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[f,T,"auto","initial","none",i]}],grow:[{grow:["",f,l,i]}],shrink:[{shrink:["",f,l,i]}],order:[{order:[L,"first","last","none",l,i]}],"grid-cols":[{"grid-cols":Me()}],"col-start-end":[{col:Le()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":Me()}],"row-start-end":[{row:Le()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ne()}],"auto-rows":[{"auto-rows":Ne()}],gap:[{gap:u()}],"gap-x":[{"gap-x":u()}],"gap-y":[{"gap-y":u()}],"justify-content":[{justify:[...ge(),"normal"]}],"justify-items":[{"justify-items":[...U(),"normal"]}],"justify-self":[{"justify-self":["auto",...U()]}],"align-content":[{content:["normal",...ge()]}],"align-items":[{items:[...U(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...U(),{baseline:["","last"]}]}],"place-content":[{"place-content":ge()}],"place-items":[{"place-items":[...U(),"baseline"]}],"place-self":[{"place-self":["auto",...U()]}],p:[{p:u()}],px:[{px:u()}],py:[{py:u()}],ps:[{ps:u()}],pe:[{pe:u()}],pbs:[{pbs:u()}],pbe:[{pbe:u()}],pt:[{pt:u()}],pr:[{pr:u()}],pb:[{pb:u()}],pl:[{pl:u()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":u()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":u()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...be()]}],"min-inline-size":[{"min-inline":["auto",...be()]}],"max-inline-size":[{"max-inline":["none",...be()]}],"block-size":[{block:["auto",...he()]}],"min-block-size":[{"min-block":["auto",...he()]}],"max-block-size":[{"max-block":["none",...he()]}],w:[{w:[c,"screen",...O()]}],"min-w":[{"min-w":[c,"screen","none",...O()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[a]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",r,Z,F]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Zr,Hr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ce,i]}],"font-family":[{font:[qr,Ur,t]}],"font-features":[{"font-features":[i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,l,i]}],"line-clamp":[{"line-clamp":[f,"none",l,at]}],leading:[{leading:[n,...u()]}],"list-image":[{"list-image":["none",l,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:p()}],"text-color":[{text:p()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:[f,"from-font","auto",l,F]}],"text-decoration-color":[{decoration:p()}],"underline-offset":[{"underline-offset":[f,"auto",l,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:u()}],"tab-size":[{tab:[L,l,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",l,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_e()}],"bg-repeat":[{bg:Ge()}],"bg-size":[{bg:Te()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},L,l,i],radial:["",l,i],conic:[L,l,i]},Xr,Yr]}],"bg-color":[{bg:p()}],"gradient-from-pos":[{from:ve()}],"gradient-via-pos":[{via:ve()}],"gradient-to-pos":[{to:ve()}],"gradient-from":[{from:p()}],"gradient-via":[{via:p()}],"gradient-to":[{to:p()}],rounded:[{rounded:C()}],"rounded-s":[{"rounded-s":C()}],"rounded-e":[{"rounded-e":C()}],"rounded-t":[{"rounded-t":C()}],"rounded-r":[{"rounded-r":C()}],"rounded-b":[{"rounded-b":C()}],"rounded-l":[{"rounded-l":C()}],"rounded-ss":[{"rounded-ss":C()}],"rounded-se":[{"rounded-se":C()}],"rounded-ee":[{"rounded-ee":C()}],"rounded-es":[{"rounded-es":C()}],"rounded-tl":[{"rounded-tl":C()}],"rounded-tr":[{"rounded-tr":C()}],"rounded-br":[{"rounded-br":C()}],"rounded-bl":[{"rounded-bl":C()}],"border-w":[{border:S()}],"border-w-x":[{"border-x":S()}],"border-w-y":[{"border-y":S()}],"border-w-s":[{"border-s":S()}],"border-w-e":[{"border-e":S()}],"border-w-bs":[{"border-bs":S()}],"border-w-be":[{"border-be":S()}],"border-w-t":[{"border-t":S()}],"border-w-r":[{"border-r":S()}],"border-w-b":[{"border-b":S()}],"border-w-l":[{"border-l":S()}],"divide-x":[{"divide-x":S()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":S()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Q(),"hidden","none"]}],"divide-style":[{divide:[...Q(),"hidden","none"]}],"border-color":[{border:p()}],"border-color-x":[{"border-x":p()}],"border-color-y":[{"border-y":p()}],"border-color-s":[{"border-s":p()}],"border-color-e":[{"border-e":p()}],"border-color-bs":[{"border-bs":p()}],"border-color-be":[{"border-be":p()}],"border-color-t":[{"border-t":p()}],"border-color-r":[{"border-r":p()}],"border-color-b":[{"border-b":p()}],"border-color-l":[{"border-l":p()}],"divide-color":[{divide:p()}],"outline-style":[{outline:[...Q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[f,l,i]}],"outline-w":[{outline:["",f,Z,F]}],"outline-color":[{outline:p()}],shadow:[{shadow:["","none",b,ue,me]}],"shadow-color":[{shadow:p()}],"inset-shadow":[{"inset-shadow":["none",g,ue,me]}],"inset-shadow-color":[{"inset-shadow":p()}],"ring-w":[{ring:S()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:p()}],"ring-offset-w":[{"ring-offset":[f,F]}],"ring-offset-color":[{"ring-offset":p()}],"inset-ring-w":[{"inset-ring":S()}],"inset-ring-color":[{"inset-ring":p()}],"text-shadow":[{"text-shadow":["none",h,ue,me]}],"text-shadow-color":[{"text-shadow":p()}],opacity:[{opacity:[f,l,i]}],"mix-blend":[{"mix-blend":[...Ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[f]}],"mask-image-linear-from-pos":[{"mask-linear-from":w()}],"mask-image-linear-to-pos":[{"mask-linear-to":w()}],"mask-image-linear-from-color":[{"mask-linear-from":p()}],"mask-image-linear-to-color":[{"mask-linear-to":p()}],"mask-image-t-from-pos":[{"mask-t-from":w()}],"mask-image-t-to-pos":[{"mask-t-to":w()}],"mask-image-t-from-color":[{"mask-t-from":p()}],"mask-image-t-to-color":[{"mask-t-to":p()}],"mask-image-r-from-pos":[{"mask-r-from":w()}],"mask-image-r-to-pos":[{"mask-r-to":w()}],"mask-image-r-from-color":[{"mask-r-from":p()}],"mask-image-r-to-color":[{"mask-r-to":p()}],"mask-image-b-from-pos":[{"mask-b-from":w()}],"mask-image-b-to-pos":[{"mask-b-to":w()}],"mask-image-b-from-color":[{"mask-b-from":p()}],"mask-image-b-to-color":[{"mask-b-to":p()}],"mask-image-l-from-pos":[{"mask-l-from":w()}],"mask-image-l-to-pos":[{"mask-l-to":w()}],"mask-image-l-from-color":[{"mask-l-from":p()}],"mask-image-l-to-color":[{"mask-l-to":p()}],"mask-image-x-from-pos":[{"mask-x-from":w()}],"mask-image-x-to-pos":[{"mask-x-to":w()}],"mask-image-x-from-color":[{"mask-x-from":p()}],"mask-image-x-to-color":[{"mask-x-to":p()}],"mask-image-y-from-pos":[{"mask-y-from":w()}],"mask-image-y-to-pos":[{"mask-y-to":w()}],"mask-image-y-from-color":[{"mask-y-from":p()}],"mask-image-y-to-color":[{"mask-y-to":p()}],"mask-image-radial":[{"mask-radial":[l,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":w()}],"mask-image-radial-to-pos":[{"mask-radial-to":w()}],"mask-image-radial-from-color":[{"mask-radial-from":p()}],"mask-image-radial-to-color":[{"mask-radial-to":p()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":B()}],"mask-image-conic-pos":[{"mask-conic":[f]}],"mask-image-conic-from-pos":[{"mask-conic-from":w()}],"mask-image-conic-to-pos":[{"mask-conic-to":w()}],"mask-image-conic-from-color":[{"mask-conic-from":p()}],"mask-image-conic-to-color":[{"mask-conic-to":p()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_e()}],"mask-repeat":[{mask:Ge()}],"mask-size":[{mask:Te()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,i]}],filter:[{filter:["","none",l,i]}],blur:[{blur:je()}],brightness:[{brightness:[f,l,i]}],contrast:[{contrast:[f,l,i]}],"drop-shadow":[{"drop-shadow":["","none",v,ue,me]}],"drop-shadow-color":[{"drop-shadow":p()}],grayscale:[{grayscale:["",f,l,i]}],"hue-rotate":[{"hue-rotate":[f,l,i]}],invert:[{invert:["",f,l,i]}],saturate:[{saturate:[f,l,i]}],sepia:[{sepia:["",f,l,i]}],"backdrop-filter":[{"backdrop-filter":["","none",l,i]}],"backdrop-blur":[{"backdrop-blur":je()}],"backdrop-brightness":[{"backdrop-brightness":[f,l,i]}],"backdrop-contrast":[{"backdrop-contrast":[f,l,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",f,l,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f,l,i]}],"backdrop-invert":[{"backdrop-invert":["",f,l,i]}],"backdrop-opacity":[{"backdrop-opacity":[f,l,i]}],"backdrop-saturate":[{"backdrop-saturate":[f,l,i]}],"backdrop-sepia":[{"backdrop-sepia":["",f,l,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":u()}],"border-spacing-x":[{"border-spacing-x":u()}],"border-spacing-y":[{"border-spacing-y":u()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",l,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[f,"initial",l,i]}],ease:[{ease:["linear","initial",j,l,i]}],delay:[{delay:[f,l,i]}],animate:[{animate:["none",A,l,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,l,i]}],"perspective-origin":[{"perspective-origin":D()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:te()}],"scale-x":[{"scale-x":te()}],"scale-y":[{"scale-y":te()}],"scale-z":[{"scale-z":te()}],"scale-3d":["scale-3d"],skew:[{skew:xe()}],"skew-x":[{"skew-x":xe()}],"skew-y":[{"skew-y":xe()}],transform:[{transform:[l,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:D()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],zoom:[{zoom:[L,l,i]}],accent:[{accent:p()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:p()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",l,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":p()}],"scrollbar-track-color":[{"scrollbar-track":p()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":u()}],"scroll-mx":[{"scroll-mx":u()}],"scroll-my":[{"scroll-my":u()}],"scroll-ms":[{"scroll-ms":u()}],"scroll-me":[{"scroll-me":u()}],"scroll-mbs":[{"scroll-mbs":u()}],"scroll-mbe":[{"scroll-mbe":u()}],"scroll-mt":[{"scroll-mt":u()}],"scroll-mr":[{"scroll-mr":u()}],"scroll-mb":[{"scroll-mb":u()}],"scroll-ml":[{"scroll-ml":u()}],"scroll-p":[{"scroll-p":u()}],"scroll-px":[{"scroll-px":u()}],"scroll-py":[{"scroll-py":u()}],"scroll-ps":[{"scroll-ps":u()}],"scroll-pe":[{"scroll-pe":u()}],"scroll-pbs":[{"scroll-pbs":u()}],"scroll-pbe":[{"scroll-pbe":u()}],"scroll-pt":[{"scroll-pt":u()}],"scroll-pr":[{"scroll-pr":u()}],"scroll-pb":[{"scroll-pb":u()}],"scroll-pl":[{"scroll-pl":u()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",l,i]}],fill:[{fill:["none",...p()]}],"stroke-w":[{stroke:[f,Z,F,at]}],stroke:[{stroke:["none",...p()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Rt=Mr(Qr);function E(...e){return Rt(de(e))}import{jsx as Ee}from"react/jsx-runtime";function zt({className:e,size:t="default",...r}){return Ee(q.Root,{"data-slot":"avatar","data-size":t,className:E("group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6",e),...r})}function Ct({className:e,...t}){return Ee(q.Image,{"data-slot":"avatar-image",className:E("aspect-square size-full",e),...t})}function St({className:e,...t}){return Ee(q.Fallback,{"data-slot":"avatar-fallback",className:E("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs",e),...t})}var At=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Pt=de,fe=(e,t)=>r=>{var o;if(t?.variants==null)return Pt(e,r?.class,r?.className);let{variants:s,defaultVariants:n}=t,a=Object.keys(s).map(d=>{let b=r?.[d],g=n?.[d];if(b===null)return null;let h=At(b)||At(g);return s[d][h]}),c=r&&Object.entries(r).reduce((d,b)=>{let[g,h]=b;return h===void 0||(d[g]=h),d},{}),m=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,b)=>{let{class:g,className:h,...v}=b;return Object.entries(v).every(y=>{let[k,R]=y;return Array.isArray(R)?R.includes({...n,...c}[k]):{...n,...c}[k]===R})?[...d,g,h]:d},[]);return Pt(e,a,m,r?.class,r?.className)};import{jsx as to}from"react/jsx-runtime";var eo=fe("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Et({className:e,variant:t="default",size:r="default",asChild:o=!1,...s}){let n=o?ne.Root:"button";return to(n,{"data-slot":"button","data-variant":t,"data-size":r,className:E(eo({variant:t,size:r,className:e})),...s})}import{jsx as K}from"react/jsx-runtime";function It({className:e,...t}){return K("div",{"data-slot":"empty",className:E("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12",e),...t})}function Mt({className:e,...t}){return K("div",{"data-slot":"empty-header",className:E("flex max-w-sm flex-col items-center gap-2 text-center",e),...t})}var ro=fe("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6"}},defaultVariants:{variant:"default"}});function Lt({className:e,variant:t="default",...r}){return K("div",{"data-slot":"empty-icon","data-variant":t,className:E(ro({variant:t,className:e})),...r})}function Nt({className:e,...t}){return K("div",{"data-slot":"empty-title",className:E("text-lg font-medium tracking-tight",e),...t})}function _t({className:e,...t}){return K("div",{"data-slot":"empty-description",className:E("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...t})}function Gt({className:e,...t}){return K("div",{"data-slot":"empty-content",className:E("flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance",e),...t})}import{jsx as $,jsxs as Ie}from"react/jsx-runtime";function oo(){return Ie(It,{children:[Ie(Mt,{children:[$(Lt,{variant:"default",children:Ie(zt,{className:"size-12",children:[$(Ct,{src:"https://github.com/shadcn.png",className:"grayscale"}),$(St,{children:"LR"})]})}),$(Nt,{children:"User Offline"}),$(_t,{children:"This user is currently offline. You can leave a message to notify them or try again later."})]}),$(Gt,{children:$(Et,{size:"sm",children:"Leave Message"})})]})}export{oo as default};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a2c3fea75e91df6f526886ee88216380f502d370c633a084a33f297028940be
3
+ size 38718
b/1c9df70f8cbf80c5607feb54ab7b780d999a26bfb7246016998045216f757ca6 CHANGED
@@ -1,113 +1,3 @@
1
- #!/usr/bin/env node
2
- // gguf-forge-qwen35.test.mjs — prove the qwen35 HYBRID layer assembly (gguf-forge-qwen35.mjs): the schedule,
3
- // the dimension decode, the full gated-DeltaNet linear-layer forward (conv + projections + kernel + gated
4
- // norm + out), its causality, that CHUNKED decode is BIT-IDENTICAL to a one-shot prefill (so streaming the
5
- // prompt token-by-token == processing it whole), that the layer state is a κ-object (checkpoint→κ→resume),
6
- // and — the real test of the dimension decode — that the layer runs on the ACTUAL dequantized blk.0 weights
7
- // from the forged .holo and produces finite, sane output.
8
- //
9
- // SCOPE (honest): proves assembly, dimensions, internal consistency. NUMERICAL parity vs the llama.cpp
10
- // quantized build, and confirming the HF head-expansion order, is a separate gate (S4.7) needing reference
11
- // activations — not claimed here. (The gated-delta recurrence itself is proven in gguf-forge-gated-delta.test.)
12
- //
13
- // Usage: node holo-apps/apps/q/forge/gguf-forge-qwen35.test.mjs
14
-
15
- import { openSync, readSync, closeSync, writeFileSync } from "node:fs";
16
- import { fileURLToPath } from "node:url";
17
- import { dirname, join } from "node:path";
18
- import { qwen35Schedule, qwen35Dims, qwen35LinearLayer, newLayerState, layerStateBytes, layerStateKappa } from "./gguf-forge-qwen35.mjs";
19
- import { openHoloStream } from "./holo-archive.mjs";
20
- import { parseGgufHeader } from "../qvac-ingest.mjs";
21
- import { dequantizeExact } from "./gguf-forge-dequant.mjs";
22
-
23
- const here = dirname(fileURLToPath(import.meta.url));
24
- let seed = 99173; const rnd = () => { seed = (seed * 1103515245 + 12345) & 0x7fffffff; return seed / 0x7fffffff * 2 - 1; };
25
- const arr = (n, s = 1) => { const a = new Float32Array(n); for (let i = 0; i < n; i++) a[i] = rnd() * s; return a; };
26
- const finite = (a) => a.every((x) => Number.isFinite(x));
27
- const close = (a, b, eps = 1e-4) => a.length === b.length && a.every((v, i) => Math.abs(v - b[i]) <= eps * (1 + Math.abs(b[i])));
28
- const checks = {};
29
-
30
- // small synthetic dims that exercise head-group expansion (group = 2)
31
- const D = { d_model: 8, value_dim: 16, head_k: 4, head_v: 4, num_k_heads: 2, num_v_heads: 4, key_dim: 8, conv_dim: 32, conv_k: 4, eps: 1e-6, n_layer: 32, interval: 4 };
32
- const synthW = () => ({
33
- attn_norm: arr(D.d_model).map((x) => 1 + 0.1 * x), attn_qkv: arr(D.d_model * D.conv_dim, 0.3), attn_gate: arr(D.d_model * D.value_dim, 0.3),
34
- ssm_alpha: arr(D.d_model * D.num_v_heads, 0.3), ssm_beta: arr(D.d_model * D.num_v_heads, 0.3), ssm_a: arr(D.num_v_heads).map((x) => x * 0.5),
35
- ssm_dt: arr(D.num_v_heads), ssm_conv1d: arr(D.conv_k * D.conv_dim, 0.3), ssm_norm: arr(D.head_v).map((x) => 1 + 0.1 * x), ssm_out: arr(D.value_dim * D.d_model, 0.3),
36
- });
37
- const W = synthW();
38
- const mkSeq = (T) => Array.from({ length: T }, () => arr(D.d_model));
39
-
40
- // 1 · schedule
41
- {
42
- const s = qwen35Schedule(32, 4);
43
- const attn = s.map((v, i) => (v === "attn" ? i : -1)).filter((i) => i >= 0);
44
- checks.scheduleCorrect = s.length === 32 && s.filter((v) => v === "linear").length === 24 && JSON.stringify(attn) === JSON.stringify([3, 7, 11, 15, 19, 23, 27, 31]);
45
- }
46
-
47
- // 2 · dims decode from real meta (loaded below in §7); placeholder set true, verified there
48
- // 3 · synthetic forward — finite, right shape
49
- {
50
- const T = 5, st = newLayerState(D), r = qwen35LinearLayer(W, D, mkSeq(T), st);
51
- checks.synthForwardShape = r.ySeq.length === T && r.ySeq.every((y) => y.length === D.d_model && finite(y));
52
- }
53
- // 4 · causality — future token's x doesn't change an earlier output
54
- {
55
- const T = 6, x = mkSeq(T), tProbe = 2, tFut = 4;
56
- const a = qwen35LinearLayer(W, D, x, newLayerState(D)).ySeq;
57
- const x2 = x.map((v, i) => (i === tFut ? v.map((z) => z + 5) : v));
58
- const b = qwen35LinearLayer(W, D, x2, newLayerState(D)).ySeq;
59
- checks.layerCausal = close(a[tProbe], b[tProbe]) && !close(a[tFut + 1], b[tFut + 1]);
60
- }
61
- // 5 · chunked == prefill (streaming a prompt token-by-token equals processing it whole)
62
- {
63
- const T = 9, m = 4, x = mkSeq(T);
64
- const full = qwen35LinearLayer(W, D, x, newLayerState(D)).ySeq;
65
- const r1 = qwen35LinearLayer(W, D, x.slice(0, m), newLayerState(D));
66
- const r2 = qwen35LinearLayer(W, D, x.slice(m), r1.state);
67
- const chunked = [...r1.ySeq, ...r2.ySeq];
68
- checks.chunkedEqualsPrefill = chunked.length === T && chunked.every((y, i) => close(y, full[i]));
69
- }
70
- // 6 · layer-state κ round-trip — checkpoint {S,convTail} → bytes → κ → resume bit-exact
71
- {
72
- const T = 9, m = 4, x = mkSeq(T);
73
- const full = qwen35LinearLayer(W, D, x, newLayerState(D)).ySeq;
74
- const r1 = qwen35LinearLayer(W, D, x.slice(0, m), newLayerState(D));
75
- const bytes = layerStateBytes(r1.state), k1 = layerStateKappa(r1.state);
76
- const f = new Float32Array(bytes.buffer.slice(0)), Slen = D.num_v_heads * D.head_k * D.head_v;
77
- const st2 = { S: f.slice(0, Slen), convTail: f.slice(Slen) }, k2 = layerStateKappa(st2);
78
- const r2 = qwen35LinearLayer(W, D, x.slice(m), st2);
79
- checks.layerStateKappaRoundTrip = k1 === k2 && [...r1.ySeq, ...r2.ySeq].every((y, i) => close(y, full[i]));
80
- }
81
-
82
- // 7 · REAL weights — load blk.0 from the forged .holo, dequant, run; proves the dimension decode composes
83
- {
84
- const P = join(here, ".models/qwen3.5-9b-thinking.holo");
85
- const fd = openSync(P, "r");
86
- const rr = async (o, l) => { const b = Buffer.alloc(l); let g = 0; while (g < l) { const r = readSync(fd, b, g, l - g, o + g); if (!r) break; g += r; } return new Uint8Array(b.buffer, b.byteOffset, g); };
87
- const h = await openHoloStream(rr);
88
- const info = parseGgufHeader(h.headerBytes); // tensor dims + types
89
- const meta = info.meta, byName = new Map(info.tensors.map((t) => [t.name, t]));
90
- const kByName = new Map(h.order.map((o) => [o.name, o.kappa]));
91
- const RD = qwen35Dims(meta);
92
- checks.dimsCorrect = RD.d_model === 4096 && RD.value_dim === 4096 && RD.head_k === 128 && RD.num_k_heads === 16 && RD.num_v_heads === 32 && RD.key_dim === 2048 && RD.conv_dim === 8192 && RD.conv_k === 4 && RD.n_layer === 32 && RD.interval === 4;
93
-
94
- const load = async (suffix) => { const t = byName.get("blk.0." + suffix); const bytes = await h.getBody(String(kByName.get("blk.0." + suffix)).split(":").pop()); const els = t.dims.reduce((a, b) => a * b, 1); return dequantizeExact(t.ggmlType, bytes, els); };
95
- const RW = { attn_norm: await load("attn_norm.weight"), attn_qkv: await load("attn_qkv.weight"), attn_gate: await load("attn_gate.weight"), ssm_alpha: await load("ssm_alpha.weight"), ssm_beta: await load("ssm_beta.weight"), ssm_a: await load("ssm_a"), ssm_dt: await load("ssm_dt.bias"), ssm_conv1d: await load("ssm_conv1d.weight"), ssm_norm: await load("ssm_norm.weight"), ssm_out: await load("ssm_out.weight") };
96
- closeSync(fd);
97
-
98
- const xSeq = [arr(RD.d_model, 0.02), arr(RD.d_model, 0.02)]; // small inputs (post-embed scale)
99
- const r = qwen35LinearLayer(RW, RD, xSeq, newLayerState(RD));
100
- let maxAbs = 0; for (const y of r.ySeq) for (const v of y) maxAbs = Math.max(maxAbs, Math.abs(v));
101
- checks.realWeightSmoke = r.ySeq.length === 2 && r.ySeq.every((y) => y.length === 4096 && finite(y)) && maxAbs < 1e4; // composes + finite + sane magnitude
102
- }
103
-
104
- const witnessed = Object.values(checks).every(Boolean);
105
- writeFileSync(join(here, "gguf-forge-qwen35.test.result.json"), JSON.stringify({
106
- spec: "qwen35 hybrid layer assembly: schedule (24 linear / 8 attention of 32, interval 4), dimension decode, full gated-DeltaNet linear-layer forward (causal conv+SiLU, q/k/v/z/a/b projections, head-group expansion, the proven kernel, gated RMSNorm, out_proj). Proven: finite output, causality, chunked-decode == one-shot-prefill (bit-identical), layer state is a κ-object (checkpoint→κ→resume), and the layer runs on the REAL dequantized blk.0 weights from the forged .holo with finite, sane output (the dimension decode composes). Numerical parity vs llama.cpp + HF head-order confirmation = S4.7.",
107
- authority: "HF modeling_qwen3_next · GGUF qwen35 hparams + blk.0 shapes · gguf-forge-gated-delta (kernel, proven) · gguf-forge-dequant",
108
- witnessed, checks,
109
- }, null, 2) + "\n");
110
-
111
- for (const [k, v] of Object.entries(checks)) console.log(` ${v ? "ok " : "FAIL"} ${k}`);
112
- console.log(`VERDICT : ${witnessed ? "WITNESSED ✓ qwen35 layer assembles, streams==prefill, state is κ, and runs on real weights" : "NOT WITNESSED"}`);
113
- process.exit(witnessed ? 0 : 1);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c7e003fe480b6e80b9436d0d6c94ecf242d3ab250e1a31d49d349cf1726ca16
3
+ size 8351
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1cc7000946eb9434c5f518e037745606d4d5665a297a4a6c5ca9fa019fd0b9c8 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.animated-list",
3
- "name": "animated-list",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Components",
7
- "upstream": "https://magicui.design/r/animated-list.json",
8
- "did": "did:holo:sha256:9363c5afa61d7aab1919b4500f7325cc8871b35103d5dd60a2a1625fe5e7dc58",
9
- "import": "holo://sha256:9d812d5320051323630c647ac990edb019a70c210875752e8c6131874dd379b2",
10
- "integrity": "sha256-nYEtUyAFEyNjDGR6yZDtsBmnDCEIdXUujGExh03TebI=",
11
- "kappa": "sha256:9363c5afa61d7aab1919b4500f7325cc8871b35103d5dd60a2a1625fe5e7dc58",
12
- "moduleKappa": "sha256:9d812d5320051323630c647ac990edb019a70c210875752e8c6131874dd379b2",
13
- "renderExport": "AnimatedListItem",
14
- "source": "components/ui/animated-list.tsx",
15
- "module": "vendor/components/animated-list.js",
16
- "exports": [
17
- "AnimatedListItem",
18
- "AnimatedList"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cedf5a4041bab38f8c3d4eece36febaf8367655b065a6a790d9b6713b97a865b
3
+ size 860
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1cdef47925363396def9e8d35e23591ee1fe3e55c053042e8772027c34e33dfa CHANGED
The diff for this file is too large to render. See raw diff
 
b/1d04933d8b6165771cd1b3f9b6455a5f2aa25ad705204afd1a0f95f3b1e41c1e CHANGED
@@ -1,59 +1,3 @@
1
- var Ia=Object.defineProperty;var xa=(e,t)=>{for(var a in t)Ia(e,a,{get:t[a],enumerable:!0})};import{forwardRef as ga,createElement as ha}from"react";var Re=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),oe=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as Ca,createElement as Te}from"react";var ve={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var qe=Ca(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:l="",children:r,iconNode:u,...c},p)=>Te("svg",{ref:p,...ve,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:oe("lucide",l),...c},[...u.map(([f,L])=>Te(f,L)),...Array.isArray(r)?r:[r]]));var le=(e,t)=>{let a=ga(({className:o,...l},r)=>ha(qe,{ref:r,iconNode:t,className:oe(`lucide-${Re(e)}`,o),...l}));return a.displayName=`${e}`,a};var q=le("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var J=le("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);function Ue(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(a=Ue(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function re(){for(var e,t,a=0,o="",l=arguments.length;a<l;a++)(e=arguments[a])&&(t=Ue(e))&&(o&&(o+=" "),o+=t);return o}var Oe=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,He=re,j=(e,t)=>a=>{var o;if(t?.variants==null)return He(e,a?.class,a?.className);let{variants:l,defaultVariants:r}=t,u=Object.keys(l).map(f=>{let L=a?.[f],I=r?.[f];if(L===null)return null;let C=Oe(L)||Oe(I);return l[f][C]}),c=a&&Object.entries(a).reduce((f,L)=>{let[I,C]=L;return C===void 0||(f[I]=C),f},{}),p=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((f,L)=>{let{class:I,className:C,...h}=L;return Object.entries(h).every(B=>{let[w,k]=B;return Array.isArray(k)?k.includes({...r,...c}[w]):{...r,...c}[w]===k})?[...f,I,C]:f},[]);return He(e,u,p,a?.class,a?.className)};var K={};xa(K,{Root:()=>wa,Slot:()=>wa,Slottable:()=>ka,createSlot:()=>We,createSlottable:()=>Xe});import*as S from"react";import*as Ge from"react";function ze(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Sa(...e){return t=>{let a=!1,o=e.map(l=>{let r=ze(l,t);return!a&&typeof r=="function"&&(a=!0),r});if(a)return()=>{for(let l=0;l<o.length;l++){let r=o[l];typeof r=="function"?r():ze(e[l],null)}}}}function Ve(...e){return Ge.useCallback(Sa(...e),e)}function We(e){let t=S.forwardRef((a,o)=>{let{children:l,...r}=a,u=null,c=!1,p=[];Ee(l)&&typeof ue=="function"&&(l=ue(l._payload)),S.Children.forEach(l,C=>{if(ya(C)){c=!0;let h=C,B="child"in h.props?h.props.child:h.props.children;Ee(B)&&typeof ue=="function"&&(B=ue(B._payload)),u=ba(h,B),p.push(u?.props?.children)}else p.push(C)}),u?u=S.cloneElement(u,void 0,p):!c&&S.Children.count(l)===1&&S.isValidElement(l)&&(u=l);let f=u?Aa(u):void 0,L=Ve(o,f);if(!u){if(l||l===0)throw new Error(c?Da(e):Fa(e));return l}let I=Pa(r,u.props??{});return u.type!==S.Fragment&&(I.ref=o?L:f),S.cloneElement(u,I)});return t.displayName=`${e}.Slot`,t}var wa=We("Slot"),Ne=Symbol.for("radix.slottable");function Xe(e){let t=a=>"child"in a?a.children(a.child):a.children;return t.displayName=`${e}.Slottable`,t.__radixId=Ne,t}var ka=Xe("Slottable"),ba=(e,t)=>{if("child"in e.props){let a=e.props.child;return S.isValidElement(a)?S.cloneElement(a,void 0,e.props.children(a.props.children)):null}return S.isValidElement(t)?t:null};function Pa(e,t){let a={...t};for(let o in t){let l=e[o],r=t[o];/^on[A-Z]/.test(o)?l&&r?a[o]=(...c)=>{let p=r(...c);return l(...c),p}:l&&(a[o]=l):o==="style"?a[o]={...l,...r}:o==="className"&&(a[o]=[l,r].filter(Boolean).join(" "))}return{...e,...a}}function Aa(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function ya(e){return S.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ne}var Ba=Symbol.for("react.lazy");function Ee(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ba&&"_payload"in e&&Ma(e._payload)}function Ma(e){return typeof e=="object"&&e!==null&&"then"in e}var Fa=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Da=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,ue=S[" use ".trim().toString()];var Ra=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},va=(e,t)=>({classGroupId:e,validator:t}),$e=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),fe="-",Ke=[],Ta="arbitrary..",qa=e=>{let t=Oa(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return Ua(u);let c=u.split(fe),p=c[0]===""&&c.length>1?1:0;return Ye(c,p,t)},getConflictingClassGroupIds:(u,c)=>{if(c){let p=o[u],f=a[u];return p?f?Ra(f,p):p:f||Ke}return a[u]||Ke}}},Ye=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let l=e[t],r=a.nextPart.get(l);if(r){let f=Ye(e,t+1,r);if(f)return f}let u=a.validators;if(u===null)return;let c=t===0?e.join(fe):e.slice(t).join(fe),p=u.length;for(let f=0;f<p;f++){let L=u[f];if(L.validator(c))return L.classGroupId}},Ua=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?Ta+o:void 0})(),Oa=e=>{let{theme:t,classGroups:a}=e;return Ha(a,t)},Ha=(e,t)=>{let a=$e();for(let o in e){let l=e[o];Ce(l,a,o,t)}return a},Ce=(e,t,a,o)=>{let l=e.length;for(let r=0;r<l;r++){let u=e[r];za(u,t,a,o)}},za=(e,t,a,o)=>{if(typeof e=="string"){Ga(e,t,a);return}if(typeof e=="function"){Va(e,t,a,o);return}Ea(e,t,a,o)},Ga=(e,t,a)=>{let o=e===""?t:ea(t,e);o.classGroupId=a},Va=(e,t,a,o)=>{if(Wa(e)){Ce(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(va(a,e))},Ea=(e,t,a,o)=>{let l=Object.entries(e),r=l.length;for(let u=0;u<r;u++){let[c,p]=l[u];Ce(p,ea(t,c),a,o)}},ea=(e,t)=>{let a=e,o=t.split(fe),l=o.length;for(let r=0;r<l;r++){let u=o[r],c=a.nextPart.get(u);c||(c=$e(),a.nextPart.set(u,c)),a=c}return a},Wa=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Na=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),l=(r,u)=>{a[r]=u,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(r){let u=a[r];if(u!==void 0)return u;if((u=o[r])!==void 0)return l(r,u),u},set(r,u){r in a?a[r]=u:l(r,u)}}},xe="!",Ze=":",Xa=[],_e=(e,t,a,o,l)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:l}),Ka=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=l=>{let r=[],u=0,c=0,p=0,f,L=l.length;for(let w=0;w<L;w++){let k=l[w];if(u===0&&c===0){if(k===Ze){r.push(l.slice(p,w)),p=w+1;continue}if(k==="/"){f=w;continue}}k==="["?u++:k==="]"?u--:k==="("?c++:k===")"&&c--}let I=r.length===0?l:l.slice(p),C=I,h=!1;I.endsWith(xe)?(C=I.slice(0,-1),h=!0):I.startsWith(xe)&&(C=I.slice(1),h=!0);let B=f&&f>p?f-p:void 0;return _e(r,h,C,B)};if(t){let l=t+Ze,r=o;o=u=>u.startsWith(l)?r(u.slice(l.length)):_e(Xa,!1,u,void 0,!0)}if(a){let l=o;o=r=>a({className:r,parseClassName:l})}return o},Za=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],l=[];for(let r=0;r<a.length;r++){let u=a[r],c=u[0]==="[",p=t.has(u);c||p?(l.length>0&&(l.sort(),o.push(...l),l=[]),o.push(u)):l.push(u)}return l.length>0&&(l.sort(),o.push(...l)),o}},_a=e=>({cache:Na(e.cacheSize),parseClassName:Ka(e),sortModifiers:Za(e),postfixLookupClassGroupIds:Ja(e),...qa(e)}),Ja=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},ja=/\s+/,Qa=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:l,sortModifiers:r,postfixLookupClassGroupIds:u}=t,c=[],p=e.trim().split(ja),f="";for(let L=p.length-1;L>=0;L-=1){let I=p[L],{isExternal:C,modifiers:h,hasImportantModifier:B,baseClassName:w,maybePostfixModifierPosition:k}=a(I);if(C){f=I+(f.length>0?" "+f:f);continue}let H=!!k,A;if(H){let v=w.substring(0,k);A=o(v);let i=A&&u[A]?o(w):void 0;i&&i!==A&&(A=i,H=!1)}else A=o(w);if(!A){if(!H){f=I+(f.length>0?" "+f:f);continue}if(A=o(w),!A){f=I+(f.length>0?" "+f:f);continue}H=!1}let _=h.length===0?"":h.length===1?h[0]:r(h).join(":"),E=B?_+xe:_,W=E+A;if(c.indexOf(W)>-1)continue;c.push(W);let N=l(A,H);for(let v=0;v<N.length;++v){let i=N[v];c.push(E+i)}f=I+(f.length>0?" "+f:f)}return f},$a=(...e)=>{let t=0,a,o,l="";for(;t<e.length;)(a=e[t++])&&(o=aa(a))&&(l&&(l+=" "),l+=o);return l},aa=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=aa(e[o]))&&(a&&(a+=" "),a+=t);return a},Ya=(e,...t)=>{let a,o,l,r,u=p=>{let f=t.reduce((L,I)=>I(L),e());return a=_a(f),o=a.cache.get,l=a.cache.set,r=c,c(p)},c=p=>{let f=o(p);if(f)return f;let L=Qa(p,a);return l(p,L),L};return r=u,(...p)=>r($a(...p))},et=[],x=e=>{let t=a=>a[e]||et;return t.isThemeGetter=!0,t},ta=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,oa=/^\((?:(\w[\w-]*):)?(.+)\)$/i,at=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ot=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,lt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,rt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ut=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,U=e=>at.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),D=e=>!!e&&Number.isInteger(Number(e)),Ie=e=>e.endsWith("%")&&m(e.slice(0,-1)),T=e=>tt.test(e),la=()=>!0,dt=e=>ot.test(e)&&!lt.test(e),ge=()=>!1,st=e=>rt.test(e),ft=e=>ut.test(e),it=e=>!d(e)&&!s(e),nt=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),ct=e=>O(e,da,ge),d=e=>ta.test(e),G=e=>O(e,sa,dt),Je=e=>O(e,ht,m),pt=e=>O(e,ia,la),mt=e=>O(e,fa,ge),je=e=>O(e,ra,ge),Lt=e=>O(e,ua,ft),de=e=>O(e,na,st),s=e=>oa.test(e),Q=e=>V(e,sa),It=e=>V(e,fa),Qe=e=>V(e,ra),xt=e=>V(e,da),Ct=e=>V(e,ua),se=e=>V(e,na,!0),gt=e=>V(e,ia,!0),O=(e,t,a)=>{let o=ta.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},V=(e,t,a=!1)=>{let o=oa.exec(e);return o?o[1]?t(o[1]):a:!1},ra=e=>e==="position"||e==="percentage",ua=e=>e==="image"||e==="url",da=e=>e==="length"||e==="size"||e==="bg-size",sa=e=>e==="length",ht=e=>e==="number",fa=e=>e==="family-name",ia=e=>e==="number"||e==="weight",na=e=>e==="shadow";var St=()=>{let e=x("color"),t=x("font"),a=x("text"),o=x("font-weight"),l=x("tracking"),r=x("leading"),u=x("breakpoint"),c=x("container"),p=x("spacing"),f=x("radius"),L=x("shadow"),I=x("inset-shadow"),C=x("text-shadow"),h=x("drop-shadow"),B=x("blur"),w=x("perspective"),k=x("aspect"),H=x("ease"),A=x("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...E(),s,d],N=()=>["auto","hidden","clip","visible","scroll"],v=()=>["auto","contain","none"],i=()=>[s,d,p],y=()=>[U,"full","auto",...i()],be=()=>[D,"none","subgrid",s,d],Pe=()=>["auto",{span:["full",D,s,d]},D,s,d],$=()=>[D,"auto",s,d],Ae=()=>["auto","min","max","fr",s,d],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...i()],z=()=>[U,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],ce=()=>[U,"screen","full","dvw","lvw","svw","min","max","fit",...i()],pe=()=>[U,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],n=()=>[e,s,d],ye=()=>[...E(),Qe,je,{position:[s,d]}],Be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Me=()=>["auto","cover","contain",xt,ct,{size:[s,d]}],me=()=>[Ie,Q,G],b=()=>["","none","full",f,s,d],P=()=>["",m,Q,G],Y=()=>["solid","dashed","dotted","double"],Fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[m,Ie,Qe,je],De=()=>["","none",B,s,d],ee=()=>["none",m,s,d],ae=()=>["none",m,s,d],Le=()=>[m,s,d],te=()=>[U,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[la],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[it],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[T],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[T],shadow:[T],spacing:["px",m],text:[T],"text-shadow":[T],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",U,d,s,k]}],container:["container"],"container-type":[{"@container":["","normal","size",s,d]}],"container-named":[nt],columns:[{columns:[m,d,s,c]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:W()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:v()}],"overscroll-x":[{"overscroll-x":v()}],"overscroll-y":[{"overscroll-y":v()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{"inset-s":y(),start:y()}],end:[{"inset-e":y(),end:y()}],"inset-bs":[{"inset-bs":y()}],"inset-be":[{"inset-be":y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[D,"auto",s,d]}],basis:[{basis:[U,"full","auto",c,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,U,"auto","initial","none",d]}],grow:[{grow:["",m,s,d]}],shrink:[{shrink:["",m,s,d]}],order:[{order:[D,"first","last","none",s,d]}],"grid-cols":[{"grid-cols":be()}],"col-start-end":[{col:Pe()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":be()}],"row-start-end":[{row:Pe()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ae()}],"auto-rows":[{"auto-rows":Ae()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],"inline-size":[{inline:["auto",...ce()]}],"min-inline-size":[{"min-inline":["auto",...ce()]}],"max-inline-size":[{"max-inline":["none",...ce()]}],"block-size":[{block:["auto",...pe()]}],"min-block-size":[{"min-block":["auto",...pe()]}],"max-block-size":[{"max-block":["none",...pe()]}],w:[{w:[c,"screen",...z()]}],"min-w":[{"min-w":[c,"screen","none",...z()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[u]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",a,Q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,gt,pt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ie,d]}],"font-family":[{font:[It,mt,t]}],"font-features":[{"font-features":[d]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,s,d]}],"line-clamp":[{"line-clamp":[m,"none",s,Je]}],leading:[{leading:[r,...i()]}],"list-image":[{"list-image":["none",s,d]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",s,d]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:n()}],"text-color":[{text:n()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",s,G]}],"text-decoration-color":[{decoration:n()}],"underline-offset":[{"underline-offset":[m,"auto",s,d]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[D,s,d]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",s,d]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",s,d]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ye()}],"bg-repeat":[{bg:Be()}],"bg-size":[{bg:Me()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},D,s,d],radial:["",s,d],conic:[D,s,d]},Ct,Lt]}],"bg-color":[{bg:n()}],"gradient-from-pos":[{from:me()}],"gradient-via-pos":[{via:me()}],"gradient-to-pos":[{to:me()}],"gradient-from":[{from:n()}],"gradient-via":[{via:n()}],"gradient-to":[{to:n()}],rounded:[{rounded:b()}],"rounded-s":[{"rounded-s":b()}],"rounded-e":[{"rounded-e":b()}],"rounded-t":[{"rounded-t":b()}],"rounded-r":[{"rounded-r":b()}],"rounded-b":[{"rounded-b":b()}],"rounded-l":[{"rounded-l":b()}],"rounded-ss":[{"rounded-ss":b()}],"rounded-se":[{"rounded-se":b()}],"rounded-ee":[{"rounded-ee":b()}],"rounded-es":[{"rounded-es":b()}],"rounded-tl":[{"rounded-tl":b()}],"rounded-tr":[{"rounded-tr":b()}],"rounded-br":[{"rounded-br":b()}],"rounded-bl":[{"rounded-bl":b()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-bs":[{"border-bs":P()}],"border-w-be":[{"border-be":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:n()}],"border-color-x":[{"border-x":n()}],"border-color-y":[{"border-y":n()}],"border-color-s":[{"border-s":n()}],"border-color-e":[{"border-e":n()}],"border-color-bs":[{"border-bs":n()}],"border-color-be":[{"border-be":n()}],"border-color-t":[{"border-t":n()}],"border-color-r":[{"border-r":n()}],"border-color-b":[{"border-b":n()}],"border-color-l":[{"border-l":n()}],"divide-color":[{divide:n()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,s,d]}],"outline-w":[{outline:["",m,Q,G]}],"outline-color":[{outline:n()}],shadow:[{shadow:["","none",L,se,de]}],"shadow-color":[{shadow:n()}],"inset-shadow":[{"inset-shadow":["none",I,se,de]}],"inset-shadow-color":[{"inset-shadow":n()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:n()}],"ring-offset-w":[{"ring-offset":[m,G]}],"ring-offset-color":[{"ring-offset":n()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":n()}],"text-shadow":[{"text-shadow":["none",C,se,de]}],"text-shadow-color":[{"text-shadow":n()}],opacity:[{opacity:[m,s,d]}],"mix-blend":[{"mix-blend":[...Fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Fe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":n()}],"mask-image-linear-to-color":[{"mask-linear-to":n()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":n()}],"mask-image-t-to-color":[{"mask-t-to":n()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":n()}],"mask-image-r-to-color":[{"mask-r-to":n()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":n()}],"mask-image-b-to-color":[{"mask-b-to":n()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":n()}],"mask-image-l-to-color":[{"mask-l-to":n()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":n()}],"mask-image-x-to-color":[{"mask-x-to":n()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":n()}],"mask-image-y-to-color":[{"mask-y-to":n()}],"mask-image-radial":[{"mask-radial":[s,d]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":n()}],"mask-image-radial-to-color":[{"mask-radial-to":n()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":E()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":n()}],"mask-image-conic-to-color":[{"mask-conic-to":n()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ye()}],"mask-repeat":[{mask:Be()}],"mask-size":[{mask:Me()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",s,d]}],filter:[{filter:["","none",s,d]}],blur:[{blur:De()}],brightness:[{brightness:[m,s,d]}],contrast:[{contrast:[m,s,d]}],"drop-shadow":[{"drop-shadow":["","none",h,se,de]}],"drop-shadow-color":[{"drop-shadow":n()}],grayscale:[{grayscale:["",m,s,d]}],"hue-rotate":[{"hue-rotate":[m,s,d]}],invert:[{invert:["",m,s,d]}],saturate:[{saturate:[m,s,d]}],sepia:[{sepia:["",m,s,d]}],"backdrop-filter":[{"backdrop-filter":["","none",s,d]}],"backdrop-blur":[{"backdrop-blur":De()}],"backdrop-brightness":[{"backdrop-brightness":[m,s,d]}],"backdrop-contrast":[{"backdrop-contrast":[m,s,d]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,s,d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,s,d]}],"backdrop-invert":[{"backdrop-invert":["",m,s,d]}],"backdrop-opacity":[{"backdrop-opacity":[m,s,d]}],"backdrop-saturate":[{"backdrop-saturate":[m,s,d]}],"backdrop-sepia":[{"backdrop-sepia":["",m,s,d]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",s,d]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",s,d]}],ease:[{ease:["linear","initial",H,s,d]}],delay:[{delay:[m,s,d]}],animate:[{animate:["none",A,s,d]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,s,d]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:Le()}],"skew-x":[{"skew-x":Le()}],"skew-y":[{"skew-y":Le()}],transform:[{transform:[s,d,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:te()}],"translate-x":[{"translate-x":te()}],"translate-y":[{"translate-y":te()}],"translate-z":[{"translate-z":te()}],"translate-none":["translate-none"],zoom:[{zoom:[D,s,d]}],accent:[{accent:n()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:n()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",s,d]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":n()}],"scrollbar-track-color":[{"scrollbar-track":n()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",s,d]}],fill:[{fill:["none",...n()]}],"stroke-w":[{stroke:[m,Q,G,Je]}],stroke:[{stroke:["none",...n()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var ca=Ya(St);function R(...e){return ca(re(e))}import{jsx as kt}from"react/jsx-runtime";var wt=j("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function pa({className:e,variant:t="default",size:a="default",asChild:o=!1,...l}){let r=o?K.Root:"button";return kt(r,{"data-slot":"button","data-variant":t,"data-size":a,className:R(wt({variant:t,size:a,className:e})),...l})}import{jsx as fo}from"react/jsx-runtime";import{jsx as Z}from"react/jsx-runtime";var bt=j("group/item flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-accent/50",{variants:{variant:{default:"bg-transparent",outline:"border-border",muted:"bg-muted/50"},size:{default:"gap-4 p-4",sm:"gap-2.5 px-4 py-3"}},defaultVariants:{variant:"default",size:"default"}});function he({className:e,variant:t="default",size:a="default",asChild:o=!1,...l}){let r=o?K.Root:"div";return Z(r,{"data-slot":"item","data-variant":t,"data-size":a,className:R(bt({variant:t,size:a,className:e})),...l})}var Pt=j("flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none",{variants:{variant:{default:"bg-transparent",icon:"size-8 rounded-sm border bg-muted [&_svg:not([class*='size-'])]:size-4",image:"size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover"}},defaultVariants:{variant:"default"}});function ma({className:e,variant:t="default",...a}){return Z("div",{"data-slot":"item-media","data-variant":t,className:R(Pt({variant:t,className:e})),...a})}function Se({className:e,...t}){return Z("div",{"data-slot":"item-content",className:R("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none",e),...t})}function we({className:e,...t}){return Z("div",{"data-slot":"item-title",className:R("flex w-fit items-center gap-2 text-sm leading-snug font-medium",e),...t})}function La({className:e,...t}){return Z("p",{"data-slot":"item-description",className:R("line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground","[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...t})}function ke({className:e,...t}){return Z("div",{"data-slot":"item-actions",className:R("flex items-center gap-2",e),...t})}import{jsx as F,jsxs as ie}from"react/jsx-runtime";function At(){return ie("div",{className:"flex w-full max-w-md flex-col gap-6",children:[ie(he,{variant:"outline",children:[ie(Se,{children:[F(we,{children:"Basic Item"}),F(La,{children:"A simple item with title and description."})]}),F(ke,{children:F(pa,{variant:"outline",size:"sm",children:"Action"})})]}),F(he,{variant:"outline",size:"sm",asChild:!0,children:ie("a",{href:"#",children:[F(ma,{children:F(q,{className:"size-5"})}),F(Se,{children:F(we,{children:"Your profile has been verified."})}),F(ke,{children:F(J,{className:"size-4"})})]})})]})}export{At as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/badge-check.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/icons/chevron-right.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/lucide-react.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a413bc68f0d9d1b3a7f5f6a7fad759f27451c47fd880cdd0ac656befbbea8311
3
+ size 37993
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d1b5edbccfd7324cc4b2bd53a86813b75a19be7153efa1c9e91467d7e6e0194 CHANGED
@@ -1 +1,3 @@
1
- export default {".hover-3d":{"@layer daisyui.l1.l2.l3":{"display":"inline-grid","perspective":"75rem","--transform":"0, 0","--shine":"100% 100%","--shadow":"0rem 0rem 0rem","--ease":"linear(0, 0.931 13.8%, 1.196 21.4%, 1.343 29.8%, 1.378 36%, 1.365 43.2%, 1.059 78%, 1)","filter":"drop-shadow(var(--shadow) 0.1rem #00000003) drop-shadow(var(--shadow) 0.2rem #00000003) drop-shadow(var(--shadow) 0.3rem #00000003) drop-shadow(var(--shadow) 0.4rem #00000003)","transition":"filter ease-out 400ms","> :nth-child(n + 2)":{"isolation":"isolate","z-index":1,"scale":"1.2"},"> :first-child":{"overflow":"hidden","grid-area":"1/1/4/4","transform":"rotate3d(var(--transform), 0, 10deg)","transition":"transform var(--ease) 500ms, scale var(--ease) 500ms, outline-color ease-out 500ms","outline":"0.5px solid #0000","outline-offset":"-1px","&:before":{"width":"calc(1/3 * 100%)","height":"calc(1/3 * 100%)","content":"\"\"","pointer-events":"none","position":"absolute","z-index":1,"scale":"500%","opacity":0,"filter":"blur(0.75rem)","background-image":"radial-gradient(circle at 50%, #fff3 10%, transparent 50%)","translate":"var(--shine)","transition":"translate ease-out 400ms, opacity ease-out 400ms"}},"&:hover":{"--ease":"linear(0, 0.708 15.2%, 0.927 23.6%, 1.067 33%, 1.12 41%, 1.13 50.2%, 1.019 83.2%, 1)","& > :first-child":{"outline-color":"#fff1","&:before, &:after":{"opacity":1}},"> :first-child":{"scale":"1.05"}},"> :nth-child(2)":{"grid-area":"1/1/2/2"},"> :nth-child(3)":{"grid-area":"1/2/2/3"},"> :nth-child(4)":{"grid-area":"1/3/2/4"},"> :nth-child(5)":{"grid-area":"2/1/3/2"},"> :nth-child(6)":{"grid-area":"2/3/3/4"},"> :nth-child(7)":{"grid-area":"3/1/4/2"},"> :nth-child(8)":{"grid-area":"3/2/4/3"},"> :nth-child(9)":{"grid-area":"3/3/4/4"},"&:has(> :nth-child(2):hover)":{"--transform":"-1, 1","--shine":"0% 0%","--shadow":"-0.5rem -0.5rem"},"&:has(> :nth-child(3):hover)":{"--transform":"-1, 0","--shine":"100% 0%","--shadow":"0rem -0.5rem"},"&:has(> :nth-child(4):hover)":{"--transform":"-1, -1","--shine":"200% 0%","--shadow":"0.5rem -0.5rem"},"&:has(> :nth-child(5):hover)":{"--transform":"0, 1","--shine":"0% 100%","--shadow":"-0.5rem 0rem"},"&:has(> :nth-child(6):hover)":{"--transform":"0, -1","--shine":"200% 100%","--shadow":"0.5rem 0rem"},"&:has(> :nth-child(7):hover)":{"--transform":"1, 1","--shine":"0% 200%","--shadow":"-0.5rem 0.5rem"},"&:has(> :nth-child(8):hover)":{"--transform":"1, 0","--shine":"100% 200%","--shadow":"0rem 0.5rem"},"&:has(> :nth-child(9):hover)":{"--transform":"1, -1","--shine":"200% 200%","--shadow":"0.5rem 0.5rem"}}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c5704e23c84c37ff8364c36399587de1d460deb95844fe385d3b4a0c792c99b8
3
+ size 2573
b/1d1e9b8c14e515ed9f326314eeed45637f4985f9e76d78d76e015d5548f8540b CHANGED
@@ -1,103 +1,3 @@
1
- // holo-qwen35-gpu-real-forward.mjs — INCREMENTAL forward + generate for the real qwen35 GPU brain. Each token
2
- // is O(1) layer work: linear layers carry a fixed-size recurrent state {S, convTail}; attention layers append
3
- // to a growing K/V cache and attend single-query over it (decode-step attention == full causal, verified). No
4
- // full-sequence reprocessing. Weights stay quantized in VRAM (loaded once); reuses the parity-verified kernels
5
- // (readback-chained — the on-GPU-resident chaining is the next optimization). Correct by composition: every op
6
- // matches the CPU oracle that produces "Paris"; absolute RoPE positions + state carry across prefill→decode.
7
-
8
- import { conv1dStepGPU, qwenPrepGPU, gatedRMSNormGPU, rmsNorm1pGPU, headNormRopeGPU, singleQAttnGPU } from "./holo-qwen35-kernels.mjs";
9
- import { gatedDeltaStepGPU } from "./holo-gated-delta-gpu.mjs";
10
- import { dequantizeExact } from "../gguf-forge-dequant.mjs";
11
-
12
- export function makeBrain(ctx) {
13
- const { device, rt, D, BPB, embed, lmHead, outNorm, layers, sched, ropeTables, tok, EOS, G, onProgress } = ctx;
14
- const readBack = async (buf, n) => { const r = device.createBuffer({ size: n * 4, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ }); const e = device.createCommandEncoder(); e.copyBufferToBuffer(buf, 0, r, 0, n * 4); device.queue.submit([e.finish()]); await r.mapAsync(GPUMapMode.READ); return new Float32Array(r.getMappedRange().slice(0)); };
15
- async function mvq(wq, act, rows = wq.N) {
16
- const pipe = wq.type === 12 ? rt.P.q4kraw : wq.type === 13 ? rt.P.q5kraw : rt.P.q6kraw;
17
- const ab = rt.wF(act), ov = rt.sbuf(rows);
18
- const p = device.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST });
19
- device.queue.writeBuffer(p, 0, new Uint32Array([rows, wq.K, 0, 0])); // own uniform — never the shared pool (exhausts after 1024)
20
- const enc = device.createCommandEncoder(); rt.disp(enc, pipe, [wq.buf, ab, ov, p], G(rows)); device.queue.submit([enc.finish()]);
21
- const r = await readBack(ov, rows); ab.destroy(); ov.destroy(); p.destroy(); return r; // free transient buffers (long gens)
22
- }
23
- const normCache = new Map(); const normW = async (buf, n) => { if (!normCache.has(buf)) normCache.set(buf, await readBack(buf, n)); return normCache.get(buf); };
24
- const gather = (id) => { const t = embed.t, K = t.dims[0], rowBytes = (K / 256) * BPB[t.ggmlType]; return dequantizeExact(t.ggmlType, embed.bytes.subarray(id * rowBytes, (id + 1) * rowBytes), K); };
25
- const silu = (x) => x / (1 + Math.exp(-x));
26
- let outNormF; const ensureOutNorm = async () => { if (!outNormF) outNormF = await readBack(outNorm, D.d_model); };
27
- const rope = ropeTables(D.rope_dim ? 4096 : 4096); // cos/sin for positions 0..4095 (chat context cap)
28
-
29
- // fresh per-conversation state
30
- function newState() {
31
- return layers.map((l) => l.type === "linear"
32
- ? { S: new Float32Array(D.num_v_heads * D.head_k * D.head_v), convTail: new Float32Array((D.conv_k - 1) * D.conv_dim) }
33
- : { K: [], V: [] });
34
- }
35
-
36
- async function linearStep(W, x, st) {
37
- const an = await normW(W.attn_norm, D.d_model), sn = await normW(W.ssm_norm, D.head_v), sa = await normW(W.ssm_a, D.num_v_heads), sdt = await normW(W.ssm_dt, D.num_v_heads);
38
- const nx = await rmsNorm1pGPU(device, x, an, D.eps);
39
- const qkv = await mvq(W.attn_qkv, nx), z = await mvq(W.attn_gate, nx), aP = await mvq(W.ssm_alpha, nx), bP = await mvq(W.ssm_beta, nx);
40
- const conv = await conv1dStepGPU(device, st.convTail, qkv, await normW(W.ssm_conv1d, D.conv_k * D.conv_dim), D.conv_dim, D.conv_k);
41
- const nt = new Float32Array((D.conv_k - 1) * D.conv_dim); nt.set(st.convTail.subarray(D.conv_dim), 0); nt.set(qkv, (D.conv_k - 2) * D.conv_dim); st.convTail = nt;
42
- const qS = conv.slice(0, D.key_dim), kS = conv.slice(D.key_dim, 2 * D.key_dim), vS = conv.slice(2 * D.key_dim, 2 * D.key_dim + D.value_dim);
43
- const prep = await qwenPrepGPU(device, { qS, kS, aP, bP, sA: sa, sDt: sdt, nvh: D.num_v_heads, nkh: D.num_k_heads, headK: D.head_k });
44
- const gd = await gatedDeltaStepGPU(device, { S: st.S, q: prep.qE, k: prep.kE, v: vS, decay: prep.decay, beta: prep.beta, nHeads: D.num_v_heads, headK: D.head_k, headV: D.head_v }); st.S = gd.S;
45
- const on = await gatedRMSNormGPU(device, gd.o, sn, z, D.num_v_heads, D.head_v, D.eps);
46
- // ssm_out weight kept in GGUF v-head order (in-cols) → permute the HF-ordered activation back to GGUF: onG[g]=on[vpermInv[g]]
47
- const nvh = D.num_v_heads, hv = D.head_v, onG = new Float32Array(on.length);
48
- for (let g = 0; g < nvh; g++) { const hf = g < nvh / 2 ? 2 * g : 2 * (g - nvh / 2) + 1; onG.set(on.subarray(hf * hv, (hf + 1) * hv), g * hv); }
49
- return mvq(W.ssm_out, onG);
50
- }
51
- async function attnStep(W, x, pos, st) {
52
- const hd = D.head_dim, nh = D.n_head, nkv = D.n_kv;
53
- const an = await normW(W.attn_norm, D.d_model), qn = await normW(W.attn_q_norm, hd), kn = await normW(W.attn_k_norm, hd);
54
- const nx = await rmsNorm1pGPU(device, x, an, D.eps);
55
- const qg = await mvq(W.attn_q, nx); const qraw = new Float32Array(nh * hd), g = new Float32Array(nh * hd);
56
- for (let h = 0; h < nh; h++) for (let i = 0; i < hd; i++) { qraw[h * hd + i] = qg[h * 2 * hd + i]; g[h * hd + i] = qg[h * 2 * hd + hd + i]; }
57
- const q = await headNormRopeGPU(device, qraw, qn, rope.cos[pos], rope.sin[pos], nh, hd, D.rope_dim, D.eps);
58
- const k = await headNormRopeGPU(device, await mvq(W.attn_k, nx), kn, rope.cos[pos], rope.sin[pos], nkv, hd, D.rope_dim, D.eps);
59
- const v = await mvq(W.attn_v, nx);
60
- st.K.push(k); st.V.push(v); const P = st.K.length;
61
- const Kc = new Float32Array(P * nkv * hd), Vc = new Float32Array(P * nkv * hd); for (let p = 0; p < P; p++) { Kc.set(st.K[p], p * nkv * hd); Vc.set(st.V[p], p * nkv * hd); }
62
- const c = await singleQAttnGPU(device, q, Kc, Vc, P, nh, hd, nkv, 1 / Math.sqrt(hd));
63
- for (let i = 0; i < c.length; i++) c[i] *= 1 / (1 + Math.exp(-g[i]));
64
- return mvq(W.attn_output, c);
65
- }
66
- // one token → next-token logits, advancing all per-layer state at absolute position `pos`.
67
- async function step(id, pos, state) {
68
- await ensureOutNorm();
69
- let h = gather(id);
70
- for (let L = 0; L < D.n_layer; L++) {
71
- const { type, W } = layers[L];
72
- const delta = type === "attn" ? await attnStep(W, h, pos, state[L]) : await linearStep(W, h, state[L]);
73
- for (let i = 0; i < D.d_model; i++) h[i] += delta[i];
74
- const pn = await normW(W.post_attention_norm, D.d_model);
75
- const mn = await rmsNorm1pGPU(device, h, pn, D.eps);
76
- const gp = await mvq(W.ffn_gate, mn), up = await mvq(W.ffn_up, mn), hh = new Float32Array(D.ffn);
77
- for (let i = 0; i < D.ffn; i++) hh[i] = silu(gp[i]) * up[i];
78
- const fd = await mvq(W.ffn_down, hh); for (let i = 0; i < D.d_model; i++) h[i] += fd[i];
79
- }
80
- const hn = await rmsNorm1pGPU(device, h, outNormF, D.eps);
81
- return mvq(lmHead, hn, D.vocab);
82
- }
83
- const argmax = (v) => { let bi = 0, bv = -Infinity; for (let i = 0; i < v.length; i++) if (v[i] > bv) { bv = v[i]; bi = i; } return bi; };
84
- function frame(messages) { let s = ""; for (const m of messages) s += `<|im_start|>${m.role}\n${m.content}<|im_end|>\n`; return s + "<|im_start|>assistant\n"; }
85
-
86
- async function* generate(messages, { maxTokens = 256, temperature = 0 } = {}) {
87
- const ids = tok.encode(frame(messages), { addSpecial: false, parseSpecial: true });
88
- const state = newState();
89
- let logits, pos = 0;
90
- for (; pos < ids.length; pos++) { logits = await step(ids[pos], pos, state); onProgress && onProgress(`prefill ${pos + 1}/${ids.length}`, (pos + 1) / ids.length); } // prefill (last logits = first prediction)
91
- let text = "", gen = [];
92
- for (let n = 0; n < maxTokens; n++) {
93
- let tk;
94
- if (temperature <= 0) tk = argmax(logits);
95
- else { const l = logits.map((x) => x / temperature); const mx = Math.max(...l); let sum = 0; const pr = l.map((x) => { const e = Math.exp(x - mx); sum += e; return e; }); let r = Math.random() * sum, i = 0; for (; i < pr.length; i++) { r -= pr[i]; if (r <= 0) break; } tk = i; }
96
- if (EOS.has(tk)) return;
97
- gen.push(tk); const full = tok.decode(gen), delta = full.slice(text.length); text = full; yield delta;
98
- logits = await step(tk, pos++, state);
99
- }
100
- }
101
- async function chat(messages, o) { let s = ""; for await (const d of generate(messages, o)) s += d; return s.trim(); }
102
- return { D, tok, generate, chat, step, newState, argmax, info: () => ({ arch: "qwen35", layers: D.n_layer, vocab: D.vocab }) };
103
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f758a1786b184a0ff44ca4dab869042daf94f0419af7e24a58431e70713db98
3
+ size 8530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d2311973f28c55c3a761f20215061b07b815295b2ad491e130bb7ef92794be7 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.empty-icon",
3
- "name": "empty-icon",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/empty-icon.json",
8
- "did": "did:holo:sha256:85ac7ab340d85b531fa30efac011074c595aa241ab40fb66483bdba3897beca8",
9
- "import": "holo://sha256:67218baa2f62bb9d57b7076b9dbaa6d2e09bdc12778e1eef7c56e13f0070bcf0",
10
- "integrity": "sha256-ZyGLqi9iu51Xtwdrnbqm0uCb3BJ3jh7vfFbhPwBwvPA=",
11
- "kappa": "sha256:85ac7ab340d85b531fa30efac011074c595aa241ab40fb66483bdba3897beca8",
12
- "moduleKappa": "sha256:67218baa2f62bb9d57b7076b9dbaa6d2e09bdc12778e1eef7c56e13f0070bcf0",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/empty-icon.tsx",
15
- "module": "vendor/components/empty-icon.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6960f647efea1781d86e03528afd47408e6d75d0da5f43feed03b5b38b68e14
3
+ size 844
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d2c6f9e169ebaa1f536702cf8d6baec4842f2005e6a179848b0a7392e178c2d CHANGED
@@ -1,26 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.popover",
3
- "name": "popover",
4
- "tier": "component",
5
- "library": "shadcn",
6
- "category": "Overlays",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/popover.json",
8
- "did": "did:holo:sha256:d871124f5e867a64f4e3da98f290cd3517660a01b458c42831a8171fb74eff3f",
9
- "import": "holo://sha256:8a5b05a3906e6bfbdd06da55169c3edf971225aa4b1ff82b8b5cd9f9e708522b",
10
- "integrity": "sha256-ilsFo5Bua/vdBtpVFpw+35cSJapLH/gri1zZ+ecIUis=",
11
- "kappa": "sha256:d871124f5e867a64f4e3da98f290cd3517660a01b458c42831a8171fb74eff3f",
12
- "moduleKappa": "sha256:8a5b05a3906e6bfbdd06da55169c3edf971225aa4b1ff82b8b5cd9f9e708522b",
13
- "renderExport": "Popover",
14
- "source": "components/ui/popover.tsx",
15
- "module": "vendor/components/popover.js",
16
- "exports": [
17
- "Popover",
18
- "PopoverTrigger",
19
- "PopoverContent",
20
- "PopoverAnchor",
21
- "PopoverHeader",
22
- "PopoverTitle",
23
- "PopoverDescription"
24
- ],
25
- "license": "MIT"
26
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef908cb53fe982a1eafbdcf5073dfca6fec64811c107399b8f19034691430ea3
3
+ size 939
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d334d984bc2d8f0d85df835b7688ea791bc05b3c70077541f0e00608feefd00 CHANGED
@@ -1,133 +1,3 @@
1
- // holo-qwen35-gpu-real.mjs — the REAL qwen35 9B thinking brain on WebGPU: streams the .holo's quantized weights,
2
- // keeps them packed in VRAM, runs the whole forward on-GPU (no per-op readback — only the final logits come
3
- // back), and generates. Reuses the forge tokenizer (makeTokenizer) + the engine's quantized matvec + the
4
- // parity-verified qwen35 kernels. Every mechanic here is verified against the CPU oracle (which matches HF and
5
- // produces "Paris"): quantized matvec (Q4_K/Q5_K/Q6_K), the v-head block permutation, both mixers, whole model.
6
- //
7
- // const brain = await loadQwen35Brain({ holoUrl, onProgress });
8
- // for await (const delta of brain.generate(messages, { maxTokens })) ui.append(delta);
9
- //
10
- // NOTE: full-sequence forward per token (correct; KV-cache incremental decode is the next optimization). The
11
- // 9B needs ~5.6 GB VRAM resident — the device is requested with the adapter's max limits; weak GPUs should be
12
- // gated away (holo-q-think-tier). This is a browser module (WebGPU); verified live, never by eye.
13
-
14
- import { createGpuRuntime, MATVECQ4KRAW, MATVECQ5RAW, MATVECQ6KRAW, RMS, SWIGLU, ADD, G } from "./holo-gguf-gpu.mjs";
15
- import { RMSNORM_1P_WGSL, GATED_RMSNORM_WGSL, CONV1D_STEP_WGSL, QWEN_PREP_WGSL, HEAD_NORM_ROPE_WGSL, CAUSAL_GQA_WGSL } from "./holo-qwen35-kernels.mjs";
16
- import { GATED_DELTA_STEP_WGSL } from "./holo-gated-delta-gpu.mjs";
17
- import { openHoloStream } from "../holo-archive.mjs";
18
- import { parseGgufHeader } from "../../qvac-ingest.mjs";
19
- import { makeTokenizer } from "../gguf-forge-tokenizer.mjs";
20
-
21
- const RAW = { 12: MATVECQ4KRAW, 13: MATVECQ5RAW, 14: MATVECQ6KRAW }; // ggmlType → raw quantized matvec kernel
22
- const BPB = { 12: 144, 13: 176, 14: 210 };
23
- const EOS = new Set([248046, 248044]); // qwen35 eos / pad (from meta)
24
-
25
- export async function loadQwen35Brain({ holoUrl, onProgress = () => {} }) {
26
- if (!navigator.gpu) throw new Error("WebGPU not available in this browser");
27
- const adapter = await navigator.gpu.requestAdapter({ powerPreference: "high-performance" });
28
- const L = adapter.limits;
29
- const device = await adapter.requestDevice({ requiredLimits: {
30
- maxStorageBufferBindingSize: L.maxStorageBufferBindingSize, maxBufferSize: L.maxBufferSize,
31
- maxStorageBuffersPerShaderStage: Math.min(10, L.maxStorageBuffersPerShaderStage),
32
- } });
33
- const rt = createGpuRuntime(device);
34
- const pipes = { rms1p: pipe(RMSNORM_1P_WGSL), gnorm: pipe(GATED_RMSNORM_WGSL), conv: pipe(CONV1D_STEP_WGSL), prep: pipe(QWEN_PREP_WGSL), hnr: pipe(HEAD_NORM_ROPE_WGSL), gqa: pipe(CAUSAL_GQA_WGSL), gd: pipe(GATED_DELTA_STEP_WGSL), q4: rt.P.q4kraw, q5: rt.P.q5raw, q6: rt.P.q6kraw, rms: rt.P.rms, swiglu: rt.P.swiglu, add: rt.P.add };
35
- function pipe(code) { return device.createComputePipeline({ layout: "auto", compute: { module: device.createShaderModule({ code }), entryPoint: "main" } }); }
36
-
37
- // ── stream + parse the .holo ──
38
- const totalLen = Number((await fetch(holoUrl, { method: "HEAD" })).headers.get("content-length") || 0);
39
- const rr = async (off, len) => new Uint8Array(await (await fetch(holoUrl, { headers: { Range: `bytes=${off}-${off + len - 1}` } })).arrayBuffer());
40
- const h = await openHoloStream(rr);
41
- // ── B1: content-addressed body delivery (fabric commons). Each weight body is κ-addressed, so resolve it
42
- // OPFS (own-device durable cache — 0 network, offline) → commons/peer (resolveData, κ-route, VERIFIED by
43
- // re-derivation) → origin (L5-verified by openHoloStream), mirroring every fetched body into OPFS. On a
44
- // reload the 5.6GB streams from LOCAL disk: ~0 bytes from origin. Fabric-gated; origin path unchanged when off.
45
- const loadBytes = { origin: 0, cache: 0, peer: 0 };
46
- const fabricOn = () => { try { return globalThis.holoFabric ? globalThis.holoFabric.enabled !== false : true; } catch (e) { return true; } };
47
- let _opfsDir = null;
48
- const opfsDir = async () => { if (_opfsDir === null) { try { const root = await navigator.storage.getDirectory(); _opfsDir = await root.getDirectoryHandle("q-holo-cache", { create: true }); try { navigator.storage.persist && navigator.storage.persist(); } catch (e) {} } catch (e) { _opfsDir = false; } } return _opfsDir; };
49
- const opfsGet = async (hex) => { try { const d = await opfsDir(); if (!d) return null; const f = await (await d.getFileHandle(hex)).getFile(); return new Uint8Array(await f.arrayBuffer()); } catch (e) { return null; } };
50
- const opfsPut = async (hex, bytes) => { try { const d = await opfsDir(); if (!d) return; const w = await (await d.getFileHandle(hex, { create: true })).createWritable(); await w.write(bytes); await w.close(); } catch (e) {} };
51
- const sha256hex = async (bytes) => { const b = await crypto.subtle.digest("SHA-256", bytes); return [...new Uint8Array(b)].map((x) => x.toString(16).padStart(2, "0")).join(""); };
52
- const origGetBody = h.getBody.bind(h);
53
- h.getBody = async (kappa) => {
54
- const hex = String(kappa).split(":").pop();
55
- if (fabricOn()) {
56
- const c = await opfsGet(hex); if (c) { loadBytes.cache += c.length; return c; } // own-device durable cache (trusted: we cached L5-verified bytes)
57
- if (globalThis.resolveData) { try { const b = await globalThis.resolveData(kappa); if (b) { const u = new Uint8Array(b); if (await sha256hex(u) === hex) { loadBytes.peer += u.length; opfsPut(hex, u); return u; } } } catch (e) {} } // commons/peer — VERIFIED before use
58
- }
59
- const b = await origGetBody(kappa); loadBytes.origin += b.length; if (fabricOn()) opfsPut(hex, b); // origin (L5-verified) → mirror to OPFS for next time
60
- return b;
61
- };
62
- const { meta, tensors } = parseGgufHeader(h.headerBytes);
63
- const tok = makeTokenizer(h.headerBytes);
64
- const info = new Map(tensors.map((t) => [t.name, t]));
65
- const kByName = new Map(h.order.map((o) => [o.name, String(o.kappa).split(":").pop()]));
66
- const g = (k) => meta["qwen35." + k];
67
- const D = {
68
- d_model: g("embedding_length"), n_layer: g("block_count"), vocab: 248320, ffn: g("feed_forward_length"), eps: g("attention.layer_norm_rms_epsilon") || 1e-6,
69
- head_k: g("ssm.state_size"), num_k_heads: g("ssm.group_count"), value_dim: g("ssm.inner_size"), conv_k: g("ssm.conv_kernel"),
70
- n_head: g("attention.head_count"), n_kv: g("attention.head_count_kv"), head_dim: g("attention.key_length"), rope_dim: g("rope.dimension_count"), rope_theta: g("rope.freq_base"), interval: g("full_attention_interval"),
71
- };
72
- D.head_v = D.head_k; D.num_v_heads = Math.round(D.value_dim / D.head_v); D.key_dim = D.num_k_heads * D.head_k; D.conv_dim = 2 * D.key_dim + D.value_dim;
73
- const vperm = (() => { const p = new Int32Array(D.num_v_heads); for (let s = 0; s < D.num_v_heads; s++) p[s] = (s % 2 === 0) ? (s >> 1) : (D.num_v_heads / 2 + ((s - 1) >> 1)); return p; })();
74
-
75
- // ── buffer helpers ──
76
- const sb = (nFloats) => device.createBuffer({ size: Math.max(16, nFloats * 4), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST });
77
- const wF = (arr) => { const b = device.createBuffer({ size: Math.max(16, arr.byteLength), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST | GPUBufferUsage.COPY_SRC }); device.queue.writeBuffer(b, 0, arr); return b; }; // COPY_SRC: F32 norm/conv/a/dt weights are read back via normW
78
- const wRaw = (u8) => wF(new Uint32Array(u8.buffer, u8.byteOffset, u8.byteLength / 4));
79
-
80
- // load a weight tensor's raw quantized bytes → GPU buffer (+ optional v-head ROW-block permutation).
81
- async function loadQ(name, blockRows = 0) { // v-head row-permute: blockRows = OUTPUT rows per v-head (0 = none)
82
- const t = info.get(name); let bytes = await h.getBody(kByName.get(name));
83
- if (blockRows) { const K = t.dims[0], nb = K / 256, rowBytes = nb * BPB[t.ggmlType], blk = blockRows * rowBytes, out = new Uint8Array(bytes.length); for (let s = 0; s < D.num_v_heads; s++) out.set(bytes.subarray(vperm[s] * blk, (vperm[s] + 1) * blk), s * blk); bytes = out; }
84
- return { buf: wRaw(bytes), type: t.ggmlType, N: t.dims[1], K: t.dims[0] };
85
- }
86
- const deqF32 = async (name) => { const { dequantizeExact } = await import("../gguf-forge-dequant.mjs"); const t = info.get(name); return dequantizeExact(t.ggmlType, await h.getBody(kByName.get(name)), t.dims.reduce((a, b) => a * b, 1)); };
87
-
88
- // ── load all weights (with the solved conventions) ──
89
- onProgress("loading weights…", 0);
90
- const embed = { t: info.get("token_embd.weight"), bytes: await h.getBody(kByName.get("token_embd.weight")) }; // gathered on host per token
91
- const lmHead = await loadQ("output.weight");
92
- const outNorm = wF((await deqF32("output_norm.weight")).map((x) => x - 1)); // baked +1 → (1+(w-1))=w
93
- const sched = Array.from({ length: D.n_layer }, (_, i) => ((i + 1) % D.interval === 0) ? "attn" : "linear");
94
- const layers = [];
95
- for (let Lx = 0; Lx < D.n_layer; Lx++) {
96
- const N = `blk.${Lx}.`, type = sched[Lx], W = {};
97
- W.attn_norm = wF((await deqF32(N + "attn_norm.weight")).map((x) => x - 1));
98
- W.post_attention_norm = wF((await deqF32(N + "post_attention_norm.weight")).map((x) => x - 1));
99
- W.ffn_gate = await loadQ(N + "ffn_gate.weight"); W.ffn_up = await loadQ(N + "ffn_up.weight"); W.ffn_down = await loadQ(N + "ffn_down.weight");
100
- if (type === "linear") {
101
- W.attn_qkv = await loadQ(N + "attn_qkv.weight"); // v-rows permuted below (split path); q/k identity
102
- W.attn_gate = await loadQ(N + "attn_gate.weight", D.head_v); // z: 32 v-heads × head_v rows each
103
- W.ssm_alpha = await loadQ(N + "ssm_alpha.weight", 1); W.ssm_beta = await loadQ(N + "ssm_beta.weight", 1); // 32 out rows (1/v-head)
104
- W.ssm_out = await loadQ(N + "ssm_out.weight"); // in-cols v-head-indexed → activation permuted at runtime (linearStep)
105
- // attn_qkv v-rows: permute just the v-head block ranges (rows keyDim2..end); q/k rows identity
106
- { const t = info.get(N + "attn_qkv.weight"); let b = await h.getBody(kByName.get(N + "attn_qkv.weight")); const K = t.dims[0], nb = K / 256, rB = nb * BPB[t.ggmlType], vOff = 2 * D.key_dim; const out = Uint8Array.from(b); for (let s = 0; s < D.num_v_heads; s++) for (let r = 0; r < D.head_v; r++) { const dstRow = vOff + s * D.head_v + r, srcRow = vOff + vperm[s] * D.head_v + r; out.set(b.subarray(srcRow * rB, (srcRow + 1) * rB), dstRow * rB); } W.attn_qkv = { buf: wRaw(out), type: t.ggmlType, N: t.dims[1], K }; }
107
- const aRaw = (await deqF32(N + "ssm_a")); const aPerm = new Float32Array(D.num_v_heads); for (let s = 0; s < D.num_v_heads; s++) aPerm[s] = Math.log(-aRaw[vperm[s]]); W.ssm_a = wF(aPerm);
108
- const dtRaw = (await deqF32(N + "ssm_dt.bias")); const dtP = new Float32Array(D.num_v_heads); for (let s = 0; s < D.num_v_heads; s++) dtP[s] = dtRaw[vperm[s]]; W.ssm_dt = wF(dtP);
109
- W.ssm_norm = wF(await deqF32(N + "ssm_norm.weight")); // RMSNormGated: plain w
110
- const cwRaw = await deqF32(N + "ssm_conv1d.weight"), C = info.get(N + "ssm_conv1d.weight").dims[1], K = info.get(N + "ssm_conv1d.weight").dims[0];
111
- const conv = new Float32Array(K * C); for (let c = 0; c < C; c++) for (let j = 0; j < K; j++) conv[j * C + c] = cwRaw[c * K + j];
112
- const convP = Float32Array.from(conv); for (let j = 0; j < K; j++) for (let s = 0; s < D.num_v_heads; s++) convP.set(conv.subarray(j * C + 2 * D.key_dim + vperm[s] * D.head_v, j * C + 2 * D.key_dim + (vperm[s] + 1) * D.head_v), j * C + 2 * D.key_dim + s * D.head_v); W.ssm_conv1d = wF(convP);
113
- } else {
114
- W.attn_q = await loadQ(N + "attn_q.weight"); W.attn_k = await loadQ(N + "attn_k.weight"); W.attn_v = await loadQ(N + "attn_v.weight"); W.attn_output = await loadQ(N + "attn_output.weight");
115
- W.attn_q_norm = wF((await deqF32(N + "attn_q_norm.weight")).map((x) => x - 1)); W.attn_k_norm = wF((await deqF32(N + "attn_k_norm.weight")).map((x) => x - 1));
116
- }
117
- layers.push({ type, W });
118
- onProgress(`layer ${Lx + 1}/${D.n_layer}`, (Lx + 1) / D.n_layer);
119
- }
120
-
121
- // RoPE tables (partial, head_dim/2 split): cos/sin length rope_dim, per position.
122
- function ropeTables(T) { const rd = D.rope_dim, half = rd / 2, inv = new Float32Array(half); for (let i = 0; i < half; i++) inv[i] = 1 / Math.pow(D.rope_theta, (2 * i) / rd); const cos = [], sin = []; for (let t = 0; t < T; t++) { const c = new Float32Array(rd), s = new Float32Array(rd); for (let i = 0; i < half; i++) { const f = t * inv[i]; c[i] = c[i + half] = Math.cos(f); s[i] = s[i + half] = Math.sin(f); } cos.push(c); sin.push(s); } return { cos, sin }; }
123
-
124
- const modelTag = kByName.get("output.weight") || kByName.get("token_embd.weight") || "qwen35-9b"; // a body-κ fingerprint → scopes the answer/KV cache to THIS model
125
- const ctx = { device, rt, pipes, D, RAW, BPB, embed, lmHead, outNorm, layers, sched, ropeTables, tok, EOS, sb, wF, G, totalLen, onProgress, modelTag };
126
- const brainMod = await import("./holo-qwen35-gpu-real-forward.mjs"); // readback engine (oracle, == HF)
127
- const residentMod = await import("./holo-qwen35-resident.mjs"); // on-GPU resident decode (shares the SAME weights)
128
- const brain = brainMod.makeBrain(ctx);
129
- brain.resident = residentMod.makeResident(ctx); // parity-testable side by side, no double VRAM
130
- const loadStats = () => { const t = loadBytes.origin + loadBytes.cache + loadBytes.peer; return { ...loadBytes, total: t, fromOriginPct: t ? Math.round((loadBytes.origin / t) * 100) : 0 }; };
131
- brain.loadStats = loadStats; brain.resident.loadStats = loadStats;
132
- return brain;
133
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b81a2a297b32ec07e06d06bde47b2488d62f848f19a983d14409eaa307e92e4d
3
+ size 13505
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d612e61fa4cc7ae9af90ff3988e54b3f606263d0ebbbc292895945803ef29b2 CHANGED
@@ -1,27 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.daisyui.divider",
3
- "name": "daisyui-divider",
4
- "tier": "component",
5
- "library": "daisyui",
6
- "category": "Layout",
7
- "upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/components/divider.css",
8
- "docs": "https://daisyui.com/components/divider/",
9
- "did": "did:holo:sha256:d1cbbf4c59e6dee8ffd3698a46f81834077c316cb64f1ac31f00803132d02a65",
10
- "import": "holo://sha256:d1cbbf4c59e6dee8ffd3698a46f81834077c316cb64f1ac31f00803132d02a65",
11
- "integrity": "sha256-0cu/TFnm3uj/02mKRvgYNAd8MWy2TxrDHwCAMTLQKmU=",
12
- "kappa": "sha256:d1cbbf4c59e6dee8ffd3698a46f81834077c316cb64f1ac31f00803132d02a65",
13
- "moduleKappa": "sha256:d1cbbf4c59e6dee8ffd3698a46f81834077c316cb64f1ac31f00803132d02a65",
14
- "renderExport": null,
15
- "format": "css",
16
- "source": "components/divider.css",
17
- "module": "vendor/daisyui/components/divider.css",
18
- "exports": [],
19
- "bytes": 10161,
20
- "provenance": {
21
- "package": "daisyui",
22
- "version": "5.5.23",
23
- "integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
24
- "file": "components/divider.css"
25
- },
26
- "license": "MIT"
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4fb2f7fbc72076c6c8fcf1405f492440a70b02bef45cc29ac2a8ec36f107cc09
3
+ size 1134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d77caf194b3f1187e88d2eadf83e01e6e1846632b7d138c1a86a464838a5dc2 CHANGED
@@ -1,55 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import type { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
5
-
6
- import { Button } from "@/registry/new-york-v4/ui/button"
7
- import {
8
- DropdownMenu,
9
- DropdownMenuCheckboxItem,
10
- DropdownMenuContent,
11
- DropdownMenuLabel,
12
- DropdownMenuSeparator,
13
- DropdownMenuTrigger,
14
- } from "@/registry/new-york-v4/ui/dropdown-menu"
15
-
16
- type Checked = React.ComponentProps<
17
- typeof DropdownMenuPrimitive.CheckboxItem
18
- >["checked"]
19
-
20
- export default function DropdownMenuCheckboxes() {
21
- const [showStatusBar, setShowStatusBar] = React.useState<Checked>(true)
22
- const [showActivityBar, setShowActivityBar] = React.useState<Checked>(false)
23
- const [showPanel, setShowPanel] = React.useState<Checked>(false)
24
-
25
- return (
26
- <DropdownMenu>
27
- <DropdownMenuTrigger asChild>
28
- <Button variant="outline">Open</Button>
29
- </DropdownMenuTrigger>
30
- <DropdownMenuContent className="w-56">
31
- <DropdownMenuLabel>Appearance</DropdownMenuLabel>
32
- <DropdownMenuSeparator />
33
- <DropdownMenuCheckboxItem
34
- checked={showStatusBar}
35
- onCheckedChange={setShowStatusBar}
36
- >
37
- Status Bar
38
- </DropdownMenuCheckboxItem>
39
- <DropdownMenuCheckboxItem
40
- checked={showActivityBar}
41
- onCheckedChange={setShowActivityBar}
42
- disabled
43
- >
44
- Activity Bar
45
- </DropdownMenuCheckboxItem>
46
- <DropdownMenuCheckboxItem
47
- checked={showPanel}
48
- onCheckedChange={setShowPanel}
49
- >
50
- Panel
51
- </DropdownMenuCheckboxItem>
52
- </DropdownMenuContent>
53
- </DropdownMenu>
54
- )
55
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4ff83f4710ff94d1872d894bae6b93b5830ef1205b9982346d418db630c0c42
3
+ size 1623
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d7e7cd23c36f98e28c9ac19295b39c069a9c653dac08b2331d0681e98566259 CHANGED
@@ -1,116 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- function Table({ className, ...props }: React.ComponentProps<"table">) {
8
- return (
9
- <div
10
- data-slot="table-container"
11
- className="relative w-full overflow-x-auto"
12
- >
13
- <table
14
- data-slot="table"
15
- className={cn("w-full caption-bottom text-sm", className)}
16
- {...props}
17
- />
18
- </div>
19
- )
20
- }
21
-
22
- function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
23
- return (
24
- <thead
25
- data-slot="table-header"
26
- className={cn("[&_tr]:border-b", className)}
27
- {...props}
28
- />
29
- )
30
- }
31
-
32
- function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
33
- return (
34
- <tbody
35
- data-slot="table-body"
36
- className={cn("[&_tr:last-child]:border-0", className)}
37
- {...props}
38
- />
39
- )
40
- }
41
-
42
- function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
43
- return (
44
- <tfoot
45
- data-slot="table-footer"
46
- className={cn(
47
- "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
48
- className
49
- )}
50
- {...props}
51
- />
52
- )
53
- }
54
-
55
- function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
56
- return (
57
- <tr
58
- data-slot="table-row"
59
- className={cn(
60
- "border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",
61
- className
62
- )}
63
- {...props}
64
- />
65
- )
66
- }
67
-
68
- function TableHead({ className, ...props }: React.ComponentProps<"th">) {
69
- return (
70
- <th
71
- data-slot="table-head"
72
- className={cn(
73
- "h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
74
- className
75
- )}
76
- {...props}
77
- />
78
- )
79
- }
80
-
81
- function TableCell({ className, ...props }: React.ComponentProps<"td">) {
82
- return (
83
- <td
84
- data-slot="table-cell"
85
- className={cn(
86
- "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
87
- className
88
- )}
89
- {...props}
90
- />
91
- )
92
- }
93
-
94
- function TableCaption({
95
- className,
96
- ...props
97
- }: React.ComponentProps<"caption">) {
98
- return (
99
- <caption
100
- data-slot="table-caption"
101
- className={cn("mt-4 text-sm text-muted-foreground", className)}
102
- {...props}
103
- />
104
- )
105
- }
106
-
107
- export {
108
- Table,
109
- TableHeader,
110
- TableBody,
111
- TableFooter,
112
- TableHead,
113
- TableRow,
114
- TableCell,
115
- TableCaption,
116
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:20e5a7f224959c6b75802995706a97e9da171f693d4b6b1b436388fcd9df96f3
3
+ size 2478
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d91954229902aea23185e49bb0fef3dfe31c5cdfcbd7e658030f8ed094ae5e8 CHANGED
@@ -1,112 +1,3 @@
1
- "use client"
2
-
3
- import { TrendingUp } from "lucide-react"
4
- import {
5
- Label,
6
- PolarGrid,
7
- PolarRadiusAxis,
8
- RadialBar,
9
- RadialBarChart,
10
- } from "recharts"
11
-
12
- import {
13
- Card,
14
- CardContent,
15
- CardDescription,
16
- CardFooter,
17
- CardHeader,
18
- CardTitle,
19
- } from "@/registry/new-york-v4/ui/card"
20
- import {
21
- ChartContainer,
22
- type ChartConfig,
23
- } from "@/registry/new-york-v4/ui/chart"
24
-
25
- export const description = "A radial chart with text"
26
-
27
- const chartData = [
28
- { browser: "safari", visitors: 200, fill: "var(--color-safari)" },
29
- ]
30
-
31
- const chartConfig = {
32
- visitors: {
33
- label: "Visitors",
34
- },
35
- safari: {
36
- label: "Safari",
37
- color: "var(--chart-2)",
38
- },
39
- } satisfies ChartConfig
40
-
41
- export function ChartRadialText() {
42
- return (
43
- <Card className="flex flex-col">
44
- <CardHeader className="items-center pb-0">
45
- <CardTitle>Radial Chart - Text</CardTitle>
46
- <CardDescription>January - June 2024</CardDescription>
47
- </CardHeader>
48
- <CardContent className="flex-1 pb-0">
49
- <ChartContainer
50
- config={chartConfig}
51
- className="mx-auto aspect-square max-h-[250px]"
52
- >
53
- <RadialBarChart
54
- data={chartData}
55
- startAngle={0}
56
- endAngle={250}
57
- outerRadius={90}
58
- innerRadius={80}
59
- >
60
- <PolarGrid
61
- gridType="circle"
62
- radialLines={false}
63
- stroke="none"
64
- className="first:fill-muted last:fill-background"
65
- polarRadius={[90, 80]}
66
- />
67
- <RadialBar dataKey="visitors" background cornerRadius={10} />
68
- <PolarRadiusAxis tick={false} tickLine={false} axisLine={false}>
69
- <Label
70
- content={({ viewBox }) => {
71
- if (viewBox && "cx" in viewBox && "cy" in viewBox) {
72
- return (
73
- <text
74
- x={viewBox.cx}
75
- y={viewBox.cy}
76
- textAnchor="middle"
77
- dominantBaseline="middle"
78
- >
79
- <tspan
80
- x={viewBox.cx}
81
- y={viewBox.cy}
82
- className="fill-foreground text-4xl font-bold"
83
- >
84
- {chartData[0].visitors.toLocaleString()}
85
- </tspan>
86
- <tspan
87
- x={viewBox.cx}
88
- y={(viewBox.cy || 0) + 24}
89
- className="fill-muted-foreground"
90
- >
91
- Visitors
92
- </tspan>
93
- </text>
94
- )
95
- }
96
- }}
97
- />
98
- </PolarRadiusAxis>
99
- </RadialBarChart>
100
- </ChartContainer>
101
- </CardContent>
102
- <CardFooter className="flex-col gap-2 text-sm">
103
- <div className="flex items-center gap-2 leading-none font-medium">
104
- Trending up by 5.2% this month <TrendingUp className="h-4 w-4" />
105
- </div>
106
- <div className="leading-none text-muted-foreground">
107
- Showing total visitors for the last 6 months
108
- </div>
109
- </CardFooter>
110
- </Card>
111
- )
112
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d02a7c05bb28a4a76e7cb2d16df8ae33bd4e50e06a095f8d13a02cd78d33818e
3
+ size 3260
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1d924b1309c0374bc494702500d8db178b30e55e60306f58cb18212a35d0fbd5 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.navigation-menu-demo",
3
- "name": "navigation-menu-demo",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/navigation-menu-demo.json",
8
- "did": "did:holo:sha256:17464911daa88a84345fbc6c1485d0f346b5417f0bb3370f623ee435fb50265d",
9
- "import": "holo://sha256:e30b724f29935aefada691a8b159ad5d0f4c9b03ffce497db86798eb2f65a37b",
10
- "integrity": "sha256-4wtyTymTWu+tppGosVmtXQ9MmwP/zkl9uGeY6y9lo3s=",
11
- "kappa": "sha256:17464911daa88a84345fbc6c1485d0f346b5417f0bb3370f623ee435fb50265d",
12
- "moduleKappa": "sha256:e30b724f29935aefada691a8b159ad5d0f4c9b03ffce497db86798eb2f65a37b",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/navigation-menu-demo.tsx",
15
- "module": "vendor/components/navigation-menu-demo.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:680c859b002f12f5de9df932a9809031ee36cbb0ab27506fc3d76552f947d422
3
+ size 894
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1db7c1e7b1eb8ee3087cf309e707ad194d5fb5f3984f39642063b09a403e5ea2 CHANGED
@@ -1,31 +1,3 @@
1
- :root:has(input.theme-controller[value=nord]:checked),[data-theme="nord"] {
2
- color-scheme: light;
3
- --color-base-100: oklch(95.127% 0.007 260.731);
4
- --color-base-200: oklch(93.299% 0.01 261.788);
5
- --color-base-300: oklch(89.925% 0.016 262.749);
6
- --color-base-content: oklch(32.437% 0.022 264.182);
7
- --color-primary: oklch(59.435% 0.077 254.027);
8
- --color-primary-content: oklch(11.887% 0.015 254.027);
9
- --color-secondary: oklch(69.651% 0.059 248.687);
10
- --color-secondary-content: oklch(13.93% 0.011 248.687);
11
- --color-accent: oklch(77.464% 0.062 217.469);
12
- --color-accent-content: oklch(15.492% 0.012 217.469);
13
- --color-neutral: oklch(45.229% 0.035 264.131);
14
- --color-neutral-content: oklch(89.925% 0.016 262.749);
15
- --color-info: oklch(69.207% 0.062 332.664);
16
- --color-info-content: oklch(13.841% 0.012 332.664);
17
- --color-success: oklch(76.827% 0.074 131.063);
18
- --color-success-content: oklch(15.365% 0.014 131.063);
19
- --color-warning: oklch(85.486% 0.089 84.093);
20
- --color-warning-content: oklch(17.097% 0.017 84.093);
21
- --color-error: oklch(60.61% 0.12 15.341);
22
- --color-error-content: oklch(12.122% 0.024 15.341);
23
- --radius-selector: 1rem;
24
- --radius-field: 0.25rem;
25
- --radius-box: 0.5rem;
26
- --size-selector: 0.25rem;
27
- --size-field: 0.25rem;
28
- --border: 1px;
29
- --depth: 0;
30
- --noise: 0;
31
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:12dd73d5b35420c9981a9d08eb4f5f01bdb27c2d460a757a73fea1a154b88982
3
+ size 1255
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1dcec218a2f7b66e0a1440db345620b4badbee36ef670ad4b800d814f64fe438 CHANGED
@@ -1,229 +1,3 @@
1
- <!doctype html>
2
- <meta charset="utf-8">
3
- <meta name="viewport" content="width=device-width, initial-scale=1">
4
- <title>Holo GGUF — .holo streaming cold load</title>
5
- <style>
6
- :root{--bg:#0b0d12;--panel:#14171f;--line:#252b3a;--txt:#eef1f6;--dim:#9aa3b8;--accent:#5eead4;}
7
- *{box-sizing:border-box;} html,body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.6 ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif;}
8
- #app{max-width:880px;margin:0 auto;padding:22px 18px;}
9
- h1{font-size:21px;margin:0;} h1 b{color:var(--accent);} .sub{color:var(--dim);font-size:14px;margin-top:4px;}
10
- .controls{display:flex;gap:10px;margin-top:16px;align-items:center;flex-wrap:wrap;}
11
- select,button{font-size:15px;font-family:inherit;background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:11px 16px;cursor:pointer;}
12
- button.go{background:var(--accent);color:#06241f;font-weight:700;border:0;}
13
- button:disabled{opacity:.4;cursor:default;}
14
- .bar{height:8px;background:#0e1118;border-radius:6px;overflow:hidden;margin-top:18px;}
15
- .bar>i{display:block;height:100%;width:0;background:var(--accent);transition:width .1s;}
16
- .status{color:var(--dim);font-size:14px;margin-top:8px;min-height:20px;}
17
- .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
18
- .stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
19
- .stat .n{font-size:26px;font-weight:700;} .stat .n.ok{color:var(--accent);}
20
- .stat .l{font-size:13px;color:var(--dim);text-transform:uppercase;letter-spacing:.5px;margin-top:5px;}
21
- @media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr);}}
22
- .out{margin-top:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:17px;min-height:28px;}
23
- .out b{color:var(--accent);}
24
- </style>
25
- <div id="app">
26
- <h1>Hologram <b>.holo</b> streaming cold load</h1>
27
- <div class="sub">Stream a precompiled, content-addressed model over HTTP Range — verified per block (L5), token_embd deferred — onto your GPU. No whole-file download, no server compute.</div>
28
- <div class="controls">
29
- <select id="link">
30
- <option value="0">Link: Unlimited (localhost)</option>
31
- <option value="125000000">Link: 1 Gbps fiber</option>
32
- <option value="62500000" selected>Link: 500 Mbps wifi</option>
33
- <option value="6250000">Link: 50 Mbps phone</option>
34
- </select>
35
- <button class="go" id="go">Stream &amp; run</button>
36
- <span class="status" id="status">Pick a link speed and stream the model.</span>
37
- </div>
38
- <div class="bar"><i id="bar"></i></div>
39
- <div class="stats">
40
- <div class="stat"><div class="n ok" id="s-ttfb">—</div><div class="l">First block</div></div>
41
- <div class="stat"><div class="n ok" id="s-ttft">—</div><div class="l">First token (TTFT)</div></div>
42
- <div class="stat"><div class="n" id="s-crit">—</div><div class="l">Critical path</div></div>
43
- <div class="stat"><div class="n" id="s-thru">—</div><div class="l">Throughput</div></div>
44
- </div>
45
- <div class="out" id="out">The capital of France is <span id="tok"></span></div>
46
- </div>
47
- <script type="module">
48
- import { openHoloStream } from "../holo-archive.mjs";
49
- import { parseGgufHeader } from "../../qvac-ingest.mjs";
50
- import { synthesizeGraph } from "../gguf-forge-graph.mjs";
51
- import { makeTokenizer } from "../gguf-forge-tokenizer.mjs";
52
- import { dequantizeExact, GGML } from "../gguf-forge-dequant.mjs";
53
- import { unpackWeight } from "../gguf-forge-gpupack.mjs";
54
- import { ggmlNBytes, GGML_TYPE_NAME } from "../gguf-forge.mjs";
55
-
56
- const HOLO = "http://localhost:8795/.models/qwen2.5-0.5b-instruct.holo";
57
- const PROMPT_IDS = [785, 6722, 315, 9625, 374]; // "The capital of France is"
58
- const $ = (id) => document.getElementById(id);
59
-
60
- // kernels (proven, from the forge runtime)
61
- const Q5=`@group(0)@binding(0)var<storage,read>rb:array<u32>;@group(0)@binding(1)var<storage,read>act:array<f32>;@group(0)@binding(2)var<storage,read_write>o:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<u32>;
62
- fn gb(i:u32)->u32{return (rb[i>>2u]>>((i&3u)*8u))&0xffu;}
63
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let n=g.x;let N=p.x;let K=p.y;if(n>=N){return;}let nb=K/32u;let rB=n*nb*22u;var acc=0.0;for(var b=0u;b<nb;b++){let bp=rB+b*22u;let d=unpack2x16float(gb(bp)|(gb(bp+1u)<<8u)).x;let qh=gb(bp+2u)|(gb(bp+3u)<<8u)|(gb(bp+4u)<<16u)|(gb(bp+5u)<<24u);let qb=bp+6u;let aB=b*32u;for(var j=0u;j<16u;j++){let qsj=gb(qb+j);let lo=i32((qsj&0xFu)|(((qh>>j)&1u)<<4u))-16;let hi=i32((qsj>>4u)|(((qh>>(j+16u))&1u)<<4u))-16;acc=acc+d*f32(lo)*act[aB+j]+d*f32(hi)*act[aB+j+16u];}}o[p.z+n]=acc;}`;
64
- const Q8=`@group(0)@binding(0)var<storage,read>rb:array<u32>;@group(0)@binding(1)var<storage,read>act:array<f32>;@group(0)@binding(2)var<storage,read_write>o:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<u32>;
65
- fn gb(i:u32)->u32{return (rb[i>>2u]>>((i&3u)*8u))&0xffu;}
66
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let n=g.x;let N=p.x;let K=p.y;if(n>=N){return;}let nb=K/32u;let rB=n*nb*34u;var acc=0.0;for(var b=0u;b<nb;b++){let bp=rB+b*34u;let d=unpack2x16float(gb(bp)|(gb(bp+1u)<<8u)).x;let qb=bp+2u;let aB=b*32u;for(var i=0u;i<32u;i++){let q=(i32(gb(qb+i)<<24u))>>24u;acc=acc+d*f32(q)*act[aB+i];}}o[p.z+n]=acc;}`;
67
- const FZ=`@group(0)@binding(0)var<storage,read>W:array<f32>;@group(0)@binding(1)var<storage,read>x:array<f32>;@group(0)@binding(2)var<storage,read_write>y:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<u32>;
68
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let n=g.x;let N=p.x;let K=p.y;if(n>=N){return;}var a=0.0;let b=n*K;for(var k=0u;k<K;k++){a=a+W[b+k]*x[k];}y[p.z+n]=a;}`;
69
- const ADD=`@group(0)@binding(0)var<storage,read>a:array<f32>;@group(0)@binding(1)var<storage,read>b:array<f32>;@group(0)@binding(2)var<storage,read_write>y:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<u32>;
70
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let i=g.x;if(i>=p.x){return;}y[i]=a[i]+b[i];}`;
71
- const RMS=`@group(0)@binding(0)var<storage,read>x:array<f32>;@group(0)@binding(1)var<storage,read>w:array<f32>;@group(0)@binding(2)var<storage,read_write>y:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<f32>;
72
- @compute @workgroup_size(1)fn main(){let N=u32(p.x);var ss=0.0;for(var i=0u;i<N;i++){ss=ss+x[i]*x[i];}let s=1.0/sqrt(ss/p.x+p.y);for(var i=0u;i<N;i++){y[i]=x[i]*s*w[i];}}`;
73
- const ROPE=`@group(0)@binding(0)var<storage,read>x:array<f32>;@group(0)@binding(1)var<storage,read_write>y:array<f32>;@group(0)@binding(2)var<uniform>a:vec4<f32>;@group(0)@binding(3)var<uniform>b:vec4<f32>;
74
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let hd=u32(a.x);let nR=u32(a.y);let nh=u32(a.z);let pos=a.w;let half=nR/2u;let idx=g.x;if(idx>=nh*half){return;}let head=idx/half;let ic=idx%half;let base=head*hd;let ts=pow(b.x,-2.0/a.y);let th=pos*pow(ts,f32(ic));let c=cos(th);let s=sin(th);let x0=x[base+ic];let x1=x[base+ic+half];y[base+ic]=x0*c-x1*s;y[base+ic+half]=x0*s+x1*c;}`;
75
- const ATTN=`@group(0)@binding(0)var<storage,read>q:array<f32>;@group(0)@binding(1)var<storage,read>kc:array<f32>;@group(0)@binding(2)var<storage,read>vc:array<f32>;@group(0)@binding(3)var<storage,read_write>ctx:array<f32>;@group(0)@binding(4)var<uniform>a:vec4<u32>;@group(0)@binding(5)var<uniform>b:vec4<f32>;
76
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)g:vec3<u32>){let nh=a.x;let hd=a.y;let cur=a.z;let kv=a.w;let scale=b.x;let grp=u32(b.y);let hh=g.x;if(hh>=nh){return;}let kvh=hh/grp;let qo=hh*hd;let ko=kvh*hd;var m=-3.0e38;var l=0.0;var acc:array<f32,128>;for(var d=0u;d<hd;d++){acc[d]=0.0;}for(var s=0u;s<=cur;s++){var sc=0.0;for(var d=0u;d<hd;d++){sc=sc+q[qo+d]*kc[s*kv+ko+d];}sc=sc*scale;let mn=max(m,sc);let cr=exp(m-mn);let pr=exp(sc-mn);l=l*cr+pr;for(var d=0u;d<hd;d++){acc[d]=acc[d]*cr+pr*vc[s*kv+ko+d];}m=mn;}for(var d=0u;d<hd;d++){ctx[qo+d]=acc[d]/l;}}`;
77
- const SWI=`@group(0)@binding(0)var<storage,read>g:array<f32>;@group(0)@binding(1)var<storage,read>u:array<f32>;@group(0)@binding(2)var<storage,read_write>y:array<f32>;@group(0)@binding(3)var<uniform>p:vec4<u32>;
78
- @compute @workgroup_size(64)fn main(@builtin(global_invocation_id)gi:vec3<u32>){let i=gi.x;if(i>=p.x){return;}let v=g[i];y[i]=(v/(1.0+exp(-v)))*u[i];}`;
79
-
80
- let dev, P, pool = [], pidx = 0;
81
- const pipe = (c) => { const m = dev.createShaderModule({ code: c }); return dev.createComputePipeline({ layout: "auto", compute: { module: m, entryPoint: "main" } }); };
82
- const u4 = (v) => { const b = pool[pidx++]; dev.queue.writeBuffer(b, 0, new Uint32Array([...v, 0, 0, 0, 0].slice(0, 4))); return b; };
83
- const f4 = (v) => { const b = pool[pidx++]; dev.queue.writeBuffer(b, 0, new Float32Array([...v, 0, 0, 0, 0].slice(0, 4))); return b; };
84
- const sbuf = (n) => dev.createBuffer({ size: Math.max(4, n * 4), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST });
85
- const wF = (a) => { const b = dev.createBuffer({ size: Math.max(4, a.byteLength), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, a); return b; };
86
- function disp(enc, pl, bufs, groups) { const bg = dev.createBindGroup({ layout: pl.getBindGroupLayout(0), entries: bufs.map((b, i) => ({ binding: i, resource: { buffer: b } })) }); const pa = enc.beginComputePass(); pa.setPipeline(pl); pa.setBindGroup(0, bg); pa.dispatchWorkgroups(groups); pa.end(); }
87
- const G = (n) => Math.ceil(n / 64);
88
- const fmt = (s) => s < 10 ? s.toFixed(2) + "s" : s.toFixed(1) + "s";
89
-
90
- async function run() {
91
- $("go").disabled = true; pidx = 0; $("tok").textContent = "";
92
- for (const id of ["s-ttfb", "s-ttft", "s-crit", "s-thru"]) $(id).textContent = "—";
93
- const bps = +$("link").value;
94
- const url = HOLO + (bps ? `?bps=${bps}` : "");
95
- const adapter = await navigator.gpu.requestAdapter(); dev = await adapter.requestDevice();
96
- P = { q5: pipe(Q5), q8: pipe(Q8), f: pipe(FZ), add: pipe(ADD), rms: pipe(RMS), rope: pipe(ROPE), attn: pipe(ATTN), swi: pipe(SWI) };
97
- for (let i = 0; i < 1024; i++) pool.push(dev.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST }));
98
-
99
- let bytes = 0, ttfb = 0; const t0 = performance.now();
100
- const range = async (start, len) => {
101
- const r = await fetch(url, { headers: { Range: `bytes=${start}-${start + len - 1}` } });
102
- const ab = await r.arrayBuffer(); bytes += ab.byteLength;
103
- if (!ttfb && start > 1000) ttfb = performance.now() - t0; // first weight-body block
104
- return new Uint8Array(ab);
105
- };
106
-
107
- $("status").textContent = "opening .holo (header + directory)…";
108
- const H = await openHoloStream(range);
109
- const hh = parseGgufHeader(H.headerBytes), tdir = {}; for (const x of hh.tensors) tdir[x.name] = { name: x.name, dims: x.dims, type: x.ggmlType };
110
- const name2k = new Map(H.order.map(o => [o.name, o.kappa]));
111
- const tensors = hh.tensors.map(x => ({ name: x.name, dims: x.dims, type: x.ggmlType, typeName: GGML_TYPE_NAME[x.ggmlType] || String(x.ggmlType), kappa: "sha256:" + name2k.get(x.name) }));
112
- const plan = { format: "gguf-forge/1", arch: hh.meta["general.architecture"], meta: hh.meta, tensors };
113
- const graph = synthesizeGraph(plan), S = graph.stats;
114
- const D = S.n_embd, NH = S.n_head, NHKV = S.n_head_kv, HD = S.head_dim, EPS = S.eps, FREQ = S.freq_base;
115
- const KV = NHKV * HD, QD = NH * HD, scale = 1 / Math.sqrt(HD), grp = NH / NHKV, FF = tdir["blk.0.ffn_gate.weight"].dims[1];
116
- const dimsNK = (n) => { const d = tdir[n].dims; return [d.length > 1 ? d[1] : 1, d[0]]; };
117
-
118
- // STREAM weights in first-use order, verify per block, upload — DEFER token_embd
119
- const teName = "token_embd.weight", teK = name2k.get(teName), teT = tdir[teName];
120
- const lmName = tdir["output.weight"] ? "output.weight" : teName, lmT = tdir[lmName], [lmN, lmK] = dimsNK(lmName), vocab = lmN;
121
- const W = {}, lmChunks = [], raw32 = (b) => wF(new Uint32Array(b.slice().buffer));
122
- const verify = async (b, hex) => { const d = new Uint8Array(await crypto.subtle.digest("SHA-256", b)); let s = ""; for (const x of d) s += x.toString(16).padStart(2, "0"); if (s !== hex) throw new Error("L5 REFUSE"); };
123
- function uploadBody(name, body) { // slice → GPU buffer(s)
124
- if (name === lmName) { // lm_head: chunk (one buffer would exceed 128MB)
125
- const nb = lmK / 32, bpr2 = nb * (lmT.type === GGML.Q5_0 ? 22 : 34), kind = lmT.type === GGML.Q5_0 ? "q5" : "q8";
126
- const CH = Math.ceil(lmN / 100000), crows = Math.ceil(lmN / CH);
127
- for (let c = 0; c < CH; c++) { const r0 = c * crows, r1 = Math.min(lmN, r0 + crows); lmChunks.push({ kind, r0, n: r1 - r0, buf: wF(new Uint32Array(body.subarray(r0 * bpr2, r1 * bpr2).slice().buffer)) }); }
128
- return;
129
- }
130
- const key = wname(name); if (!key) return;
131
- const t = tdir[name], [N, K] = dimsNK(name);
132
- W[key] = t.type === GGML.Q5_0 ? { kind: "q5", buf: raw32(body), N, K } : t.type === GGML.Q8_0 ? { kind: "q8", buf: raw32(body), N, K } : { kind: "f", fBuf: wF(unpackWeight(body, t.type, N, K).data), N, K };
133
- }
134
-
135
- // critical-path bodies = everything except token_embd, contiguous in first-use order.
136
- // Stream the span in a few big Range requests (not 289 tiny ones) → bandwidth-bound;
137
- // slice + L5-verify + upload each body as its bytes complete.
138
- const crit = H.order.filter(o => o.name !== teName).map(o => { const d = H.dir.get(o.kappa); return { name: o.name, kappa: o.kappa, off: d.off, len: d.len }; }).sort((a, b) => a.off - b.off);
139
- const critTotal = crit.reduce((a, c) => a + c.len, 0);
140
- // contiguous runs (the deferred token_embd's gap splits them) — fetch each run in big
141
- // Range requests, never crossing the gap, so the table is never downloaded.
142
- const runs = []; { let r = null; for (const c of crit) { if (r && c.off === r.end) { r.end = c.off + c.len; r.bodies.push(c); } else { r = { start: c.off, end: c.off + c.len, bodies: [c] }; runs.push(r); } } }
143
- const CHUNK = 24 * 1024 * 1024; let doneB = 0;
144
- for (const run of runs) {
145
- let bufStart = run.start, buf = new Uint8Array(0), bi = 0;
146
- while (bi < run.bodies.length) {
147
- while (bufStart + buf.length < run.bodies[bi].off + run.bodies[bi].len) {
148
- const from = bufStart + buf.length, part = await range(from, Math.min(CHUNK, run.end - from));
149
- const nb = new Uint8Array(buf.length + part.length); nb.set(buf); nb.set(part, buf.length); buf = nb;
150
- }
151
- while (bi < run.bodies.length && run.bodies[bi].off + run.bodies[bi].len <= bufStart + buf.length) {
152
- const c = run.bodies[bi], body = buf.subarray(c.off - bufStart, c.off - bufStart + c.len);
153
- await verify(body, c.kappa); uploadBody(c.name, body); doneB += c.len; bi++;
154
- }
155
- const next = bi < run.bodies.length ? run.bodies[bi].off : bufStart + buf.length;
156
- buf = buf.subarray(next - bufStart); bufStart = next;
157
- $("bar").style.width = (100 * doneB / critTotal).toFixed(1) + "%";
158
- $("status").textContent = `streaming κ-objects… ${(doneB / 1e6 | 0)} / ${(critTotal / 1e6 | 0)} MB verified (token_embd deferred)`;
159
- await new Promise(r => setTimeout(r));
160
- }
161
- }
162
-
163
- // token_embd: fetch only the rows we need (deferral), dequant on demand
164
- const bpr = ggmlNBytes(teT.type, D), teCache = new Map();
165
- const embedRow = async (tok) => { if (teCache.has(tok)) return teCache.get(tok); const rb = await H.getBodySlice(teK, tok * bpr, bpr); const f = dequantizeExact(teT.type, rb, D); teCache.set(tok, f); return f; };
166
-
167
- // scratch + KV
168
- const B = {}; for (const [n, sz] of [["h", D], ["hh", D], ["xn", D], ["q", QD], ["qb", QD], ["qr", QD], ["k", KV], ["kb", KV], ["kr", KV], ["v", KV], ["vb", KV], ["ctx", QD], ["ao", D], ["fi", D], ["xn2", D], ["g", FF], ["u", FF], ["sw", FF], ["fo", D], ["hn", D]]) B[n] = sbuf(sz);
169
- const Kc = [], Vc = []; for (let L = 0; L < S.n_layer; L++) { Kc.push(sbuf(PROMPT_IDS.length * KV)); Vc.push(sbuf(PROMPT_IDS.length * KV)); }
170
- const logits = sbuf(vocab);
171
- const mvW = (enc, w, xB, yB, ob, N, K) => { if (w.kind === "q5") disp(enc, P.q5, [w.buf, xB, yB, u4([N, K, ob])], G(N)); else if (w.kind === "q8") disp(enc, P.q8, [w.buf, xB, yB, u4([N, K, ob])], G(N)); else disp(enc, P.f, [w.fBuf, xB, yB, u4([N, K, ob])], G(N)); };
172
-
173
- $("status").textContent = "running the forward…";
174
- let lg = null;
175
- for (let pos = 0; pos < PROMPT_IDS.length; pos++) {
176
- pidx = 0; dev.queue.writeBuffer(B.h, 0, await embedRow(PROMPT_IDS[pos]));
177
- const enc = dev.createCommandEncoder(); const need = pos === PROMPT_IDS.length - 1;
178
- for (let L = 0; L < S.n_layer; L++) {
179
- const w = (s) => W[`l${L}.${s}`];
180
- disp(enc, P.rms, [B.h, w("an").fBuf, B.xn, f4([D, EPS])], 1);
181
- mvW(enc, w("wq"), B.xn, B.q, 0, QD, D); disp(enc, P.add, [B.q, w("bq").fBuf, B.qb, u4([QD])], G(QD));
182
- mvW(enc, w("wk"), B.xn, B.k, 0, KV, D); disp(enc, P.add, [B.k, w("bk").fBuf, B.kb, u4([KV])], G(KV));
183
- mvW(enc, w("wv"), B.xn, B.v, 0, KV, D); disp(enc, P.add, [B.v, w("bv").fBuf, B.vb, u4([KV])], G(KV));
184
- disp(enc, P.rope, [B.qb, B.qr, f4([HD, HD, NH, pos]), f4([FREQ])], G(NH * HD / 2));
185
- disp(enc, P.rope, [B.kb, B.kr, f4([HD, HD, NHKV, pos]), f4([FREQ])], G(NHKV * HD / 2));
186
- enc.copyBufferToBuffer(B.kr, 0, Kc[L], pos * KV * 4, KV * 4);
187
- enc.copyBufferToBuffer(B.vb, 0, Vc[L], pos * KV * 4, KV * 4);
188
- disp(enc, P.attn, [B.qr, Kc[L], Vc[L], B.ctx, u4([NH, HD, pos, KV]), f4([scale, grp])], G(NH));
189
- mvW(enc, w("wo"), B.ctx, B.ao, 0, D, QD);
190
- disp(enc, P.add, [B.h, B.ao, B.fi, u4([D])], G(D));
191
- disp(enc, P.rms, [B.fi, w("fn").fBuf, B.xn2, f4([D, EPS])], 1);
192
- mvW(enc, w("gate"), B.xn2, B.g, 0, FF, D); mvW(enc, w("up"), B.xn2, B.u, 0, FF, D);
193
- disp(enc, P.swi, [B.g, B.u, B.sw, u4([FF])], G(FF));
194
- mvW(enc, w("down"), B.sw, B.fo, 0, D, FF);
195
- disp(enc, P.add, [B.fi, B.fo, B.hh, u4([D])], G(D));
196
- enc.copyBufferToBuffer(B.hh, 0, B.h, 0, D * 4);
197
- }
198
- if (need) {
199
- disp(enc, P.rms, [B.h, W["fnorm"].fBuf, B.hn, f4([D, EPS])], 1);
200
- for (const ch of lmChunks) disp(enc, P[ch.kind], [ch.buf, B.hn, logits, u4([ch.n, lmK, ch.r0])], G(ch.n));
201
- const rb = dev.createBuffer({ size: vocab * 4, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ });
202
- enc.copyBufferToBuffer(logits, 0, rb, 0, vocab * 4); dev.queue.submit([enc.finish()]);
203
- await rb.mapAsync(GPUMapMode.READ); const a = new Float32Array(rb.getMappedRange().slice(0)); rb.unmap();
204
- let am = 0; for (let i = 1; i < vocab; i++) if (a[i] > a[am]) am = i;
205
- const tok = makeTokenizer(H.headerBytes);
206
- const ttft = (performance.now() - t0) / 1000;
207
- $("tok").innerHTML = `<b>${tok.decode([am])}</b>`;
208
- $("s-ttfb").textContent = fmt(ttfb / 1000);
209
- $("s-ttft").textContent = fmt(ttft);
210
- $("s-crit").textContent = (bytes / 1e6 | 0) + " MB";
211
- const dl = (performance.now() - t0 - ttfb) / 1000;
212
- $("s-thru").textContent = (bytes / 1e6 / Math.max(dl, 1e-3)).toFixed(0) + " MB/s";
213
- const teMB = (ggmlNBytes(teT.type, teT.dims[0] * teT.dims[1]) / 1e6) | 0;
214
- $("status").textContent = `done — streamed ${(bytes / 1e6 | 0)} MB & verified; token_embd ~${teMB}MB deferred (fetched ${teCache.size} rows). Token re-derives clean (L5).`;
215
- } else dev.queue.submit([enc.finish()]);
216
- }
217
- $("go").disabled = false;
218
- }
219
- // map a GGUF tensor name → the runtime's W key
220
- const WMAP = { "attn_norm.weight": "an", "attn_q.weight": "wq", "attn_q.bias": "bq", "attn_k.weight": "wk", "attn_k.bias": "bk", "attn_v.weight": "wv", "attn_v.bias": "bv", "attn_output.weight": "wo", "ffn_norm.weight": "fn", "ffn_gate.weight": "gate", "ffn_up.weight": "up", "ffn_down.weight": "down" };
221
- function wname(n) {
222
- if (n === "output_norm.weight") return "fnorm";
223
- if (n === "output.weight" || n === "token_embd.weight") return null; // lm_head chunked / embed deferred
224
- const m = n.match(/^blk\.(\d+)\.(.+)$/);
225
- return m && WMAP[m[2]] ? `l${m[1]}.${WMAP[m[2]]}` : null;
226
- }
227
- $("go").addEventListener("click", () => run().catch(e => { $("status").textContent = "error: " + e; console.error(e); window.__err = String(e); }));
228
- window.__run = run;
229
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ba54cbff84f45410771ea09ee2eaf2ab3168124b6903e00a88daa788ace1631
3
+ size 20160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1ddbebc91714c07138e154f9babcfd832b3dbf33cc4bc2108952cd9f2abf941e CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.form-tanstack-textarea",
3
- "name": "form-tanstack-textarea",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/form-tanstack-textarea.json",
8
- "did": "did:holo:sha256:a8c9d5c71f1c4caa53f3341bceb94a74292d74e097e30741420ef35aa2a7c8f2",
9
- "import": "holo://sha256:afc67e59ed1825d71e539a2d4a6664b72ba19caec74211baf42f00c7d9f63fc1",
10
- "integrity": "sha256-r8Z+We0YJdceU5otSmZktyuhnK7HQhG69C8Ax9n2P8E=",
11
- "kappa": "sha256:a8c9d5c71f1c4caa53f3341bceb94a74292d74e097e30741420ef35aa2a7c8f2",
12
- "moduleKappa": "sha256:afc67e59ed1825d71e539a2d4a6664b72ba19caec74211baf42f00c7d9f63fc1",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/form-tanstack-textarea.tsx",
15
- "module": "vendor/components/form-tanstack-textarea.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:547aa8560b08ce7095c3620c593dea6536e2c2a345a583ad5e5587598208d0a0
3
+ size 904
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1e003a50d610f06d8f4e868d709690e30f3b53ba387fa56c16798e9df5af4f01 CHANGED
Binary files a/b/1e003a50d610f06d8f4e868d709690e30f3b53ba387fa56c16798e9df5af4f01 and b/b/1e003a50d610f06d8f4e868d709690e30f3b53ba387fa56c16798e9df5af4f01 differ
 
b/1e15254bf0d64d13becddf7b3d5524c684bfb7760e2bb4bde36253347395cb59 CHANGED
@@ -1,7 +1,3 @@
1
- import emerald from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addBase, prefix = '' }) => {
5
- const prefixedemerald = addPrefix(emerald, prefix);
6
- addBase({ ...prefixedemerald });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:95e7686297e824d57c3b7eb41c90b52c540353a0d3551ea8dc2a8624015c854d
3
+ size 233
 
 
 
 
b/1e282ef78b88f6be9c4a12e0ffe016ae1977d5ab37c882f944c34929cb3f98f3 CHANGED
@@ -1,5 +1,3 @@
1
- export default function TypographyMuted() {
2
- return (
3
- <p className="text-sm text-muted-foreground">Enter your email address.</p>
4
- )
5
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1b4ac7bd6e02757276a3e046008443ad0a8ec8a39cb12dca6342e37bc29b820
3
+ size 140
 
 
b/1e3087a6dcb3ad01bb916247c344b0f9a96c5d297047f30bdc606d893be50f1f CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-radial-grid",
3
- "name": "chart-radial-grid",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Radial",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-radial-grid.json",
8
- "did": "did:holo:sha256:e15a6b20f96a96dcac0528147a666952b53a69ce3794d2c1ee8967e34d27f602",
9
- "import": "holo://sha256:08b01e422b9b26b5881c3895252b25a3ec9517131819e571f5e6193db9d142de",
10
- "integrity": "sha256-CLAeQiubJrWIHDiVJSslo+yVFxMYGeVx9eYZPbnRQt4=",
11
- "kappa": "sha256:e15a6b20f96a96dcac0528147a666952b53a69ce3794d2c1ee8967e34d27f602",
12
- "moduleKappa": "sha256:08b01e422b9b26b5881c3895252b25a3ec9517131819e571f5e6193db9d142de",
13
- "renderExport": "ChartRadialGrid",
14
- "source": "registry/new-york-v4/charts/chart-radial-grid.tsx",
15
- "module": "vendor/components/chart-radial-grid.js",
16
- "exports": [
17
- "description",
18
- "ChartRadialGrid"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c661d8422f4216b85db92a4539129ca733080bdc12030465a121a52397aea3aa
3
+ size 916
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1e44a399093ef9e1ad59bef41a2efedbd83d7852f2b75f1b58e3f1b4517e4da4 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.combobox-popover",
3
- "name": "combobox-popover",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/combobox-popover.json",
8
- "did": "did:holo:sha256:cf1d4df5e910e703f5ee688d06b501cb4761e83dbc1d2180986ab6bf2180c8d6",
9
- "import": "holo://sha256:f168d4584c5430974882ca62ce2b7daa41f1ee5bb320c3b142721fc5c27980fa",
10
- "integrity": "sha256-8WjUWExUMJdIgspizit9qkHx7luzIMOxQnIfxcJ5gPo=",
11
- "kappa": "sha256:cf1d4df5e910e703f5ee688d06b501cb4761e83dbc1d2180986ab6bf2180c8d6",
12
- "moduleKappa": "sha256:f168d4584c5430974882ca62ce2b7daa41f1ee5bb320c3b142721fc5c27980fa",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/combobox-popover.tsx",
15
- "module": "vendor/components/combobox-popover.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1ec29bffee72ba9fb5eedf1f68c8ea8689d81dcab7cf969e492b7329635e83fb
3
+ size 874
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1e6281215a106302322f097423b574cd621a19254d97ae7fc3c0a503a8681c6d CHANGED
@@ -1,104 +1,3 @@
1
- // render/artifacts.js — ARTIFACTS: self-contained creations the model emits inside a message,
2
- // rendered live in the side panel (the Claude-desktop signature feature). Wire format (the
3
- // remark-directive container convention, LibreChat-compatible):
4
- //
5
- // :::artifact{identifier="kebab-id" type="text/html" title="My page"}
6
- // ```html
7
- // …content…
8
- // ```
9
- // :::
10
- //
11
- // Types: text/html · image/svg+xml · text/markdown · application/vnd.mermaid · application/vnd.react.
12
- // Re-emitting the same identifier is an UPDATE (a new version). Substrate twist: every version
13
- // seals as its own κ-object — an artifact is a verifiable, shareable, teleportable creation.
14
-
15
- export const ARTIFACT_TYPES = ["text/html", "image/svg+xml", "text/markdown", "text/md", "application/vnd.mermaid", "application/vnd.react"];
16
-
17
- const BLOCK_RE = /:::artifact\{([^}]*)\}\s*\n([\s\S]*?)\n:::/g;
18
- const ATTR_RE = /(\w[\w-]*)\s*=\s*"([^"]*)"/g;
19
-
20
- export function parseArtifacts(text) {
21
- const out = []; let m;
22
- BLOCK_RE.lastIndex = 0;
23
- while ((m = BLOCK_RE.exec(text || ""))) {
24
- const attrs = {}; let a;
25
- ATTR_RE.lastIndex = 0;
26
- while ((a = ATTR_RE.exec(m[1]))) attrs[a[1]] = a[2];
27
- let content = m[2].trim();
28
- const fence = content.match(/^```[\w./+-]*\s*\n([\s\S]*?)\n```$/);
29
- if (fence) content = fence[1];
30
- out.push({
31
- identifier: attrs.identifier || "lc-no-identifier",
32
- type: attrs.type || "unknown",
33
- title: attrs.title || "untitled",
34
- content,
35
- });
36
- }
37
- return out;
38
- }
39
-
40
- // Replace artifact blocks in message text with a compact reference marker the renderer turns
41
- // into an "open artifact" card (the panel owns the content).
42
- export function stripArtifacts(text) {
43
- let i = 0;
44
- return (text || "").replace(BLOCK_RE, (mm) => {
45
- const arts = parseArtifacts(mm);
46
- const a = arts[0]; i++;
47
- return a ? `\n> ⧉ **${a.title}** · \`${a.type}\` — open in the Artifacts panel\n` : "";
48
- });
49
- }
50
-
51
- // The instruction block that arms the model to emit artifacts (appended to the system turn when
52
- // artifacts are enabled). Written for small local models: explicit, short, format-exact.
53
- export function artifactInstructions() {
54
- return [
55
- "# Artifacts",
56
- "When the user asks you to CREATE something self-contained (a web page, an SVG image, a diagram, a document), wrap it in an artifact block:",
57
- "",
58
- ':::artifact{identifier="kebab-case-id" type="text/html" title="Short title"}',
59
- "```html",
60
- "...the complete content...",
61
- "```",
62
- ":::",
63
- "",
64
- 'Types: "text/html" (a complete page), "image/svg+xml" (an SVG), "application/vnd.mermaid" (a mermaid diagram), "text/markdown" (a document).',
65
- "Rules: always complete content (never placeholders); reuse the SAME identifier when updating a previous artifact; one artifact per block.",
66
- ].join("\n");
67
- }
68
-
69
- // Render one artifact version into a host element (preview tab). HTML/SVG render inside a
70
- // sandboxed iframe (no scripts escape into the app); mermaid + markdown reuse the message
71
- // pipeline; react sources show as highlighted code (no bundler on the substrate — honest).
72
- export async function renderArtifact(host, art) {
73
- host.innerHTML = "";
74
- const type = art.type === "text/md" ? "text/markdown" : art.type;
75
- if (type === "text/html" || type === "image/svg+xml") {
76
- const f = document.createElement("iframe");
77
- f.setAttribute("sandbox", "allow-scripts"); // scripts run INSIDE the sandbox only; no same-origin, no top access
78
- f.style.cssText = "width:100%;height:100%;border:0;background:#fff;border-radius:0 0 12px 12px";
79
- f.srcdoc = type === "image/svg+xml"
80
- ? `<!doctype html><body style="margin:0;display:grid;place-items:center;height:100vh;background:#fff">${art.content}</body>`
81
- : art.content;
82
- host.appendChild(f);
83
- return;
84
- }
85
- if (type === "application/vnd.mermaid") {
86
- const { renderMarkdown } = await import("./markdown.js");
87
- const d = document.createElement("div"); d.style.cssText = "padding:14px;overflow:auto;height:100%";
88
- await renderMarkdown(d, "```mermaid\n" + art.content + "\n```");
89
- host.appendChild(d);
90
- return;
91
- }
92
- if (type === "text/markdown") {
93
- const { renderMarkdown } = await import("./markdown.js");
94
- const d = document.createElement("div"); d.style.cssText = "padding:14px;overflow:auto;height:100%";
95
- await renderMarkdown(d, art.content);
96
- host.appendChild(d);
97
- return;
98
- }
99
- // application/vnd.react and unknown types: code view only
100
- const { renderMarkdown } = await import("./markdown.js");
101
- const d = document.createElement("div"); d.style.cssText = "padding:14px;overflow:auto;height:100%";
102
- await renderMarkdown(d, "```jsx\n" + art.content + "\n```");
103
- host.appendChild(d);
104
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3bd04a9f943197141611d4d5c763a97dd7337c552027d34f6a9c97fcb331855f
3
+ size 4732
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1e70a570b62a4fc06a5971ab7acd36a0690ffc58ddc9ce473d48be85dc4d9052 CHANGED
@@ -1,133 +1,3 @@
1
- {
2
- "@context": [
3
- "https://www.w3.org/ns/did/v1",
4
- {
5
- "schema": "https://schema.org/",
6
- "prov": "http://www.w3.org/ns/prov#",
7
- "holo": "https://hologram.os/ns/q#",
8
- "f1": "https://hologram.os/ns/f1#"
9
- }
10
- ],
11
- "@type": [
12
- "f1:Formalization",
13
- "prov:Entity"
14
- ],
15
- "schema:name": "F1 the 𝔽₁ square toward the Riemann Hypothesis, made native to the UOR substrate",
16
- "f1:upstream": {
17
- "@id": "https://github.com/afflom/F1",
18
- "schema:name": "afflom/F1 the 𝔽₁ square with an intersection theory",
19
- "schema:version": "v0.15.3",
20
- "schema:license": "MIT",
21
- "schema:author": "Alex Flom",
22
- "f1:language": "Lean 4 (toolchain v4.16.0)"
23
- },
24
- "f1:dependsOn": {
25
- "@id": "https://github.com/UOR-Foundation/UOR-Framework",
26
- "schema:name": "UOR-Framework content-addressed object spaces over Z/(2^n)Z",
27
- "schema:version": "v0.5.2",
28
- "f1:sharedRootWith": "did:holo:sha256:f82435dab0215aa6695797d5e9ef4809f1905c015c419f085b2d42346441aad0",
29
- "f1:note": "Both F1 and ATLAS96 are UOR-Framework objects on the same Z/(2^n)Z algebraic root. This is a structural kinship, not a proof link."
30
- },
31
- "f1:thesis": "Over a function field, RH follows from the Hodge index theorem's intersection-positivity on the surface C×C (Frobenius eigenvalue bound). The 𝔽₁ program seeks the analogue over ℚ: make Spec ℤ a curve over a 'field with one element', so Spec ℤ ×_𝔽₁ Spec ℤ is an arithmetic surface whose Hodge-index negativity would BE the Riemann Hypothesis. F1 names, shapes, and partially builds that square it does not construct it.",
32
- "f1:honesty": {
33
- "convention": "universallyValid: true = established and Lean-verified; null = not asserted proven (open or conditional).",
34
- "choiceFree": "Proof layer permits only `propext` and `Quot.sound`; forbids Classical.choice, `sorry`, and `native_decide`.",
35
- "enforcedBy": "scripts/honesty_audit.sh CI fails if any unaudited theorem exists."
36
- },
37
- "f1:ledger": [
38
- {
39
- "name": "function-field-hodge",
40
- "universallyValid": true,
41
- "statement": "The function-field Hodge mechanism the proven template over 𝔽_q where intersection-positivity gives the eigenvalue bound.",
42
- "evidence": "F1Square/ (no sorry)"
43
- },
44
- {
45
- "name": "characteristic-1-machinery",
46
- "universallyValid": true,
47
- "statement": "Characteristic-1 base: the tropical κ/spectrum stack construction.",
48
- "evidence": "F1Square/ (no sorry)"
49
- },
50
- {
51
- "name": "intersection-pairing-template",
52
- "universallyValid": true,
53
- "statement": "The intersection-pairing template with ample class structure and parallel-pencil geometry.",
54
- "evidence": "F1Square/ (no sorry)"
55
- },
56
- {
57
- "name": "bowen-lanford-counts",
58
- "universallyValid": true,
59
- "statement": "Bowen–Lanford cycle counts (the prime-orbit side).",
60
- "evidence": "F1Square/ (no sorry)"
61
- },
62
- {
63
- "name": "constructive-analysis",
64
- "universallyValid": true,
65
- "statement": "A complete constructive analysis substrate: ℝ as Bishop regular sequences (Cauchy complete), ℂ = ℝ×ℝ, and exp/log/sin/cos built from first principles as axiom-clean diagonal limits (Machin π, accelerated Euler–Mascheroni γ).",
66
- "evidence": "Analysis/ (no sorry, choice-free)"
67
- },
68
- {
69
- "name": "zeta-re-gt-1",
70
- "universallyValid": true,
71
- "statement": "The complex ζ(s) for Re(s) > 1 as exact-bounded objects, with the von Mangoldt function and the prime-side explicit formula.",
72
- "evidence": "F1Square/ (no sorry)"
73
- },
74
- {
75
- "name": "li-lambda1-positive",
76
- "universallyValid": true,
77
- "statement": "The first Li coefficient λ₁ ≈ 0.0231 certified positive the n=1 slice of Li's criterion.",
78
- "evidence": "F1Square/ (no sorry)"
79
- },
80
- {
81
- "name": "full-li-positivity",
82
- "universallyValid": null,
83
- "statement": "Full Li positivity: λ_n > 0 for all n. This is EQUIVALENT to the Riemann Hypothesis.",
84
- "status": "open"
85
- },
86
- {
87
- "name": "hodge-index-negativity",
88
- "universallyValid": null,
89
- "statement": "The Hodge index (negative-definiteness) theorem for the square. THIS negativity is the Riemann Hypothesis. F1 encodes it as `none`.",
90
- "status": "open the crux"
91
- },
92
- {
93
- "name": "spec-z-square",
94
- "universallyValid": null,
95
- "statement": "The 2-dimensional self-product Spec ℤ ×_𝔽₁ Spec ℤ itself named, shaped, and partially built, NOT constructed.",
96
- "status": "open"
97
- }
98
- ],
99
- "f1:unlocks": {
100
- "ifProven": "Sharpest possible bounds on prime distribution (smallest π(x) error term); firms up GRH-conditioned parameter choices. Breaks no cryptography; yields no new algorithm. RH is a statement THAT primes are maximally regular, not a method that exploits them.",
101
- "forHologram": "No new compute primitive. κ = sha256/blake3 does not depend on RH; R96 is mod-2^n structure, not prime structure. F1's real gift to Hologram is METHODOLOGICAL: a choice-free, self-auditing, explicit-truth-status formalization the template this very object applies to ATLAS96."
102
- },
103
- "f1:bridge": {
104
- "appliesTo": "did:holo:sha256:f82435dab0215aa6695797d5e9ef4809f1905c015c419f085b2d42346441aad0",
105
- "terminatesAt": "did:holo:sha256:652dcc6490dabf4fdb4a713a2773079a858b2aa1490582e777e38a5c3499a6cd",
106
- "links": [
107
- {
108
- "name": "shared-substrate",
109
- "universallyValid": true,
110
- "statement": "F1 and ATLAS96 are both UOR-Framework objects over Z/(2^n)Z; ATLAS96's base is the octet + κ. Real structural kinship they belong in one object graph."
111
- },
112
- {
113
- "name": "modular-forms-kinship",
114
- "universallyValid": null,
115
- "statement": "The E₈ theta function is a weight-4 modular form, and modular forms ↔ L-functions ↔ ζ/RH. A TRUE pure-math kinship between ATLAS96's E₈ terminus and F1's ζ but a kinship, not a mechanism. You cannot derive one from the other in code.",
116
- "status": "kinship, not a lever"
117
- },
118
- {
119
- "name": "improves-inference",
120
- "universallyValid": false,
121
- "statement": "'F1/RH improves Holo Q inference' has no mechanism. RH is orthogonal to inference quality. Asserting it would be numerology."
122
- }
123
- ]
124
- },
125
- "f1:laws": [
126
- "L1 content-address",
127
- "L5 re-derivation"
128
- ],
129
- "id": "did:holo:sha256:3de6f836fa3aea4dd60b84f955a924aa4eeda2d1c4573a315aae192dd58ab539",
130
- "alsoKnownAs": [
131
- "did:holo:blake3:f1a89ab71added102f875f09a7401c78a5a3a1701fc3ee77fa9776834366e6df"
132
- ]
133
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ad511c1ecbac8da821454c7f599bcca16814fcabf2d1e9bcdb19df6554a3b64d
3
+ size 6265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1e808de8bebfde40323472e7a6b3aa40f2e651cfc73e87f397b06b18723ff7e6 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.select-demo",
3
- "name": "select-demo",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/select-demo.json",
8
- "did": "did:holo:sha256:b9539f4e912127b34b1b49b73e40604db6cc878a4f76fffc9ded1af34d8df21b",
9
- "import": "holo://sha256:3c2408a4c21cfa6de8984b6e1716de117777555bf1450e7336163d4e1f652934",
10
- "integrity": "sha256-PCQIpMIc+m3omEtuFxbeEXd3VVvxRQ5zNhY9Th9lKTQ=",
11
- "kappa": "sha256:b9539f4e912127b34b1b49b73e40604db6cc878a4f76fffc9ded1af34d8df21b",
12
- "moduleKappa": "sha256:3c2408a4c21cfa6de8984b6e1716de117777555bf1450e7336163d4e1f652934",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/select-demo.tsx",
15
- "module": "vendor/components/select-demo.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a35eac55d0ff095da1fc67993cb5360f5aa822008923445000ab63ea82a8259
3
+ size 849
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1eb8f1020cd21d0924234c64fe6812e72f0809e2f6e8fd4594d73e6afd545ee5 CHANGED
@@ -1,38 +1,3 @@
1
- import * as React from "react"
2
-
3
- import { Card, CardContent } from "@/registry/new-york-v4/ui/card"
4
- import {
5
- Carousel,
6
- CarouselContent,
7
- CarouselItem,
8
- CarouselNext,
9
- CarouselPrevious,
10
- } from "@/registry/new-york-v4/ui/carousel"
11
-
12
- export default function CarouselOrientation() {
13
- return (
14
- <Carousel
15
- opts={{
16
- align: "start",
17
- }}
18
- orientation="vertical"
19
- className="w-full max-w-xs"
20
- >
21
- <CarouselContent className="-mt-1 h-[200px]">
22
- {Array.from({ length: 5 }).map((_, index) => (
23
- <CarouselItem key={index} className="pt-1 md:basis-1/2">
24
- <div className="p-1">
25
- <Card>
26
- <CardContent className="flex items-center justify-center p-6">
27
- <span className="text-3xl font-semibold">{index + 1}</span>
28
- </CardContent>
29
- </Card>
30
- </div>
31
- </CarouselItem>
32
- ))}
33
- </CarouselContent>
34
- <CarouselPrevious />
35
- <CarouselNext />
36
- </Carousel>
37
- )
38
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7ce461a348faa70a3e1818786e11a6ffb3b6eb130dac960af97154a7c661262
3
+ size 1018
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1ee081b9ff4a193649ec9af1c672b6cb313b72bbd531fc55b3656744b3ea9ba5 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.morphing-text",
3
- "name": "morphing-text",
4
- "tier": "component",
5
- "library": "magicui",
6
- "category": "Text",
7
- "upstream": "https://magicui.design/r/morphing-text.json",
8
- "did": "did:holo:sha256:1fa428a633f9fd51fdb7b89e441d227fb92bfad73d66ceedc9d1b53a88a38b32",
9
- "import": "holo://sha256:bbbf6a01ba791c6f3e74436ce2e575a1e4f2b51a743b5275bde608ad29de2b2c",
10
- "integrity": "sha256-u79qAbp5HG8+dENs4uV1oeTytRp0O1J1veYIrSneKyw=",
11
- "kappa": "sha256:1fa428a633f9fd51fdb7b89e441d227fb92bfad73d66ceedc9d1b53a88a38b32",
12
- "moduleKappa": "sha256:bbbf6a01ba791c6f3e74436ce2e575a1e4f2b51a743b5275bde608ad29de2b2c",
13
- "renderExport": "MorphingText",
14
- "source": "components/ui/morphing-text.tsx",
15
- "module": "vendor/components/morphing-text.js",
16
- "exports": [
17
- "MorphingText"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e32925732c7fb58b29b3fff0c7ccabe2844243c6d8912e120bf3a6f9d7b6524
3
+ size 826
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1f24b4c0f18c1c7c8063940d3a962965d8e83c32844924b8fa4e6d17ff4e8cce CHANGED
@@ -1,40 +1,3 @@
1
- import { AlertCircleIcon, BadgeCheckIcon, CheckIcon } from "lucide-react"
2
-
3
- import { Badge } from "@/registry/new-york-v4/ui/badge"
4
-
5
- export default function BadgeDemo() {
6
- return (
7
- <div className="flex flex-col items-center gap-2">
8
- <div className="flex w-full flex-wrap gap-2">
9
- <Badge>Badge</Badge>
10
- <Badge variant="secondary">Secondary</Badge>
11
- <Badge variant="destructive">Destructive</Badge>
12
- <Badge variant="outline">Outline</Badge>
13
- </div>
14
- <div className="flex w-full flex-wrap gap-2">
15
- <Badge
16
- variant="secondary"
17
- className="bg-blue-500 text-white dark:bg-blue-600"
18
- >
19
- <BadgeCheckIcon />
20
- Verified
21
- </Badge>
22
- <Badge className="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums">
23
- 8
24
- </Badge>
25
- <Badge
26
- className="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums"
27
- variant="destructive"
28
- >
29
- 99
30
- </Badge>
31
- <Badge
32
- className="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums"
33
- variant="outline"
34
- >
35
- 20+
36
- </Badge>
37
- </div>
38
- </div>
39
- )
40
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be8d271adea8b2fcd2f900d8e8bead615ab09a0a39591edeedfc535616978b73
3
+ size 1184
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1f4c9e3daad4e255238b6ed619da8fee32e3ae77123196abf85151491f68ee7d CHANGED
@@ -1,89 +1,3 @@
1
- import * as React from "react"
2
- import { cva, type VariantProps } from "class-variance-authority"
3
- import { Tabs as TabsPrimitive } from "radix-ui"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- function Tabs({
8
- className,
9
- orientation = "horizontal",
10
- ...props
11
- }: React.ComponentProps<typeof TabsPrimitive.Root>) {
12
- return (
13
- <TabsPrimitive.Root
14
- data-slot="tabs"
15
- data-orientation={orientation}
16
- orientation={orientation}
17
- className={cn(
18
- "group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",
19
- className
20
- )}
21
- {...props}
22
- />
23
- )
24
- }
25
-
26
- const tabsListVariants = cva(
27
- "group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",
28
- {
29
- variants: {
30
- variant: {
31
- default: "bg-muted",
32
- line: "gap-1 bg-transparent",
33
- },
34
- },
35
- defaultVariants: {
36
- variant: "default",
37
- },
38
- }
39
- )
40
-
41
- function TabsList({
42
- className,
43
- variant = "default",
44
- ...props
45
- }: React.ComponentProps<typeof TabsPrimitive.List> &
46
- VariantProps<typeof tabsListVariants>) {
47
- return (
48
- <TabsPrimitive.List
49
- data-slot="tabs-list"
50
- data-variant={variant}
51
- className={cn(tabsListVariants({ variant }), className)}
52
- {...props}
53
- />
54
- )
55
- }
56
-
57
- function TabsTrigger({
58
- className,
59
- ...props
60
- }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {
61
- return (
62
- <TabsPrimitive.Trigger
63
- data-slot="tabs-trigger"
64
- className={cn(
65
- "relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
66
- "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent",
67
- "data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground",
68
- "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",
69
- className
70
- )}
71
- {...props}
72
- />
73
- )
74
- }
75
-
76
- function TabsContent({
77
- className,
78
- ...props
79
- }: React.ComponentProps<typeof TabsPrimitive.Content>) {
80
- return (
81
- <TabsPrimitive.Content
82
- data-slot="tabs-content"
83
- className={cn("flex-1 outline-none", className)}
84
- {...props}
85
- />
86
- )
87
- }
88
-
89
- export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:93cbd908f721608d3fdd60a9f7cd4aa65b5da25283e898fbf48cfefc32a5900e
3
+ size 3768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1f5670322346a1a6d37a27d42e263e65e81bc4f1b402c0655bf7c271fad277e3 CHANGED
@@ -1 +1,3 @@
1
- /*! 🌼 daisyUI 5.5.22 - MIT License */ @layer utilities{.rounded-box{border-radius:var(--radius-box)}.rounded-field{border-radius:var(--radius-field)}.rounded-selector{border-radius:var(--radius-selector)}.rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.rounded-tl-box{border-top-left-radius:var(--radius-box)}.rounded-tr-box{border-top-right-radius:var(--radius-box)}.rounded-br-box{border-bottom-right-radius:var(--radius-box)}.rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.rounded-tl-field{border-top-left-radius:var(--radius-field)}.rounded-tr-field{border-top-right-radius:var(--radius-field)}.rounded-br-field{border-bottom-right-radius:var(--radius-field)}.rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}@media (width>=640px){.sm\:rounded-box{border-radius:var(--radius-box)}.sm\:rounded-field{border-radius:var(--radius-field)}.sm\:rounded-selector{border-radius:var(--radius-selector)}.sm\:rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.sm\:rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.sm\:rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.sm\:rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.sm\:rounded-tl-box{border-top-left-radius:var(--radius-box)}.sm\:rounded-tr-box{border-top-right-radius:var(--radius-box)}.sm\:rounded-br-box{border-bottom-right-radius:var(--radius-box)}.sm\:rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.sm\:rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.sm\:rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.sm\:rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.sm\:rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.sm\:rounded-tl-field{border-top-left-radius:var(--radius-field)}.sm\:rounded-tr-field{border-top-right-radius:var(--radius-field)}.sm\:rounded-br-field{border-bottom-right-radius:var(--radius-field)}.sm\:rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.sm\:rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.sm\:rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.sm\:rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.sm\:rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.sm\:rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.sm\:rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.sm\:rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.sm\:rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}}@media (width>=768px){.md\:rounded-box{border-radius:var(--radius-box)}.md\:rounded-field{border-radius:var(--radius-field)}.md\:rounded-selector{border-radius:var(--radius-selector)}.md\:rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.md\:rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.md\:rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.md\:rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.md\:rounded-tl-box{border-top-left-radius:var(--radius-box)}.md\:rounded-tr-box{border-top-right-radius:var(--radius-box)}.md\:rounded-br-box{border-bottom-right-radius:var(--radius-box)}.md\:rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.md\:rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.md\:rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.md\:rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.md\:rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.md\:rounded-tl-field{border-top-left-radius:var(--radius-field)}.md\:rounded-tr-field{border-top-right-radius:var(--radius-field)}.md\:rounded-br-field{border-bottom-right-radius:var(--radius-field)}.md\:rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.md\:rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.md\:rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.md\:rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.md\:rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.md\:rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.md\:rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.md\:rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.md\:rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}}@media (width>=1024px){.lg\:rounded-box{border-radius:var(--radius-box)}.lg\:rounded-field{border-radius:var(--radius-field)}.lg\:rounded-selector{border-radius:var(--radius-selector)}.lg\:rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.lg\:rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.lg\:rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.lg\:rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.lg\:rounded-tl-box{border-top-left-radius:var(--radius-box)}.lg\:rounded-tr-box{border-top-right-radius:var(--radius-box)}.lg\:rounded-br-box{border-bottom-right-radius:var(--radius-box)}.lg\:rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.lg\:rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.lg\:rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.lg\:rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.lg\:rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.lg\:rounded-tl-field{border-top-left-radius:var(--radius-field)}.lg\:rounded-tr-field{border-top-right-radius:var(--radius-field)}.lg\:rounded-br-field{border-bottom-right-radius:var(--radius-field)}.lg\:rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.lg\:rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.lg\:rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.lg\:rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.lg\:rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.lg\:rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.lg\:rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.lg\:rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.lg\:rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}}@media (width>=1280px){.xl\:rounded-box{border-radius:var(--radius-box)}.xl\:rounded-field{border-radius:var(--radius-field)}.xl\:rounded-selector{border-radius:var(--radius-selector)}.xl\:rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.xl\:rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.xl\:rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.xl\:rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.xl\:rounded-tl-box{border-top-left-radius:var(--radius-box)}.xl\:rounded-tr-box{border-top-right-radius:var(--radius-box)}.xl\:rounded-br-box{border-bottom-right-radius:var(--radius-box)}.xl\:rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.xl\:rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.xl\:rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.xl\:rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.xl\:rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.xl\:rounded-tl-field{border-top-left-radius:var(--radius-field)}.xl\:rounded-tr-field{border-top-right-radius:var(--radius-field)}.xl\:rounded-br-field{border-bottom-right-radius:var(--radius-field)}.xl\:rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.xl\:rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.xl\:rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.xl\:rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.xl\:rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.xl\:rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.xl\:rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.xl\:rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.xl\:rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}}@media (width>=1536px){.\32 xl\:rounded-box{border-radius:var(--radius-box)}.\32 xl\:rounded-field{border-radius:var(--radius-field)}.\32 xl\:rounded-selector{border-radius:var(--radius-selector)}.\32 xl\:rounded-t-box{border-top-left-radius:var(--radius-box);border-top-right-radius:var(--radius-box)}.\32 xl\:rounded-b-box{border-bottom-left-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.\32 xl\:rounded-l-box{border-top-left-radius:var(--radius-box);border-bottom-left-radius:var(--radius-box)}.\32 xl\:rounded-r-box{border-top-right-radius:var(--radius-box);border-bottom-right-radius:var(--radius-box)}.\32 xl\:rounded-tl-box{border-top-left-radius:var(--radius-box)}.\32 xl\:rounded-tr-box{border-top-right-radius:var(--radius-box)}.\32 xl\:rounded-br-box{border-bottom-right-radius:var(--radius-box)}.\32 xl\:rounded-bl-box{border-bottom-left-radius:var(--radius-box)}.\32 xl\:rounded-t-field{border-top-left-radius:var(--radius-field);border-top-right-radius:var(--radius-field)}.\32 xl\:rounded-b-field{border-bottom-left-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.\32 xl\:rounded-l-field{border-top-left-radius:var(--radius-field);border-bottom-left-radius:var(--radius-field)}.\32 xl\:rounded-r-field{border-top-right-radius:var(--radius-field);border-bottom-right-radius:var(--radius-field)}.\32 xl\:rounded-tl-field{border-top-left-radius:var(--radius-field)}.\32 xl\:rounded-tr-field{border-top-right-radius:var(--radius-field)}.\32 xl\:rounded-br-field{border-bottom-right-radius:var(--radius-field)}.\32 xl\:rounded-bl-field{border-bottom-left-radius:var(--radius-field)}.\32 xl\:rounded-t-selector{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector)}.\32 xl\:rounded-b-selector{border-bottom-left-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.\32 xl\:rounded-l-selector{border-top-left-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.\32 xl\:rounded-r-selector{border-top-right-radius:var(--radius-selector);border-bottom-right-radius:var(--radius-selector)}.\32 xl\:rounded-tl-selector{border-top-left-radius:var(--radius-selector)}.\32 xl\:rounded-tr-selector{border-top-right-radius:var(--radius-selector)}.\32 xl\:rounded-br-selector{border-bottom-right-radius:var(--radius-selector)}.\32 xl\:rounded-bl-selector{border-bottom-left-radius:var(--radius-selector)}}}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50a2661ec98e0d012be250936d0a6fdcef2fbc111042c78baca8363af9c78b81
3
+ size 14079
b/1fa7589bae3567ddf321b209bcd8ac5c08b031e42a3dcbd44281b5e9f618cd5b CHANGED
@@ -1,101 +1,3 @@
1
- "use client"
2
-
3
- import { TrendingUp } from "lucide-react"
4
- import { LabelList, RadialBar, RadialBarChart } from "recharts"
5
-
6
- import {
7
- Card,
8
- CardContent,
9
- CardDescription,
10
- CardFooter,
11
- CardHeader,
12
- CardTitle,
13
- } from "@/registry/new-york-v4/ui/card"
14
- import {
15
- ChartContainer,
16
- ChartTooltip,
17
- ChartTooltipContent,
18
- type ChartConfig,
19
- } from "@/registry/new-york-v4/ui/chart"
20
-
21
- export const description = "A radial chart with a label"
22
-
23
- const chartData = [
24
- { browser: "chrome", visitors: 275, fill: "var(--color-chrome)" },
25
- { browser: "safari", visitors: 200, fill: "var(--color-safari)" },
26
- { browser: "firefox", visitors: 187, fill: "var(--color-firefox)" },
27
- { browser: "edge", visitors: 173, fill: "var(--color-edge)" },
28
- { browser: "other", visitors: 90, fill: "var(--color-other)" },
29
- ]
30
-
31
- const chartConfig = {
32
- visitors: {
33
- label: "Visitors",
34
- },
35
- chrome: {
36
- label: "Chrome",
37
- color: "var(--chart-1)",
38
- },
39
- safari: {
40
- label: "Safari",
41
- color: "var(--chart-2)",
42
- },
43
- firefox: {
44
- label: "Firefox",
45
- color: "var(--chart-3)",
46
- },
47
- edge: {
48
- label: "Edge",
49
- color: "var(--chart-4)",
50
- },
51
- other: {
52
- label: "Other",
53
- color: "var(--chart-5)",
54
- },
55
- } satisfies ChartConfig
56
-
57
- export function ChartRadialLabel() {
58
- return (
59
- <Card className="flex flex-col">
60
- <CardHeader className="items-center pb-0">
61
- <CardTitle>Radial Chart - Label</CardTitle>
62
- <CardDescription>January - June 2024</CardDescription>
63
- </CardHeader>
64
- <CardContent className="flex-1 pb-0">
65
- <ChartContainer
66
- config={chartConfig}
67
- className="mx-auto aspect-square max-h-[250px]"
68
- >
69
- <RadialBarChart
70
- data={chartData}
71
- startAngle={-90}
72
- endAngle={380}
73
- innerRadius={30}
74
- outerRadius={110}
75
- >
76
- <ChartTooltip
77
- cursor={false}
78
- content={<ChartTooltipContent hideLabel nameKey="browser" />}
79
- />
80
- <RadialBar dataKey="visitors" background>
81
- <LabelList
82
- position="insideStart"
83
- dataKey="browser"
84
- className="fill-white capitalize mix-blend-luminosity"
85
- fontSize={11}
86
- />
87
- </RadialBar>
88
- </RadialBarChart>
89
- </ChartContainer>
90
- </CardContent>
91
- <CardFooter className="flex-col gap-2 text-sm">
92
- <div className="flex items-center gap-2 leading-none font-medium">
93
- Trending up by 5.2% this month <TrendingUp className="h-4 w-4" />
94
- </div>
95
- <div className="leading-none text-muted-foreground">
96
- Showing total visitors for the last 6 months
97
- </div>
98
- </CardFooter>
99
- </Card>
100
- )
101
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:104be078d10b6d1a11fef591b2bbb10e1e0af1fecf9f59bdadfcbeec0a3de56e
3
+ size 2745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1fbb6601eb301afee66f7d512198538ea4a9455651cc9749826f65ee6ccd5cc4 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.item-variant",
3
- "name": "item-variant",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/item-variant.json",
8
- "did": "did:holo:sha256:cf403f816dffced13453654d2e8cc1c7a264560d1c3528da4e5aee292581f189",
9
- "import": "holo://sha256:405f8368c2b389433a74223ca225d4329951be52765980a3051cfea28fa9b6ce",
10
- "integrity": "sha256-QF+DaMKziUM6dCI8oiXUMplRvlJ2WYCjBRz+oo+pts4=",
11
- "kappa": "sha256:cf403f816dffced13453654d2e8cc1c7a264560d1c3528da4e5aee292581f189",
12
- "moduleKappa": "sha256:405f8368c2b389433a74223ca225d4329951be52765980a3051cfea28fa9b6ce",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/item-variant.tsx",
15
- "module": "vendor/components/item-variant.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5627833a9cde3e8004af1f3f9ac2708639fa6b3089c4462fb9e385a4e8cb7634
3
+ size 854
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/1fc456a0dd6b2099db450f45ddab86b816944212ec00d7334c1a5a5823d2b891 CHANGED
The diff for this file is too large to render. See raw diff
 
b/1fdbfb228aeca30bf91c8bda1b713192e12086578b3c038cabead062dcd78d36 CHANGED
@@ -1,66 +1,3 @@
1
- import * as React from "react"
2
- import { cva, type VariantProps } from "class-variance-authority"
3
-
4
- import { cn } from "@/lib/utils"
5
-
6
- const alertVariants = cva(
7
- "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
8
- {
9
- variants: {
10
- variant: {
11
- default: "bg-card text-card-foreground",
12
- destructive:
13
- "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current",
14
- },
15
- },
16
- defaultVariants: {
17
- variant: "default",
18
- },
19
- }
20
- )
21
-
22
- function Alert({
23
- className,
24
- variant,
25
- ...props
26
- }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>) {
27
- return (
28
- <div
29
- data-slot="alert"
30
- role="alert"
31
- className={cn(alertVariants({ variant }), className)}
32
- {...props}
33
- />
34
- )
35
- }
36
-
37
- function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
38
- return (
39
- <div
40
- data-slot="alert-title"
41
- className={cn(
42
- "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
43
- className
44
- )}
45
- {...props}
46
- />
47
- )
48
- }
49
-
50
- function AlertDescription({
51
- className,
52
- ...props
53
- }: React.ComponentProps<"div">) {
54
- return (
55
- <div
56
- data-slot="alert-description"
57
- className={cn(
58
- "col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed",
59
- className
60
- )}
61
- {...props}
62
- />
63
- )
64
- }
65
-
66
- export { Alert, AlertTitle, AlertDescription }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2cc59b5f7bda91c1670884b1bf46bfc8a2a6f226cef184f5762acc037188885b
3
+ size 1614
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/201433ecce079a365af9ef7ea23a01f5fbcf769f1f0ffa2d30cb32ed1e543bb2 CHANGED
@@ -1,68 +1,3 @@
1
- // m13d-moe-stream.mjs — demand-paged decode of a REAL TRAINED MoE too big to hold in RAM.
2
- //
3
- // deepseek-v2-lite (16B total / 2.4B active, ~10 GB on disk) is range-forged (forgeGgufScan: each tensor
4
- // hashed once then released → peak mem = largest single tensor, NOT the model) into a κ dir + per-expert
5
- // expertDir. Then greedy-decoded through the ACTUAL executor with a range-reading, L5-verifying loader:
6
- // per token the router picks 6 of 64 experts/layer and ONLY those slices are read from the file. Nothing
7
- // close to the whole model is ever resident. Fidelity is shown two ways: (1) every loaded block re-derives
8
- // to its κ (L5), (2) the decoded text is COHERENT (a demand-paged random model gives gibberish; a real one
9
- // answers) — output is byte-identical to a full-resident run by construction (additive sub-range κ + L5).
10
- import { openSync, readSync, closeSync, statSync } from "node:fs";
11
- import { performance } from "node:perf_hooks";
12
- import { forgeGgufScan } from "./gguf-forge.mjs";
13
- import { synthesizeGraph } from "./gguf-forge-graph.mjs";
14
- import { forward } from "./gguf-forge-exec.mjs";
15
- import { makeTokenizer } from "./gguf-forge-tokenizer.mjs";
16
- import { sha256hex } from "../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
17
-
18
- const MODEL = ".models/deepseek-v2-lite-q4_k_m.gguf";
19
- const MiB = 1024 * 1024, GiB = 1024 * MiB, hexOf = (k) => String(k).split(":").pop();
20
- const PROMPT = "The capital of France is", NGEN = 4, BUDGET = 512 * MiB;
21
-
22
- const fd = openSync(MODEL, "r");
23
- const fileSize = statSync(MODEL).size;
24
- const readRange = (off, len) => { const b = Buffer.allocUnsafe(len); let got = 0; while (got < len) { const n = readSync(fd, b, got, len - got, off + got); if (n <= 0) break; got += n; } return new Uint8Array(b.buffer, b.byteOffset, len); };
25
- const headerBytes = readRange(0, Math.min(fileSize, 48 * MiB)); // metadata + all tensor infos + tokenizer live here
26
-
27
- console.log(`range-forging ${MODEL} (${(fileSize / GiB).toFixed(2)} GiB) — hashing each tensor once, releasing bytes…`);
28
- const t0 = performance.now();
29
- const scan = await forgeGgufScan(readRange, { headerBytes }); // { plan, dir, expertDir, meta, arch, rootKappa }
30
- const scanMs = performance.now() - t0;
31
- const graph = synthesizeGraph(scan.plan);
32
- const tok = makeTokenizer(headerBytes);
33
- const totalBlocks = Object.keys(scan.dir).length;
34
- const expertHexes = new Set(Object.values(scan.expertDir.tensors).flatMap((td) => td.experts.map((e) => hexOf(e.kappa))));
35
- console.log(` arch=${scan.arch} · ${scan.plan.tensors.length} tensors · ${totalBlocks} κ-blocks (${expertHexes.size} per-expert slices) · scanned in ${(scanMs / 1000).toFixed(0)}s (peak mem ≈ largest tensor, not the ${(fileSize / GiB).toFixed(1)} GiB model)`);
36
-
37
- // range-reading, L5-verifying loader with an LRU RAM budget; counts unique blocks + peak resident
38
- const lru = new Map(); let resident = 0, peak = 0, streamed = 0, loads = 0; const ever = new Set();
39
- const load = (_store, kappa) => {
40
- const hx = hexOf(kappa);
41
- if (lru.has(hx)) { const b = lru.get(hx); lru.delete(hx); lru.set(hx, b); return b; }
42
- const loc = scan.dir[hx]; if (!loc) throw new Error("no dir entry " + hx);
43
- const b = readRange(loc.fileOffset, loc.len); streamed += b.byteLength; loads++; ever.add(hx);
44
- if (sha256hex(b) !== hx) throw new Error("L5 REFUSE " + hx);
45
- lru.set(hx, b); resident += b.byteLength;
46
- while (resident > BUDGET && lru.size > 1) { const [ek, ev] = lru.entries().next().value; lru.delete(ek); resident -= ev.byteLength; }
47
- if (resident > peak) peak = resident; return b;
48
- };
49
-
50
- const argmax = (a) => { let m = 0; for (let i = 1; i < a.length; i++) if (a[i] > a[m]) m = i; return m; };
51
- const ids = tok.encode(PROMPT, { addSpecial: false, parseSpecial: false });
52
- console.log(`\nprompt "${PROMPT}" → ${ids.length} tokens; greedy-decoding ${NGEN} (each: router picks experts, ONLY those stream in)…`);
53
- const gen = [];
54
- for (let i = 0; i < NGEN; i++) {
55
- const tg = performance.now();
56
- const nx = argmax(forward(scan.plan, graph, null, ids.concat(gen), { expertDir: scan.expertDir, load }));
57
- gen.push(nx);
58
- process.stdout.write(` tok ${i + 1}/${NGEN}: id ${nx} "${tok.decode([nx]).replace(/\n/g, "\\n")}" (${((performance.now() - tg) / 1000).toFixed(0)}s, peak ${(peak / MiB).toFixed(0)}MiB)\n`);
59
- }
60
-
61
- const expertsTouched = [...ever].filter((h) => expertHexes.has(h)).length;
62
- console.log(`\n DECODED: "${PROMPT}${tok.decode(gen)}"`);
63
- console.log(`\n demand-paging a ${(fileSize / GiB).toFixed(2)} GiB REAL MoE (deepseek-v2-lite, 16B/2.4B-active):`);
64
- console.log(` peak resident : ${(peak / MiB).toFixed(0)} MiB = ${(100 * peak / fileSize).toFixed(1)}% of the model held at once`);
65
- console.log(` expert slices read : ${expertsTouched} / ${expertHexes.size} (${(100 * expertsTouched / expertHexes.size).toFixed(0)}% — inactive experts NEVER fetched)`);
66
- console.log(` bytes streamed : ${(streamed / MiB).toFixed(0)} MiB over ${loads} L5-verified reads`);
67
- console.log(`\n → a 10 GiB model DECODED holding ${(peak / MiB).toFixed(0)} MiB resident, every block verified. Coherent text = full fidelity. This runs on a phone: capacity in the κ store, working-set on device.`);
68
- closeSync(fd);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bbcfcaf4be65a95da6044a91a891b97433230c5c6da0ba7a2607448691ca5726
3
+ size 5207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/20153dcfad0dff5c1c27178dafc84bc3d810e0f51415c3509e88428ec941493c CHANGED
@@ -1,50 +1,3 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
- <title>Holo Q · Infinite Intelligence, on your machine</title>
7
- <meta name="description" content="A real AI thinks entirely in your browser no server, on the hologram substrate. The model is a content-addressed κ-object verified by re-derivation; conversations persist as a self-verifying Merkle-DAG; every answer is a re-derivable inference receipt (Law L5)." />
8
- <meta name="theme-color" content="#08090a" />
9
- <link rel="icon" href="./icon.svg" type="image/svg+xml" />
10
- <link rel="manifest" href="./manifest.webmanifest" />
11
- <!-- Open Graph Protocol — rich preview when the link is shared -->
12
- <meta property="og:type" content="website" />
13
- <meta property="og:site_name" content="Holo Q" />
14
- <meta property="og:title" content="Holo Q Infinite Intelligence, on your machine" />
15
- <meta property="og:description" content="A real AI thinks in your browser on the hologram substrate no server. Conversations are content-addressed κ-objects; every answer carries a re-derivable inference receipt (Law L5)." />
16
- <meta property="og:image" content="icon.svg" />
17
- <meta name="twitter:card" content="summary" />
18
- <meta name="twitter:title" content="Holo Q Infinite Intelligence, on your machine" />
19
- <meta name="twitter:description" content="A real AI thinks in your browser on the hologram substrate no server. Every answer is a re-derivable inference receipt." />
20
- <link rel="stylesheet" href="./ui/app.css" />
21
- <link rel="stylesheet" href="./_shared/holo-mobile.css" />
22
- <link rel="icon" href="./icon.svg">
23
- <script>try{if("serviceWorker" in navigator)navigator.serviceWorker.register(new URL("../../root-sw.js",location.href),{type:"module"}).catch(function(){navigator.serviceWorker.register(new URL("../../root-sw-classic.js",location.href)).catch(function(){})})}catch(e){}</script>
24
- </head>
25
- <body>
26
- <!-- Entry splash: the shared Hologram "streaming" boot screen. ONE source of truth
27
- for every Holo app — only the app="…" name differs. Self-contained, offline,
28
- Shadow DOM; the bar auto-tracks this app's real boot time. -->
29
- <script src="./holo-splash.js"></script>
30
- <holo-splash app="Holo Q"></holo-splash>
31
-
32
- <div id="app" aria-live="polite"></div>
33
- <!-- Offline runtime (C3): register the whole-runtime service worker + a pill that, when the
34
- network drops, confirms the app is still thinking on your machine (no-server, made literal). -->
35
- <div id="offline-pill" hidden style="position:fixed;left:12px;bottom:12px;z-index:9999;display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font:600 16px/1 system-ui,sans-serif;color:#d6f5e0;background:rgba(10,30,18,.86);border:1px solid rgba(80,220,140,.35);backdrop-filter:blur(8px);box-shadow:0 4px 18px rgba(0,0,0,.4)">
36
- <span style="width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80"></span>
37
- <span id="offline-pill-text">offline · still thinking on your machine</span>
38
- </div>
39
- <script>
40
- if ("serviceWorker" in navigator) navigator.serviceWorker.register("./sw.js").catch(() => {});
41
- (function () {
42
- var pill = document.getElementById("offline-pill");
43
- var sync = function () { pill.hidden = navigator.onLine; };
44
- addEventListener("online", sync); addEventListener("offline", sync); sync();
45
- })();
46
- </script>
47
- <script src="./_shared/holo-theme.js"></script>
48
- <script type="module" src="./ui/boot.js"></script>
49
- </body>
50
- </html>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bb01430040bb991fb00979ddf88e90bb0e15b114a4c31f1ef6f215d4de17813d
3
+ size 3665
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/202d294d5997625575278176a973965301df1e9b5d35b39650f36426abf7c525 CHANGED
@@ -1,200 +1,3 @@
1
- // ui/messages.js — renders the ACTIVE THREAD of the message tree: user bubbles, assistant
2
- // markdown, hover actions (copy · edit · regenerate · fork · feedback · read-aloud), the
3
- // sibling pager for branches, and the verifiable-inference receipt card. Pure view layer —
4
- // every action delegates to the chat controller through `act`.
5
-
6
- import { SVG } from "./shell.js";
7
- import { renderMarkdown } from "../render/markdown.js";
8
-
9
- const eh = (s) => String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
10
- const shortK = (k) => { const s = String(k || ""); const ax = s.split(":").slice(0, 2).join(":"); const h = s.split(":").pop(); return ax + ":" + (h.length > 18 ? h.slice(0, 12) + "…" + h.slice(-4) : h); };
11
-
12
- // Fallback frames if the OS motion engine (window.HoloFX, the faithful unicode-animations
13
- // adoption) isn't present. When it is, the streaming row uses the house `dna` spinner — the
14
- // shared, sharp vocabulary for generative/inference states.
15
- const SPIN_FRAMES = ["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];
16
-
17
- export function makeMessagesView({ els, t, act, settings }) {
18
- let spinTimer = null, spinHandle = null;
19
- const stopSpin = () => { clearInterval(spinTimer); spinTimer = null; if (spinHandle) { spinHandle.stop(); spinHandle = null; } };
20
-
21
- function sibPager(msg, siblings) {
22
- if (siblings.length < 2) return null;
23
- const i = siblings.indexOf(msg.id);
24
- const d = document.createElement("span"); d.className = "sib";
25
- d.innerHTML = `<button data-d="-1" aria-label="Previous version">${SVG.left1}</button><span>${i + 1}/${siblings.length}</span><button data-d="1" aria-label="Next version">${SVG.right1}</button>`;
26
- d.querySelectorAll("button").forEach((b) => (b.onclick = () => act.switchSibling(msg, +b.dataset.d)));
27
- return d;
28
- }
29
-
30
- function iact(title, svg, fn, cls = "") {
31
- const b = document.createElement("button"); b.className = "iact " + cls; b.title = title; b.innerHTML = svg;
32
- b.onclick = (e) => fn(b, e); return b;
33
- }
34
-
35
- function userRow(msg, siblings) {
36
- const m = document.createElement("div"); m.className = "msg user"; m.dataset.id = msg.id;
37
- const b = document.createElement("div"); b.className = "bubble"; b.textContent = msg.text; m.appendChild(b);
38
- const meta = document.createElement("div"); meta.className = "meta";
39
- const pager = sibPager(msg, siblings); if (pager) meta.appendChild(pager);
40
- meta.appendChild(iact(t("com_ui_copy"), SVG.copy, async (btn) => { try { await navigator.clipboard.writeText(msg.text); flash(btn); } catch {} }));
41
- meta.appendChild(iact(t("com_ui_edit"), SVG.edit, () => editInPlace(m, msg)));
42
- m.appendChild(meta);
43
- return m;
44
- }
45
-
46
- function editInPlace(rowEl, msg) {
47
- const old = rowEl.querySelector(".bubble"); if (!old) return;
48
- const wrap = document.createElement("div"); wrap.className = "edit-area";
49
- wrap.innerHTML = `<textarea>${eh(msg.text)}</textarea><div class="row"><button class="btn" data-a="cancel">${t("com_ui_cancel")}</button><button class="btn primary" data-a="save">${t("com_ui_edit_submit")}</button></div>`;
50
- old.replaceWith(wrap);
51
- const ta = wrap.querySelector("textarea"); ta.focus(); ta.setSelectionRange(ta.value.length, ta.value.length);
52
- wrap.querySelector('[data-a="cancel"]').onclick = () => act.rerender();
53
- wrap.querySelector('[data-a="save"]').onclick = () => { const v = ta.value.trim(); if (v && v !== msg.text) act.editResubmit(msg, v); else act.rerender(); };
54
- ta.onkeydown = (e) => { if (e.key === "Enter" && (e.ctrlKey || e.metaKey)) wrap.querySelector('[data-a="save"]').click(); if (e.key === "Escape") act.rerender(); };
55
- }
56
-
57
- function assistantRow(msg, siblings, { isLeaf }) {
58
- const m = document.createElement("div"); m.className = "msg assistant"; m.dataset.id = msg.id;
59
- if (msg.toolTrace && msg.toolTrace.length) m.appendChild(trailCard(msg));
60
- const body = document.createElement("div"); body.className = "body"; m.appendChild(body);
61
- if (msg.text) renderMarkdown(body, msg.text);
62
- const meta = document.createElement("div"); meta.className = "meta";
63
- const pager = sibPager(msg, siblings); if (pager) meta.appendChild(pager);
64
- meta.appendChild(iact(t("com_ui_copy"), SVG.copy, async (btn) => { try { await navigator.clipboard.writeText(msg.text); flash(btn); } catch {} }));
65
- if (isLeaf) meta.appendChild(iact(t("com_ui_regenerate"), SVG.regen, () => act.regenerate(msg)));
66
- meta.appendChild(iact(t("com_ui_fork"), SVG.fork, () => act.fork(msg)));
67
- meta.appendChild(iact(t("com_ui_feedback_up"), SVG.thumbU, (btn) => act.feedback(msg, "thumbsUp", btn), msg.feedback?.rating === "thumbsUp" ? "on" : ""));
68
- meta.appendChild(iact(t("com_ui_feedback_down"), SVG.thumbD, (btn) => act.feedback(msg, "thumbsDown", btn), msg.feedback?.rating === "thumbsDown" ? "on" : ""));
69
- if (settings.get("tts") && "speechSynthesis" in window) meta.appendChild(iact(t("com_ui_read_aloud"), SVG.speak, (btn) => act.speak(msg, btn)));
70
- m.appendChild(meta);
71
- if (msg.receiptKappa && settings.get("receipts") === true) m.appendChild(receiptCard(msg)); // opt-IN (clean UX default; receipts still seal underneath)
72
- return m;
73
- }
74
-
75
- // The verifiable-inference receipt card (collapsed by default). Data is resolved lazily
76
- // from the κ-store on first expand — the receipt body re-derives to its address (Law L5).
77
- function receiptCard(msg) {
78
- const el = document.createElement("div"); el.className = "receipt";
79
- el.innerHTML = `<div class="rhead"><span class="rdot"></span><span class="rt">${t("com_ui_receipt_title")} ${msg.fromMemo ? `<span class="memo-chip">${t("com_ui_memo_replay")}</span>` : ""}<span class="rsub"> · ${t("com_ui_receipt_sub")}</span></span><span class="rk">${eh(shortK(msg.receiptKappa))}</span><span class="rchev">${SVG.right}</span></div><div class="rbody"></div>`;
80
- const head = el.querySelector(".rhead"), bodyEl = el.querySelector(".rbody");
81
- let loaded = false;
82
- head.onclick = async () => {
83
- el.classList.toggle("open");
84
- if (loaded || !el.classList.contains("open")) return;
85
- loaded = true;
86
- const rec = await act.resolveReceipt(msg);
87
- if (!rec) { bodyEl.innerHTML = `<div class="rverdict show bad">${t("com_ui_integrity_refused")}</div>`; return; }
88
- const U = rec.body["prov:used"], G = rec.body["prov:generated"], p = rec.params || U["holo:params"];
89
- const row = (lab, val) => `<div class="rrow"><div class="rlab">${lab}</div><div class="rval">${eh(String(val))}</div></div>`;
90
- bodyEl.innerHTML =
91
- row("receipt κ", rec.id) + row("model", U["holo:model"]) + row("engine", U["holo:engine"]) +
92
- row("prompt κ", U["holo:prompt"]) + row("context κ", U["holo:context"]) + row("output κ", G["holo:outputTokens"]) +
93
- row("decode", `${p.decode} · ≤${p.maxTokens} tok · rep ${p.repetitionPenalty} · ${p.template}`) +
94
- `<div class="racts"><button class="rbtn go" data-a="verify">${t("com_ui_verify")}</button><button class="rbtn" data-a="rederive">${t("com_ui_rederive")}</button><button class="rbtn" data-a="copy">${t("com_ui_copy_receipt")}</button></div><div class="rverdict" data-v></div>`;
95
- const vEl = bodyEl.querySelector("[data-v]");
96
- bodyEl.querySelector('[data-a="verify"]').onclick = async () => {
97
- const r = await act.verifyReceipt(rec);
98
- vEl.className = "rverdict show " + (r.ok ? "ok" : "bad");
99
- vEl.innerHTML = r.ok ? `<b>✓ ${t("com_ui_integrity_ok")}</b>` : `<b>✗ ${t("com_ui_integrity_bad")}</b> <small>${eh(shortK(r.again))} ≠ ${eh(shortK(rec.id))}</small>`;
100
- };
101
- bodyEl.querySelector('[data-a="rederive"]').onclick = async (e) => {
102
- const btn = e.currentTarget, label = btn.textContent; btn.disabled = true; btn.textContent = "…";
103
- vEl.className = "rverdict show warn"; vEl.textContent = "Re-running this exact inference, greedily…";
104
- try {
105
- const r = await act.reDeriveReceipt(rec, msg);
106
- vEl.className = "rverdict show " + (r.ok ? "ok" : r.reason ? "warn" : "bad");
107
- vEl.innerHTML = r.ok ? `<b>✓ ${t("com_ui_rederived_ok")}</b>` : r.reason ? `<b>○ ${eh(r.reason)}</b>` : `<b>✗ ${t("com_ui_rederived_bad")}</b> <small>got ${eh(shortK(r.got))} ≠ ${eh(shortK(r.want))}</small>`;
108
- } catch (err) { vEl.className = "rverdict show bad"; vEl.textContent = "re-derive error: " + err; }
109
- finally { btn.disabled = false; btn.textContent = label; }
110
- };
111
- bodyEl.querySelector('[data-a="copy"]').onclick = async () => { try { await navigator.clipboard.writeText(JSON.stringify({ id: rec.id, ...rec.body }, null, 2)); } catch {} };
112
- };
113
- return el;
114
- }
115
-
116
- function flash(btn) { const old = btn.innerHTML; btn.innerHTML = SVG.ok; setTimeout(() => (btn.innerHTML = old), 1100); }
117
-
118
- // Render the whole active thread. `thread` = [{...msg}], `siblingsOf(msg)` = ordered sibling ids.
119
- // Empty thread = LANDING mode: the scroller hides and the composer rises to the golden line
120
- // with the greeting + suggestion chips (body.landing drives it all in CSS).
121
- function render(thread, siblingsOf) {
122
- stopSpin();
123
- els.thread.innerHTML = "";
124
- const landing = !thread.length;
125
- document.body.classList.toggle("landing", landing);
126
- els.greet.hidden = !landing; els.chips.hidden = !landing;
127
- thread.forEach((msg, i) => {
128
- const siblings = siblingsOf(msg);
129
- els.thread.appendChild(msg.isCreatedByUser ? userRow(msg, siblings) : assistantRow(msg, siblings, { isLeaf: i === thread.length - 1 }));
130
- });
131
- }
132
-
133
- // Streaming row: a live assistant message updated per token (markdown re-render throttled),
134
- // with a live WORK TRAIL for agentic turns (tool calls appear as they happen — the Claude
135
- // desktop "using tool…" feel, but each line is backed by a sealed receipt).
136
- function startStream() {
137
- document.body.classList.remove("landing");
138
- els.greet.hidden = true; els.chips.hidden = true;
139
- const m = document.createElement("div"); m.className = "msg assistant streaming";
140
- m.innerHTML = `<div class="trail" hidden></div><div class="body stream"></div><div class="meta pinned"><span class="spin"></span><span class="tps" hidden><span class="bar"></span><span class="n"></span></span></div>`;
141
- els.thread.appendChild(m);
142
- const body = m.querySelector(".body"), spin = m.querySelector(".spin"), trailEl = m.querySelector(".trail");
143
- const tpsEl = m.querySelector(".tps"), tpsBar = m.querySelector(".tps .bar"), tpsN = m.querySelector(".tps .n");
144
- if (window.HoloFX) spinHandle = window.HoloFX.spin(spin, "dna");
145
- else { let i = 0; spinTimer = setInterval(() => { spin.textContent = SPIN_FRAMES[i++ % SPIN_FRAMES.length]; }, 80); }
146
- let lastMd = 0; const tpsHist = []; // live tokens/sec → a braille pulse (the speed IS the signal)
147
- return {
148
- el: m,
149
- update(text) {
150
- body.textContent = text; // instant raw text per token
151
- const now = performance.now();
152
- if (now - lastMd > 400) { lastMd = now; renderMarkdown(body, text).then(() => body.classList.remove("stream")); }
153
- maybeScroll();
154
- },
155
- // Real per-token decode telemetry (engine stats.tokps) plotted as a live braille sparkline.
156
- stats(s) {
157
- const v = Math.max(0, (s && s.tokps) || 0); if (!v && !tpsHist.length) return;
158
- tpsHist.push(v); if (tpsHist.length > 28) tpsHist.shift();
159
- tpsEl.hidden = false;
160
- if (window.HoloFX) tpsBar.textContent = window.HoloFX.graph(tpsHist, { width: 14, fill: true, min: 0 });
161
- tpsN.textContent = v ? Math.round(v) + " tok/s" : "";
162
- },
163
- trail(html) {
164
- trailEl.hidden = false;
165
- const d = document.createElement("div"); d.className = "trail-item"; d.innerHTML = html;
166
- trailEl.appendChild(d); maybeScroll();
167
- },
168
- done() { stopSpin(); m.classList.remove("streaming"); m.querySelector(".meta")?.remove(); },
169
- };
170
- }
171
-
172
- // The stored work-trail card (collapsed): rendered above an agentic answer from lc:toolTrace.
173
- function trailCard(msg) {
174
- const trace = msg.toolTrace || [];
175
- const el = document.createElement("div"); el.className = "receipt trailcard";
176
- el.innerHTML = `<div class="rhead"><span class="rdot" style="background:var(--blue);box-shadow:0 0 9px var(--blue)"></span><span class="rt">${t("com_tools_trail")}<span class="rsub"> · ${t("com_tools_calls", { n: String(trace.length) })}</span></span><span class="rchev">${SVG.right}</span></div><div class="rbody"></div>`;
177
- const bodyEl = el.querySelector(".rbody");
178
- el.querySelector(".rhead").onclick = () => {
179
- el.classList.toggle("open");
180
- if (bodyEl.childElementCount) return;
181
- for (const s of trace) {
182
- const row = document.createElement("div");
183
- row.innerHTML = `<div class="rrow"><div class="rlab">${s.ok ? "✓" : "✗"} ${eh(s.name)}</div><div class="rval">${eh(JSON.stringify(s.args)).slice(0, 200)}</div></div>` +
184
- `<div class="rrow"><div class="rlab">→</div><div class="rval" style="color:var(--muted)">${eh((s.text || "").slice(0, 300))}</div></div>` +
185
- (s.receiptId ? `<div class="rrow"><div class="rlab">receipt κ</div><div class="rval">${eh(shortK(s.receiptId))}</div></div>` : "");
186
- bodyEl.appendChild(row);
187
- }
188
- };
189
- return el;
190
- }
191
-
192
- // Smart follow: stick to the bottom only while the reader is already there.
193
- const nearBottom = () => els.scroller.scrollHeight - els.scroller.scrollTop - els.scroller.clientHeight < 90;
194
- let follow = true;
195
- els.scroller.addEventListener("scroll", () => { follow = nearBottom(); }, { passive: true });
196
- function maybeScroll() { if (follow) els.scroller.scrollTop = els.scroller.scrollHeight; }
197
- function scrollBottom() { follow = true; els.scroller.scrollTop = els.scroller.scrollHeight; }
198
-
199
- return { render, startStream, scrollBottom, maybeScroll };
200
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c4db6b177aa3b50f188028d43a8f682e6320d71ef013ed49cf4de6e7c446b40
3
+ size 13896
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/2058bd906159ce455e183ecbf81b564040875357491b8264c480c308c8a876bf CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.pagination-demo",
3
- "name": "pagination-demo",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/pagination-demo.json",
8
- "did": "did:holo:sha256:d1d892b87ce2650ffff81660a087942df0cf119eac87260e69f4f671075c7746",
9
- "import": "holo://sha256:4a3528b5f3ba48cc75b44b29b634711c3900d021bfacd377a1589bb48b069ab7",
10
- "integrity": "sha256-SjUotfO6SMx1tEsptjRxHDkA0CG/rNN3oVibtIsGmrc=",
11
- "kappa": "sha256:d1d892b87ce2650ffff81660a087942df0cf119eac87260e69f4f671075c7746",
12
- "moduleKappa": "sha256:4a3528b5f3ba48cc75b44b29b634711c3900d021bfacd377a1589bb48b069ab7",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/pagination-demo.tsx",
15
- "module": "vendor/components/pagination-demo.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b4e4219c751676b79fdce529c584c03114c97e5b62dd9dfa58796495a4dc0a3
3
+ size 869
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/2059b4ea678a3bd8298142c4703701463c3b578aa4a6a0ec998741f0b54ada4f CHANGED
@@ -1,51 +1,3 @@
1
- import{forwardRef as Ye,createElement as _e}from"react";var Se=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_=(...e)=>e.filter((o,t,a)=>!!o&&o.trim()!==""&&a.indexOf(o)===t).join(" ").trim();import{forwardRef as je,createElement as ke}from"react";var we={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var be=je(({color:e="currentColor",size:o=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:d="",children:i,iconNode:s,...p},m)=>ke("svg",{ref:m,...we,width:o,height:o,stroke:e,strokeWidth:a?Number(t)*24/Number(o):t,className:_("lucide",d),...p},[...s.map(([c,x])=>ke(c,x)),...Array.isArray(i)?i:[i]]));var Pe=(e,o)=>{let t=Ye(({className:a,...d},i)=>_e(be,{ref:i,iconNode:o,className:_(`lucide-${Se(e)}`,a),...d}));return t.displayName=`${e}`,t};var N=Pe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);function Ae(e){var o,t,a="";if(typeof e=="string"||typeof e=="number")a+=e;else if(typeof e=="object")if(Array.isArray(e)){var d=e.length;for(o=0;o<d;o++)e[o]&&(t=Ae(e[o]))&&(a&&(a+=" "),a+=t)}else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}function Be(){for(var e,o,t=0,a="",d=arguments.length;t<d;t++)(e=arguments[t])&&(o=Ae(e))&&(a&&(a+=" "),a+=o);return a}var $e=(e,o)=>{let t=new Array(e.length+o.length);for(let a=0;a<e.length;a++)t[a]=e[a];for(let a=0;a<o.length;a++)t[e.length+a]=o[a];return t},ea=(e,o)=>({classGroupId:e,validator:o}),ve=(e=new Map,o=null,t)=>({nextPart:e,validators:o,classGroupId:t}),ae="-",Me=[],aa="arbitrary..",ta=e=>{let o=la(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return oa(s);let p=s.split(ae),m=p[0]===""&&p.length>1?1:0;return qe(p,m,o)},getConflictingClassGroupIds:(s,p)=>{if(p){let m=a[s],c=t[s];return m?c?$e(c,m):m:c||Me}return t[s]||Me}}},qe=(e,o,t)=>{if(e.length-o===0)return t.classGroupId;let d=e[o],i=t.nextPart.get(d);if(i){let c=qe(e,o+1,i);if(c)return c}let s=t.validators;if(s===null)return;let p=o===0?e.join(ae):e.slice(o).join(ae),m=s.length;for(let c=0;c<m;c++){let x=s[c];if(x.validator(p))return x.classGroupId}},oa=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let o=e.slice(1,-1),t=o.indexOf(":"),a=o.slice(0,t);return a?aa+a:void 0})(),la=e=>{let{theme:o,classGroups:t}=e;return ua(t,o)},ua=(e,o)=>{let t=ve();for(let a in e){let d=e[a];fe(d,t,a,o)}return t},fe=(e,o,t,a)=>{let d=e.length;for(let i=0;i<d;i++){let s=e[i];da(s,o,t,a)}},da=(e,o,t,a)=>{if(typeof e=="string"){ra(e,o,t);return}if(typeof e=="function"){sa(e,o,t,a);return}fa(e,o,t,a)},ra=(e,o,t)=>{let a=e===""?o:Ue(o,e);a.classGroupId=t},sa=(e,o,t,a)=>{if(ia(e)){fe(e(a),o,t,a);return}o.validators===null&&(o.validators=[]),o.validators.push(ea(t,e))},fa=(e,o,t,a)=>{let d=Object.entries(e),i=d.length;for(let s=0;s<i;s++){let[p,m]=d[s];fe(m,Ue(o,p),t,a)}},Ue=(e,o)=>{let t=e,a=o.split(ae),d=a.length;for(let i=0;i<d;i++){let s=a[i],p=t.nextPart.get(s);p||(p=ve(),t.nextPart.set(s,p)),t=p}return t},ia=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,ca=e=>{if(e<1)return{get:()=>{},set:()=>{}};let o=0,t=Object.create(null),a=Object.create(null),d=(i,s)=>{t[i]=s,o++,o>e&&(o=0,a=t,t=Object.create(null))};return{get(i){let s=t[i];if(s!==void 0)return s;if((s=a[i])!==void 0)return d(i,s),s},set(i,s){i in t?t[i]=s:d(i,s)}}},se="!",Fe=":",na=[],ye=(e,o,t,a,d)=>({modifiers:e,hasImportantModifier:o,baseClassName:t,maybePostfixModifierPosition:a,isExternal:d}),pa=e=>{let{prefix:o,experimentalParseClassName:t}=e,a=d=>{let i=[],s=0,p=0,m=0,c,x=d.length;for(let S=0;S<x;S++){let b=d[S];if(s===0&&p===0){if(b===Fe){i.push(d.slice(m,S)),m=S+1;continue}if(b==="/"){c=S;continue}}b==="["?s++:b==="]"?s--:b==="("?p++:b===")"&&p--}let C=i.length===0?d:d.slice(m),R=C,A=!1;C.endsWith(se)?(R=C.slice(0,-1),A=!0):C.startsWith(se)&&(R=C.slice(1),A=!0);let W=c&&c>m?c-m:void 0;return ye(i,A,R,W)};if(o){let d=o+Fe,i=a;a=s=>s.startsWith(d)?i(s.slice(d.length)):ye(na,!1,s,void 0,!0)}if(t){let d=a;a=i=>t({className:i,parseClassName:d})}return a},ma=e=>{let o=new Map;return e.orderSensitiveModifiers.forEach((t,a)=>{o.set(t,1e6+a)}),t=>{let a=[],d=[];for(let i=0;i<t.length;i++){let s=t[i],p=s[0]==="[",m=o.has(s);p||m?(d.length>0&&(d.sort(),a.push(...d),d=[]),a.push(s)):d.push(s)}return d.length>0&&(d.sort(),a.push(...d)),a}},La=e=>({cache:ca(e.cacheSize),parseClassName:pa(e),sortModifiers:ma(e),postfixLookupClassGroupIds:Ia(e),...ta(e)}),Ia=e=>{let o=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let a=0;a<t.length;a++)o[t[a]]=!0;return o},xa=/\s+/,Ca=(e,o)=>{let{parseClassName:t,getClassGroupId:a,getConflictingClassGroupIds:d,sortModifiers:i,postfixLookupClassGroupIds:s}=o,p=[],m=e.trim().split(xa),c="";for(let x=m.length-1;x>=0;x-=1){let C=m[x],{isExternal:R,modifiers:A,hasImportantModifier:W,baseClassName:S,maybePostfixModifierPosition:b}=t(C);if(R){c=C+(c.length>0?" "+c:c);continue}let T=!!b,w;if(T){let M=S.substring(0,b);w=a(M);let r=w&&s[w]?a(S):void 0;r&&r!==w&&(w=r,T=!1)}else w=a(S);if(!w){if(!T){c=C+(c.length>0?" "+c:c);continue}if(w=a(S),!w){c=C+(c.length>0?" "+c:c);continue}T=!1}let E=A.length===0?"":A.length===1?A[0]:i(A).join(":"),O=W?E+se:E,H=O+w;if(p.indexOf(H)>-1)continue;p.push(H);let G=d(w,T);for(let M=0;M<G.length;++M){let r=G[M];p.push(O+r)}c=C+(c.length>0?" "+c:c)}return c},ga=(...e)=>{let o=0,t,a,d="";for(;o<e.length;)(t=e[o++])&&(a=Oe(t))&&(d&&(d+=" "),d+=a);return d},Oe=e=>{if(typeof e=="string")return e;let o,t="";for(let a=0;a<e.length;a++)e[a]&&(o=Oe(e[a]))&&(t&&(t+=" "),t+=o);return t},ha=(e,...o)=>{let t,a,d,i,s=m=>{let c=o.reduce((x,C)=>C(x),e());return t=La(c),a=t.cache.get,d=t.cache.set,i=p,p(m)},p=m=>{let c=a(m);if(c)return c;let x=Ca(m,t);return d(m,x),x};return i=s,(...m)=>i(ga(...m))},Sa=[],L=e=>{let o=t=>t[e]||Sa;return o.isThemeGetter=!0,o},He=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ge=/^\((?:(\w[\w-]*):)?(.+)\)$/i,wa=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ka=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ba=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Pa=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Aa=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ba=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,y=e=>wa.test(e),n=e=>!!e&&!Number.isNaN(Number(e)),B=e=>!!e&&Number.isInteger(Number(e)),re=e=>e.endsWith("%")&&n(e.slice(0,-1)),F=e=>ka.test(e),ze=()=>!0,Ma=e=>ba.test(e)&&!Pa.test(e),ie=()=>!1,Fa=e=>Aa.test(e),ya=e=>Ba.test(e),Da=e=>!l(e)&&!u(e),Ra=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Ta=e=>D(e,Ee,ie),l=e=>He.test(e),q=e=>D(e,Ne,Ma),De=e=>D(e,Va,n),va=e=>D(e,Ke,ze),qa=e=>D(e,Xe,ie),Re=e=>D(e,Ve,ie),Ua=e=>D(e,We,ya),$=e=>D(e,Ze,Fa),u=e=>Ge.test(e),X=e=>U(e,Ne),Oa=e=>U(e,Xe),Te=e=>U(e,Ve),Ha=e=>U(e,Ee),Ga=e=>U(e,We),ee=e=>U(e,Ze,!0),za=e=>U(e,Ke,!0),D=(e,o,t)=>{let a=He.exec(e);return a?a[1]?o(a[1]):t(a[2]):!1},U=(e,o,t=!1)=>{let a=Ge.exec(e);return a?a[1]?o(a[1]):t:!1},Ve=e=>e==="position"||e==="percentage",We=e=>e==="image"||e==="url",Ee=e=>e==="length"||e==="size"||e==="bg-size",Ne=e=>e==="length",Va=e=>e==="number",Xe=e=>e==="family-name",Ke=e=>e==="number"||e==="weight",Ze=e=>e==="shadow";var Wa=()=>{let e=L("color"),o=L("font"),t=L("text"),a=L("font-weight"),d=L("tracking"),i=L("leading"),s=L("breakpoint"),p=L("container"),m=L("spacing"),c=L("radius"),x=L("shadow"),C=L("inset-shadow"),R=L("text-shadow"),A=L("drop-shadow"),W=L("blur"),S=L("perspective"),b=L("aspect"),T=L("ease"),w=L("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],O=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],H=()=>[...O(),u,l],G=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],r=()=>[u,l,m],k=()=>[y,"full","auto",...r()],pe=()=>[B,"none","subgrid",u,l],me=()=>["auto",{span:["full",B,u,l]},B,u,l],Z=()=>[B,"auto",u,l],Le=()=>["auto","min","max","fr",u,l],te=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],z=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...r()],v=()=>[y,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...r()],oe=()=>[y,"screen","full","dvw","lvw","svw","min","max","fit",...r()],le=()=>[y,"screen","full","lh","dvh","lvh","svh","min","max","fit",...r()],f=()=>[e,u,l],Ie=()=>[...O(),Te,Re,{position:[u,l]}],xe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ce=()=>["auto","cover","contain",Ha,Ta,{size:[u,l]}],ue=()=>[re,X,q],g=()=>["","none","full",c,u,l],h=()=>["",n,X,q],J=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],I=()=>[n,re,Te,Re],he=()=>["","none",W,u,l],Q=()=>["none",n,u,l],j=()=>["none",n,u,l],de=()=>[n,u,l],Y=()=>[y,"full",...r()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[F],breakpoint:[F],color:[ze],container:[F],"drop-shadow":[F],ease:["in","out","in-out"],font:[Da],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[F],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[F],shadow:[F],spacing:["px",n],text:[F],"text-shadow":[F],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",y,l,u,b]}],container:["container"],"container-type":[{"@container":["","normal","size",u,l]}],"container-named":[Ra],columns:[{columns:[n,l,u,p]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:H()}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:k()}],"inset-x":[{"inset-x":k()}],"inset-y":[{"inset-y":k()}],start:[{"inset-s":k(),start:k()}],end:[{"inset-e":k(),end:k()}],"inset-bs":[{"inset-bs":k()}],"inset-be":[{"inset-be":k()}],top:[{top:k()}],right:[{right:k()}],bottom:[{bottom:k()}],left:[{left:k()}],visibility:["visible","invisible","collapse"],z:[{z:[B,"auto",u,l]}],basis:[{basis:[y,"full","auto",p,...r()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[n,y,"auto","initial","none",l]}],grow:[{grow:["",n,u,l]}],shrink:[{shrink:["",n,u,l]}],order:[{order:[B,"first","last","none",u,l]}],"grid-cols":[{"grid-cols":pe()}],"col-start-end":[{col:me()}],"col-start":[{"col-start":Z()}],"col-end":[{"col-end":Z()}],"grid-rows":[{"grid-rows":pe()}],"row-start-end":[{row:me()}],"row-start":[{"row-start":Z()}],"row-end":[{"row-end":Z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Le()}],"auto-rows":[{"auto-rows":Le()}],gap:[{gap:r()}],"gap-x":[{"gap-x":r()}],"gap-y":[{"gap-y":r()}],"justify-content":[{justify:[...te(),"normal"]}],"justify-items":[{"justify-items":[...z(),"normal"]}],"justify-self":[{"justify-self":["auto",...z()]}],"align-content":[{content:["normal",...te()]}],"align-items":[{items:[...z(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...z(),{baseline:["","last"]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...z(),"baseline"]}],"place-self":[{"place-self":["auto",...z()]}],p:[{p:r()}],px:[{px:r()}],py:[{py:r()}],ps:[{ps:r()}],pe:[{pe:r()}],pbs:[{pbs:r()}],pbe:[{pbe:r()}],pt:[{pt:r()}],pr:[{pr:r()}],pb:[{pb:r()}],pl:[{pl:r()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":r()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":r()}],"space-y-reverse":["space-y-reverse"],size:[{size:v()}],"inline-size":[{inline:["auto",...oe()]}],"min-inline-size":[{"min-inline":["auto",...oe()]}],"max-inline-size":[{"max-inline":["none",...oe()]}],"block-size":[{block:["auto",...le()]}],"min-block-size":[{"min-block":["auto",...le()]}],"max-block-size":[{"max-block":["none",...le()]}],w:[{w:[p,"screen",...v()]}],"min-w":[{"min-w":[p,"screen","none",...v()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[s]},...v()]}],h:[{h:["screen","lh",...v()]}],"min-h":[{"min-h":["screen","lh","none",...v()]}],"max-h":[{"max-h":["screen","lh",...v()]}],"font-size":[{text:["base",t,X,q]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,za,va]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",re,l]}],"font-family":[{font:[Oa,qa,o]}],"font-features":[{"font-features":[l]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[d,u,l]}],"line-clamp":[{"line-clamp":[n,"none",u,De]}],leading:[{leading:[i,...r()]}],"list-image":[{"list-image":["none",u,l]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",u,l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:f()}],"text-color":[{text:f()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[n,"from-font","auto",u,q]}],"text-decoration-color":[{decoration:f()}],"underline-offset":[{"underline-offset":[n,"auto",u,l]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:r()}],"tab-size":[{tab:[B,u,l]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",u,l]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",u,l]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ie()}],"bg-repeat":[{bg:xe()}],"bg-size":[{bg:Ce()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},B,u,l],radial:["",u,l],conic:[B,u,l]},Ga,Ua]}],"bg-color":[{bg:f()}],"gradient-from-pos":[{from:ue()}],"gradient-via-pos":[{via:ue()}],"gradient-to-pos":[{to:ue()}],"gradient-from":[{from:f()}],"gradient-via":[{via:f()}],"gradient-to":[{to:f()}],rounded:[{rounded:g()}],"rounded-s":[{"rounded-s":g()}],"rounded-e":[{"rounded-e":g()}],"rounded-t":[{"rounded-t":g()}],"rounded-r":[{"rounded-r":g()}],"rounded-b":[{"rounded-b":g()}],"rounded-l":[{"rounded-l":g()}],"rounded-ss":[{"rounded-ss":g()}],"rounded-se":[{"rounded-se":g()}],"rounded-ee":[{"rounded-ee":g()}],"rounded-es":[{"rounded-es":g()}],"rounded-tl":[{"rounded-tl":g()}],"rounded-tr":[{"rounded-tr":g()}],"rounded-br":[{"rounded-br":g()}],"rounded-bl":[{"rounded-bl":g()}],"border-w":[{border:h()}],"border-w-x":[{"border-x":h()}],"border-w-y":[{"border-y":h()}],"border-w-s":[{"border-s":h()}],"border-w-e":[{"border-e":h()}],"border-w-bs":[{"border-bs":h()}],"border-w-be":[{"border-be":h()}],"border-w-t":[{"border-t":h()}],"border-w-r":[{"border-r":h()}],"border-w-b":[{"border-b":h()}],"border-w-l":[{"border-l":h()}],"divide-x":[{"divide-x":h()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":h()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:f()}],"border-color-x":[{"border-x":f()}],"border-color-y":[{"border-y":f()}],"border-color-s":[{"border-s":f()}],"border-color-e":[{"border-e":f()}],"border-color-bs":[{"border-bs":f()}],"border-color-be":[{"border-be":f()}],"border-color-t":[{"border-t":f()}],"border-color-r":[{"border-r":f()}],"border-color-b":[{"border-b":f()}],"border-color-l":[{"border-l":f()}],"divide-color":[{divide:f()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[n,u,l]}],"outline-w":[{outline:["",n,X,q]}],"outline-color":[{outline:f()}],shadow:[{shadow:["","none",x,ee,$]}],"shadow-color":[{shadow:f()}],"inset-shadow":[{"inset-shadow":["none",C,ee,$]}],"inset-shadow-color":[{"inset-shadow":f()}],"ring-w":[{ring:h()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:f()}],"ring-offset-w":[{"ring-offset":[n,q]}],"ring-offset-color":[{"ring-offset":f()}],"inset-ring-w":[{"inset-ring":h()}],"inset-ring-color":[{"inset-ring":f()}],"text-shadow":[{"text-shadow":["none",R,ee,$]}],"text-shadow-color":[{"text-shadow":f()}],opacity:[{opacity:[n,u,l]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[n]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":f()}],"mask-image-linear-to-color":[{"mask-linear-to":f()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":f()}],"mask-image-t-to-color":[{"mask-t-to":f()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":f()}],"mask-image-r-to-color":[{"mask-r-to":f()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":f()}],"mask-image-b-to-color":[{"mask-b-to":f()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":f()}],"mask-image-l-to-color":[{"mask-l-to":f()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":f()}],"mask-image-x-to-color":[{"mask-x-to":f()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":f()}],"mask-image-y-to-color":[{"mask-y-to":f()}],"mask-image-radial":[{"mask-radial":[u,l]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":f()}],"mask-image-radial-to-color":[{"mask-radial-to":f()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":O()}],"mask-image-conic-pos":[{"mask-conic":[n]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":f()}],"mask-image-conic-to-color":[{"mask-conic-to":f()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ie()}],"mask-repeat":[{mask:xe()}],"mask-size":[{mask:Ce()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",u,l]}],filter:[{filter:["","none",u,l]}],blur:[{blur:he()}],brightness:[{brightness:[n,u,l]}],contrast:[{contrast:[n,u,l]}],"drop-shadow":[{"drop-shadow":["","none",A,ee,$]}],"drop-shadow-color":[{"drop-shadow":f()}],grayscale:[{grayscale:["",n,u,l]}],"hue-rotate":[{"hue-rotate":[n,u,l]}],invert:[{invert:["",n,u,l]}],saturate:[{saturate:[n,u,l]}],sepia:[{sepia:["",n,u,l]}],"backdrop-filter":[{"backdrop-filter":["","none",u,l]}],"backdrop-blur":[{"backdrop-blur":he()}],"backdrop-brightness":[{"backdrop-brightness":[n,u,l]}],"backdrop-contrast":[{"backdrop-contrast":[n,u,l]}],"backdrop-grayscale":[{"backdrop-grayscale":["",n,u,l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[n,u,l]}],"backdrop-invert":[{"backdrop-invert":["",n,u,l]}],"backdrop-opacity":[{"backdrop-opacity":[n,u,l]}],"backdrop-saturate":[{"backdrop-saturate":[n,u,l]}],"backdrop-sepia":[{"backdrop-sepia":["",n,u,l]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":r()}],"border-spacing-x":[{"border-spacing-x":r()}],"border-spacing-y":[{"border-spacing-y":r()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",u,l]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[n,"initial",u,l]}],ease:[{ease:["linear","initial",T,u,l]}],delay:[{delay:[n,u,l]}],animate:[{animate:["none",w,u,l]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[S,u,l]}],"perspective-origin":[{"perspective-origin":H()}],rotate:[{rotate:Q()}],"rotate-x":[{"rotate-x":Q()}],"rotate-y":[{"rotate-y":Q()}],"rotate-z":[{"rotate-z":Q()}],scale:[{scale:j()}],"scale-x":[{"scale-x":j()}],"scale-y":[{"scale-y":j()}],"scale-z":[{"scale-z":j()}],"scale-3d":["scale-3d"],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[u,l,"","none","gpu","cpu"]}],"transform-origin":[{origin:H()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],zoom:[{zoom:[B,u,l]}],accent:[{accent:f()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:f()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",u,l]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":f()}],"scrollbar-track-color":[{"scrollbar-track":f()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":r()}],"scroll-mx":[{"scroll-mx":r()}],"scroll-my":[{"scroll-my":r()}],"scroll-ms":[{"scroll-ms":r()}],"scroll-me":[{"scroll-me":r()}],"scroll-mbs":[{"scroll-mbs":r()}],"scroll-mbe":[{"scroll-mbe":r()}],"scroll-mt":[{"scroll-mt":r()}],"scroll-mr":[{"scroll-mr":r()}],"scroll-mb":[{"scroll-mb":r()}],"scroll-ml":[{"scroll-ml":r()}],"scroll-p":[{"scroll-p":r()}],"scroll-px":[{"scroll-px":r()}],"scroll-py":[{"scroll-py":r()}],"scroll-ps":[{"scroll-ps":r()}],"scroll-pe":[{"scroll-pe":r()}],"scroll-pbs":[{"scroll-pbs":r()}],"scroll-pbe":[{"scroll-pbe":r()}],"scroll-pt":[{"scroll-pt":r()}],"scroll-pr":[{"scroll-pr":r()}],"scroll-pb":[{"scroll-pb":r()}],"scroll-pl":[{"scroll-pl":r()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",u,l]}],fill:[{fill:["none",...f()]}],"stroke-w":[{stroke:[n,X,q,De]}],stroke:[{stroke:["none",...f()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Je=ha(Wa);function ce(...e){return Je(Be(e))}import{jsx as ne,jsxs as Ea}from"react/jsx-runtime";function Qe({className:e,size:o="default",...t}){return Ea("div",{className:"group/native-select relative w-fit has-[select:disabled]:opacity-50","data-slot":"native-select-wrapper",children:[ne("select",{"data-slot":"native-select","data-size":o,className:ce("h-9 w-full min-w-0 appearance-none rounded-md border border-input bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed data-[size=sm]:h-8 data-[size=sm]:py-1 dark:bg-input/30 dark:hover:bg-input/50","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...t}),ne(N,{className:"pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 text-muted-foreground opacity-50 select-none","aria-hidden":"true","data-slot":"native-select-icon"})]})}function V({className:e,...o}){return ne("option",{"data-slot":"native-select-option",className:ce("bg-[Canvas] text-[CanvasText]",e),...o})}import{jsx as K,jsxs as Xa}from"react/jsx-runtime";function Na(){return Xa(Qe,{"aria-invalid":"true",children:[K(V,{value:"",children:"Select role"}),K(V,{value:"admin",children:"Admin"}),K(V,{value:"editor",children:"Editor"}),K(V,{value:"viewer",children:"Viewer"}),K(V,{value:"guest",children:"Guest"})]})}export{Na as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/chevron-down.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/lucide-react.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8e534ff69af1e45d61323ad0cb784f1e4775909179469925278172750f3c2935
3
+ size 31312
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/2075bb11bd0b67f95cca88fe62a2d3a7558076d7f74cecee2f6f82a47b531374 CHANGED
@@ -1 +1,3 @@
1
- "use client";import{useEffect as Fe,useMemo as Be,useRef as Wo,useState as ce}from"react";import{motion as I,useInView as Eo}from"motion/react";function ye(e){var r,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var c=e.length;for(r=0;r<c;r++)e[r]&&(t=ye(e[r]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function ke(){for(var e,r,t=0,o="",c=arguments.length;t<c;t++)(e=arguments[t])&&(r=ye(e))&&(o&&(o+=" "),o+=r);return o}var De=(e,r)=>{let t=new Array(e.length+r.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<r.length;o++)t[e.length+o]=r[o];return t},$e=(e,r)=>({classGroupId:e,validator:r}),Ae=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),le="-",xe=[],Ue="arbitrary..",He=e=>{let r=qe(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Ye(a);let u=a.split(le),f=u[0]===""&&u.length>1?1:0;return Se(u,f,r)},getConflictingClassGroupIds:(a,u)=>{if(u){let f=o[a],m=t[a];return f?m?De(m,f):f:m||xe}return t[a]||xe}}},Se=(e,r,t)=>{if(e.length-r===0)return t.classGroupId;let c=e[r],d=t.nextPart.get(c);if(d){let m=Se(e,r+1,d);if(m)return m}let a=t.validators;if(a===null)return;let u=r===0?e.join(le):e.slice(r).join(le),f=a.length;for(let m=0;m<f;m++){let y=a[m];if(y.validator(u))return y.classGroupId}},Ye=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let r=e.slice(1,-1),t=r.indexOf(":"),o=r.slice(0,t);return o?Ue+o:void 0})(),qe=e=>{let{theme:r,classGroups:t}=e;return Xe(t,r)},Xe=(e,r)=>{let t=Ae();for(let o in e){let c=e[o];ue(c,t,o,r)}return t},ue=(e,r,t,o)=>{let c=e.length;for(let d=0;d<c;d++){let a=e[d];Je(a,r,t,o)}},Je=(e,r,t,o)=>{if(typeof e=="string"){Ke(e,r,t);return}if(typeof e=="function"){Qe(e,r,t,o);return}Ze(e,r,t,o)},Ke=(e,r,t)=>{let o=e===""?r:Ge(r,e);o.classGroupId=t},Qe=(e,r,t,o)=>{if(eo(e)){ue(e(o),r,t,o);return}r.validators===null&&(r.validators=[]),r.validators.push($e(t,e))},Ze=(e,r,t,o)=>{let c=Object.entries(e),d=c.length;for(let a=0;a<d;a++){let[u,f]=c[a];ue(f,Ge(r,u),t,o)}},Ge=(e,r)=>{let t=e,o=r.split(le),c=o.length;for(let d=0;d<c;d++){let a=o[d],u=t.nextPart.get(a);u||(u=Ae(),t.nextPart.set(a,u)),t=u}return t},eo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,oo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),c=(d,a)=>{t[d]=a,r++,r>e&&(r=0,o=t,t=Object.create(null))};return{get(d){let a=t[d];if(a!==void 0)return a;if((a=o[d])!==void 0)return c(d,a),a},set(d,a){d in t?t[d]=a:c(d,a)}}},pe="!",we=":",to=[],ve=(e,r,t,o,c)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:c}),ro=e=>{let{prefix:r,experimentalParseClassName:t}=e,o=c=>{let d=[],a=0,u=0,f=0,m,y=c.length;for(let w=0;w<y;w++){let v=c[w];if(a===0&&u===0){if(v===we){d.push(c.slice(f,w)),f=w+1;continue}if(v==="/"){m=w;continue}}v==="["?a++:v==="]"?a--:v==="("?u++:v===")"&&u--}let k=d.length===0?c:c.slice(f),E=k,G=!1;k.endsWith(pe)?(E=k.slice(0,-1),G=!0):k.startsWith(pe)&&(E=k.slice(1),G=!0);let D=m&&m>f?m-f:void 0;return ve(d,G,E,D)};if(r){let c=r+we,d=o;o=a=>a.startsWith(c)?d(a.slice(c.length)):ve(to,!1,a,void 0,!0)}if(t){let c=o;o=d=>t({className:d,parseClassName:c})}return o},so=e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{r.set(t,1e6+o)}),t=>{let o=[],c=[];for(let d=0;d<t.length;d++){let a=t[d],u=a[0]==="[",f=r.has(a);u||f?(c.length>0&&(c.sort(),o.push(...c),c=[]),o.push(a)):c.push(a)}return c.length>0&&(c.sort(),o.push(...c)),o}},no=e=>({cache:oo(e.cacheSize),parseClassName:ro(e),sortModifiers:so(e),postfixLookupClassGroupIds:io(e),...He(e)}),io=e=>{let r=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)r[t[o]]=!0;return r},ao=/\s+/,lo=(e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:c,sortModifiers:d,postfixLookupClassGroupIds:a}=r,u=[],f=e.trim().split(ao),m="";for(let y=f.length-1;y>=0;y-=1){let k=f[y],{isExternal:E,modifiers:G,hasImportantModifier:D,baseClassName:w,maybePostfixModifierPosition:v}=t(k);if(E){m=k+(m.length>0?" "+m:m);continue}let P=!!v,b;if(P){let A=w.substring(0,v);b=o(A);let i=b&&a[b]?o(w):void 0;i&&i!==b&&(b=i,P=!1)}else b=o(w);if(!b){if(!P){m=k+(m.length>0?" "+m:m);continue}if(b=o(w),!b){m=k+(m.length>0?" "+m:m);continue}P=!1}let V=G.length===0?"":G.length===1?G[0]:d(G).join(":"),x=D?V+pe:V,L=x+b;if(u.indexOf(L)>-1)continue;u.push(L);let T=c(b,P);for(let A=0;A<T.length;++A){let i=T[A];u.push(x+i)}m=k+(m.length>0?" "+m:m)}return m},co=(...e)=>{let r=0,t,o,c="";for(;r<e.length;)(t=e[r++])&&(o=Te(t))&&(c&&(c+=" "),c+=o);return c},Te=e=>{if(typeof e=="string")return e;let r,t="";for(let o=0;o<e.length;o++)e[o]&&(r=Te(e[o]))&&(t&&(t+=" "),t+=r);return t},mo=(e,...r)=>{let t,o,c,d,a=f=>{let m=r.reduce((y,k)=>k(y),e());return t=no(m),o=t.cache.get,c=t.cache.set,d=u,u(f)},u=f=>{let m=o(f);if(m)return m;let y=lo(f,t);return c(f,y),y};return d=a,(...f)=>d(co(...f))},po=[],g=e=>{let r=t=>t[e]||po;return r.isThemeGetter=!0,r},Ie=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,uo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,fo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,go=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ho=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,yo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,F=e=>uo.test(e),p=e=>!!e&&!Number.isNaN(Number(e)),W=e=>!!e&&Number.isInteger(Number(e)),me=e=>e.endsWith("%")&&p(e.slice(0,-1)),O=e=>fo.test(e),Re=()=>!0,ko=e=>bo.test(e)&&!go.test(e),fe=()=>!1,xo=e=>ho.test(e),wo=e=>yo.test(e),vo=e=>!s(e)&&!n(e),Co=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),zo=e=>B(e,Ee,fe),s=e=>Ie.test(e),$=e=>B(e,Ne,ko),Ce=e=>B(e,Ro,p),Mo=e=>B(e,Ve,Re),Ao=e=>B(e,Oe,fe),ze=e=>B(e,Le,fe),So=e=>B(e,We,wo),ie=e=>B(e,je,xo),n=e=>Pe.test(e),Z=e=>U(e,Ne),Go=e=>U(e,Oe),Me=e=>U(e,Le),To=e=>U(e,Ee),Io=e=>U(e,We),ae=e=>U(e,je,!0),Po=e=>U(e,Ve,!0),B=(e,r,t)=>{let o=Ie.exec(e);return o?o[1]?r(o[1]):t(o[2]):!1},U=(e,r,t=!1)=>{let o=Pe.exec(e);return o?o[1]?r(o[1]):t:!1},Le=e=>e==="position"||e==="percentage",We=e=>e==="image"||e==="url",Ee=e=>e==="length"||e==="size"||e==="bg-size",Ne=e=>e==="length",Ro=e=>e==="number",Oe=e=>e==="family-name",Ve=e=>e==="number"||e==="weight",je=e=>e==="shadow";var Lo=()=>{let e=g("color"),r=g("font"),t=g("text"),o=g("font-weight"),c=g("tracking"),d=g("leading"),a=g("breakpoint"),u=g("container"),f=g("spacing"),m=g("radius"),y=g("shadow"),k=g("inset-shadow"),E=g("text-shadow"),G=g("drop-shadow"),D=g("blur"),w=g("perspective"),v=g("aspect"),P=g("ease"),b=g("animate"),V=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...x(),n,s],T=()=>["auto","hidden","clip","visible","scroll"],A=()=>["auto","contain","none"],i=()=>[n,s,f],C=()=>[F,"full","auto",...i()],R=()=>[W,"none","subgrid",n,s],H=()=>["auto",{span:["full",W,n,s]},W,n,s],j=()=>[W,"auto",n,s],J=()=>["auto","min","max","fr",n,s],Y=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],_=()=>["start","end","center","stretch","center-safe","end-safe"],S=()=>["auto",...i()],N=()=>[F,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],K=()=>[F,"screen","full","dvw","lvw","svw","min","max","fit",...i()],Q=()=>[F,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],l=()=>[e,n,s],ee=()=>[...x(),Me,ze,{position:[n,s]}],oe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q=()=>["auto","cover","contain",To,zo,{size:[n,s]}],X=()=>[me,Z,$],z=()=>["","none","full",m,n,s],M=()=>["",p,Z,$],te=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],h=()=>[p,me,Me,ze],he=()=>["","none",D,n,s],re=()=>["none",p,n,s],se=()=>["none",p,n,s],de=()=>[p,n,s],ne=()=>[F,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[O],breakpoint:[O],color:[Re],container:[O],"drop-shadow":[O],ease:["in","out","in-out"],font:[vo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[O],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[O],shadow:[O],spacing:["px",p],text:[O],"text-shadow":[O],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",F,s,n,v]}],container:["container"],"container-type":[{"@container":["","normal","size",n,s]}],"container-named":[Co],columns:[{columns:[p,s,n,u]}],"break-after":[{"break-after":V()}],"break-before":[{"break-before":V()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[W,"auto",n,s]}],basis:[{basis:[F,"full","auto",u,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[p,F,"auto","initial","none",s]}],grow:[{grow:["",p,n,s]}],shrink:[{shrink:["",p,n,s]}],order:[{order:[W,"first","last","none",n,s]}],"grid-cols":[{"grid-cols":R()}],"col-start-end":[{col:H()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":R()}],"row-start-end":[{row:H()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":J()}],"auto-rows":[{"auto-rows":J()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...Y(),"normal"]}],"justify-items":[{"justify-items":[..._(),"normal"]}],"justify-self":[{"justify-self":["auto",..._()]}],"align-content":[{content:["normal",...Y()]}],"align-items":[{items:[..._(),{baseline:["","last"]}]}],"align-self":[{self:["auto",..._(),{baseline:["","last"]}]}],"place-content":[{"place-content":Y()}],"place-items":[{"place-items":[..._(),"baseline"]}],"place-self":[{"place-self":["auto",..._()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:S()}],mx:[{mx:S()}],my:[{my:S()}],ms:[{ms:S()}],me:[{me:S()}],mbs:[{mbs:S()}],mbe:[{mbe:S()}],mt:[{mt:S()}],mr:[{mr:S()}],mb:[{mb:S()}],ml:[{ml:S()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:N()}],"inline-size":[{inline:["auto",...K()]}],"min-inline-size":[{"min-inline":["auto",...K()]}],"max-inline-size":[{"max-inline":["none",...K()]}],"block-size":[{block:["auto",...Q()]}],"min-block-size":[{"min-block":["auto",...Q()]}],"max-block-size":[{"max-block":["none",...Q()]}],w:[{w:[u,"screen",...N()]}],"min-w":[{"min-w":[u,"screen","none",...N()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[a]},...N()]}],h:[{h:["screen","lh",...N()]}],"min-h":[{"min-h":["screen","lh","none",...N()]}],"max-h":[{"max-h":["screen","lh",...N()]}],"font-size":[{text:["base",t,Z,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Po,Mo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",me,s]}],"font-family":[{font:[Go,Ao,r]}],"font-features":[{"font-features":[s]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,n,s]}],"line-clamp":[{"line-clamp":[p,"none",n,Ce]}],leading:[{leading:[d,...i()]}],"list-image":[{"list-image":["none",n,s]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",n,s]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:l()}],"text-color":[{text:l()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...te(),"wavy"]}],"text-decoration-thickness":[{decoration:[p,"from-font","auto",n,$]}],"text-decoration-color":[{decoration:l()}],"underline-offset":[{"underline-offset":[p,"auto",n,s]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[W,n,s]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",n,s]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",n,s]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ee()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:q()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},W,n,s],radial:["",n,s],conic:[W,n,s]},Io,So]}],"bg-color":[{bg:l()}],"gradient-from-pos":[{from:X()}],"gradient-via-pos":[{via:X()}],"gradient-to-pos":[{to:X()}],"gradient-from":[{from:l()}],"gradient-via":[{via:l()}],"gradient-to":[{to:l()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-bs":[{"border-bs":M()}],"border-w-be":[{"border-be":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":M()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...te(),"hidden","none"]}],"divide-style":[{divide:[...te(),"hidden","none"]}],"border-color":[{border:l()}],"border-color-x":[{"border-x":l()}],"border-color-y":[{"border-y":l()}],"border-color-s":[{"border-s":l()}],"border-color-e":[{"border-e":l()}],"border-color-bs":[{"border-bs":l()}],"border-color-be":[{"border-be":l()}],"border-color-t":[{"border-t":l()}],"border-color-r":[{"border-r":l()}],"border-color-b":[{"border-b":l()}],"border-color-l":[{"border-l":l()}],"divide-color":[{divide:l()}],"outline-style":[{outline:[...te(),"none","hidden"]}],"outline-offset":[{"outline-offset":[p,n,s]}],"outline-w":[{outline:["",p,Z,$]}],"outline-color":[{outline:l()}],shadow:[{shadow:["","none",y,ae,ie]}],"shadow-color":[{shadow:l()}],"inset-shadow":[{"inset-shadow":["none",k,ae,ie]}],"inset-shadow-color":[{"inset-shadow":l()}],"ring-w":[{ring:M()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:l()}],"ring-offset-w":[{"ring-offset":[p,$]}],"ring-offset-color":[{"ring-offset":l()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":l()}],"text-shadow":[{"text-shadow":["none",E,ae,ie]}],"text-shadow-color":[{"text-shadow":l()}],opacity:[{opacity:[p,n,s]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[p]}],"mask-image-linear-from-pos":[{"mask-linear-from":h()}],"mask-image-linear-to-pos":[{"mask-linear-to":h()}],"mask-image-linear-from-color":[{"mask-linear-from":l()}],"mask-image-linear-to-color":[{"mask-linear-to":l()}],"mask-image-t-from-pos":[{"mask-t-from":h()}],"mask-image-t-to-pos":[{"mask-t-to":h()}],"mask-image-t-from-color":[{"mask-t-from":l()}],"mask-image-t-to-color":[{"mask-t-to":l()}],"mask-image-r-from-pos":[{"mask-r-from":h()}],"mask-image-r-to-pos":[{"mask-r-to":h()}],"mask-image-r-from-color":[{"mask-r-from":l()}],"mask-image-r-to-color":[{"mask-r-to":l()}],"mask-image-b-from-pos":[{"mask-b-from":h()}],"mask-image-b-to-pos":[{"mask-b-to":h()}],"mask-image-b-from-color":[{"mask-b-from":l()}],"mask-image-b-to-color":[{"mask-b-to":l()}],"mask-image-l-from-pos":[{"mask-l-from":h()}],"mask-image-l-to-pos":[{"mask-l-to":h()}],"mask-image-l-from-color":[{"mask-l-from":l()}],"mask-image-l-to-color":[{"mask-l-to":l()}],"mask-image-x-from-pos":[{"mask-x-from":h()}],"mask-image-x-to-pos":[{"mask-x-to":h()}],"mask-image-x-from-color":[{"mask-x-from":l()}],"mask-image-x-to-color":[{"mask-x-to":l()}],"mask-image-y-from-pos":[{"mask-y-from":h()}],"mask-image-y-to-pos":[{"mask-y-to":h()}],"mask-image-y-from-color":[{"mask-y-from":l()}],"mask-image-y-to-color":[{"mask-y-to":l()}],"mask-image-radial":[{"mask-radial":[n,s]}],"mask-image-radial-from-pos":[{"mask-radial-from":h()}],"mask-image-radial-to-pos":[{"mask-radial-to":h()}],"mask-image-radial-from-color":[{"mask-radial-from":l()}],"mask-image-radial-to-color":[{"mask-radial-to":l()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[p]}],"mask-image-conic-from-pos":[{"mask-conic-from":h()}],"mask-image-conic-to-pos":[{"mask-conic-to":h()}],"mask-image-conic-from-color":[{"mask-conic-from":l()}],"mask-image-conic-to-color":[{"mask-conic-to":l()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ee()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:q()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",n,s]}],filter:[{filter:["","none",n,s]}],blur:[{blur:he()}],brightness:[{brightness:[p,n,s]}],contrast:[{contrast:[p,n,s]}],"drop-shadow":[{"drop-shadow":["","none",G,ae,ie]}],"drop-shadow-color":[{"drop-shadow":l()}],grayscale:[{grayscale:["",p,n,s]}],"hue-rotate":[{"hue-rotate":[p,n,s]}],invert:[{invert:["",p,n,s]}],saturate:[{saturate:[p,n,s]}],sepia:[{sepia:["",p,n,s]}],"backdrop-filter":[{"backdrop-filter":["","none",n,s]}],"backdrop-blur":[{"backdrop-blur":he()}],"backdrop-brightness":[{"backdrop-brightness":[p,n,s]}],"backdrop-contrast":[{"backdrop-contrast":[p,n,s]}],"backdrop-grayscale":[{"backdrop-grayscale":["",p,n,s]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p,n,s]}],"backdrop-invert":[{"backdrop-invert":["",p,n,s]}],"backdrop-opacity":[{"backdrop-opacity":[p,n,s]}],"backdrop-saturate":[{"backdrop-saturate":[p,n,s]}],"backdrop-sepia":[{"backdrop-sepia":["",p,n,s]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",n,s]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[p,"initial",n,s]}],ease:[{ease:["linear","initial",P,n,s]}],delay:[{delay:[p,n,s]}],animate:[{animate:["none",b,n,s]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,n,s]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":["scale-3d"],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[n,s,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ne()}],"translate-x":[{"translate-x":ne()}],"translate-y":[{"translate-y":ne()}],"translate-z":[{"translate-z":ne()}],"translate-none":["translate-none"],zoom:[{zoom:[W,n,s]}],accent:[{accent:l()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:l()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",n,s]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":l()}],"scrollbar-track-color":[{"scrollbar-track":l()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",n,s]}],fill:[{fill:["none",...l()]}],"stroke-w":[{stroke:[p,Z,$,Ce]}],stroke:[{stroke:["none",...l()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var _e=mo(Lo);function be(...e){return _e(ke(e))}import{jsx as Oo,jsxs as Vo}from"react/jsx-runtime";var No={article:I.article,div:I.div,h1:I.h1,h2:I.h2,h3:I.h3,h4:I.h4,h5:I.h5,h6:I.h6,li:I.li,p:I.p,section:I.section,span:I.span};function Yo({children:e,words:r,className:t,duration:o=100,typeSpeed:c,deleteSpeed:d,delay:a=0,pauseDelay:u=1e3,loop:f=!1,as:m="span",startOnView:y=!0,showCursor:k=!0,blinkCursor:E=!0,cursorStyle:G="line",...D}){let w=No[m],[v,P]=ce(""),[b,V]=ce(0),[x,L]=ce(0),[T,A]=ce("typing"),i=Wo(null),C=Eo(i,{amount:.3,once:!0}),R=Be(()=>r??(e?[e]:[]),[r,e]),H=R.length>1,j=c??o,J=d??j/2,Y=y?C:!0,_=Be(()=>r?r.join("\0"):e??"",[r,e]);Fe(()=>{P(""),V(0),L(0),A("typing")},[_]),Fe(()=>{let l=null;if(Y&&R.length>0){let ee=a>0&&v===""?a:T==="typing"?j:T==="deleting"?J:u;l=setTimeout(()=>{let oe=R[b]||"",q=Array.from(oe);switch(T){case"typing":x<q.length?(P(q.slice(0,x+1).join("")),L(x+1)):(H||f)&&(!(b===R.length-1)||f)&&A("pause");break;case"pause":A("deleting");break;case"deleting":if(x>0)P(q.slice(0,x-1).join("")),L(x-1);else{let X=(b+1)%R.length;V(X),A("typing")}break}},ee)}return()=>{l!==null&&clearTimeout(l)}},[Y,T,x,b,v,R,H,f,j,J,u,a]);let S=Array.from(R[b]||""),N=!f&&b===R.length-1&&x>=S.length&&T!=="deleting",K=k&&!N&&(H||f||x<S.length),Q=()=>{switch(G){case"block":return"\u258C";case"underscore":return"_";case"line":default:return"|"}};return Vo(w,{ref:i,className:be("leading-20 tracking-[-0.02em]",m==="span"&&"inline-block",t),...D,children:[v,K&&Oo("span",{className:be("inline-block",E&&"animate-blink-cursor"),children:Q()})]})}export{Yo as TypingAnimation};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38e465f36ad0720b7d6392f04417d46fe6aa8a8dc9cf718a0e3a27069b4e2732
3
+ size 29103
b/2083a6fb012857dcc21e7f62d3e79cb272aca709541b01bc1462d6268a58b207 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.sonner",
3
- "name": "sonner",
4
- "tier": "component",
5
- "library": "shadcn",
6
- "category": "Feedback",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/sonner.json",
8
- "did": "did:holo:sha256:13ccc9b0fe4248e622f83a1d3b2f0566b72b5e04162d7d0c8db8945ecc71b55f",
9
- "import": "holo://sha256:697337d93a6eed458137311c697eb8fefbcc5ffee33ec4be1cccba491bac7a62",
10
- "integrity": "sha256-aXM32Tpu7UWBNzEcaX64/vvMX/7jPsS+HMy6SRusemI=",
11
- "kappa": "sha256:13ccc9b0fe4248e622f83a1d3b2f0566b72b5e04162d7d0c8db8945ecc71b55f",
12
- "moduleKappa": "sha256:697337d93a6eed458137311c697eb8fefbcc5ffee33ec4be1cccba491bac7a62",
13
- "renderExport": "Toaster",
14
- "source": "components/ui/sonner.tsx",
15
- "module": "vendor/components/sonner.js",
16
- "exports": [
17
- "Toaster"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b65d4b1a3e75cca4c510e33c83670d3085c7c7aae7950e47783ae956cb43f1c6
3
+ size 802
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/20858f7b5361ed90eeeffbd854595eee3436c019d88bb27775e5da7defc12672 CHANGED
@@ -1,54 +1,3 @@
1
- // holo-load-delta.mjs — A2 LOAD wiring. Loads a family finetune stored as `base-κ + delta` (format
2
- // "holo-delta/1", produced by _delta-build.mjs) and returns the SAME { manifest, fetchTensor, info } shape
3
- // as holo-load2bit.loadKappaObject — so the GPU engine, KV-cache, and Q's brain loader are UNCHANGED.
4
- // loadKappaObject delegates here automatically when it sees the holo-delta/1 format (one seam, hidden).
5
- //
6
- // Per tensor: ref → the base block (frozen, κ identical, dedup'd in the OPFS store); whole → the stored
7
- // finetune block; bytedelta → base block + lossless byte-delta. Reconstruction is byte-identical to the
8
- // finetune's own block ⇒ perplexity = standalone (no quality gate). The win is download/storage.
9
- //
10
- // Law L5: base AND delta blocks are each κ-verified (sha256(gz)==κ) before use; both κ are named in the
11
- // L5-verified delta manifest, so the trust chain holds without re-hashing the reconstruction.
12
- import { parseDelta, applyByteDelta } from "./holo-delta.mjs";
13
- import { reshapeTensor, buildEngineManifest } from "./holo-load2bit.mjs";
14
-
15
- async function gunzip(u8) { const ds = new DecompressionStream("gzip"); const w = ds.writable.getWriter(); w.write(u8); w.close(); return new Uint8Array(await new Response(ds.readable).arrayBuffer()); }
16
- const hex = (buf) => [...new Uint8Array(buf)].map((b) => b.toString(16).padStart(2, "0")).join("");
17
- const kFile = (k) => String(k).replace(":", "_"); // κ "sha256:<hex>" → block file "sha256_<hex>"
18
-
19
- export async function loadDeltaObject(deltaUrl, opts = {}) {
20
- const droot = String(deltaUrl).replace(/\/+$/, "");
21
- const man = opts.manifest || await (await fetch(droot + "/manifest.json", { cache: "no-store" })).json();
22
- const baseRoot = String(opts.baseUrl || man.base?.url || man.base?.dir || "").replace(/\/+$/, "");
23
- if (!baseRoot) throw new Error("delta-load: no base location (opts.baseUrl or manifest.base.url)");
24
-
25
- // κ-verified block fetch against a chosen root (base for frozen/base blocks, delta for delta blocks).
26
- const getBlock = async (root, kappa) => {
27
- const gz = new Uint8Array(await (await fetch(root + "/b/" + kFile(kappa) + ".gz", { cache: "no-store" })).arrayBuffer());
28
- const got = "sha256:" + hex(await crypto.subtle.digest("SHA-256", gz));
29
- if (got !== kappa) throw new Error("delta-load κ MISMATCH " + String(kappa).slice(0, 24));
30
- return gunzip(gz);
31
- };
32
-
33
- const normRecs = {}; // {name → {N,K,fmt,fp16?,s?}} for the shared manifest builder
34
- for (const [name, dr] of Object.entries(man.tensors)) normRecs[name] = dr.meta || {};
35
-
36
- const fetchTensor = async (name) => {
37
- const dr = man.tensors[name]; if (!dr) return new Uint8Array(0);
38
- let raw;
39
- if (dr.kind === "ref") raw = await getBlock(baseRoot, dr.kappa); // frozen
40
- else if (dr.kind === "whole") raw = parseDelta(await getBlock(droot, dr.delta)).bytes; // stored whole
41
- else if (dr.kind === "bytedelta") raw = applyByteDelta(await getBlock(baseRoot, dr.base), parseDelta(await getBlock(droot, dr.delta)));
42
- else throw new Error("delta-load: unknown record kind " + dr.kind + " for " + name);
43
- return reshapeTensor(dr.meta || {}, raw);
44
- };
45
-
46
- let e8lutData; // E₈ LUT (if any) is a frozen base block
47
- if (man.e8lut) { const b = await getBlock(baseRoot, man.e8lut.replace(/^did:holo:/, "")); e8lutData = new Float32Array(b.buffer, b.byteOffset, 2048); }
48
- const manifest = buildEngineManifest(man, normRecs, e8lutData);
49
- // tokenizer is the base's (finetune shares vocab); resolve a relative source against the BASE dir.
50
- if (man.source && !/^https?:\/\//.test(man.source)) man.source = baseRoot + "/" + man.source;
51
- return { manifest, fetchTensor, info: man };
52
- }
53
-
54
- export default loadDeltaObject;
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e61e122e645c3e1998801ff8cd3008bdcb9253dc6a81f0f5085f403b3f40bf3b
3
+ size 3805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/209109999ddeb25219c43e168b0ab79e82f7e11f99f0e98cf401e5ce7014a431 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.form-rhf-radiogroup",
3
- "name": "form-rhf-radiogroup",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/form-rhf-radiogroup.json",
8
- "did": "did:holo:sha256:d1b8a8057a0903ccf1db91648052b40e377d490953c6046024f9f6a0745636ba",
9
- "import": "holo://sha256:b246fda852c6360f8a37ad724d76c3edd42be31f11157ac61c2f50e75d6b6780",
10
- "integrity": "sha256-skb9qFLGNg+KN61yTXbD7dQr4x8RFXrGHC9Q511rZ4A=",
11
- "kappa": "sha256:d1b8a8057a0903ccf1db91648052b40e377d490953c6046024f9f6a0745636ba",
12
- "moduleKappa": "sha256:b246fda852c6360f8a37ad724d76c3edd42be31f11157ac61c2f50e75d6b6780",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/form-rhf-radiogroup.tsx",
15
- "module": "vendor/components/form-rhf-radiogroup.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:79410a7316a1a85ee80e6947e6ec9f76076a4ff2fa7965bed4ee7a034f20b1e7
3
+ size 889
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/2095f78819ebb914f00fdfaed8bdb290c151e7303fab7787095e21625e864435 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.spinner-empty",
3
- "name": "spinner-empty",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/spinner-empty.json",
8
- "did": "did:holo:sha256:526e38c28422fc9ae218bdc430133b6e0e42c2925c27952403fac3ee02053dc5",
9
- "import": "holo://sha256:2639ff1c5f18495da1344d091f85c634e6763543ddfc287f65dd4eee95246204",
10
- "integrity": "sha256-Jjn/HF8YSV2hNE0JH4XGNOZ2NUPd/Ch/Zd1O7pUkYgQ=",
11
- "kappa": "sha256:526e38c28422fc9ae218bdc430133b6e0e42c2925c27952403fac3ee02053dc5",
12
- "moduleKappa": "sha256:2639ff1c5f18495da1344d091f85c634e6763543ddfc287f65dd4eee95246204",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/spinner-empty.tsx",
15
- "module": "vendor/components/spinner-empty.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:794962945ab303a956e283e9ece1cf91ff1202fd70b161f47704887aeeb20620
3
+ size 859
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/20a0383acfaa1a2b232c1a8cd7059947e1cc6346bff6e3627afc4568899256c1 CHANGED
@@ -1,96 +1,3 @@
1
- import React, { type ComponentPropsWithoutRef, type CSSProperties } from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- export interface ShimmerButtonProps extends ComponentPropsWithoutRef<"button"> {
6
- shimmerColor?: string
7
- shimmerSize?: string
8
- borderRadius?: string
9
- shimmerDuration?: string
10
- background?: string
11
- className?: string
12
- children?: React.ReactNode
13
- }
14
-
15
- export const ShimmerButton = React.forwardRef<
16
- HTMLButtonElement,
17
- ShimmerButtonProps
18
- >(
19
- (
20
- {
21
- shimmerColor = "#ffffff",
22
- shimmerSize = "0.05em",
23
- shimmerDuration = "3s",
24
- borderRadius = "100px",
25
- background = "rgba(0, 0, 0, 1)",
26
- className,
27
- children,
28
- ...props
29
- },
30
- ref
31
- ) => {
32
- return (
33
- <button
34
- style={
35
- {
36
- "--spread": "90deg",
37
- "--shimmer-color": shimmerColor,
38
- "--radius": borderRadius,
39
- "--speed": shimmerDuration,
40
- "--cut": shimmerSize,
41
- "--bg": background,
42
- } as CSSProperties
43
- }
44
- className={cn(
45
- "group relative z-0 flex cursor-pointer items-center justify-center overflow-hidden [border-radius:var(--radius)] border border-white/10 px-6 py-3 whitespace-nowrap text-white [background:var(--bg)]",
46
- "transform-gpu transition-transform duration-300 ease-in-out active:translate-y-px",
47
- className
48
- )}
49
- ref={ref}
50
- {...props}
51
- >
52
- {/* spark container */}
53
- <div
54
- className={cn(
55
- "-z-30 blur-[2px]",
56
- "@container-[size] absolute inset-0 overflow-visible"
57
- )}
58
- >
59
- {/* spark */}
60
- <div className="animate-shimmer-slide absolute inset-0 aspect-[1] h-[100cqh] rounded-none [mask:none]">
61
- {/* spark before */}
62
- <div className="animate-spin-around absolute -inset-full w-auto [translate:0_0] rotate-0 [background:conic-gradient(from_calc(270deg-(var(--spread)*0.5)),transparent_0,var(--shimmer-color)_var(--spread),transparent_var(--spread))]" />
63
- </div>
64
- </div>
65
- {children}
66
-
67
- {/* Highlight */}
68
- <div
69
- className={cn(
70
- "absolute inset-0 size-full",
71
-
72
- "rounded-2xl px-4 py-1.5 text-sm font-medium shadow-[inset_0_-8px_10px_#ffffff1f]",
73
-
74
- // transition
75
- "transform-gpu transition-all duration-300 ease-in-out",
76
-
77
- // on hover
78
- "group-hover:shadow-[inset_0_-6px_10px_#ffffff3f]",
79
-
80
- // on click
81
- "group-active:shadow-[inset_0_-10px_10px_#ffffff3f]"
82
- )}
83
- />
84
-
85
- {/* backdrop */}
86
- <div
87
- className={cn(
88
- "absolute inset-(--cut) -z-20 [border-radius:var(--radius)] [background:var(--bg)]"
89
- )}
90
- />
91
- </button>
92
- )
93
- }
94
- )
95
-
96
- ShimmerButton.displayName = "ShimmerButton"
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c85ffda63ba086d2078a8dacffdfc25f0b106e1566362fa251888a214ee3c010
3
+ size 2846