@almadar/patterns 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/patterns-registry.json","../src/integrators-registry.json","../src/component-mapping.json","../src/event-contracts.json","../src/pattern-types.ts","../src/helpers/prompt-helpers.ts","../src/helpers/pattern-recommender.ts","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,yBAAA,GAAA;AAAA,EACE,OAAA,EAAW,OAAA;AAAA,EACX,UAAA,EAAc,0BAAA;AAAA,EACd,QAAA,EAAY;AAAA,IACV,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,qCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,aAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,uBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,UAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,kCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,gBAAA;AAAA,QACA,aAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,wDAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,uCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,YAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP,OAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,OAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,uBAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,6DAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,YAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP,OAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,OAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP,uBAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,0BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,sBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,0BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,4BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,2BAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,uBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,yBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,gCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iEAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,2BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,6BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,0BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,6BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP,MAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,mBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,uBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,gBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,4BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,4BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA,QAAA;AAAA,YACA,OAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,+CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,sBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,mBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,eAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,qBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,qBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,6CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,mBAAA;AAAA,QACA,mBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,GAAA,EAAO;AAAA,MACL,IAAA,EAAQ,KAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,iEAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA,UAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,0CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,YAAA;AAAA,QACA,sBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP,UAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,6CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA,gBAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,oDAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,wBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,2CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,gBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,+CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,wCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,gBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,8CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,gBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8CAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,4DAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,eAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,6BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,2BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,4DAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,sDAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,aAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,oCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,iCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,mBAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,+BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,eAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,2BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,mBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,gDAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,eAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,wBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,mBAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,2BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,gBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,kBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,QAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,uBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,uBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,QAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,gBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,oBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,qBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,kBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,aAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,mBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,eAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,YAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kFAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,yBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kFAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,eAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,SAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,gCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,qBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,SAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,8BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,0CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA;AACd;AACF,KACF;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,IAAA,EAAQ,yBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,8CAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,yBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,+BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,yLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,aAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8EAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,IAAA,EAAQ,uBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,wKAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,KAAA;AAAA,QACA,WAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,4CAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,kEAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,4LAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,gOAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,4IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,sGAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,yBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,qBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,wBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,qBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,qFAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,+BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gEAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAA,EAAK;AAAA,UACH,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAA,EAAK;AAAA,UACH,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,uMAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,mJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP,SAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP,SAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,IAAA,EAAQ,wBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,uIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,+JAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA;AACd;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,qIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,mJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP,MAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP,MAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,8NAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,oFAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,4IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,6SAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,yBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,gBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,qBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,mQAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,wUAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,kLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,2DAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,oRAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,8LAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,IAAA,EAAQ,uBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wcAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,2JAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,2LAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,iIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,qCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,yOAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,oSAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,4VAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP,SAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,0LAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,+BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,+LAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,sBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,mIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,2BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,6NAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,IAAA,EAAQ,sBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,6MAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,KAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,0VAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,eAAA;AAAA,MACZ,WAAA,EAAe,2EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,WAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,QAAA,EAAY,eAAA;AAAA,MACZ,WAAA,EAAe,6EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,mBAAA;AAAA,QACA,uBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,QAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,8EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,eAAA;AAAA,QACA,kBAAA;AAAA,QACA,eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,wEAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,iBAAA;AAAA,QACA,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,0EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,oBAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,6EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,qBAAA;AAAA,QACA,aAAA;AAAA,QACA,iBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,eAAA;AAAA,MACZ,WAAA,EAAe,8FAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,kBAAA;AAAA,QACA,uBAAA;AAAA,QACA,sBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,8EAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,cAAA;AAAA,QACA,mBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,uNAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAA,EAAK;AAAA,UACH,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gDAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAA,EAAK;AAAA,UACH,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gDAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,4iBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,6XAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,2PAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,IAAA,EAAQ,oBAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,4SAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,KAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,4YAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,oeAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,oBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,kCAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,iZAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,KAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,uBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,oBAAA,EAAwB;AAAA,UACtB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,yTAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,aAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,sHAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,kHAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,oBAAA,EAAwB;AAAA,UACtB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,sHAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,0BAAA,EAA4B;AAAA,MAC1B,IAAA,EAAQ,0BAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,2HAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,IAAA,EAAQ,yBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,oJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,8KAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,GAAA,EAAO;AAAA,UACL,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,2BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wUAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP,QAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,4IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,6BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,4IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,6BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,0IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,4HAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,sBAAA,EAA0B;AAAA,UACxB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gCAAA,EAAkC;AAAA,MAChC,IAAA,EAAQ,gCAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,gbAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gCAAA,EAAkC;AAAA,MAChC,IAAA,EAAQ,gCAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,ucAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA,QAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,kBAAA,EAAsB;AAAA,UACpB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,mBAAA,EAAuB;AAAA,UACrB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,IAAA,EAAQ,mCAAA;AAAA,MACR,QAAA,EAAY,UAAA;AAAA,MACZ,WAAA,EAAe,+lBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA,KAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,MAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,yMAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,WAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,OAAA;AAAA,MACZ,WAAA,EAAe,yBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP,MAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,QAAA,EAAY;AAAA,MACV,IAAA,EAAQ,UAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,oBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,6BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,6DAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,oBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,2BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,QAAA;AAAA,MACZ,WAAA,EAAe,qBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,IAAA,EAAQ,oBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,4BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,2BAAA,EAA6B;AAAA,MAC3B,IAAA,EAAQ,2BAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,geAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,cAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA;AACd;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,8OAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,+MAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,6BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,8iBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,uUAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,IAAA,EAAQ,sBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,8BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,OAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,IAAA,EAAQ,oBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,4BAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,mLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,uMAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,YAAA;AAAA,MACZ,WAAA,EAAe,sNAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,IAAA,EAAQ,wBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,gLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,OAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,mZAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP,cAAA;AAAA,YACA;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,4bAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,QAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,eAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,iJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,yJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,sFAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,cAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,oBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,iBAAA,EAAqB;AAAA,UACnB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,kIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,WAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,WAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAQ,eAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,kRAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,SAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,yRAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,+PAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,IAAA,EAAQ,qBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,0UAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,oJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,IAAA,EAAQ,mBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wNAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,qBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,oJAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,wCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,gBAAA,EAAoB;AAAA,UAClB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,0BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,2UAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,wIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,gNAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,QAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,IAAA,EAAQ,cAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,sMAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,iEAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,qBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,mDAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,+BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,WAAA,EAAe;AAAA,UACb,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,YAAA,EAAgB;AAAA,UACd,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,oqBAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAQ,iBAAA;AAAA,MACR,QAAA,EAAY,MAAA;AAAA,MACZ,WAAA,EAAe,8SAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,WAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,yIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,MAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,eAAA,EAAmB;AAAA,UACjB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,IAAA,EAAQ,uBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,oNAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,cAAA,EAAkB;AAAA,UAChB,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,aAAA,EAAiB;AAAA,UACf,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAQ,YAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,qLAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,OAAA;AAAA,QACA,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,8BAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAQ,kBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,uIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,YAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,kCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,gCAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,IAAA,EAAQ,gBAAA;AAAA,MACR,QAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAe,2GAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd,UAAA;AAAA,QACA,OAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,UAAA,EAAc;AAAA,UACZ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,aAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe,sBAAA;AAAA,UACf,QAAA,EAAY;AAAA,SACd;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,kIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF,KACF;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,IAAA,EAAQ,MAAA;AAAA,MACR,QAAA,EAAY,WAAA;AAAA,MACZ,WAAA,EAAe,kIAAA;AAAA,MACf,YAAA,EAAgB;AAAA,QACd;AAAA,OACF;AAAA,MACA,WAAA,EAAe,OAAA;AAAA,MACf,WAAA,EAAe;AAAA,QACb,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,MAAA,EAAU;AAAA,UACR,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,IAAA,EAAQ;AAAA,UACN,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,EAAA,EAAM;AAAA,UACJ,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,SAAA,EAAa;AAAA,UACX,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,KAAA,EAAS;AAAA,UACP,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,OAAA,EAAW;AAAA,UACT,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA,SACjB;AAAA,QACA,QAAA,EAAY;AAAA,UACV,KAAA,EAAS;AAAA,YACP;AAAA,WACF;AAAA,UACA,WAAA,EAAe;AAAA;AACjB;AACF;AACF,GACF;AAAA,EACA,UAAA,EAAc;AAAA,IACZ,SAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA;AAEJ;;;ACriaA,IAAA,4BAAA,GAAA;AAAA,EACE,OAAA,EAAW,OAAA;AAAA,EACX,UAAA,EAAc,0BAAA;AAAA,EACd,WAAA,EAAe;AAAA,IACb,OAAA,EAAW;AAAA,MACT,IAAA,EAAQ,SAAA;AAAA,MACR,WAAA,EAAe,6DAAA;AAAA,MACf,QAAA,EAAY,OAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,WAAA,EAAe,mBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,YAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,OAAA,EAAW,QAAA;AAAA,YACX,KAAA,EAAS,QAAA;AAAA,YACT,SAAA,EAAa,QAAA;AAAA,YACb,WAAA,EAAe;AAAA;AACjB,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,yBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,SAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,KAAA,EAAS,QAAA;AAAA,YACT,WAAA,EAAe,QAAA;AAAA,YACf,SAAA,EAAa,QAAA;AAAA,YACb,SAAA,EAAa;AAAA;AACf,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,YAAA;AAAA,UACR,WAAA,EAAe,2BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,WAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,IAAA,EAAQ,QAAA;AAAA,YACR,WAAA,EAAe,QAAA;AAAA,YACf,eAAA,EAAmB;AAAA;AACrB;AACF;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,WAAA,EAAe,uEAAA;AAAA,MACf,QAAA,EAAY,SAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,qBAAA;AAAA,UACR,WAAA,EAAe,gDAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,EAAA,EAAM,QAAA;AAAA,YACN,YAAA,EAAgB,QAAA;AAAA,YAChB,MAAA,EAAU;AAAA;AACZ,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,gBAAA;AAAA,UACR,WAAA,EAAe,0BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,iBAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,MAAA,EAAU,QAAA;AAAA,YACV,MAAA,EAAU;AAAA;AACZ,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,WAAA,EAAe,kBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,iBAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,EAAA,EAAM,QAAA;AAAA,YACN,MAAA,EAAU,QAAA;AAAA,YACV,MAAA,EAAU;AAAA;AACZ;AACF;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,WAAA,EAAe,gDAAA;AAAA,MACf,QAAA,EAAY,WAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,SAAA;AAAA,UACR,WAAA,EAAe,qBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,IAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,GAAA,EAAO,QAAA;AAAA,YACP,MAAA,EAAU;AAAA;AACZ,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,cAAA;AAAA,UACR,WAAA,EAAe,yBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,IAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,GAAA,EAAO,QAAA;AAAA,YACP,MAAA,EAAU;AAAA;AACZ;AACF;AACF,KACF;AAAA,IACA,KAAA,EAAS;AAAA,MACP,IAAA,EAAQ,OAAA;AAAA,MACR,WAAA,EAAe,yCAAA;AAAA,MACf,QAAA,EAAY,WAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,MAAA;AAAA,UACR,WAAA,EAAe,4BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,IAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,SAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,EAAA,EAAM,QAAA;AAAA,YACN,MAAA,EAAU;AAAA;AACZ;AACF;AACF,KACF;AAAA,IACA,GAAA,EAAO;AAAA,MACL,IAAA,EAAQ,KAAA;AAAA,MACR,WAAA,EAAe,+EAAA;AAAA,MACf,QAAA,EAAY,IAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,gCAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,cAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,YAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,aAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,WAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,OAAA,EAAW,QAAA;AAAA,YACX,KAAA,EAAS;AAAA;AACX,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,0CAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,YAAA;AAAA,cACR,IAAA,EAAQ,OAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,QAAA,EAAY,QAAA;AAAA,YACZ,UAAA,EAAc,QAAA;AAAA,YACd,SAAA,EAAa;AAAA;AACf,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,SAAA;AAAA,UACR,WAAA,EAAe,kDAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,IAAA,EAAQ,QAAA;AAAA,YACR,UAAA,EAAc;AAAA;AAChB,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,WAAA;AAAA,UACR,WAAA,EAAe,6BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,MAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,WAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,OAAA,EAAW,QAAA;AAAA,YACX,SAAA,EAAa;AAAA;AACf;AACF;AACF,KACF;AAAA,IACA,SAAA,EAAa;AAAA,MACX,IAAA,EAAQ,WAAA;AAAA,MACR,WAAA,EAAe,wFAAA;AAAA,MACf,QAAA,EAAY,IAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,aAAA;AAAA,UACR,WAAA,EAAe,mEAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,SAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,SAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,QAAA,EAAY,QAAA;AAAA,YACZ,QAAA,EAAY,QAAA;AAAA,YACZ,SAAA,EAAa,OAAA;AAAA,YACb,KAAA,EAAS,OAAA;AAAA,YACT,WAAA,EAAe;AAAA;AACjB,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,kBAAA;AAAA,UACR,WAAA,EAAe,8BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,OAAA,EAAW;AAAA;AACb,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,gBAAA;AAAA,UACR,WAAA,EAAe,4BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,KAAA,EAAS,SAAA;AAAA,YACT,MAAA,EAAU,OAAA;AAAA,YACV,QAAA,EAAY;AAAA;AACd,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,eAAA;AAAA,UACR,WAAA,EAAe,2CAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,QAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA,aACjB;AAAA,YACA;AAAA,cACE,IAAA,EAAQ,OAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,KAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,OAAA,EAAW,SAAA;AAAA,YACX,UAAA,EAAc,QAAA;AAAA,YACd,MAAA,EAAU;AAAA;AACZ,SACF;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,kBAAA;AAAA,UACR,WAAA,EAAe,uCAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR;AAAA,cACE,IAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAQ,QAAA;AAAA,cACR,QAAA,EAAY,IAAA;AAAA,cACZ,WAAA,EAAe;AAAA;AACjB,WACF;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,QAAA,EAAY,OAAA;AAAA,YACZ,KAAA,EAAS,OAAA;AAAA,YACT,WAAA,EAAe;AAAA;AACjB;AACF;AACF,KACF;AAAA,IACA,MAAA,EAAU;AAAA,MACR,IAAA,EAAQ,QAAA;AAAA,MACR,WAAA,EAAe,yDAAA;AAAA,MACf,QAAA,EAAY,UAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,WAAA;AAAA,UACR,WAAA,EAAe,oBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,8BAAA,EAA+B;AAAA,YACpG,EAAE,MAAQ,QAAA,EAAU,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,iBAAA;AAAkB,WAC5F;AAAA,UACA,aAAA,EAAiB,EAAE,IAAA,EAAQ,QAAA,EAAU,QAAU,QAAA;AAAS,SAC1D;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,cAAA;AAAA,UACR,WAAA,EAAe,qBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,iBAAA,EAAkB;AAAA,YACvF,EAAE,MAAQ,QAAA,EAAU,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,aAAA;AAAc,WACvF;AAAA,UACA,aAAA,EAAiB,EAAE,MAAA,EAAU,QAAA;AAAS,SACxC;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,QAAA;AAAA,UACR,WAAA,EAAe,gBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,iBAAA,EAAkB;AAAA,YACvF,EAAE,MAAQ,SAAA,EAAW,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,gBAAA,EAAiB;AAAA,YACzF,EAAE,MAAQ,OAAA,EAAS,IAAA,EAAQ,SAAS,QAAA,EAAY,KAAA,EAAO,aAAe,gBAAA;AAAiB,WACzF;AAAA,UACA,aAAA,EAAiB,EAAE,IAAA,EAAQ,QAAA,EAAU,SAAW,QAAA;AAAS,SAC3D;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,MAAA;AAAA,UACR,WAAA,EAAe,wBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,iBAAA,EAAkB;AAAA,YACvF,EAAE,MAAQ,QAAA,EAAU,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,gBAAA;AAAiB,WAC3F;AAAA,UACA,aAAA,EAAiB,EAAE,OAAA,EAAW,SAAA;AAAU,SAC1C;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,uBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,OAAA,EAAS,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,UAAA,EAAW;AAAA,YACjF,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,gBAAA,EAAiB;AAAA,YACvF,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,aAAA,EAAc;AAAA,YACnF,EAAE,MAAQ,MAAA,EAAQ,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,6BAAA;AAA8B,WACtG;AAAA,UACA,aAAA,EAAiB,EAAE,MAAA,EAAU,QAAA,EAAU,KAAO,QAAA;AAAS,SACzD;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,eAAA;AAAA,UACR,WAAA,EAAe,6BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,UAAA,EAAY,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,WAAA;AAAY,WACvF;AAAA,UACA,aAAA,EAAiB,EAAE,QAAA,EAAY,OAAA;AAAQ,SACzC;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,YAAA;AAAA,UACR,WAAA,EAAe,mCAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,OAAA,EAAS,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,gCAAA,EAAiC;AAAA,YACxG,EAAE,MAAQ,QAAA,EAAU,IAAA,EAAQ,UAAU,QAAA,EAAY,KAAA,EAAO,aAAe,6BAAA;AAA8B,WACxG;AAAA,UACA,aAAA,EAAiB,EAAE,MAAA,EAAU,OAAA;AAAQ,SACvC;AAAA,QACA;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,oBAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,aAAA,EAAe,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,cAAA;AAAe,WAC7F;AAAA,UACA,eAAiB,EAAE,KAAA,EAAS,UAAU,IAAA,EAAQ,QAAA,EAAU,OAAS,QAAA;AAAS;AAC5E;AACF,KACF;AAAA,IACA,GAAA,EAAO;AAAA,MACL,IAAA,EAAQ,KAAA;AAAA,MACR,WAAA,EAAe,6DAAA;AAAA,MACf,QAAA,EAAY,UAAA;AAAA,MACZ,OAAA,EAAW;AAAA,QACT;AAAA,UACE,IAAA,EAAQ,UAAA;AAAA,UACR,WAAA,EAAe,4BAAA;AAAA,UACf,MAAA,EAAU;AAAA,YACR,EAAE,MAAQ,QAAA,EAAU,IAAA,EAAQ,UAAU,QAAA,EAAY,IAAA,EAAM,aAAe,4BAAA;AAA6B,WACtG;AAAA,UACA,aAAA,EAAiB;AAAA,YACf,KAAA,EAAS,SAAA;AAAA,YACT,MAAA,EAAU,OAAA;AAAA,YACV,QAAA,EAAY,OAAA;AAAA,YACZ,OAAA,EAAW;AAAA;AACb;AACF;AACF;AACF,GACF;AAAA,EACA,YAAc,CAAC,OAAA,EAAS,SAAA,EAAW,WAAA,EAAa,MAAM,UAAU;AAClE;;;ACvlBA,IAAA,yBAAA,GAAA;AAAA,EACE,OAAA,EAAW,OAAA;AAAA,EACX,UAAA,EAAc,0BAAA;AAAA,EACd,QAAA,EAAY;AAAA,IACV,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAgB;AAAA,MACd,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,+BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,4CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,6CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,4CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,4CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,8CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,SAAA,EAAa,uBAAA;AAAA,MACb,UAAA,EAAc,6DAAA;AAAA,MACd,QAAA,EAAY,MAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,GAAA,EAAO;AAAA,MACL,SAAA,EAAa,KAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAY;AAAA,MACV,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAY;AAAA,MACV,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,SAAA,EAAa;AAAA,MACX,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,SAAA,EAAa;AAAA,MACX,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,wBAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,uBAAA;AAAA,MACb,UAAA,EAAc,mDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,SAAA,EAAa,4BAAA;AAAA,MACb,UAAA,EAAc,wDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,uBAAA;AAAA,MACb,UAAA,EAAc,mDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,oDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,iDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,oDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,oDAAA;AAAA,MACd,QAAA,EAAY,UAAA;AAAA,MACZ,MAAA,EAAU;AAAA,KACZ;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,oBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,4BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,0BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,0BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,0BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,gCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,+BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,2BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,SAAA,EAAa,sBAAA;AAAA,MACb,UAAA,EAAc,6CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,mBAAA;AAAA,MACb,UAAA,EAAc,0CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAS;AAAA,MACP,SAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAc,6BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAU;AAAA,MACR,SAAA,EAAa,QAAA;AAAA,MACb,UAAA,EAAc,+BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,SAAA,EAAa,sBAAA;AAAA,MACb,UAAA,EAAc,6CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,gCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,gCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,8BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,SAAA,EAAa,oBAAA;AAAA,MACb,UAAA,EAAc,2CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAS;AAAA,MACP,SAAA,EAAa,OAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAY;AAAA,MACV,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,aAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,oBAAA;AAAA,MACb,UAAA,EAAc,2CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAc,gCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,0BAAA,EAA4B;AAAA,MAC1B,SAAA,EAAa,uBAAA;AAAA,MACb,UAAA,EAAc,8CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,SAAA,EAAa,sBAAA;AAAA,MACb,UAAA,EAAc,6CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,mBAAA;AAAA,MACb,UAAA,EAAc,0CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gCAAA,EAAkC;AAAA,MAChC,SAAA,EAAa,4BAAA;AAAA,MACb,UAAA,EAAc,mDAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gCAAA,EAAkC;AAAA,MAChC,SAAA,EAAa,4BAAA;AAAA,MACb,UAAA,EAAc,mDAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,SAAA,EAAa,8BAAA;AAAA,MACb,UAAA,EAAc,qDAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAY;AAAA,MACV,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,mBAAA;AAAA,MACb,UAAA,EAAc,0CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,2BAAA,EAA6B;AAAA,MAC3B,SAAA,EAAa,yBAAA;AAAA,MACb,UAAA,EAAc,gDAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,SAAA,EAAa,oBAAA;AAAA,MACb,UAAA,EAAc,2CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,oBAAA,EAAsB;AAAA,MACpB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,4CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,kBAAA;AAAA,MACb,UAAA,EAAc,yCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,oBAAA;AAAA,MACb,UAAA,EAAc,2CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,SAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAc,qCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,qBAAA,EAAuB;AAAA,MACrB,SAAA,EAAa,mBAAA;AAAA,MACb,UAAA,EAAc,0CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,mCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,SAAA,EAAa,aAAA;AAAA,MACb,UAAA,EAAc,oCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,SAAA,EAAa,gBAAA;AAAA,MACb,UAAA,EAAc,uCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa;AAAA,MACX,SAAA,EAAa,UAAA;AAAA,MACb,UAAA,EAAc,iCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,uBAAA,EAAyB;AAAA,MACvB,SAAA,EAAa,qBAAA;AAAA,MACb,UAAA,EAAc,4CAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAa,WAAA;AAAA,MACb,UAAA,EAAc,kCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,SAAA,EAAa,iBAAA;AAAA,MACb,UAAA,EAAc,wCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,SAAA,EAAa,eAAA;AAAA,MACb,UAAA,EAAc,sCAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,OAAA,EAAW;AAAA,MACT,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,+BAAA;AAAA,MACd,QAAA,EAAY;AAAA,KACd;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,SAAA,EAAa,YAAA;AAAA,MACb,UAAA,EAAc,+BAAA;AAAA,MACd,QAAA,EAAY;AAAA;AACd;AAEJ;;;ACz7BA,IAAA,uBAAA,GAAA;AAAA,EACE,OAAA,EAAW,OAAA;AAAA,EACX,UAAA,EAAc,0BAAA;AAAA,EACd,SAAA,EAAa;AAAA,IACX,IAAA,EAAQ;AAAA,MACN,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,qBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,oBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,qBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,oBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV,MAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,cAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,KAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,KAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,YAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA,SACd;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,YAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,KAAA,EAAS;AAAA;AACX,WACF;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,iBAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,oBAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV;AACF;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,mBAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV,WACF;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,mBAAA,EAAqB;AAAA,MACnB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,iBAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,KAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,UAAA,EAAc;AAAA,MACZ,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV;AACF;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,KAAA,EAAS;AAAA,MACP,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,MAAA,EAAU;AAAA,MACR,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,KAAA,EAAS;AAAA,MACP,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,IAAA,EAAQ;AAAA,MACN,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,WAAA,EAAa;AAAA,MACX,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe,KAAA;AAAA,MACf,YAAA,EAAgB;AAAA,KAClB;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,QAAA,EAAY;AAAA,QACV;AAAA,OACF;AAAA,MACA,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA,SACd;AAAA,QACA;AAAA,UACE,KAAA,EAAS,WAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA,WACV;AAAA,UACA,QAAA,EAAY;AAAA;AACd,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,OAAS,EAAC;AAAA,MACV,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,yBAAA,EAA2B;AAAA,MACzB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,iBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,gBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,gBAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,OAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,gBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,OAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,cAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,OAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,KAAA,EAAS;AAAA;AACX;AACF;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,WAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,YAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,OAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,cAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,aAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,IAAA,EAAQ;AAAA;AACV;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,YAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,GAAA,EAAO;AAAA;AACT;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,SAAA,EAAa;AAAA;AACf;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,SAAA,EAAa;AAAA;AACf;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,SAAA,EAAa;AAAA;AACf;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,SAAA,EAAa;AAAA;AACf;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,cAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,OAAA,EAAW;AAAA;AACb;AACF,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,kBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ,QAAA;AAAA,YACR,KAAA,EAAS;AAAA,cACP,OAAA,EAAW;AAAA;AACb;AACF;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,SAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,OAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,WAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,mBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,gBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,sBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,cAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,KAAA,EAAS;AAAA,MACP,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,MAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,UAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA;AAAA,UACE,KAAA,EAAS,QAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,WAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,YAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,gBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,wBAAA,EAA0B;AAAA,MACxB,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,eAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA,KACjB;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAS;AAAA,QACP;AAAA,UACE,KAAA,EAAS,kBAAA;AAAA,UACT,OAAA,EAAW,QAAA;AAAA,UACX,OAAA,EAAW;AAAA,YACT,IAAA,EAAQ;AAAA;AACV;AACF,OACF;AAAA,MACA,UAAY,EAAC;AAAA,MACb,WAAA,EAAe;AAAA;AACjB;AAEJ;;;ACo1DO,IAAM,aAAA,GAA+B;AAAA,EAC1C,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,iBAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,MAAA;AAAA,EACA,iBAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,qBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,wBAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,qBAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,kBAAA;AAAA,EACA,OAAA;AAAA,EACA,uBAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,uBAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,iBAAA;AAAA,EACA,yBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,mBAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,iBAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,iBAAA;AAAA,EACA;AACF;AAKO,SAAS,mBAAmB,IAAA,EAAmC;AACpE,EAAA,OAAO,aAAA,CAAc,SAAS,IAAmB,CAAA;AACnD;;;ACjgGO,SAAS,4BAAA,GAA8D;AAC5E,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAY,EAAC;AAC/C,EAAA,MAAM,UAAyC,EAAC;AAEhD,EAAA,KAAA,MAAW,CAAC,WAAA,EAAa,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAChE,IAAA,MAAM,QAAA,GAAY,WAAmB,QAAA,IAAY,eAAA;AACjD,IAAA,IAAI,CAAC,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACtB,MAAA,OAAA,CAAQ,QAAQ,IAAI,EAAC;AAAA,IACvB;AACA,IAAA,OAAA,CAAQ,QAAQ,CAAA,CAAE,IAAA,CAAK,WAA0B,CAAA;AAAA,EACnD;AAEA,EAAA,OAAO,OAAA;AACT;AAMO,SAAS,sBAAA,GAAiC;AAC/C,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAY,EAAC;AAC/C,EAAA,MAAM,KAAA,GAAkB;AAAA,IACtB,yBAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,KAAA,MAAW,CAAC,WAAA,EAAa,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAChE,IAAA,MAAM,WAAA,GAAe,UAAA,CAAmB,WAAA,IAAe,EAAC;AACxD,IAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,MAAA;AAAA,MAC7C,CAAC,GAAA,KAAQ,WAAA,CAAY,GAAG,GAAG,QAAA,KAAa;AAAA,KAC1C;AACA,IAAA,MAAM,WAAW,aAAA,CAAc,MAAA,GAAS,CAAA,GACpC,aAAA,CAAc,KAAK,IAAI,CAAA,GACvB,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,KAAA,CAAM,GAAG,CAAC,CAAA,CAAE,KAAK,IAAI,CAAA;AAElD,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAA,EAAK,WAAW,CAAA,GAAA,EAAM,QAAQ,CAAA,EAAA,CAAI,CAAA;AAAA,EAC/C;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;AAMO,SAAS,oBAAA,GAA+B;AAC7C,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAY,EAAC;AAC/C,EAAA,MAAM,KAAA,GAAkB;AAAA,IACtB,yBAAA;AAAA,IACA,EAAA;AAAA,IACA,oCAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,KAAA,MAAW,CAAC,WAAA,EAAa,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAG;AAChE,IAAA,MAAM,WAAA,GAAe,UAAA,CAAmB,WAAA,IAAe,EAAC;AACxD,IAAA,MAAM,cAAwB,EAAC;AAG/B,IAAA,KAAA,MAAW,CAAC,QAAA,EAAU,OAAO,KAAK,MAAA,CAAO,OAAA,CAAQ,WAAW,CAAA,EAAG;AAC7D,MAAA,IACE,SAAS,QAAA,CAAS,QAAQ,KAC1B,QAAA,CAAS,QAAA,CAAS,QAAQ,CAAA,IAC1B,QAAA,CAAS,SAAS,OAAO,CAAA,IACzB,SAAS,QAAA,CAAS,OAAO,KACzB,QAAA,KAAa,UAAA,IACb,aAAa,SAAA,EACb;AACA,QAAA,WAAA,CAAY,KAAK,QAAQ,CAAA;AAAA,MAC3B;AAAA,IACF;AAEA,IAAA,IAAI,WAAA,CAAY,SAAS,CAAA,EAAG;AAC1B,MAAA,MAAM,KAAA,GAAS,WAAmB,WAAA,IAAe,EAAA;AACjD,MAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAA,EAAK,WAAW,CAAA,GAAA,EAAM,YAAY,IAAA,CAAK,IAAI,CAAC,CAAA,GAAA,EAAM,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA,EAAA,CAAI,CAAA;AAAA,IACrF;AAAA,EACF;AAEA,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;AAMO,SAAS,2BAA2B,WAAA,EAA6B;AACtE,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAmC,EAAC;AACtE,EAAA,MAAM,UAAA,GAAa,SAAS,WAAW,CAAA;AAEvC,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAO,WAAA;AAAA,EACT;AAEA,EAAA,MAAM,OAAO,UAAA,CAAW,WAAA;AACxB,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,MAAM,WAAA,GAAc,UAAA,CAAW,WAAA,IAAe,EAAC;AAC/C,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,MAAA;AAC3C,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,MAAA;AAAA,IAC7C,CAAC,GAAA,KAAQ,WAAA,CAAY,GAAG,GAAG,QAAA,KAAa;AAAA,GAC1C;AAEA,EAAA,IAAI,aAAA,CAAc,SAAS,CAAA,EAAG;AAC5B,IAAA,OAAO,GAAG,WAAW,CAAA,YAAA,EAAe,aAAA,CAAc,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,EAC9D;AAEA,EAAA,OAAO,CAAA,EAAG,WAAW,CAAA,EAAA,EAAK,SAAS,CAAA,OAAA,CAAA;AACrC;AAKO,SAAS,kBAAA,GAAoC;AAClD,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAmC,EAAC;AACtE,EAAA,OAAO,MAAA,CAAO,KAAK,QAAQ,CAAA;AAC7B;AAKO,SAAS,mBAAmB,WAAA,EAAqB;AACtD,EAAA,MAAM,QAAA,GAAW,yBAAA,CAAiB,QAAA,IAAmC,EAAC;AACtE,EAAA,OAAO,QAAA,CAAS,WAAW,CAAA,IAAK,IAAA;AAClC;;;AC1EA,IAAM,eAAA,GAA4C;AAAA,EAChD,UAAU,CAAC,cAAA,EAAgB,kBAAA,EAAoB,YAAA,EAAc,cAAc,aAAa,CAAA;AAAA,EACxF,SAAA,EAAW,CAAC,YAAA,EAAc,WAAA,EAAa,kBAAkB,kBAAA,EAAoB,oBAAA,EAAsB,aAAa,gBAAgB,CAAA;AAAA,EAChI,cAAc,CAAC,cAAA,EAAgB,QAAA,EAAU,UAAA,EAAY,cAAc,YAAY,CAAA;AAAA,EAC/E,SAAS,CAAC,cAAA,EAAgB,QAAA,EAAU,UAAA,EAAY,SAAS,2BAA2B,CAAA;AAAA,EACpF,MAAA,EAAQ,CAAC,eAAA,EAAiB,cAAA,EAAgB,UAAU,CAAA;AAAA,EACpD,QAAA,EAAU,CAAC,kBAAA,EAAoB,gBAAA,EAAkB,oBAAoB,SAAS,CAAA;AAAA,EAC9E,IAAA,EAAM,CAAC,YAAA,EAAc,cAAA,EAAgB,cAAc,kBAAkB,CAAA;AAAA,EACrE,IAAA,EAAM,CAAC,MAAA,EAAQ,WAAA,EAAa,aAAa;AAC3C,CAAA;AAKA,IAAM,cAAA,GAA2C;AAAA,EAC/C,IAAA,EAAM,CAAC,YAAA,EAAc,gBAAA,EAAkB,cAAc,cAAc,CAAA;AAAA,EACnE,MAAA,EAAQ,CAAC,cAAA,EAAgB,YAAA,EAAc,kBAAkB,CAAA;AAAA,EACzD,IAAA,EAAM,CAAC,YAAA,EAAc,YAAY,CAAA;AAAA,EACjC,IAAA,EAAM,CAAC,cAAA,EAAgB,mBAAA,EAAqB,2BAA2B,CAAA;AAAA,EACvE,MAAA,EAAQ,CAAC,qBAAA,EAAuB,eAAe,CAAA;AAAA,EAC/C,MAAA,EAAQ,CAAC,iBAAA,EAAmB,sBAAA,EAAwB,eAAe;AACrE,CAAA;AAKA,IAAM,sBAAA,GAAmD;AAAA,EACvD,IAAA,EAAM,CAAC,SAAA,EAAW,WAAA,EAAa,UAAU,QAAA,EAAU,QAAA,EAAU,eAAA,EAAiB,YAAA,EAAc,UAAU,CAAA;AAAA,EACtG,KAAA,EAAO,CAAC,MAAA,EAAQ,WAAA,EAAa,OAAO,CAAA;AAAA,EACpC,MAAA,EAAQ,CAAC,SAAA,EAAW,MAAA,EAAQ,YAAY,CAAA;AAAA,EACxC,OAAA,EAAS,CAAC,YAAA,EAAc,QAAQ,CAAA;AAAA,EAChC,OAAA,EAAS,CAAC,WAAA,EAAa,OAAO;AAChC,CAAA;AAKA,IAAM,uBAAA,GAAoD;AAAA,EACxD,UAAU,CAAC,SAAA,EAAW,QAAA,EAAU,QAAA,EAAU,aAAa,eAAe,CAAA;AAAA,EACtE,QAAA,EAAU,CAAC,MAAA,EAAQ,YAAY,CAAA;AAAA,EAC/B,OAAA,EAAS,CAAC,MAAA,EAAQ,YAAY,CAAA;AAAA,EAC9B,OAAA,EAAS,CAAC,SAAA,EAAW,YAAY,CAAA;AAAA,EACjC,QAAA,EAAU,CAAC,WAAA,EAAa,OAAO;AACjC,CAAA;AAmBO,SAAS,iBAAA,CACd,OAAA,EACA,UAAA,GAAqB,EAAA,EACI;AACzB,EAAA,MAAM,QAAA,GAAY,yBAAA,CAAyB,QAAA,IAAY,EAAC;AACxD,EAAA,MAAM,MAAA,uBAAgE,GAAA,EAAI;AAE1E,EAAA,MAAM,cAAA,GAAiB,QAAQ,cAAA,GAC3B,eAAA,CAAgB,QAAQ,cAAc,CAAA,IAAK,EAAC,GAC5C,EAAC;AACL,EAAA,MAAM,aAAA,GAAgB,QAAQ,KAAA,GAC1B,cAAA,CAAe,QAAQ,KAAK,CAAA,IAAK,EAAC,GAClC,EAAC;AACL,EAAA,MAAM,cAAA,GAAiB,QAAQ,IAAA,GAC3B,sBAAA,CAAuB,QAAQ,IAAI,CAAA,IAAK,EAAC,GACzC,EAAC;AACL,EAAA,MAAM,eAAA,GAAkB,QAAQ,KAAA,GAC5B,uBAAA,CAAwB,QAAQ,KAAK,CAAA,IAAK,EAAC,GAC3C,EAAC;AAEL,EAAA,KAAA,MAAW,CAAC,WAAA,EAAa,UAAU,KAAK,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA,EAAsB;AACnF,IAAA,MAAM,YAAA,GAAyB,UAAA,CAAW,YAAA,IAAgB,EAAC;AAC3D,IAAA,MAAM,QAAA,GAAmB,WAAW,QAAA,IAAY,EAAA;AAChD,IAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,IAAA,MAAM,UAAoB,EAAC;AAG3B,IAAA,IAAI,QAAA,KAAa,MAAA,IAAU,OAAA,CAAQ,cAAA,KAAmB,MAAA,EAAQ;AAE9D,IAAA,IAAI,aAAa,OAAA,EAAS;AAE1B,IAAA,IAAI,aAAa,UAAA,EAAY;AAG7B,IAAA,KAAA,MAAW,WAAW,cAAA,EAAgB;AACpC,MAAA,IAAI,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,KAAM,EAAA,CAAG,WAAA,EAAY,CAAE,QAAA,CAAS,OAAA,CAAQ,WAAA,EAAa,CAAC,CAAA,EAAG;AAC7E,QAAA,KAAA,IAAS,EAAA;AACT,QAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,OAAA,EAAU,OAAO,CAAA,CAAE,CAAA;AAChC,QAAA;AAAA,MACF;AAAA,IACF;AAGA,IAAA,KAAA,MAAW,WAAW,aAAA,EAAe;AACnC,MAAA,IAAI,YAAA,CAAa,IAAA,CAAK,CAAA,EAAA,KAAM,EAAA,CAAG,WAAA,EAAY,CAAE,QAAA,CAAS,OAAA,CAAQ,WAAA,EAAa,CAAC,CAAA,EAAG;AAC7E,QAAA,KAAA,IAAS,EAAA;AACT,QAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,MAAA,EAAS,OAAO,CAAA,CAAE,CAAA;AAC/B,QAAA;AAAA,MACF;AAAA,IACF;AAGA,IAAA,IAAI,cAAA,CAAe,QAAA,CAAS,QAAQ,CAAA,EAAG;AACrC,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,KAAA,EAAQ,OAAA,CAAQ,IAAI,CAAA,CAAE,CAAA;AAAA,IACrC;AAGA,IAAA,IAAI,eAAA,CAAgB,QAAA,CAAS,QAAQ,CAAA,EAAG;AACtC,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,MAAA,EAAS,OAAA,CAAQ,KAAK,CAAA,CAAE,CAAA;AAAA,IACvC;AAGA,IAAA,IAAI,OAAA,CAAQ,iBAAiB,CAAC,cAAA,EAAgB,QAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,WAAW,CAAA,EAAG;AACpF,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,IAC5B;AACA,IAAA,IAAI,OAAA,CAAQ,iBAAiB,CAAC,UAAA,EAAY,OAAO,CAAA,CAAE,QAAA,CAAS,WAAW,CAAA,EAAG;AACxE,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,aAAa,CAAA;AAAA,IAC5B;AACA,IAAA,IAAI,OAAA,CAAQ,gBAAA,IAAoB,CAAC,OAAA,EAAS,OAAA,EAAS,SAAS,cAAc,CAAA,CAAE,QAAA,CAAS,WAAW,CAAA,EAAG;AACjG,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,gBAAgB,CAAA;AAAA,IAC/B;AACA,IAAA,IAAI,OAAA,CAAQ,qBAAqB,CAAC,MAAA,EAAQ,eAAe,CAAA,CAAE,QAAA,CAAS,WAAW,CAAA,EAAG;AAChF,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,iBAAiB,CAAA;AAAA,IAChC;AACA,IAAA,IAAI,OAAA,CAAQ,kBAAkB,CAAC,cAAA,EAAgB,eAAe,CAAA,CAAE,QAAA,CAAS,WAAW,CAAA,EAAG;AACrF,MAAA,KAAA,IAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,cAAc,CAAA;AAAA,IAC7B;AAGA,IAAA,IAAI,QAAA,KAAa,SAAA,IAAa,QAAA,KAAa,WAAA,EAAa;AACtD,MAAA,MAAM,WAAA,GAAc,UAAA,CAAW,WAAA,IAAe,EAAC;AAC/C,MAAA,IAAI,YAAY,WAAA,EAAa;AAC3B,QAAA,KAAA,IAAS,CAAA;AACT,QAAA,OAAA,CAAQ,KAAK,cAAc,CAAA;AAAA,MAC7B;AAAA,IACF;AAEA,IAAA,IAAI,QAAQ,CAAA,EAAG;AACb,MAAA,MAAA,CAAO,GAAA,CAAI,WAAA,EAAa,EAAE,KAAA,EAAO,SAAS,CAAA;AAAA,IAC5C;AAAA,EACF;AAGA,EAAA,MAAM,MAAA,GAAS,CAAC,GAAG,MAAA,CAAO,SAAS,CAAA,CAChC,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,EAAE,CAAC,CAAA,CAAE,QAAQ,CAAA,CAAE,CAAC,EAAE,KAAK,CAAA,CACtC,KAAA,CAAM,CAAA,EAAG,UAAU,CAAA;AAEtB,EAAA,OAAO,MAAA,CAAO,IAAI,CAAC,CAAC,aAAa,EAAE,KAAA,EAAO,OAAA,EAAS,CAAA,KAAM;AACvD,IAAA,MAAM,UAAA,GAAa,SAAS,WAAW,CAAA;AACvC,IAAA,MAAM,WAAA,GAAc,UAAA,CAAW,WAAA,IAAe,EAAC;AAC/C,IAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,WAAW,EACrC,MAAA,CAAO,CAAA,CAAA,KAAK,WAAA,CAAY,CAAC,GAAG,QAAA,KAAa,IAAI,CAAA,CAC7C,KAAA,CAAM,GAAG,CAAC,CAAA;AAGb,IAAA,IAAI,QAAA,CAAS,WAAW,CAAA,EAAG;AACzB,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA,CAAE,MAAA;AAAA,QAC1C,CAAA,CAAA,KAAK,CAAC,CAAC,WAAA,EAAa,aAAa,OAAA,EAAS,QAAQ,CAAA,CAAE,QAAA,CAAS,CAAC;AAAA,OAChE;AACA,MAAA,QAAA,CAAS,KAAK,GAAG,UAAA,CAAW,KAAA,CAAM,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,IACzC;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,WAAA;AAAA,MACT,KAAA;AAAA,MACA,MAAA,EAAQ,OAAA,CAAQ,IAAA,CAAK,IAAI,CAAA;AAAA,MACzB,QAAA,EAAU,WAAW,QAAA,IAAY,SAAA;AAAA,MACjC,WAAA,EAAa,WAAW,WAAA,IAAe,WAAA;AAAA,MACvC;AAAA,KACF;AAAA,EACF,CAAC,CAAA;AACH;AAUO,SAAS,2BAA2B,OAAA,EAMjB;AACxB,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,YAAA,IAAgB,EAAC;AACxC,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,IAAI,CAAA;AAEzC,EAAA,OAAO;AAAA,IACL,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,OAAO,OAAA,CAAQ,KAAA;AAAA,IACf,MAAM,OAAA,CAAQ,IAAA;AAAA,IACd,gBAAgB,OAAA,CAAQ,cAAA;AAAA,IACxB,gBAAA,EAAkB,UAAA;AAAA,IAClB,aAAA,EAAe,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,IAAA,KAAS,MAAA,IAAW,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,MAAA,CAAO,MAAA,GAAS,CAAE,CAAA;AAAA,IACtF,aAAA,EAAe,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAC,MAAA,EAAQ,UAAA,EAAY,WAAW,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IAClF,gBAAA,EAAkB,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAC,QAAA,EAAU,SAAA,EAAW,OAAA,EAAS,SAAA,EAAW,UAAU,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IACzG,mBAAmB,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,SAAS,UAAU,CAAA;AAAA,IACzD,cAAA,EAAgB,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAC,OAAA,EAAS,KAAA,EAAO,OAAA,EAAS,MAAM,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,IAAI,CAAC;AAAA,GACrF;AACF;AAUO,SAAS,+BACd,eAAA,EACQ;AACR,EAAA,IAAI,eAAA,CAAgB,MAAA,KAAW,CAAA,EAAG,OAAO,EAAA;AAEzC,EAAA,MAAM,KAAA,GAAQ;AAAA,IACZ,yBAAA;AAAA,IACA,EAAA;AAAA,IACA,0CAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,KAAA,MAAW,OAAO,eAAA,EAAiB;AACjC,IAAA,MAAM,KAAA,GAAQ,IAAI,QAAA,CAAS,MAAA,GAAS,IAAI,GAAA,CAAI,QAAA,CAAS,IAAA,CAAK,IAAI,CAAA,GAAI,QAAA;AAClE,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAA,EAAK,GAAA,CAAI,OAAO,CAAA,GAAA,EAAM,GAAA,CAAI,QAAQ,CAAA,GAAA,EAAM,KAAK,CAAA,GAAA,EAAM,GAAA,CAAI,MAAM,CAAA,EAAA,CAAI,CAAA;AAAA,EAC9E;AAEA,EAAA,KAAA,CAAM,KAAK,EAAE,CAAA;AACb,EAAA,KAAA,CAAM,KAAK,mFAAmF,CAAA;AAE9F,EAAA,OAAO,KAAA,CAAM,KAAK,IAAI,CAAA;AACxB;;;AC7SO,IAAM,QAAA,GAAW;AAEjB,IAAM,gBAAA,GAAmB;AACzB,IAAM,oBAAA,GAAuB;AAC7B,IAAM,iBAAA,GAAoB;AAC1B,IAAM,eAAA,GAAkB;AAExB,SAAS,qBAAqB,WAAA,EAAqB;AACxD,EAAA,OAAQ,yBAAA,CAAyB,QAAA,GAAW,WAAW,CAAA,IAAK,IAAA;AAC9D;AAEO,SAAS,uBAAuB,WAAA,EAAqB;AAC1D,EAAA,OAAQ,yBAAA,CAAyB,QAAA,GAAW,WAAW,CAAA,IAAK,IAAA;AAC9D;AAWO,SAAS,qBAAqB,WAAA,EAA8B;AACjE,EAAA,MAAM,UAAA,GAAa,qBAAqB,WAAW,CAAA;AACnD,EAAA,IAAI,CAAC,YAAY,OAAO,KAAA;AAGxB,EAAA,IAAI,UAAA,CAAW,WAAA,KAAgB,IAAA,EAAM,OAAO,IAAA;AAE5C,EAAA,MAAM,cAAc,UAAA,CAAW,WAAA;AAC/B,EAAA,IAAI,CAAC,aAAa,OAAO,KAAA;AAGzB,EAAA,MAAM,WAAA,GAAwB,WAAA,CAAY,MAAA,EAAQ,KAAA,IAAS,EAAC;AAC5D,EAAA,OAAO,YAAY,QAAA,CAAS,OAAO,CAAA,IAAK,WAAA,CAAY,SAAS,QAAQ,CAAA;AACvE","file":"index.js","sourcesContent":["{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-03T11:14:06.592Z\",\n \"patterns\": {\n \"entity-table\": {\n \"type\": \"entity-table\",\n \"category\": \"display\",\n \"description\": \"Data table with columns and sorting\",\n \"suggestedFor\": [\n \"data-dense views\",\n \"comparisons\",\n \"admin panels\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or Column[] for unified interface. Alias for columns\"\n },\n \"columns\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Columns can be Column objects or simple string field names\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Item actions from generated code - maps to rowActions\"\n },\n \"emptyIcon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"emptyIcon prop\"\n },\n \"emptyTitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyTitle prop\"\n },\n \"emptyDescription\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyDescription prop\"\n },\n \"emptyAction\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"emptyAction prop\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Selection\"\n },\n \"searchable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Search\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"searchPlaceholder prop\"\n },\n \"rowActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Row actions\"\n },\n \"bulkActions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Bulk actions\"\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count in pagination\"\n }\n }\n },\n \"entity-list\": {\n \"type\": \"entity-list\",\n \"category\": \"display\",\n \"description\": \"Vertical list of items\",\n \"suggestedFor\": [\n \"mobile-friendly lists\",\n \"simple item browsing\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"entityType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type name for display\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"selectable prop\"\n },\n \"itemActions\": {\n \"types\": [\n \"function\",\n \"unknown\"\n ],\n \"description\": \"Item actions - schema-driven or function-based\"\n },\n \"showDividers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showDividers prop\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"variant prop\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyMessage prop\"\n },\n \"renderItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"renderItem prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or {key, header}[] for unified interface\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n }\n }\n },\n \"entity-cards\": {\n \"type\": \"entity-cards\",\n \"category\": \"display\",\n \"description\": \"Grid of cards for visual content\",\n \"suggestedFor\": [\n \"visual items\",\n \"images\",\n \"previews\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"minCardWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum width of each card (default: 280px)\"\n },\n \"maxCols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of columns\"\n },\n \"gap\": {\n \"types\": [\n \"cardgridgap\"\n ],\n \"description\": \"Gap between cards\"\n },\n \"alignItems\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Align cards vertically in their cells\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements (cards) - optional when using entity prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or {key, header}[] for unified interface\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"columns\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions for each card item (schema-driven)\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count in pagination\"\n }\n }\n },\n \"detail-panel\": {\n \"type\": \"detail-panel\",\n \"category\": \"display\",\n \"description\": \"Detail view panel for drawers/sidebars\",\n \"suggestedFor\": [\n \"drawer content\",\n \"side panels\",\n \"quick view\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"subtitle prop\"\n },\n \"status\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"status prop\"\n },\n \"avatar\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"avatar prop\"\n },\n \"sections\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"sections prop\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Unified actions array - first action with variant='primary' is the main action\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"footer prop\"\n },\n \"slideOver\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"slideOver prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[], {key, header}[], or DetailField[]\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial data for edit mode (passed by compiler)\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display mode (passed by compiler)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel position (for drawer/sidebar placement)\"\n },\n \"width\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel width (CSS value, e.g., '400px', '50%')\"\n },\n \"entityId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity ID for fetching specific entity\"\n },\n \"displayFields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Display fields (alias for fields)\"\n },\n \"showActions\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show actions flag\"\n }\n }\n },\n \"page-header\": {\n \"type\": \"page-header\",\n \"category\": \"header\",\n \"description\": \"Page title with optional breadcrumb and action buttons\",\n \"suggestedFor\": [\n \"list pages\",\n \"detail pages\",\n \"dashboards\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\",\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Page title - accepts unknown to handle generated code accessing dynamic entity data\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\",\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Optional subtitle/description\"\n },\n \"showBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show back button\"\n },\n \"backEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit when back is clicked (default: BACK)\"\n },\n \"breadcrumbs\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Breadcrumbs\"\n },\n \"status\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Status badge\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions array - first action with variant='primary' (or first action) is the main action\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tabs for sub-navigation\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"activeTab prop\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onTabChange prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom content in the header\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"form\": {\n \"type\": \"form\",\n \"category\": \"form\",\n \"description\": \"Complete form with fields and actions\",\n \"suggestedFor\": [\n \"create forms\",\n \"edit forms\",\n \"data entry\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Form fields (traditional React children)\"\n },\n \"onSubmit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit event name for trait dispatch (emitted via eventBus as UI:{onSubmit})\"\n },\n \"onCancel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel event name for trait dispatch (emitted via eventBus as UI:{onCancel})\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form layout\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between fields\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\",\n \"orbitalentity\"\n ],\n \"description\": \"Schema-based props\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form mode - 'create' for new records, 'edit' for updating existing\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields definition (schema format) - accepts readonly for generated const arrays\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial form data\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"submitLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit button label\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button label (if provided, shows cancel button)\"\n },\n \"showCancel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show cancel button (defaults to true for schema forms)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form title (used by ModalSlot to extract title)\"\n },\n \"submitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event dispatch props (for trait state machine integration)\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to dispatch on cancel (defaults to 'CANCEL')\"\n },\n \"relationsData\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Relation data props\"\n },\n \"relationsLoading\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Loading state for relation data: { fieldName: boolean }\"\n },\n \"conditionalFields\": {\n \"types\": [\n \"object\",\n \"boolean\"\n ],\n \"description\": \"Inspection form extensions\"\n },\n \"hiddenCalculations\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately)\"\n },\n \"violationTriggers\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately)\"\n },\n \"evaluationContext\": {\n \"types\": [\n \"formevaluationcontext\",\n \"object\"\n ],\n \"description\": \"Context for S-expression evaluation - accepts flexible types from generated code\"\n },\n \"sections\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Nested form sections with optional conditions\"\n },\n \"onFieldChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when any field value changes\"\n },\n \"configPath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Config path for form configuration (schema-driven)\"\n },\n \"repeatable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the form supports repeatable entries\"\n }\n }\n },\n \"form-section\": {\n \"type\": \"form-section\",\n \"category\": \"form\",\n \"description\": \"Alias for form — Complete form with fields and actions\",\n \"suggestedFor\": [\n \"create forms\",\n \"edit forms\",\n \"data entry\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Form fields (traditional React children)\"\n },\n \"onSubmit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit event name for trait dispatch (emitted via eventBus as UI:{onSubmit})\"\n },\n \"onCancel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel event name for trait dispatch (emitted via eventBus as UI:{onCancel})\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form layout\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between fields\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\",\n \"orbitalentity\"\n ],\n \"description\": \"Schema-based props\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form mode - 'create' for new records, 'edit' for updating existing\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields definition (schema format) - accepts readonly for generated const arrays\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial form data\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"submitLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit button label\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button label (if provided, shows cancel button)\"\n },\n \"showCancel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show cancel button (defaults to true for schema forms)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form title (used by ModalSlot to extract title)\"\n },\n \"submitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event dispatch props (for trait state machine integration)\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to dispatch on cancel (defaults to 'CANCEL')\"\n },\n \"relationsData\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Relation data props\"\n },\n \"relationsLoading\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Loading state for relation data: { fieldName: boolean }\"\n },\n \"conditionalFields\": {\n \"types\": [\n \"object\",\n \"boolean\"\n ],\n \"description\": \"Inspection form extensions\"\n },\n \"hiddenCalculations\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately)\"\n },\n \"violationTriggers\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately)\"\n },\n \"evaluationContext\": {\n \"types\": [\n \"formevaluationcontext\",\n \"object\"\n ],\n \"description\": \"Context for S-expression evaluation - accepts flexible types from generated code\"\n },\n \"sections\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Nested form sections with optional conditions\"\n },\n \"onFieldChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when any field value changes\"\n },\n \"configPath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Config path for form configuration (schema-driven)\"\n },\n \"repeatable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the form supports repeatable entries\"\n }\n }\n },\n \"search-input\": {\n \"type\": \"search-input\",\n \"category\": \"filter\",\n \"description\": \"Search input with events\",\n \"suggestedFor\": [\n \"search functionality\",\n \"quick filters\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search value (controlled mode)\"\n },\n \"onSearch\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when search value changes\"\n },\n \"debounceMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Debounce delay in milliseconds @default 300\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show loading state @default false\"\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Placeholder text @default 'Search...'\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show clear button @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"event\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to dispatch on search (schema metadata, wired by trait) This is metadata used by the trait generator, not by the component.\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type for context-aware search. When provided, search events include entity context.\"\n },\n \"query\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Query singleton binding for state management. When provided, syncs search state with the query singleton. Example: \\\"@TaskQuery\\\"\"\n }\n }\n },\n \"filter-group\": {\n \"type\": \"filter-group\",\n \"category\": \"filter\",\n \"description\": \"Multiple filter controls\",\n \"suggestedFor\": [\n \"list pages with filterable data\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name to filter\",\n \"required\": true\n },\n \"filters\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Filter definitions from schema\",\n \"required\": true\n },\n \"onFilterChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a filter changes - for EntityStore integration\"\n },\n \"onClearAll\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback to clear all filters\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant style\"\n },\n \"showIcon\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show filter icon\"\n },\n \"query\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Query singleton binding for state management. When provided, syncs filter state with the query singleton. Example: \\\"@TaskQuery\\\"\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n }\n }\n },\n \"tabs\": {\n \"type\": \"tabs\",\n \"category\": \"navigation\",\n \"description\": \"Tab navigation within page\",\n \"suggestedFor\": [\n \"pages with multiple views\",\n \"filtered lists\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab items\"\n },\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab items (alias for items - used by generated code)\"\n },\n \"defaultActiveTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Default active tab ID\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Controlled active tab ID\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when tab changes\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab variant\"\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab orientation\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"breadcrumb\": {\n \"type\": \"breadcrumb\",\n \"category\": \"navigation\",\n \"description\": \"Breadcrumb navigation\",\n \"suggestedFor\": [\n \"hierarchical navigation\",\n \"detail pages\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Breadcrumb items\",\n \"required\": true\n },\n \"separator\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Separator icon\"\n },\n \"maxItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum items to show (truncates with ellipsis)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"wizard-progress\": {\n \"type\": \"wizard-progress\",\n \"category\": \"navigation\",\n \"description\": \"Wizard step progress indicator\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"onboarding\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"steps\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Step definitions (compatible with WizardContainer's WizardStep)\",\n \"required\": true\n },\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index (0-based)\",\n \"required\": true\n },\n \"onStepClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a completed step is clicked\"\n },\n \"allowNavigation\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow clicking on completed steps to navigate back\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact mode (smaller, no titles)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"stepClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative step click event — emits UI:{stepClickEvent} with { stepIndex }\"\n }\n }\n },\n \"wizard-navigation\": {\n \"type\": \"wizard-navigation\",\n \"category\": \"navigation\",\n \"description\": \"Wizard navigation buttons\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"wizards\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index (0-based)\",\n \"required\": true\n },\n \"totalSteps\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of steps\",\n \"required\": true\n },\n \"isValid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the current step is valid (enables Next/Complete)\"\n },\n \"showBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Back button\"\n },\n \"showNext\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Next button\"\n },\n \"showComplete\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Complete button (on last step)\"\n },\n \"backLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Back button\"\n },\n \"nextLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Next button\"\n },\n \"completeLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Complete button\"\n },\n \"onBack\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Back click\"\n },\n \"onNext\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Next click\"\n },\n \"onComplete\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Complete click\"\n },\n \"onBackClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Back (alternative to event)\"\n },\n \"onNextClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Next (alternative to event)\"\n },\n \"onCompleteClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Complete (alternative to event)\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact mode (smaller padding)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"wizard-container\": {\n \"type\": \"wizard-container\",\n \"category\": \"navigation\",\n \"description\": \"Multi-step wizard container\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"wizards\",\n \"onboarding flows\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"steps\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Wizard steps\",\n \"required\": true\n },\n \"currentStep\": {\n \"types\": [\n \"number\",\n \"string\",\n \"unknown\"\n ],\n \"description\": \"Current step index (controlled) - accepts unknown for generated code compatibility\"\n },\n \"onStepChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when step changes\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when wizard is completed\"\n },\n \"showProgress\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show progress indicator\"\n },\n \"allowBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow navigation to previous steps\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Modal mode (compact header, no padding)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type name (schema-driven)\"\n }\n }\n },\n \"pagination\": {\n \"type\": \"pagination\",\n \"category\": \"navigation\",\n \"description\": \"Page navigation controls\",\n \"suggestedFor\": [\n \"paginated lists\",\n \"tables\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (1-indexed)\",\n \"required\": true\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of pages\",\n \"required\": true\n },\n \"onPageChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when page changes (optional - can be a no-op if not interactive)\"\n },\n \"showPageSize\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show page size selector @default false\"\n },\n \"pageSizeOptions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Page size options\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page size\"\n },\n \"onPageSizeChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when page size changes\"\n },\n \"showJumpToPage\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show jump to page input @default false\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count @default false\"\n },\n \"totalItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total items count\"\n },\n \"maxVisiblePages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of page buttons to show @default 7\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"pageChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative page change event — emits UI:{pageChangeEvent} with { page }\"\n },\n \"pageSizeChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative page size change event — emits UI:{pageSizeChangeEvent} with { pageSize }\"\n }\n }\n },\n \"empty-state\": {\n \"type\": \"empty-state\",\n \"category\": \"state\",\n \"description\": \"Message when no data exists\",\n \"suggestedFor\": [\n \"list pages\",\n \"search results\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"icon\": {\n \"types\": [\n \"icon\",\n \"string\"\n ],\n \"description\": \"Icon to display. Accepts either: - A Lucide icon component (LucideIcon) - A string icon name (e.g., \\\"check-circle\\\", \\\"x-circle\\\")\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Primary text to display - use title or message (message is alias for backwards compat)\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for title - used by schema patterns\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"description prop\"\n },\n \"actionLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"actionLabel prop\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onAction prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"destructive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Destructive styling for confirmation dialogs\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant for color styling\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative action event — emits UI:{actionEvent} via eventBus when action button is clicked\"\n }\n }\n },\n \"loading-state\": {\n \"type\": \"loading-state\",\n \"category\": \"state\",\n \"description\": \"Loading indicator\",\n \"suggestedFor\": [\n \"any page with async data\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"message prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"error-state\": {\n \"type\": \"error-state\",\n \"category\": \"state\",\n \"description\": \"Error message display\",\n \"suggestedFor\": [\n \"error handling\",\n \"failed requests\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message to display\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for message (schema compatibility)\"\n },\n \"onRetry\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onRetry prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"retryEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative retry event — emits UI:{retryEvent} via eventBus when retry button is clicked\"\n }\n }\n },\n \"notification\": {\n \"type\": \"notification\",\n \"category\": \"state\",\n \"description\": \"Toast notification message\",\n \"suggestedFor\": [\n \"success messages\",\n \"error alerts\",\n \"info messages\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"toastvariant\"\n ],\n \"description\": \"Toast variant\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast message\",\n \"required\": true\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast title (optional)\"\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Auto-dismiss duration in milliseconds (0 = no auto-dismiss)\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show dismiss button\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when toast is dismissed\"\n },\n \"actionLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Action button label\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Action button click handler\"\n },\n \"badge\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Badge count (optional)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"dismissEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative dismiss event — emits UI:{dismissEvent} via eventBus when toast is dismissed\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative action event — emits UI:{actionEvent} via eventBus when action button is clicked\"\n }\n }\n },\n \"stats\": {\n \"type\": \"stats\",\n \"category\": \"dashboard\",\n \"description\": \"Key metrics and statistics\",\n \"suggestedFor\": [\n \"dashboards\",\n \"overview pages\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Main label\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title (alias for label)\"\n },\n \"value\": {\n \"types\": [\n \"string\",\n \"number\",\n \"array\",\n \"unknown\"\n ],\n \"description\": \"Primary value - accepts array/unknown from generated code (will use first element or length)\"\n },\n \"previousValue\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Previous value for comparison\"\n },\n \"currentValue\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current value as number for trend calculation\"\n },\n \"trend\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Manual trend percentage (overrides calculation)\"\n },\n \"trendDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Trend direction (overrides calculation)\"\n },\n \"invertTrend\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether up is good (green) or bad (red)\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Icon to display\"\n },\n \"iconBg\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon background color\"\n },\n \"iconColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon color\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Subtitle or description\"\n },\n \"action\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Action button\"\n },\n \"metrics\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays\"\n }\n }\n },\n \"dashboard-grid\": {\n \"type\": \"dashboard-grid\",\n \"category\": \"dashboard\",\n \"description\": \"Multi-column grid for widgets and stats cards\",\n \"suggestedFor\": [\n \"dashboards\",\n \"analytics pages\",\n \"overview screens\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between cells\"\n },\n \"cells\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Cell definitions\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"modal\": {\n \"type\": \"modal\",\n \"category\": \"container\",\n \"description\": \"Modal dialog overlay\",\n \"suggestedFor\": [\n \"dialogs\",\n \"confirmations\",\n \"forms\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the modal is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when modal should close (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Modal content (can be empty if using slot content)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"footer prop\"\n },\n \"size\": {\n \"types\": [\n \"modalsize\"\n ],\n \"description\": \"size prop\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showCloseButton prop\"\n },\n \"closeOnOverlayClick\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"closeOnOverlayClick prop\"\n },\n \"closeOnEscape\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"closeOnEscape prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when modal should close\"\n }\n }\n },\n \"drawer\": {\n \"type\": \"drawer\",\n \"category\": \"container\",\n \"description\": \"Side drawer panel\",\n \"suggestedFor\": [\n \"detail panels\",\n \"settings\",\n \"side navigation\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the drawer is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when drawer should close (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Drawer title\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Drawer content (can be empty if using slot content)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content\"\n },\n \"position\": {\n \"types\": [\n \"drawerposition\"\n ],\n \"description\": \"Position (left or right)\"\n },\n \"width\": {\n \"types\": [\n \"string\",\n \"drawersize\"\n ],\n \"description\": \"Width (CSS value or preset size)\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show close button\"\n },\n \"closeOnOverlayClick\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Close on overlay click\"\n },\n \"closeOnEscape\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Close on escape key\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when drawer should close\"\n }\n }\n },\n \"confirm-dialog\": {\n \"type\": \"confirm-dialog\",\n \"category\": \"container\",\n \"description\": \"Confirmation dialog\",\n \"suggestedFor\": [\n \"destructive actions\",\n \"confirmations\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the dialog is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when dialog is closed (injected by slot wrapper)\"\n },\n \"onConfirm\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when action is confirmed (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Dialog title\",\n \"required\": true\n },\n \"message\": {\n \"types\": [\n \"string\",\n \"node\"\n ],\n \"description\": \"Dialog message/description\"\n },\n \"description\": {\n \"types\": [\n \"string\",\n \"node\"\n ],\n \"description\": \"Alias for message (schema compatibility)\"\n },\n \"confirmText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Confirm button text\"\n },\n \"confirmLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for confirmText (schema compatibility)\"\n },\n \"cancelText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button text\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for cancelText (schema compatibility)\"\n },\n \"variant\": {\n \"types\": [\n \"confirmdialogvariant\"\n ],\n \"description\": \"Dialog variant\"\n },\n \"size\": {\n \"types\": [\n \"modalsize\"\n ],\n \"description\": \"Dialog size\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state for confirm button\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"master-detail\": {\n \"type\": \"master-detail\",\n \"category\": \"layout\",\n \"description\": \"List on left, selected item detail on right\",\n \"suggestedFor\": [\n \"entity management\",\n \"inbox-style views\",\n \"file browsers\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"master\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Master panel content (usually a list)\",\n \"required\": true\n },\n \"detail\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Detail panel content\",\n \"required\": true\n },\n \"emptyDetail\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content shown when nothing is selected\"\n },\n \"hasSelection\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether an item is currently selected\"\n },\n \"masterWidth\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Width of master panel (e.g., '350px', '30%')\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"masterClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for master pane\"\n },\n \"detailClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for detail pane\"\n }\n }\n },\n \"box\": {\n \"type\": \"box\",\n \"category\": \"layout\",\n \"description\": \"Generic styled container with padding, borders, and backgrounds\",\n \"suggestedFor\": [\n \"card containers\",\n \"sections\",\n \"styled wrappers\",\n \"content boxes\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"padding\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Padding on all sides\"\n },\n \"paddingX\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Horizontal padding (overrides padding for x-axis)\"\n },\n \"paddingY\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Vertical padding (overrides padding for y-axis)\"\n },\n \"margin\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Margin on all sides\"\n },\n \"marginX\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Horizontal margin\"\n },\n \"marginY\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Vertical margin\"\n },\n \"bg\": {\n \"types\": [\n \"boxbg\"\n ],\n \"description\": \"Background color\"\n },\n \"border\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show border\"\n },\n \"rounded\": {\n \"types\": [\n \"boxrounded\"\n ],\n \"description\": \"Border radius\"\n },\n \"shadow\": {\n \"types\": [\n \"boxshadow\"\n ],\n \"description\": \"Box shadow\"\n },\n \"display\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display type\"\n },\n \"fullWidth\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available width\"\n },\n \"fullHeight\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available height\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow behavior\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n },\n \"hoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave\"\n }\n }\n },\n \"grid\": {\n \"type\": \"grid\",\n \"category\": \"layout\",\n \"description\": \"CSS Grid layout for multi-column content\",\n \"suggestedFor\": [\n \"dashboards\",\n \"card grids\",\n \"multi-column layouts\",\n \"responsive grids\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"cols\": {\n \"types\": [\n \"gridcols\",\n \"responsivegridcols\"\n ],\n \"description\": \"Number of columns (can be responsive object)\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of rows\"\n },\n \"gap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"rowGap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Row gap (overrides gap for rows)\"\n },\n \"colGap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Column gap (overrides gap for columns)\"\n },\n \"alignItems\": {\n \"types\": [\n \"gridalign\"\n ],\n \"description\": \"Align items on block axis\"\n },\n \"justifyItems\": {\n \"types\": [\n \"gridjustify\"\n ],\n \"description\": \"Justify items on inline axis\"\n },\n \"flow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Auto-flow direction\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"center\": {\n \"type\": \"center\",\n \"category\": \"layout\",\n \"description\": \"Centers content horizontally and vertically\",\n \"suggestedFor\": [\n \"centered modals\",\n \"loading states\",\n \"empty states\",\n \"hero sections\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"inline\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center inline (width fits content) vs block (full width)\"\n },\n \"horizontal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center only horizontally\"\n },\n \"vertical\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center only vertically\"\n },\n \"minHeight\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Minimum height (useful for vertical centering)\"\n },\n \"fullHeight\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available height\"\n },\n \"fullWidth\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available width\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"spacer\": {\n \"type\": \"spacer\",\n \"category\": \"layout\",\n \"description\": \"Flexible space that expands to fill available room\",\n \"suggestedFor\": [\n \"pushing elements apart\",\n \"flexible spacing\",\n \"layout adjustment\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"spacersize\"\n ],\n \"description\": \"Fixed size (auto = flex grow)\"\n },\n \"axis\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Orientation (for fixed sizes)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n }\n }\n },\n \"divider\": {\n \"type\": \"divider\",\n \"category\": \"layout\",\n \"description\": \"Visual separator between content sections\",\n \"suggestedFor\": [\n \"section breaks\",\n \"content separation\",\n \"visual grouping\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"orientation\": {\n \"types\": [\n \"dividerorientation\"\n ],\n \"description\": \"Orientation of the divider @default 'horizontal'\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text label to display in the divider\"\n },\n \"variant\": {\n \"types\": [\n \"dividervariant\"\n ],\n \"description\": \"Line style variant @default 'solid'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-hud\": {\n \"type\": \"game-hud\",\n \"category\": \"game\",\n \"description\": \"Heads-up display showing health, score, lives\",\n \"suggestedFor\": [\n \"game page\",\n \"gameplay overlay\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position of the HUD\"\n },\n \"stats\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Stats to display - accepts readonly for compatibility with generated const arrays\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for stats (schema compatibility)\"\n },\n \"elements\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Schema-style elements array (alternative to stats). Converted to stats internally for backwards compatibility.\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"transparent\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to use a semi-transparent background\"\n }\n }\n },\n \"game-menu\": {\n \"type\": \"game-menu\",\n \"category\": \"game\",\n \"description\": \"Main menu with start, options, credits\",\n \"suggestedFor\": [\n \"main menu page\",\n \"start screen\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Menu title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional subtitle or version\"\n },\n \"options\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Menu options - accepts readonly for compatibility with generated const arrays\"\n },\n \"menuItems\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for options (schema compatibility)\"\n },\n \"onSelect\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an option is selected (legacy callback, prefer event bus)\"\n },\n \"eventBus\": {\n \"types\": [\n \"eventbuscontexttype\"\n ],\n \"description\": \"Event bus for emitting UI events (optional, uses hook if not provided)\"\n },\n \"background\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image or gradient\"\n },\n \"logo\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image URL\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-over-screen\": {\n \"type\": \"game-over-screen\",\n \"category\": \"game\",\n \"description\": \"Game over screen with score and retry option\",\n \"suggestedFor\": [\n \"game over\",\n \"victory screen\",\n \"defeat screen\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Screen title (e.g., \\\"Game Over\\\", \\\"Victory!\\\")\",\n \"required\": true\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional message\"\n },\n \"stats\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Stats to display\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Action buttons\"\n },\n \"menuItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Alias for actions (schema compatibility)\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an action is selected (legacy callback, prefer event bus)\"\n },\n \"eventBus\": {\n \"types\": [\n \"eventbuscontexttype\"\n ],\n \"description\": \"Event bus for emitting UI events (optional, uses hook if not provided)\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Victory or defeat variant\"\n },\n \"highScore\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"High score (optional, shows \\\"NEW HIGH SCORE!\\\" if exceeded)\"\n },\n \"currentScore\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Current score for high score comparison (accepts string for schema bindings)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"inventory-panel\": {\n \"type\": \"inventory-panel\",\n \"category\": \"game\",\n \"description\": \"Grid-based inventory UI for items, equipment, or resources\",\n \"suggestedFor\": [\n \"rpg inventory\",\n \"item management\",\n \"crafting\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of items in inventory\",\n \"required\": true\n },\n \"slots\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of slots\",\n \"required\": true\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns in grid\",\n \"required\": true\n },\n \"selectedSlot\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Currently selected slot index\"\n },\n \"onSelectSlot\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a slot is selected\"\n },\n \"onUseItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is used (double-click or Enter)\"\n },\n \"onDropItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is dropped\"\n },\n \"selectSlotEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{selectSlotEvent} with { index } when a slot is selected\"\n },\n \"useItemEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{useItemEvent} with { item } when an item is used\"\n },\n \"dropItemEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{dropItemEvent} with { item } when an item is dropped\"\n },\n \"showTooltips\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show item tooltips on hover\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n },\n \"slotSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Slot size in pixels\"\n }\n }\n },\n \"dialogue-box\": {\n \"type\": \"dialogue-box\",\n \"category\": \"game\",\n \"description\": \"RPG-style dialogue box with speaker, portrait, and choices\",\n \"suggestedFor\": [\n \"npc dialogue\",\n \"story sequences\",\n \"tutorials\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"dialogue\": {\n \"types\": [\n \"dialoguenode\"\n ],\n \"description\": \"Current dialogue node to display\",\n \"required\": true\n },\n \"typewriterSpeed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Typewriter speed in ms per character (0 = instant)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position of dialogue box\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when text animation completes\"\n },\n \"onChoice\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a choice is selected\"\n },\n \"onAdvance\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when dialogue is advanced (no choices)\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{completeEvent} when text animation completes\"\n },\n \"choiceEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{choiceEvent} with { choice } when a choice is selected\"\n },\n \"advanceEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{advanceEvent} when dialogue is advanced\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n }\n }\n },\n \"runtime-debugger\": {\n \"type\": \"runtime-debugger\",\n \"category\": \"debug\",\n \"description\": \"Debug overlay showing FPS, entity states, event logs\",\n \"suggestedFor\": [\n \"development\",\n \"debugging\",\n \"testing\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Initial position\"\n },\n \"defaultCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Initial collapsed state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"button\": {\n \"type\": \"button\",\n \"category\": \"component\",\n \"description\": \"Clickable button that emits events\",\n \"suggestedFor\": [\n \"actions\",\n \"form submission\",\n \"navigation triggers\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"buttonvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"buttonsize\"\n ],\n \"description\": \"size prop\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isLoading prop\"\n },\n \"leftIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Left icon as ReactNode (preferred)\"\n },\n \"rightIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Right icon as ReactNode (preferred)\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Left icon as Lucide icon component (convenience prop, renders with default size)\"\n },\n \"iconRight\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Right icon as Lucide icon component (convenience prop)\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button label text (alternative to children for schema-driven rendering)\"\n }\n }\n },\n \"badge\": {\n \"type\": \"badge\",\n \"category\": \"component\",\n \"description\": \"Small label for status or count\",\n \"suggestedFor\": [\n \"status indicators\",\n \"counts\",\n \"tags\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"badgevariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"badgesize\"\n ],\n \"description\": \"size prop\"\n }\n }\n },\n \"avatar\": {\n \"type\": \"avatar\",\n \"category\": \"component\",\n \"description\": \"User avatar image or initials\",\n \"suggestedFor\": [\n \"user profiles\",\n \"comments\",\n \"team lists\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image source URL\"\n },\n \"alt\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alt text for the image\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Full name - initials will be generated automatically\"\n },\n \"initials\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Initials to display (e.g., \\\"JD\\\" for John Doe) If not provided but name is, initials will be auto-generated\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Icon to display when no image or initials\"\n },\n \"size\": {\n \"types\": [\n \"avatarsize\"\n ],\n \"description\": \"Size of the avatar @default 'md'\"\n },\n \"status\": {\n \"types\": [\n \"avatarstatus\"\n ],\n \"description\": \"Status indicator\"\n },\n \"badge\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Badge content (e.g., notification count)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n }\n }\n },\n \"icon\": {\n \"type\": \"icon\",\n \"category\": \"component\",\n \"description\": \"Icon from Lucide icon set\",\n \"suggestedFor\": [\n \"decorative icons\",\n \"status indicators\",\n \"buttons\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Lucide icon component (preferred for type-safe usage)\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name as string (resolved from iconMap)\"\n },\n \"size\": {\n \"types\": [\n \"iconsize\"\n ],\n \"description\": \"Size of the icon\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Color class (Tailwind color class) or 'inherit' for theme default\"\n },\n \"animation\": {\n \"types\": [\n \"iconanimation\"\n ],\n \"description\": \"Animation type\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"strokeWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Icon stroke width - uses theme default if not specified\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n }\n }\n },\n \"card\": {\n \"type\": \"card\",\n \"category\": \"component\",\n \"description\": \"Card container with optional header and footer\",\n \"suggestedFor\": [\n \"content cards\",\n \"product cards\",\n \"info cards\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Card title\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Card subtitle or description\"\n },\n \"image\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image URL to display at top of card\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Action buttons to display in card footer\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Card content\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler for the entire card\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on card click\"\n }\n }\n },\n \"progress-bar\": {\n \"type\": \"progress-bar\",\n \"category\": \"component\",\n \"description\": \"Progress indicator bar\",\n \"suggestedFor\": [\n \"progress tracking\",\n \"loading\",\n \"completion status\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Progress value (0-100)\",\n \"required\": true\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value (for calculating percentage) @default 100\"\n },\n \"variant\": {\n \"types\": [\n \"progressbarvariant\"\n ],\n \"description\": \"Variant/color of the progress bar @default 'primary'\"\n },\n \"color\": {\n \"types\": [\n \"progressbarcolor\"\n ],\n \"description\": \"Color variant (alias for variant) @default 'primary'\"\n },\n \"showPercentage\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show percentage text @default false\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Alias for showPercentage (pattern compatibility)\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label text\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size (for circular variant) @default 'md'\"\n },\n \"steps\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of steps (for stepped variant) @default 5\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"progressType\": {\n \"types\": [\n \"progressbartype\"\n ],\n \"description\": \"Type of the progress bar (linear, circular, stepped) @default 'linear'\"\n }\n }\n },\n \"spinner\": {\n \"type\": \"spinner\",\n \"category\": \"component\",\n \"description\": \"Loading spinner animation\",\n \"suggestedFor\": [\n \"loading states\",\n \"async operations\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"spinnersize\"\n ],\n \"description\": \"size prop\"\n }\n }\n },\n \"input\": {\n \"type\": \"input\",\n \"category\": \"component\",\n \"description\": \"Text input field\",\n \"suggestedFor\": [\n \"forms\",\n \"search\",\n \"data entry\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n },\n \"leftIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"leftIcon prop\"\n },\n \"rightIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"rightIcon prop\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Lucide icon component for left side (convenience prop)\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show clear button when input has value\"\n },\n \"onClear\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when clear button is clicked\"\n },\n \"options\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Options for select type\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Rows for textarea type\"\n },\n \"onChange\": {\n \"types\": [\n \"react.changeeventhandler\"\n ],\n \"description\": \"onChange handler - accepts events from input, select, or textarea\"\n },\n \"inputType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Input type - supports 'select' and 'textarea' in addition to standard types\"\n }\n }\n },\n \"textarea\": {\n \"type\": \"textarea\",\n \"category\": \"component\",\n \"description\": \"Multi-line text input\",\n \"suggestedFor\": [\n \"long text\",\n \"descriptions\",\n \"comments\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n }\n }\n },\n \"select\": {\n \"type\": \"select\",\n \"category\": \"component\",\n \"description\": \"Dropdown select input\",\n \"suggestedFor\": [\n \"option selection\",\n \"filters\",\n \"forms\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"options\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"options prop\",\n \"required\": true\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"placeholder prop\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n }\n }\n },\n \"checkbox\": {\n \"type\": \"checkbox\",\n \"category\": \"component\",\n \"description\": \"Checkbox input\",\n \"suggestedFor\": [\n \"boolean options\",\n \"multi-select\",\n \"toggles\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\"\n }\n }\n },\n \"radio\": {\n \"type\": \"radio\",\n \"category\": \"component\",\n \"description\": \"Radio button input\",\n \"suggestedFor\": [\n \"single selection\",\n \"options\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label text displayed next to the radio button\"\n },\n \"helperText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Helper text displayed below the radio button\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message displayed below the radio button\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size of the radio button @default 'md'\"\n }\n }\n },\n \"switch\": {\n \"type\": \"switch\",\n \"category\": \"component\",\n \"description\": \"Toggle switch input\",\n \"suggestedFor\": [\n \"on/off settings\",\n \"toggles\",\n \"preferences\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"checked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"checked prop\"\n },\n \"defaultChecked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"defaultChecked prop\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onChange prop\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"disabled prop\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"id prop\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"name prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"label\": {\n \"type\": \"label\",\n \"category\": \"component\",\n \"description\": \"Form field label\",\n \"suggestedFor\": [\n \"form fields\",\n \"input labels\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"required prop\"\n }\n }\n },\n \"alert\": {\n \"type\": \"alert\",\n \"category\": \"component\",\n \"description\": \"Alert message box\",\n \"suggestedFor\": [\n \"warnings\",\n \"errors\",\n \"info messages\",\n \"success messages\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Alert content (children or message)\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alert message (alias for children)\"\n },\n \"variant\": {\n \"types\": [\n \"alertvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"dismissible prop\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onDismiss prop\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onClose prop\"\n },\n \"actions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"actions prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"dismissEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative dismiss event — emits UI:{dismissEvent} via eventBus when alert is dismissed\"\n }\n }\n },\n \"tooltip\": {\n \"type\": \"tooltip\",\n \"category\": \"component\",\n \"description\": \"Hover tooltip\",\n \"suggestedFor\": [\n \"hints\",\n \"extra info\",\n \"help text\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Tooltip content\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Tooltip trigger element (ReactElement or ReactNode that will be wrapped in span)\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"tooltipposition\"\n ],\n \"description\": \"Tooltip position\"\n },\n \"delay\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Show delay in milliseconds\"\n },\n \"hideDelay\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Hide delay in milliseconds\"\n },\n \"showArrow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show arrow\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"popover\": {\n \"type\": \"popover\",\n \"category\": \"component\",\n \"description\": \"Click-triggered popover\",\n \"suggestedFor\": [\n \"menus\",\n \"additional info\",\n \"actions\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Popover content\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Popover trigger element (ReactElement or ReactNode that will be wrapped in span)\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"popoverposition\"\n ],\n \"description\": \"Popover position @default 'bottom'\"\n },\n \"trigger\": {\n \"types\": [\n \"popovertrigger\"\n ],\n \"description\": \"Trigger type @default 'click'\"\n },\n \"showArrow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show arrow @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"menu\": {\n \"type\": \"menu\",\n \"category\": \"component\",\n \"description\": \"Dropdown menu\",\n \"suggestedFor\": [\n \"actions menu\",\n \"context menu\",\n \"dropdown\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"trigger\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Menu trigger element\",\n \"required\": true\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Menu items\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"menuposition\"\n ],\n \"description\": \"Menu position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"accordion\": {\n \"type\": \"accordion\",\n \"category\": \"component\",\n \"description\": \"Collapsible accordion sections\",\n \"suggestedFor\": [\n \"FAQs\",\n \"collapsible content\",\n \"settings\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Accordion items\",\n \"required\": true\n },\n \"multiple\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow multiple items open at once @default false\"\n },\n \"defaultOpenItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Default open items (IDs)\"\n },\n \"defaultOpen\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Default open items by index (pattern compatibility)\"\n },\n \"openItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Controlled open items (IDs)\"\n },\n \"onItemToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when item opens/closes\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"toggleEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative toggle event — emits UI:{toggleEvent} with { itemId, isOpen }\"\n }\n }\n },\n \"container\": {\n \"type\": \"container\",\n \"category\": \"component\",\n \"description\": \"Centered max-width container\",\n \"suggestedFor\": [\n \"page content\",\n \"centered layouts\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"containersize\"\n ],\n \"description\": \"Maximum width\"\n },\n \"maxWidth\": {\n \"types\": [\n \"containersize\"\n ],\n \"description\": \"Alias for size (pattern compatibility)\"\n },\n \"padding\": {\n \"types\": [\n \"containerpadding\"\n ],\n \"description\": \"Horizontal padding\"\n },\n \"center\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center horizontally\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"simple-grid\": {\n \"type\": \"simple-grid\",\n \"category\": \"component\",\n \"description\": \"Simple responsive grid with auto columns\",\n \"suggestedFor\": [\n \"card grids\",\n \"gallery\",\n \"responsive layouts\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"minChildWidth\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Minimum width of each child (e.g., 200, \\\"200px\\\", \\\"15rem\\\")\"\n },\n \"maxCols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of columns\"\n },\n \"cols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Exact number of columns (disables auto-fit)\"\n },\n \"gap\": {\n \"types\": [\n \"simplegridgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n }\n }\n },\n \"repeatable-form-section\": {\n \"type\": \"repeatable-form-section\",\n \"category\": \"form\",\n \"description\": \"Repeatable form section for multiple entries\",\n \"suggestedFor\": [\n \"repeating fields\",\n \"dynamic forms\",\n \"multi-entry sections\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"sectionType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section type identifier\",\n \"required\": true\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\",\n \"required\": true\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Items in the section\",\n \"required\": true\n },\n \"renderItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Render function for each item\",\n \"required\": true\n },\n \"minItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum items required\"\n },\n \"maxItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum items allowed\"\n },\n \"allowReorder\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow reordering\"\n },\n \"addLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Add button label\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n },\n \"readOnly\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Read-only mode\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"onAdd\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Add handler\"\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Remove handler\"\n },\n \"onReorder\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Reorder handler\"\n },\n \"trackAddedInState\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Inspection-specific enhancements\"\n },\n \"currentState\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current inspection state (used when trackAddedInState is true)\"\n },\n \"showAuditInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show audit metadata (addedInState, addedAt)\"\n }\n }\n },\n \"conditional-wrapper\": {\n \"type\": \"conditional-wrapper\",\n \"category\": \"component\",\n \"description\": \"ConditionalWrapper Atom Component A wrapper component that conditionally renders its children based on S-expression evaluation. Used for dynamic field visibility in inspection forms.\",\n \"suggestedFor\": [\n \"conditional\",\n \"wrapper\",\n \"conditional wrapper\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"condition\": {\n \"types\": [\n \"sexpr\"\n ],\n \"description\": \"The S-expression condition to evaluate\"\n },\n \"context\": {\n \"types\": [\n \"conditionalcontext\"\n ],\n \"description\": \"Context for evaluating the condition\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render when condition is true (or when no condition is provided)\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Optional fallback to render when condition is false\"\n },\n \"animate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to animate the transition (uses CSS transitions)\"\n }\n }\n },\n \"law-reference-tooltip\": {\n \"type\": \"law-reference-tooltip\",\n \"category\": \"component\",\n \"description\": \"LawReferenceTooltip Atom Component A specialized tooltip for displaying law references in inspection forms. Shows law name, article number, and relevant clause text.\",\n \"suggestedFor\": [\n \"law\",\n \"reference\",\n \"tooltip\",\n \"law reference tooltip\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"reference\": {\n \"types\": [\n \"lawreference\"\n ],\n \"description\": \"The law reference to display\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children element that triggers the tooltip\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tooltip position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"overlay\": {\n \"type\": \"overlay\",\n \"category\": \"container\",\n \"description\": \"Overlay Atom Component A fixed backdrop for modals and drawers.\",\n \"suggestedFor\": [\n \"overlay\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"isVisible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isVisible prop\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onClick prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"blur\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"blur prop\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n }\n }\n },\n \"stack\": {\n \"type\": \"stack\",\n \"category\": \"component\",\n \"description\": \"Stack Component A layout primitive for arranging children in a vertical or horizontal stack with consistent spacing. Includes convenience exports VStack and HStack for common use cases.\",\n \"suggestedFor\": [\n \"stack\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"stackdirection\"\n ],\n \"description\": \"Stack direction\"\n },\n \"gap\": {\n \"types\": [\n \"stackgap\"\n ],\n \"description\": \"Gap between children\"\n },\n \"align\": {\n \"types\": [\n \"stackalign\"\n ],\n \"description\": \"Align items on the cross axis\"\n },\n \"justify\": {\n \"types\": [\n \"stackjustify\"\n ],\n \"description\": \"Justify items on the main axis\"\n },\n \"wrap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow items to wrap\"\n },\n \"reverse\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Reverse the order of children\"\n },\n \"flex\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available space (flex: 1)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"onKeyDown\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Keyboard handler\"\n },\n \"role\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Role for accessibility\"\n },\n \"tabIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Tab index for focus management\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n }\n }\n },\n \"text-highlight\": {\n \"type\": \"text-highlight\",\n \"category\": \"component\",\n \"description\": \"TextHighlight Atom Component A styled span component for highlighting text with annotations (questions or notes). Uses different colors for different annotation types: - Questions: Blue highlight - Notes: Yellow highlight\",\n \"suggestedFor\": [\n \"text\",\n \"highlight\",\n \"text highlight\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"highlightType\": {\n \"types\": [\n \"highlighttype\"\n ],\n \"description\": \"Type of highlight (determines color)\",\n \"required\": true\n },\n \"isActive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the highlight is currently active/focused @default false\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when highlight is clicked\"\n },\n \"onMouseEnter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when highlight is hovered\"\n },\n \"onMouseLeave\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when hover ends\"\n },\n \"annotationId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unique ID for the annotation\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Highlighted text content\",\n \"required\": true\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"hoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false }\"\n }\n }\n },\n \"theme-toggle\": {\n \"type\": \"theme-toggle\",\n \"category\": \"component\",\n \"description\": \"ThemeToggle Atom Component A button that toggles between light and dark themes. Uses Sun and Moon icons to indicate current/target theme.\",\n \"suggestedFor\": [\n \"theme\",\n \"toggle\",\n \"theme toggle\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show label text\"\n }\n }\n },\n \"typography\": {\n \"type\": \"typography\",\n \"category\": \"component\",\n \"description\": \"Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n },\n \"control-button\": {\n \"type\": \"control-button\",\n \"category\": \"component\",\n \"description\": \"ControlButton component\",\n \"suggestedFor\": [\n \"control\",\n \"button\",\n \"control button\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button label text\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"shape\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Shape variant\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual variant\"\n },\n \"onPress\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when button is pressed\"\n },\n \"onRelease\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when button is released\"\n },\n \"pressEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on press via useEventBus\"\n },\n \"releaseEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on release via useEventBus\"\n },\n \"pressed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the button is currently pressed\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the button is disabled\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"health-bar\": {\n \"type\": \"health-bar\",\n \"category\": \"component\",\n \"description\": \"HealthBar component\",\n \"suggestedFor\": [\n \"health\",\n \"bar\",\n \"health bar\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"current\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current health value\",\n \"required\": true\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum health value\",\n \"required\": true\n },\n \"format\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display format\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation on change\"\n }\n }\n },\n \"score-display\": {\n \"type\": \"score-display\",\n \"category\": \"component\",\n \"description\": \"ScoreDisplay component\",\n \"suggestedFor\": [\n \"score\",\n \"display\",\n \"score display\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current score value\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label to display before score\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation on value change\"\n },\n \"locale\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Number formatting locale\"\n }\n }\n },\n \"sprite\": {\n \"type\": \"sprite\",\n \"category\": \"game\",\n \"description\": \"Sprite Component Renders a single frame from a spritesheet with transform support.\",\n \"suggestedFor\": [\n \"sprite\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"spritesheet\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Spritesheet image URL\",\n \"required\": true\n },\n \"frameWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Width of each frame in pixels\",\n \"required\": true\n },\n \"frameHeight\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Height of each frame in pixels\",\n \"required\": true\n },\n \"frame\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Frame index to display (0-based, left-to-right, top-to-bottom)\",\n \"required\": true\n },\n \"x\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"X position in pixels\",\n \"required\": true\n },\n \"y\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Y position in pixels\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Scale factor (default: 1)\"\n },\n \"flipX\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Flip horizontally\"\n },\n \"flipY\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Flip vertically\"\n },\n \"rotation\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Rotation in degrees\"\n },\n \"opacity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Opacity (0-1)\"\n },\n \"zIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Z-index for layering\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns in spritesheet (for frame calculation)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Optional onClick handler\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on click via useEventBus\"\n }\n }\n },\n \"form-actions\": {\n \"type\": \"form-actions\",\n \"category\": \"component\",\n \"description\": \"ButtonGroup Molecule Component A component for grouping buttons together with connected styling. Supports both children-based and form-actions pattern (primary/secondary) usage. Uses Button atoms.\",\n \"suggestedFor\": [\n \"button\",\n \"group\",\n \"button group\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Button group content (Button components) - use this OR primary/secondary\"\n },\n \"primary\": {\n \"types\": [\n \"readonly\"\n ],\n \"description\": \"Primary action button config (for form-actions pattern) Accepts Readonly for compatibility with generated const objects\"\n },\n \"secondary\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Secondary action buttons config (for form-actions pattern) Accepts readonly array for compatibility with generated const arrays\"\n },\n \"variant\": {\n \"types\": [\n \"buttongroupvariant\"\n ],\n \"description\": \"Visual variant @default 'default'\"\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Orientation @default 'horizontal'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type for filter-group pattern (schema metadata)\"\n },\n \"filters\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Filter definitions for filter-group pattern\"\n }\n }\n },\n \"flex\": {\n \"type\": \"flex\",\n \"category\": \"component\",\n \"description\": \"Flex Component A flexbox wrapper with all common flex properties exposed as props. More explicit than Stack for when you need full flex control.\",\n \"suggestedFor\": [\n \"flex\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"flexdirection\"\n ],\n \"description\": \"Flex direction\"\n },\n \"wrap\": {\n \"types\": [\n \"flexwrap\"\n ],\n \"description\": \"Flex wrap\"\n },\n \"align\": {\n \"types\": [\n \"flexalign\"\n ],\n \"description\": \"Align items\"\n },\n \"justify\": {\n \"types\": [\n \"flexjustify\"\n ],\n \"description\": \"Justify content\"\n },\n \"gap\": {\n \"types\": [\n \"flexgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"inline\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Inline flex\"\n },\n \"grow\": {\n \"types\": [\n \"boolean\",\n \"number\"\n ],\n \"description\": \"Flex grow\"\n },\n \"shrink\": {\n \"types\": [\n \"boolean\",\n \"number\"\n ],\n \"description\": \"Flex shrink\"\n },\n \"basis\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Flex basis\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"floating-action-button\": {\n \"type\": \"floating-action-button\",\n \"category\": \"component\",\n \"description\": \"FloatingActionButton Molecule Component A floating action button that can expand into multiple actions vertically. Uses Button atom.\",\n \"suggestedFor\": [\n \"floating\",\n \"action\",\n \"button\",\n \"floating action button\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"action\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Single action (if only one action, button will directly trigger onClick)\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Multiple actions (if provided, button will expand to show all actions)\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name (simplified API for pattern compatibility)\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler (simplified API for pattern compatibility)\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant (simplified API for pattern compatibility)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button position @default 'bottom-right'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"form-field\": {\n \"type\": \"form-field\",\n \"category\": \"form\",\n \"description\": \"FormField Molecule Component A form field wrapper with label, hint, and error message support. **Atomic Design**: Composed using Label and Typography atoms.\",\n \"suggestedFor\": [\n \"form\",\n \"field\",\n \"form field\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"required prop\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n },\n \"hint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"hint prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n }\n }\n },\n \"form-section-header\": {\n \"type\": \"form-section-header\",\n \"category\": \"form\",\n \"description\": \"FormSectionHeader Header component for collapsible form sections. Provides consistent styling and interaction for section headers.\",\n \"suggestedFor\": [\n \"form\",\n \"section\",\n \"header\",\n \"form section header\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section subtitle\"\n },\n \"isCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section is collapsed\"\n },\n \"onToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Toggle collapse handler (makes header clickable)\"\n },\n \"badge\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Badge text (e.g., \\\"3 fields\\\", \\\"Required\\\", \\\"Complete\\\")\"\n },\n \"badgeVariant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Badge variant\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name to show before title\"\n },\n \"hasErrors\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section has validation errors\"\n },\n \"isComplete\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section is complete\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"input-group\": {\n \"type\": \"input-group\",\n \"category\": \"form\",\n \"description\": \"InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.\",\n \"suggestedFor\": [\n \"input\",\n \"group\",\n \"input group\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"leftAddon\": {\n \"types\": [\n \"node\",\n \"icon\"\n ],\n \"description\": \"Left addon (icon, button, or text)\"\n },\n \"rightAddon\": {\n \"types\": [\n \"node\",\n \"icon\"\n ],\n \"description\": \"Right addon (icon, button, or text)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"relation-select\": {\n \"type\": \"relation-select\",\n \"category\": \"form\",\n \"description\": \"RelationSelect Molecule Component A searchable select component for relation fields. Allows users to search and select from related entities. Composed from: Box, HStack, VStack, Input, Button, Spinner, Typography atoms\",\n \"suggestedFor\": [\n \"relation\",\n \"select\",\n \"relation select\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current value (ID)\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when value changes\"\n },\n \"options\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Available options - accepts readonly for compatibility with generated const arrays\",\n \"required\": true\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Placeholder text\"\n },\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the field is required\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the field is disabled\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether data is loading\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow clearing the selection\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Name attribute for forms\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n }\n }\n },\n \"side-panel\": {\n \"type\": \"side-panel\",\n \"category\": \"component\",\n \"description\": \"SidePanel Molecule Component A side panel that slides in from the right (or left) with header and content. Uses Button, Typography atoms.\",\n \"suggestedFor\": [\n \"side\",\n \"panel\",\n \"side panel\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel title\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Panel content\",\n \"required\": true\n },\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Is panel open\",\n \"required\": true\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"On close handler\",\n \"required\": true\n },\n \"width\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel width @default 'w-96'\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel position @default 'right'\"\n },\n \"showOverlay\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show overlay on mobile @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when panel should close\"\n }\n }\n },\n \"violation-alert\": {\n \"type\": \"violation-alert\",\n \"category\": \"state\",\n \"description\": \"ViolationAlert Displays inspection violations with law references and action types. Used in inspection forms to show detected compliance violations. Action Types: - measure: Corrective measure required (warning) - admin: Administrative action (error) - penalty: Penalty proceedings (error, severe)\",\n \"suggestedFor\": [\n \"violation\",\n \"alert\",\n \"violation alert\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"violation\": {\n \"types\": [\n \"violationrecord\"\n ],\n \"description\": \"Violation data\",\n \"required\": true\n },\n \"severity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual severity (derived from actionType if not specified)\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Dismissible alert\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Dismiss handler\"\n },\n \"onNavigateToField\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Navigate to the field that caused violation\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact display mode\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"action-buttons\": {\n \"type\": \"action-buttons\",\n \"category\": \"component\",\n \"description\": \"ActionButtons component\",\n \"suggestedFor\": [\n \"action\",\n \"buttons\",\n \"action buttons\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"buttons\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Button configurations\",\n \"required\": true\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a button is pressed/released\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on action via useEventBus\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Layout variant\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n }\n }\n },\n \"d-pad\": {\n \"type\": \"d-pad\",\n \"category\": \"component\",\n \"description\": \"DPad component\",\n \"suggestedFor\": [\n \"pad\",\n \"d pad\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"onDirection\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a direction is pressed/released\"\n },\n \"directionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on direction press/release via useEventBus\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"includeDiagonals\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to include diagonal buttons\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n }\n }\n },\n \"stat-badge\": {\n \"type\": \"stat-badge\",\n \"category\": \"display\",\n \"description\": \"StatBadge component\",\n \"suggestedFor\": [\n \"stat\",\n \"badge\",\n \"stat badge\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Stat label\",\n \"required\": true\n },\n \"value\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Current value (defaults to 0 if not provided)\"\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value (for bar/hearts format)\"\n },\n \"source\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Data source entity name (for schema config)\"\n },\n \"field\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Field name in the source (for schema config)\"\n },\n \"format\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display format\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"button-pattern\": {\n \"type\": \"button-pattern\",\n \"category\": \"display\",\n \"description\": \"Component Pattern Wrappers Pattern wrappers for atomic UI components that can be rendered via render_ui. These bridge the shell's atomic components with the pattern system. Interactive components emit events via useEventBus for the closed circuit pattern.\",\n \"suggestedFor\": [\n \"button\",\n \"pattern\",\n \"button pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"variant\": {\n \"types\": [\n \"buttonvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"buttonsize\"\n ],\n \"description\": \"size prop\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"disabled prop\"\n },\n \"onClick\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"onClick prop\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"icon prop\"\n },\n \"iconPosition\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"iconPosition prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"custom-pattern\": {\n \"type\": \"custom-pattern\",\n \"category\": \"display\",\n \"description\": \"CustomPattern Component Renders freeform HTML elements with Tailwind classes for custom UI designs. Supports nested children and the closed circuit pattern (action prop for events).\",\n \"suggestedFor\": [\n \"custom\",\n \"pattern\",\n \"custom pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"component\": {\n \"types\": [\n \"allowedcustomcomponent\"\n ],\n \"description\": \"Element type to render\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tailwind classes\"\n },\n \"token\": {\n \"types\": [\n \"string\",\n \"array\"\n ],\n \"description\": \"Token path(s) for design token resolution\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text content (for leaf elements)\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on click (REQUIRED for interactive elements)\"\n },\n \"payload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Event payload\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Nested children patterns\"\n },\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image source (for img elements)\"\n },\n \"alt\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image alt text (for img elements)\"\n },\n \"href\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Link href (for a elements)\"\n },\n \"external\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Open link in new tab\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n },\n \"htmlProps\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Additional HTML attributes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\"\n }\n }\n },\n \"drawer-slot\": {\n \"type\": \"drawer-slot\",\n \"category\": \"layout\",\n \"description\": \"DrawerSlot Component Wraps drawer slot content in a proper Drawer component. Used by trait-driven pages to display drawer UI from render_ui effects. Handles: - Auto-open when content is present - Dispatches CLOSE/CANCEL events when closed - Extracts title from Form or DetailPanel components - Configurable position and size\",\n \"suggestedFor\": [\n \"drawer\",\n \"slot\",\n \"drawer slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the drawer\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Override drawer title (extracted from children if not provided)\"\n },\n \"position\": {\n \"types\": [\n \"drawerposition\"\n ],\n \"description\": \"Drawer position\"\n },\n \"size\": {\n \"types\": [\n \"drawersize\"\n ],\n \"description\": \"Drawer size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"header\": {\n \"type\": \"header\",\n \"category\": \"header\",\n \"description\": \"Header Organism Component A header component for mobile/responsive layouts with menu toggle, brand, and user avatar. Styled to match the main Layout component's mobile header.\",\n \"suggestedFor\": [\n \"header\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo/Brand content\"\n },\n \"logoSrc\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image source\"\n },\n \"brandName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Brand/App name\"\n },\n \"navigationItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items (for desktop header variant)\"\n },\n \"showMenuToggle\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show menu toggle button @default true\"\n },\n \"isMenuOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Is menu open (for toggle icon)\"\n },\n \"onMenuToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Menu toggle callback\"\n },\n \"showSearch\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show search input @default false\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"onSearch\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Search callback\"\n },\n \"userAvatar\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"User avatar configuration\"\n },\n \"userName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"User name (display name or email)\"\n },\n \"onUserClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when user avatar is clicked\"\n },\n \"actions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Action buttons (right side)\"\n },\n \"sticky\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Sticky header @default true\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant - mobile shows menu toggle, desktop shows full nav @default 'mobile'\"\n },\n \"onLogoClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when logo/brand is clicked\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator (closed circuit)\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state (closed circuit)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch (closed circuit)\"\n }\n }\n },\n \"layout-pattern\": {\n \"type\": \"layout-pattern\",\n \"category\": \"layout\",\n \"description\": \"Base props for all layout patterns with children support.\",\n \"suggestedFor\": [\n \"layout\",\n \"pattern\",\n \"layout pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Nested pattern configurations - rendered recursively\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\"\n }\n }\n },\n \"modal-slot\": {\n \"type\": \"modal-slot\",\n \"category\": \"layout\",\n \"description\": \"ModalSlot Component Wraps modal slot content in a proper Modal component. Used by trait-driven pages to display modal UI from render_ui effects. Handles: - Auto-open when content is present - Dispatches CLOSE/CANCEL events when closed - Extracts title from Form components\",\n \"suggestedFor\": [\n \"modal\",\n \"slot\",\n \"modal slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the modal\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Override modal title (extracted from children if not provided)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Modal size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"navigation\": {\n \"type\": \"navigation\",\n \"category\": \"navigation\",\n \"description\": \"Navigation Organism Component A navigation component with items, active indicators, icons, and badges. Uses Menu, ButtonGroup molecules and Button, Icon, Badge, Typography, Divider atoms.\",\n \"suggestedFor\": [\n \"navigation\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\",\n \"required\": true\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Navigation orientation @default 'horizontal'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"orbital-visualization\": {\n \"type\": \"orbital-visualization\",\n \"category\": \"display\",\n \"description\": \"OrbitalVisualization Component Visualizes KFlow schemas as atomic orbitals based on complexity. Uses CSS 3D transforms for lightweight rendering without Three.js. Orbital Types (based on complexity score): - 1s (1-3): Simple sphere - Red - 2s (4-8): Larger sphere - Orange - 2p (9-15): Dumbbell shape - Yellow - 3s (16-25): Sphere with node - Green - 3p (26-40): Complex dumbbell - Blue - 3d (41-60): Cloverleaf - Indigo - 4f (61+): Multi-lobe - Violet\",\n \"suggestedFor\": [\n \"orbital\",\n \"visualization\",\n \"orbital visualization\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"schema\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Full KFlow schema object\"\n },\n \"complexity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Direct complexity override (1-100+)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size of the visualization\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show complexity label\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation enabled\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"section\": {\n \"type\": \"section\",\n \"category\": \"display\",\n \"description\": \"Section Component A semantic section wrapper with optional title, description, and action. Perfect for grouping related content with consistent spacing.\",\n \"suggestedFor\": [\n \"section\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section subtitle/description\"\n },\n \"action\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Action element (e.g., button, link)\"\n },\n \"padding\": {\n \"types\": [\n \"sectionpadding\"\n ],\n \"description\": \"Padding amount\"\n },\n \"variant\": {\n \"types\": [\n \"sectionvariant\"\n ],\n \"description\": \"Visual variant\"\n },\n \"divider\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show divider below header\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"headerClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Header custom class name\"\n },\n \"contentClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Content custom class name\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"sidebar\": {\n \"type\": \"sidebar\",\n \"category\": \"navigation\",\n \"description\": \"Sidebar Organism Component A sidebar component with logo, navigation items, user section, and collapse/expand. Styled to match the main Layout component with theme-aware CSS variables.\",\n \"suggestedFor\": [\n \"sidebar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo/Brand content - can be a ReactNode or logo config\"\n },\n \"logoSrc\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image source\"\n },\n \"brandName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Brand/App name\"\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\",\n \"required\": true\n },\n \"userSection\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"User section content\"\n },\n \"footerContent\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content (e.g., theme toggle)\"\n },\n \"collapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Collapsed state (controlled)\"\n },\n \"defaultCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Default collapsed state\"\n },\n \"collapseChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when collapse state changes, payload: { collapsed: boolean }\"\n },\n \"hideCollapseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Hide the collapse/expand button\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show a close button (for mobile)\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when close button is clicked\"\n },\n \"logoClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when logo/brand is clicked\"\n }\n }\n },\n \"split\": {\n \"type\": \"split\",\n \"category\": \"layout\",\n \"description\": \"Split Component A two-column layout with configurable ratios. Perfect for sidebar/content layouts or side-by-side comparisons.\",\n \"suggestedFor\": [\n \"split\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"ratio\": {\n \"types\": [\n \"splitratio\"\n ],\n \"description\": \"Size ratio between left and right panels\"\n },\n \"gap\": {\n \"types\": [\n \"splitgap\"\n ],\n \"description\": \"Gap between panels\"\n },\n \"reverse\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Reverse the order (right first)\"\n },\n \"stackOnMobile\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Stack vertically on mobile\"\n },\n \"stackBreakpoint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Breakpoint to switch from stacked to side-by-side\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Align items vertically\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"leftClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Left/first panel class name\"\n },\n \"rightClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Right/second panel class name\"\n },\n \"children\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Exactly two children: [left, right]\",\n \"required\": true\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"table\": {\n \"type\": \"table\",\n \"category\": \"display\",\n \"description\": \"Table Organism Component A table component with header row, data rows, pagination, sorting, and filters. Uses Pagination, SearchInput, ButtonGroup, Card, Menu molecules and Button, Icon, Checkbox, Typography, Badge, Divider atoms.\",\n \"suggestedFor\": [\n \"table\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"sortdirection\"\n ],\n \"description\": \"Current sort direction (display hint)\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"columns\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Table columns\",\n \"required\": true\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable row selection @default false\"\n },\n \"sortable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable sorting @default false\"\n },\n \"sortColumn\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort column (display hint, mapped from sortBy)\"\n },\n \"searchable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable search/filter @default false\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"paginated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable pagination @default false\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (display hint)\"\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total pages (display hint)\"\n },\n \"rowActions\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Row actions menu items\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n },\n \"loading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state @default false\"\n }\n }\n },\n \"toast-slot\": {\n \"type\": \"toast-slot\",\n \"category\": \"layout\",\n \"description\": \"ToastSlot Component Wraps toast slot content in a proper Toast component with positioning. Used by trait-driven pages to display toast UI from render_ui effects. Handles: - Auto-show when content is present - Dispatches DISMISS event when dismissed - Fixed positioning in corner of screen\",\n \"suggestedFor\": [\n \"toast\",\n \"slot\",\n \"toast slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the toast (message or ReactNode)\"\n },\n \"variant\": {\n \"types\": [\n \"toastvariant\"\n ],\n \"description\": \"Toast variant\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast title\"\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Auto-dismiss duration in ms (0 = no auto-dismiss)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"u-i-slot-renderer\": {\n \"type\": \"u-i-slot-renderer\",\n \"category\": \"layout\",\n \"description\": \"UISlotRenderer Component Renders all UI slots. This is the central component that displays content rendered by traits via render_ui effects. Slots are rendered as: - Layout slots: Inline in the page flow (main, sidebar) - Portal slots: Rendered via portals (modal, drawer, toast, etc.) - HUD slots: Fixed position overlays (hud-top, hud-bottom)\",\n \"suggestedFor\": [\n \"slot\",\n \"renderer\",\n \"u i slot renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"includeHud\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Include HUD slots\"\n },\n \"includeFloating\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Include floating slot\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name for the container\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"suspense\": {\n \"types\": [\n \"boolean\",\n \"suspenseconfig\"\n ],\n \"description\": \"Enable Suspense boundaries around each slot. When true, each inline slot is wrapped in `<ErrorBoundary><Suspense>` with Skeleton fallbacks. Opt-in — existing isLoading prop pattern still works.\"\n }\n }\n },\n \"split-pane\": {\n \"type\": \"split-pane\",\n \"category\": \"layout\",\n \"description\": \"SplitPane Component Two-pane resizable split layout for master-detail views, dual-pane editors, and code + preview layouts. Uses wireframe theme styling (high contrast, sharp edges).\",\n \"suggestedFor\": [\n \"split\",\n \"pane\",\n \"split pane\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Direction of the split\"\n },\n \"ratio\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Initial ratio (0-100, percentage of first pane)\"\n },\n \"minSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum size of either pane in pixels\"\n },\n \"resizable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow user resizing\"\n },\n \"left\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content for the left/top pane\",\n \"required\": true\n },\n \"right\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content for the right/bottom pane\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"leftClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for left/top pane\"\n },\n \"rightClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for right/bottom pane\"\n }\n }\n },\n \"tabbed-container\": {\n \"type\": \"tabbed-container\",\n \"category\": \"navigation\",\n \"description\": \"TabbedContainer Component Tabbed content areas with shared header/context. Wraps the Tabs molecule with layout-specific styling. Uses wireframe theme styling (high contrast, sharp edges).\",\n \"suggestedFor\": [\n \"tabbed\",\n \"container\",\n \"tabbed container\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab definitions\",\n \"required\": true\n },\n \"defaultTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Default active tab ID\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Controlled active tab\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when tab changes\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"auth-layout\": {\n \"type\": \"auth-layout\",\n \"category\": \"template\",\n \"description\": \"AuthLayout component\",\n \"suggestedFor\": [\n \"auth\",\n \"layout\",\n \"auth layout\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"App name\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo component or URL\"\n },\n \"backgroundImage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image URL\"\n },\n \"showBranding\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show branding panel on the side\"\n },\n \"brandingContent\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Branding panel content\"\n }\n }\n },\n \"counter-template\": {\n \"type\": \"counter-template\",\n \"category\": \"template\",\n \"description\": \"CounterTemplate A presentational template for counter/incrementer features. Supports increment, decrement, and reset operations.\",\n \"suggestedFor\": [\n \"counter\",\n \"template\",\n \"counter template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"onIncrement\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when increment is clicked\"\n },\n \"onDecrement\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when decrement is clicked\"\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when reset is clicked\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title displayed above the counter\"\n },\n \"showReset\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show reset button\"\n },\n \"size\": {\n \"types\": [\n \"countersize\"\n ],\n \"description\": \"Counter display size\"\n },\n \"variant\": {\n \"types\": [\n \"countervariant\"\n ],\n \"description\": \"Template variant\"\n }\n }\n },\n \"dashboard-layout\": {\n \"type\": \"dashboard-layout\",\n \"category\": \"template\",\n \"description\": \"DashboardLayout component\",\n \"suggestedFor\": [\n \"dashboard\",\n \"layout\",\n \"dashboard layout\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"App name shown in sidebar\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo component or URL\"\n },\n \"navItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\"\n },\n \"user\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Current user info (optional - auto-populated from auth context if not provided)\"\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions (notifications, etc.)\"\n },\n \"showSearch\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show search in header\"\n },\n \"sidebarFooter\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom sidebar footer\"\n },\n \"onSignOut\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when user clicks sign out (optional - uses auth context signOut if not provided)\"\n }\n }\n },\n \"game-template\": {\n \"type\": \"game-template\",\n \"category\": \"template\",\n \"description\": \"GameTemplate A presentational template for game applications. Includes a main game canvas/area, HUD overlay, and an optional debug sidebar. **Atomic Design**: Composed using Box, Typography, and Layout molecules/atoms.\",\n \"suggestedFor\": [\n \"game\",\n \"template\",\n \"game template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title of the game\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"The main game canvas or content\",\n \"required\": true\n },\n \"hud\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"HUD overlay content (scores, health, etc.)\"\n },\n \"debugPanel\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Debug panel content\"\n },\n \"showDebugPanel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the debug panel is visible\"\n },\n \"controls\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Game controls\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n }\n }\n },\n \"generic-app-template\": {\n \"type\": \"generic-app-template\",\n \"category\": \"template\",\n \"description\": \"GenericAppTemplate A simple, generic template for any application. Includes a header with title and actions, and a main content area. **Atomic Design**: Composed using Box, Typography, and Button atoms.\",\n \"suggestedFor\": [\n \"generic\",\n \"app\",\n \"template\",\n \"generic app template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Page title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Subtitle or description\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Main content\",\n \"required\": true\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions (buttons, links)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n }\n }\n },\n \"game-shell\": {\n \"type\": \"game-shell\",\n \"category\": \"template\",\n \"description\": \"GameShell A full-screen layout wrapper for game applications. Replaces DashboardLayout for game clients — no sidebar nav, just full-viewport rendering with an optional HUD overlay bar. Used as a React Router layout route element: <Route element={<GameShell appName=\\\"TraitWars\\\" />}> <Route index element={<WorldMapPage />} /> ... </Route>\",\n \"suggestedFor\": [\n \"game\",\n \"shell\",\n \"game shell\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Application / game title shown in the HUD bar\"\n },\n \"hud\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Optional HUD content rendered above the main area\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Extra class name on the root container\"\n },\n \"showTopBar\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show the minimal top bar (default: true)\"\n }\n }\n },\n \"chart\": {\n \"type\": \"chart\",\n \"category\": \"visualization\",\n \"description\": \"Data visualization chart supporting bar, line, pie, area, and donut types\",\n \"suggestedFor\": [\n \"dashboards\",\n \"analytics\",\n \"data visualization\",\n \"reporting\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Chart title\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Chart subtitle / description\"\n },\n \"chartType\": {\n \"types\": [\n \"charttype\"\n ],\n \"description\": \"Chart type\"\n },\n \"series\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Data series\"\n },\n \"data\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Simple data (single series shorthand)\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Chart height in px\"\n },\n \"showLegend\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show legend\"\n },\n \"showValues\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show values on chart\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions for chart interactions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"meter\": {\n \"type\": \"meter\",\n \"category\": \"visualization\",\n \"description\": \"Gauge/meter component for displaying a value within a range with thresholds\",\n \"suggestedFor\": [\n \"dashboards\",\n \"progress tracking\",\n \"credit/quota displays\",\n \"KPI indicators\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current value\",\n \"required\": true\n },\n \"min\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum value\"\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display label\"\n },\n \"unit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unit suffix (e.g., '%', 'MB', 'credits')\"\n },\n \"variant\": {\n \"types\": [\n \"metervariant\"\n ],\n \"description\": \"Display variant\"\n },\n \"thresholds\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Color thresholds\"\n },\n \"segments\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of segments (for segmented variant)\"\n },\n \"showValue\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show value text\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size (for radial variant)\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"timeline\": {\n \"type\": \"timeline\",\n \"category\": \"display\",\n \"description\": \"Vertical timeline for displaying chronological events with status indicators\",\n \"suggestedFor\": [\n \"activity logs\",\n \"process tracking\",\n \"history views\",\n \"workflow steps\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Timeline title\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Timeline items\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions per item\"\n }\n }\n },\n \"media-gallery\": {\n \"type\": \"media-gallery\",\n \"category\": \"media\",\n \"description\": \"Grid gallery for images and media with lightbox, selection, and upload\",\n \"suggestedFor\": [\n \"photo galleries\",\n \"image management\",\n \"media libraries\",\n \"portfolio displays\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gallery title\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Media items\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Column count\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable item selection\"\n },\n \"selectedItems\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Selected item IDs\"\n },\n \"selectionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name emitted when selection changes (emitted as UI:{selectionEvent})\"\n },\n \"showUpload\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show upload button\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"aspectRatio\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Aspect ratio for thumbnails\"\n }\n }\n },\n \"signature-pad\": {\n \"type\": \"signature-pad\",\n \"category\": \"form\",\n \"description\": \"Canvas-based signature capture pad with draw, clear, and confirm actions\",\n \"suggestedFor\": [\n \"form signing\",\n \"approval workflows\",\n \"document signing\",\n \"consent forms\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label above the pad\"\n },\n \"helperText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Helper text\"\n },\n \"strokeColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Stroke color\"\n },\n \"strokeWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Stroke width\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Pad height\"\n },\n \"readOnly\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the pad is read-only\"\n },\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Existing signature image URL\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when signature changes\"\n },\n \"signEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on sign\"\n },\n \"clearEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on clear\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven context\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"document-viewer\": {\n \"type\": \"document-viewer\",\n \"category\": \"display\",\n \"description\": \"Document viewer for PDFs, text, HTML, and markdown with zoom and pagination\",\n \"suggestedFor\": [\n \"document management\",\n \"PDF viewing\",\n \"content preview\",\n \"report viewing\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document title\"\n },\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document URL (for PDF/external documents)\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document content (for text/html/markdown)\"\n },\n \"documentType\": {\n \"types\": [\n \"documenttype\"\n ],\n \"description\": \"Document type\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (for multi-page documents)\"\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total pages\"\n },\n \"height\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Viewer height\"\n },\n \"showToolbar\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show toolbar\"\n },\n \"showDownload\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show download button\"\n },\n \"showPrint\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show print button\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"documents\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Multiple documents (tabbed view)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"graph-canvas\": {\n \"type\": \"graph-canvas\",\n \"category\": \"visualization\",\n \"description\": \"Force-directed graph visualization for node-link data with interactive zoom, pan, and layout\",\n \"suggestedFor\": [\n \"knowledge graphs\",\n \"network visualization\",\n \"relationship mapping\",\n \"dependency graphs\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Graph title\"\n },\n \"nodes\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Graph nodes\"\n },\n \"edges\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Graph edges\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas height\"\n },\n \"showLabels\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show node labels\"\n },\n \"interactive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable zoom/pan\"\n },\n \"draggable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable node dragging\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"onNodeClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"On node click\"\n },\n \"nodeClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Node click event\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Layout algorithm\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"code-viewer\": {\n \"type\": \"code-viewer\",\n \"category\": \"display\",\n \"description\": \"Code and diff viewer with line numbers, copy, word-wrap, and multi-file tabs\",\n \"suggestedFor\": [\n \"code display\",\n \"diff viewing\",\n \"schema inspection\",\n \"log viewing\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Viewer title\"\n },\n \"code\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Code content\"\n },\n \"language\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Language for display label\"\n },\n \"diff\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Diff lines (for diff mode)\"\n },\n \"oldValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Old value (for generating diff)\"\n },\n \"newValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"New value (for generating diff)\"\n },\n \"mode\": {\n \"types\": [\n \"codeviewermode\"\n ],\n \"description\": \"Display mode\"\n },\n \"showLineNumbers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show line numbers\"\n },\n \"showCopy\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show copy button\"\n },\n \"wordWrap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable word wrap\"\n },\n \"maxHeight\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Max height before scrolling\"\n },\n \"files\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Multiple files (tabbed view)\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"canvas-effect\": {\n \"type\": \"canvas-effect\",\n \"category\": \"game\",\n \"description\": \"CanvasEffect Component Renders animated visual effects as DOM overlays on the canvas. Maps combat action types to particle/flash effects that play at a specified position and auto-dismiss. Pattern: canvas-effect\",\n \"suggestedFor\": [\n \"canvas\",\n \"effect\",\n \"canvas effect\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"actionType\": {\n \"types\": [\n \"combatactiontype\"\n ],\n \"description\": \"The type of combat action to visualise\",\n \"required\": true\n },\n \"x\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Screen-space X position (center of the effect)\",\n \"required\": true\n },\n \"y\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Screen-space Y position (center of the effect)\",\n \"required\": true\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Duration in ms before auto-dismiss (default 2000 for canvas, 800 for emoji)\"\n },\n \"intensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Optional intensity multiplier (1 = normal, 2 = double size/brightness)\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when the effect animation completes\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{completeEvent} when the effect animation completes\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"effectSpriteUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Remote asset loading ---\"\n },\n \"assetBaseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base URL for remote assets. Prepended to relative effectSpriteUrl paths.\"\n },\n \"assetManifest\": {\n \"types\": [\n \"effectassetmanifest\"\n ],\n \"description\": \"Full effect asset manifest for the sprite particle engine. When provided, enables the canvas-based particle system.\"\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas width (default 400)\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas height (default 300)\"\n }\n }\n },\n \"isometric-canvas\": {\n \"type\": \"isometric-canvas\",\n \"category\": \"game\",\n \"description\": \"IsometricCanvas Core isometric game renderer. Maps to the `game-canvas` pattern. Adapted from projects/trait-wars/design-system/organisms/IsometricGameCanvas.tsx with full closed-circuit pattern compliance (className, isLoading, error, entity). Architecture: - 2:1 diamond isometric projection - Painter's algorithm (tile → feature → unit depth sort) - Camera pan/zoom with lerp - Off-screen culling - Minimap on separate canvas - Sprite sheet animation via resolveUnitFrame - Event bus–friendly handlers (onTileClick, onUnitClick, etc.)\",\n \"suggestedFor\": [\n \"isometric\",\n \"canvas\",\n \"isometric canvas\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Closed-circuit props (MANDATORY) ---\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"--- Grid data ---\"\n },\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units on the board\"\n },\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features (resources, portals, buildings, etc.)\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Interaction state ---\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions (shown as pulsing green highlights)\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions (shown as pulsing red highlights)\"\n },\n \"hoveredTile\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Hovered tile position\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"--- Event handlers ---\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Unit click handler\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Tile hover handler\"\n },\n \"onTileLeave\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Tile leave handler\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Declarative event props ---\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{unitClickEvent} with { unitId } on unit click\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{tileHoverEvent} with { x, y } on tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{tileLeaveEvent} with {} on tile leave\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"--- Rendering options ---\"\n },\n \"debug\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show debug grid lines and coordinates\"\n },\n \"backgroundImage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image URL tiled behind the isometric grid\"\n },\n \"showMinimap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Toggle minimap overlay\"\n },\n \"enableCamera\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable camera pan/zoom controls\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Extra scale multiplier for unit draw size. 1 = default.\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Override for the diamond-top Y offset within the tile sprite (default: 374). This controls where the flat diamond face sits vertically inside the tile image.\"\n },\n \"getTerrainSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"--- Asset resolution (project-agnostic) ---\"\n },\n \"getFeatureSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve feature sprite URL from feature type key\"\n },\n \"getUnitSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve unit static sprite URL\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve animated sprite sheet frame for a unit\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Additional sprite URLs to preload (e.g., effect sprites)\"\n },\n \"onDrawEffects\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback to draw canvas effects after units\"\n },\n \"hasActiveEffects\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether there are active effects — keeps RAF loop alive\"\n },\n \"assetBaseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Remote asset loading ---\"\n },\n \"assetManifest\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Manifest mapping entity keys to relative sprite paths. Combined with assetBaseUrl to produce full URLs. Used as a fallback when inline URLs and callbacks don't resolve.\"\n }\n }\n },\n \"battle-template\": {\n \"type\": \"battle-template\",\n \"category\": \"template\",\n \"description\": \"BattleTemplate Generalized tactical battle template composing IsometricCanvas from almadar-ui. Provides turn-based phase management, movement animation, valid-move/attack-target calculation, screen shake/flash, and a game-over overlay. Game-specific UI (combat log, trait viewer, damage popups, etc.) is injected via render-prop slots so this template remains project-agnostic.\",\n \"suggestedFor\": [\n \"battle\",\n \"template\",\n \"battle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n }\n }\n },\n \"castle-template\": {\n \"type\": \"castle-template\",\n \"category\": \"template\",\n \"description\": \"CastleTemplate Generalized castle / base-management template composing IsometricCanvas from almadar-ui. Renders an isometric courtyard/base view and exposes a side-panel area via slots for game-specific UI (building details, recruitment, garrison).\",\n \"suggestedFor\": [\n \"castle\",\n \"template\",\n \"castle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n }\n }\n },\n \"world-map-template\": {\n \"type\": \"world-map-template\",\n \"category\": \"template\",\n \"description\": \"WorldMapTemplate Generalized strategic world-map template composing IsometricCanvas from almadar-ui. Renders an isometric hex/iso map with hero selection, movement animation, and encounter callbacks. Game-specific panels (hero detail, hero lists, resource bars) are injected via render-prop slots.\",\n \"suggestedFor\": [\n \"world\",\n \"map\",\n \"template\",\n \"world map template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Override for the diamond-top Y offset within tile sprites (default: 374).\"\n },\n \"allowMoveAllHeroes\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow selecting / moving ALL heroes (including enemy). For testing.\"\n }\n }\n },\n \"battle-board\": {\n \"type\": \"battle-board\",\n \"category\": \"game\",\n \"description\": \"BattleBoard Core game-logic organism extracted from BattleTemplate. Handles turn-based phase management, movement animation, valid-move/attack-target calculation, screen shake/flash, and game-over detection. Accepts a single `entity` prop (BattleEntity) containing all board data, plus optional render-prop slots, callback overrides, and declarative event props that emit via `useEventBus()`.\",\n \"suggestedFor\": [\n \"battle\",\n \"board\",\n \"battle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"battleentity\"\n ],\n \"description\": \"Entity containing all board data\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Slots --\"\n },\n \"sidebar\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Sidebar content (combat log, unit roster, etc.)\"\n },\n \"actions\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Floating action buttons\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Floating overlays above the canvas (damage popups, tooltips)\"\n },\n \"gameOverOverlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Game-over screen overlay\"\n },\n \"onAttack\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onGameEnd\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when battle ends\"\n },\n \"onUnitMove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called after a unit moves\"\n },\n \"calculateDamage\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom combat damage calculator\"\n },\n \"onDrawEffects\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Canvas pass-through --\"\n },\n \"hasActiveEffects\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"hasActiveEffects prop\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"effectSpriteUrls prop\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"resolveUnitFrame prop\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{unitClickEvent} with { unitId } on unit click\"\n },\n \"endTurnEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{endTurnEvent} with {} on end turn\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{cancelEvent} with {} on cancel\"\n },\n \"gameEndEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{gameEndEvent} with { result } on game end\"\n },\n \"playAgainEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playAgainEvent} with {} on play again / reset\"\n },\n \"attackEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{attackEvent} with { attackerId, targetId, damage } on attack\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"castle-board\": {\n \"type\": \"castle-board\",\n \"category\": \"game\",\n \"description\": \"CastleBoard Self-contained castle / base-management game board organism. Encapsulates all isometric canvas rendering, hover/selection state, and slot-based layout. Designed to be consumed by CastleTemplate (thin wrapper) or embedded directly in any page that needs an isometric castle view. Accepts an `entity` prop conforming to `CastleEntity` and optional declarative event props (`featureClickEvent`, `unitClickEvent`, `tileClickEvent`) that emit through the Orbital event bus.\",\n \"suggestedFor\": [\n \"castle\",\n \"board\",\n \"castle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"castleentity\"\n ],\n \"description\": \"Castle entity data\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Render-prop slots --\"\n },\n \"sidePanel\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Side panel content (buildings list, recruit tab, garrison tab)\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Canvas overlay (hover tooltips, etc.)\"\n },\n \"footer\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Bottom bar (income summary, etc.)\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callback overrides --\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a unit is clicked\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when any tile is clicked\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to emit via event bus when a unit is clicked (emits UI:{unitClickEvent})\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to emit via event bus when a tile is clicked (emits UI:{tileClickEvent})\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"game-canvas3-d\": {\n \"type\": \"game-canvas3-d\",\n \"category\": \"game\",\n \"description\": \"Props for GameCanvas3D component\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"game canvas3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Closed-circuit props (MANDATORY) ---\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render inside the 3D canvas (e.g., physics objects, custom meshes)\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of tiles to render\"\n },\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units to render\"\n },\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\"\n },\n \"events\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of events to display\"\n },\n \"fogOfWar\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Fog of war data\"\n },\n \"orientation\": {\n \"types\": [\n \"maporientation\"\n ],\n \"description\": \"Map orientation\"\n },\n \"cameraMode\": {\n \"types\": [\n \"cameramode\"\n ],\n \"description\": \"Camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid\"\n },\n \"showCoordinates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show coordinates overlay\"\n },\n \"showTileInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tile information\"\n },\n \"overlay\": {\n \"types\": [\n \"overlaycontrol\"\n ],\n \"description\": \"Overlay control mode\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a tile is clicked\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a unit is clicked\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a feature is clicked\"\n },\n \"onCanvasClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when canvas is clicked (background)\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when mouse moves over a tile\"\n },\n \"onUnitAnimation\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback for unit animation state change\"\n },\n \"assetLoader\": {\n \"types\": [\n \"assetloader\"\n ],\n \"description\": \"Asset loader instance (uses global singleton if not provided)\"\n },\n \"tileRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom tile renderer component\"\n },\n \"unitRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom unit renderer component\"\n },\n \"featureRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom feature renderer component\"\n },\n \"preloadAssets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"URLs to preload\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile click\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: unit click\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: feature click\"\n },\n \"canvasClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: canvas click\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile leave\"\n },\n \"unitAnimationEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: unit animation\"\n },\n \"cameraChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: camera change\"\n },\n \"loadingMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Loading message\"\n },\n \"useInstancing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to use instancing for tiles\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected tile IDs\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Selected unit ID\"\n }\n }\n },\n \"world-map-board\": {\n \"type\": \"world-map-board\",\n \"category\": \"game\",\n \"description\": \"WorldMapBoard Organism that contains ALL game logic for the strategic world-map view. Renders an isometric hex/iso map with hero selection, movement animation, and encounter callbacks. Game-specific panels (hero detail, hero lists, resource bars) are injected via render-prop slots. This component is the logic-heavy core; WorldMapTemplate is a thin layout wrapper that delegates to WorldMapBoard.\",\n \"suggestedFor\": [\n \"world\",\n \"map\",\n \"board\",\n \"world map board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"worldmapentity\"\n ],\n \"description\": \"World map entity data\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"allowMoveAllHeroes\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow selecting / moving ALL heroes (including enemy). For testing.\"\n },\n \"isInRange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom movement range validator\"\n },\n \"heroSelectEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"heroMoveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{heroMoveEvent} with { heroId, toX, toY }\"\n },\n \"battleEncounterEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{battleEncounterEvent} with { attackerId, defenderId }\"\n },\n \"featureEnterEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{featureEnterEvent} with { heroId, feature, hex }\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{tileClickEvent} with { x, y }\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Slots --\"\n },\n \"sidePanel\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Side panel (hero detail, hero lists, etc.)\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Canvas overlay (tooltips, popups)\"\n },\n \"footer\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Footer\"\n },\n \"onHeroSelect\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onHeroMove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onHeroMove prop\"\n },\n \"onBattleEncounter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when hero clicks an enemy hero tile\"\n },\n \"onFeatureEnter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when hero enters a feature hex (castle, resource, etc.)\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"-- Canvas pass-through --\"\n },\n \"enableCamera\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disable pan/zoom camera (default: true). Set false for fixed maps where overlay labels need stable positions.\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"effectSpriteUrls prop\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"resolveUnitFrame prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"collapsible-section\": {\n \"type\": \"collapsible-section\",\n \"category\": \"display\",\n \"description\": \"Shared Map Editor Utilities Reusable editor components for Storybook-based map editing. All composed from @almadar/ui atoms (Box, VStack, HStack, Typography, Button, Badge). NOTE: These are Storybook editor controls, NOT Orbital templates. They use native HTML inputs wrapped in Box for lightweight editor UX.\",\n \"suggestedFor\": [\n \"collapsible\",\n \"section\",\n \"collapsible section\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\",\n \"required\": true\n },\n \"expanded\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"expanded prop\",\n \"required\": true\n },\n \"onToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onToggle prop\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"camera3-d\": {\n \"type\": \"camera3-d\",\n \"category\": \"display\",\n \"description\": \"Camera3D Three.js camera component with orbit controls. Supports isometric, perspective, and top-down camera modes.\",\n \"suggestedFor\": [\n \"camera3\",\n \"camera3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"mode\": {\n \"types\": [\n \"cameramode\"\n ],\n \"description\": \"Camera mode\"\n },\n \"position\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial camera position\"\n },\n \"target\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Target to look at\"\n },\n \"zoom\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Zoom level\"\n },\n \"fov\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Field of view (perspective mode only)\"\n },\n \"enableOrbit\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable orbit controls\"\n },\n \"minDistance\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum zoom distance\"\n },\n \"maxDistance\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum zoom distance\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when camera changes\"\n }\n }\n },\n \"lighting3-d\": {\n \"type\": \"lighting3-d\",\n \"category\": \"display\",\n \"description\": \"Lighting3D Default lighting setup for 3D game scenes. Includes ambient, directional, and optional point lights.\",\n \"suggestedFor\": [\n \"lighting3\",\n \"lighting3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"ambientIntensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Ambient light intensity\"\n },\n \"ambientColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Ambient light color\"\n },\n \"directionalIntensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Directional light intensity\"\n },\n \"directionalColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Directional light color\"\n },\n \"directionalPosition\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Directional light position\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"shadowMapSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Shadow map size\"\n },\n \"shadowCameraSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Shadow camera size\"\n },\n \"showHelpers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show helper for directional light\"\n }\n }\n },\n \"scene3-d\": {\n \"type\": \"scene3-d\",\n \"category\": \"display\",\n \"description\": \"Scene3D Three.js scene wrapper component for React Three Fiber. Manages the scene environment, fog, and background.\",\n \"suggestedFor\": [\n \"scene3\",\n \"scene3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"background\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color or URL\"\n },\n \"fog\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Fog configuration\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render in scene\"\n }\n }\n },\n \"canvas3-d-error-boundary\": {\n \"type\": \"canvas3-d-error-boundary\",\n \"category\": \"state\",\n \"description\": \"Canvas3DErrorBoundary Error boundary for 3D canvas components. Catches Three.js and React Three Fiber errors gracefully.\",\n \"suggestedFor\": [\n \"canvas3\",\n \"error\",\n \"boundary\",\n \"canvas3 d error boundary\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Child components\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom fallback component\"\n },\n \"onError\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Error callback\"\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Reset callback\"\n }\n }\n },\n \"canvas3-d-loading-state\": {\n \"type\": \"canvas3-d-loading-state\",\n \"category\": \"display\",\n \"description\": \"Canvas3DLoadingState Loading state component for 3D canvas with progress indicator. Displays asset loading progress and estimated time remaining.\",\n \"suggestedFor\": [\n \"canvas3\",\n \"loading\",\n \"state\",\n \"canvas3 d loading state\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"progress\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current loading progress (0-100)\"\n },\n \"loaded\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of assets loaded\"\n },\n \"total\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total assets to load\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Loading message\"\n },\n \"details\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Secondary details message\"\n },\n \"showSpinner\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show spinner\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom className\"\n }\n }\n },\n \"model-loader\": {\n \"type\": \"model-loader\",\n \"category\": \"display\",\n \"description\": \"ModelLoader Component React Three Fiber component for loading and displaying GLB/GLTF models from URLs. Handles loading states and errors without requiring React Suspense.\",\n \"suggestedFor\": [\n \"model\",\n \"loader\",\n \"model loader\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"url\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"URL to the GLB/GLTF model\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Position [x, y, z]\"\n },\n \"scale\": {\n \"types\": [\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Scale - either a single number or [x, y, z]\"\n },\n \"rotation\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Rotation in degrees [x, y, z]\"\n },\n \"isSelected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the model is selected\"\n },\n \"isHovered\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the model is hovered\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"onHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Hover handler\"\n },\n \"fallbackGeometry\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Fallback geometry type\"\n },\n \"castShadow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"receiveShadow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Receive shadows\"\n },\n \"resourceBasePath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base path for shared resources (textures, materials). If not provided, auto-detected from the URL by looking for a `/3d/` segment. E.g. \\\"https://host/3d/\\\" so that \\\"Textures/colormap.png\\\" resolves correctly.\"\n }\n }\n },\n \"physics-object3-d\": {\n \"type\": \"physics-object3-d\",\n \"category\": \"display\",\n \"description\": \"PhysicsObject3D Component Three.js component that syncs a 3D object's position with physics state. Use this to render physics-enabled entities in GameCanvas3D. ```tsx <PhysicsObject3D entityId=\\\"player-1\\\" modelUrl=\\\"https://trait-wars-assets.web.app/3d/medieval/props/barrels.glb\\\" initialPosition={[0, 10, 0]} mass={1} /> ```\",\n \"suggestedFor\": [\n \"physics\",\n \"object3\",\n \"physics object3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entityId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unique entity ID\",\n \"required\": true\n },\n \"modelUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"GLB model URL\",\n \"required\": true\n },\n \"initialPosition\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial position [x, y, z]\"\n },\n \"initialVelocity\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial velocity [vx, vy, vz]\"\n },\n \"mass\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Mass for collision response\"\n },\n \"gravity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Gravity force (default: 9.8)\"\n },\n \"groundY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Ground plane Y position (default: 0)\"\n },\n \"scale\": {\n \"types\": [\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Model scale\"\n },\n \"onPhysicsUpdate\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when physics state updates\"\n },\n \"onGroundHit\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when object hits ground\"\n },\n \"onCollision\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when collision occurs\"\n }\n }\n },\n \"feature-renderer\": {\n \"type\": \"feature-renderer\",\n \"category\": \"display\",\n \"description\": \"FeatureRenderer Renders static features (trees, rocks, buildings) in the 3D scene. Supports different feature types and selection states.\",\n \"suggestedFor\": [\n \"feature\",\n \"renderer\",\n \"feature renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is clicked\"\n },\n \"onFeatureHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is hovered\"\n },\n \"selectedFeatureIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected feature IDs\"\n },\n \"featureColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Feature color overrides\"\n }\n }\n },\n \"feature-renderer3-d\": {\n \"type\": \"feature-renderer3-d\",\n \"category\": \"display\",\n \"description\": \"FeatureRenderer3D Renders 3D features with GLB model loading from CDN. Supports assetUrl property on features for external model loading.\",\n \"suggestedFor\": [\n \"feature\",\n \"renderer3\",\n \"feature renderer3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is clicked\"\n },\n \"onFeatureHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is hovered\"\n },\n \"selectedFeatureIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected feature IDs\"\n }\n }\n },\n \"tile-renderer\": {\n \"type\": \"tile-renderer\",\n \"category\": \"game\",\n \"description\": \"TileRenderer Renders isometric tiles using Three.js InstancedMesh for performance. Supports texture mapping and custom tile geometries.\",\n \"suggestedFor\": [\n \"tile\",\n \"renderer\",\n \"tile renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of tiles to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"useInstancing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Use instancing for performance\"\n },\n \"terrainColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Terrain color mapping\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when tile is clicked\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when tile is hovered\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected tile IDs\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move tile coordinates\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target coordinates\"\n }\n }\n },\n \"unit-renderer\": {\n \"type\": \"unit-renderer\",\n \"category\": \"display\",\n \"description\": \"UnitRenderer Renders animated units in the 3D scene. Supports skeletal animations, health bars, and selection indicators.\",\n \"suggestedFor\": [\n \"unit\",\n \"renderer\",\n \"unit renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when unit is clicked\"\n },\n \"onAnimationStateChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when unit animation state changes\"\n },\n \"animationSpeed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Animation speed multiplier\"\n }\n }\n },\n \"game-canvas3-d-battle-template\": {\n \"type\": \"game-canvas3-d-battle-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DBattleTemplate Pure declarative template wrapper for 3D battle scenes. Optimized for tactical combat view with turn indicators. Page: Battle3DPage Entity: Battle3D ViewType: detail Events Emitted: - TILE_SELECTED - When a tile is clicked - UNIT_SELECTED - When a unit is clicked - UNIT_ATTACK - When attacking a unit - UNIT_MOVE - When moving a unit - END_TURN - When ending turn - EXIT_BATTLE - When exiting battle\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"battle\",\n \"template\",\n \"game canvas3 d battle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode - defaults to perspective for dramatic effect\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color - darker for battle atmosphere\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"unitAttackEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit attack\"\n },\n \"unitMoveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit move\"\n },\n \"endTurnEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for ending turn\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for exiting battle\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid attack targets\"\n },\n \"showTurnIndicator\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show turn indicator overlay\"\n }\n }\n },\n \"game-canvas3-d-castle-template\": {\n \"type\": \"game-canvas3-d-castle-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DCastleTemplate Pure declarative template wrapper for 3D castle/settlement view. Shows castle layout with buildings and garrisoned units. Page: Castle3DPage, Settlement3DPage Entity: Castle3D, Settlement3D ViewType: detail Events Emitted: - BUILDING_SELECTED - When a building is clicked - UNIT_SELECTED - When a garrison unit is clicked - BUILD - When building/upgrading - RECRUIT - When recruiting units - EXIT - When exiting castle view\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"castle\",\n \"template\",\n \"game canvas3 d castle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"buildingClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for building clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"buildEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for build action\"\n },\n \"recruitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for recruit action\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for exit\"\n },\n \"selectedBuildingId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected building ID\"\n },\n \"availableBuildSites\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available build positions\"\n },\n \"showHeader\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show castle name header\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Pre-computed selected tile IDs array\"\n }\n }\n },\n \"game-canvas3-d-world-map-template\": {\n \"type\": \"game-canvas3-d-world-map-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DWorldMapTemplate Pure declarative template wrapper for 3D world map. No hooks, no callbacks, no local state -- just entity data and config props. Page: WorldMap3DPage Entity: WorldMap3D ViewType: detail Events Emitted: - TILE_SELECTED - When a tile is clicked ({ tileId, x, z, type }) - UNIT_SELECTED - When a unit is clicked ({ unitId, x, z, name }) - FEATURE_SELECTED - When a feature is clicked ({ featureId, x, z, type }) - TILE_HOVERED - When hovering over a tile ({ tileId, x, z }) - TILE_LEAVE - When leaving a tile ({}) - CAMERA_CHANGED - When camera position changes ({ position })\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"world\",\n \"map\",\n \"template\",\n \"game canvas3 d world map template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"showCoordinates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show coordinate overlay\"\n },\n \"showTileInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tile info on hover\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for feature clicks\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile leave\"\n },\n \"cameraChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for camera changes\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Exit/back event name\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions for selected unit\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions\"\n }\n }\n },\n \"state-indicator\": {\n \"type\": \"state-indicator\",\n \"category\": \"display\",\n \"description\": \"StateIndicator Component Displays a visual indicator for a game entity's current state. Generic — not tied to any specific game. Projects can extend the state styles via the `stateStyles` prop.\",\n \"suggestedFor\": [\n \"state\",\n \"indicator\",\n \"state indicator\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"state\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The current state name\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional label override (defaults to capitalized state name)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show pulse animation on non-idle states\"\n },\n \"stateStyles\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Custom state styles to extend/override defaults\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"error-boundary\": {\n \"type\": \"error-boundary\",\n \"category\": \"state\",\n \"description\": \"ErrorBoundary component\",\n \"suggestedFor\": [\n \"error\",\n \"boundary\",\n \"error boundary\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to render when no error\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\",\n \"function\"\n ],\n \"description\": \"Fallback UI when an error is caught — ReactNode or render function\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes for the wrapper\"\n },\n \"onError\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an error is caught (for logging/telemetry)\"\n }\n }\n },\n \"skeleton\": {\n \"type\": \"skeleton\",\n \"category\": \"component\",\n \"description\": \"Skeleton component\",\n \"suggestedFor\": [\n \"skeleton\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"skeletonvariant\"\n ],\n \"description\": \"The skeleton variant to render\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of rows for table/text variants\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns for table variant\"\n },\n \"fields\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of fields for form variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-audio-provider\": {\n \"type\": \"game-audio-provider\",\n \"category\": \"game\",\n \"description\": \"GameAudioProvider component\",\n \"suggestedFor\": [\n \"game\",\n \"audio\",\n \"provider\",\n \"game audio provider\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"manifest\": {\n \"types\": [\n \"audiomanifest\"\n ],\n \"description\": \"Sound manifest — keys mapped to SoundEntry definitions\",\n \"required\": true\n },\n \"baseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base URL prepended to all sound paths (default '')\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render\",\n \"required\": true\n },\n \"initialMuted\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Initial muted state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Closed-circuit props (unused, accepted for runtime compatibility)\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isLoading prop\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"error prop\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"entity prop\"\n }\n }\n },\n \"game-audio-toggle\": {\n \"type\": \"game-audio-toggle\",\n \"category\": \"game\",\n \"description\": \"GameAudioToggle component\",\n \"suggestedFor\": [\n \"game\",\n \"audio\",\n \"toggle\",\n \"game audio toggle\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state (passed through)\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state (passed through)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"trait-slot\": {\n \"type\": \"trait-slot\",\n \"category\": \"layout\",\n \"description\": \"TraitSlot component\",\n \"suggestedFor\": [\n \"trait\",\n \"slot\",\n \"trait slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"slotNumber\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Slot index (1-based)\",\n \"required\": true\n },\n \"equippedItem\": {\n \"types\": [\n \"slotitemdata\"\n ],\n \"description\": \"Currently equipped item, if any\"\n },\n \"locked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether slot is locked\"\n },\n \"lockLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label shown when locked\"\n },\n \"selected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether slot is selected\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showTooltip\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tooltip on hover\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"tooltipFrameUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional tooltip frame image URL\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"onItemDrop\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Drag and drop --\"\n },\n \"draggable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this slot's equipped item is draggable\"\n },\n \"onDragStart\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when drag starts from this slot\"\n },\n \"feedback\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Per-slot correctness feedback after a failed attempt\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Remove handler\"\n },\n \"clickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative events --\"\n },\n \"removeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{removeEvent} with { slotNumber }\"\n }\n }\n },\n \"trait-state-viewer\": {\n \"type\": \"trait-state-viewer\",\n \"category\": \"display\",\n \"description\": \"TraitStateViewer component\",\n \"suggestedFor\": [\n \"trait\",\n \"state\",\n \"viewer\",\n \"trait state viewer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"trait\": {\n \"types\": [\n \"traitstatemachinedefinition\"\n ],\n \"description\": \"The trait / state machine to visualize\",\n \"required\": true\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display variant\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showTransitions\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show transition labels\"\n },\n \"onStateClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler for states\"\n },\n \"stateStyles\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Custom state styles passed to StateIndicator\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"uncontrolled-battle-board\": {\n \"type\": \"uncontrolled-battle-board\",\n \"category\": \"game\",\n \"description\": \"UncontrolledBattleBoard Thin wrapper that composes `useBattleState` + `BattleBoard` for self-managing game state. Accepts `initialUnits` instead of the controlled-mode fields and manages units, phase, turn, gameResult, and selectedUnitId internally via the hook. Use this component when you want the BattleBoard to manage its own game logic (e.g. in Storybook, prototypes, or simple integrations). For Orbital trait integration, use `BattleBoard` directly in controlled mode.\",\n \"suggestedFor\": [\n \"uncontrolled\",\n \"battle\",\n \"board\",\n \"uncontrolled battle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n }\n }\n },\n \"quiz-block\": {\n \"type\": \"quiz-block\",\n \"category\": \"component\",\n \"description\": \"QuizBlock Molecule Component A collapsible Q&A block for embedded quiz questions in content. Shows the question with a reveal button for the answer. Event Contract: - No events emitted (self-contained interaction) - entityAware: false\",\n \"suggestedFor\": [\n \"quiz\",\n \"block\",\n \"quiz block\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"question\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The quiz question\",\n \"required\": true\n },\n \"answer\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The quiz answer (revealed on toggle)\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"code-block\": {\n \"type\": \"code-block\",\n \"category\": \"component\",\n \"description\": \"CodeBlock Molecule Component A syntax-highlighted code block with copy-to-clipboard functionality. Preserves scroll position during re-renders. Event Contract: - Emits: UI:COPY_CODE { language, success }\",\n \"suggestedFor\": [\n \"code\",\n \"block\",\n \"code block\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"code\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The code content to display\",\n \"required\": true\n },\n \"language\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Programming language for syntax highlighting\"\n },\n \"showCopyButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the copy button\"\n },\n \"showLanguageBadge\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the language badge\"\n },\n \"maxHeight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Maximum height before scrolling\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"markdown-content\": {\n \"type\": \"markdown-content\",\n \"category\": \"component\",\n \"description\": \"MarkdownContent Molecule Component Renders markdown content with support for GFM (GitHub Flavored Markdown), math equations (KaTeX), and raw HTML. Handles inline code only — fenced code blocks should be parsed out and rendered with CodeBlock component. Event Contract: - No events emitted (display-only component) - entityAware: false NOTE: react-markdown's `components` override API requires native HTML elements — this is the same library-boundary exception as `<iframe>` in DocumentViewer and `<svg>` in JazariStateMachine/StateMachineView.\",\n \"suggestedFor\": [\n \"markdown\",\n \"content\",\n \"markdown content\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The markdown content to render\",\n \"required\": true\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"content-renderer\": {\n \"type\": \"content-renderer\",\n \"category\": \"display\",\n \"description\": \"ContentRenderer Organism Renders rich content as a sequence of typed segments: markdown, code, orbital diagrams (via JazariStateMachine), and quiz blocks. Accepts either raw content string (auto-parsed) or pre-parsed segments. Event Contract: - Delegates to child components (CodeBlock -> UI:COPY_CODE) - entityAware: false\",\n \"suggestedFor\": [\n \"content\",\n \"renderer\",\n \"content renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Raw content string — auto-parsed into segments\"\n },\n \"segments\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Pre-parsed segments (overrides content)\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction for markdown\"\n }\n }\n },\n \"jazari-state-machine\": {\n \"type\": \"jazari-state-machine\",\n \"category\": \"display\",\n \"description\": \"JazariStateMachine component\",\n \"suggestedFor\": [\n \"jazari\",\n \"state\",\n \"machine\",\n \"jazari state machine\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"schema\": {\n \"types\": [\n \"smschema\"\n ],\n \"description\": \"Full schema — extracts first trait's state machine\"\n },\n \"trait\": {\n \"types\": [\n \"smtrait\"\n ],\n \"description\": \"Or pass a single trait directly\"\n },\n \"traitIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Which trait to visualize (default: 0)\"\n },\n \"entityFields\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Override entity field labels\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction (default: 'ltr')\"\n }\n }\n },\n \"state-machine-view\": {\n \"type\": \"state-machine-view\",\n \"category\": \"display\",\n \"description\": \"StateMachineView component\",\n \"suggestedFor\": [\n \"state\",\n \"machine\",\n \"view\",\n \"state machine view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"layoutData\": {\n \"types\": [\n \"domlayoutdata\"\n ],\n \"description\": \"layoutData prop\",\n \"required\": true\n },\n \"renderStateNode\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom state node renderer — when provided, replaces the default circle nodes\"\n }\n }\n },\n \"book-chapter-view\": {\n \"type\": \"book-chapter-view\",\n \"category\": \"display\",\n \"description\": \"BookChapterView Organism Renders a single chapter: title + optional orbital diagram + rich content via ContentRenderer. Event Contract: - Delegates to ContentRenderer children\",\n \"suggestedFor\": [\n \"book\",\n \"chapter\",\n \"view\",\n \"book chapter view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"chapter\": {\n \"types\": [\n \"bookchapter\"\n ],\n \"description\": \"chapter prop\",\n \"required\": true\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-cover-page\": {\n \"type\": \"book-cover-page\",\n \"category\": \"display\",\n \"description\": \"BookCoverPage Molecule Renders a book cover with title, subtitle, author, and optional image. Centered layout suitable for the first \\\"page\\\" of a BookViewer. Event Contract: - Emits: UI:BOOK_START\",\n \"suggestedFor\": [\n \"book\",\n \"cover\",\n \"page\",\n \"book cover page\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"subtitle prop\"\n },\n \"author\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"author prop\"\n },\n \"coverImageUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"coverImageUrl prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-nav-bar\": {\n \"type\": \"book-nav-bar\",\n \"category\": \"navigation\",\n \"description\": \"BookNavBar Molecule Navigation bar for the BookViewer with prev/next, page indicator, print button, and TOC toggle. Event Contract: - Emits: UI:BOOK_PAGE_PREV, UI:BOOK_PAGE_NEXT, UI:BOOK_PRINT, UI:BOOK_SHOW_TOC\",\n \"suggestedFor\": [\n \"book\",\n \"nav\",\n \"bar\",\n \"book nav bar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"currentPage prop\",\n \"required\": true\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"totalPages prop\",\n \"required\": true\n },\n \"chapterTitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"chapterTitle prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-table-of-contents\": {\n \"type\": \"book-table-of-contents\",\n \"category\": \"display\",\n \"description\": \"BookTableOfContents Molecule Renders a clickable table of contents grouped by parts. Highlights the current chapter. Event Contract: - Emits: UI:BOOK_NAVIGATE { chapterId }\",\n \"suggestedFor\": [\n \"book\",\n \"table\",\n \"contents\",\n \"book table of contents\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"parts\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"parts prop\",\n \"required\": true\n },\n \"currentChapterId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"currentChapterId prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-viewer\": {\n \"type\": \"book-viewer\",\n \"category\": \"display\",\n \"description\": \"BookViewer Organism Flippable book reader with cover, TOC, chapter views, and navigation. Supports RTL layout (Arabic), CSS slide transitions, and print mode. Page model: 0 = cover, 1 = TOC, 2+ = chapters (flattened from parts) Event Contract: - Emits: UI:BOOK_PAGE_CHANGE { pageIndex, chapterId? } - Listens: UI:BOOK_START, UI:BOOK_NAVIGATE, UI:BOOK_PAGE_PREV/NEXT, UI:BOOK_PRINT, UI:BOOK_SHOW_TOC\",\n \"suggestedFor\": [\n \"book\",\n \"viewer\",\n \"book viewer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"initialPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Initial page index (default: 0 = cover)\"\n },\n \"fieldMap\": {\n \"types\": [\n \"bookfieldmap\",\n \"string\"\n ],\n \"description\": \"Field name translation map — a BookFieldMap object or locale key (\\\"ar\\\")\"\n }\n }\n },\n \"scaled-diagram\": {\n \"type\": \"scaled-diagram\",\n \"category\": \"component\",\n \"description\": \"ScaledDiagram Molecule Wraps a fixed-size diagram (like JazariStateMachine / StateMachineView) and CSS-scales it to fit the parent container width. The diagram renders at its natural (large) size. We observe the content element and once the diagram is measured we apply transform:scale() with a corrected container height so surrounding layout flows correctly. Event Contract: - No events emitted (layout-only wrapper) - entityAware: false\",\n \"suggestedFor\": [\n \"scaled\",\n \"diagram\",\n \"scaled diagram\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"combat-log\": {\n \"type\": \"combat-log\",\n \"category\": \"game\",\n \"description\": \"CombatLog Component Scrollable log of combat events with icons and colors. Generalized from Trait Wars — removed asset manifest coupling.\",\n \"suggestedFor\": [\n \"combat\",\n \"log\",\n \"combat log\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"events\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"events prop\",\n \"required\": true\n },\n \"maxVisible\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"maxVisible prop\"\n },\n \"autoScroll\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"autoScroll prop\"\n },\n \"showTimestamps\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showTimestamps prop\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-canvas\": {\n \"type\": \"simulation-canvas\",\n \"category\": \"game\",\n \"description\": \"SimulationCanvas Self-contained 2D physics canvas for educational presets. Runs its own Euler integration loop — no external physics hook needed.\",\n \"suggestedFor\": [\n \"simulation\",\n \"canvas\",\n \"simulation canvas\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"preset\": {\n \"types\": [\n \"physicspreset\"\n ],\n \"description\": \"preset prop\",\n \"required\": true\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"width prop\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"height prop\"\n },\n \"running\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"running prop\",\n \"required\": true\n },\n \"speed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"speed prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-controls\": {\n \"type\": \"simulation-controls\",\n \"category\": \"display\",\n \"description\": \"SimulationControls Play/pause/step/reset controls with speed and parameter sliders.\",\n \"suggestedFor\": [\n \"simulation\",\n \"controls\",\n \"simulation controls\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"running\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"running prop\",\n \"required\": true\n },\n \"speed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"speed prop\",\n \"required\": true\n },\n \"parameters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"parameters prop\",\n \"required\": true\n },\n \"onPlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onPlay prop\",\n \"required\": true\n },\n \"onPause\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onPause prop\",\n \"required\": true\n },\n \"onStep\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onStep prop\",\n \"required\": true\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onReset prop\",\n \"required\": true\n },\n \"onSpeedChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onSpeedChange prop\",\n \"required\": true\n },\n \"onParameterChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onParameterChange prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-graph\": {\n \"type\": \"simulation-graph\",\n \"category\": \"display\",\n \"description\": \"SimulationGraph Real-time measurement graph for physics simulations. Renders measurement data as a simple line chart on canvas.\",\n \"suggestedFor\": [\n \"simulation\",\n \"graph\",\n \"simulation graph\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"unit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"unit prop\",\n \"required\": true\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"data prop\",\n \"required\": true\n },\n \"maxPoints\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"maxPoints prop\"\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"width prop\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"height prop\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"color prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"builder-board\": {\n \"type\": \"builder-board\",\n \"category\": \"game\",\n \"description\": \"BuilderBoard Component-snapping game board. The player places components onto slots in a blueprint. Correct placement completes the build. Good for: architecture, circuits, molecules, system design stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"builder\",\n \"board\",\n \"builder board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"builderpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"classifier-board\": {\n \"type\": \"classifier-board\",\n \"category\": \"game\",\n \"description\": \"ClassifierBoard Drag-and-drop classification game. The player sorts items into the correct category buckets. All items must be correctly classified to win. Good for: taxonomy, pattern recognition, sorting stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"classifier\",\n \"board\",\n \"classifier board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"classifierpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"debugger-board\": {\n \"type\": \"debugger-board\",\n \"category\": \"game\",\n \"description\": \"DebuggerBoard Error-finding game board. The player reviews a code/system listing and identifies lines or elements that contain bugs. Good for: programming, logic, troubleshooting stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"debugger\",\n \"board\",\n \"debugger board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"debuggerpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"event-handler-board\": {\n \"type\": \"event-handler-board\",\n \"category\": \"game\",\n \"description\": \"EventHandlerBoard Organism Contains ALL game logic for the Event Handler tier (ages 9-12). Kids click on world objects, set WHEN/THEN rules, and watch event chains cascade during playback. Encourages experimentation: on failure, resets to editing so the kid can try different rules. After 3 failures, shows a progressive hint.\",\n \"suggestedFor\": [\n \"event\",\n \"handler\",\n \"board\",\n \"event handler board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"eventhandlerpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed in ms per event\"\n },\n \"playEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playEvent}\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success }\"\n }\n }\n },\n \"event-log\": {\n \"type\": \"event-log\",\n \"category\": \"display\",\n \"description\": \"EventLog Component Scrolling log of events during playback in the Event Handler tier. Shows the chain reaction as events cascade through objects.\",\n \"suggestedFor\": [\n \"event\",\n \"log\",\n \"event log\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entries\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Log entries\",\n \"required\": true\n },\n \"maxHeight\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Max visible height before scroll\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title label\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"object-rule-panel\": {\n \"type\": \"object-rule-panel\",\n \"category\": \"display\",\n \"description\": \"ObjectRulePanel Component Shows the rules panel for a selected world object in the Event Handler tier. Displays object info, its current state (via TraitStateViewer), and a list of WHEN/THEN rules the kid has set.\",\n \"suggestedFor\": [\n \"object\",\n \"rule\",\n \"panel\",\n \"object rule panel\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"object\": {\n \"types\": [\n \"puzzleobjectdef\"\n ],\n \"description\": \"The selected object\",\n \"required\": true\n },\n \"onRulesChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rules change\",\n \"required\": true\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether editing is disabled\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"rule-editor\": {\n \"type\": \"rule-editor\",\n \"category\": \"display\",\n \"description\": \"RuleEditor Component A single WHEN/THEN rule row for the Event Handler tier (ages 9-12). Kid picks an event trigger and an action from dropdowns.\",\n \"suggestedFor\": [\n \"rule\",\n \"editor\",\n \"rule editor\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"rule\": {\n \"types\": [\n \"ruledefinition\"\n ],\n \"description\": \"The current rule\",\n \"required\": true\n },\n \"availableEvents\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available event triggers to listen for\",\n \"required\": true\n },\n \"availableActions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available actions to perform\",\n \"required\": true\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rule changes\",\n \"required\": true\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rule is removed\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether editing is disabled (during playback)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"negotiator-board\": {\n \"type\": \"negotiator-board\",\n \"category\": \"game\",\n \"description\": \"NegotiatorBoard Turn-based decision matrix game. The player makes choices over multiple rounds against an AI opponent. Each round both sides pick an action, and payoffs are determined by the combination. Good for: ethics, business, game theory, economics stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"negotiator\",\n \"board\",\n \"negotiator board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"negotiatorpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"action-palette\": {\n \"type\": \"action-palette\",\n \"category\": \"display\",\n \"description\": \"ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.\",\n \"suggestedFor\": [\n \"action\",\n \"palette\",\n \"action palette\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available actions\",\n \"required\": true\n },\n \"usedActionIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"IDs of actions that are already used (shown as disabled)\"\n },\n \"allowDuplicates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether each action can be used multiple times\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label above the palette\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"action-tile\": {\n \"type\": \"action-tile\",\n \"category\": \"game\",\n \"description\": \"ActionTile Component A draggable action tile for the Sequencer tier (ages 5-8). Kids drag these from the ActionPalette into SequenceBar slots. Sets SlotItemData on dataTransfer for TraitSlot compatibility.\",\n \"suggestedFor\": [\n \"action\",\n \"tile\",\n \"action tile\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"action\": {\n \"types\": [\n \"slotitemdata\"\n ],\n \"description\": \"The action data\",\n \"required\": true\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the tile is disabled / already used\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n }\n }\n },\n \"sequence-bar\": {\n \"type\": \"sequence-bar\",\n \"category\": \"display\",\n \"description\": \"SequenceBar Component A row of TraitSlot components forming the action sequence for the Sequencer tier (ages 5-8). Kids drag ActionTiles from the palette into these slots to build their sequence.\",\n \"suggestedFor\": [\n \"sequence\",\n \"bar\",\n \"sequence bar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"slots\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"The current sequence (sparse — undefined means empty slot)\",\n \"required\": true\n },\n \"maxSlots\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Max number of slots\",\n \"required\": true\n },\n \"onSlotDrop\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is dropped into slot at index\",\n \"required\": true\n },\n \"onSlotRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a slot is cleared\",\n \"required\": true\n },\n \"playing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the sequence is currently playing (disable interaction)\"\n },\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index during playback (-1 = not playing)\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"slotFeedback\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Per-slot correctness feedback shown after a failed attempt\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"sequencer-board\": {\n \"type\": \"sequencer-board\",\n \"category\": \"game\",\n \"description\": \"SequencerBoard Organism Contains ALL game logic for the Sequencer tier (ages 5-8). Manages the action sequence, validates it, and animates Kekec executing each step on the puzzle scene. Feedback-first UX: - On failure: slots stay in place, each slot gets a green or red ring showing exactly which steps are correct and which need to change. - Modifying a slot clears its individual feedback so the kid can re-try. - After 3 failures a persistent hint appears above the sequence bar. - \\\"Reset\\\" clears everything including attempts / hint. TraitStateViewer states use indexed labels (\\\"1. Walk\\\", \\\"2. Jump\\\") so that repeated actions are correctly highlighted during playback.\",\n \"suggestedFor\": [\n \"sequencer\",\n \"board\",\n \"sequencer board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"sequencerpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed in ms per step\"\n },\n \"playEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playEvent} with { sequence: string[] }\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success: boolean }\"\n }\n }\n },\n \"simulator-board\": {\n \"type\": \"simulator-board\",\n \"category\": \"game\",\n \"description\": \"SimulatorBoard Parameter-slider game board. The player adjusts parameters and observes real-time output. Correct parameter values must bring the output within a target range to win. Good for: physics, economics, system design stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"simulator\",\n \"board\",\n \"simulator board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"simulatorpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"code-view\": {\n \"type\": \"code-view\",\n \"category\": \"display\",\n \"description\": \"CodeView Component Shows the JSON code representation of a state machine. Toggle between visual and code view in State Architect tier.\",\n \"suggestedFor\": [\n \"code\",\n \"view\",\n \"code view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"data\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"JSON data to display\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label\"\n },\n \"defaultExpanded\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the code is expanded by default\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"state-architect-board\": {\n \"type\": \"state-architect-board\",\n \"category\": \"display\",\n \"description\": \"StateArchitectBoard Organism Contains ALL game logic for the State Architect tier (ages 13+). Kids design state machines via a visual graph editor, then run them to see if the behavior matches the puzzle goal.\",\n \"suggestedFor\": [\n \"state\",\n \"architect\",\n \"board\",\n \"state architect board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"statearchitectpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed\"\n },\n \"testEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{testEvent}\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success, passedTests }\"\n }\n }\n },\n \"state-node\": {\n \"type\": \"state-node\",\n \"category\": \"display\",\n \"description\": \"StateNode Component A draggable state circle for the graph editor in the State Architect tier (ages 13+). Shows state name, highlights when current, and supports click to select.\",\n \"suggestedFor\": [\n \"state\",\n \"node\",\n \"state node\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"State name\",\n \"required\": true\n },\n \"isCurrent\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this is the current active state\"\n },\n \"isSelected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this node is selected for editing\"\n },\n \"isInitial\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this is the initial state\"\n },\n \"position\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Position on the graph canvas\",\n \"required\": true\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"transition-arrow\": {\n \"type\": \"transition-arrow\",\n \"category\": \"display\",\n \"description\": \"TransitionArrow Component An SVG arrow connecting two state nodes in the graph editor. Shows the event name as a label on the arrow.\",\n \"suggestedFor\": [\n \"transition\",\n \"arrow\",\n \"transition arrow\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"from\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Start position (center of from-node)\",\n \"required\": true\n },\n \"to\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"End position (center of to-node)\",\n \"required\": true\n },\n \"eventLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event label shown on the arrow\",\n \"required\": true\n },\n \"guardHint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Guard hint shown below event\"\n },\n \"isActive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this transition is currently active\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes for the SVG group\"\n }\n }\n },\n \"variable-panel\": {\n \"type\": \"variable-panel\",\n \"category\": \"display\",\n \"description\": \"VariablePanel Component Shows entity variables and their current values during State Architect playback.\",\n \"suggestedFor\": [\n \"variable\",\n \"panel\",\n \"variable panel\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entityName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\",\n \"required\": true\n },\n \"variables\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Variables to display\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"heading\": {\n \"type\": \"heading\",\n \"category\": \"component\",\n \"description\": \"Alias for typography — Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n },\n \"text\": {\n \"type\": \"text\",\n \"category\": \"component\",\n \"description\": \"Alias for typography — Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n }\n },\n \"categories\": [\n \"display\",\n \"header\",\n \"form\",\n \"filter\",\n \"navigation\",\n \"state\",\n \"dashboard\",\n \"container\",\n \"layout\",\n \"game\",\n \"debug\",\n \"meta\",\n \"component\",\n \"template\",\n \"visualization\",\n \"media\"\n ]\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-01-25T00:58:14.172Z\",\n \"integrators\": {\n \"youtube\": {\n \"name\": \"youtube\",\n \"description\": \"YouTube Data API - search videos, get video/channel details\",\n \"category\": \"media\",\n \"actions\": [\n {\n \"name\": \"search\",\n \"description\": \"Search for videos\",\n \"params\": [\n {\n \"name\": \"query\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Search query\"\n },\n {\n \"name\": \"maxResults\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Max results (1-50)\"\n },\n {\n \"name\": \"type\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"video, channel, or playlist\"\n }\n ],\n \"responseShape\": {\n \"videoId\": \"string\",\n \"title\": \"string\",\n \"thumbnail\": \"string\",\n \"description\": \"string\"\n }\n },\n {\n \"name\": \"getVideo\",\n \"description\": \"Get video details by ID\",\n \"params\": [\n {\n \"name\": \"videoId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"YouTube video ID\"\n }\n ],\n \"responseShape\": {\n \"title\": \"string\",\n \"description\": \"string\",\n \"viewCount\": \"number\",\n \"likeCount\": \"number\"\n }\n },\n {\n \"name\": \"getChannel\",\n \"description\": \"Get channel details by ID\",\n \"params\": [\n {\n \"name\": \"channelId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"YouTube channel ID\"\n }\n ],\n \"responseShape\": {\n \"name\": \"string\",\n \"description\": \"string\",\n \"subscriberCount\": \"number\"\n }\n }\n ]\n },\n \"stripe\": {\n \"name\": \"stripe\",\n \"description\": \"Stripe payment processing - create intents, confirm payments, refunds\",\n \"category\": \"payment\",\n \"actions\": [\n {\n \"name\": \"createPaymentIntent\",\n \"description\": \"Create a payment intent for collecting payment\",\n \"params\": [\n {\n \"name\": \"amount\",\n \"type\": \"number\",\n \"required\": true,\n \"description\": \"Amount in cents\"\n },\n {\n \"name\": \"currency\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"ISO currency code (e.g., usd)\"\n },\n {\n \"name\": \"metadata\",\n \"type\": \"object\",\n \"required\": false,\n \"description\": \"Custom metadata\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"clientSecret\": \"string\",\n \"status\": \"string\"\n }\n },\n {\n \"name\": \"confirmPayment\",\n \"description\": \"Confirm a payment intent\",\n \"params\": [\n {\n \"name\": \"paymentIntentId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Payment intent ID\"\n }\n ],\n \"responseShape\": {\n \"status\": \"string\",\n \"amount\": \"number\"\n }\n },\n {\n \"name\": \"refund\",\n \"description\": \"Refund a payment\",\n \"params\": [\n {\n \"name\": \"paymentIntentId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Payment intent ID\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Amount to refund (partial)\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"status\": \"string\",\n \"amount\": \"number\"\n }\n }\n ]\n },\n \"twilio\": {\n \"name\": \"twilio\",\n \"description\": \"Twilio messaging - send SMS, WhatsApp messages\",\n \"category\": \"messaging\",\n \"actions\": [\n {\n \"name\": \"sendSMS\",\n \"description\": \"Send an SMS message\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient phone number\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Message body\"\n }\n ],\n \"responseShape\": {\n \"sid\": \"string\",\n \"status\": \"string\"\n }\n },\n {\n \"name\": \"sendWhatsApp\",\n \"description\": \"Send a WhatsApp message\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient phone number\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Message body\"\n }\n ],\n \"responseShape\": {\n \"sid\": \"string\",\n \"status\": \"string\"\n }\n }\n ]\n },\n \"email\": {\n \"name\": \"email\",\n \"description\": \"Transactional email via SendGrid/Resend\",\n \"category\": \"messaging\",\n \"actions\": [\n {\n \"name\": \"send\",\n \"description\": \"Send a transactional email\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient email\"\n },\n {\n \"name\": \"subject\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Email subject\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Email body (HTML or text)\"\n },\n {\n \"name\": \"from\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Sender email (uses default if omitted)\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"status\": \"string\"\n }\n }\n ]\n },\n \"llm\": {\n \"name\": \"llm\",\n \"description\": \"LLM service for content generation, classification, and structured extraction\",\n \"category\": \"ai\",\n \"actions\": [\n {\n \"name\": \"generate\",\n \"description\": \"Generate content from a prompt\",\n \"params\": [\n {\n \"name\": \"systemPrompt\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"System instructions for the LLM\"\n },\n {\n \"name\": \"userPrompt\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"User prompt/question\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID (default: claude-sonnet-4-5-20250929)\"\n },\n {\n \"name\": \"temperature\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Sampling temperature (0-1, default: 0.7)\"\n },\n {\n \"name\": \"maxTokens\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Max response tokens (default: 1024)\"\n }\n ],\n \"responseShape\": {\n \"content\": \"string\",\n \"usage\": \"object\"\n }\n },\n {\n \"name\": \"classify\",\n \"description\": \"Classify text into predefined categories\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to classify\"\n },\n {\n \"name\": \"categories\",\n \"type\": \"array\",\n \"required\": true,\n \"description\": \"List of category labels\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"category\": \"string\",\n \"confidence\": \"number\",\n \"reasoning\": \"string\"\n }\n },\n {\n \"name\": \"extract\",\n \"description\": \"Extract structured data from text using a schema\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to extract from\"\n },\n {\n \"name\": \"schema\",\n \"type\": \"object\",\n \"required\": true,\n \"description\": \"JSON schema defining fields to extract\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"data\": \"object\",\n \"confidence\": \"number\"\n }\n },\n {\n \"name\": \"summarize\",\n \"description\": \"Summarize long text content\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to summarize\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Target summary length in words\"\n },\n {\n \"name\": \"style\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Summary style: brief, detailed, bullet\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"summary\": \"string\",\n \"keyPoints\": \"array\"\n }\n }\n ]\n },\n \"deepagent\": {\n \"name\": \"deepagent\",\n \"description\": \"AI code generation agent with tool use - generates schemas, code, and manages projects\",\n \"category\": \"ai\",\n \"actions\": [\n {\n \"name\": \"sendMessage\",\n \"description\": \"Send a message to the AI agent and get a response with tool calls\",\n \"params\": [\n {\n \"name\": \"message\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"User message to the agent\"\n },\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Thread ID for conversation continuity\"\n },\n {\n \"name\": \"skill\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Skill to use: almadar-orbitals, almadar-fixing, etc.\"\n },\n {\n \"name\": \"context\",\n \"type\": \"object\",\n \"required\": false,\n \"description\": \"Additional context (current schema, project info)\"\n }\n ],\n \"responseShape\": {\n \"response\": \"string\",\n \"threadId\": \"string\",\n \"toolCalls\": \"array\",\n \"todos\": \"array\",\n \"schemaDiffs\": \"array\"\n }\n },\n {\n \"name\": \"cancelGeneration\",\n \"description\": \"Cancel an ongoing generation\",\n \"params\": [\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Thread ID to cancel\"\n }\n ],\n \"responseShape\": {\n \"success\": \"boolean\"\n }\n },\n {\n \"name\": \"validateSchema\",\n \"description\": \"Validate an orbital schema\",\n \"params\": [\n {\n \"name\": \"schema\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Schema content to validate\"\n }\n ],\n \"responseShape\": {\n \"valid\": \"boolean\",\n \"errors\": \"array\",\n \"warnings\": \"array\"\n }\n },\n {\n \"name\": \"compileSchema\",\n \"description\": \"Compile an orbital schema to target shell\",\n \"params\": [\n {\n \"name\": \"schema\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Schema content to compile\"\n },\n {\n \"name\": \"shell\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Target shell: typescript, python (default: typescript)\"\n }\n ],\n \"responseShape\": {\n \"success\": \"boolean\",\n \"outputPath\": \"string\",\n \"errors\": \"array\"\n }\n },\n {\n \"name\": \"getThreadHistory\",\n \"description\": \"Get conversation history for a thread\",\n \"params\": [\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Thread ID to get history for\"\n }\n ],\n \"responseShape\": {\n \"messages\": \"array\",\n \"todos\": \"array\",\n \"schemaDiffs\": \"array\"\n }\n }\n ]\n },\n \"github\": {\n \"name\": \"github\",\n \"description\": \"GitHub integration - Git operations and GitHub REST API\",\n \"category\": \"devtools\",\n \"actions\": [\n {\n \"name\": \"cloneRepo\",\n \"description\": \"Clone a repository\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Repository URL or owner/repo\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": false, \"description\": \"Branch to clone\" }\n ],\n \"responseShape\": { \"path\": \"string\", \"branch\": \"string\" }\n },\n {\n \"name\": \"createBranch\",\n \"description\": \"Create a new branch\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": true, \"description\": \"Branch name\" }\n ],\n \"responseShape\": { \"branch\": \"string\" }\n },\n {\n \"name\": \"commit\",\n \"description\": \"Commit changes\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"message\", \"type\": \"string\", \"required\": true, \"description\": \"Commit message\" },\n { \"name\": \"files\", \"type\": \"array\", \"required\": false, \"description\": \"Files to stage\" }\n ],\n \"responseShape\": { \"hash\": \"string\", \"message\": \"string\" }\n },\n {\n \"name\": \"push\",\n \"description\": \"Push commits to remote\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": false, \"description\": \"Branch to push\" }\n ],\n \"responseShape\": { \"success\": \"boolean\" }\n },\n {\n \"name\": \"createPR\",\n \"description\": \"Create a pull request\",\n \"params\": [\n { \"name\": \"title\", \"type\": \"string\", \"required\": true, \"description\": \"PR title\" },\n { \"name\": \"body\", \"type\": \"string\", \"required\": false, \"description\": \"PR description\" },\n { \"name\": \"head\", \"type\": \"string\", \"required\": true, \"description\": \"Head branch\" },\n { \"name\": \"base\", \"type\": \"string\", \"required\": false, \"description\": \"Base branch (default: main)\" }\n ],\n \"responseShape\": { \"number\": \"number\", \"url\": \"string\" }\n },\n {\n \"name\": \"getPRComments\",\n \"description\": \"Fetch pull request comments\",\n \"params\": [\n { \"name\": \"prNumber\", \"type\": \"number\", \"required\": true, \"description\": \"PR number\" }\n ],\n \"responseShape\": { \"comments\": \"array\" }\n },\n {\n \"name\": \"listIssues\",\n \"description\": \"List issues with optional filters\",\n \"params\": [\n { \"name\": \"state\", \"type\": \"string\", \"required\": false, \"description\": \"Issue state: open, closed, all\" },\n { \"name\": \"labels\", \"type\": \"string\", \"required\": false, \"description\": \"Comma-separated label names\" }\n ],\n \"responseShape\": { \"issues\": \"array\" }\n },\n {\n \"name\": \"getIssue\",\n \"description\": \"Get a single issue\",\n \"params\": [\n { \"name\": \"issueNumber\", \"type\": \"number\", \"required\": true, \"description\": \"Issue number\" }\n ],\n \"responseShape\": { \"title\": \"string\", \"body\": \"string\", \"state\": \"string\" }\n }\n ]\n },\n \"cli\": {\n \"name\": \"cli\",\n \"description\": \"Almadar CLI integration - schema validation and compilation\",\n \"category\": \"devtools\",\n \"actions\": [\n {\n \"name\": \"validate\",\n \"description\": \"Validate an orbital schema\",\n \"params\": [\n { \"name\": \"schema\", \"type\": \"string\", \"required\": true, \"description\": \"Schema content to validate\" }\n ],\n \"responseShape\": {\n \"valid\": \"boolean\",\n \"errors\": \"array\",\n \"warnings\": \"array\",\n \"summary\": \"string\"\n }\n }\n ]\n }\n },\n \"categories\": [\"media\", \"payment\", \"messaging\", \"ai\", \"devtools\"]\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-03T11:14:06.592Z\",\n \"mappings\": {\n \"page-header\": {\n \"component\": \"PageHeader\",\n \"importPath\": \"@/components/organisms/PageHeader\",\n \"category\": \"header\"\n },\n \"entity-list\": {\n \"component\": \"List\",\n \"importPath\": \"@/components/organisms/List\",\n \"category\": \"display\"\n },\n \"entity-table\": {\n \"component\": \"DataTable\",\n \"importPath\": \"@/components/organisms/DataTable\",\n \"category\": \"display\"\n },\n \"entity-cards\": {\n \"component\": \"CardGrid\",\n \"importPath\": \"@/components/organisms/CardGrid\",\n \"category\": \"display\"\n },\n \"stats\": {\n \"component\": \"StatCard\",\n \"importPath\": \"@/components/organisms/StatCard\",\n \"category\": \"display\"\n },\n \"detail-panel\": {\n \"component\": \"DetailPanel\",\n \"importPath\": \"@/components/organisms/DetailPanel\",\n \"category\": \"display\"\n },\n \"form\": {\n \"component\": \"Form\",\n \"importPath\": \"@/components/organisms/Form\",\n \"category\": \"form\"\n },\n \"form-section\": {\n \"component\": \"Form\",\n \"importPath\": \"@/components/organisms/Form\",\n \"category\": \"form\"\n },\n \"form-actions\": {\n \"component\": \"ButtonGroup\",\n \"importPath\": \"@/components/molecules/ButtonGroup\",\n \"category\": \"form\"\n },\n \"filter-group\": {\n \"component\": \"FilterGroup\",\n \"importPath\": \"@/components/molecules/FilterGroup\",\n \"category\": \"filter\"\n },\n \"search-input\": {\n \"component\": \"SearchInput\",\n \"importPath\": \"@/components/molecules/SearchInput\",\n \"category\": \"filter\"\n },\n \"empty-state\": {\n \"component\": \"EmptyState\",\n \"importPath\": \"@/components/molecules/EmptyState\",\n \"category\": \"state\"\n },\n \"loading-state\": {\n \"component\": \"LoadingState\",\n \"importPath\": \"@/components/molecules/LoadingState\",\n \"category\": \"state\"\n },\n \"error-state\": {\n \"component\": \"ErrorState\",\n \"importPath\": \"@/components/molecules/ErrorState\",\n \"category\": \"state\"\n },\n \"notification\": {\n \"component\": \"Toast\",\n \"importPath\": \"@/components/molecules/Toast\",\n \"category\": \"state\"\n },\n \"tabs\": {\n \"component\": \"Tabs\",\n \"importPath\": \"@/components/molecules/Tabs\",\n \"category\": \"navigation\"\n },\n \"breadcrumb\": {\n \"component\": \"Breadcrumb\",\n \"importPath\": \"@/components/molecules/Breadcrumb\",\n \"category\": \"navigation\"\n },\n \"wizard-container\": {\n \"component\": \"WizardContainer\",\n \"importPath\": \"@/components/organisms/WizardContainer\",\n \"category\": \"navigation\"\n },\n \"wizard-progress\": {\n \"component\": \"WizardProgress\",\n \"importPath\": \"@/components/molecules/WizardProgress\",\n \"category\": \"navigation\"\n },\n \"wizard-navigation\": {\n \"component\": \"WizardNavigation\",\n \"importPath\": \"@/components/molecules/WizardNavigation\",\n \"category\": \"navigation\"\n },\n \"pagination\": {\n \"component\": \"Pagination\",\n \"importPath\": \"@/components/molecules/Pagination\",\n \"category\": \"navigation\"\n },\n \"card\": {\n \"component\": \"Card\",\n \"importPath\": \"@/components/molecules/Card\",\n \"category\": \"display\"\n },\n \"modal\": {\n \"component\": \"Modal\",\n \"importPath\": \"@/components/molecules/Modal\",\n \"category\": \"layout\"\n },\n \"drawer\": {\n \"component\": \"Drawer\",\n \"importPath\": \"@/components/molecules/Drawer\",\n \"category\": \"layout\"\n },\n \"confirm-dialog\": {\n \"component\": \"ConfirmDialog\",\n \"importPath\": \"@/components/organisms/ConfirmDialog\",\n \"category\": \"layout\"\n },\n \"master-detail\": {\n \"component\": \"MasterDetail\",\n \"importPath\": \"@/components/organisms/layout/MasterDetail\",\n \"category\": \"layout\"\n },\n \"dashboard-grid\": {\n \"component\": \"DashboardGrid\",\n \"importPath\": \"@/components/organisms/layout/DashboardGrid\",\n \"category\": \"layout\"\n },\n \"game-hud\": {\n \"component\": \"GameHud\",\n \"importPath\": \"@/components/organisms/game/GameHud\",\n \"category\": \"game\"\n },\n \"game-menu\": {\n \"component\": \"GameMenu\",\n \"importPath\": \"@/components/organisms/game/GameMenu\",\n \"category\": \"game\"\n },\n \"game-over-screen\": {\n \"component\": \"GameOverScreen\",\n \"importPath\": \"@/components/organisms/game/GameOverScreen\",\n \"category\": \"game\"\n },\n \"inventory-panel\": {\n \"component\": \"InventoryPanel\",\n \"importPath\": \"@/components/organisms/game/InventoryPanel\",\n \"category\": \"game\"\n },\n \"dialogue-box\": {\n \"component\": \"DialogueBox\",\n \"importPath\": \"@/components/organisms/game/DialogueBox\",\n \"category\": \"game\"\n },\n \"runtime-debugger\": {\n \"component\": \"RuntimeDebugger\",\n \"importPath\": \"@/components/organisms/debug/RuntimeDebugger\",\n \"category\": \"debug\"\n },\n \"repeatable-form-section\": {\n \"component\": \"RepeatableFormSection\",\n \"importPath\": \"@/clients/inspection-system/molecules/RepeatableFormSection\",\n \"category\": \"form\",\n \"client\": \"inspection-system\"\n },\n \"box\": {\n \"component\": \"Box\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"grid\": {\n \"component\": \"Grid\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"center\": {\n \"component\": \"Center\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"spacer\": {\n \"component\": \"Spacer\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"divider\": {\n \"component\": \"Divider\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"button\": {\n \"component\": \"Button\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"badge\": {\n \"component\": \"Badge\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"avatar\": {\n \"component\": \"Avatar\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"icon\": {\n \"component\": \"Icon\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"spinner\": {\n \"component\": \"Spinner\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"input\": {\n \"component\": \"Input\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"textarea\": {\n \"component\": \"Textarea\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"select\": {\n \"component\": \"Select\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"checkbox\": {\n \"component\": \"Checkbox\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"radio\": {\n \"component\": \"Radio\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"switch\": {\n \"component\": \"Switch\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"label\": {\n \"component\": \"Label\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"alert\": {\n \"component\": \"Alert\",\n \"importPath\": \"@/components/molecules/Alert\",\n \"category\": \"state\"\n },\n \"accordion\": {\n \"component\": \"Accordion\",\n \"importPath\": \"@/components/molecules/Accordion\",\n \"category\": \"display\"\n },\n \"tooltip\": {\n \"component\": \"Tooltip\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"atom\"\n },\n \"popover\": {\n \"component\": \"Popover\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"atom\"\n },\n \"menu\": {\n \"component\": \"Menu\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"navigation\"\n },\n \"progress-bar\": {\n \"component\": \"ProgressBar\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"display\"\n },\n \"container\": {\n \"component\": \"Container\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"simple-grid\": {\n \"component\": \"SimpleGrid\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"studio-home-web\": {\n \"component\": \"StudioHomeWebTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioHomeWebTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"studio-home-electron\": {\n \"component\": \"StudioHomeElectronTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioHomeElectronTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"studio-project\": {\n \"component\": \"StudioProjectTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioProjectTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"hex-battlefield\": {\n \"component\": \"BattlefieldTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/BattlefieldTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"hero-selection\": {\n \"component\": \"HexTraitWarsGame\",\n \"importPath\": \"@/clients/trait-wars/templates/HexTraitWarsGame\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"hero-profile\": {\n \"component\": \"HeroProfileTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/HeroProfileTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"army-builder\": {\n \"component\": \"ArmyBuilderTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/ArmyBuilderTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"conditional-wrapper\": {\n \"component\": \"ConditionalWrapper\",\n \"importPath\": \"@/components/atoms/ConditionalWrapper\",\n \"category\": \"component\"\n },\n \"law-reference-tooltip\": {\n \"component\": \"LawReferenceTooltip\",\n \"importPath\": \"@/components/atoms/LawReferenceTooltip\",\n \"category\": \"component\"\n },\n \"overlay\": {\n \"component\": \"Overlay\",\n \"importPath\": \"@/components/atoms/Overlay\",\n \"category\": \"container\"\n },\n \"stack\": {\n \"component\": \"Stack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"vstack\": {\n \"component\": \"VStack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"hstack\": {\n \"component\": \"HStack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"text-highlight\": {\n \"component\": \"TextHighlight\",\n \"importPath\": \"@/components/atoms/TextHighlight\",\n \"category\": \"component\"\n },\n \"theme-toggle\": {\n \"component\": \"ThemeToggle\",\n \"importPath\": \"@/components/atoms/ThemeToggle\",\n \"category\": \"component\"\n },\n \"typography\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n },\n \"control-button\": {\n \"component\": \"ControlButton\",\n \"importPath\": \"@/components/atoms/ControlButton\",\n \"category\": \"component\"\n },\n \"health-bar\": {\n \"component\": \"HealthBar\",\n \"importPath\": \"@/components/atoms/HealthBar\",\n \"category\": \"component\"\n },\n \"score-display\": {\n \"component\": \"ScoreDisplay\",\n \"importPath\": \"@/components/atoms/ScoreDisplay\",\n \"category\": \"component\"\n },\n \"sprite\": {\n \"component\": \"Sprite\",\n \"importPath\": \"@/components/atoms/Sprite\",\n \"category\": \"game\"\n },\n \"flex\": {\n \"component\": \"Flex\",\n \"importPath\": \"@/components/molecules/Flex\",\n \"category\": \"component\"\n },\n \"floating-action-button\": {\n \"component\": \"FloatingActionButton\",\n \"importPath\": \"@/components/molecules/FloatingActionButton\",\n \"category\": \"component\"\n },\n \"form-field\": {\n \"component\": \"FormField\",\n \"importPath\": \"@/components/molecules/FormField\",\n \"category\": \"form\"\n },\n \"form-section-header\": {\n \"component\": \"FormSectionHeader\",\n \"importPath\": \"@/components/molecules/FormSectionHeader\",\n \"category\": \"form\"\n },\n \"input-group\": {\n \"component\": \"InputGroup\",\n \"importPath\": \"@/components/molecules/InputGroup\",\n \"category\": \"form\"\n },\n \"relation-select\": {\n \"component\": \"RelationSelect\",\n \"importPath\": \"@/components/molecules/RelationSelect\",\n \"category\": \"form\"\n },\n \"side-panel\": {\n \"component\": \"SidePanel\",\n \"importPath\": \"@/components/molecules/SidePanel\",\n \"category\": \"component\"\n },\n \"violation-alert\": {\n \"component\": \"ViolationAlert\",\n \"importPath\": \"@/components/molecules/ViolationAlert\",\n \"category\": \"state\"\n },\n \"action-buttons\": {\n \"component\": \"ActionButtons\",\n \"importPath\": \"@/components/molecules/ActionButtons\",\n \"category\": \"component\"\n },\n \"d-pad\": {\n \"component\": \"DPad\",\n \"importPath\": \"@/components/molecules/DPad\",\n \"category\": \"component\"\n },\n \"stat-badge\": {\n \"component\": \"StatBadge\",\n \"importPath\": \"@/components/molecules/StatBadge\",\n \"category\": \"display\"\n },\n \"button-pattern\": {\n \"component\": \"ButtonPattern\",\n \"importPath\": \"@/components/organisms/ButtonPattern\",\n \"category\": \"display\"\n },\n \"custom-pattern\": {\n \"component\": \"CustomPattern\",\n \"importPath\": \"@/components/organisms/CustomPattern\",\n \"category\": \"display\"\n },\n \"drawer-slot\": {\n \"component\": \"DrawerSlot\",\n \"importPath\": \"@/components/organisms/DrawerSlot\",\n \"category\": \"layout\"\n },\n \"header\": {\n \"component\": \"Header\",\n \"importPath\": \"@/components/organisms/Header\",\n \"category\": \"header\"\n },\n \"layout-pattern\": {\n \"component\": \"LayoutPattern\",\n \"importPath\": \"@/components/organisms/LayoutPattern\",\n \"category\": \"layout\"\n },\n \"modal-slot\": {\n \"component\": \"ModalSlot\",\n \"importPath\": \"@/components/organisms/ModalSlot\",\n \"category\": \"layout\"\n },\n \"navigation\": {\n \"component\": \"Navigation\",\n \"importPath\": \"@/components/organisms/Navigation\",\n \"category\": \"navigation\"\n },\n \"orbital-visualization\": {\n \"component\": \"OrbitalVisualization\",\n \"importPath\": \"@/components/organisms/OrbitalVisualization\",\n \"category\": \"display\"\n },\n \"section\": {\n \"component\": \"Section\",\n \"importPath\": \"@/components/organisms/Section\",\n \"category\": \"display\"\n },\n \"sidebar\": {\n \"component\": \"Sidebar\",\n \"importPath\": \"@/components/organisms/Sidebar\",\n \"category\": \"navigation\"\n },\n \"split\": {\n \"component\": \"Split\",\n \"importPath\": \"@/components/organisms/Split\",\n \"category\": \"layout\"\n },\n \"table\": {\n \"component\": \"Table\",\n \"importPath\": \"@/components/organisms/Table\",\n \"category\": \"display\"\n },\n \"toast-slot\": {\n \"component\": \"ToastSlot\",\n \"importPath\": \"@/components/organisms/ToastSlot\",\n \"category\": \"layout\"\n },\n \"u-i-slot-renderer\": {\n \"component\": \"UISlotRenderer\",\n \"importPath\": \"@/components/organisms/UISlotRenderer\",\n \"category\": \"layout\"\n },\n \"split-pane\": {\n \"component\": \"SplitPane\",\n \"importPath\": \"@/components/organisms/SplitPane\",\n \"category\": \"layout\"\n },\n \"tabbed-container\": {\n \"component\": \"TabbedContainer\",\n \"importPath\": \"@/components/organisms/TabbedContainer\",\n \"category\": \"navigation\"\n },\n \"auth-layout\": {\n \"component\": \"AuthLayout\",\n \"importPath\": \"@/components/templates/AuthLayout\",\n \"category\": \"template\"\n },\n \"counter-template\": {\n \"component\": \"CounterTemplate\",\n \"importPath\": \"@/components/templates/CounterTemplate\",\n \"category\": \"template\"\n },\n \"dashboard-layout\": {\n \"component\": \"DashboardLayout\",\n \"importPath\": \"@/components/templates/DashboardLayout\",\n \"category\": \"template\"\n },\n \"game-template\": {\n \"component\": \"GameTemplate\",\n \"importPath\": \"@/components/templates/GameTemplate\",\n \"category\": \"template\"\n },\n \"generic-app-template\": {\n \"component\": \"GenericAppTemplate\",\n \"importPath\": \"@/components/templates/GenericAppTemplate\",\n \"category\": \"template\"\n },\n \"game-shell\": {\n \"component\": \"GameShell\",\n \"importPath\": \"@/components/templates/GameShell\",\n \"category\": \"template\"\n },\n \"chart\": {\n \"component\": \"Chart\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"meter\": {\n \"component\": \"Meter\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"timeline\": {\n \"component\": \"Timeline\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"media-gallery\": {\n \"component\": \"MediaGallery\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"media\"\n },\n \"signature-pad\": {\n \"component\": \"SignaturePad\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"form\"\n },\n \"document-viewer\": {\n \"component\": \"DocumentViewer\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"graph-canvas\": {\n \"component\": \"GraphCanvas\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"code-viewer\": {\n \"component\": \"CodeViewer\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"canvas-effect\": {\n \"component\": \"CanvasEffect\",\n \"importPath\": \"@/components/organisms/CanvasEffect\",\n \"category\": \"game\"\n },\n \"isometric-canvas\": {\n \"component\": \"IsometricCanvas\",\n \"importPath\": \"@/components/organisms/IsometricCanvas\",\n \"category\": \"game\"\n },\n \"battle-template\": {\n \"component\": \"BattleTemplate\",\n \"importPath\": \"@/components/templates/BattleTemplate\",\n \"category\": \"template\"\n },\n \"castle-template\": {\n \"component\": \"CastleTemplate\",\n \"importPath\": \"@/components/templates/CastleTemplate\",\n \"category\": \"template\"\n },\n \"world-map-template\": {\n \"component\": \"WorldMapTemplate\",\n \"importPath\": \"@/components/templates/WorldMapTemplate\",\n \"category\": \"template\"\n },\n \"battle-board\": {\n \"component\": \"BattleBoard\",\n \"importPath\": \"@/components/organisms/BattleBoard\",\n \"category\": \"game\"\n },\n \"castle-board\": {\n \"component\": \"CastleBoard\",\n \"importPath\": \"@/components/organisms/CastleBoard\",\n \"category\": \"game\"\n },\n \"game-canvas3-d\": {\n \"component\": \"GameCanvas3D\",\n \"importPath\": \"@/components/organisms/GameCanvas3D\",\n \"category\": \"game\"\n },\n \"world-map-board\": {\n \"component\": \"WorldMapBoard\",\n \"importPath\": \"@/components/organisms/WorldMapBoard\",\n \"category\": \"game\"\n },\n \"collapsible-section\": {\n \"component\": \"CollapsibleSection\",\n \"importPath\": \"@/components/organisms/CollapsibleSection\",\n \"category\": \"display\"\n },\n \"camera3-d\": {\n \"component\": \"Camera3D\",\n \"importPath\": \"@/components/organisms/Camera3D\",\n \"category\": \"display\"\n },\n \"lighting3-d\": {\n \"component\": \"Lighting3D\",\n \"importPath\": \"@/components/organisms/Lighting3D\",\n \"category\": \"display\"\n },\n \"scene3-d\": {\n \"component\": \"Scene3D\",\n \"importPath\": \"@/components/organisms/Scene3D\",\n \"category\": \"display\"\n },\n \"canvas3-d-error-boundary\": {\n \"component\": \"Canvas3DErrorBoundary\",\n \"importPath\": \"@/components/organisms/Canvas3DErrorBoundary\",\n \"category\": \"state\"\n },\n \"canvas3-d-loading-state\": {\n \"component\": \"Canvas3DLoadingState\",\n \"importPath\": \"@/components/organisms/Canvas3DLoadingState\",\n \"category\": \"display\"\n },\n \"model-loader\": {\n \"component\": \"ModelLoader\",\n \"importPath\": \"@/components/organisms/ModelLoader\",\n \"category\": \"display\"\n },\n \"physics-object3-d\": {\n \"component\": \"PhysicsObject3D\",\n \"importPath\": \"@/components/organisms/PhysicsObject3D\",\n \"category\": \"display\"\n },\n \"feature-renderer\": {\n \"component\": \"FeatureRenderer\",\n \"importPath\": \"@/components/organisms/FeatureRenderer\",\n \"category\": \"display\"\n },\n \"feature-renderer3-d\": {\n \"component\": \"FeatureRenderer3D\",\n \"importPath\": \"@/components/organisms/FeatureRenderer3D\",\n \"category\": \"display\"\n },\n \"tile-renderer\": {\n \"component\": \"TileRenderer\",\n \"importPath\": \"@/components/organisms/TileRenderer\",\n \"category\": \"game\"\n },\n \"unit-renderer\": {\n \"component\": \"UnitRenderer\",\n \"importPath\": \"@/components/organisms/UnitRenderer\",\n \"category\": \"display\"\n },\n \"game-canvas3-d-battle-template\": {\n \"component\": \"GameCanvas3DBattleTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DBattleTemplate\",\n \"category\": \"template\"\n },\n \"game-canvas3-d-castle-template\": {\n \"component\": \"GameCanvas3DCastleTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DCastleTemplate\",\n \"category\": \"template\"\n },\n \"game-canvas3-d-world-map-template\": {\n \"component\": \"GameCanvas3DWorldMapTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DWorldMapTemplate\",\n \"category\": \"template\"\n },\n \"state-indicator\": {\n \"component\": \"StateIndicator\",\n \"importPath\": \"@/components/atoms/StateIndicator\",\n \"category\": \"display\"\n },\n \"error-boundary\": {\n \"component\": \"ErrorBoundary\",\n \"importPath\": \"@/components/molecules/ErrorBoundary\",\n \"category\": \"state\"\n },\n \"skeleton\": {\n \"component\": \"Skeleton\",\n \"importPath\": \"@/components/molecules/Skeleton\",\n \"category\": \"component\"\n },\n \"game-audio-provider\": {\n \"component\": \"GameAudioProvider\",\n \"importPath\": \"@/components/organisms/GameAudioProvider\",\n \"category\": \"game\"\n },\n \"game-audio-toggle\": {\n \"component\": \"GameAudioToggle\",\n \"importPath\": \"@/components/organisms/GameAudioToggle\",\n \"category\": \"game\"\n },\n \"trait-slot\": {\n \"component\": \"TraitSlot\",\n \"importPath\": \"@/components/organisms/TraitSlot\",\n \"category\": \"layout\"\n },\n \"trait-state-viewer\": {\n \"component\": \"TraitStateViewer\",\n \"importPath\": \"@/components/organisms/TraitStateViewer\",\n \"category\": \"display\"\n },\n \"uncontrolled-battle-board\": {\n \"component\": \"UncontrolledBattleBoard\",\n \"importPath\": \"@/components/organisms/UncontrolledBattleBoard\",\n \"category\": \"game\"\n },\n \"quiz-block\": {\n \"component\": \"QuizBlock\",\n \"importPath\": \"@/components/molecules/QuizBlock\",\n \"category\": \"component\"\n },\n \"code-block\": {\n \"component\": \"CodeBlock\",\n \"importPath\": \"@/components/molecules/CodeBlock\",\n \"category\": \"component\"\n },\n \"markdown-content\": {\n \"component\": \"MarkdownContent\",\n \"importPath\": \"@/components/molecules/MarkdownContent\",\n \"category\": \"component\"\n },\n \"content-renderer\": {\n \"component\": \"ContentRenderer\",\n \"importPath\": \"@/components/organisms/ContentRenderer\",\n \"category\": \"display\"\n },\n \"jazari-state-machine\": {\n \"component\": \"JazariStateMachine\",\n \"importPath\": \"@/components/organisms/JazariStateMachine\",\n \"category\": \"display\"\n },\n \"state-machine-view\": {\n \"component\": \"StateMachineView\",\n \"importPath\": \"@/components/organisms/StateMachineView\",\n \"category\": \"display\"\n },\n \"book-chapter-view\": {\n \"component\": \"BookChapterView\",\n \"importPath\": \"@/components/organisms/BookChapterView\",\n \"category\": \"display\"\n },\n \"book-cover-page\": {\n \"component\": \"BookCoverPage\",\n \"importPath\": \"@/components/organisms/BookCoverPage\",\n \"category\": \"display\"\n },\n \"book-nav-bar\": {\n \"component\": \"BookNavBar\",\n \"importPath\": \"@/components/organisms/BookNavBar\",\n \"category\": \"navigation\"\n },\n \"book-table-of-contents\": {\n \"component\": \"BookTableOfContents\",\n \"importPath\": \"@/components/organisms/BookTableOfContents\",\n \"category\": \"display\"\n },\n \"book-viewer\": {\n \"component\": \"BookViewer\",\n \"importPath\": \"@/components/organisms/BookViewer\",\n \"category\": \"display\"\n },\n \"scaled-diagram\": {\n \"component\": \"ScaledDiagram\",\n \"importPath\": \"@/components/molecules/ScaledDiagram\",\n \"category\": \"component\"\n },\n \"combat-log\": {\n \"component\": \"CombatLog\",\n \"importPath\": \"@/components/organisms/CombatLog\",\n \"category\": \"game\"\n },\n \"simulation-canvas\": {\n \"component\": \"SimulationCanvas\",\n \"importPath\": \"@/components/organisms/SimulationCanvas\",\n \"category\": \"game\"\n },\n \"simulation-controls\": {\n \"component\": \"SimulationControls\",\n \"importPath\": \"@/components/organisms/SimulationControls\",\n \"category\": \"display\"\n },\n \"simulation-graph\": {\n \"component\": \"SimulationGraph\",\n \"importPath\": \"@/components/organisms/SimulationGraph\",\n \"category\": \"display\"\n },\n \"builder-board\": {\n \"component\": \"BuilderBoard\",\n \"importPath\": \"@/components/organisms/BuilderBoard\",\n \"category\": \"game\"\n },\n \"classifier-board\": {\n \"component\": \"ClassifierBoard\",\n \"importPath\": \"@/components/organisms/ClassifierBoard\",\n \"category\": \"game\"\n },\n \"debugger-board\": {\n \"component\": \"DebuggerBoard\",\n \"importPath\": \"@/components/organisms/DebuggerBoard\",\n \"category\": \"game\"\n },\n \"event-handler-board\": {\n \"component\": \"EventHandlerBoard\",\n \"importPath\": \"@/components/organisms/EventHandlerBoard\",\n \"category\": \"game\"\n },\n \"event-log\": {\n \"component\": \"EventLog\",\n \"importPath\": \"@/components/organisms/EventLog\",\n \"category\": \"display\"\n },\n \"object-rule-panel\": {\n \"component\": \"ObjectRulePanel\",\n \"importPath\": \"@/components/organisms/ObjectRulePanel\",\n \"category\": \"display\"\n },\n \"rule-editor\": {\n \"component\": \"RuleEditor\",\n \"importPath\": \"@/components/organisms/RuleEditor\",\n \"category\": \"display\"\n },\n \"negotiator-board\": {\n \"component\": \"NegotiatorBoard\",\n \"importPath\": \"@/components/organisms/NegotiatorBoard\",\n \"category\": \"game\"\n },\n \"action-palette\": {\n \"component\": \"ActionPalette\",\n \"importPath\": \"@/components/organisms/ActionPalette\",\n \"category\": \"display\"\n },\n \"action-tile\": {\n \"component\": \"ActionTile\",\n \"importPath\": \"@/components/organisms/ActionTile\",\n \"category\": \"game\"\n },\n \"sequence-bar\": {\n \"component\": \"SequenceBar\",\n \"importPath\": \"@/components/organisms/SequenceBar\",\n \"category\": \"display\"\n },\n \"sequencer-board\": {\n \"component\": \"SequencerBoard\",\n \"importPath\": \"@/components/organisms/SequencerBoard\",\n \"category\": \"game\"\n },\n \"simulator-board\": {\n \"component\": \"SimulatorBoard\",\n \"importPath\": \"@/components/organisms/SimulatorBoard\",\n \"category\": \"game\"\n },\n \"code-view\": {\n \"component\": \"CodeView\",\n \"importPath\": \"@/components/organisms/CodeView\",\n \"category\": \"display\"\n },\n \"state-architect-board\": {\n \"component\": \"StateArchitectBoard\",\n \"importPath\": \"@/components/organisms/StateArchitectBoard\",\n \"category\": \"display\"\n },\n \"state-node\": {\n \"component\": \"StateNode\",\n \"importPath\": \"@/components/organisms/StateNode\",\n \"category\": \"display\"\n },\n \"transition-arrow\": {\n \"component\": \"TransitionArrow\",\n \"importPath\": \"@/components/organisms/TransitionArrow\",\n \"category\": \"display\"\n },\n \"variable-panel\": {\n \"component\": \"VariablePanel\",\n \"importPath\": \"@/components/organisms/VariablePanel\",\n \"category\": \"display\"\n },\n \"heading\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n },\n \"text\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n }\n }\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-03T11:14:06.592Z\",\n \"contracts\": {\n \"form\": {\n \"emits\": [\n {\n \"event\": \"GLOBAL_VARIABLE_SET\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIOLATION_DETECTED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"FIELD_CHANGED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [\n \"SAVE\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"form-section\": {\n \"emits\": [\n {\n \"event\": \"GLOBAL_VARIABLE_SET\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIOLATION_DETECTED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"FIELD_CHANGED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [\n \"SAVE\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"form-actions\": {\n \"emits\": [\n {\n \"event\": \"DISPATCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-table\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SORT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-cards\": {\n \"emits\": [\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-list\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"detail-panel\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"page-header\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"filter-group\": {\n \"emits\": [\n {\n \"event\": \"FILTER\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLEAR_FILTERS\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"search-input\": {\n \"emits\": [\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLEAR_SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"empty-state\": {\n \"emits\": [\n {\n \"event\": \"CREATE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"loading-state\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"error-state\": {\n \"emits\": [\n {\n \"event\": \"RETRY\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"notification\": {\n \"emits\": [\n {\n \"event\": \"DISMISS\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n },\n {\n \"event\": \"ACTION\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"tabs\": {\n \"emits\": [\n {\n \"event\": \"TAB_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"tabId\": \"string\"\n }\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"breadcrumb\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"wizard-container\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_NEXT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_BACK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_COMPLETE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_STEP_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"step\": \"number\"\n }\n }\n }\n ],\n \"requires\": [\n \"WIZARD_COMPLETE\"\n ],\n \"entityAware\": true\n },\n \"wizard-progress\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_STEP_CLICK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"step\": \"number\"\n }\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"wizard-navigation\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_NEXT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_BACK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_COMPLETE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"pagination\": {\n \"emits\": [\n {\n \"event\": \"PAGE_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"page\": \"number\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"modal\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"close\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CLOSE\"\n ],\n \"entityAware\": false\n },\n \"drawer\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"close\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CLOSE\"\n ],\n \"entityAware\": false\n },\n \"confirm-dialog\": {\n \"emits\": [\n {\n \"event\": \"CONFIRM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CONFIRM\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"master-detail\": {\n \"emits\": [\n {\n \"event\": \"SELECT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"dashboard-grid\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"stats\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": true\n },\n \"card\": {\n \"emits\": [\n {\n \"event\": \"CLICK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"game-hud\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"game-menu\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"game-over-screen\": {\n \"emits\": [\n {\n \"event\": \"RESTART\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"QUIT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [\n \"RESTART\"\n ],\n \"entityAware\": false\n },\n \"inventory-panel\": {\n \"emits\": [\n {\n \"event\": \"USE_ITEM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n },\n \"optional\": true\n },\n {\n \"event\": \"DROP_ITEM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"dialogue-box\": {\n \"emits\": [\n {\n \"event\": \"ADVANCE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"CHOOSE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"runtime-debugger\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"repeatable-form-section\": {\n \"emits\": [\n {\n \"event\": \"SECTION_ADDED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SECTION_REMOVED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"studio-home-web\": {\n \"emits\": [\n {\n \"event\": \"CREATE_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"SELECT_PROJECT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"DELETE_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"OPEN_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"input\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"query\": \"string\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"studio-home-electron\": {\n \"emits\": [\n {\n \"event\": \"OPEN_FILE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"CREATE_NEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"OPEN_RECENT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"file\": \"object\"\n }\n }\n },\n {\n \"event\": \"REMOVE_RECENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"file\": \"object\"\n }\n }\n },\n {\n \"event\": \"CLEAR_RECENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"studio-project\": {\n \"emits\": [\n {\n \"event\": \"MODE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"mode\": \"string\"\n }\n }\n },\n {\n \"event\": \"TAB_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"tab\": \"string\"\n }\n }\n },\n {\n \"event\": \"SAVE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"VALIDATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"COMPILE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"PREVIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"BACK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"TOGGLE_AGENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"visible\": \"boolean\"\n }\n }\n },\n {\n \"event\": \"TOGGLE_INSPECTOR\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"visible\": \"boolean\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"drawer-slot\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"modal-slot\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"toast-slot\": {\n \"emits\": [\n {\n \"event\": \"DISMISS\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"code-viewer\": {\n \"emits\": [\n {\n \"event\": \"CODE_COPY\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"document-viewer\": {\n \"emits\": [\n {\n \"event\": \"DOCUMENT_DOWNLOAD\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DOCUMENT_PRINT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DOCUMENT_PAGE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"media-gallery\": {\n \"emits\": [\n {\n \"event\": \"MEDIA_SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"table\": {\n \"emits\": [\n {\n \"event\": \"SORT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"code-block\": {\n \"emits\": [\n {\n \"event\": \"COPY_CODE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"book-cover-page\": {\n \"emits\": [\n {\n \"event\": \"BOOK_START\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-nav-bar\": {\n \"emits\": [\n {\n \"event\": \"BOOK_PAGE_PREV\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-table-of-contents\": {\n \"emits\": [\n {\n \"event\": \"BOOK_NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-viewer\": {\n \"emits\": [\n {\n \"event\": \"BOOK_PAGE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n }\n }\n}\n","/**\n * Pattern Types (Auto-Generated)\n *\n * DO NOT EDIT MANUALLY - Generated by scripts/generate-pattern-types.ts\n * Run: npx tsx scripts/generate-pattern-types.ts\n *\n * Generated: 2026-02-10T14:06:03.975Z\n * Pattern count: 120\n */\n\n/**\n * All valid pattern type names from almadar-patterns registry.\n * Use this type in render-ui effects for compile-time validation.\n */\nexport type PatternType =\n | 'accordion'\n | 'action-buttons'\n | 'alert'\n | 'auth-layout'\n | 'avatar'\n | 'badge'\n | 'battle-template'\n | 'box'\n | 'breadcrumb'\n | 'button'\n | 'button-pattern'\n | 'canvas-effect'\n | 'card'\n | 'castle-template'\n | 'center'\n | 'chart'\n | 'checkbox'\n | 'code-viewer'\n | 'conditional-wrapper'\n | 'confirm-dialog'\n | 'container'\n | 'control-button'\n | 'counter-template'\n | 'crud-template'\n | 'custom-pattern'\n | 'd-pad'\n | 'dashboard-grid'\n | 'dashboard-layout'\n | 'detail-panel'\n | 'dialogue-box'\n | 'divider'\n | 'document-viewer'\n | 'drawer'\n | 'drawer-slot'\n | 'empty-state'\n | 'entity-cards'\n | 'entity-list'\n | 'entity-table'\n | 'error-state'\n | 'filter-group'\n | 'flex'\n | 'floating-action-button'\n | 'form'\n | 'form-actions'\n | 'form-field'\n | 'form-section'\n | 'form-section-header'\n | 'form-template'\n | 'game-hud'\n | 'game-menu'\n | 'game-over-screen'\n | 'game-shell'\n | 'game-template'\n | 'generic-app-template'\n | 'graph-canvas'\n | 'grid'\n | 'header'\n | 'health-bar'\n | 'icon'\n | 'input'\n | 'input-group'\n | 'inventory-panel'\n | 'isometric-canvas'\n | 'label'\n | 'law-reference-tooltip'\n | 'layout-pattern'\n | 'list-template'\n | 'loading-state'\n | 'master-detail'\n | 'media-gallery'\n | 'menu'\n | 'meter'\n | 'modal'\n | 'modal-slot'\n | 'navigation'\n | 'notification'\n | 'orbital-visualization'\n | 'overlay'\n | 'page-header'\n | 'pagination'\n | 'popover'\n | 'progress-bar'\n | 'radio'\n | 'relation-select'\n | 'repeatable-form-section'\n | 'runtime-debugger'\n | 'score-display'\n | 'search-input'\n | 'section'\n | 'select'\n | 'settings-template'\n | 'side-panel'\n | 'sidebar'\n | 'signature-pad'\n | 'simple-grid'\n | 'spacer'\n | 'spinner'\n | 'split'\n | 'split-pane'\n | 'sprite'\n | 'stack'\n | 'stat-badge'\n | 'stats'\n | 'switch'\n | 'tabbed-container'\n | 'table'\n | 'tabs'\n | 'text-highlight'\n | 'textarea'\n | 'theme-toggle'\n | 'timeline'\n | 'toast-slot'\n | 'tooltip'\n | 'typography'\n | 'u-i-slot-renderer'\n | 'violation-alert'\n | 'wizard-container'\n | 'wizard-navigation'\n | 'wizard-progress'\n | 'world-map-template';\n\n/**\n * Pattern props map - each pattern type maps to its valid props interface.\n * This enables full type-checking of pattern configurations.\n */\nexport interface PatternPropsMap {\n 'accordion': {\n type: 'accordion';\n /** Accordion items */\n items: unknown[] | string;\n /** Allow multiple items open at once @default false */\n multiple?: boolean | string;\n /** Default open items (IDs) */\n defaultOpenItems?: unknown[] | string;\n /** Default open items by index (pattern compatibility) */\n defaultOpen?: unknown[] | string;\n /** Controlled open items (IDs) */\n openItems?: unknown[] | string;\n /** Callback when item opens/closes */\n onItemToggle?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'action-buttons': {\n type: 'action-buttons';\n /** Button configurations */\n buttons: unknown[] | string;\n /** Called when a button is pressed/released */\n onAction: ((...args: unknown[]) => unknown) | string;\n /** Layout variant */\n layout?: string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Disabled state */\n disabled?: boolean | string;\n };\n 'alert': {\n type: 'alert';\n /** Alert content (children or message) */\n children?: unknown | string;\n /** Alert message (alias for children) */\n message?: string;\n /** variant prop */\n variant?: unknown | string;\n /** title prop */\n title?: string;\n /** dismissible prop */\n dismissible?: boolean | string;\n /** onDismiss prop */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** onClose prop */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** actions prop */\n actions?: unknown | string;\n /** className prop */\n className?: string;\n };\n 'auth-layout': {\n type: 'auth-layout';\n /** App name */\n appName?: string;\n /** Logo component or URL */\n logo?: unknown | string;\n /** Background image URL */\n backgroundImage?: string;\n /** Show branding panel on the side */\n showBranding?: boolean | string;\n /** Branding panel content */\n brandingContent?: unknown | string;\n };\n 'avatar': {\n type: 'avatar';\n /** Image source URL */\n src?: string;\n /** Alt text for the image */\n alt?: string;\n /** Full name - initials will be generated automatically */\n name?: string;\n /** Initials to display (e.g., \"JD\" for John Doe) If not provided but name is, initials will be auto-generated */\n initials?: string;\n /** Icon to display when no image or initials */\n icon?: unknown | string;\n /** Size of the avatar @default 'md' */\n size?: unknown | string;\n /** Status indicator */\n status?: unknown | string;\n /** Badge content (e.g., notification count) */\n badge?: string | number;\n /** Additional CSS classes */\n className?: string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n };\n 'badge': {\n type: 'badge';\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n };\n 'battle-template': {\n type: 'battle-template';\n /** Initial units for the battle */\n initialUnits: unknown[] | string;\n /** Isometric tiles (pre-resolved with terrainSprite) */\n tiles: unknown[] | string;\n /** Canvas render scale */\n scale?: number | string;\n /** Board width for bounds checking */\n boardWidth?: number | string;\n /** Board height for bounds checking */\n boardHeight?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL for canvas */\n backgroundImage?: string;\n /** Unit draw-size multiplier */\n unitScale?: number | string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Sidebar content (combat log, unit roster, etc.) */\n sidebar?: ((...args: unknown[]) => unknown) | string;\n /** Floating action buttons */\n actions?: ((...args: unknown[]) => unknown) | string;\n /** Floating overlays above the canvas (damage popups, tooltips) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Game-over screen overlay */\n gameOverOverlay?: ((...args: unknown[]) => unknown) | string;\n /** -- Obstacle features -- */\n features?: unknown[] | string;\n /** -- Callbacks -- */\n onAttack?: ((...args: unknown[]) => unknown) | string;\n /** Called when battle ends */\n onGameEnd?: ((...args: unknown[]) => unknown) | string;\n /** Called after a unit moves */\n onUnitMove?: ((...args: unknown[]) => unknown) | string;\n /** Custom combat damage calculator */\n calculateDamage?: ((...args: unknown[]) => unknown) | string;\n /** -- Canvas pass-through -- */\n onDrawEffects?: ((...args: unknown[]) => unknown) | string;\n /** hasActiveEffects prop */\n hasActiveEffects?: boolean | string;\n /** effectSpriteUrls prop */\n effectSpriteUrls?: unknown[] | string;\n /** resolveUnitFrame prop */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'box': {\n type: 'box';\n /** Padding on all sides */\n padding?: unknown | string;\n /** Horizontal padding (overrides padding for x-axis) */\n paddingX?: unknown | string;\n /** Vertical padding (overrides padding for y-axis) */\n paddingY?: unknown | string;\n /** Margin on all sides */\n margin?: unknown | string;\n /** Horizontal margin */\n marginX?: unknown | string;\n /** Vertical margin */\n marginY?: unknown | string;\n /** Background color */\n bg?: unknown | string;\n /** Show border */\n border?: boolean | string;\n /** Border radius */\n rounded?: unknown | string;\n /** Box shadow */\n shadow?: unknown | string;\n /** Display type */\n display?: string;\n /** Fill available width */\n fullWidth?: boolean | string;\n /** Fill available height */\n fullHeight?: boolean | string;\n /** Overflow behavior */\n overflow?: string;\n /** Position */\n position?: string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'breadcrumb': {\n type: 'breadcrumb';\n /** Breadcrumb items */\n items: unknown[] | string;\n /** Separator icon */\n separator?: unknown | string;\n /** Maximum items to show (truncates with ellipsis) */\n maxItems?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'button': {\n type: 'button';\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** isLoading prop */\n isLoading?: boolean | string;\n /** Left icon as ReactNode (preferred) */\n leftIcon?: unknown | string;\n /** Right icon as ReactNode (preferred) */\n rightIcon?: unknown | string;\n /** Left icon as Lucide icon component (convenience prop, renders with default size) */\n icon?: unknown | string;\n /** Right icon as Lucide icon component (convenience prop) */\n iconRight?: unknown | string;\n };\n 'button-pattern': {\n type: 'button-pattern';\n /** label prop */\n label: string;\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** disabled prop */\n disabled?: boolean | string;\n /** onClick prop */\n onClick?: string;\n /** icon prop */\n icon?: string;\n /** iconPosition prop */\n iconPosition?: string;\n /** className prop */\n className?: string;\n };\n 'canvas-effect': {\n type: 'canvas-effect';\n /** The type of combat action to visualise */\n actionType: unknown | string;\n /** Screen-space X position (center of the effect) */\n x: number | string;\n /** Screen-space Y position (center of the effect) */\n y: number | string;\n /** Duration in ms before auto-dismiss (default 2000 for canvas, 800 for emoji) */\n duration?: number | string;\n /** Optional intensity multiplier (1 = normal, 2 = double size/brightness) */\n intensity?: number | string;\n /** Callback when the effect animation completes */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** --- Remote asset loading --- */\n effectSpriteUrl?: string;\n /** Base URL for remote assets. Prepended to relative effectSpriteUrl paths. */\n assetBaseUrl?: string;\n /** Full effect asset manifest for the sprite particle engine. When provided, enables the canvas-based particle system. */\n assetManifest?: unknown | string;\n /** Canvas width (default 400) */\n width?: number | string;\n /** Canvas height (default 300) */\n height?: number | string;\n };\n 'card': {\n type: 'card';\n /** Card title */\n title?: string;\n /** Card subtitle or description */\n subtitle?: string;\n /** Image URL to display at top of card */\n image?: string;\n /** Action buttons to display in card footer */\n actions?: unknown[] | string;\n /** Card content */\n children?: unknown | string;\n /** Click handler for the entire card */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'castle-template': {\n type: 'castle-template';\n /** Isometric tiles (pre-resolved with terrainSprite) */\n tiles: unknown[] | string;\n /** Building features rendered on the grid */\n features?: unknown[] | string;\n /** Garrison / stationed units on the grid */\n units?: unknown[] | string;\n /** Canvas render scale */\n scale?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL */\n backgroundImage?: string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Side panel content (buildings list, recruit tab, garrison tab) */\n sidePanel?: ((...args: unknown[]) => unknown) | string;\n /** Canvas overlay (hover tooltips, etc.) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Bottom bar (income summary, etc.) */\n footer?: ((...args: unknown[]) => unknown) | string;\n /** -- Callbacks -- */\n onFeatureClick?: ((...args: unknown[]) => unknown) | string;\n /** Called when a unit is clicked */\n onUnitClick?: ((...args: unknown[]) => unknown) | string;\n /** Called when any tile is clicked */\n onTileClick?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'center': {\n type: 'center';\n /** Center inline (width fits content) vs block (full width) */\n inline?: boolean | string;\n /** Center only horizontally */\n horizontal?: boolean | string;\n /** Center only vertically */\n vertical?: boolean | string;\n /** Minimum height (useful for vertical centering) */\n minHeight?: string | number;\n /** Fill available height */\n fullHeight?: boolean | string;\n /** Fill available width */\n fullWidth?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'chart': {\n type: 'chart';\n /** Chart title */\n title?: string;\n /** Chart subtitle / description */\n subtitle?: string;\n /** Chart type */\n chartType?: unknown | string;\n /** Data series */\n series?: unknown | string;\n /** Simple data (single series shorthand) */\n data?: unknown | string;\n /** Chart height in px */\n height?: number | string;\n /** Show legend */\n showLegend?: boolean | string;\n /** Show values on chart */\n showValues?: boolean | string;\n /** Actions for chart interactions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'checkbox': {\n type: 'checkbox';\n /** label prop */\n label?: string;\n };\n 'code-viewer': {\n type: 'code-viewer';\n /** Viewer title */\n title?: string;\n /** Code content */\n code?: string;\n /** Language for display label */\n language?: string;\n /** Diff lines (for diff mode) */\n diff?: unknown | string;\n /** Old value (for generating diff) */\n oldValue?: string;\n /** New value (for generating diff) */\n newValue?: string;\n /** Display mode */\n mode?: unknown | string;\n /** Show line numbers */\n showLineNumbers?: boolean | string;\n /** Show copy button */\n showCopy?: boolean | string;\n /** Enable word wrap */\n wordWrap?: boolean | string;\n /** Max height before scrolling */\n maxHeight?: number | string;\n /** Multiple files (tabbed view) */\n files?: unknown | string;\n /** Actions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'conditional-wrapper': {\n type: 'conditional-wrapper';\n /** The S-expression condition to evaluate */\n condition?: unknown | string;\n /** Context for evaluating the condition */\n context: unknown | string;\n /** Children to render when condition is true (or when no condition is provided) */\n children: unknown | string;\n /** Optional fallback to render when condition is false */\n fallback?: unknown | string;\n /** Whether to animate the transition (uses CSS transitions) */\n animate?: boolean | string;\n };\n 'confirm-dialog': {\n type: 'confirm-dialog';\n /** Whether the dialog is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when dialog is closed (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Callback when action is confirmed (injected by slot wrapper) */\n onConfirm?: ((...args: unknown[]) => unknown) | string;\n /** Dialog title */\n title: string;\n /** Dialog message/description */\n message?: string | unknown;\n /** Alias for message (schema compatibility) */\n description?: string | unknown;\n /** Confirm button text */\n confirmText?: string;\n /** Alias for confirmText (schema compatibility) */\n confirmLabel?: string;\n /** Cancel button text */\n cancelText?: string;\n /** Alias for cancelText (schema compatibility) */\n cancelLabel?: string;\n /** Dialog variant */\n variant?: unknown | string;\n /** Dialog size */\n size?: unknown | string;\n /** Loading state for confirm button */\n isLoading?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'container': {\n type: 'container';\n /** Maximum width */\n size?: unknown | string;\n /** Alias for size (pattern compatibility) */\n maxWidth?: unknown | string;\n /** Horizontal padding */\n padding?: unknown | string;\n /** Center horizontally */\n center?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children?: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'control-button': {\n type: 'control-button';\n /** Button label text */\n label?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Shape variant */\n shape?: string;\n /** Visual variant */\n variant?: string;\n /** Called when button is pressed */\n onPress?: ((...args: unknown[]) => unknown) | string;\n /** Called when button is released */\n onRelease?: ((...args: unknown[]) => unknown) | string;\n /** Whether the button is currently pressed */\n pressed?: boolean | string;\n /** Whether the button is disabled */\n disabled?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'counter-template': {\n type: 'counter-template';\n /** Current count value */\n count: number | string;\n /** Minimum allowed value */\n min?: number | string;\n /** Maximum allowed value */\n max?: number | string;\n /** Step size for increment/decrement */\n step?: number | string;\n /** Called when increment is clicked */\n onIncrement?: ((...args: unknown[]) => unknown) | string;\n /** Called when decrement is clicked */\n onDecrement?: ((...args: unknown[]) => unknown) | string;\n /** Called when reset is clicked */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Title displayed above the counter */\n title?: string;\n /** Show reset button */\n showReset?: boolean | string;\n /** Counter display size */\n size?: unknown | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'crud-template': {\n type: 'crud-template';\n /** Array of items to display */\n items: unknown[] | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error object if loading failed */\n error?: unknown | string;\n /** Currently selected item for editing */\n selectedItem?: unknown | string;\n /** Whether the create/edit modal is open */\n isModalOpen?: boolean | string;\n /** Current search query */\n searchQuery?: string;\n /** Current sort field */\n sortBy?: string;\n /** Current sort order */\n sortOrder?: string;\n /** Called to load/refresh items */\n onLoad?: ((...args: unknown[]) => unknown) | string;\n /** Called when creating a new item */\n onCreate?: ((...args: unknown[]) => unknown) | string;\n /** Called when updating an item */\n onUpdate?: ((...args: unknown[]) => unknown) | string;\n /** Called when deleting an item */\n onDelete?: ((...args: unknown[]) => unknown) | string;\n /** Called when selecting an item for editing */\n onSelect?: ((...args: unknown[]) => unknown) | string;\n /** Called when viewing an item */\n onView?: ((...args: unknown[]) => unknown) | string;\n /** Called when search query changes */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** Called when sort changes */\n onSort?: ((...args: unknown[]) => unknown) | string;\n /** Called to open create/edit modal */\n onOpenModal?: ((...args: unknown[]) => unknown) | string;\n /** Called to close modal */\n onCloseModal?: ((...args: unknown[]) => unknown) | string;\n /** Page title */\n title?: string;\n /** Singular entity name for labels */\n entityName?: string;\n /** Table column definitions */\n columns?: unknown[] | string;\n /** Form field definitions for create/edit */\n fields?: unknown[] | string;\n /** Whether to show search input */\n showSearch?: boolean | string;\n /** Search input placeholder */\n searchPlaceholder?: string;\n /** Whether to show view action */\n showViewAction?: boolean | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'custom-pattern': {\n type: 'custom-pattern';\n /** HTML element to render */\n component: unknown | string;\n /** Tailwind classes */\n className?: string;\n /** Token path(s) for design token resolution */\n token?: string | unknown[];\n /** Text content (for leaf elements) */\n content?: string;\n /** Event to emit on click (REQUIRED for interactive elements) */\n action?: string;\n /** Event payload */\n payload?: Record<string, unknown> | string;\n /** Nested children patterns */\n children?: unknown | string;\n /** Image source (for img elements) */\n src?: string;\n /** Image alt text (for img elements) */\n alt?: string;\n /** Link href (for a elements) */\n href?: string;\n /** Open link in new tab */\n external?: boolean | string;\n /** Disabled state */\n disabled?: boolean | string;\n /** Additional HTML attributes */\n htmlProps?: Record<string, unknown> | string;\n };\n 'd-pad': {\n type: 'd-pad';\n /** Called when a direction is pressed/released */\n onDirection: ((...args: unknown[]) => unknown) | string;\n /** Size variant */\n size?: string;\n /** Whether to include diagonal buttons */\n includeDiagonals?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Disabled state */\n disabled?: boolean | string;\n };\n 'dashboard-grid': {\n type: 'dashboard-grid';\n /** Number of columns */\n columns?: number | string;\n /** Gap between cells */\n gap?: string;\n /** Cell definitions */\n cells: unknown[] | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'dashboard-layout': {\n type: 'dashboard-layout';\n /** App name shown in sidebar */\n appName?: string;\n /** Logo component or URL */\n logo?: unknown | string;\n /** Navigation items */\n navItems?: unknown[] | string;\n /** Current user info (optional - auto-populated from auth context if not provided) */\n user?: Record<string, unknown> | string;\n /** Header actions (notifications, etc.) */\n headerActions?: unknown | string;\n /** Show search in header */\n showSearch?: boolean | string;\n /** Custom sidebar footer */\n sidebarFooter?: unknown | string;\n /** Callback when user clicks sign out (optional - uses auth context signOut if not provided) */\n onSignOut?: ((...args: unknown[]) => unknown) | string;\n };\n 'detail-panel': {\n type: 'detail-panel';\n /** title prop */\n title?: string;\n /** subtitle prop */\n subtitle?: string;\n /** status prop */\n status?: Record<string, unknown> | string;\n /** avatar prop */\n avatar?: unknown | string;\n /** sections prop */\n sections?: unknown | string;\n /** Unified actions array - first action with variant='primary' is the main action */\n actions?: unknown | string;\n /** footer prop */\n footer?: unknown | string;\n /** slideOver prop */\n slideOver?: boolean | string;\n /** onClose prop */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** data prop */\n data?: Record<string, unknown> | unknown | string;\n /** isLoading prop */\n isLoading?: boolean | string;\n /** error prop */\n error?: unknown | string;\n /** Panel position (for drawer/sidebar placement) */\n position?: string;\n /** Panel width (CSS value, e.g., '400px', '50%') */\n width?: string;\n };\n 'dialogue-box': {\n type: 'dialogue-box';\n /** Current dialogue node to display */\n dialogue: unknown | string;\n /** Typewriter speed in ms per character (0 = instant) */\n typewriterSpeed?: number | string;\n /** Position of dialogue box */\n position?: string;\n /** Called when text animation completes */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Called when a choice is selected */\n onChoice?: ((...args: unknown[]) => unknown) | string;\n /** Called when dialogue is advanced (no choices) */\n onAdvance?: ((...args: unknown[]) => unknown) | string;\n /** Optional className */\n className?: string;\n };\n 'divider': {\n type: 'divider';\n /** Orientation of the divider @default 'horizontal' */\n orientation?: unknown | string;\n /** Text label to display in the divider */\n label?: string;\n /** Line style variant @default 'solid' */\n variant?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'document-viewer': {\n type: 'document-viewer';\n /** Document title */\n title?: string;\n /** Document URL (for PDF/external documents) */\n src?: string;\n /** Document content (for text/html/markdown) */\n content?: string;\n /** Document type */\n documentType?: unknown | string;\n /** Current page (for multi-page documents) */\n currentPage?: number | string;\n /** Total pages */\n totalPages?: number | string;\n /** Viewer height */\n height?: number | string;\n /** Show toolbar */\n showToolbar?: boolean | string;\n /** Show download button */\n showDownload?: boolean | string;\n /** Show print button */\n showPrint?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** Multiple documents (tabbed view) */\n documents?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'drawer': {\n type: 'drawer';\n /** Whether the drawer is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when drawer should close (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Drawer title */\n title?: string;\n /** Drawer content (can be empty if using slot content) */\n children?: unknown | string;\n /** Footer content */\n footer?: unknown | string;\n /** Position (left or right) */\n position?: unknown | string;\n /** Width (CSS value or preset size) */\n width?: string | unknown;\n /** Show close button */\n showCloseButton?: boolean | string;\n /** Close on overlay click */\n closeOnOverlayClick?: boolean | string;\n /** Close on escape key */\n closeOnEscape?: boolean | string;\n /** Additional class name */\n className?: string;\n };\n 'drawer-slot': {\n type: 'drawer-slot';\n /** Content to display in the drawer */\n children?: unknown | string;\n /** Override drawer title (extracted from children if not provided) */\n title?: string;\n /** Drawer position */\n position?: unknown | string;\n /** Drawer size */\n size?: unknown | string;\n /** Custom class name */\n className?: string;\n };\n 'empty-state': {\n type: 'empty-state';\n /** Icon to display. Accepts either: - A Lucide icon component (LucideIcon) - A string icon name (e.g., \"check-circle\", \"x-circle\") */\n icon?: unknown | string;\n /** Primary text to display - use title or message (message is alias for backwards compat) */\n title?: string;\n /** Alias for title - used by schema patterns */\n message?: string;\n /** description prop */\n description?: string;\n /** actionLabel prop */\n actionLabel?: string;\n /** onAction prop */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** Destructive styling for confirmation dialogs */\n destructive?: boolean | string;\n /** Variant for color styling */\n variant?: string;\n };\n 'entity-cards': {\n type: 'entity-cards';\n /** Minimum width of each card (default: 280px) */\n minCardWidth?: number | string;\n /** Maximum number of columns */\n maxCols?: number | string;\n /** Gap between cards */\n gap?: unknown | string;\n /** Align cards vertically in their cells */\n alignItems?: string;\n /** Custom class name */\n className?: string;\n /** Children elements (cards) - optional when using entity/data props */\n children?: unknown | string;\n /** Entity type for data-bound usage */\n entity?: string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** Alias for fields - backwards compatibility */\n columns?: unknown | string;\n /** Data array for data-bound usage - accepts readonly for generated const arrays */\n data?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Actions for each card item (schema-driven) */\n itemActions?: unknown | string;\n /** Callback when a card is clicked */\n onCardClick?: ((...args: unknown[]) => unknown) | string;\n /** Enable server-side pagination */\n enablePagination?: boolean | string;\n /** Items per page (default: 20) */\n pageSize?: number | string;\n /** Show total count in pagination */\n showTotal?: boolean | string;\n /** Filter configuration for entity data */\n filter?: Record<string, unknown> | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n };\n 'entity-list': {\n type: 'entity-list';\n /** Entity name for auto-fetch OR data array (backwards compatible) */\n entity?: unknown[] | unknown | string;\n /** Data array - primary prop for data */\n data?: unknown[] | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** selectable prop */\n selectable?: boolean | string;\n /** selectedItems prop */\n selectedItems?: unknown | string;\n /** onSelectionChange prop */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Item actions - schema-driven or function-based */\n itemActions?: ((...args: unknown[]) => unknown) | unknown | string;\n /** showDividers prop */\n showDividers?: boolean | string;\n /** variant prop */\n variant?: string;\n /** emptyMessage prop */\n emptyMessage?: string;\n /** className prop */\n className?: string;\n /** renderItem prop */\n renderItem?: ((...args: unknown[]) => unknown) | string;\n /** children prop */\n children?: unknown | string;\n /** onItemAction prop */\n onItemAction?: ((...args: unknown[]) => unknown) | string;\n /** onRowClick prop */\n onRowClick?: ((...args: unknown[]) => unknown) | string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n /** Entity type name for display */\n entityType?: string;\n };\n 'entity-table': {\n type: 'entity-table';\n /** Fields to display - accepts string[] or Column[] for unified interface. Alias for columns */\n fields?: unknown | string;\n /** Columns can be Column objects or simple string field names - accepts readonly for generated const arrays */\n columns?: unknown | string;\n /** Data array - primary prop for data. Accepts readonly or mutable arrays, and unknown for generated components */\n data?: unknown | unknown[] | string;\n /** Entity name for auto-fetch OR data array (backwards compatible) */\n entity?: string | unknown | unknown[];\n /** Item actions from generated code - maps to rowActions */\n itemActions?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** emptyIcon prop */\n emptyIcon?: unknown | string;\n /** emptyTitle prop */\n emptyTitle?: string;\n /** emptyDescription prop */\n emptyDescription?: string;\n /** emptyAction prop */\n emptyAction?: Record<string, unknown> | string;\n /** Selection */\n selectable?: boolean | string;\n /** selectedIds prop */\n selectedIds?: unknown | string;\n /** onSelectionChange prop */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Sorting */\n sortBy?: string;\n /** sortDirection prop */\n sortDirection?: string;\n /** onSort prop */\n onSort?: ((...args: unknown[]) => unknown) | string;\n /** Pagination (manual control) */\n pagination?: Record<string, unknown> | string;\n /** Server-side pagination (automatic when enabled) */\n enablePagination?: boolean | string;\n /** Items per page for automatic pagination (default: 20) */\n defaultPageSize?: number | string;\n /** Show total count in pagination */\n showTotal?: boolean | string;\n /** Search */\n searchable?: boolean | string;\n /** searchValue prop */\n searchValue?: string;\n /** onSearch prop */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** searchPlaceholder prop */\n searchPlaceholder?: string;\n /** Row click navigation */\n onRowClick?: ((...args: unknown[]) => unknown) | string;\n /** Row actions */\n rowActions?: unknown | string;\n /** Bulk actions */\n bulkActions?: unknown[] | string;\n /** Header actions */\n headerActions?: unknown | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n /** className prop */\n className?: string;\n };\n 'error-state': {\n type: 'error-state';\n /** title prop */\n title?: string;\n /** Error message to display */\n message?: string;\n /** Alias for message (schema compatibility) */\n description?: string;\n /** onRetry prop */\n onRetry?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'filter-group': {\n type: 'filter-group';\n /** Entity name to filter */\n entity: string;\n /** Filter definitions from schema */\n filters: unknown | string;\n /** Callback when a filter changes - for EntityStore integration */\n onFilterChange?: ((...args: unknown[]) => unknown) | string;\n /** Callback to clear all filters */\n onClearAll?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n /** Variant style */\n variant?: string;\n /** Show filter icon */\n showIcon?: boolean | string;\n /** Query singleton binding for state management. When provided, syncs filter state with the query singleton. Example: \"@TaskQuery\" */\n query?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n };\n 'flex': {\n type: 'flex';\n /** Flex direction */\n direction?: unknown | string;\n /** Flex wrap */\n wrap?: unknown | string;\n /** Align items */\n align?: unknown | string;\n /** Justify content */\n justify?: unknown | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Inline flex */\n inline?: boolean | string;\n /** Flex grow */\n grow?: boolean | number | string;\n /** Flex shrink */\n shrink?: boolean | number | string;\n /** Flex basis */\n basis?: string | number;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'floating-action-button': {\n type: 'floating-action-button';\n /** Single action (if only one action, button will directly trigger onClick) */\n action?: Record<string, unknown> | string;\n /** Multiple actions (if provided, button will expand to show all actions) */\n actions?: unknown[] | string;\n /** Icon name (simplified API for pattern compatibility) */\n icon?: string;\n /** Click handler (simplified API for pattern compatibility) */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Variant (simplified API for pattern compatibility) */\n variant?: string;\n /** Button position @default 'bottom-right' */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'form': {\n type: 'form';\n /** Form fields (traditional React children) */\n children?: unknown | string;\n /** Submit handler - receives form data, or event name string for trait dispatch */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Cancel handler - function or event name string for trait dispatch */\n onCancel?: ((...args: unknown[]) => unknown) | string;\n /** Form layout */\n layout?: string;\n /** Gap between fields */\n gap?: string;\n /** Additional CSS classes */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Form mode - 'create' for new records, 'edit' for updating existing */\n mode?: string;\n /** Fields definition (schema format) - accepts readonly for generated const arrays */\n fields?: unknown | string;\n /** Initial form data */\n initialData?: Record<string, unknown> | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Submit button label */\n submitLabel?: string;\n /** Cancel button label (if provided, shows cancel button) */\n cancelLabel?: string;\n /** Show cancel button (defaults to true for schema forms) */\n showCancel?: boolean | string;\n /** Form title (used by ModalSlot to extract title) */\n title?: string;\n /** Event dispatch props (for trait state machine integration) */\n submitEvent?: string;\n /** Event to dispatch on cancel (defaults to 'CANCEL') */\n cancelEvent?: string;\n /** Relation data props */\n relationsData?: Record<string, unknown> | string;\n /** Loading state for relation data: { fieldName: boolean } */\n relationsLoading?: Record<string, unknown> | string;\n /** Inspection form extensions */\n conditionalFields?: Record<string, unknown> | boolean | string;\n /** Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately) */\n hiddenCalculations?: unknown[] | boolean | string;\n /** Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately) */\n violationTriggers?: unknown[] | boolean | string;\n /** Context for S-expression evaluation - accepts flexible types from generated code */\n evaluationContext?: unknown | Record<string, unknown> | string;\n /** Nested form sections with optional conditions */\n sections?: unknown[] | string;\n /** Callback when any field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Config path for form configuration (schema-driven) */\n configPath?: string;\n /** Whether the form supports repeatable entries */\n repeatable?: boolean | string;\n };\n 'form-actions': {\n type: 'form-actions';\n /** Button group content (Button components) - use this OR primary/secondary */\n children?: unknown | string;\n /** Primary action button config (for form-actions pattern) Accepts Readonly for compatibility with generated const objects */\n primary?: unknown | string;\n /** Secondary action buttons config (for form-actions pattern) Accepts readonly array for compatibility with generated const arrays */\n secondary?: unknown | string;\n /** Visual variant @default 'default' */\n variant?: unknown | string;\n /** Orientation @default 'horizontal' */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n /** Entity type for filter-group pattern (schema metadata) */\n entity?: string;\n /** Filter definitions for filter-group pattern */\n filters?: unknown | string;\n };\n 'form-field': {\n type: 'form-field';\n /** label prop */\n label: string;\n /** required prop */\n required?: boolean | string;\n /** error prop */\n error?: string;\n /** hint prop */\n hint?: string;\n /** className prop */\n className?: string;\n /** children prop */\n children: unknown | string;\n };\n 'form-section': {\n type: 'form-section';\n /** Form fields (traditional React children) */\n children?: unknown | string;\n /** Submit handler - receives form data, or event name string for trait dispatch */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Cancel handler - function or event name string for trait dispatch */\n onCancel?: ((...args: unknown[]) => unknown) | string;\n /** Form layout */\n layout?: string;\n /** Gap between fields */\n gap?: string;\n /** Additional CSS classes */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Form mode - 'create' for new records, 'edit' for updating existing */\n mode?: string;\n /** Fields definition (schema format) - accepts readonly for generated const arrays */\n fields?: unknown | string;\n /** Initial form data */\n initialData?: Record<string, unknown> | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Submit button label */\n submitLabel?: string;\n /** Cancel button label (if provided, shows cancel button) */\n cancelLabel?: string;\n /** Show cancel button (defaults to true for schema forms) */\n showCancel?: boolean | string;\n /** Form title (used by ModalSlot to extract title) */\n title?: string;\n /** Event dispatch props (for trait state machine integration) */\n submitEvent?: string;\n /** Event to dispatch on cancel (defaults to 'CANCEL') */\n cancelEvent?: string;\n /** Relation data props */\n relationsData?: Record<string, unknown> | string;\n /** Loading state for relation data: { fieldName: boolean } */\n relationsLoading?: Record<string, unknown> | string;\n /** Inspection form extensions */\n conditionalFields?: Record<string, unknown> | boolean | string;\n /** Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately) */\n hiddenCalculations?: unknown[] | boolean | string;\n /** Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately) */\n violationTriggers?: unknown[] | boolean | string;\n /** Context for S-expression evaluation - accepts flexible types from generated code */\n evaluationContext?: unknown | Record<string, unknown> | string;\n /** Nested form sections with optional conditions */\n sections?: unknown[] | string;\n /** Callback when any field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Config path for form configuration (schema-driven) */\n configPath?: string;\n /** Whether the form supports repeatable entries */\n repeatable?: boolean | string;\n };\n 'form-section-header': {\n type: 'form-section-header';\n /** Section title */\n title: string;\n /** Section subtitle */\n subtitle?: string;\n /** Whether section is collapsed */\n isCollapsed?: boolean | string;\n /** Toggle collapse handler (makes header clickable) */\n onToggle?: ((...args: unknown[]) => unknown) | string;\n /** Badge text (e.g., \"3 fields\", \"Required\", \"Complete\") */\n badge?: string;\n /** Badge variant */\n badgeVariant?: string;\n /** Icon name to show before title */\n icon?: string;\n /** Whether section has validation errors */\n hasErrors?: boolean | string;\n /** Whether section is complete */\n isComplete?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'form-template': {\n type: 'form-template';\n /** Current form field values */\n formData: Record<string, unknown> | string;\n /** Whether form is being submitted */\n isSubmitting?: boolean | string;\n /** Whether submission was successful */\n isSuccess?: boolean | string;\n /** Error object if submission failed */\n error?: unknown | string;\n /** Field-level validation errors */\n validationErrors?: Record<string, unknown> | string;\n /** Called when form is submitted */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Called when a field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to reset the form */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Called to dismiss success message */\n onDismissSuccess?: ((...args: unknown[]) => unknown) | string;\n /** Form title */\n title?: string;\n /** Form subtitle/description */\n subtitle?: string;\n /** Submit button label */\n submitLabel?: string;\n /** Success message */\n successMessage?: string;\n /** Whether to show reset button */\n showReset?: boolean | string;\n /** Form field definitions */\n fields?: unknown[] | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'game-hud': {\n type: 'game-hud';\n /** Position of the HUD */\n position?: string;\n /** Stats to display - accepts readonly for compatibility with generated const arrays */\n stats?: unknown | string;\n /** Alias for stats (schema compatibility) */\n items?: unknown | string;\n /** Schema-style elements array (alternative to stats). Converted to stats internally for backwards compatibility. */\n elements?: unknown | string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Whether to use a semi-transparent background */\n transparent?: boolean | string;\n };\n 'game-menu': {\n type: 'game-menu';\n /** Menu title */\n title: string;\n /** Optional subtitle or version */\n subtitle?: string;\n /** Menu options - accepts readonly for compatibility with generated const arrays */\n options?: unknown | string;\n /** Alias for options (schema compatibility) */\n menuItems?: unknown | string;\n /** Called when an option is selected (legacy callback, prefer event bus) */\n onSelect?: ((...args: unknown[]) => unknown) | string;\n /** Event bus for emitting UI events (optional, uses hook if not provided) */\n eventBus?: unknown | string;\n /** Background image or gradient */\n background?: string;\n /** Logo image URL */\n logo?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'game-over-screen': {\n type: 'game-over-screen';\n /** Screen title (e.g., \"Game Over\", \"Victory!\") */\n title: string;\n /** Optional message */\n message?: string;\n /** Stats to display */\n stats?: unknown[] | string;\n /** Action buttons */\n actions?: unknown[] | string;\n /** Alias for actions (schema compatibility) */\n menuItems?: unknown[] | string;\n /** Called when an action is selected (legacy callback, prefer event bus) */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** Event bus for emitting UI events (optional, uses hook if not provided) */\n eventBus?: unknown | string;\n /** Victory or defeat variant */\n variant?: string;\n /** High score (optional, shows \"NEW HIGH SCORE!\" if exceeded) */\n highScore?: number | string;\n /** Current score for high score comparison (accepts string for schema bindings) */\n currentScore?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'game-shell': {\n type: 'game-shell';\n /** Application / game title shown in the HUD bar */\n appName?: string;\n /** Optional HUD content rendered above the main area */\n hud?: unknown | string;\n /** Extra class name on the root container */\n className?: string;\n /** Whether to show the minimal top bar (default: true) */\n showTopBar?: boolean | string;\n };\n 'game-template': {\n type: 'game-template';\n /** Title of the game */\n title?: string;\n /** The main game canvas or content */\n children: unknown | string;\n /** HUD overlay content (scores, health, etc.) */\n hud?: unknown | string;\n /** Debug panel content */\n debugPanel?: unknown | string;\n /** Whether the debug panel is visible */\n showDebugPanel?: boolean | string;\n /** Game controls */\n controls?: Record<string, unknown> | string;\n /** Additional class name */\n className?: string;\n };\n 'generic-app-template': {\n type: 'generic-app-template';\n /** Page title */\n title: string;\n /** Subtitle or description */\n subtitle?: string;\n /** Main content */\n children: unknown | string;\n /** Header actions (buttons, links) */\n headerActions?: unknown | string;\n /** Footer content */\n footer?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'graph-canvas': {\n type: 'graph-canvas';\n /** Graph title */\n title?: string;\n /** Graph nodes */\n nodes?: unknown | string;\n /** Graph edges */\n edges?: unknown | string;\n /** Canvas height */\n height?: number | string;\n /** Show node labels */\n showLabels?: boolean | string;\n /** Enable zoom/pan */\n interactive?: boolean | string;\n /** Enable node dragging */\n draggable?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** On node click */\n onNodeClick?: ((...args: unknown[]) => unknown) | string;\n /** Node click event */\n nodeClickEvent?: string;\n /** Layout algorithm */\n layout?: string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'grid': {\n type: 'grid';\n /** Number of columns (can be responsive object) */\n cols?: unknown | unknown | string;\n /** Number of rows */\n rows?: number | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Row gap (overrides gap for rows) */\n rowGap?: unknown | string;\n /** Column gap (overrides gap for columns) */\n colGap?: unknown | string;\n /** Align items on block axis */\n alignItems?: unknown | string;\n /** Justify items on inline axis */\n justifyItems?: unknown | string;\n /** Auto-flow direction */\n flow?: string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'header': {\n type: 'header';\n /** Logo/Brand content */\n logo?: unknown | string;\n /** Logo image source */\n logoSrc?: string;\n /** Brand/App name */\n brandName?: string;\n /** Navigation items (for desktop header variant) */\n navigationItems?: unknown[] | string;\n /** Show menu toggle button @default true */\n showMenuToggle?: boolean | string;\n /** Is menu open (for toggle icon) */\n isMenuOpen?: boolean | string;\n /** Menu toggle callback */\n onMenuToggle?: ((...args: unknown[]) => unknown) | string;\n /** Show search input @default false */\n showSearch?: boolean | string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Search callback */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** User avatar configuration */\n userAvatar?: Record<string, unknown> | string;\n /** User name (display name or email) */\n userName?: string;\n /** Callback when user avatar is clicked */\n onUserClick?: ((...args: unknown[]) => unknown) | string;\n /** Action buttons (right side) */\n actions?: unknown | string;\n /** Sticky header @default true */\n sticky?: boolean | string;\n /** Variant - mobile shows menu toggle, desktop shows full nav @default 'mobile' */\n variant?: string;\n /** Callback when logo/brand is clicked */\n onLogoClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'health-bar': {\n type: 'health-bar';\n /** Current health value */\n current: number | string;\n /** Maximum health value */\n max: number | string;\n /** Display format */\n format?: string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Animation on change */\n animated?: boolean | string;\n };\n 'icon': {\n type: 'icon';\n /** Lucide icon component (preferred for type-safe usage) */\n icon?: unknown | string;\n /** Icon name as string (resolved from iconMap) */\n name?: string;\n /** Size of the icon */\n size?: unknown | string;\n /** Color class (Tailwind color class) or 'inherit' for theme default */\n color?: string;\n /** Animation type */\n animation?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Icon stroke width - uses theme default if not specified */\n strokeWidth?: number | string;\n /** Inline style */\n style?: Record<string, unknown> | string;\n };\n 'input': {\n type: 'input';\n /** error prop */\n error?: string;\n /** leftIcon prop */\n leftIcon?: unknown | string;\n /** rightIcon prop */\n rightIcon?: unknown | string;\n /** Lucide icon component for left side (convenience prop) */\n icon?: unknown | string;\n /** Show clear button when input has value */\n clearable?: boolean | string;\n /** Callback when clear button is clicked */\n onClear?: ((...args: unknown[]) => unknown) | string;\n /** Options for select type */\n options?: unknown[] | string;\n /** Rows for textarea type */\n rows?: number | string;\n /** onChange handler - accepts events from input, select, or textarea */\n onChange?: unknown | string;\n /** Input type - supports 'select' and 'textarea' in addition to standard types */\n inputType?: string;\n };\n 'input-group': {\n type: 'input-group';\n /** Left addon (icon, button, or text) */\n leftAddon?: unknown | unknown | string;\n /** Right addon (icon, button, or text) */\n rightAddon?: unknown | unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'inventory-panel': {\n type: 'inventory-panel';\n /** Array of items in inventory */\n items: unknown[] | string;\n /** Total number of slots */\n slots: number | string;\n /** Number of columns in grid */\n columns: number | string;\n /** Currently selected slot index */\n selectedSlot?: number | string;\n /** Called when a slot is selected */\n onSelectSlot: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is used (double-click or Enter) */\n onUseItem?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is dropped */\n onDropItem?: ((...args: unknown[]) => unknown) | string;\n /** Show item tooltips on hover */\n showTooltips?: boolean | string;\n /** Optional className */\n className?: string;\n /** Slot size in pixels */\n slotSize?: number | string;\n };\n 'isometric-canvas': {\n type: 'isometric-canvas';\n /** --- Closed-circuit props (MANDATORY) --- */\n className?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** --- Grid data --- */\n tiles?: unknown[] | string;\n /** Array of units on the board */\n units?: unknown[] | string;\n /** Array of features (resources, portals, buildings, etc.) */\n features?: unknown[] | string;\n /** --- Interaction state --- */\n selectedUnitId?: string;\n /** Valid move positions (shown as pulsing green highlights) */\n validMoves?: unknown[] | string;\n /** Attack target positions (shown as pulsing red highlights) */\n attackTargets?: unknown[] | string;\n /** Hovered tile position */\n hoveredTile?: Record<string, unknown> | string;\n /** --- Event handlers --- */\n onTileClick?: ((...args: unknown[]) => unknown) | string;\n /** Unit click handler */\n onUnitClick?: ((...args: unknown[]) => unknown) | string;\n /** Tile hover handler */\n onTileHover?: ((...args: unknown[]) => unknown) | string;\n /** Tile leave handler */\n onTileLeave?: ((...args: unknown[]) => unknown) | string;\n /** --- Rendering options --- */\n scale?: number | string;\n /** Show debug grid lines and coordinates */\n debug?: boolean | string;\n /** Background image URL tiled behind the isometric grid */\n backgroundImage?: string;\n /** Toggle minimap overlay */\n showMinimap?: boolean | string;\n /** Enable camera pan/zoom controls */\n enableCamera?: boolean | string;\n /** Extra scale multiplier for unit draw size. 1 = default. */\n unitScale?: number | string;\n /** --- Asset resolution (project-agnostic) --- */\n getTerrainSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve feature sprite URL from feature type key */\n getFeatureSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve unit static sprite URL */\n getUnitSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve animated sprite sheet frame for a unit */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** Additional sprite URLs to preload (e.g., effect sprites) */\n effectSpriteUrls?: unknown[] | string;\n /** Callback to draw canvas effects after units */\n onDrawEffects?: ((...args: unknown[]) => unknown) | string;\n /** Whether there are active effects — keeps RAF loop alive */\n hasActiveEffects?: boolean | string;\n /** --- Remote asset loading --- */\n assetBaseUrl?: string;\n /** Manifest mapping entity keys to relative sprite paths. Combined with assetBaseUrl to produce full URLs. Used as a fallback when inline URLs and callbacks don't resolve. */\n assetManifest?: Record<string, unknown> | string;\n };\n 'label': {\n type: 'label';\n /** required prop */\n required?: boolean | string;\n };\n 'law-reference-tooltip': {\n type: 'law-reference-tooltip';\n /** The law reference to display */\n reference: unknown | string;\n /** Children element that triggers the tooltip */\n children: unknown | string;\n /** Tooltip position */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'layout-pattern': {\n type: 'layout-pattern';\n /** Nested pattern configurations - rendered recursively */\n children?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n };\n 'list-template': {\n type: 'list-template';\n /** Array of list items */\n items: unknown[] | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error object if loading failed */\n error?: unknown | string;\n /** Current filter value */\n filter?: unknown | string;\n /** Called when a new item is added */\n onAdd?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is toggled */\n onToggle?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is deleted */\n onDelete?: ((...args: unknown[]) => unknown) | string;\n /** Called when filter changes */\n onFilterChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to retry loading */\n onRetry?: ((...args: unknown[]) => unknown) | string;\n /** Title displayed above the list */\n title?: string;\n /** Placeholder for the input field */\n placeholder?: string;\n /** Whether to show filter buttons */\n showFilters?: boolean | string;\n /** Whether to show item count */\n showCount?: boolean | string;\n /** Message shown when list is empty */\n emptyMessage?: string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'loading-state': {\n type: 'loading-state';\n /** title prop */\n title?: string;\n /** message prop */\n message?: string;\n /** className prop */\n className?: string;\n };\n 'master-detail': {\n type: 'master-detail';\n /** Master panel content (usually a list) */\n master: unknown | string;\n /** Detail panel content */\n detail: unknown | string;\n /** Content shown when nothing is selected */\n emptyDetail?: unknown | string;\n /** Whether an item is currently selected */\n hasSelection?: boolean | string;\n /** Width of master panel (e.g., '350px', '30%') */\n masterWidth?: string;\n /** Additional CSS classes */\n className?: string;\n /** Class for master pane */\n masterClassName?: string;\n /** Class for detail pane */\n detailClassName?: string;\n };\n 'media-gallery': {\n type: 'media-gallery';\n /** Gallery title */\n title?: string;\n /** Media items */\n items?: unknown | string;\n /** Schema-driven data */\n data?: unknown | string;\n /** Column count */\n columns?: number | string;\n /** Enable item selection */\n selectable?: boolean | string;\n /** Selected item IDs */\n selectedItems?: unknown | string;\n /** Selection change callback */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Show upload button */\n showUpload?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** Aspect ratio for thumbnails */\n aspectRatio?: string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'menu': {\n type: 'menu';\n /** Menu trigger element */\n trigger: unknown | string;\n /** Menu items */\n items: unknown[] | string;\n /** Menu position */\n position?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'meter': {\n type: 'meter';\n /** Current value */\n value: number | string;\n /** Minimum value */\n min?: number | string;\n /** Maximum value */\n max?: number | string;\n /** Display label */\n label?: string;\n /** Unit suffix (e.g., '%', 'MB', 'credits') */\n unit?: string;\n /** Display variant */\n variant?: unknown | string;\n /** Color thresholds */\n thresholds?: unknown | string;\n /** Number of segments (for segmented variant) */\n segments?: number | string;\n /** Show value text */\n showValue?: boolean | string;\n /** Size (for radial variant) */\n size?: string;\n /** Actions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'modal': {\n type: 'modal';\n /** Whether the modal is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when modal should close (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** title prop */\n title?: string;\n /** Modal content (can be empty if using slot content) */\n children?: unknown | string;\n /** footer prop */\n footer?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** showCloseButton prop */\n showCloseButton?: boolean | string;\n /** closeOnOverlayClick prop */\n closeOnOverlayClick?: boolean | string;\n /** closeOnEscape prop */\n closeOnEscape?: boolean | string;\n /** className prop */\n className?: string;\n };\n 'modal-slot': {\n type: 'modal-slot';\n /** Content to display in the modal */\n children?: unknown | string;\n /** Override modal title (extracted from children if not provided) */\n title?: string;\n /** Modal size */\n size?: string;\n /** Custom class name */\n className?: string;\n };\n 'navigation': {\n type: 'navigation';\n /** Navigation items */\n items: unknown[] | string;\n /** Navigation orientation @default 'horizontal' */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'notification': {\n type: 'notification';\n /** Toast variant */\n variant?: unknown | string;\n /** Toast message */\n message: string;\n /** Toast title (optional) */\n title?: string;\n /** Auto-dismiss duration in milliseconds (0 = no auto-dismiss) */\n duration?: number | string;\n /** Show dismiss button */\n dismissible?: boolean | string;\n /** Callback when toast is dismissed */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** Action button label */\n actionLabel?: string;\n /** Action button click handler */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** Badge count (optional) */\n badge?: string | number;\n /** Additional CSS classes */\n className?: string;\n };\n 'orbital-visualization': {\n type: 'orbital-visualization';\n /** Full KFlow schema object */\n schema?: Record<string, unknown> | string;\n /** Direct complexity override (1-100+) */\n complexity?: number | string;\n /** Size of the visualization */\n size?: string;\n /** Show complexity label */\n showLabel?: boolean | string;\n /** Animation enabled */\n animated?: boolean | string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'overlay': {\n type: 'overlay';\n /** isVisible prop */\n isVisible?: boolean | string;\n /** onClick prop */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** blur prop */\n blur?: boolean | string;\n };\n 'page-header': {\n type: 'page-header';\n /** Page title - accepts unknown to handle generated code accessing dynamic entity data */\n title?: string | number | unknown;\n /** Optional subtitle/description */\n subtitle?: string | number | unknown;\n /** Show back button */\n showBack?: boolean | string;\n /** Event to emit when back is clicked (default: BACK) */\n backEvent?: string;\n /** Breadcrumbs */\n breadcrumbs?: unknown | string;\n /** Status badge */\n status?: Record<string, unknown> | string;\n /** Actions array - first action with variant='primary' (or first action) is the main action */\n actions?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Tabs for sub-navigation */\n tabs?: unknown[] | string;\n /** activeTab prop */\n activeTab?: string;\n /** onTabChange prop */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Custom content in the header */\n children?: unknown | string;\n /** className prop */\n className?: string;\n };\n 'pagination': {\n type: 'pagination';\n /** Current page (1-indexed) */\n currentPage: number | string;\n /** Total number of pages */\n totalPages: number | string;\n /** Callback when page changes (optional - can be a no-op if not interactive) */\n onPageChange?: ((...args: unknown[]) => unknown) | string;\n /** Show page size selector @default false */\n showPageSize?: boolean | string;\n /** Page size options */\n pageSizeOptions?: unknown[] | string;\n /** Current page size */\n pageSize?: number | string;\n /** Callback when page size changes */\n onPageSizeChange?: ((...args: unknown[]) => unknown) | string;\n /** Show jump to page input @default false */\n showJumpToPage?: boolean | string;\n /** Show total count @default false */\n showTotal?: boolean | string;\n /** Total items count */\n totalItems?: number | string;\n /** Maximum number of page buttons to show @default 7 */\n maxVisiblePages?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'popover': {\n type: 'popover';\n /** Popover content */\n content: unknown | string;\n /** Popover trigger element (ReactElement or ReactNode that will be wrapped in span) */\n children: unknown | string;\n /** Popover position @default 'bottom' */\n position?: unknown | string;\n /** Trigger type @default 'click' */\n trigger?: unknown | string;\n /** Show arrow @default true */\n showArrow?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'progress-bar': {\n type: 'progress-bar';\n /** Progress value (0-100) */\n value: number | string;\n /** Maximum value (for calculating percentage) @default 100 */\n max?: number | string;\n /** Variant/color of the progress bar @default 'primary' */\n variant?: unknown | string;\n /** Color variant (alias for variant) @default 'primary' */\n color?: unknown | string;\n /** Show percentage text @default false */\n showPercentage?: boolean | string;\n /** Alias for showPercentage (pattern compatibility) */\n showLabel?: boolean | string;\n /** Label text */\n label?: string;\n /** Size (for circular variant) @default 'md' */\n size?: string;\n /** Number of steps (for stepped variant) @default 5 */\n steps?: number | string;\n /** Additional CSS classes */\n className?: string;\n /** Type of the progress bar (linear, circular, stepped) @default 'linear' */\n progressType?: unknown | string;\n };\n 'radio': {\n type: 'radio';\n /** Label text displayed next to the radio button */\n label?: string;\n /** Helper text displayed below the radio button */\n helperText?: string;\n /** Error message displayed below the radio button */\n error?: string;\n /** Size of the radio button @default 'md' */\n size?: string;\n };\n 'relation-select': {\n type: 'relation-select';\n /** Current value (ID) */\n value?: string;\n /** Callback when value changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Available options - accepts readonly for compatibility with generated const arrays */\n options: unknown | string;\n /** Placeholder text */\n placeholder?: string;\n /** Whether the field is required */\n required?: boolean | string;\n /** Whether the field is disabled */\n disabled?: boolean | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error message */\n error?: string;\n /** Allow clearing the selection */\n clearable?: boolean | string;\n /** Name attribute for forms */\n name?: string;\n /** Additional CSS classes */\n className?: string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Empty state message */\n emptyMessage?: string;\n };\n 'repeatable-form-section': {\n type: 'repeatable-form-section';\n /** Section type identifier */\n sectionType: string;\n /** Section title */\n title: string;\n /** Items in the section */\n items: unknown[] | string;\n /** Render function for each item */\n renderItem: ((...args: unknown[]) => unknown) | string;\n /** Minimum items required */\n minItems?: number | string;\n /** Maximum items allowed */\n maxItems?: number | string;\n /** Allow reordering */\n allowReorder?: boolean | string;\n /** Add button label */\n addLabel?: string;\n /** Empty state message */\n emptyMessage?: string;\n /** Read-only mode */\n readOnly?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Add handler */\n onAdd?: ((...args: unknown[]) => unknown) | string;\n /** Remove handler */\n onRemove?: ((...args: unknown[]) => unknown) | string;\n /** Reorder handler */\n onReorder?: ((...args: unknown[]) => unknown) | string;\n /** Inspection-specific enhancements */\n trackAddedInState?: boolean | string;\n /** Current inspection state (used when trackAddedInState is true) */\n currentState?: string;\n /** Show audit metadata (addedInState, addedAt) */\n showAuditInfo?: boolean | string;\n };\n 'runtime-debugger': {\n type: 'runtime-debugger';\n /** Initial position */\n position?: string;\n /** Initial collapsed state */\n defaultCollapsed?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'score-display': {\n type: 'score-display';\n /** Current score value */\n value: number | string;\n /** Label to display before score */\n label?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Animation on value change */\n animated?: boolean | string;\n /** Number formatting locale */\n locale?: string;\n };\n 'search-input': {\n type: 'search-input';\n /** Search value (controlled mode) */\n value?: string;\n /** Callback when search value changes */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** Debounce delay in milliseconds @default 300 */\n debounceMs?: number | string;\n /** Show loading state @default false */\n isLoading?: boolean | string;\n /** Placeholder text @default 'Search...' */\n placeholder?: string;\n /** Show clear button @default true */\n clearable?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Event name to dispatch on search (schema metadata, wired by trait) This is metadata used by the trait generator, not by the component. */\n event?: string;\n /** Entity type for context-aware search. When provided, search events include entity context. */\n entity?: string;\n /** Query singleton binding for state management. When provided, syncs search state with the query singleton. Example: \"@TaskQuery\" */\n query?: string;\n };\n 'section': {\n type: 'section';\n /** Section title */\n title?: string;\n /** Section subtitle/description */\n description?: string;\n /** Action element (e.g., button, link) */\n action?: unknown | string;\n /** Padding amount */\n padding?: unknown | string;\n /** Visual variant */\n variant?: unknown | string;\n /** Show divider below header */\n divider?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n /** Header custom class name */\n headerClassName?: string;\n /** Content custom class name */\n contentClassName?: string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'select': {\n type: 'select';\n /** options prop */\n options: unknown[] | string;\n /** placeholder prop */\n placeholder?: string;\n /** error prop */\n error?: string;\n };\n 'settings-template': {\n type: 'settings-template';\n /** Current settings values */\n settings: Record<string, unknown> | string;\n /** Whether settings are being saved */\n isSaving?: boolean | string;\n /** Whether there are unsaved changes */\n hasChanges?: boolean | string;\n /** Error object if save failed */\n error?: unknown | string;\n /** Success message after save */\n successMessage?: string;\n /** Called when saving settings */\n onSave?: ((...args: unknown[]) => unknown) | string;\n /** Called when a setting value changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to reset to default settings */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Called to revert unsaved changes */\n onRevert?: ((...args: unknown[]) => unknown) | string;\n /** Called to dismiss success message */\n onDismissSuccess?: ((...args: unknown[]) => unknown) | string;\n /** Page title */\n title?: string;\n /** Settings sections */\n sections?: unknown[] | string;\n /** Whether to show reset to defaults button */\n showResetToDefaults?: boolean | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'side-panel': {\n type: 'side-panel';\n /** Panel title */\n title: string;\n /** Panel content */\n children: unknown | string;\n /** Is panel open */\n isOpen: boolean | string;\n /** On close handler */\n onClose: ((...args: unknown[]) => unknown) | string;\n /** Panel width @default 'w-96' */\n width?: string;\n /** Panel position @default 'right' */\n position?: string;\n /** Show overlay on mobile @default true */\n showOverlay?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'sidebar': {\n type: 'sidebar';\n /** Logo/Brand content - can be a ReactNode or logo config */\n logo?: unknown | string;\n /** Logo image source */\n logoSrc?: string;\n /** Brand/App name */\n brandName?: string;\n /** Navigation items */\n items: unknown[] | string;\n /** User section content */\n userSection?: unknown | string;\n /** Footer content (e.g., theme toggle) */\n footerContent?: unknown | string;\n /** Collapsed state (controlled) */\n collapsed?: boolean | string;\n /** Default collapsed state */\n defaultCollapsed?: boolean | string;\n /** Callback when collapse state changes */\n onCollapseChange?: ((...args: unknown[]) => unknown) | string;\n /** Hide the collapse/expand button */\n hideCollapseButton?: boolean | string;\n /** Show a close button (for mobile) */\n showCloseButton?: boolean | string;\n /** Callback when close button is clicked */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Callback when logo/brand is clicked */\n onLogoClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'signature-pad': {\n type: 'signature-pad';\n /** Label above the pad */\n label?: string;\n /** Helper text */\n helperText?: string;\n /** Stroke color */\n strokeColor?: string;\n /** Stroke width */\n strokeWidth?: number | string;\n /** Pad height */\n height?: number | string;\n /** Whether the pad is read-only */\n readOnly?: boolean | string;\n /** Existing signature image URL */\n value?: string;\n /** Callback when signature changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Event to emit on sign */\n signEvent?: string;\n /** Event to emit on clear */\n clearEvent?: string;\n /** Entity name for schema-driven context */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'simple-grid': {\n type: 'simple-grid';\n /** Minimum width of each child (e.g., 200, \"200px\", \"15rem\") */\n minChildWidth?: number | string;\n /** Maximum number of columns */\n maxCols?: number | string;\n /** Exact number of columns (disables auto-fit) */\n cols?: number | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n };\n 'spacer': {\n type: 'spacer';\n /** Fixed size (auto = flex grow) */\n size?: unknown | string;\n /** Orientation (for fixed sizes) */\n axis?: string;\n /** Custom class name */\n className?: string;\n };\n 'spinner': {\n type: 'spinner';\n /** size prop */\n size?: unknown | string;\n };\n 'split': {\n type: 'split';\n /** Size ratio between left and right panels */\n ratio?: unknown | string;\n /** Gap between panels */\n gap?: unknown | string;\n /** Reverse the order (right first) */\n reverse?: boolean | string;\n /** Stack vertically on mobile */\n stackOnMobile?: boolean | string;\n /** Breakpoint to switch from stacked to side-by-side */\n stackBreakpoint?: string;\n /** Align items vertically */\n align?: string;\n /** Custom class name */\n className?: string;\n /** Left/first panel class name */\n leftClassName?: string;\n /** Right/second panel class name */\n rightClassName?: string;\n /** Exactly two children: [left, right] */\n children: unknown | string;\n };\n 'split-pane': {\n type: 'split-pane';\n /** Direction of the split */\n direction?: string;\n /** Initial ratio (0-100, percentage of first pane) */\n ratio?: number | string;\n /** Minimum size of either pane in pixels */\n minSize?: number | string;\n /** Allow user resizing */\n resizable?: boolean | string;\n /** Content for the left/top pane */\n left: unknown | string;\n /** Content for the right/bottom pane */\n right: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Class for left/top pane */\n leftClassName?: string;\n /** Class for right/bottom pane */\n rightClassName?: string;\n };\n 'sprite': {\n type: 'sprite';\n /** Spritesheet image URL */\n spritesheet: string;\n /** Width of each frame in pixels */\n frameWidth: number | string;\n /** Height of each frame in pixels */\n frameHeight: number | string;\n /** Frame index to display (0-based, left-to-right, top-to-bottom) */\n frame: number | string;\n /** X position in pixels */\n x: number | string;\n /** Y position in pixels */\n y: number | string;\n /** Scale factor (default: 1) */\n scale?: number | string;\n /** Flip horizontally */\n flipX?: boolean | string;\n /** Flip vertically */\n flipY?: boolean | string;\n /** Rotation in degrees */\n rotation?: number | string;\n /** Opacity (0-1) */\n opacity?: number | string;\n /** Z-index for layering */\n zIndex?: number | string;\n /** Number of columns in spritesheet (for frame calculation) */\n columns?: number | string;\n /** Optional className */\n className?: string;\n /** Optional onClick handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n };\n 'stack': {\n type: 'stack';\n /** Stack direction */\n direction?: unknown | string;\n /** Gap between children */\n gap?: unknown | string;\n /** Align items on the cross axis */\n align?: unknown | string;\n /** Justify items on the main axis */\n justify?: unknown | string;\n /** Allow items to wrap */\n wrap?: boolean | string;\n /** Reverse the order of children */\n reverse?: boolean | string;\n /** Fill available space (flex: 1) */\n flex?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children?: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Keyboard handler */\n onKeyDown?: ((...args: unknown[]) => unknown) | string;\n /** Role for accessibility */\n role?: string;\n /** Tab index for focus management */\n tabIndex?: number | string;\n };\n 'stat-badge': {\n type: 'stat-badge';\n /** Stat label */\n label: string;\n /** Current value (defaults to 0 if not provided) */\n value?: number | string;\n /** Maximum value (for bar/hearts format) */\n max?: number | string;\n /** Data source entity name (for schema config) */\n source?: string;\n /** Field name in the source (for schema config) */\n field?: string;\n /** Display format */\n format?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Visual variant */\n variant?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'stats': {\n type: 'stats';\n /** Main label */\n label?: string;\n /** Title (alias for label) */\n title?: string;\n /** Primary value - accepts array/unknown from generated code (will use first element or length) */\n value?: string | number | unknown[] | unknown;\n /** Previous value for comparison */\n previousValue?: number | string;\n /** Current value as number for trend calculation */\n currentValue?: number | string;\n /** Manual trend percentage (overrides calculation) */\n trend?: number | string;\n /** Trend direction (overrides calculation) */\n trendDirection?: string;\n /** Whether up is good (green) or bad (red) */\n invertTrend?: boolean | string;\n /** Icon to display */\n icon?: unknown | string;\n /** Icon background color */\n iconBg?: string;\n /** Icon color */\n iconColor?: string;\n /** Subtitle or description */\n subtitle?: string;\n /** Action button */\n action?: Record<string, unknown> | string;\n /** className prop */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays */\n metrics?: unknown | string;\n /** Data to calculate stats from - accepts readonly for compatibility with generated const arrays */\n data?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n };\n 'switch': {\n type: 'switch';\n /** checked prop */\n checked?: boolean | string;\n /** defaultChecked prop */\n defaultChecked?: boolean | string;\n /** onChange prop */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** disabled prop */\n disabled?: boolean | string;\n /** label prop */\n label?: string;\n /** id prop */\n id?: string;\n /** name prop */\n name?: string;\n /** className prop */\n className?: string;\n };\n 'tabbed-container': {\n type: 'tabbed-container';\n /** Tab definitions */\n tabs: unknown[] | string;\n /** Default active tab ID */\n defaultTab?: string;\n /** Controlled active tab */\n activeTab?: string;\n /** Callback when tab changes */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Tab position */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'table': {\n type: 'table';\n /** Table columns */\n columns: unknown[] | string;\n /** Table entity data */\n entity: unknown[] | string;\n /** Row key getter */\n getRowKey: ((...args: unknown[]) => unknown) | string;\n /** Enable row selection @default false */\n selectable?: boolean | string;\n /** Selected row keys */\n selectedRows?: unknown[] | string;\n /** Callback when selection changes */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Enable sorting @default false */\n sortable?: boolean | string;\n /** Current sort column */\n sortColumn?: string;\n /** Current sort direction */\n sortDirection?: unknown | string;\n /** Callback when sort changes */\n onSortChange?: ((...args: unknown[]) => unknown) | string;\n /** Enable search/filter @default false */\n searchable?: boolean | string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Enable pagination @default false */\n paginated?: boolean | string;\n /** Current page */\n currentPage?: number | string;\n /** Total pages */\n totalPages?: number | string;\n /** Callback when page changes */\n onPageChange?: ((...args: unknown[]) => unknown) | string;\n /** Row actions menu items */\n rowActions?: ((...args: unknown[]) => unknown) | string;\n /** Empty state message */\n emptyMessage?: string;\n /** Loading state @default false */\n loading?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'tabs': {\n type: 'tabs';\n /** Tab items */\n items?: unknown[] | string;\n /** Tab items (alias for items - used by generated code) */\n tabs?: unknown[] | string;\n /** Default active tab ID */\n defaultActiveTab?: string;\n /** Controlled active tab ID */\n activeTab?: string;\n /** Callback when tab changes */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Tab variant */\n variant?: string;\n /** Tab orientation */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'text-highlight': {\n type: 'text-highlight';\n /** Whether the highlight is currently active/focused @default false */\n isActive?: boolean | string;\n /** Callback when highlight is clicked */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Callback when highlight is hovered */\n onMouseEnter?: ((...args: unknown[]) => unknown) | string;\n /** Callback when hover ends */\n onMouseLeave?: ((...args: unknown[]) => unknown) | string;\n /** Unique ID for the annotation */\n annotationId?: string;\n /** Additional CSS classes */\n className?: string;\n /** Highlighted text content */\n children: unknown | string;\n /** Type of highlight (determines color) */\n highlightType: unknown | string;\n };\n 'textarea': {\n type: 'textarea';\n /** error prop */\n error?: string;\n };\n 'theme-toggle': {\n type: 'theme-toggle';\n /** Additional CSS classes */\n className?: string;\n /** Size variant */\n size?: string;\n /** Show label text */\n showLabel?: boolean | string;\n };\n 'timeline': {\n type: 'timeline';\n /** Timeline title */\n title?: string;\n /** Timeline items */\n items?: unknown | string;\n /** Schema-driven data */\n data?: unknown | string;\n /** Fields to display */\n fields?: unknown | string;\n /** Actions per item */\n itemActions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'toast-slot': {\n type: 'toast-slot';\n /** Content to display in the toast (message or ReactNode) */\n children?: unknown | string;\n /** Toast variant */\n variant?: unknown | string;\n /** Toast title */\n title?: string;\n /** Auto-dismiss duration in ms (0 = no auto-dismiss) */\n duration?: number | string;\n /** Custom class name */\n className?: string;\n };\n 'tooltip': {\n type: 'tooltip';\n /** Tooltip content */\n content: unknown | string;\n /** Tooltip trigger element (ReactElement or ReactNode that will be wrapped in span) */\n children: unknown | string;\n /** Tooltip position */\n position?: unknown | string;\n /** Show delay in milliseconds */\n delay?: number | string;\n /** Hide delay in milliseconds */\n hideDelay?: number | string;\n /** Show arrow */\n showArrow?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'typography': {\n type: 'typography';\n /** Typography variant */\n variant?: unknown | string;\n /** Heading level (1-6) - alternative to variant for headings */\n level?: number | string;\n /** Text color */\n color?: string;\n /** Text alignment */\n align?: string;\n /** Font weight override */\n weight?: string;\n /** Font size override */\n size?: unknown | string;\n /** Truncate with ellipsis (single line) */\n truncate?: boolean | string;\n /** Overflow handling mode */\n overflow?: string;\n /** Custom HTML element */\n as?: unknown | string;\n /** HTML id attribute */\n id?: string;\n /** Additional class names */\n className?: string;\n /** Inline style */\n style?: Record<string, unknown> | string;\n /** Text content (alternative to children) */\n content?: unknown | string;\n /** Children elements */\n children?: unknown | string;\n };\n 'u-i-slot-renderer': {\n type: 'u-i-slot-renderer';\n /** Include HUD slots */\n includeHud?: boolean | string;\n /** Include floating slot */\n includeFloating?: boolean | string;\n /** Additional class name for the container */\n className?: string;\n };\n 'violation-alert': {\n type: 'violation-alert';\n /** Violation data */\n violation: unknown | string;\n /** Visual severity (derived from actionType if not specified) */\n severity?: string;\n /** Dismissible alert */\n dismissible?: boolean | string;\n /** Dismiss handler */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** Navigate to the field that caused violation */\n onNavigateToField?: ((...args: unknown[]) => unknown) | string;\n /** Compact display mode */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'wizard-container': {\n type: 'wizard-container';\n /** Wizard steps */\n steps: unknown[] | string;\n /** Current step index (controlled) - accepts unknown for generated code compatibility */\n currentStep?: number | string | unknown;\n /** Callback when step changes */\n onStepChange?: ((...args: unknown[]) => unknown) | string;\n /** Callback when wizard is completed */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Show progress indicator */\n showProgress?: boolean | string;\n /** Allow navigation to previous steps */\n allowBack?: boolean | string;\n /** Modal mode (compact header, no padding) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Entity type name (schema-driven) */\n entity?: string;\n };\n 'wizard-navigation': {\n type: 'wizard-navigation';\n /** Current step index (0-based) */\n currentStep: number | string;\n /** Total number of steps */\n totalSteps: number | string;\n /** Whether the current step is valid (enables Next/Complete) */\n isValid?: boolean | string;\n /** Show the Back button */\n showBack?: boolean | string;\n /** Show the Next button */\n showNext?: boolean | string;\n /** Show the Complete button (on last step) */\n showComplete?: boolean | string;\n /** Custom label for Back button */\n backLabel?: string;\n /** Custom label for Next button */\n nextLabel?: string;\n /** Custom label for Complete button */\n completeLabel?: string;\n /** Event to emit on Back click */\n onBack?: string;\n /** Event to emit on Next click */\n onNext?: string;\n /** Event to emit on Complete click */\n onComplete?: string;\n /** Direct callback for Back (alternative to event) */\n onBackClick?: ((...args: unknown[]) => unknown) | string;\n /** Direct callback for Next (alternative to event) */\n onNextClick?: ((...args: unknown[]) => unknown) | string;\n /** Direct callback for Complete (alternative to event) */\n onCompleteClick?: ((...args: unknown[]) => unknown) | string;\n /** Compact mode (smaller padding) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'wizard-progress': {\n type: 'wizard-progress';\n /** Step definitions (compatible with WizardContainer's WizardStep) */\n steps: unknown[] | string;\n /** Current step index (0-based) */\n currentStep: number | string;\n /** Callback when a completed step is clicked */\n onStepClick?: ((...args: unknown[]) => unknown) | string;\n /** Allow clicking on completed steps to navigate back */\n allowNavigation?: boolean | string;\n /** Compact mode (smaller, no titles) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'world-map-template': {\n type: 'world-map-template';\n /** All map hexes (with pre-resolved terrain sprites) */\n hexes: unknown[] | string;\n /** Heroes on the map */\n heroes: unknown[] | string;\n /** Features rendered on tiles */\n features?: unknown[] | string;\n /** Currently selected hero ID */\n selectedHeroId?: string;\n /** Canvas render scale */\n scale?: number | string;\n /** Unit draw-size multiplier */\n unitScale?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL */\n backgroundImage?: string;\n /** Allow selecting / moving ALL heroes (including enemy). For testing. */\n allowMoveAllHeroes?: boolean | string;\n /** Custom movement range validator */\n isInRange?: ((...args: unknown[]) => unknown) | string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Side panel (hero detail, hero lists, etc.) */\n sidePanel?: ((...args: unknown[]) => unknown) | string;\n /** Canvas overlay (tooltips, popups) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Footer */\n footer?: ((...args: unknown[]) => unknown) | string;\n /** -- Callbacks -- */\n onHeroSelect?: ((...args: unknown[]) => unknown) | string;\n /** onHeroMove prop */\n onHeroMove?: ((...args: unknown[]) => unknown) | string;\n /** Called when hero clicks an enemy hero tile */\n onBattleEncounter?: ((...args: unknown[]) => unknown) | string;\n /** Called when hero enters a feature hex (castle, resource, etc.) */\n onFeatureEnter?: ((...args: unknown[]) => unknown) | string;\n /** -- Canvas pass-through -- */\n effectSpriteUrls?: unknown[] | string;\n /** resolveUnitFrame prop */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n}\n\n/**\n * Get the props type for a specific pattern.\n * \n * @example\n * type TableProps = PatternProps<'entity-table'>;\n * // { type: 'entity-table'; columns: unknown[]; data?: Record<string, unknown>; ... }\n */\nexport type PatternProps<T extends PatternType> = PatternPropsMap[T];\n\n/**\n * Type-safe pattern configuration.\n * The props are validated based on the pattern type.\n * \n * @example\n * // ✅ Valid\n * const config: PatternConfig<'entity-table'> = { \n * type: 'entity-table', \n * columns: ['name', 'email'] \n * };\n * \n * // ❌ Error: Property 'columns' is missing\n * const bad: PatternConfig<'entity-table'> = { type: 'entity-table' };\n */\nexport type PatternConfig<T extends PatternType = PatternType> = PatternPropsMap[T];\n\n/**\n * Discriminated union of all pattern configs.\n * Use when the pattern type is not known statically.\n */\nexport type AnyPatternConfig = PatternPropsMap[PatternType];\n\n/**\n * Array of all pattern type names (for runtime validation)\n */\nexport const PATTERN_TYPES: PatternType[] = [\n 'accordion',\n 'action-buttons',\n 'alert',\n 'auth-layout',\n 'avatar',\n 'badge',\n 'battle-template',\n 'box',\n 'breadcrumb',\n 'button',\n 'button-pattern',\n 'canvas-effect',\n 'card',\n 'castle-template',\n 'center',\n 'chart',\n 'checkbox',\n 'code-viewer',\n 'conditional-wrapper',\n 'confirm-dialog',\n 'container',\n 'control-button',\n 'counter-template',\n 'crud-template',\n 'custom-pattern',\n 'd-pad',\n 'dashboard-grid',\n 'dashboard-layout',\n 'detail-panel',\n 'dialogue-box',\n 'divider',\n 'document-viewer',\n 'drawer',\n 'drawer-slot',\n 'empty-state',\n 'entity-cards',\n 'entity-list',\n 'entity-table',\n 'error-state',\n 'filter-group',\n 'flex',\n 'floating-action-button',\n 'form',\n 'form-actions',\n 'form-field',\n 'form-section',\n 'form-section-header',\n 'form-template',\n 'game-hud',\n 'game-menu',\n 'game-over-screen',\n 'game-shell',\n 'game-template',\n 'generic-app-template',\n 'graph-canvas',\n 'grid',\n 'header',\n 'health-bar',\n 'icon',\n 'input',\n 'input-group',\n 'inventory-panel',\n 'isometric-canvas',\n 'label',\n 'law-reference-tooltip',\n 'layout-pattern',\n 'list-template',\n 'loading-state',\n 'master-detail',\n 'media-gallery',\n 'menu',\n 'meter',\n 'modal',\n 'modal-slot',\n 'navigation',\n 'notification',\n 'orbital-visualization',\n 'overlay',\n 'page-header',\n 'pagination',\n 'popover',\n 'progress-bar',\n 'radio',\n 'relation-select',\n 'repeatable-form-section',\n 'runtime-debugger',\n 'score-display',\n 'search-input',\n 'section',\n 'select',\n 'settings-template',\n 'side-panel',\n 'sidebar',\n 'signature-pad',\n 'simple-grid',\n 'spacer',\n 'spinner',\n 'split',\n 'split-pane',\n 'sprite',\n 'stack',\n 'stat-badge',\n 'stats',\n 'switch',\n 'tabbed-container',\n 'table',\n 'tabs',\n 'text-highlight',\n 'textarea',\n 'theme-toggle',\n 'timeline',\n 'toast-slot',\n 'tooltip',\n 'typography',\n 'u-i-slot-renderer',\n 'violation-alert',\n 'wizard-container',\n 'wizard-navigation',\n 'wizard-progress',\n 'world-map-template',\n];\n\n/**\n * Check if a string is a valid pattern type\n */\nexport function isValidPatternType(type: string): type is PatternType {\n return PATTERN_TYPES.includes(type as PatternType);\n}\n","/**\n * Prompt Helpers for @almadar/patterns\n * \n * Helper functions for generating prompts/documentation from pattern registry.\n * Used by @almadar/skills package and other tools.\n * \n * @packageDocumentation\n */\n\nimport { patternsRegistry } from '../index.js';\nimport type { PatternType } from '../pattern-types.js';\n\n/**\n * Get patterns grouped by category.\n * Categories are derived from pattern registry metadata.\n */\nexport function getPatternsGroupedByCategory(): Record<string, PatternType[]> {\n const patterns = patternsRegistry.patterns || {};\n const grouped: Record<string, PatternType[]> = {};\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const category = (patternDef as any).category || 'uncategorized';\n if (!grouped[category]) {\n grouped[category] = [];\n }\n grouped[category].push(patternName as PatternType);\n }\n\n return grouped;\n}\n\n/**\n * Get compact pattern props reference table.\n * Generates markdown table of pattern names and their key props.\n */\nexport function getPatternPropsCompact(): string {\n const patterns = patternsRegistry.patterns || {};\n const lines: string[] = [\n '| Pattern | Key Props |',\n '|---------|-----------|',\n ];\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const propsSchema = (patternDef as any).propsSchema || {};\n const requiredProps = Object.keys(propsSchema).filter(\n (key) => propsSchema[key]?.required === true\n );\n const keyProps = requiredProps.length > 0 \n ? requiredProps.join(', ') \n : Object.keys(propsSchema).slice(0, 3).join(', ');\n \n lines.push(`| ${patternName} | ${keyProps} |`);\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Get pattern action props reference.\n * Lists patterns that have action/event props (buttons, forms, etc.).\n */\nexport function getPatternActionsRef(): string {\n const patterns = patternsRegistry.patterns || {};\n const lines: string[] = [\n '## Pattern Action Props',\n '',\n '| Pattern | Action Props | Notes |',\n '|---------|-------------|-------|',\n ];\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const propsSchema = (patternDef as any).propsSchema || {};\n const actionProps: string[] = [];\n\n // Check for common action prop patterns\n for (const [propName, propDef] of Object.entries(propsSchema)) {\n if (\n propName.includes('action') ||\n propName.includes('Action') ||\n propName.includes('event') ||\n propName.includes('Event') ||\n propName === 'onSubmit' ||\n propName === 'onClick'\n ) {\n actionProps.push(propName);\n }\n }\n\n if (actionProps.length > 0) {\n const notes = (patternDef as any).description || '';\n lines.push(`| ${patternName} | ${actionProps.join(', ')} | ${notes.slice(0, 50)} |`);\n }\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Generate pattern description from metadata.\n * Auto-generates human-readable description from pattern props schema.\n */\nexport function generatePatternDescription(patternType: string): string {\n const patterns = patternsRegistry.patterns as Record<string, any> || {};\n const patternDef = patterns[patternType];\n \n if (!patternDef) {\n return patternType;\n }\n\n const desc = patternDef.description;\n if (desc) {\n return desc;\n }\n\n // Auto-generate from props\n const propsSchema = patternDef.propsSchema || {};\n const propCount = Object.keys(propsSchema).length;\n const requiredProps = Object.keys(propsSchema).filter(\n (key) => propsSchema[key]?.required === true\n );\n\n if (requiredProps.length > 0) {\n return `${patternType} (requires: ${requiredProps.join(', ')})`;\n }\n\n return `${patternType} (${propCount} props)`;\n}\n\n/**\n * Get all pattern types as array.\n */\nexport function getAllPatternTypes(): PatternType[] {\n const patterns = patternsRegistry.patterns as Record<string, any> || {};\n return Object.keys(patterns) as PatternType[];\n}\n\n/**\n * Get pattern metadata for a specific pattern.\n */\nexport function getPatternMetadata(patternType: string) {\n const patterns = patternsRegistry.patterns as Record<string, any> || {};\n return patterns[patternType] || null;\n}\n","/**\n * Pattern Recommender\n *\n * Maps transition context (entity fields, domain category, UI state) to\n * ranked pattern suggestions using the registry's `suggestedFor` metadata,\n * category matching, and entity field type heuristics.\n *\n * Used by the design-transition tool to include top-N recommendations\n * in the LLM prompt context.\n *\n * @packageDocumentation\n */\n\nimport { patternsRegistry } from '../index.js';\nimport type { PatternType } from '../pattern-types.js';\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Context for pattern recommendation.\n */\nexport interface RecommendationContext {\n /** Current state name (e.g., \"Browsing\", \"Creating\") */\n state?: string;\n /** Triggering event (e.g., \"INIT\", \"CREATE\", \"VIEW\") */\n event?: string;\n /** Target UI slot */\n slot?: 'main' | 'modal' | 'drawer' | 'sidebar' | 'overlay';\n /** Domain category */\n domainCategory?: string;\n /** Entity field types present */\n entityFieldTypes?: string[];\n /** Entity has enum fields */\n hasEnumFields?: boolean;\n /** Entity has date/timestamp fields */\n hasDateFields?: boolean;\n /** Entity has numeric fields */\n hasNumericFields?: boolean;\n /** Entity has relation fields */\n hasRelationFields?: boolean;\n /** Entity has image/url fields */\n hasMediaFields?: boolean;\n}\n\n/**\n * A pattern recommendation with score and reasoning.\n */\nexport interface PatternRecommendation {\n /** Pattern type name */\n pattern: PatternType;\n /** Relevance score (0-100) */\n score: number;\n /** Why this pattern was recommended */\n reason: string;\n /** Pattern category */\n category: string;\n /** Pattern description */\n description: string;\n /** Key props to use */\n keyProps: string[];\n}\n\n// ============================================================================\n// Domain → suggestedFor keyword mapping\n// ============================================================================\n\nconst DOMAIN_KEYWORDS: Record<string, string[]> = {\n business: ['admin panels', 'data-dense views', 'list pages', 'data entry', 'comparisons'],\n dashboard: ['dashboards', 'analytics', 'overview pages', 'overview screens', 'data visualization', 'reporting', 'KPI indicators'],\n 'e-commerce': ['visual items', 'images', 'previews', 'data entry', 'list pages'],\n content: ['visual items', 'images', 'previews', 'media', 'pages with multiple views'],\n social: ['activity logs', 'visual items', 'previews'],\n workflow: ['process tracking', 'workflow steps', 'multi-step forms', 'wizards'],\n form: ['data entry', 'create forms', 'edit forms', 'multi-step forms'],\n game: ['game', 'real-time', 'interactive'],\n};\n\n/**\n * Event → relevant suggestedFor keywords\n */\nconst EVENT_KEYWORDS: Record<string, string[]> = {\n INIT: ['list pages', 'overview pages', 'dashboards', 'admin panels'],\n CREATE: ['create forms', 'data entry', 'multi-step forms'],\n EDIT: ['edit forms', 'data entry'],\n VIEW: ['detail pages', 'entity management', 'pages with multiple views'],\n DELETE: ['destructive actions', 'confirmations'],\n FILTER: ['filterable data', 'search functionality', 'quick filters'],\n};\n\n/**\n * Slot → category affinity (which categories belong in which slot)\n */\nconst SLOT_CATEGORY_AFFINITY: Record<string, string[]> = {\n main: ['display', 'dashboard', 'filter', 'header', 'layout', 'visualization', 'navigation', 'template'],\n modal: ['form', 'container', 'state'],\n drawer: ['display', 'form', 'navigation'],\n sidebar: ['navigation', 'filter'],\n overlay: ['container', 'state'],\n};\n\n/**\n * State → relevant categories\n */\nconst STATE_CATEGORY_AFFINITY: Record<string, string[]> = {\n Browsing: ['display', 'filter', 'header', 'dashboard', 'visualization'],\n Creating: ['form', 'navigation'],\n Editing: ['form', 'navigation'],\n Viewing: ['display', 'navigation'],\n Deleting: ['container', 'state'],\n};\n\n// ============================================================================\n// Core Recommendation Engine\n// ============================================================================\n\n/**\n * Recommend patterns for a given context.\n *\n * Scoring algorithm:\n * 1. suggestedFor match with domain keywords (+30)\n * 2. suggestedFor match with event keywords (+25)\n * 3. Category affinity with slot (+20)\n * 4. Category affinity with state (+15)\n * 5. Entity field type bonus (+10 per matching heuristic)\n * 6. Entity-aware bonus for display patterns (+5)\n *\n * @returns Ranked pattern recommendations, highest score first\n */\nexport function recommendPatterns(\n context: RecommendationContext,\n maxResults: number = 10,\n): PatternRecommendation[] {\n const patterns = (patternsRegistry as any).patterns || {};\n const scores: Map<string, { score: number; reasons: string[] }> = new Map();\n\n const domainKeywords = context.domainCategory\n ? DOMAIN_KEYWORDS[context.domainCategory] || []\n : [];\n const eventKeywords = context.event\n ? EVENT_KEYWORDS[context.event] || []\n : [];\n const slotCategories = context.slot\n ? SLOT_CATEGORY_AFFINITY[context.slot] || []\n : [];\n const stateCategories = context.state\n ? STATE_CATEGORY_AFFINITY[context.state] || []\n : [];\n\n for (const [patternName, patternDef] of Object.entries(patterns) as [string, any][]) {\n const suggestedFor: string[] = patternDef.suggestedFor || [];\n const category: string = patternDef.category || '';\n let score = 0;\n const reasons: string[] = [];\n\n // Skip game patterns for non-game domains\n if (category === 'game' && context.domainCategory !== 'game') continue;\n // Skip debug patterns\n if (category === 'debug') continue;\n // Skip template patterns (too high-level for transition design)\n if (category === 'template') continue;\n\n // 1. suggestedFor × domain keywords (+30 max)\n for (const keyword of domainKeywords) {\n if (suggestedFor.some(sf => sf.toLowerCase().includes(keyword.toLowerCase()))) {\n score += 30;\n reasons.push(`domain:${keyword}`);\n break; // Only count once\n }\n }\n\n // 2. suggestedFor × event keywords (+25 max)\n for (const keyword of eventKeywords) {\n if (suggestedFor.some(sf => sf.toLowerCase().includes(keyword.toLowerCase()))) {\n score += 25;\n reasons.push(`event:${keyword}`);\n break;\n }\n }\n\n // 3. Slot category affinity (+20)\n if (slotCategories.includes(category)) {\n score += 20;\n reasons.push(`slot:${context.slot}`);\n }\n\n // 4. State category affinity (+15)\n if (stateCategories.includes(category)) {\n score += 15;\n reasons.push(`state:${context.state}`);\n }\n\n // 5. Entity field type heuristics (+10 each)\n if (context.hasEnumFields && ['filter-group', 'tabs', 'badge'].includes(patternName)) {\n score += 10;\n reasons.push('enum-fields');\n }\n if (context.hasDateFields && ['timeline', 'chart'].includes(patternName)) {\n score += 10;\n reasons.push('date-fields');\n }\n if (context.hasNumericFields && ['stats', 'chart', 'meter', 'progress-bar'].includes(patternName)) {\n score += 10;\n reasons.push('numeric-fields');\n }\n if (context.hasRelationFields && ['tabs', 'master-detail'].includes(patternName)) {\n score += 10;\n reasons.push('relation-fields');\n }\n if (context.hasMediaFields && ['entity-cards', 'media-gallery'].includes(patternName)) {\n score += 10;\n reasons.push('media-fields');\n }\n\n // 6. Entity-aware bonus for display patterns (+5)\n if (category === 'display' || category === 'dashboard') {\n const propsSchema = patternDef.propsSchema || {};\n if ('entity' in propsSchema) {\n score += 5;\n reasons.push('entity-aware');\n }\n }\n\n if (score > 0) {\n scores.set(patternName, { score, reasons });\n }\n }\n\n // Sort by score, take top N\n const ranked = [...scores.entries()]\n .sort((a, b) => b[1].score - a[1].score)\n .slice(0, maxResults);\n\n return ranked.map(([patternName, { score, reasons }]) => {\n const patternDef = patterns[patternName];\n const propsSchema = patternDef.propsSchema || {};\n const keyProps = Object.keys(propsSchema)\n .filter(k => propsSchema[k]?.required === true)\n .slice(0, 5);\n\n // If no required props, show first few meaningful ones\n if (keyProps.length === 0) {\n const meaningful = Object.keys(propsSchema).filter(\n k => !['className', 'isLoading', 'error', 'entity'].includes(k)\n );\n keyProps.push(...meaningful.slice(0, 4));\n }\n\n return {\n pattern: patternName as PatternType,\n score,\n reason: reasons.join(', '),\n category: patternDef.category || 'unknown',\n description: patternDef.description || patternName,\n keyProps,\n };\n });\n}\n\n// ============================================================================\n// Context Builder (from raw entity fields)\n// ============================================================================\n\n/**\n * Build recommendation context from entity field information.\n * Analyzes field types to set the boolean flags used by the recommender.\n */\nexport function buildRecommendationContext(options: {\n state?: string;\n event?: string;\n slot?: 'main' | 'modal' | 'drawer' | 'sidebar' | 'overlay';\n domainCategory?: string;\n entityFields?: Array<{ name: string; type: string; values?: string[] }>;\n}): RecommendationContext {\n const fields = options.entityFields || [];\n const fieldTypes = fields.map(f => f.type);\n\n return {\n state: options.state,\n event: options.event,\n slot: options.slot,\n domainCategory: options.domainCategory,\n entityFieldTypes: fieldTypes,\n hasEnumFields: fields.some(f => f.type === 'enum' || (f.values && f.values.length > 0)),\n hasDateFields: fields.some(f => ['date', 'datetime', 'timestamp'].includes(f.type)),\n hasNumericFields: fields.some(f => ['number', 'integer', 'float', 'decimal', 'currency'].includes(f.type)),\n hasRelationFields: fields.some(f => f.type === 'relation'),\n hasMediaFields: fields.some(f => ['image', 'url', 'media', 'file'].includes(f.type)),\n };\n}\n\n// ============================================================================\n// Prompt Formatter\n// ============================================================================\n\n/**\n * Format recommendations as a concise prompt section.\n * Used to inject into the design-transition tool's user prompt.\n */\nexport function formatRecommendationsForPrompt(\n recommendations: PatternRecommendation[],\n): string {\n if (recommendations.length === 0) return '';\n\n const lines = [\n '## Recommended Patterns',\n '',\n '| Pattern | Category | Key Props | Why |',\n '|---------|----------|-----------|-----|',\n ];\n\n for (const rec of recommendations) {\n const props = rec.keyProps.length > 0 ? rec.keyProps.join(', ') : '—';\n lines.push(`| ${rec.pattern} | ${rec.category} | ${props} | ${rec.reason} |`);\n }\n\n lines.push('');\n lines.push('Use these patterns where appropriate. Combine multiple for rich INIT transitions.');\n\n return lines.join('\\n');\n}\n","import patternsRegistry from './patterns-registry.json' with { type: 'json' };\nimport integratorsRegistry from './integrators-registry.json' with { type: 'json' };\nimport componentMapping from './component-mapping.json' with { type: 'json' };\nimport eventContracts from './event-contracts.json' with { type: 'json' };\n\n// Export both registries\nexport { patternsRegistry, integratorsRegistry, componentMapping, eventContracts };\n\n// Export pattern types for compile-time validation\nexport {\n PatternType,\n PatternPropsMap,\n PatternProps,\n PatternConfig,\n AnyPatternConfig,\n PATTERN_TYPES,\n isValidPatternType,\n} from './pattern-types.js';\n\n// Backwards compatible alias - registry refers to patterns registry\nexport const registry = patternsRegistry;\n\nexport const PATTERN_REGISTRY = patternsRegistry;\nexport const INTEGRATORS_REGISTRY = integratorsRegistry;\nexport const COMPONENT_MAPPING = componentMapping;\nexport const EVENT_CONTRACTS = eventContracts;\n\nexport function getPatternDefinition(patternType: string) {\n return (patternsRegistry as any).patterns?.[patternType] ?? null;\n}\n\nexport function getComponentForPattern(patternType: string) {\n return (componentMapping as any).mappings?.[patternType] ?? null;\n}\n\n/**\n * Check if a pattern is entity-aware (requires data injection).\n *\n * Entity-aware patterns have an `entity` prop typed as `array` or `object`\n * in the registry propsSchema. String-typed entity props are metadata only.\n *\n * @param patternType - Pattern type to check\n * @returns true if the pattern is entity-aware\n */\nexport function isEntityAwarePattern(patternType: string): boolean {\n const definition = getPatternDefinition(patternType);\n if (!definition) return false;\n\n // Explicit flag takes precedence\n if (definition.entityAware === true) return true;\n\n const propsSchema = definition.propsSchema;\n if (!propsSchema) return false;\n\n // Entity-aware = entity prop type is array or object (carries data, not a name string)\n const entityTypes: string[] = propsSchema.entity?.types || [];\n return entityTypes.includes('array') || entityTypes.includes('object');\n}\n\n// Export prompt helpers for @almadar/skills\nexport {\n getPatternsGroupedByCategory,\n getPatternPropsCompact,\n getPatternActionsRef,\n generatePatternDescription,\n getAllPatternTypes,\n getPatternMetadata,\n} from './helpers/prompt-helpers.js';\n\n// Export pattern recommender for @almadar/agent design tool\nexport {\n recommendPatterns,\n buildRecommendationContext,\n formatRecommendationsForPrompt,\n type RecommendationContext,\n type PatternRecommendation,\n} from './helpers/pattern-recommender.js';\n"]}
1
+ {"version":3,"sources":["../src/patterns-registry.json","../src/integrators-registry.json","../src/component-mapping.json","../src/event-contracts.json","../src/pattern-types.ts","../src/helpers/prompt-helpers.ts","../src/helpers/pattern-recommender.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-06T07:07:47.853Z\",\n \"patterns\": {\n \"entity-table\": {\n \"type\": \"entity-table\",\n \"category\": \"display\",\n \"description\": \"Data table with columns and sorting\",\n \"suggestedFor\": [\n \"data-dense views\",\n \"comparisons\",\n \"admin panels\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or Column[] for unified interface. Alias for columns\"\n },\n \"columns\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Columns can be Column objects or simple string field names\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Item actions from generated code - maps to rowActions\"\n },\n \"emptyIcon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"emptyIcon prop\"\n },\n \"emptyTitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyTitle prop\"\n },\n \"emptyDescription\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyDescription prop\"\n },\n \"emptyAction\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"emptyAction prop\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Selection\"\n },\n \"searchable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Search\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"searchPlaceholder prop\"\n },\n \"rowActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Row actions\"\n },\n \"bulkActions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Bulk actions\"\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count in pagination\"\n }\n }\n },\n \"entity-list\": {\n \"type\": \"entity-list\",\n \"category\": \"display\",\n \"description\": \"Vertical list of items\",\n \"suggestedFor\": [\n \"mobile-friendly lists\",\n \"simple item browsing\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"entityType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type name for display\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"selectable prop\"\n },\n \"itemActions\": {\n \"types\": [\n \"function\",\n \"unknown\"\n ],\n \"description\": \"Item actions - schema-driven or function-based\"\n },\n \"showDividers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showDividers prop\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"variant prop\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"emptyMessage prop\"\n },\n \"renderItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"renderItem prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or {key, header}[] for unified interface\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n }\n }\n },\n \"entity-cards\": {\n \"type\": \"entity-cards\",\n \"category\": \"display\",\n \"description\": \"Grid of cards for visual content\",\n \"suggestedFor\": [\n \"visual items\",\n \"images\",\n \"previews\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"minCardWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum width of each card (default: 280px)\"\n },\n \"maxCols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of columns\"\n },\n \"gap\": {\n \"types\": [\n \"cardgridgap\"\n ],\n \"description\": \"Gap between cards\"\n },\n \"alignItems\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Align cards vertically in their cells\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements (cards) - optional when using entity prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[] or {key, header}[] for unified interface\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"columns\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions for each card item (schema-driven)\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count in pagination\"\n },\n \"showAvatar\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show avatar/image field on cards\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual variant for the card grid\"\n }\n }\n },\n \"detail-panel\": {\n \"type\": \"detail-panel\",\n \"category\": \"display\",\n \"description\": \"Detail view panel for drawers/sidebars\",\n \"suggestedFor\": [\n \"drawer content\",\n \"side panels\",\n \"quick view\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"subtitle prop\"\n },\n \"status\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"status prop\"\n },\n \"avatar\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"avatar prop\"\n },\n \"sections\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"sections prop\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Unified actions array - first action with variant='primary' is the main action\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"footer prop\"\n },\n \"slideOver\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"slideOver prop\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display - accepts string[], {key, header}[], or DetailField[]\"\n },\n \"fieldNames\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for fields - backwards compatibility\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial data for edit mode (passed by compiler)\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display mode (passed by compiler)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel position (for drawer/sidebar placement)\"\n },\n \"width\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel width (CSS value, e.g., '400px', '50%')\"\n },\n \"entityId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity ID for fetching specific entity\"\n },\n \"displayFields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Display fields (alias for fields)\"\n },\n \"showActions\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show actions flag\"\n }\n }\n },\n \"page-header\": {\n \"type\": \"page-header\",\n \"category\": \"header\",\n \"description\": \"Page title with optional breadcrumb and action buttons\",\n \"suggestedFor\": [\n \"list pages\",\n \"detail pages\",\n \"dashboards\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\",\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Page title - accepts unknown to handle generated code accessing dynamic entity data\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\",\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Optional subtitle/description\"\n },\n \"showBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show back button\"\n },\n \"backEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit when back is clicked (default: BACK)\"\n },\n \"breadcrumbs\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Breadcrumbs\"\n },\n \"status\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Status badge\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions array - first action with variant='primary' (or first action) is the main action\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tabs for sub-navigation\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"activeTab prop\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onTabChange prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom content in the header\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"form\": {\n \"type\": \"form\",\n \"category\": \"form\",\n \"description\": \"Complete form with fields and actions\",\n \"suggestedFor\": [\n \"create forms\",\n \"edit forms\",\n \"data entry\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Form fields (traditional React children)\"\n },\n \"onSubmit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit event name for trait dispatch (emitted via eventBus as UI:{onSubmit})\"\n },\n \"onCancel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel event name for trait dispatch (emitted via eventBus as UI:{onCancel})\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form layout\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between fields\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\",\n \"orbitalentity\"\n ],\n \"description\": \"Schema-based props\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form mode - 'create' for new records, 'edit' for updating existing\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields definition (schema format) - accepts readonly for generated const arrays\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial form data\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"submitLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit button label\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button label (if provided, shows cancel button)\"\n },\n \"showCancel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show cancel button (defaults to true for schema forms)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form title (used by ModalSlot to extract title)\"\n },\n \"submitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event dispatch props (for trait state machine integration)\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to dispatch on cancel (defaults to 'CANCEL')\"\n },\n \"relationsData\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Relation data props\"\n },\n \"relationsLoading\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Loading state for relation data: { fieldName: boolean }\"\n },\n \"conditionalFields\": {\n \"types\": [\n \"object\",\n \"boolean\"\n ],\n \"description\": \"Inspection form extensions\"\n },\n \"hiddenCalculations\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately)\"\n },\n \"violationTriggers\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately)\"\n },\n \"evaluationContext\": {\n \"types\": [\n \"formevaluationcontext\",\n \"object\"\n ],\n \"description\": \"Context for S-expression evaluation - accepts flexible types from generated code\"\n },\n \"sections\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Nested form sections with optional conditions\"\n },\n \"onFieldChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when any field value changes\"\n },\n \"configPath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Config path for form configuration (schema-driven)\"\n },\n \"repeatable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the form supports repeatable entries\"\n }\n }\n },\n \"form-section\": {\n \"type\": \"form-section\",\n \"category\": \"form\",\n \"description\": \"Alias for form — Complete form with fields and actions\",\n \"suggestedFor\": [\n \"create forms\",\n \"edit forms\",\n \"data entry\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Form fields (traditional React children)\"\n },\n \"onSubmit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit event name for trait dispatch (emitted via eventBus as UI:{onSubmit})\"\n },\n \"onCancel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel event name for trait dispatch (emitted via eventBus as UI:{onCancel})\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form layout\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between fields\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\",\n \"orbitalentity\"\n ],\n \"description\": \"Schema-based props\"\n },\n \"mode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form mode - 'create' for new records, 'edit' for updating existing\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields definition (schema format) - accepts readonly for generated const arrays\"\n },\n \"initialData\": {\n \"types\": [\n \"object\",\n \"unknown\"\n ],\n \"description\": \"Initial form data\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"submitLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Submit button label\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button label (if provided, shows cancel button)\"\n },\n \"showCancel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show cancel button (defaults to true for schema forms)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Form title (used by ModalSlot to extract title)\"\n },\n \"submitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event dispatch props (for trait state machine integration)\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to dispatch on cancel (defaults to 'CANCEL')\"\n },\n \"relationsData\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Relation data props\"\n },\n \"relationsLoading\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Loading state for relation data: { fieldName: boolean }\"\n },\n \"conditionalFields\": {\n \"types\": [\n \"object\",\n \"boolean\"\n ],\n \"description\": \"Inspection form extensions\"\n },\n \"hiddenCalculations\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately)\"\n },\n \"violationTriggers\": {\n \"types\": [\n \"array\",\n \"boolean\"\n ],\n \"description\": \"Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately)\"\n },\n \"evaluationContext\": {\n \"types\": [\n \"formevaluationcontext\",\n \"object\"\n ],\n \"description\": \"Context for S-expression evaluation - accepts flexible types from generated code\"\n },\n \"sections\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Nested form sections with optional conditions\"\n },\n \"onFieldChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when any field value changes\"\n },\n \"configPath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Config path for form configuration (schema-driven)\"\n },\n \"repeatable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the form supports repeatable entries\"\n }\n }\n },\n \"search-input\": {\n \"type\": \"search-input\",\n \"category\": \"filter\",\n \"description\": \"Search input with events\",\n \"suggestedFor\": [\n \"search functionality\",\n \"quick filters\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search value (controlled mode)\"\n },\n \"onSearch\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when search value changes\"\n },\n \"debounceMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Debounce delay in milliseconds @default 300\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show loading state @default false\"\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Placeholder text @default 'Search...'\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show clear button @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"event\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to dispatch on search (schema metadata, wired by trait) This is metadata used by the trait generator, not by the component.\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type for context-aware search. When provided, search events include entity context.\"\n },\n \"query\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Query singleton binding for state management. When provided, syncs search state with the query singleton. Example: \\\"@TaskQuery\\\"\"\n }\n }\n },\n \"filter-group\": {\n \"type\": \"filter-group\",\n \"category\": \"filter\",\n \"description\": \"Multiple filter controls\",\n \"suggestedFor\": [\n \"list pages with filterable data\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name to filter\",\n \"required\": true\n },\n \"filters\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Filter definitions from schema\",\n \"required\": true\n },\n \"onFilterChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a filter changes - for EntityStore integration\"\n },\n \"onClearAll\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback to clear all filters\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant style\"\n },\n \"showIcon\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show filter icon\"\n },\n \"query\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Query singleton binding for state management. When provided, syncs filter state with the query singleton. Example: \\\"@TaskQuery\\\"\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n }\n }\n },\n \"tabs\": {\n \"type\": \"tabs\",\n \"category\": \"navigation\",\n \"description\": \"Tab navigation within page\",\n \"suggestedFor\": [\n \"pages with multiple views\",\n \"filtered lists\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab items\"\n },\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab items (alias for items - used by generated code)\"\n },\n \"defaultActiveTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Default active tab ID\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Controlled active tab ID\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when tab changes\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab variant\"\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab orientation\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"breadcrumb\": {\n \"type\": \"breadcrumb\",\n \"category\": \"navigation\",\n \"description\": \"Breadcrumb navigation\",\n \"suggestedFor\": [\n \"hierarchical navigation\",\n \"detail pages\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Breadcrumb items\",\n \"required\": true\n },\n \"separator\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Separator icon\"\n },\n \"maxItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum items to show (truncates with ellipsis)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"wizard-progress\": {\n \"type\": \"wizard-progress\",\n \"category\": \"navigation\",\n \"description\": \"Wizard step progress indicator\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"onboarding\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"steps\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Step definitions (compatible with WizardContainer's WizardStep)\",\n \"required\": true\n },\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index (0-based)\",\n \"required\": true\n },\n \"onStepClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a completed step is clicked\"\n },\n \"allowNavigation\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow clicking on completed steps to navigate back\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact mode (smaller, no titles)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"stepClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative step click event — emits UI:{stepClickEvent} with { stepIndex }\"\n }\n }\n },\n \"wizard-navigation\": {\n \"type\": \"wizard-navigation\",\n \"category\": \"navigation\",\n \"description\": \"Wizard navigation buttons\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"wizards\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index (0-based)\",\n \"required\": true\n },\n \"totalSteps\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of steps\",\n \"required\": true\n },\n \"isValid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the current step is valid (enables Next/Complete)\"\n },\n \"showBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Back button\"\n },\n \"showNext\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Next button\"\n },\n \"showComplete\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the Complete button (on last step)\"\n },\n \"backLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Back button\"\n },\n \"nextLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Next button\"\n },\n \"completeLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom label for Complete button\"\n },\n \"onBack\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Back click\"\n },\n \"onNext\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Next click\"\n },\n \"onComplete\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on Complete click\"\n },\n \"onBackClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Back (alternative to event)\"\n },\n \"onNextClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Next (alternative to event)\"\n },\n \"onCompleteClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Direct callback for Complete (alternative to event)\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact mode (smaller padding)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"wizard-container\": {\n \"type\": \"wizard-container\",\n \"category\": \"navigation\",\n \"description\": \"Multi-step wizard container\",\n \"suggestedFor\": [\n \"multi-step forms\",\n \"wizards\",\n \"onboarding flows\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"steps\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Wizard steps\",\n \"required\": true\n },\n \"currentStep\": {\n \"types\": [\n \"number\",\n \"string\",\n \"unknown\"\n ],\n \"description\": \"Current step index (controlled) - accepts unknown for generated code compatibility\"\n },\n \"onStepChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when step changes\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when wizard is completed\"\n },\n \"showProgress\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show progress indicator\"\n },\n \"allowBack\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow navigation to previous steps\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Modal mode (compact header, no padding)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type name (schema-driven)\"\n }\n }\n },\n \"pagination\": {\n \"type\": \"pagination\",\n \"category\": \"navigation\",\n \"description\": \"Page navigation controls\",\n \"suggestedFor\": [\n \"paginated lists\",\n \"tables\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (1-indexed)\",\n \"required\": true\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of pages\",\n \"required\": true\n },\n \"onPageChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when page changes (optional - can be a no-op if not interactive)\"\n },\n \"showPageSize\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show page size selector @default false\"\n },\n \"pageSizeOptions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Page size options\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page size\"\n },\n \"onPageSizeChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when page size changes\"\n },\n \"showJumpToPage\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show jump to page input @default false\"\n },\n \"showTotal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show total count @default false\"\n },\n \"totalItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total items count\"\n },\n \"maxVisiblePages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of page buttons to show @default 7\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"pageChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative page change event — emits UI:{pageChangeEvent} with { page }\"\n },\n \"pageSizeChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative page size change event — emits UI:{pageSizeChangeEvent} with { pageSize }\"\n }\n }\n },\n \"empty-state\": {\n \"type\": \"empty-state\",\n \"category\": \"state\",\n \"description\": \"Message when no data exists\",\n \"suggestedFor\": [\n \"list pages\",\n \"search results\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"icon\": {\n \"types\": [\n \"icon\",\n \"string\"\n ],\n \"description\": \"Icon to display. Accepts either: - A Lucide icon component (LucideIcon) - A string icon name (e.g., \\\"check-circle\\\", \\\"x-circle\\\")\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Primary text to display - use title or message (message is alias for backwards compat)\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for title - used by schema patterns\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"description prop\"\n },\n \"actionLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"actionLabel prop\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onAction prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"destructive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Destructive styling for confirmation dialogs\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant for color styling\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative action event — emits UI:{actionEvent} via eventBus when action button is clicked\"\n }\n }\n },\n \"loading-state\": {\n \"type\": \"loading-state\",\n \"category\": \"state\",\n \"description\": \"Loading indicator\",\n \"suggestedFor\": [\n \"any page with async data\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"message prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"error-state\": {\n \"type\": \"error-state\",\n \"category\": \"state\",\n \"description\": \"Error message display\",\n \"suggestedFor\": [\n \"error handling\",\n \"failed requests\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message to display\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for message (schema compatibility)\"\n },\n \"onRetry\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onRetry prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"retryEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative retry event — emits UI:{retryEvent} via eventBus when retry button is clicked\"\n }\n }\n },\n \"notification\": {\n \"type\": \"notification\",\n \"category\": \"state\",\n \"description\": \"Toast notification message\",\n \"suggestedFor\": [\n \"success messages\",\n \"error alerts\",\n \"info messages\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"toastvariant\"\n ],\n \"description\": \"Toast variant\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast message\",\n \"required\": true\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast title (optional)\"\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Auto-dismiss duration in milliseconds (0 = no auto-dismiss)\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show dismiss button\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when toast is dismissed\"\n },\n \"actionLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Action button label\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Action button click handler\"\n },\n \"badge\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Badge count (optional)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"dismissEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative dismiss event — emits UI:{dismissEvent} via eventBus when toast is dismissed\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative action event — emits UI:{actionEvent} via eventBus when action button is clicked\"\n }\n }\n },\n \"stats\": {\n \"type\": \"stats\",\n \"category\": \"dashboard\",\n \"description\": \"Key metrics and statistics\",\n \"suggestedFor\": [\n \"dashboards\",\n \"overview pages\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Main label\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title (alias for label)\"\n },\n \"value\": {\n \"types\": [\n \"string\",\n \"number\",\n \"array\",\n \"unknown\"\n ],\n \"description\": \"Primary value - accepts array/unknown from generated code (will use first element or length)\"\n },\n \"previousValue\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Previous value for comparison\"\n },\n \"currentValue\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current value as number for trend calculation\"\n },\n \"trend\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Manual trend percentage (overrides calculation)\"\n },\n \"trendDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Trend direction (overrides calculation)\"\n },\n \"invertTrend\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether up is good (green) or bad (red)\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Icon to display\"\n },\n \"iconBg\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon background color\"\n },\n \"iconColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon color\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Subtitle or description\"\n },\n \"action\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Action button\"\n },\n \"metrics\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact display mode\"\n }\n }\n },\n \"dashboard-grid\": {\n \"type\": \"dashboard-grid\",\n \"category\": \"dashboard\",\n \"description\": \"Multi-column grid for widgets and stats cards\",\n \"suggestedFor\": [\n \"dashboards\",\n \"analytics pages\",\n \"overview screens\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns\"\n },\n \"gap\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gap between cells\"\n },\n \"cells\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Cell definitions\",\n \"required\": true\n }\n }\n },\n \"modal\": {\n \"type\": \"modal\",\n \"category\": \"container\",\n \"description\": \"Modal dialog overlay\",\n \"suggestedFor\": [\n \"dialogs\",\n \"confirmations\",\n \"forms\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the modal is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when modal should close (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Modal content (can be empty if using slot content)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"footer prop\"\n },\n \"size\": {\n \"types\": [\n \"modalsize\"\n ],\n \"description\": \"size prop\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showCloseButton prop\"\n },\n \"closeOnOverlayClick\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"closeOnOverlayClick prop\"\n },\n \"closeOnEscape\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"closeOnEscape prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when modal should close\"\n }\n }\n },\n \"drawer\": {\n \"type\": \"drawer\",\n \"category\": \"container\",\n \"description\": \"Side drawer panel\",\n \"suggestedFor\": [\n \"detail panels\",\n \"settings\",\n \"side navigation\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the drawer is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when drawer should close (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Drawer title\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Drawer content (can be empty if using slot content)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content\"\n },\n \"position\": {\n \"types\": [\n \"drawerposition\"\n ],\n \"description\": \"Position (left or right)\"\n },\n \"width\": {\n \"types\": [\n \"string\",\n \"drawersize\"\n ],\n \"description\": \"Width (CSS value or preset size)\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show close button\"\n },\n \"closeOnOverlayClick\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Close on overlay click\"\n },\n \"closeOnEscape\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Close on escape key\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when drawer should close\"\n }\n }\n },\n \"confirm-dialog\": {\n \"type\": \"confirm-dialog\",\n \"category\": \"container\",\n \"description\": \"Confirmation dialog\",\n \"suggestedFor\": [\n \"destructive actions\",\n \"confirmations\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the dialog is open (defaults to true when rendered by slot wrapper)\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when dialog is closed (injected by slot wrapper)\"\n },\n \"onConfirm\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when action is confirmed (injected by slot wrapper)\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Dialog title\",\n \"required\": true\n },\n \"message\": {\n \"types\": [\n \"string\",\n \"node\"\n ],\n \"description\": \"Dialog message/description\"\n },\n \"description\": {\n \"types\": [\n \"string\",\n \"node\"\n ],\n \"description\": \"Alias for message (schema compatibility)\"\n },\n \"confirmText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Confirm button text\"\n },\n \"confirmLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for confirmText (schema compatibility)\"\n },\n \"cancelText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Cancel button text\"\n },\n \"cancelLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alias for cancelText (schema compatibility)\"\n },\n \"variant\": {\n \"types\": [\n \"confirmdialogvariant\"\n ],\n \"description\": \"Dialog variant\"\n },\n \"size\": {\n \"types\": [\n \"modalsize\"\n ],\n \"description\": \"Dialog size\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state for confirm button\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"master-detail\": {\n \"type\": \"master-detail\",\n \"category\": \"layout\",\n \"description\": \"List on left, selected item detail on right\",\n \"suggestedFor\": [\n \"entity management\",\n \"inbox-style views\",\n \"file browsers\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"master\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Master panel content (usually a list)\",\n \"required\": true\n },\n \"detail\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Detail panel content\",\n \"required\": true\n },\n \"emptyDetail\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content shown when nothing is selected\"\n },\n \"hasSelection\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether an item is currently selected\"\n },\n \"masterWidth\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Width of master panel (e.g., '350px', '30%')\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"masterClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for master pane\"\n },\n \"detailClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for detail pane\"\n }\n }\n },\n \"box\": {\n \"type\": \"box\",\n \"category\": \"layout\",\n \"description\": \"Generic styled container with padding, borders, and backgrounds\",\n \"suggestedFor\": [\n \"card containers\",\n \"sections\",\n \"styled wrappers\",\n \"content boxes\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"padding\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Padding on all sides\"\n },\n \"paddingX\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Horizontal padding (overrides padding for x-axis)\"\n },\n \"paddingY\": {\n \"types\": [\n \"boxpadding\"\n ],\n \"description\": \"Vertical padding (overrides padding for y-axis)\"\n },\n \"margin\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Margin on all sides\"\n },\n \"marginX\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Horizontal margin\"\n },\n \"marginY\": {\n \"types\": [\n \"boxmargin\"\n ],\n \"description\": \"Vertical margin\"\n },\n \"bg\": {\n \"types\": [\n \"boxbg\"\n ],\n \"description\": \"Background color\"\n },\n \"border\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show border\"\n },\n \"rounded\": {\n \"types\": [\n \"boxrounded\"\n ],\n \"description\": \"Border radius\"\n },\n \"shadow\": {\n \"types\": [\n \"boxshadow\"\n ],\n \"description\": \"Box shadow\"\n },\n \"display\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display type\"\n },\n \"fullWidth\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available width\"\n },\n \"fullHeight\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available height\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow behavior\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n },\n \"hoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false } on mouseEnter/mouseLeave\"\n }\n }\n },\n \"grid\": {\n \"type\": \"grid\",\n \"category\": \"layout\",\n \"description\": \"CSS Grid layout for multi-column content\",\n \"suggestedFor\": [\n \"dashboards\",\n \"card grids\",\n \"multi-column layouts\",\n \"responsive grids\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"cols\": {\n \"types\": [\n \"gridcols\",\n \"responsivegridcols\"\n ],\n \"description\": \"Number of columns (can be responsive object)\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of rows\"\n },\n \"gap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"rowGap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Row gap (overrides gap for rows)\"\n },\n \"colGap\": {\n \"types\": [\n \"gridgap\"\n ],\n \"description\": \"Column gap (overrides gap for columns)\"\n },\n \"alignItems\": {\n \"types\": [\n \"gridalign\"\n ],\n \"description\": \"Align items on block axis\"\n },\n \"justifyItems\": {\n \"types\": [\n \"gridjustify\"\n ],\n \"description\": \"Justify items on inline axis\"\n },\n \"flow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Auto-flow direction\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"center\": {\n \"type\": \"center\",\n \"category\": \"layout\",\n \"description\": \"Centers content horizontally and vertically\",\n \"suggestedFor\": [\n \"centered modals\",\n \"loading states\",\n \"empty states\",\n \"hero sections\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"inline\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center inline (width fits content) vs block (full width)\"\n },\n \"horizontal\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center only horizontally\"\n },\n \"vertical\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center only vertically\"\n },\n \"minHeight\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Minimum height (useful for vertical centering)\"\n },\n \"fullHeight\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available height\"\n },\n \"fullWidth\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available width\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"spacer\": {\n \"type\": \"spacer\",\n \"category\": \"layout\",\n \"description\": \"Flexible space that expands to fill available room\",\n \"suggestedFor\": [\n \"pushing elements apart\",\n \"flexible spacing\",\n \"layout adjustment\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"spacersize\"\n ],\n \"description\": \"Fixed size (auto = flex grow)\"\n },\n \"axis\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Orientation (for fixed sizes)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n }\n }\n },\n \"divider\": {\n \"type\": \"divider\",\n \"category\": \"layout\",\n \"description\": \"Visual separator between content sections\",\n \"suggestedFor\": [\n \"section breaks\",\n \"content separation\",\n \"visual grouping\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"orientation\": {\n \"types\": [\n \"dividerorientation\"\n ],\n \"description\": \"Orientation of the divider @default 'horizontal'\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text label to display in the divider\"\n },\n \"variant\": {\n \"types\": [\n \"dividervariant\"\n ],\n \"description\": \"Line style variant @default 'solid'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-hud\": {\n \"type\": \"game-hud\",\n \"category\": \"game\",\n \"description\": \"Heads-up display showing health, score, lives\",\n \"suggestedFor\": [\n \"game page\",\n \"gameplay overlay\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position of the HUD\"\n },\n \"stats\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Stats to display - accepts readonly for compatibility with generated const arrays\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for stats (schema compatibility)\"\n },\n \"elements\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Schema-style elements array (alternative to stats). Converted to stats internally for backwards compatibility.\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"transparent\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to use a semi-transparent background\"\n }\n }\n },\n \"game-menu\": {\n \"type\": \"game-menu\",\n \"category\": \"game\",\n \"description\": \"Main menu with start, options, credits\",\n \"suggestedFor\": [\n \"main menu page\",\n \"start screen\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Menu title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional subtitle or version\"\n },\n \"options\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Menu options - accepts readonly for compatibility with generated const arrays\"\n },\n \"menuItems\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Alias for options (schema compatibility)\"\n },\n \"onSelect\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an option is selected (legacy callback, prefer event bus)\"\n },\n \"eventBus\": {\n \"types\": [\n \"eventbuscontexttype\"\n ],\n \"description\": \"Event bus for emitting UI events (optional, uses hook if not provided)\"\n },\n \"background\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image or gradient\"\n },\n \"logo\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image URL\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-over-screen\": {\n \"type\": \"game-over-screen\",\n \"category\": \"game\",\n \"description\": \"Game over screen with score and retry option\",\n \"suggestedFor\": [\n \"game over\",\n \"victory screen\",\n \"defeat screen\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Screen title (e.g., \\\"Game Over\\\", \\\"Victory!\\\")\",\n \"required\": true\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional message\"\n },\n \"stats\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Stats to display\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Action buttons\"\n },\n \"menuItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Alias for actions (schema compatibility)\"\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an action is selected (legacy callback, prefer event bus)\"\n },\n \"eventBus\": {\n \"types\": [\n \"eventbuscontexttype\"\n ],\n \"description\": \"Event bus for emitting UI events (optional, uses hook if not provided)\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Victory or defeat variant\"\n },\n \"highScore\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"High score (optional, shows \\\"NEW HIGH SCORE!\\\" if exceeded)\"\n },\n \"currentScore\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Current score for high score comparison (accepts string for schema bindings)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"inventory-panel\": {\n \"type\": \"inventory-panel\",\n \"category\": \"game\",\n \"description\": \"Grid-based inventory UI for items, equipment, or resources\",\n \"suggestedFor\": [\n \"rpg inventory\",\n \"item management\",\n \"crafting\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of items in inventory\",\n \"required\": true\n },\n \"slots\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of slots\",\n \"required\": true\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns in grid\",\n \"required\": true\n },\n \"selectedSlot\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Currently selected slot index\"\n },\n \"onSelectSlot\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a slot is selected\"\n },\n \"onUseItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is used (double-click or Enter)\"\n },\n \"onDropItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is dropped\"\n },\n \"selectSlotEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{selectSlotEvent} with { index } when a slot is selected\"\n },\n \"useItemEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{useItemEvent} with { item } when an item is used\"\n },\n \"dropItemEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{dropItemEvent} with { item } when an item is dropped\"\n },\n \"showTooltips\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show item tooltips on hover\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n },\n \"slotSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Slot size in pixels\"\n }\n }\n },\n \"dialogue-box\": {\n \"type\": \"dialogue-box\",\n \"category\": \"game\",\n \"description\": \"RPG-style dialogue box with speaker, portrait, and choices\",\n \"suggestedFor\": [\n \"npc dialogue\",\n \"story sequences\",\n \"tutorials\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"dialogue\": {\n \"types\": [\n \"dialoguenode\"\n ],\n \"description\": \"Current dialogue node to display\",\n \"required\": true\n },\n \"typewriterSpeed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Typewriter speed in ms per character (0 = instant)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Position of dialogue box\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when text animation completes\"\n },\n \"onChoice\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a choice is selected\"\n },\n \"onAdvance\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when dialogue is advanced (no choices)\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{completeEvent} when text animation completes\"\n },\n \"choiceEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{choiceEvent} with { choice } when a choice is selected\"\n },\n \"advanceEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{advanceEvent} when dialogue is advanced\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n }\n }\n },\n \"runtime-debugger\": {\n \"type\": \"runtime-debugger\",\n \"category\": \"debug\",\n \"description\": \"Debug overlay showing FPS, entity states, event logs\",\n \"suggestedFor\": [\n \"development\",\n \"debugging\",\n \"testing\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Initial position\"\n },\n \"defaultCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Initial collapsed state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"button\": {\n \"type\": \"button\",\n \"category\": \"component\",\n \"description\": \"Clickable button that emits events\",\n \"suggestedFor\": [\n \"actions\",\n \"form submission\",\n \"navigation triggers\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"buttonvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"buttonsize\"\n ],\n \"description\": \"size prop\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isLoading prop\"\n },\n \"leftIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Left icon as ReactNode (preferred)\"\n },\n \"rightIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Right icon as ReactNode (preferred)\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Left icon as Lucide icon component (convenience prop, renders with default size)\"\n },\n \"iconRight\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Right icon as Lucide icon component (convenience prop)\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button label text (alternative to children for schema-driven rendering)\"\n }\n }\n },\n \"badge\": {\n \"type\": \"badge\",\n \"category\": \"component\",\n \"description\": \"Small label for status or count\",\n \"suggestedFor\": [\n \"status indicators\",\n \"counts\",\n \"tags\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"badgevariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"badgesize\"\n ],\n \"description\": \"size prop\"\n },\n \"amount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Numeric count or amount to display in badge\"\n }\n }\n },\n \"avatar\": {\n \"type\": \"avatar\",\n \"category\": \"component\",\n \"description\": \"User avatar image or initials\",\n \"suggestedFor\": [\n \"user profiles\",\n \"comments\",\n \"team lists\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image source URL\"\n },\n \"alt\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alt text for the image\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Full name - initials will be generated automatically\"\n },\n \"initials\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Initials to display (e.g., \\\"JD\\\" for John Doe) If not provided but name is, initials will be auto-generated\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Icon to display when no image or initials\"\n },\n \"size\": {\n \"types\": [\n \"avatarsize\"\n ],\n \"description\": \"Size of the avatar @default 'md'\"\n },\n \"status\": {\n \"types\": [\n \"avatarstatus\"\n ],\n \"description\": \"Status indicator\"\n },\n \"badge\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Badge content (e.g., notification count)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n }\n }\n },\n \"icon\": {\n \"type\": \"icon\",\n \"category\": \"component\",\n \"description\": \"Icon from Lucide icon set\",\n \"suggestedFor\": [\n \"decorative icons\",\n \"status indicators\",\n \"buttons\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Lucide icon component (preferred for type-safe usage)\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name as string (resolved from iconMap)\"\n },\n \"size\": {\n \"types\": [\n \"iconsize\"\n ],\n \"description\": \"Size of the icon\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Color class (Tailwind color class) or 'inherit' for theme default\"\n },\n \"animation\": {\n \"types\": [\n \"iconanimation\"\n ],\n \"description\": \"Animation type\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"strokeWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Icon stroke width - uses theme default if not specified\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n }\n }\n },\n \"card\": {\n \"type\": \"card\",\n \"category\": \"component\",\n \"description\": \"Card container with optional header and footer\",\n \"suggestedFor\": [\n \"content cards\",\n \"product cards\",\n \"info cards\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Card title\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Card subtitle or description\"\n },\n \"image\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image URL to display at top of card\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Action buttons to display in card footer\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Card content\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler for the entire card\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on card click\"\n },\n \"isSelected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the card is selected (highlighted state)\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Card name (alias for title)\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Level indicator\"\n },\n \"maxLevel\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum level\"\n }\n }\n },\n \"progress-bar\": {\n \"type\": \"progress-bar\",\n \"category\": \"component\",\n \"description\": \"Progress indicator bar\",\n \"suggestedFor\": [\n \"progress tracking\",\n \"loading\",\n \"completion status\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Progress value (0-100)\",\n \"required\": true\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value (for calculating percentage) @default 100\"\n },\n \"variant\": {\n \"types\": [\n \"progressbarvariant\"\n ],\n \"description\": \"Variant/color of the progress bar @default 'primary'\"\n },\n \"color\": {\n \"types\": [\n \"progressbarcolor\"\n ],\n \"description\": \"Color variant (alias for variant) @default 'primary'\"\n },\n \"showPercentage\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show percentage text @default false\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Alias for showPercentage (pattern compatibility)\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label text\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size (for circular variant) @default 'md'\"\n },\n \"steps\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of steps (for stepped variant) @default 5\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"progressType\": {\n \"types\": [\n \"progressbartype\"\n ],\n \"description\": \"Type of the progress bar (linear, circular, stepped) @default 'linear'\"\n }\n }\n },\n \"spinner\": {\n \"type\": \"spinner\",\n \"category\": \"component\",\n \"description\": \"Loading spinner animation\",\n \"suggestedFor\": [\n \"loading states\",\n \"async operations\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"spinnersize\"\n ],\n \"description\": \"size prop\"\n }\n }\n },\n \"input\": {\n \"type\": \"input\",\n \"category\": \"component\",\n \"description\": \"Text input field\",\n \"suggestedFor\": [\n \"forms\",\n \"search\",\n \"data entry\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n },\n \"leftIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"leftIcon prop\"\n },\n \"rightIcon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"rightIcon prop\"\n },\n \"icon\": {\n \"types\": [\n \"icon\"\n ],\n \"description\": \"Lucide icon component for left side (convenience prop)\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show clear button when input has value\"\n },\n \"onClear\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when clear button is clicked\"\n },\n \"options\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Options for select type\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Rows for textarea type\"\n },\n \"onChange\": {\n \"types\": [\n \"react.changeeventhandler\"\n ],\n \"description\": \"onChange handler - accepts events from input, select, or textarea\"\n },\n \"inputType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Input type - supports 'select' and 'textarea' in addition to standard types\"\n }\n }\n },\n \"textarea\": {\n \"type\": \"textarea\",\n \"category\": \"component\",\n \"description\": \"Multi-line text input\",\n \"suggestedFor\": [\n \"long text\",\n \"descriptions\",\n \"comments\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n }\n }\n },\n \"select\": {\n \"type\": \"select\",\n \"category\": \"component\",\n \"description\": \"Dropdown select input\",\n \"suggestedFor\": [\n \"option selection\",\n \"filters\",\n \"forms\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"options\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"options prop\",\n \"required\": true\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"placeholder prop\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n }\n }\n },\n \"checkbox\": {\n \"type\": \"checkbox\",\n \"category\": \"component\",\n \"description\": \"Checkbox input\",\n \"suggestedFor\": [\n \"boolean options\",\n \"multi-select\",\n \"toggles\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\"\n }\n }\n },\n \"radio\": {\n \"type\": \"radio\",\n \"category\": \"component\",\n \"description\": \"Radio button input\",\n \"suggestedFor\": [\n \"single selection\",\n \"options\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label text displayed next to the radio button\"\n },\n \"helperText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Helper text displayed below the radio button\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message displayed below the radio button\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size of the radio button @default 'md'\"\n }\n }\n },\n \"switch\": {\n \"type\": \"switch\",\n \"category\": \"component\",\n \"description\": \"Toggle switch input\",\n \"suggestedFor\": [\n \"on/off settings\",\n \"toggles\",\n \"preferences\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"checked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"checked prop\"\n },\n \"defaultChecked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"defaultChecked prop\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onChange prop\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"disabled prop\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"id prop\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"name prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"label\": {\n \"type\": \"label\",\n \"category\": \"component\",\n \"description\": \"Form field label\",\n \"suggestedFor\": [\n \"form fields\",\n \"input labels\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"required prop\"\n }\n }\n },\n \"alert\": {\n \"type\": \"alert\",\n \"category\": \"component\",\n \"description\": \"Alert message box\",\n \"suggestedFor\": [\n \"warnings\",\n \"errors\",\n \"info messages\",\n \"success messages\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Alert content (children or message)\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Alert message (alias for children)\"\n },\n \"variant\": {\n \"types\": [\n \"alertvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"dismissible prop\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onDismiss prop\"\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onClose prop\"\n },\n \"actions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"actions prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"dismissEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative dismiss event — emits UI:{dismissEvent} via eventBus when alert is dismissed\"\n }\n }\n },\n \"tooltip\": {\n \"type\": \"tooltip\",\n \"category\": \"component\",\n \"description\": \"Hover tooltip\",\n \"suggestedFor\": [\n \"hints\",\n \"extra info\",\n \"help text\"\n ],\n \"typicalSize\": \"tiny\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Tooltip content\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Tooltip trigger element (ReactElement or ReactNode that will be wrapped in span)\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"tooltipposition\"\n ],\n \"description\": \"Tooltip position\"\n },\n \"delay\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Show delay in milliseconds\"\n },\n \"hideDelay\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Hide delay in milliseconds\"\n },\n \"showArrow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show arrow\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"popover\": {\n \"type\": \"popover\",\n \"category\": \"component\",\n \"description\": \"Click-triggered popover\",\n \"suggestedFor\": [\n \"menus\",\n \"additional info\",\n \"actions\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Popover content\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Popover trigger element (ReactElement or ReactNode that will be wrapped in span)\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"popoverposition\"\n ],\n \"description\": \"Popover position @default 'bottom'\"\n },\n \"trigger\": {\n \"types\": [\n \"popovertrigger\"\n ],\n \"description\": \"Trigger type @default 'click'\"\n },\n \"showArrow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show arrow @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"menu\": {\n \"type\": \"menu\",\n \"category\": \"component\",\n \"description\": \"Dropdown menu\",\n \"suggestedFor\": [\n \"actions menu\",\n \"context menu\",\n \"dropdown\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"trigger\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Menu trigger element\",\n \"required\": true\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Menu items\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"menuposition\"\n ],\n \"description\": \"Menu position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"accordion\": {\n \"type\": \"accordion\",\n \"category\": \"component\",\n \"description\": \"Collapsible accordion sections\",\n \"suggestedFor\": [\n \"FAQs\",\n \"collapsible content\",\n \"settings\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Accordion items\",\n \"required\": true\n },\n \"multiple\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow multiple items open at once @default false\"\n },\n \"defaultOpenItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Default open items (IDs)\"\n },\n \"defaultOpen\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Default open items by index (pattern compatibility)\"\n },\n \"openItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Controlled open items (IDs)\"\n },\n \"onItemToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when item opens/closes\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"toggleEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative toggle event — emits UI:{toggleEvent} with { itemId, isOpen }\"\n }\n }\n },\n \"container\": {\n \"type\": \"container\",\n \"category\": \"component\",\n \"description\": \"Centered max-width container\",\n \"suggestedFor\": [\n \"page content\",\n \"centered layouts\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"containersize\"\n ],\n \"description\": \"Maximum width\"\n },\n \"maxWidth\": {\n \"types\": [\n \"containersize\"\n ],\n \"description\": \"Alias for size (pattern compatibility)\"\n },\n \"padding\": {\n \"types\": [\n \"containerpadding\"\n ],\n \"description\": \"Horizontal padding\"\n },\n \"center\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Center horizontally\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"simple-grid\": {\n \"type\": \"simple-grid\",\n \"category\": \"component\",\n \"description\": \"Simple responsive grid with auto columns\",\n \"suggestedFor\": [\n \"card grids\",\n \"gallery\",\n \"responsive layouts\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"minChildWidth\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Minimum width of each child (e.g., 200, \\\"200px\\\", \\\"15rem\\\")\"\n },\n \"maxCols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum number of columns\"\n },\n \"cols\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Exact number of columns (disables auto-fit)\"\n },\n \"gap\": {\n \"types\": [\n \"simplegridgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n }\n }\n },\n \"repeatable-form-section\": {\n \"type\": \"repeatable-form-section\",\n \"category\": \"form\",\n \"description\": \"Repeatable form section for multiple entries\",\n \"suggestedFor\": [\n \"repeating fields\",\n \"dynamic forms\",\n \"multi-entry sections\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"sectionType\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section type identifier\",\n \"required\": true\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\",\n \"required\": true\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Items in the section\",\n \"required\": true\n },\n \"renderItem\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Render function for each item\",\n \"required\": true\n },\n \"minItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum items required\"\n },\n \"maxItems\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum items allowed\"\n },\n \"allowReorder\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow reordering\"\n },\n \"addLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Add button label\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n },\n \"readOnly\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Read-only mode\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"onAdd\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Add handler\"\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Remove handler\"\n },\n \"onReorder\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Reorder handler\"\n },\n \"trackAddedInState\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Inspection-specific enhancements\"\n },\n \"currentState\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current inspection state (used when trackAddedInState is true)\"\n },\n \"showAuditInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show audit metadata (addedInState, addedAt)\"\n }\n }\n },\n \"conditional-wrapper\": {\n \"type\": \"conditional-wrapper\",\n \"category\": \"component\",\n \"description\": \"ConditionalWrapper Atom Component A wrapper component that conditionally renders its children based on S-expression evaluation. Used for dynamic field visibility in inspection forms.\",\n \"suggestedFor\": [\n \"conditional\",\n \"wrapper\",\n \"conditional wrapper\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"condition\": {\n \"types\": [\n \"sexpr\"\n ],\n \"description\": \"The S-expression condition to evaluate\"\n },\n \"context\": {\n \"types\": [\n \"conditionalcontext\"\n ],\n \"description\": \"Context for evaluating the condition\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render when condition is true (or when no condition is provided)\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Optional fallback to render when condition is false\"\n },\n \"animate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to animate the transition (uses CSS transitions)\"\n }\n }\n },\n \"law-reference-tooltip\": {\n \"type\": \"law-reference-tooltip\",\n \"category\": \"component\",\n \"description\": \"LawReferenceTooltip Atom Component A specialized tooltip for displaying law references in inspection forms. Shows law name, article number, and relevant clause text.\",\n \"suggestedFor\": [\n \"law\",\n \"reference\",\n \"tooltip\",\n \"law reference tooltip\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"reference\": {\n \"types\": [\n \"lawreference\"\n ],\n \"description\": \"The law reference to display\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children element that triggers the tooltip\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tooltip position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"overlay\": {\n \"type\": \"overlay\",\n \"category\": \"container\",\n \"description\": \"Overlay Atom Component A fixed backdrop for modals and drawers.\",\n \"suggestedFor\": [\n \"overlay\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"isVisible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isVisible prop\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onClick prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"blur\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"blur prop\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n }\n }\n },\n \"stack\": {\n \"type\": \"stack\",\n \"category\": \"component\",\n \"description\": \"Stack Component A layout primitive for arranging children in a vertical or horizontal stack with consistent spacing. Includes convenience exports VStack and HStack for common use cases.\",\n \"suggestedFor\": [\n \"stack\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"stackdirection\"\n ],\n \"description\": \"Stack direction\"\n },\n \"gap\": {\n \"types\": [\n \"stackgap\"\n ],\n \"description\": \"Gap between children\"\n },\n \"align\": {\n \"types\": [\n \"stackalign\"\n ],\n \"description\": \"Align items on the cross axis\"\n },\n \"justify\": {\n \"types\": [\n \"stackjustify\"\n ],\n \"description\": \"Justify items on the main axis\"\n },\n \"wrap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow items to wrap\"\n },\n \"reverse\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Reverse the order of children\"\n },\n \"flex\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Fill available space (flex: 1)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"onKeyDown\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Keyboard handler\"\n },\n \"role\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Role for accessibility\"\n },\n \"tabIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Tab index for focus management\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"actionPayload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Payload to include with the action event\"\n }\n }\n },\n \"text-highlight\": {\n \"type\": \"text-highlight\",\n \"category\": \"component\",\n \"description\": \"TextHighlight Atom Component A styled span component for highlighting text with annotations (questions or notes). Uses different colors for different annotation types: - Questions: Blue highlight - Notes: Yellow highlight\",\n \"suggestedFor\": [\n \"text\",\n \"highlight\",\n \"text highlight\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"highlightType\": {\n \"types\": [\n \"highlighttype\"\n ],\n \"description\": \"Type of highlight (determines color)\",\n \"required\": true\n },\n \"isActive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the highlight is currently active/focused @default false\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when highlight is clicked\"\n },\n \"onMouseEnter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when highlight is hovered\"\n },\n \"onMouseLeave\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when hover ends\"\n },\n \"annotationId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unique ID for the annotation\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Highlighted text content\",\n \"required\": true\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name — emits UI:{action} via eventBus on click\"\n },\n \"hoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative hover event — emits UI:{hoverEvent} with { hovered: true/false }\"\n }\n }\n },\n \"theme-toggle\": {\n \"type\": \"theme-toggle\",\n \"category\": \"component\",\n \"description\": \"ThemeToggle Atom Component A button that toggles between light and dark themes. Uses Sun and Moon icons to indicate current/target theme.\",\n \"suggestedFor\": [\n \"theme\",\n \"toggle\",\n \"theme toggle\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show label text\"\n }\n }\n },\n \"typography\": {\n \"type\": \"typography\",\n \"category\": \"component\",\n \"description\": \"Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n },\n \"control-button\": {\n \"type\": \"control-button\",\n \"category\": \"component\",\n \"description\": \"ControlButton component\",\n \"suggestedFor\": [\n \"control\",\n \"button\",\n \"control button\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button label text\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"shape\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Shape variant\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual variant\"\n },\n \"onPress\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when button is pressed\"\n },\n \"onRelease\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when button is released\"\n },\n \"pressEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on press via useEventBus\"\n },\n \"releaseEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on release via useEventBus\"\n },\n \"pressed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the button is currently pressed\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the button is disabled\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"health-bar\": {\n \"type\": \"health-bar\",\n \"category\": \"component\",\n \"description\": \"HealthBar component\",\n \"suggestedFor\": [\n \"health\",\n \"bar\",\n \"health bar\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"current\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current health value\",\n \"required\": true\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum health value\",\n \"required\": true\n },\n \"format\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display format\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation on change\"\n }\n }\n },\n \"score-display\": {\n \"type\": \"score-display\",\n \"category\": \"component\",\n \"description\": \"ScoreDisplay component\",\n \"suggestedFor\": [\n \"score\",\n \"display\",\n \"score display\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current score value\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label to display before score\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation on value change\"\n },\n \"locale\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Number formatting locale\"\n }\n }\n },\n \"sprite\": {\n \"type\": \"sprite\",\n \"category\": \"game\",\n \"description\": \"Sprite Component Renders a single frame from a spritesheet with transform support.\",\n \"suggestedFor\": [\n \"sprite\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"spritesheet\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Spritesheet image URL\",\n \"required\": true\n },\n \"frameWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Width of each frame in pixels\",\n \"required\": true\n },\n \"frameHeight\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Height of each frame in pixels\",\n \"required\": true\n },\n \"frame\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Frame index to display (0-based, left-to-right, top-to-bottom)\",\n \"required\": true\n },\n \"x\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"X position in pixels\",\n \"required\": true\n },\n \"y\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Y position in pixels\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Scale factor (default: 1)\"\n },\n \"flipX\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Flip horizontally\"\n },\n \"flipY\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Flip vertically\"\n },\n \"rotation\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Rotation in degrees\"\n },\n \"opacity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Opacity (0-1)\"\n },\n \"zIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Z-index for layering\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns in spritesheet (for frame calculation)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional className\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Optional onClick handler\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on click via useEventBus\"\n }\n }\n },\n \"form-actions\": {\n \"type\": \"form-actions\",\n \"category\": \"component\",\n \"description\": \"ButtonGroup Molecule Component A component for grouping buttons together with connected styling. Supports both children-based and form-actions pattern (primary/secondary) usage. Uses Button atoms.\",\n \"suggestedFor\": [\n \"button\",\n \"group\",\n \"button group\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Button group content (Button components) - use this OR primary/secondary\"\n },\n \"primary\": {\n \"types\": [\n \"readonly\"\n ],\n \"description\": \"Primary action button config (for form-actions pattern) Accepts Readonly for compatibility with generated const objects\"\n },\n \"secondary\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Secondary action buttons config (for form-actions pattern) Accepts readonly array for compatibility with generated const arrays\"\n },\n \"variant\": {\n \"types\": [\n \"buttongroupvariant\"\n ],\n \"description\": \"Visual variant @default 'default'\"\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Orientation @default 'horizontal'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity type for filter-group pattern (schema metadata)\"\n },\n \"filters\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Filter definitions for filter-group pattern\"\n }\n }\n },\n \"flex\": {\n \"type\": \"flex\",\n \"category\": \"component\",\n \"description\": \"Flex Component A flexbox wrapper with all common flex properties exposed as props. More explicit than Stack for when you need full flex control.\",\n \"suggestedFor\": [\n \"flex\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"flexdirection\"\n ],\n \"description\": \"Flex direction\"\n },\n \"wrap\": {\n \"types\": [\n \"flexwrap\"\n ],\n \"description\": \"Flex wrap\"\n },\n \"align\": {\n \"types\": [\n \"flexalign\"\n ],\n \"description\": \"Align items\"\n },\n \"justify\": {\n \"types\": [\n \"flexjustify\"\n ],\n \"description\": \"Justify content\"\n },\n \"gap\": {\n \"types\": [\n \"flexgap\"\n ],\n \"description\": \"Gap between items\"\n },\n \"inline\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Inline flex\"\n },\n \"grow\": {\n \"types\": [\n \"boolean\",\n \"number\"\n ],\n \"description\": \"Flex grow\"\n },\n \"shrink\": {\n \"types\": [\n \"boolean\",\n \"number\"\n ],\n \"description\": \"Flex shrink\"\n },\n \"basis\": {\n \"types\": [\n \"string\",\n \"number\"\n ],\n \"description\": \"Flex basis\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n }\n }\n },\n \"floating-action-button\": {\n \"type\": \"floating-action-button\",\n \"category\": \"component\",\n \"description\": \"FloatingActionButton Molecule Component A floating action button that can expand into multiple actions vertically. Uses Button atom.\",\n \"suggestedFor\": [\n \"floating\",\n \"action\",\n \"button\",\n \"floating action button\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"action\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Single action (if only one action, button will directly trigger onClick)\"\n },\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Multiple actions (if provided, button will expand to show all actions)\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name (simplified API for pattern compatibility)\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler (simplified API for pattern compatibility)\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant (simplified API for pattern compatibility)\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button position @default 'bottom-right'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"form-field\": {\n \"type\": \"form-field\",\n \"category\": \"form\",\n \"description\": \"FormField Molecule Component A form field wrapper with label, hint, and error message support. **Atomic Design**: Composed using Label and Typography atoms.\",\n \"suggestedFor\": [\n \"form\",\n \"field\",\n \"form field\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"required prop\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"error prop\"\n },\n \"hint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"hint prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n }\n }\n },\n \"form-section-header\": {\n \"type\": \"form-section-header\",\n \"category\": \"form\",\n \"description\": \"FormSectionHeader Header component for collapsible form sections. Provides consistent styling and interaction for section headers.\",\n \"suggestedFor\": [\n \"form\",\n \"section\",\n \"header\",\n \"form section header\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section subtitle\"\n },\n \"isCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section is collapsed\"\n },\n \"onToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Toggle collapse handler (makes header clickable)\"\n },\n \"badge\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Badge text (e.g., \\\"3 fields\\\", \\\"Required\\\", \\\"Complete\\\")\"\n },\n \"badgeVariant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Badge variant\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Icon name to show before title\"\n },\n \"hasErrors\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section has validation errors\"\n },\n \"isComplete\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether section is complete\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"input-group\": {\n \"type\": \"input-group\",\n \"category\": \"form\",\n \"description\": \"InputGroup Molecule Component A component for grouping input with addons (icons, buttons, text). Uses Input, Button, Icon, and Typography atoms.\",\n \"suggestedFor\": [\n \"input\",\n \"group\",\n \"input group\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"leftAddon\": {\n \"types\": [\n \"node\",\n \"icon\"\n ],\n \"description\": \"Left addon (icon, button, or text)\"\n },\n \"rightAddon\": {\n \"types\": [\n \"node\",\n \"icon\"\n ],\n \"description\": \"Right addon (icon, button, or text)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"relation-select\": {\n \"type\": \"relation-select\",\n \"category\": \"form\",\n \"description\": \"RelationSelect Molecule Component A searchable select component for relation fields. Allows users to search and select from related entities. Composed from: Box, HStack, VStack, Input, Button, Spinner, Typography atoms\",\n \"suggestedFor\": [\n \"relation\",\n \"select\",\n \"relation select\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current value (ID)\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when value changes\"\n },\n \"options\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Available options - accepts readonly for compatibility with generated const arrays\",\n \"required\": true\n },\n \"placeholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Placeholder text\"\n },\n \"required\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the field is required\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the field is disabled\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether data is loading\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error message\"\n },\n \"clearable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow clearing the selection\"\n },\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Name attribute for forms\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n }\n }\n },\n \"side-panel\": {\n \"type\": \"side-panel\",\n \"category\": \"component\",\n \"description\": \"SidePanel Molecule Component A side panel that slides in from the right (or left) with header and content. Uses Button, Typography atoms.\",\n \"suggestedFor\": [\n \"side\",\n \"panel\",\n \"side panel\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel title\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Panel content\",\n \"required\": true\n },\n \"isOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Is panel open\",\n \"required\": true\n },\n \"onClose\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"On close handler\",\n \"required\": true\n },\n \"width\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel width @default 'w-96'\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Panel position @default 'right'\"\n },\n \"showOverlay\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show overlay on mobile @default true\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative close event — emits UI:{closeEvent} via eventBus when panel should close\"\n }\n }\n },\n \"violation-alert\": {\n \"type\": \"violation-alert\",\n \"category\": \"state\",\n \"description\": \"ViolationAlert Displays inspection violations with law references and action types. Used in inspection forms to show detected compliance violations. Action Types: - measure: Corrective measure required (warning) - admin: Administrative action (error) - penalty: Penalty proceedings (error, severe)\",\n \"suggestedFor\": [\n \"violation\",\n \"alert\",\n \"violation alert\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"violation\": {\n \"types\": [\n \"violationrecord\"\n ],\n \"description\": \"Violation data\",\n \"required\": true\n },\n \"severity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual severity (derived from actionType if not specified)\"\n },\n \"dismissible\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Dismissible alert\"\n },\n \"onDismiss\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Dismiss handler\"\n },\n \"onNavigateToField\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Navigate to the field that caused violation\"\n },\n \"compact\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Compact display mode\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"action-buttons\": {\n \"type\": \"action-buttons\",\n \"category\": \"component\",\n \"description\": \"ActionButtons component\",\n \"suggestedFor\": [\n \"action\",\n \"buttons\",\n \"action buttons\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"buttons\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Button configurations\",\n \"required\": true\n },\n \"onAction\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a button is pressed/released\"\n },\n \"actionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on action via useEventBus\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Layout variant\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n }\n }\n },\n \"d-pad\": {\n \"type\": \"d-pad\",\n \"category\": \"component\",\n \"description\": \"DPad component\",\n \"suggestedFor\": [\n \"pad\",\n \"d pad\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"onDirection\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a direction is pressed/released\"\n },\n \"directionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event name emitted on direction press/release via useEventBus\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"includeDiagonals\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to include diagonal buttons\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n }\n }\n },\n \"stat-badge\": {\n \"type\": \"stat-badge\",\n \"category\": \"display\",\n \"description\": \"StatBadge component\",\n \"suggestedFor\": [\n \"stat\",\n \"badge\",\n \"stat badge\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Stat label\",\n \"required\": true\n },\n \"value\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Current value (defaults to 0 if not provided)\"\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value (for bar/hearts format)\"\n },\n \"source\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Data source entity name (for schema config)\"\n },\n \"field\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Field name in the source (for schema config)\"\n },\n \"format\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display format\"\n },\n \"icon\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Icon component or emoji\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Visual variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"button-pattern\": {\n \"type\": \"button-pattern\",\n \"category\": \"display\",\n \"description\": \"Component Pattern Wrappers Pattern wrappers for atomic UI components that can be rendered via render_ui. These bridge the shell's atomic components with the pattern system. Interactive components emit events via useEventBus for the closed circuit pattern.\",\n \"suggestedFor\": [\n \"button\",\n \"pattern\",\n \"button pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"variant\": {\n \"types\": [\n \"buttonvariant\"\n ],\n \"description\": \"variant prop\"\n },\n \"size\": {\n \"types\": [\n \"buttonsize\"\n ],\n \"description\": \"size prop\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"disabled prop\"\n },\n \"onClick\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"onClick prop\"\n },\n \"icon\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"icon prop\"\n },\n \"iconPosition\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"iconPosition prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"custom-pattern\": {\n \"type\": \"custom-pattern\",\n \"category\": \"display\",\n \"description\": \"CustomPattern Component Renders freeform HTML elements with Tailwind classes for custom UI designs. Supports nested children and the closed circuit pattern (action prop for events).\",\n \"suggestedFor\": [\n \"custom\",\n \"pattern\",\n \"custom pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"component\": {\n \"types\": [\n \"allowedcustomcomponent\"\n ],\n \"description\": \"Element type to render\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tailwind classes\"\n },\n \"token\": {\n \"types\": [\n \"string\",\n \"array\"\n ],\n \"description\": \"Token path(s) for design token resolution\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text content (for leaf elements)\"\n },\n \"action\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on click (REQUIRED for interactive elements)\"\n },\n \"payload\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Event payload\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Nested children patterns\"\n },\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image source (for img elements)\"\n },\n \"alt\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Image alt text (for img elements)\"\n },\n \"href\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Link href (for a elements)\"\n },\n \"external\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Open link in new tab\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disabled state\"\n },\n \"htmlProps\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Additional HTML attributes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\"\n }\n }\n },\n \"drawer-slot\": {\n \"type\": \"drawer-slot\",\n \"category\": \"layout\",\n \"description\": \"DrawerSlot Component Wraps drawer slot content in a proper Drawer component. Used by trait-driven pages to display drawer UI from render_ui effects. Handles: - Auto-open when content is present - Dispatches CLOSE/CANCEL events when closed - Extracts title from Form or DetailPanel components - Configurable position and size\",\n \"suggestedFor\": [\n \"drawer\",\n \"slot\",\n \"drawer slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the drawer\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Override drawer title (extracted from children if not provided)\"\n },\n \"position\": {\n \"types\": [\n \"drawerposition\"\n ],\n \"description\": \"Drawer position\"\n },\n \"size\": {\n \"types\": [\n \"drawersize\"\n ],\n \"description\": \"Drawer size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"header\": {\n \"type\": \"header\",\n \"category\": \"header\",\n \"description\": \"Header Organism Component A header component for mobile/responsive layouts with menu toggle, brand, and user avatar. Styled to match the main Layout component's mobile header.\",\n \"suggestedFor\": [\n \"header\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo/Brand content\"\n },\n \"logoSrc\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image source\"\n },\n \"brandName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Brand/App name\"\n },\n \"navigationItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items (for desktop header variant)\"\n },\n \"showMenuToggle\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show menu toggle button @default true\"\n },\n \"isMenuOpen\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Is menu open (for toggle icon)\"\n },\n \"onMenuToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Menu toggle callback\"\n },\n \"showSearch\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show search input @default false\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"onSearch\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Search callback\"\n },\n \"userAvatar\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"User avatar configuration\"\n },\n \"userName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"User name (display name or email)\"\n },\n \"onUserClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when user avatar is clicked\"\n },\n \"actions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Action buttons (right side)\"\n },\n \"sticky\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Sticky header @default true\"\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Variant - mobile shows menu toggle, desktop shows full nav @default 'mobile'\"\n },\n \"onLogoClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when logo/brand is clicked\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator (closed circuit)\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state (closed circuit)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch (closed circuit)\"\n }\n }\n },\n \"layout-pattern\": {\n \"type\": \"layout-pattern\",\n \"category\": \"layout\",\n \"description\": \"Base props for all layout patterns with children support.\",\n \"suggestedFor\": [\n \"layout\",\n \"pattern\",\n \"layout pattern\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Nested pattern configurations - rendered recursively\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline styles\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\"\n }\n }\n },\n \"modal-slot\": {\n \"type\": \"modal-slot\",\n \"category\": \"layout\",\n \"description\": \"ModalSlot Component Wraps modal slot content in a proper Modal component. Used by trait-driven pages to display modal UI from render_ui effects. Handles: - Auto-open when content is present - Dispatches CLOSE/CANCEL events when closed - Extracts title from Form components\",\n \"suggestedFor\": [\n \"modal\",\n \"slot\",\n \"modal slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the modal\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Override modal title (extracted from children if not provided)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Modal size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"navigation\": {\n \"type\": \"navigation\",\n \"category\": \"navigation\",\n \"description\": \"Navigation Organism Component A navigation component with items, active indicators, icons, and badges. Uses Menu, ButtonGroup molecules and Button, Icon, Badge, Typography, Divider atoms.\",\n \"suggestedFor\": [\n \"navigation\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\",\n \"required\": true\n },\n \"orientation\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Navigation orientation @default 'horizontal'\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"orbital-visualization\": {\n \"type\": \"orbital-visualization\",\n \"category\": \"display\",\n \"description\": \"OrbitalVisualization Component Visualizes KFlow schemas as atomic orbitals based on complexity. Uses CSS 3D transforms for lightweight rendering without Three.js. Orbital Types (based on complexity score): - 1s (1-3): Simple sphere - Red - 2s (4-8): Larger sphere - Orange - 2p (9-15): Dumbbell shape - Yellow - 3s (16-25): Sphere with node - Green - 3p (26-40): Complex dumbbell - Blue - 3d (41-60): Cloverleaf - Indigo - 4f (61+): Multi-lobe - Violet\",\n \"suggestedFor\": [\n \"orbital\",\n \"visualization\",\n \"orbital visualization\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"schema\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Full KFlow schema object\"\n },\n \"complexity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Direct complexity override (1-100+)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size of the visualization\"\n },\n \"showLabel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show complexity label\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Animation enabled\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"section\": {\n \"type\": \"section\",\n \"category\": \"display\",\n \"description\": \"Section Component A semantic section wrapper with optional title, description, and action. Perfect for grouping related content with consistent spacing.\",\n \"suggestedFor\": [\n \"section\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section title\"\n },\n \"description\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Section subtitle/description\"\n },\n \"action\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Action element (e.g., button, link)\"\n },\n \"padding\": {\n \"types\": [\n \"sectionpadding\"\n ],\n \"description\": \"Padding amount\"\n },\n \"variant\": {\n \"types\": [\n \"sectionvariant\"\n ],\n \"description\": \"Visual variant\"\n },\n \"divider\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show divider below header\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\",\n \"required\": true\n },\n \"headerClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Header custom class name\"\n },\n \"contentClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Content custom class name\"\n },\n \"as\": {\n \"types\": [\n \"react.elementtype\"\n ],\n \"description\": \"HTML element to render as\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"sidebar\": {\n \"type\": \"sidebar\",\n \"category\": \"navigation\",\n \"description\": \"Sidebar Organism Component A sidebar component with logo, navigation items, user section, and collapse/expand. Styled to match the main Layout component with theme-aware CSS variables.\",\n \"suggestedFor\": [\n \"sidebar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo/Brand content - can be a ReactNode or logo config\"\n },\n \"logoSrc\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Logo image source\"\n },\n \"brandName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Brand/App name\"\n },\n \"items\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\",\n \"required\": true\n },\n \"userSection\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"User section content\"\n },\n \"footerContent\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content (e.g., theme toggle)\"\n },\n \"collapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Collapsed state (controlled)\"\n },\n \"defaultCollapsed\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Default collapsed state\"\n },\n \"collapseChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when collapse state changes, payload: { collapsed: boolean }\"\n },\n \"hideCollapseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Hide the collapse/expand button\"\n },\n \"showCloseButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show a close button (for mobile)\"\n },\n \"closeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when close button is clicked\"\n },\n \"logoClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event emitted when logo/brand is clicked\"\n }\n }\n },\n \"split\": {\n \"type\": \"split\",\n \"category\": \"layout\",\n \"description\": \"Split Component A two-column layout with configurable ratios. Perfect for sidebar/content layouts or side-by-side comparisons.\",\n \"suggestedFor\": [\n \"split\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"ratio\": {\n \"types\": [\n \"splitratio\"\n ],\n \"description\": \"Size ratio between left and right panels\"\n },\n \"gap\": {\n \"types\": [\n \"splitgap\"\n ],\n \"description\": \"Gap between panels\"\n },\n \"reverse\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Reverse the order (right first)\"\n },\n \"stackOnMobile\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Stack vertically on mobile\"\n },\n \"stackBreakpoint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Breakpoint to switch from stacked to side-by-side\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Align items vertically\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"leftClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Left/first panel class name\"\n },\n \"rightClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Right/second panel class name\"\n },\n \"children\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Exactly two children: [left, right]\",\n \"required\": true\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"table\": {\n \"type\": \"table\",\n \"category\": \"display\",\n \"description\": \"Table Organism Component A table component with header row, data rows, pagination, sorting, and filters. Uses Pagination, SearchInput, ButtonGroup, Card, Menu molecules and Button, Icon, Checkbox, Typography, Badge, Divider atoms.\",\n \"suggestedFor\": [\n \"table\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"sortdirection\"\n ],\n \"description\": \"Current sort direction (display hint)\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"columns\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Table columns\",\n \"required\": true\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable row selection @default false\"\n },\n \"sortable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable sorting @default false\"\n },\n \"sortColumn\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort column (display hint, mapped from sortBy)\"\n },\n \"searchable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable search/filter @default false\"\n },\n \"searchPlaceholder\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Search placeholder\"\n },\n \"paginated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable pagination @default false\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (display hint)\"\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total pages (display hint)\"\n },\n \"rowActions\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Row actions menu items\"\n },\n \"emptyMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Empty state message\"\n },\n \"loading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state @default false\"\n }\n }\n },\n \"toast-slot\": {\n \"type\": \"toast-slot\",\n \"category\": \"layout\",\n \"description\": \"ToastSlot Component Wraps toast slot content in a proper Toast component with positioning. Used by trait-driven pages to display toast UI from render_ui effects. Handles: - Auto-show when content is present - Dispatches DISMISS event when dismissed - Fixed positioning in corner of screen\",\n \"suggestedFor\": [\n \"toast\",\n \"slot\",\n \"toast slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to display in the toast (message or ReactNode)\"\n },\n \"variant\": {\n \"types\": [\n \"toastvariant\"\n ],\n \"description\": \"Toast variant\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Toast title\"\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Auto-dismiss duration in ms (0 = no auto-dismiss)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom class name\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"u-i-slot-renderer\": {\n \"type\": \"u-i-slot-renderer\",\n \"category\": \"layout\",\n \"description\": \"UISlotRenderer Component Renders all UI slots. This is the central component that displays content rendered by traits via render_ui effects. Slots are rendered as: - Layout slots: Inline in the page flow (main, sidebar) - Portal slots: Rendered via portals (modal, drawer, toast, etc.) - HUD slots: Fixed position overlays (hud-top, hud-bottom)\",\n \"suggestedFor\": [\n \"slot\",\n \"renderer\",\n \"u i slot renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"includeHud\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Include HUD slots\"\n },\n \"includeFloating\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Include floating slot\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name for the container\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"suspense\": {\n \"types\": [\n \"boolean\",\n \"suspenseconfig\"\n ],\n \"description\": \"Enable Suspense boundaries around each slot. When true, each inline slot is wrapped in `<ErrorBoundary><Suspense>` with Skeleton fallbacks. Opt-in — existing isLoading prop pattern still works.\"\n }\n }\n },\n \"split-pane\": {\n \"type\": \"split-pane\",\n \"category\": \"layout\",\n \"description\": \"SplitPane Component Two-pane resizable split layout for master-detail views, dual-pane editors, and code + preview layouts. Uses wireframe theme styling (high contrast, sharp edges).\",\n \"suggestedFor\": [\n \"split\",\n \"pane\",\n \"split pane\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Direction of the split\"\n },\n \"ratio\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Initial ratio (0-100, percentage of first pane)\"\n },\n \"minSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum size of either pane in pixels\"\n },\n \"resizable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow user resizing\"\n },\n \"left\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content for the left/top pane\",\n \"required\": true\n },\n \"right\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content for the right/bottom pane\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"leftClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for left/top pane\"\n },\n \"rightClassName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Class for right/bottom pane\"\n }\n }\n },\n \"tabbed-container\": {\n \"type\": \"tabbed-container\",\n \"category\": \"navigation\",\n \"description\": \"TabbedContainer Component Tabbed content areas with shared header/context. Wraps the Tabs molecule with layout-specific styling. Uses wireframe theme styling (high contrast, sharp edges).\",\n \"suggestedFor\": [\n \"tabbed\",\n \"container\",\n \"tabbed container\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"tabs\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Tab definitions\",\n \"required\": true\n },\n \"defaultTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Default active tab ID\"\n },\n \"activeTab\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Controlled active tab\"\n },\n \"onTabChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when tab changes\"\n },\n \"position\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Tab position\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"auth-layout\": {\n \"type\": \"auth-layout\",\n \"category\": \"template\",\n \"description\": \"AuthLayout component\",\n \"suggestedFor\": [\n \"auth\",\n \"layout\",\n \"auth layout\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"App name\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo component or URL\"\n },\n \"backgroundImage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image URL\"\n },\n \"showBranding\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show branding panel on the side\"\n },\n \"brandingContent\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Branding panel content\"\n }\n }\n },\n \"counter-template\": {\n \"type\": \"counter-template\",\n \"category\": \"template\",\n \"description\": \"CounterTemplate A presentational template for counter/incrementer features. Supports increment, decrement, and reset operations.\",\n \"suggestedFor\": [\n \"counter\",\n \"template\",\n \"counter template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"onIncrement\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when increment is clicked\"\n },\n \"onDecrement\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when decrement is clicked\"\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when reset is clicked\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title displayed above the counter\"\n },\n \"showReset\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show reset button\"\n },\n \"size\": {\n \"types\": [\n \"countersize\"\n ],\n \"description\": \"Counter display size\"\n },\n \"variant\": {\n \"types\": [\n \"countervariant\"\n ],\n \"description\": \"Template variant\"\n }\n }\n },\n \"dashboard-layout\": {\n \"type\": \"dashboard-layout\",\n \"category\": \"template\",\n \"description\": \"DashboardLayout component\",\n \"suggestedFor\": [\n \"dashboard\",\n \"layout\",\n \"dashboard layout\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"App name shown in sidebar\"\n },\n \"logo\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Logo component or URL\"\n },\n \"navItems\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Navigation items\"\n },\n \"user\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Current user info (optional - auto-populated from auth context if not provided)\"\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions (notifications, etc.)\"\n },\n \"showSearch\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show search in header\"\n },\n \"sidebarFooter\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom sidebar footer\"\n },\n \"onSignOut\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when user clicks sign out (optional - uses auth context signOut if not provided)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Page content rendered inside the main area\"\n }\n }\n },\n \"game-template\": {\n \"type\": \"game-template\",\n \"category\": \"template\",\n \"description\": \"GameTemplate A presentational template for game applications. Includes a main game canvas/area, HUD overlay, and an optional debug sidebar. **Atomic Design**: Composed using Box, Typography, and Layout molecules/atoms.\",\n \"suggestedFor\": [\n \"game\",\n \"template\",\n \"game template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title of the game\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"The main game canvas or content\",\n \"required\": true\n },\n \"hud\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"HUD overlay content (scores, health, etc.)\"\n },\n \"debugPanel\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Debug panel content\"\n },\n \"showDebugPanel\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the debug panel is visible\"\n },\n \"controls\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Game controls\"\n }\n }\n },\n \"generic-app-template\": {\n \"type\": \"generic-app-template\",\n \"category\": \"template\",\n \"description\": \"GenericAppTemplate A simple, generic template for any application. Includes a header with title and actions, and a main content area. **Atomic Design**: Composed using Box, Typography, and Button atoms.\",\n \"suggestedFor\": [\n \"generic\",\n \"app\",\n \"template\",\n \"generic app template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class name\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Page title\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Subtitle or description\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Main content\",\n \"required\": true\n },\n \"headerActions\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Header actions (buttons, links)\"\n },\n \"footer\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Footer content\"\n }\n }\n },\n \"game-shell\": {\n \"type\": \"game-shell\",\n \"category\": \"template\",\n \"description\": \"GameShell A full-screen layout wrapper for game applications. Replaces DashboardLayout for game clients — no sidebar nav, just full-viewport rendering with an optional HUD overlay bar. Used as a React Router layout route element: <Route element={<GameShell appName=\\\"TraitWars\\\" />}> <Route index element={<WorldMapPage />} /> ... </Route>\",\n \"suggestedFor\": [\n \"game\",\n \"shell\",\n \"game shell\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"appName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Application / game title shown in the HUD bar\"\n },\n \"hud\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Optional HUD content rendered above the main area\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Extra class name on the root container\"\n },\n \"showTopBar\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show the minimal top bar (default: true)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Game content rendered inside the full-screen area\"\n }\n }\n },\n \"chart\": {\n \"type\": \"chart\",\n \"category\": \"visualization\",\n \"description\": \"Data visualization chart supporting bar, line, pie, area, and donut types\",\n \"suggestedFor\": [\n \"dashboards\",\n \"analytics\",\n \"data visualization\",\n \"reporting\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Chart title\"\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Chart subtitle / description\"\n },\n \"chartType\": {\n \"types\": [\n \"charttype\"\n ],\n \"description\": \"Chart type\"\n },\n \"series\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Data series\"\n },\n \"data\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Simple data (single series shorthand)\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Chart height in px\"\n },\n \"showLegend\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show legend\"\n },\n \"showValues\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show values on chart\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions for chart interactions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"meter\": {\n \"type\": \"meter\",\n \"category\": \"visualization\",\n \"description\": \"Gauge/meter component for displaying a value within a range with thresholds\",\n \"suggestedFor\": [\n \"dashboards\",\n \"progress tracking\",\n \"credit/quota displays\",\n \"KPI indicators\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"value\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current value\",\n \"required\": true\n },\n \"min\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum value\"\n },\n \"max\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum value\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display label\"\n },\n \"unit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unit suffix (e.g., '%', 'MB', 'credits')\"\n },\n \"variant\": {\n \"types\": [\n \"metervariant\"\n ],\n \"description\": \"Display variant\"\n },\n \"thresholds\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Color thresholds\"\n },\n \"segments\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of segments (for segmented variant)\"\n },\n \"showValue\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show value text\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size (for radial variant)\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"timeline\": {\n \"type\": \"timeline\",\n \"category\": \"display\",\n \"description\": \"Vertical timeline for displaying chronological events with status indicators\",\n \"suggestedFor\": [\n \"activity logs\",\n \"process tracking\",\n \"history views\",\n \"workflow steps\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Timeline title\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Timeline items\"\n },\n \"fields\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Fields to display\"\n },\n \"itemActions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions per item\"\n }\n }\n },\n \"media-gallery\": {\n \"type\": \"media-gallery\",\n \"category\": \"media\",\n \"description\": \"Grid gallery for images and media with lightbox, selection, and upload\",\n \"suggestedFor\": [\n \"photo galleries\",\n \"image management\",\n \"media libraries\",\n \"portfolio displays\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Gallery title\"\n },\n \"items\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Media items\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Column count\"\n },\n \"selectable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable item selection\"\n },\n \"selectedItems\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Selected item IDs\"\n },\n \"selectionEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name emitted when selection changes (emitted as UI:{selectionEvent})\"\n },\n \"showUpload\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show upload button\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"aspectRatio\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Aspect ratio for thumbnails\"\n }\n }\n },\n \"signature-pad\": {\n \"type\": \"signature-pad\",\n \"category\": \"form\",\n \"description\": \"Canvas-based signature capture pad with draw, clear, and confirm actions\",\n \"suggestedFor\": [\n \"form signing\",\n \"approval workflows\",\n \"document signing\",\n \"consent forms\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label above the pad\"\n },\n \"helperText\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Helper text\"\n },\n \"strokeColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Stroke color\"\n },\n \"strokeWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Stroke width\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Pad height\"\n },\n \"readOnly\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the pad is read-only\"\n },\n \"value\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Existing signature image URL\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when signature changes\"\n },\n \"signEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on sign\"\n },\n \"clearEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event to emit on clear\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven context\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"document-viewer\": {\n \"type\": \"document-viewer\",\n \"category\": \"display\",\n \"description\": \"Document viewer for PDFs, text, HTML, and markdown with zoom and pagination\",\n \"suggestedFor\": [\n \"document management\",\n \"PDF viewing\",\n \"content preview\",\n \"report viewing\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document title\"\n },\n \"src\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document URL (for PDF/external documents)\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Document content (for text/html/markdown)\"\n },\n \"documentType\": {\n \"types\": [\n \"documenttype\"\n ],\n \"description\": \"Document type\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page (for multi-page documents)\"\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total pages\"\n },\n \"height\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Viewer height\"\n },\n \"showToolbar\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show toolbar\"\n },\n \"showDownload\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show download button\"\n },\n \"showPrint\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show print button\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"documents\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Multiple documents (tabbed view)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"graph-canvas\": {\n \"type\": \"graph-canvas\",\n \"category\": \"visualization\",\n \"description\": \"Force-directed graph visualization for node-link data with interactive zoom, pan, and layout\",\n \"suggestedFor\": [\n \"knowledge graphs\",\n \"network visualization\",\n \"relationship mapping\",\n \"dependency graphs\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Graph title\"\n },\n \"nodes\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Graph nodes\"\n },\n \"edges\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Graph edges\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas height\"\n },\n \"showLabels\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show node labels\"\n },\n \"interactive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable zoom/pan\"\n },\n \"draggable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable node dragging\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"onNodeClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"On node click\"\n },\n \"nodeClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Node click event\"\n },\n \"layout\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Layout algorithm\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"code-viewer\": {\n \"type\": \"code-viewer\",\n \"category\": \"display\",\n \"description\": \"Code and diff viewer with line numbers, copy, word-wrap, and multi-file tabs\",\n \"suggestedFor\": [\n \"code display\",\n \"diff viewing\",\n \"schema inspection\",\n \"log viewing\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Viewer title\"\n },\n \"code\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Code content\"\n },\n \"language\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Language for display label\"\n },\n \"diff\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Diff lines (for diff mode)\"\n },\n \"oldValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Old value (for generating diff)\"\n },\n \"newValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"New value (for generating diff)\"\n },\n \"mode\": {\n \"types\": [\n \"codeviewermode\"\n ],\n \"description\": \"Display mode\"\n },\n \"showLineNumbers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show line numbers\"\n },\n \"showCopy\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show copy button\"\n },\n \"wordWrap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable word wrap\"\n },\n \"maxHeight\": {\n \"types\": [\n \"number\",\n \"string\"\n ],\n \"description\": \"Max height before scrolling\"\n },\n \"files\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Multiple files (tabbed view)\"\n },\n \"actions\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Actions\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"canvas-effect\": {\n \"type\": \"canvas-effect\",\n \"category\": \"game\",\n \"description\": \"CanvasEffect Component Renders animated visual effects as DOM overlays on the canvas. Maps combat action types to particle/flash effects that play at a specified position and auto-dismiss. Pattern: canvas-effect\",\n \"suggestedFor\": [\n \"canvas\",\n \"effect\",\n \"canvas effect\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"actionType\": {\n \"types\": [\n \"combatactiontype\"\n ],\n \"description\": \"The type of combat action to visualise\",\n \"required\": true\n },\n \"x\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Screen-space X position (center of the effect)\",\n \"required\": true\n },\n \"y\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Screen-space Y position (center of the effect)\",\n \"required\": true\n },\n \"duration\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Duration in ms before auto-dismiss (default 2000 for canvas, 800 for emoji)\"\n },\n \"intensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Optional intensity multiplier (1 = normal, 2 = double size/brightness)\"\n },\n \"onComplete\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when the effect animation completes\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{completeEvent} when the effect animation completes\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"effectSpriteUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Remote asset loading ---\"\n },\n \"assetBaseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base URL for remote assets. Prepended to relative effectSpriteUrl paths.\"\n },\n \"assetManifest\": {\n \"types\": [\n \"effectassetmanifest\"\n ],\n \"description\": \"Full effect asset manifest for the sprite particle engine. When provided, enables the canvas-based particle system.\"\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas width (default 400)\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas height (default 300)\"\n }\n }\n },\n \"isometric-canvas\": {\n \"type\": \"isometric-canvas\",\n \"category\": \"game\",\n \"description\": \"IsometricCanvas Core isometric game renderer. Maps to the `game-canvas` pattern. Adapted from projects/trait-wars/design-system/organisms/IsometricGameCanvas.tsx with full closed-circuit pattern compliance (className, isLoading, error, entity). Architecture: - 2:1 diamond isometric projection - Painter's algorithm (tile → feature → unit depth sort) - Camera pan/zoom with lerp - Off-screen culling - Minimap on separate canvas - Sprite sheet animation via resolveUnitFrame - Event bus–friendly handlers (onTileClick, onUnitClick, etc.)\",\n \"suggestedFor\": [\n \"isometric\",\n \"canvas\",\n \"isometric canvas\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"EntityDisplayProps provides: className, isLoading, error, entity,\"\n },\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units on the board\"\n },\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features (resources, portals, buildings, etc.)\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Interaction state ---\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions (shown as pulsing green highlights)\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions (shown as pulsing red highlights)\"\n },\n \"hoveredTile\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Hovered tile position\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"--- Event handlers (legacy callbacks — prefer declarative event string props below) ---\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"eslint-disable-next-line almadar/organism-no-callback-props\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"eslint-disable-next-line almadar/organism-no-callback-props\"\n },\n \"onTileLeave\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"eslint-disable-next-line almadar/organism-no-callback-props\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Declarative event props ---\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{unitClickEvent} with { unitId } on unit click\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{tileHoverEvent} with { x, y } on tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: emits UI:{tileLeaveEvent} with {} on tile leave\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"--- Rendering options ---\"\n },\n \"debug\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show debug grid lines and coordinates\"\n },\n \"backgroundImage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background image URL tiled behind the isometric grid\"\n },\n \"showMinimap\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Toggle minimap overlay\"\n },\n \"enableCamera\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable camera pan/zoom controls\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Extra scale multiplier for unit draw size. 1 = default.\"\n },\n \"boardWidth\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Board width in tiles (overrides tile-derived size)\"\n },\n \"boardHeight\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Board height in tiles (overrides tile-derived size)\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Override for the diamond-top Y offset within the tile sprite (default: 374). This controls where the flat diamond face sits vertically inside the tile image.\"\n },\n \"getTerrainSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"--- Asset resolution (project-agnostic) ---\"\n },\n \"getFeatureSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve feature sprite URL from feature type key\"\n },\n \"getUnitSprite\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve unit static sprite URL\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Resolve animated sprite sheet frame for a unit\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Additional sprite URLs to preload (e.g., effect sprites)\"\n },\n \"onDrawEffects\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback to draw canvas effects after units (canvas-specific: cannot be declarative)\"\n },\n \"hasActiveEffects\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether there are active effects — keeps RAF loop alive\"\n },\n \"assetBaseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Remote asset loading ---\"\n },\n \"assetManifest\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Manifest mapping entity keys to relative sprite paths. Combined with assetBaseUrl to produce full URLs. Used as a fallback when inline URLs and callbacks don't resolve.\"\n }\n }\n },\n \"battle-template\": {\n \"type\": \"battle-template\",\n \"category\": \"template\",\n \"description\": \"BattleTemplate Generalized tactical battle template composing IsometricCanvas from almadar-ui. Provides turn-based phase management, movement animation, valid-move/attack-target calculation, screen shake/flash, and a game-over overlay. Game-specific UI (combat log, trait viewer, damage popups, etc.) is injected via render-prop slots so this template remains project-agnostic.\",\n \"suggestedFor\": [\n \"battle\",\n \"template\",\n \"battle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n }\n }\n },\n \"castle-template\": {\n \"type\": \"castle-template\",\n \"category\": \"template\",\n \"description\": \"CastleTemplate Generalized castle / base-management template composing IsometricCanvas from almadar-ui. Renders an isometric courtyard/base view and exposes a side-panel area via slots for game-specific UI (building details, recruitment, garrison).\",\n \"suggestedFor\": [\n \"castle\",\n \"template\",\n \"castle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n }\n }\n },\n \"world-map-template\": {\n \"type\": \"world-map-template\",\n \"category\": \"template\",\n \"description\": \"WorldMapTemplate Generalized strategic world-map template composing IsometricCanvas from almadar-ui. Renders an isometric hex/iso map with hero selection, movement animation, and encounter callbacks. Game-specific panels (hero detail, hero lists, resource bars) are injected via render-prop slots.\",\n \"suggestedFor\": [\n \"world\",\n \"map\",\n \"template\",\n \"world map template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Override for the diamond-top Y offset within tile sprites (default: 374).\"\n },\n \"allowMoveAllHeroes\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow selecting / moving ALL heroes (including enemy). For testing.\"\n }\n }\n },\n \"battle-board\": {\n \"type\": \"battle-board\",\n \"category\": \"game\",\n \"description\": \"BattleBoard Core game-logic organism extracted from BattleTemplate. Handles turn-based phase management, movement animation, valid-move/attack-target calculation, screen shake/flash, and game-over detection. Accepts a single `entity` prop (BattleEntity) containing all board data, plus optional render-prop slots, callback overrides, and declarative event props that emit via `useEventBus()`.\",\n \"suggestedFor\": [\n \"battle\",\n \"board\",\n \"battle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"battleentity\"\n ],\n \"description\": \"Entity containing all board data\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Slots --\"\n },\n \"sidebar\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Sidebar content (combat log, unit roster, etc.)\"\n },\n \"actions\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Floating action buttons\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Floating overlays above the canvas (damage popups, tooltips)\"\n },\n \"gameOverOverlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Game-over screen overlay\"\n },\n \"onAttack\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onGameEnd\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when battle ends\"\n },\n \"onUnitMove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called after a unit moves\"\n },\n \"calculateDamage\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom combat damage calculator\"\n },\n \"onDrawEffects\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Canvas pass-through --\"\n },\n \"hasActiveEffects\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"hasActiveEffects prop\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"effectSpriteUrls prop\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"resolveUnitFrame prop\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{unitClickEvent} with { unitId } on unit click\"\n },\n \"endTurnEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{endTurnEvent} with {} on end turn\"\n },\n \"cancelEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{cancelEvent} with {} on cancel\"\n },\n \"gameEndEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{gameEndEvent} with { result } on game end\"\n },\n \"playAgainEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playAgainEvent} with {} on play again / reset\"\n },\n \"attackEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{attackEvent} with { attackerId, targetId, damage } on attack\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"castle-board\": {\n \"type\": \"castle-board\",\n \"category\": \"game\",\n \"description\": \"CastleBoard Self-contained castle / base-management game board organism. Encapsulates all isometric canvas rendering, hover/selection state, and slot-based layout. Designed to be consumed by CastleTemplate (thin wrapper) or embedded directly in any page that needs an isometric castle view. Accepts an `entity` prop conforming to `CastleEntity` and optional declarative event props (`featureClickEvent`, `unitClickEvent`, `tileClickEvent`) that emit through the Orbital event bus.\",\n \"suggestedFor\": [\n \"castle\",\n \"board\",\n \"castle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"castleentity\"\n ],\n \"description\": \"Castle entity data\",\n \"required\": true\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Render-prop slots --\"\n },\n \"sidePanel\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Side panel content (buildings list, recruit tab, garrison tab)\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Canvas overlay (hover tooltips, etc.)\"\n },\n \"footer\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Bottom bar (income summary, etc.)\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callback overrides --\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a unit is clicked\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when any tile is clicked\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to emit via event bus when a unit is clicked (emits UI:{unitClickEvent})\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name to emit via event bus when a tile is clicked (emits UI:{tileClickEvent})\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"game-canvas3-d\": {\n \"type\": \"game-canvas3-d\",\n \"category\": \"game\",\n \"description\": \"Props for GameCanvas3D component\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"game canvas3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"--- Closed-circuit props (MANDATORY) ---\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render inside the 3D canvas (e.g., physics objects, custom meshes)\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of tiles to render\"\n },\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units to render\"\n },\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\"\n },\n \"events\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of events to display\"\n },\n \"fogOfWar\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Fog of war data\"\n },\n \"orientation\": {\n \"types\": [\n \"maporientation\"\n ],\n \"description\": \"Map orientation\"\n },\n \"cameraMode\": {\n \"types\": [\n \"cameramode\"\n ],\n \"description\": \"Camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid\"\n },\n \"showCoordinates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show coordinates overlay\"\n },\n \"showTileInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tile information\"\n },\n \"overlay\": {\n \"types\": [\n \"overlaycontrol\"\n ],\n \"description\": \"Overlay control mode\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a tile is clicked\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a unit is clicked\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when a feature is clicked\"\n },\n \"onCanvasClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when canvas is clicked (background)\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback when mouse moves over a tile\"\n },\n \"onUnitAnimation\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Callback for unit animation state change\"\n },\n \"assetLoader\": {\n \"types\": [\n \"assetloader\"\n ],\n \"description\": \"Asset loader instance (uses global singleton if not provided)\"\n },\n \"tileRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom tile renderer component\"\n },\n \"unitRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom unit renderer component\"\n },\n \"featureRenderer\": {\n \"types\": [\n \"react.fc\"\n ],\n \"description\": \"Custom feature renderer component\"\n },\n \"preloadAssets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"URLs to preload\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile click\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: unit click\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: feature click\"\n },\n \"canvasClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: canvas click\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: tile leave\"\n },\n \"unitAnimationEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: unit animation\"\n },\n \"cameraChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Declarative event: camera change\"\n },\n \"loadingMessage\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Loading message\"\n },\n \"useInstancing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to use instancing for tiles\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected tile IDs\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Selected unit ID\"\n }\n }\n },\n \"world-map-board\": {\n \"type\": \"world-map-board\",\n \"category\": \"game\",\n \"description\": \"WorldMapBoard Organism that contains ALL game logic for the strategic world-map view. Renders an isometric hex/iso map with hero selection, movement animation, and encounter callbacks. Game-specific panels (hero detail, hero lists, resource bars) are injected via render-prop slots. This component is the logic-heavy core; WorldMapTemplate is a thin layout wrapper that delegates to WorldMapBoard.\",\n \"suggestedFor\": [\n \"world\",\n \"map\",\n \"board\",\n \"world map board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"scale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Canvas render scale\"\n },\n \"unitScale\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Unit draw-size multiplier\"\n },\n \"allowMoveAllHeroes\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Allow selecting / moving ALL heroes (including enemy). For testing.\"\n },\n \"isInRange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom movement range validator\"\n },\n \"heroSelectEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative event props --\"\n },\n \"heroMoveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{heroMoveEvent} with { heroId, toX, toY }\"\n },\n \"battleEncounterEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{battleEncounterEvent} with { attackerId, defenderId }\"\n },\n \"featureEnterEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{featureEnterEvent} with { heroId, feature, hex }\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{tileClickEvent} with { x, y }\"\n },\n \"header\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Slots --\"\n },\n \"sidePanel\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Side panel (hero detail, hero lists, etc.)\"\n },\n \"overlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Canvas overlay (tooltips, popups)\"\n },\n \"footer\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Footer\"\n },\n \"onHeroSelect\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onHeroMove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onHeroMove prop\"\n },\n \"onBattleEncounter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when hero clicks an enemy hero tile\"\n },\n \"onFeatureEnter\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when hero enters a feature hex (castle, resource, etc.)\"\n },\n \"diamondTopY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"-- Canvas pass-through --\"\n },\n \"enableCamera\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Disable pan/zoom camera (default: true). Set false for fixed maps where overlay labels need stable positions.\"\n },\n \"effectSpriteUrls\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"effectSpriteUrls prop\"\n },\n \"resolveUnitFrame\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"resolveUnitFrame prop\"\n }\n }\n },\n \"collapsible-section\": {\n \"type\": \"collapsible-section\",\n \"category\": \"display\",\n \"description\": \"Shared Map Editor Utilities Reusable editor components for Storybook-based map editing. All composed from @almadar/ui atoms (Box, VStack, HStack, Typography, Button, Badge). NOTE: These are Storybook editor controls, NOT Orbital templates. They use native HTML inputs wrapped in Box for lightweight editor UX.\",\n \"suggestedFor\": [\n \"collapsible\",\n \"section\",\n \"collapsible section\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\",\n \"required\": true\n },\n \"expanded\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"expanded prop\",\n \"required\": true\n },\n \"onToggle\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onToggle prop\",\n \"required\": true\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"camera3-d\": {\n \"type\": \"camera3-d\",\n \"category\": \"display\",\n \"description\": \"Camera3D Three.js camera component with orbit controls. Supports isometric, perspective, and top-down camera modes.\",\n \"suggestedFor\": [\n \"camera3\",\n \"camera3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"mode\": {\n \"types\": [\n \"cameramode\"\n ],\n \"description\": \"Camera mode\"\n },\n \"position\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial camera position\"\n },\n \"target\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Target to look at\"\n },\n \"zoom\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Zoom level\"\n },\n \"fov\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Field of view (perspective mode only)\"\n },\n \"enableOrbit\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable orbit controls\"\n },\n \"minDistance\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Minimum zoom distance\"\n },\n \"maxDistance\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Maximum zoom distance\"\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when camera changes\"\n }\n }\n },\n \"lighting3-d\": {\n \"type\": \"lighting3-d\",\n \"category\": \"display\",\n \"description\": \"Lighting3D Default lighting setup for 3D game scenes. Includes ambient, directional, and optional point lights.\",\n \"suggestedFor\": [\n \"lighting3\",\n \"lighting3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"ambientIntensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Ambient light intensity\"\n },\n \"ambientColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Ambient light color\"\n },\n \"directionalIntensity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Directional light intensity\"\n },\n \"directionalColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Directional light color\"\n },\n \"directionalPosition\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Directional light position\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"shadowMapSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Shadow map size\"\n },\n \"shadowCameraSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Shadow camera size\"\n },\n \"showHelpers\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show helper for directional light\"\n }\n }\n },\n \"scene3-d\": {\n \"type\": \"scene3-d\",\n \"category\": \"display\",\n \"description\": \"Scene3D Three.js scene wrapper component for React Three Fiber. Manages the scene environment, fog, and background.\",\n \"suggestedFor\": [\n \"scene3\",\n \"scene3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"background\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color or URL\"\n },\n \"fog\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Fog configuration\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render in scene\"\n }\n }\n },\n \"canvas3-d-error-boundary\": {\n \"type\": \"canvas3-d-error-boundary\",\n \"category\": \"state\",\n \"description\": \"Canvas3DErrorBoundary Error boundary for 3D canvas components. Catches Three.js and React Three Fiber errors gracefully.\",\n \"suggestedFor\": [\n \"canvas3\",\n \"error\",\n \"boundary\",\n \"canvas3 d error boundary\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Child components\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Custom fallback component\"\n },\n \"onError\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Error callback\"\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Reset callback\"\n }\n }\n },\n \"canvas3-d-loading-state\": {\n \"type\": \"canvas3-d-loading-state\",\n \"category\": \"display\",\n \"description\": \"Canvas3DLoadingState Loading state component for 3D canvas with progress indicator. Displays asset loading progress and estimated time remaining.\",\n \"suggestedFor\": [\n \"canvas3\",\n \"loading\",\n \"state\",\n \"canvas3 d loading state\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"progress\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current loading progress (0-100)\"\n },\n \"loaded\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of assets loaded\"\n },\n \"total\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total assets to load\"\n },\n \"message\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Loading message\"\n },\n \"details\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Secondary details message\"\n },\n \"showSpinner\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show spinner\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Custom className\"\n }\n }\n },\n \"model-loader\": {\n \"type\": \"model-loader\",\n \"category\": \"display\",\n \"description\": \"ModelLoader Component React Three Fiber component for loading and displaying GLB/GLTF models from URLs. Handles loading states and errors without requiring React Suspense.\",\n \"suggestedFor\": [\n \"model\",\n \"loader\",\n \"model loader\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"url\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"URL to the GLB/GLTF model\",\n \"required\": true\n },\n \"position\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Position [x, y, z]\"\n },\n \"scale\": {\n \"types\": [\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Scale - either a single number or [x, y, z]\"\n },\n \"rotation\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Rotation in degrees [x, y, z]\"\n },\n \"isSelected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the model is selected\"\n },\n \"isHovered\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the model is hovered\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"onHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Hover handler\"\n },\n \"fallbackGeometry\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Fallback geometry type\"\n },\n \"castShadow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"receiveShadow\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Receive shadows\"\n },\n \"resourceBasePath\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base path for shared resources (textures, materials). If not provided, auto-detected from the URL by looking for a `/3d/` segment. E.g. \\\"https://host/3d/\\\" so that \\\"Textures/colormap.png\\\" resolves correctly.\"\n }\n }\n },\n \"physics-object3-d\": {\n \"type\": \"physics-object3-d\",\n \"category\": \"display\",\n \"description\": \"PhysicsObject3D Component Three.js component that syncs a 3D object's position with physics state. Use this to render physics-enabled entities in GameCanvas3D. ```tsx <PhysicsObject3D entityId=\\\"player-1\\\" modelUrl=\\\"https://trait-wars-assets.web.app/3d/medieval/props/barrels.glb\\\" initialPosition={[0, 10, 0]} mass={1} /> ```\",\n \"suggestedFor\": [\n \"physics\",\n \"object3\",\n \"physics object3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entityId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Unique entity ID\",\n \"required\": true\n },\n \"modelUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"GLB model URL\",\n \"required\": true\n },\n \"initialPosition\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial position [x, y, z]\"\n },\n \"initialVelocity\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Initial velocity [vx, vy, vz]\"\n },\n \"mass\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Mass for collision response\"\n },\n \"gravity\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Gravity force (default: 9.8)\"\n },\n \"groundY\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Ground plane Y position (default: 0)\"\n },\n \"scale\": {\n \"types\": [\n \"number\",\n \"unknown\"\n ],\n \"description\": \"Model scale\"\n },\n \"onPhysicsUpdate\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when physics state updates\"\n },\n \"onGroundHit\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when object hits ground\"\n },\n \"onCollision\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when collision occurs\"\n }\n }\n },\n \"feature-renderer\": {\n \"type\": \"feature-renderer\",\n \"category\": \"display\",\n \"description\": \"FeatureRenderer Renders static features (trees, rocks, buildings) in the 3D scene. Supports different feature types and selection states.\",\n \"suggestedFor\": [\n \"feature\",\n \"renderer\",\n \"feature renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is clicked\"\n },\n \"onFeatureHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is hovered\"\n },\n \"selectedFeatureIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected feature IDs\"\n },\n \"featureColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Feature color overrides\"\n }\n }\n },\n \"feature-renderer3-d\": {\n \"type\": \"feature-renderer3-d\",\n \"category\": \"display\",\n \"description\": \"FeatureRenderer3D Renders 3D features with GLB model loading from CDN. Supports assetUrl property on features for external model loading.\",\n \"suggestedFor\": [\n \"feature\",\n \"renderer3\",\n \"feature renderer3 d\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"features\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of features to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"onFeatureClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is clicked\"\n },\n \"onFeatureHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when feature is hovered\"\n },\n \"selectedFeatureIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected feature IDs\"\n }\n }\n },\n \"tile-renderer\": {\n \"type\": \"tile-renderer\",\n \"category\": \"game\",\n \"description\": \"TileRenderer Renders isometric tiles using Three.js InstancedMesh for performance. Supports texture mapping and custom tile geometries.\",\n \"suggestedFor\": [\n \"tile\",\n \"renderer\",\n \"tile renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"tiles\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of tiles to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"useInstancing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Use instancing for performance\"\n },\n \"terrainColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Terrain color mapping\"\n },\n \"onTileClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when tile is clicked\"\n },\n \"onTileHover\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when tile is hovered\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Selected tile IDs\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move tile coordinates\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target coordinates\"\n }\n }\n },\n \"unit-renderer\": {\n \"type\": \"unit-renderer\",\n \"category\": \"display\",\n \"description\": \"UnitRenderer Renders animated units in the 3D scene. Supports skeletal animations, health bars, and selection indicators.\",\n \"suggestedFor\": [\n \"unit\",\n \"renderer\",\n \"unit renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"units\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Array of units to render\",\n \"required\": true\n },\n \"cellSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid cell size\"\n },\n \"offsetX\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset X\"\n },\n \"offsetZ\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Grid offset Z\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"onUnitClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when unit is clicked\"\n },\n \"onAnimationStateChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when unit animation state changes\"\n },\n \"animationSpeed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Animation speed multiplier\"\n }\n }\n },\n \"game-canvas3-d-battle-template\": {\n \"type\": \"game-canvas3-d-battle-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DBattleTemplate Pure declarative template wrapper for 3D battle scenes. Optimized for tactical combat view with turn indicators. Page: Battle3DPage Entity: Battle3D ViewType: detail Events Emitted: - TILE_SELECTED - When a tile is clicked - UNIT_SELECTED - When a unit is clicked - UNIT_ATTACK - When attacking a unit - UNIT_MOVE - When moving a unit - END_TURN - When ending turn - EXIT_BATTLE - When exiting battle\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"battle\",\n \"template\",\n \"game canvas3 d battle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode - defaults to perspective for dramatic effect\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color - darker for battle atmosphere\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"unitAttackEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit attack\"\n },\n \"unitMoveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit move\"\n },\n \"endTurnEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for ending turn\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for exiting battle\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid attack targets\"\n },\n \"showTurnIndicator\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show turn indicator overlay\"\n }\n }\n },\n \"game-canvas3-d-castle-template\": {\n \"type\": \"game-canvas3-d-castle-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DCastleTemplate Pure declarative template wrapper for 3D castle/settlement view. Shows castle layout with buildings and garrisoned units. Page: Castle3DPage, Settlement3DPage Entity: Castle3D, Settlement3D ViewType: detail Events Emitted: - BUILDING_SELECTED - When a building is clicked - UNIT_SELECTED - When a garrison unit is clicked - BUILD - When building/upgrading - RECRUIT - When recruiting units - EXIT - When exiting castle view\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"castle\",\n \"template\",\n \"game canvas3 d castle template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"buildingClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for building clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"buildEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for build action\"\n },\n \"recruitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for recruit action\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for exit\"\n },\n \"selectedBuildingId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected building ID\"\n },\n \"availableBuildSites\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available build positions\"\n },\n \"showHeader\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show castle name header\"\n },\n \"selectedTileIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Pre-computed selected tile IDs array\"\n }\n }\n },\n \"game-canvas3-d-world-map-template\": {\n \"type\": \"game-canvas3-d-world-map-template\",\n \"category\": \"template\",\n \"description\": \"GameCanvas3DWorldMapTemplate Pure declarative template wrapper for 3D world map. No hooks, no callbacks, no local state -- just entity data and config props. Page: WorldMap3DPage Entity: WorldMap3D ViewType: detail Events Emitted: - TILE_SELECTED - When a tile is clicked ({ tileId, x, z, type }) - UNIT_SELECTED - When a unit is clicked ({ unitId, x, z, name }) - FEATURE_SELECTED - When a feature is clicked ({ featureId, x, z, type }) - TILE_HOVERED - When hovering over a tile ({ tileId, x, z }) - TILE_LEAVE - When leaving a tile ({}) - CAMERA_CHANGED - When camera position changes ({ position })\",\n \"suggestedFor\": [\n \"game\",\n \"canvas3\",\n \"world\",\n \"map\",\n \"template\",\n \"game canvas3 d world map template\"\n ],\n \"typicalSize\": \"full\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Entity data, the sole source of runtime state\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"External styling override\"\n },\n \"cameraMode\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"3D camera mode\"\n },\n \"showGrid\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show grid helper\"\n },\n \"showCoordinates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show coordinate overlay\"\n },\n \"showTileInfo\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tile info on hover\"\n },\n \"shadows\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Enable shadows\"\n },\n \"backgroundColor\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Background color\"\n },\n \"tileClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile clicks\"\n },\n \"unitClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for unit clicks\"\n },\n \"featureClickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for feature clicks\"\n },\n \"tileHoverEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile hover\"\n },\n \"tileLeaveEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for tile leave\"\n },\n \"cameraChangeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event name for camera changes\"\n },\n \"exitEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Exit/back event name\"\n },\n \"selectedUnitId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Currently selected unit ID\"\n },\n \"validMoves\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Valid move positions for selected unit\"\n },\n \"attackTargets\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Attack target positions\"\n }\n }\n },\n \"state-indicator\": {\n \"type\": \"state-indicator\",\n \"category\": \"display\",\n \"description\": \"StateIndicator Component Displays a visual indicator for a game entity's current state. Generic — not tied to any specific game. Projects can extend the state styles via the `stateStyles` prop.\",\n \"suggestedFor\": [\n \"state\",\n \"indicator\",\n \"state indicator\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"state\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The current state name\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional label override (defaults to capitalized state name)\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"animated\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show pulse animation on non-idle states\"\n },\n \"stateStyles\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Custom state styles to extend/override defaults\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"error-boundary\": {\n \"type\": \"error-boundary\",\n \"category\": \"state\",\n \"description\": \"ErrorBoundary component\",\n \"suggestedFor\": [\n \"error\",\n \"boundary\",\n \"error boundary\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Content to render when no error\",\n \"required\": true\n },\n \"fallback\": {\n \"types\": [\n \"node\",\n \"function\"\n ],\n \"description\": \"Fallback UI when an error is caught — ReactNode or render function\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes for the wrapper\"\n },\n \"onError\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an error is caught (for logging/telemetry)\"\n }\n }\n },\n \"skeleton\": {\n \"type\": \"skeleton\",\n \"category\": \"component\",\n \"description\": \"Skeleton component\",\n \"suggestedFor\": [\n \"skeleton\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"skeletonvariant\"\n ],\n \"description\": \"The skeleton variant to render\"\n },\n \"rows\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of rows for table/text variants\"\n },\n \"columns\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of columns for table variant\"\n },\n \"fields\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of fields for form variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"game-audio-provider\": {\n \"type\": \"game-audio-provider\",\n \"category\": \"game\",\n \"description\": \"GameAudioProvider component\",\n \"suggestedFor\": [\n \"game\",\n \"audio\",\n \"provider\",\n \"game audio provider\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"manifest\": {\n \"types\": [\n \"audiomanifest\"\n ],\n \"description\": \"Sound manifest — keys mapped to SoundEntry definitions\",\n \"required\": true\n },\n \"baseUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Base URL prepended to all sound paths (default '')\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children to render\",\n \"required\": true\n },\n \"initialMuted\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Initial muted state\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Closed-circuit props (unused, accepted for runtime compatibility)\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"isLoading prop\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"error prop\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"entity prop\"\n }\n }\n },\n \"game-audio-toggle\": {\n \"type\": \"game-audio-toggle\",\n \"category\": \"game\",\n \"description\": \"GameAudioToggle component\",\n \"suggestedFor\": [\n \"game\",\n \"audio\",\n \"toggle\",\n \"game audio toggle\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Button size\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state (passed through)\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state (passed through)\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"trait-slot\": {\n \"type\": \"trait-slot\",\n \"category\": \"layout\",\n \"description\": \"TraitSlot component\",\n \"suggestedFor\": [\n \"trait\",\n \"slot\",\n \"trait slot\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"slotNumber\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Slot index (1-based)\",\n \"required\": true\n },\n \"equippedItem\": {\n \"types\": [\n \"slotitemdata\"\n ],\n \"description\": \"Currently equipped item, if any\"\n },\n \"locked\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether slot is locked\"\n },\n \"lockLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label shown when locked\"\n },\n \"selected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether slot is selected\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showTooltip\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show tooltip on hover\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"tooltipFrameUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Optional tooltip frame image URL\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n },\n \"onItemDrop\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Drag and drop --\"\n },\n \"draggable\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this slot's equipped item is draggable\"\n },\n \"onDragStart\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when drag starts from this slot\"\n },\n \"feedback\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Per-slot correctness feedback after a failed attempt\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"-- Callbacks --\"\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Remove handler\"\n },\n \"clickEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"-- Declarative events --\"\n },\n \"removeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{removeEvent} with { slotNumber }\"\n }\n }\n },\n \"trait-state-viewer\": {\n \"type\": \"trait-state-viewer\",\n \"category\": \"display\",\n \"description\": \"TraitStateViewer component\",\n \"suggestedFor\": [\n \"trait\",\n \"state\",\n \"viewer\",\n \"trait state viewer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"trait\": {\n \"types\": [\n \"traitstatemachinedefinition\"\n ],\n \"description\": \"The trait / state machine to visualize\",\n \"required\": true\n },\n \"variant\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Display variant\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"showTransitions\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether to show transition labels\"\n },\n \"onStateClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler for states\"\n },\n \"stateStyles\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Custom state styles passed to StateIndicator\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state\"\n },\n \"error\": {\n \"types\": [\n \"error\"\n ],\n \"description\": \"Error state\"\n },\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven auto-fetch\"\n }\n }\n },\n \"uncontrolled-battle-board\": {\n \"type\": \"uncontrolled-battle-board\",\n \"category\": \"game\",\n \"description\": \"UncontrolledBattleBoard Thin wrapper that composes `useBattleState` + `BattleBoard` for self-managing game state. Accepts `initialUnits` instead of the controlled-mode fields and manages units, phase, turn, gameResult, and selectedUnitId internally via the hook. Use this component when you want the BattleBoard to manage its own game logic (e.g. in Storybook, prototypes, or simple integrations). For Orbital trait integration, use `BattleBoard` directly in controlled mode.\",\n \"suggestedFor\": [\n \"uncontrolled\",\n \"battle\",\n \"board\",\n \"uncontrolled battle board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n }\n }\n },\n \"quiz-block\": {\n \"type\": \"quiz-block\",\n \"category\": \"component\",\n \"description\": \"QuizBlock Molecule Component A collapsible Q&A block for embedded quiz questions in content. Shows the question with a reveal button for the answer. Event Contract: - No events emitted (self-contained interaction) - entityAware: false\",\n \"suggestedFor\": [\n \"quiz\",\n \"block\",\n \"quiz block\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"question\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The quiz question\",\n \"required\": true\n },\n \"answer\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The quiz answer (revealed on toggle)\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"code-block\": {\n \"type\": \"code-block\",\n \"category\": \"component\",\n \"description\": \"CodeBlock Molecule Component A syntax-highlighted code block with copy-to-clipboard functionality. Preserves scroll position during re-renders. Event Contract: - Emits: UI:COPY_CODE { language, success }\",\n \"suggestedFor\": [\n \"code\",\n \"block\",\n \"code block\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"code\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The code content to display\",\n \"required\": true\n },\n \"language\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Programming language for syntax highlighting\"\n },\n \"showCopyButton\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the copy button\"\n },\n \"showLanguageBadge\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Show the language badge\"\n },\n \"maxHeight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Maximum height before scrolling\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"markdown-content\": {\n \"type\": \"markdown-content\",\n \"category\": \"component\",\n \"description\": \"MarkdownContent Molecule Component Renders markdown content with support for GFM (GitHub Flavored Markdown), math equations (KaTeX), and raw HTML. Handles inline code only — fenced code blocks should be parsed out and rendered with CodeBlock component. Event Contract: - No events emitted (display-only component) - entityAware: false NOTE: react-markdown's `components` override API requires native HTML elements — this is the same library-boundary exception as `<iframe>` in DocumentViewer and `<svg>` in JazariStateMachine/StateMachineView.\",\n \"suggestedFor\": [\n \"markdown\",\n \"content\",\n \"markdown content\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"The markdown content to render\",\n \"required\": true\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"content-renderer\": {\n \"type\": \"content-renderer\",\n \"category\": \"display\",\n \"description\": \"ContentRenderer Organism Renders rich content as a sequence of typed segments: markdown, code, orbital diagrams (via JazariStateMachine), and quiz blocks. Accepts either raw content string (auto-parsed) or pre-parsed segments. Event Contract: - Delegates to child components (CodeBlock -> UI:COPY_CODE) - entityAware: false\",\n \"suggestedFor\": [\n \"content\",\n \"renderer\",\n \"content renderer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"content\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Raw content string — auto-parsed into segments\"\n },\n \"segments\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Pre-parsed segments (overrides content)\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction for markdown\"\n }\n }\n },\n \"jazari-state-machine\": {\n \"type\": \"jazari-state-machine\",\n \"category\": \"display\",\n \"description\": \"JazariStateMachine component\",\n \"suggestedFor\": [\n \"jazari\",\n \"state\",\n \"machine\",\n \"jazari state machine\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"schema\": {\n \"types\": [\n \"smschema\"\n ],\n \"description\": \"Full schema — extracts first trait's state machine\"\n },\n \"trait\": {\n \"types\": [\n \"smtrait\"\n ],\n \"description\": \"Or pass a single trait directly\"\n },\n \"traitIndex\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Which trait to visualize (default: 0)\"\n },\n \"entityFields\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Override entity field labels\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text direction (default: 'ltr')\"\n }\n }\n },\n \"state-machine-view\": {\n \"type\": \"state-machine-view\",\n \"category\": \"display\",\n \"description\": \"StateMachineView component\",\n \"suggestedFor\": [\n \"state\",\n \"machine\",\n \"view\",\n \"state machine view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"layoutData\": {\n \"types\": [\n \"domlayoutdata\"\n ],\n \"description\": \"layoutData prop\",\n \"required\": true\n },\n \"renderStateNode\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Custom state node renderer — when provided, replaces the default circle nodes\"\n }\n }\n },\n \"book-chapter-view\": {\n \"type\": \"book-chapter-view\",\n \"category\": \"display\",\n \"description\": \"BookChapterView Organism Renders a single chapter: title + optional orbital diagram + rich content via ContentRenderer. Event Contract: - Delegates to ContentRenderer children\",\n \"suggestedFor\": [\n \"book\",\n \"chapter\",\n \"view\",\n \"book chapter view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"chapter\": {\n \"types\": [\n \"bookchapter\"\n ],\n \"description\": \"chapter prop\",\n \"required\": true\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-cover-page\": {\n \"type\": \"book-cover-page\",\n \"category\": \"display\",\n \"description\": \"BookCoverPage Molecule Renders a book cover with title, subtitle, author, and optional image. Centered layout suitable for the first \\\"page\\\" of a BookViewer. Event Contract: - Emits: UI:BOOK_START\",\n \"suggestedFor\": [\n \"book\",\n \"cover\",\n \"page\",\n \"book cover page\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\",\n \"required\": true\n },\n \"subtitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"subtitle prop\"\n },\n \"author\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"author prop\"\n },\n \"coverImageUrl\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"coverImageUrl prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-nav-bar\": {\n \"type\": \"book-nav-bar\",\n \"category\": \"navigation\",\n \"description\": \"BookNavBar Molecule Navigation bar for the BookViewer with prev/next, page indicator, print button, and TOC toggle. Event Contract: - Emits: UI:BOOK_PAGE_PREV, UI:BOOK_PAGE_NEXT, UI:BOOK_PRINT, UI:BOOK_SHOW_TOC\",\n \"suggestedFor\": [\n \"book\",\n \"nav\",\n \"bar\",\n \"book nav bar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"currentPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"currentPage prop\",\n \"required\": true\n },\n \"totalPages\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"totalPages prop\",\n \"required\": true\n },\n \"chapterTitle\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"chapterTitle prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-table-of-contents\": {\n \"type\": \"book-table-of-contents\",\n \"category\": \"display\",\n \"description\": \"BookTableOfContents Molecule Renders a clickable table of contents grouped by parts. Highlights the current chapter. Event Contract: - Emits: UI:BOOK_NAVIGATE { chapterId }\",\n \"suggestedFor\": [\n \"book\",\n \"table\",\n \"contents\",\n \"book table of contents\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"parts\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"parts prop\",\n \"required\": true\n },\n \"currentChapterId\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"currentChapterId prop\"\n },\n \"direction\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"direction prop\"\n }\n }\n },\n \"book-viewer\": {\n \"type\": \"book-viewer\",\n \"category\": \"display\",\n \"description\": \"BookViewer Organism Flippable book reader with cover, TOC, chapter views, and navigation. Supports RTL layout (Arabic), CSS slide transitions, and print mode. Page model: 0 = cover, 1 = TOC, 2+ = chapters (flattened from parts) Event Contract: - Emits: UI:BOOK_PAGE_CHANGE { pageIndex, chapterId? } - Listens: UI:BOOK_START, UI:BOOK_NAVIGATE, UI:BOOK_PAGE_PREV/NEXT, UI:BOOK_PRINT, UI:BOOK_SHOW_TOC\",\n \"suggestedFor\": [\n \"book\",\n \"viewer\",\n \"book viewer\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name for schema-driven integration\"\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Data array provided by the trait via render-ui\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n },\n \"isLoading\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Loading state indicator\"\n },\n \"error\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Error state\"\n },\n \"sortBy\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort field\"\n },\n \"sortDirection\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current sort direction\"\n },\n \"searchValue\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Current search query value\"\n },\n \"page\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current page number\"\n },\n \"pageSize\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Number of items per page\"\n },\n \"totalCount\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Total number of items\"\n },\n \"activeFilters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Active filters\"\n },\n \"selectedIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Currently selected item IDs\"\n },\n \"initialPage\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Initial page index (default: 0 = cover)\"\n },\n \"fieldMap\": {\n \"types\": [\n \"bookfieldmap\",\n \"string\"\n ],\n \"description\": \"Field name translation map — a BookFieldMap object or locale key (\\\"ar\\\")\"\n }\n }\n },\n \"scaled-diagram\": {\n \"type\": \"scaled-diagram\",\n \"category\": \"component\",\n \"description\": \"ScaledDiagram Molecule Wraps a fixed-size diagram (like JazariStateMachine / StateMachineView) and CSS-scales it to fit the parent container width. The diagram renders at its natural (large) size. We observe the content element and once the diagram is measured we apply transform:scale() with a corrected container height so surrounding layout flows correctly. Event Contract: - No events emitted (layout-only wrapper) - entityAware: false\",\n \"suggestedFor\": [\n \"scaled\",\n \"diagram\",\n \"scaled diagram\"\n ],\n \"typicalSize\": \"medium\",\n \"propsSchema\": {\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"children prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"combat-log\": {\n \"type\": \"combat-log\",\n \"category\": \"game\",\n \"description\": \"CombatLog Component Scrollable log of combat events with icons and colors. Generalized from Trait Wars — removed asset manifest coupling.\",\n \"suggestedFor\": [\n \"combat\",\n \"log\",\n \"combat log\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"events\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"events prop\",\n \"required\": true\n },\n \"maxVisible\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"maxVisible prop\"\n },\n \"autoScroll\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"autoScroll prop\"\n },\n \"showTimestamps\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"showTimestamps prop\"\n },\n \"title\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"title prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-canvas\": {\n \"type\": \"simulation-canvas\",\n \"category\": \"game\",\n \"description\": \"SimulationCanvas Self-contained 2D physics canvas for educational presets. Runs its own Euler integration loop — no external physics hook needed.\",\n \"suggestedFor\": [\n \"simulation\",\n \"canvas\",\n \"simulation canvas\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"preset\": {\n \"types\": [\n \"physicspreset\"\n ],\n \"description\": \"preset prop\",\n \"required\": true\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"width prop\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"height prop\"\n },\n \"running\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"running prop\",\n \"required\": true\n },\n \"speed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"speed prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-controls\": {\n \"type\": \"simulation-controls\",\n \"category\": \"display\",\n \"description\": \"SimulationControls Play/pause/step/reset controls with speed and parameter sliders.\",\n \"suggestedFor\": [\n \"simulation\",\n \"controls\",\n \"simulation controls\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"running\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"running prop\",\n \"required\": true\n },\n \"speed\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"speed prop\",\n \"required\": true\n },\n \"parameters\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"parameters prop\",\n \"required\": true\n },\n \"onPlay\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onPlay prop\",\n \"required\": true\n },\n \"onPause\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onPause prop\",\n \"required\": true\n },\n \"onStep\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onStep prop\",\n \"required\": true\n },\n \"onReset\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onReset prop\",\n \"required\": true\n },\n \"onSpeedChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onSpeedChange prop\",\n \"required\": true\n },\n \"onParameterChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"onParameterChange prop\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"simulation-graph\": {\n \"type\": \"simulation-graph\",\n \"category\": \"display\",\n \"description\": \"SimulationGraph Real-time measurement graph for physics simulations. Renders measurement data as a simple line chart on canvas.\",\n \"suggestedFor\": [\n \"simulation\",\n \"graph\",\n \"simulation graph\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"label prop\",\n \"required\": true\n },\n \"unit\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"unit prop\",\n \"required\": true\n },\n \"data\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"data prop\",\n \"required\": true\n },\n \"maxPoints\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"maxPoints prop\"\n },\n \"width\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"width prop\"\n },\n \"height\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"height prop\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"color prop\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"className prop\"\n }\n }\n },\n \"builder-board\": {\n \"type\": \"builder-board\",\n \"category\": \"game\",\n \"description\": \"BuilderBoard Component-snapping game board. The player places components onto slots in a blueprint. Correct placement completes the build. Good for: architecture, circuits, molecules, system design stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"builder\",\n \"board\",\n \"builder board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"builderpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"classifier-board\": {\n \"type\": \"classifier-board\",\n \"category\": \"game\",\n \"description\": \"ClassifierBoard Drag-and-drop classification game. The player sorts items into the correct category buckets. All items must be correctly classified to win. Good for: taxonomy, pattern recognition, sorting stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"classifier\",\n \"board\",\n \"classifier board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"classifierpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"debugger-board\": {\n \"type\": \"debugger-board\",\n \"category\": \"game\",\n \"description\": \"DebuggerBoard Error-finding game board. The player reviews a code/system listing and identifies lines or elements that contain bugs. Good for: programming, logic, troubleshooting stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"debugger\",\n \"board\",\n \"debugger board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"debuggerpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"event-handler-board\": {\n \"type\": \"event-handler-board\",\n \"category\": \"game\",\n \"description\": \"EventHandlerBoard Organism Contains ALL game logic for the Event Handler tier (ages 9-12). Kids click on world objects, set WHEN/THEN rules, and watch event chains cascade during playback. Encourages experimentation: on failure, resets to editing so the kid can try different rules. After 3 failures, shows a progressive hint.\",\n \"suggestedFor\": [\n \"event\",\n \"handler\",\n \"board\",\n \"event handler board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"eventhandlerpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed in ms per event\"\n },\n \"playEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playEvent}\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success }\"\n }\n }\n },\n \"event-log\": {\n \"type\": \"event-log\",\n \"category\": \"display\",\n \"description\": \"EventLog Component Scrolling log of events during playback in the Event Handler tier. Shows the chain reaction as events cascade through objects.\",\n \"suggestedFor\": [\n \"event\",\n \"log\",\n \"event log\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entries\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Log entries\",\n \"required\": true\n },\n \"maxHeight\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Max visible height before scroll\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Title label\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"object-rule-panel\": {\n \"type\": \"object-rule-panel\",\n \"category\": \"display\",\n \"description\": \"ObjectRulePanel Component Shows the rules panel for a selected world object in the Event Handler tier. Displays object info, its current state (via TraitStateViewer), and a list of WHEN/THEN rules the kid has set.\",\n \"suggestedFor\": [\n \"object\",\n \"rule\",\n \"panel\",\n \"object rule panel\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"object\": {\n \"types\": [\n \"puzzleobjectdef\"\n ],\n \"description\": \"The selected object\",\n \"required\": true\n },\n \"onRulesChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rules change\",\n \"required\": true\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether editing is disabled\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"rule-editor\": {\n \"type\": \"rule-editor\",\n \"category\": \"display\",\n \"description\": \"RuleEditor Component A single WHEN/THEN rule row for the Event Handler tier (ages 9-12). Kid picks an event trigger and an action from dropdowns.\",\n \"suggestedFor\": [\n \"rule\",\n \"editor\",\n \"rule editor\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"rule\": {\n \"types\": [\n \"ruledefinition\"\n ],\n \"description\": \"The current rule\",\n \"required\": true\n },\n \"availableEvents\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available event triggers to listen for\",\n \"required\": true\n },\n \"availableActions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available actions to perform\",\n \"required\": true\n },\n \"onChange\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rule changes\",\n \"required\": true\n },\n \"onRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when rule is removed\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether editing is disabled (during playback)\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"negotiator-board\": {\n \"type\": \"negotiator-board\",\n \"category\": \"game\",\n \"description\": \"NegotiatorBoard Turn-based decision matrix game. The player makes choices over multiple rounds against an AI opponent. Each round both sides pick an action, and payoffs are determined by the combination. Good for: ethics, business, game theory, economics stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"negotiator\",\n \"board\",\n \"negotiator board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"negotiatorpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"action-palette\": {\n \"type\": \"action-palette\",\n \"category\": \"display\",\n \"description\": \"ActionPalette Component Grid of draggable ActionTile components for the Sequencer tier. Kids pick from these to build their sequence.\",\n \"suggestedFor\": [\n \"action\",\n \"palette\",\n \"action palette\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"actions\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Available actions\",\n \"required\": true\n },\n \"usedActionIds\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"IDs of actions that are already used (shown as disabled)\"\n },\n \"allowDuplicates\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether each action can be used multiple times\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label above the palette\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"action-tile\": {\n \"type\": \"action-tile\",\n \"category\": \"game\",\n \"description\": \"ActionTile Component A draggable action tile for the Sequencer tier (ages 5-8). Kids drag these from the ActionPalette into SequenceBar slots. Sets SlotItemData on dataTransfer for TraitSlot compatibility.\",\n \"suggestedFor\": [\n \"action\",\n \"tile\",\n \"action tile\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"action\": {\n \"types\": [\n \"slotitemdata\"\n ],\n \"description\": \"The action data\",\n \"required\": true\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"disabled\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the tile is disabled / already used\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n }\n }\n },\n \"sequence-bar\": {\n \"type\": \"sequence-bar\",\n \"category\": \"display\",\n \"description\": \"SequenceBar Component A row of TraitSlot components forming the action sequence for the Sequencer tier (ages 5-8). Kids drag ActionTiles from the palette into these slots to build their sequence.\",\n \"suggestedFor\": [\n \"sequence\",\n \"bar\",\n \"sequence bar\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"slots\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"The current sequence (sparse — undefined means empty slot)\",\n \"required\": true\n },\n \"maxSlots\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Max number of slots\",\n \"required\": true\n },\n \"onSlotDrop\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when an item is dropped into slot at index\",\n \"required\": true\n },\n \"onSlotRemove\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Called when a slot is cleared\",\n \"required\": true\n },\n \"playing\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the sequence is currently playing (disable interaction)\"\n },\n \"currentStep\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Current step index during playback (-1 = not playing)\"\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"slotFeedback\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Per-slot correctness feedback shown after a failed attempt\"\n },\n \"size\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Size variant\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"sequencer-board\": {\n \"type\": \"sequencer-board\",\n \"category\": \"game\",\n \"description\": \"SequencerBoard Organism Contains ALL game logic for the Sequencer tier (ages 5-8). Manages the action sequence, validates it, and animates Kekec executing each step on the puzzle scene. Feedback-first UX: - On failure: slots stay in place, each slot gets a green or red ring showing exactly which steps are correct and which need to change. - Modifying a slot clears its individual feedback so the kid can re-try. - After 3 failures a persistent hint appears above the sequence bar. - \\\"Reset\\\" clears everything including attempts / hint. TraitStateViewer states use indexed labels (\\\"1. Walk\\\", \\\"2. Jump\\\") so that repeated actions are correctly highlighted during playback.\",\n \"suggestedFor\": [\n \"sequencer\",\n \"board\",\n \"sequencer board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"sequencerpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"categoryColors\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Category → color mapping\"\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed in ms per step\"\n },\n \"playEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{playEvent} with { sequence: string[] }\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success: boolean }\"\n }\n }\n },\n \"simulator-board\": {\n \"type\": \"simulator-board\",\n \"category\": \"game\",\n \"description\": \"SimulatorBoard Parameter-slider game board. The player adjusts parameters and observes real-time output. Correct parameter values must bring the output within a target range to win. Good for: physics, economics, system design stories. Events emitted via completeEvent (default UI:PUZZLE_COMPLETE).\",\n \"suggestedFor\": [\n \"simulator\",\n \"board\",\n \"simulator board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"simulatorpuzzleentity\"\n ],\n \"description\": \"entity prop\",\n \"required\": true\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"completeEvent prop\"\n }\n }\n },\n \"code-view\": {\n \"type\": \"code-view\",\n \"category\": \"display\",\n \"description\": \"CodeView Component Shows the JSON code representation of a state machine. Toggle between visual and code view in State Architect tier.\",\n \"suggestedFor\": [\n \"code\",\n \"view\",\n \"code view\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"data\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"JSON data to display\",\n \"required\": true\n },\n \"label\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Label\"\n },\n \"defaultExpanded\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether the code is expanded by default\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"state-architect-board\": {\n \"type\": \"state-architect-board\",\n \"category\": \"display\",\n \"description\": \"StateArchitectBoard Organism Contains ALL game logic for the State Architect tier (ages 13+). Kids design state machines via a visual graph editor, then run them to see if the behavior matches the puzzle goal.\",\n \"suggestedFor\": [\n \"state\",\n \"architect\",\n \"board\",\n \"state architect board\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entity\": {\n \"types\": [\n \"statearchitectpuzzleentity\"\n ],\n \"description\": \"Puzzle data\",\n \"required\": true\n },\n \"stepDurationMs\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Playback speed\"\n },\n \"testEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{testEvent}\"\n },\n \"completeEvent\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Emits UI:{completeEvent} with { success, passedTests }\"\n }\n }\n },\n \"state-node\": {\n \"type\": \"state-node\",\n \"category\": \"display\",\n \"description\": \"StateNode Component A draggable state circle for the graph editor in the State Architect tier (ages 13+). Shows state name, highlights when current, and supports click to select.\",\n \"suggestedFor\": [\n \"state\",\n \"node\",\n \"state node\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"name\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"State name\",\n \"required\": true\n },\n \"isCurrent\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this is the current active state\"\n },\n \"isSelected\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this node is selected for editing\"\n },\n \"isInitial\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this is the initial state\"\n },\n \"position\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Position on the graph canvas\",\n \"required\": true\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"transition-arrow\": {\n \"type\": \"transition-arrow\",\n \"category\": \"display\",\n \"description\": \"TransitionArrow Component An SVG arrow connecting two state nodes in the graph editor. Shows the event name as a label on the arrow.\",\n \"suggestedFor\": [\n \"transition\",\n \"arrow\",\n \"transition arrow\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"from\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Start position (center of from-node)\",\n \"required\": true\n },\n \"to\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"End position (center of to-node)\",\n \"required\": true\n },\n \"eventLabel\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Event label shown on the arrow\",\n \"required\": true\n },\n \"guardHint\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Guard hint shown below event\"\n },\n \"isActive\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Whether this transition is currently active\"\n },\n \"onClick\": {\n \"types\": [\n \"function\"\n ],\n \"description\": \"Click handler\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes for the SVG group\"\n }\n }\n },\n \"variable-panel\": {\n \"type\": \"variable-panel\",\n \"category\": \"display\",\n \"description\": \"VariablePanel Component Shows entity variables and their current values during State Architect playback.\",\n \"suggestedFor\": [\n \"variable\",\n \"panel\",\n \"variable panel\"\n ],\n \"typicalSize\": \"large\",\n \"propsSchema\": {\n \"entityName\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Entity name\",\n \"required\": true\n },\n \"variables\": {\n \"types\": [\n \"array\"\n ],\n \"description\": \"Variables to display\",\n \"required\": true\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional CSS classes\"\n }\n }\n },\n \"heading\": {\n \"type\": \"heading\",\n \"category\": \"component\",\n \"description\": \"Alias for typography — Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n },\n \"text\": {\n \"type\": \"text\",\n \"category\": \"component\",\n \"description\": \"Alias for typography — Typography Atom Component Text elements following the KFlow design system with theme-aware styling.\",\n \"suggestedFor\": [\n \"typography\"\n ],\n \"typicalSize\": \"small\",\n \"propsSchema\": {\n \"variant\": {\n \"types\": [\n \"typographyvariant\"\n ],\n \"description\": \"Typography variant\"\n },\n \"level\": {\n \"types\": [\n \"number\"\n ],\n \"description\": \"Heading level (1-6) - alternative to variant for headings\"\n },\n \"color\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text color\"\n },\n \"align\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Text alignment\"\n },\n \"weight\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Font weight override\"\n },\n \"size\": {\n \"types\": [\n \"typographysize\"\n ],\n \"description\": \"Font size override\"\n },\n \"truncate\": {\n \"types\": [\n \"boolean\"\n ],\n \"description\": \"Truncate with ellipsis (single line)\"\n },\n \"overflow\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Overflow handling mode\"\n },\n \"as\": {\n \"types\": [\n \"unknown\"\n ],\n \"description\": \"Custom HTML element\"\n },\n \"id\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"HTML id attribute\"\n },\n \"className\": {\n \"types\": [\n \"string\"\n ],\n \"description\": \"Additional class names\"\n },\n \"style\": {\n \"types\": [\n \"object\"\n ],\n \"description\": \"Inline style\"\n },\n \"content\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Text content (alternative to children)\"\n },\n \"children\": {\n \"types\": [\n \"node\"\n ],\n \"description\": \"Children elements\"\n }\n }\n }\n },\n \"categories\": [\n \"display\",\n \"header\",\n \"form\",\n \"filter\",\n \"navigation\",\n \"state\",\n \"dashboard\",\n \"container\",\n \"layout\",\n \"game\",\n \"debug\",\n \"meta\",\n \"component\",\n \"template\",\n \"visualization\",\n \"media\"\n ]\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-01-25T00:58:14.172Z\",\n \"integrators\": {\n \"youtube\": {\n \"name\": \"youtube\",\n \"description\": \"YouTube Data API - search videos, get video/channel details\",\n \"category\": \"media\",\n \"actions\": [\n {\n \"name\": \"search\",\n \"description\": \"Search for videos\",\n \"params\": [\n {\n \"name\": \"query\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Search query\"\n },\n {\n \"name\": \"maxResults\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Max results (1-50)\"\n },\n {\n \"name\": \"type\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"video, channel, or playlist\"\n }\n ],\n \"responseShape\": {\n \"videoId\": \"string\",\n \"title\": \"string\",\n \"thumbnail\": \"string\",\n \"description\": \"string\"\n }\n },\n {\n \"name\": \"getVideo\",\n \"description\": \"Get video details by ID\",\n \"params\": [\n {\n \"name\": \"videoId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"YouTube video ID\"\n }\n ],\n \"responseShape\": {\n \"title\": \"string\",\n \"description\": \"string\",\n \"viewCount\": \"number\",\n \"likeCount\": \"number\"\n }\n },\n {\n \"name\": \"getChannel\",\n \"description\": \"Get channel details by ID\",\n \"params\": [\n {\n \"name\": \"channelId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"YouTube channel ID\"\n }\n ],\n \"responseShape\": {\n \"name\": \"string\",\n \"description\": \"string\",\n \"subscriberCount\": \"number\"\n }\n }\n ]\n },\n \"stripe\": {\n \"name\": \"stripe\",\n \"description\": \"Stripe payment processing - create intents, confirm payments, refunds\",\n \"category\": \"payment\",\n \"actions\": [\n {\n \"name\": \"createPaymentIntent\",\n \"description\": \"Create a payment intent for collecting payment\",\n \"params\": [\n {\n \"name\": \"amount\",\n \"type\": \"number\",\n \"required\": true,\n \"description\": \"Amount in cents\"\n },\n {\n \"name\": \"currency\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"ISO currency code (e.g., usd)\"\n },\n {\n \"name\": \"metadata\",\n \"type\": \"object\",\n \"required\": false,\n \"description\": \"Custom metadata\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"clientSecret\": \"string\",\n \"status\": \"string\"\n }\n },\n {\n \"name\": \"confirmPayment\",\n \"description\": \"Confirm a payment intent\",\n \"params\": [\n {\n \"name\": \"paymentIntentId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Payment intent ID\"\n }\n ],\n \"responseShape\": {\n \"status\": \"string\",\n \"amount\": \"number\"\n }\n },\n {\n \"name\": \"refund\",\n \"description\": \"Refund a payment\",\n \"params\": [\n {\n \"name\": \"paymentIntentId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Payment intent ID\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Amount to refund (partial)\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"status\": \"string\",\n \"amount\": \"number\"\n }\n }\n ]\n },\n \"twilio\": {\n \"name\": \"twilio\",\n \"description\": \"Twilio messaging - send SMS, WhatsApp messages\",\n \"category\": \"messaging\",\n \"actions\": [\n {\n \"name\": \"sendSMS\",\n \"description\": \"Send an SMS message\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient phone number\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Message body\"\n }\n ],\n \"responseShape\": {\n \"sid\": \"string\",\n \"status\": \"string\"\n }\n },\n {\n \"name\": \"sendWhatsApp\",\n \"description\": \"Send a WhatsApp message\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient phone number\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Message body\"\n }\n ],\n \"responseShape\": {\n \"sid\": \"string\",\n \"status\": \"string\"\n }\n }\n ]\n },\n \"email\": {\n \"name\": \"email\",\n \"description\": \"Transactional email via SendGrid/Resend\",\n \"category\": \"messaging\",\n \"actions\": [\n {\n \"name\": \"send\",\n \"description\": \"Send a transactional email\",\n \"params\": [\n {\n \"name\": \"to\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Recipient email\"\n },\n {\n \"name\": \"subject\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Email subject\"\n },\n {\n \"name\": \"body\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Email body (HTML or text)\"\n },\n {\n \"name\": \"from\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Sender email (uses default if omitted)\"\n }\n ],\n \"responseShape\": {\n \"id\": \"string\",\n \"status\": \"string\"\n }\n }\n ]\n },\n \"llm\": {\n \"name\": \"llm\",\n \"description\": \"LLM service for content generation, classification, and structured extraction\",\n \"category\": \"ai\",\n \"actions\": [\n {\n \"name\": \"generate\",\n \"description\": \"Generate content from a prompt\",\n \"params\": [\n {\n \"name\": \"systemPrompt\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"System instructions for the LLM\"\n },\n {\n \"name\": \"userPrompt\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"User prompt/question\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID (default: claude-sonnet-4-5-20250929)\"\n },\n {\n \"name\": \"temperature\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Sampling temperature (0-1, default: 0.7)\"\n },\n {\n \"name\": \"maxTokens\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Max response tokens (default: 1024)\"\n }\n ],\n \"responseShape\": {\n \"content\": \"string\",\n \"usage\": \"object\"\n }\n },\n {\n \"name\": \"classify\",\n \"description\": \"Classify text into predefined categories\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to classify\"\n },\n {\n \"name\": \"categories\",\n \"type\": \"array\",\n \"required\": true,\n \"description\": \"List of category labels\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"category\": \"string\",\n \"confidence\": \"number\",\n \"reasoning\": \"string\"\n }\n },\n {\n \"name\": \"extract\",\n \"description\": \"Extract structured data from text using a schema\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to extract from\"\n },\n {\n \"name\": \"schema\",\n \"type\": \"object\",\n \"required\": true,\n \"description\": \"JSON schema defining fields to extract\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"data\": \"object\",\n \"confidence\": \"number\"\n }\n },\n {\n \"name\": \"summarize\",\n \"description\": \"Summarize long text content\",\n \"params\": [\n {\n \"name\": \"text\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Text to summarize\"\n },\n {\n \"name\": \"maxLength\",\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"Target summary length in words\"\n },\n {\n \"name\": \"style\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Summary style: brief, detailed, bullet\"\n },\n {\n \"name\": \"model\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Model ID\"\n }\n ],\n \"responseShape\": {\n \"summary\": \"string\",\n \"keyPoints\": \"array\"\n }\n }\n ]\n },\n \"deepagent\": {\n \"name\": \"deepagent\",\n \"description\": \"AI code generation agent with tool use - generates schemas, code, and manages projects\",\n \"category\": \"ai\",\n \"actions\": [\n {\n \"name\": \"sendMessage\",\n \"description\": \"Send a message to the AI agent and get a response with tool calls\",\n \"params\": [\n {\n \"name\": \"message\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"User message to the agent\"\n },\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Thread ID for conversation continuity\"\n },\n {\n \"name\": \"skill\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Skill to use: almadar-orbitals, almadar-fixing, etc.\"\n },\n {\n \"name\": \"context\",\n \"type\": \"object\",\n \"required\": false,\n \"description\": \"Additional context (current schema, project info)\"\n }\n ],\n \"responseShape\": {\n \"response\": \"string\",\n \"threadId\": \"string\",\n \"toolCalls\": \"array\",\n \"todos\": \"array\",\n \"schemaDiffs\": \"array\"\n }\n },\n {\n \"name\": \"cancelGeneration\",\n \"description\": \"Cancel an ongoing generation\",\n \"params\": [\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Thread ID to cancel\"\n }\n ],\n \"responseShape\": {\n \"success\": \"boolean\"\n }\n },\n {\n \"name\": \"validateSchema\",\n \"description\": \"Validate an orbital schema\",\n \"params\": [\n {\n \"name\": \"schema\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Schema content to validate\"\n }\n ],\n \"responseShape\": {\n \"valid\": \"boolean\",\n \"errors\": \"array\",\n \"warnings\": \"array\"\n }\n },\n {\n \"name\": \"compileSchema\",\n \"description\": \"Compile an orbital schema to target shell\",\n \"params\": [\n {\n \"name\": \"schema\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Schema content to compile\"\n },\n {\n \"name\": \"shell\",\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"Target shell: typescript, python (default: typescript)\"\n }\n ],\n \"responseShape\": {\n \"success\": \"boolean\",\n \"outputPath\": \"string\",\n \"errors\": \"array\"\n }\n },\n {\n \"name\": \"getThreadHistory\",\n \"description\": \"Get conversation history for a thread\",\n \"params\": [\n {\n \"name\": \"threadId\",\n \"type\": \"string\",\n \"required\": true,\n \"description\": \"Thread ID to get history for\"\n }\n ],\n \"responseShape\": {\n \"messages\": \"array\",\n \"todos\": \"array\",\n \"schemaDiffs\": \"array\"\n }\n }\n ]\n },\n \"github\": {\n \"name\": \"github\",\n \"description\": \"GitHub integration - Git operations and GitHub REST API\",\n \"category\": \"devtools\",\n \"actions\": [\n {\n \"name\": \"cloneRepo\",\n \"description\": \"Clone a repository\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Repository URL or owner/repo\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": false, \"description\": \"Branch to clone\" }\n ],\n \"responseShape\": { \"path\": \"string\", \"branch\": \"string\" }\n },\n {\n \"name\": \"createBranch\",\n \"description\": \"Create a new branch\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": true, \"description\": \"Branch name\" }\n ],\n \"responseShape\": { \"branch\": \"string\" }\n },\n {\n \"name\": \"commit\",\n \"description\": \"Commit changes\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"message\", \"type\": \"string\", \"required\": true, \"description\": \"Commit message\" },\n { \"name\": \"files\", \"type\": \"array\", \"required\": false, \"description\": \"Files to stage\" }\n ],\n \"responseShape\": { \"hash\": \"string\", \"message\": \"string\" }\n },\n {\n \"name\": \"push\",\n \"description\": \"Push commits to remote\",\n \"params\": [\n { \"name\": \"repo\", \"type\": \"string\", \"required\": true, \"description\": \"Local repo path\" },\n { \"name\": \"branch\", \"type\": \"string\", \"required\": false, \"description\": \"Branch to push\" }\n ],\n \"responseShape\": { \"success\": \"boolean\" }\n },\n {\n \"name\": \"createPR\",\n \"description\": \"Create a pull request\",\n \"params\": [\n { \"name\": \"title\", \"type\": \"string\", \"required\": true, \"description\": \"PR title\" },\n { \"name\": \"body\", \"type\": \"string\", \"required\": false, \"description\": \"PR description\" },\n { \"name\": \"head\", \"type\": \"string\", \"required\": true, \"description\": \"Head branch\" },\n { \"name\": \"base\", \"type\": \"string\", \"required\": false, \"description\": \"Base branch (default: main)\" }\n ],\n \"responseShape\": { \"number\": \"number\", \"url\": \"string\" }\n },\n {\n \"name\": \"getPRComments\",\n \"description\": \"Fetch pull request comments\",\n \"params\": [\n { \"name\": \"prNumber\", \"type\": \"number\", \"required\": true, \"description\": \"PR number\" }\n ],\n \"responseShape\": { \"comments\": \"array\" }\n },\n {\n \"name\": \"listIssues\",\n \"description\": \"List issues with optional filters\",\n \"params\": [\n { \"name\": \"state\", \"type\": \"string\", \"required\": false, \"description\": \"Issue state: open, closed, all\" },\n { \"name\": \"labels\", \"type\": \"string\", \"required\": false, \"description\": \"Comma-separated label names\" }\n ],\n \"responseShape\": { \"issues\": \"array\" }\n },\n {\n \"name\": \"getIssue\",\n \"description\": \"Get a single issue\",\n \"params\": [\n { \"name\": \"issueNumber\", \"type\": \"number\", \"required\": true, \"description\": \"Issue number\" }\n ],\n \"responseShape\": { \"title\": \"string\", \"body\": \"string\", \"state\": \"string\" }\n }\n ]\n },\n \"cli\": {\n \"name\": \"cli\",\n \"description\": \"Almadar CLI integration - schema validation and compilation\",\n \"category\": \"devtools\",\n \"actions\": [\n {\n \"name\": \"validate\",\n \"description\": \"Validate an orbital schema\",\n \"params\": [\n { \"name\": \"schema\", \"type\": \"string\", \"required\": true, \"description\": \"Schema content to validate\" }\n ],\n \"responseShape\": {\n \"valid\": \"boolean\",\n \"errors\": \"array\",\n \"warnings\": \"array\",\n \"summary\": \"string\"\n }\n }\n ]\n }\n },\n \"categories\": [\"media\", \"payment\", \"messaging\", \"ai\", \"devtools\"]\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-06T07:07:47.853Z\",\n \"mappings\": {\n \"page-header\": {\n \"component\": \"PageHeader\",\n \"importPath\": \"@/components/organisms/PageHeader\",\n \"category\": \"header\"\n },\n \"entity-list\": {\n \"component\": \"List\",\n \"importPath\": \"@/components/organisms/List\",\n \"category\": \"display\"\n },\n \"entity-table\": {\n \"component\": \"DataTable\",\n \"importPath\": \"@/components/organisms/DataTable\",\n \"category\": \"display\"\n },\n \"entity-cards\": {\n \"component\": \"CardGrid\",\n \"importPath\": \"@/components/organisms/CardGrid\",\n \"category\": \"display\"\n },\n \"stats\": {\n \"component\": \"StatCard\",\n \"importPath\": \"@/components/organisms/StatCard\",\n \"category\": \"display\"\n },\n \"detail-panel\": {\n \"component\": \"DetailPanel\",\n \"importPath\": \"@/components/organisms/DetailPanel\",\n \"category\": \"display\"\n },\n \"form\": {\n \"component\": \"Form\",\n \"importPath\": \"@/components/organisms/Form\",\n \"category\": \"form\"\n },\n \"form-section\": {\n \"component\": \"Form\",\n \"importPath\": \"@/components/organisms/Form\",\n \"category\": \"form\"\n },\n \"form-actions\": {\n \"component\": \"ButtonGroup\",\n \"importPath\": \"@/components/molecules/ButtonGroup\",\n \"category\": \"form\"\n },\n \"filter-group\": {\n \"component\": \"FilterGroup\",\n \"importPath\": \"@/components/molecules/FilterGroup\",\n \"category\": \"filter\"\n },\n \"search-input\": {\n \"component\": \"SearchInput\",\n \"importPath\": \"@/components/molecules/SearchInput\",\n \"category\": \"filter\"\n },\n \"empty-state\": {\n \"component\": \"EmptyState\",\n \"importPath\": \"@/components/molecules/EmptyState\",\n \"category\": \"state\"\n },\n \"loading-state\": {\n \"component\": \"LoadingState\",\n \"importPath\": \"@/components/molecules/LoadingState\",\n \"category\": \"state\"\n },\n \"error-state\": {\n \"component\": \"ErrorState\",\n \"importPath\": \"@/components/molecules/ErrorState\",\n \"category\": \"state\"\n },\n \"notification\": {\n \"component\": \"Toast\",\n \"importPath\": \"@/components/molecules/Toast\",\n \"category\": \"state\"\n },\n \"tabs\": {\n \"component\": \"Tabs\",\n \"importPath\": \"@/components/molecules/Tabs\",\n \"category\": \"navigation\"\n },\n \"breadcrumb\": {\n \"component\": \"Breadcrumb\",\n \"importPath\": \"@/components/molecules/Breadcrumb\",\n \"category\": \"navigation\"\n },\n \"wizard-container\": {\n \"component\": \"WizardContainer\",\n \"importPath\": \"@/components/organisms/WizardContainer\",\n \"category\": \"navigation\"\n },\n \"wizard-progress\": {\n \"component\": \"WizardProgress\",\n \"importPath\": \"@/components/molecules/WizardProgress\",\n \"category\": \"navigation\"\n },\n \"wizard-navigation\": {\n \"component\": \"WizardNavigation\",\n \"importPath\": \"@/components/molecules/WizardNavigation\",\n \"category\": \"navigation\"\n },\n \"pagination\": {\n \"component\": \"Pagination\",\n \"importPath\": \"@/components/molecules/Pagination\",\n \"category\": \"navigation\"\n },\n \"card\": {\n \"component\": \"Card\",\n \"importPath\": \"@/components/molecules/Card\",\n \"category\": \"display\"\n },\n \"modal\": {\n \"component\": \"Modal\",\n \"importPath\": \"@/components/molecules/Modal\",\n \"category\": \"layout\"\n },\n \"drawer\": {\n \"component\": \"Drawer\",\n \"importPath\": \"@/components/molecules/Drawer\",\n \"category\": \"layout\"\n },\n \"confirm-dialog\": {\n \"component\": \"ConfirmDialog\",\n \"importPath\": \"@/components/organisms/ConfirmDialog\",\n \"category\": \"layout\"\n },\n \"master-detail\": {\n \"component\": \"MasterDetail\",\n \"importPath\": \"@/components/organisms/layout/MasterDetail\",\n \"category\": \"layout\"\n },\n \"dashboard-grid\": {\n \"component\": \"DashboardGrid\",\n \"importPath\": \"@/components/organisms/layout/DashboardGrid\",\n \"category\": \"layout\"\n },\n \"game-hud\": {\n \"component\": \"GameHud\",\n \"importPath\": \"@/components/organisms/game/GameHud\",\n \"category\": \"game\"\n },\n \"game-menu\": {\n \"component\": \"GameMenu\",\n \"importPath\": \"@/components/organisms/game/GameMenu\",\n \"category\": \"game\"\n },\n \"game-over-screen\": {\n \"component\": \"GameOverScreen\",\n \"importPath\": \"@/components/organisms/game/GameOverScreen\",\n \"category\": \"game\"\n },\n \"inventory-panel\": {\n \"component\": \"InventoryPanel\",\n \"importPath\": \"@/components/organisms/game/InventoryPanel\",\n \"category\": \"game\"\n },\n \"dialogue-box\": {\n \"component\": \"DialogueBox\",\n \"importPath\": \"@/components/organisms/game/DialogueBox\",\n \"category\": \"game\"\n },\n \"runtime-debugger\": {\n \"component\": \"RuntimeDebugger\",\n \"importPath\": \"@/components/organisms/debug/RuntimeDebugger\",\n \"category\": \"debug\"\n },\n \"repeatable-form-section\": {\n \"component\": \"RepeatableFormSection\",\n \"importPath\": \"@/clients/inspection-system/molecules/RepeatableFormSection\",\n \"category\": \"form\",\n \"client\": \"inspection-system\"\n },\n \"box\": {\n \"component\": \"Box\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"grid\": {\n \"component\": \"Grid\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"center\": {\n \"component\": \"Center\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"spacer\": {\n \"component\": \"Spacer\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"divider\": {\n \"component\": \"Divider\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"layout\"\n },\n \"button\": {\n \"component\": \"Button\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"badge\": {\n \"component\": \"Badge\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"avatar\": {\n \"component\": \"Avatar\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"icon\": {\n \"component\": \"Icon\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"spinner\": {\n \"component\": \"Spinner\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"atom\"\n },\n \"input\": {\n \"component\": \"Input\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"textarea\": {\n \"component\": \"Textarea\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"select\": {\n \"component\": \"Select\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"checkbox\": {\n \"component\": \"Checkbox\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"radio\": {\n \"component\": \"Radio\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"switch\": {\n \"component\": \"Switch\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"label\": {\n \"component\": \"Label\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"form\"\n },\n \"alert\": {\n \"component\": \"Alert\",\n \"importPath\": \"@/components/molecules/Alert\",\n \"category\": \"state\"\n },\n \"accordion\": {\n \"component\": \"Accordion\",\n \"importPath\": \"@/components/molecules/Accordion\",\n \"category\": \"display\"\n },\n \"tooltip\": {\n \"component\": \"Tooltip\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"atom\"\n },\n \"popover\": {\n \"component\": \"Popover\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"atom\"\n },\n \"menu\": {\n \"component\": \"Menu\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"navigation\"\n },\n \"progress-bar\": {\n \"component\": \"ProgressBar\",\n \"importPath\": \"@/components/atoms\",\n \"category\": \"display\"\n },\n \"container\": {\n \"component\": \"Container\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"simple-grid\": {\n \"component\": \"SimpleGrid\",\n \"importPath\": \"@/components/molecules\",\n \"category\": \"layout\"\n },\n \"studio-home-web\": {\n \"component\": \"StudioHomeWebTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioHomeWebTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"studio-home-electron\": {\n \"component\": \"StudioHomeElectronTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioHomeElectronTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"studio-project\": {\n \"component\": \"StudioProjectTemplate\",\n \"importPath\": \"@/clients/builder/templates/StudioProjectTemplate\",\n \"category\": \"template\",\n \"client\": \"builder\"\n },\n \"hex-battlefield\": {\n \"component\": \"BattlefieldTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/BattlefieldTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"hero-selection\": {\n \"component\": \"HexTraitWarsGame\",\n \"importPath\": \"@/clients/trait-wars/templates/HexTraitWarsGame\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"hero-profile\": {\n \"component\": \"HeroProfileTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/HeroProfileTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"army-builder\": {\n \"component\": \"ArmyBuilderTemplate\",\n \"importPath\": \"@/clients/trait-wars/templates/ArmyBuilderTemplate\",\n \"category\": \"template\",\n \"client\": \"trait-wars\"\n },\n \"conditional-wrapper\": {\n \"component\": \"ConditionalWrapper\",\n \"importPath\": \"@/components/atoms/ConditionalWrapper\",\n \"category\": \"component\"\n },\n \"law-reference-tooltip\": {\n \"component\": \"LawReferenceTooltip\",\n \"importPath\": \"@/components/atoms/LawReferenceTooltip\",\n \"category\": \"component\"\n },\n \"overlay\": {\n \"component\": \"Overlay\",\n \"importPath\": \"@/components/atoms/Overlay\",\n \"category\": \"container\"\n },\n \"stack\": {\n \"component\": \"Stack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"vstack\": {\n \"component\": \"VStack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"hstack\": {\n \"component\": \"HStack\",\n \"importPath\": \"@/components/atoms/Stack\",\n \"category\": \"component\"\n },\n \"text-highlight\": {\n \"component\": \"TextHighlight\",\n \"importPath\": \"@/components/atoms/TextHighlight\",\n \"category\": \"component\"\n },\n \"theme-toggle\": {\n \"component\": \"ThemeToggle\",\n \"importPath\": \"@/components/atoms/ThemeToggle\",\n \"category\": \"component\"\n },\n \"typography\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n },\n \"control-button\": {\n \"component\": \"ControlButton\",\n \"importPath\": \"@/components/atoms/ControlButton\",\n \"category\": \"component\"\n },\n \"health-bar\": {\n \"component\": \"HealthBar\",\n \"importPath\": \"@/components/atoms/HealthBar\",\n \"category\": \"component\"\n },\n \"score-display\": {\n \"component\": \"ScoreDisplay\",\n \"importPath\": \"@/components/atoms/ScoreDisplay\",\n \"category\": \"component\"\n },\n \"sprite\": {\n \"component\": \"Sprite\",\n \"importPath\": \"@/components/atoms/Sprite\",\n \"category\": \"game\"\n },\n \"flex\": {\n \"component\": \"Flex\",\n \"importPath\": \"@/components/molecules/Flex\",\n \"category\": \"component\"\n },\n \"floating-action-button\": {\n \"component\": \"FloatingActionButton\",\n \"importPath\": \"@/components/molecules/FloatingActionButton\",\n \"category\": \"component\"\n },\n \"form-field\": {\n \"component\": \"FormField\",\n \"importPath\": \"@/components/molecules/FormField\",\n \"category\": \"form\"\n },\n \"form-section-header\": {\n \"component\": \"FormSectionHeader\",\n \"importPath\": \"@/components/molecules/FormSectionHeader\",\n \"category\": \"form\"\n },\n \"input-group\": {\n \"component\": \"InputGroup\",\n \"importPath\": \"@/components/molecules/InputGroup\",\n \"category\": \"form\"\n },\n \"relation-select\": {\n \"component\": \"RelationSelect\",\n \"importPath\": \"@/components/molecules/RelationSelect\",\n \"category\": \"form\"\n },\n \"side-panel\": {\n \"component\": \"SidePanel\",\n \"importPath\": \"@/components/molecules/SidePanel\",\n \"category\": \"component\"\n },\n \"violation-alert\": {\n \"component\": \"ViolationAlert\",\n \"importPath\": \"@/components/molecules/ViolationAlert\",\n \"category\": \"state\"\n },\n \"action-buttons\": {\n \"component\": \"ActionButtons\",\n \"importPath\": \"@/components/molecules/ActionButtons\",\n \"category\": \"component\"\n },\n \"d-pad\": {\n \"component\": \"DPad\",\n \"importPath\": \"@/components/molecules/DPad\",\n \"category\": \"component\"\n },\n \"stat-badge\": {\n \"component\": \"StatBadge\",\n \"importPath\": \"@/components/molecules/StatBadge\",\n \"category\": \"display\"\n },\n \"button-pattern\": {\n \"component\": \"ButtonPattern\",\n \"importPath\": \"@/components/organisms/ButtonPattern\",\n \"category\": \"display\"\n },\n \"custom-pattern\": {\n \"component\": \"CustomPattern\",\n \"importPath\": \"@/components/organisms/CustomPattern\",\n \"category\": \"display\"\n },\n \"drawer-slot\": {\n \"component\": \"DrawerSlot\",\n \"importPath\": \"@/components/organisms/DrawerSlot\",\n \"category\": \"layout\"\n },\n \"header\": {\n \"component\": \"Header\",\n \"importPath\": \"@/components/organisms/Header\",\n \"category\": \"header\"\n },\n \"layout-pattern\": {\n \"component\": \"LayoutPattern\",\n \"importPath\": \"@/components/organisms/LayoutPattern\",\n \"category\": \"layout\"\n },\n \"modal-slot\": {\n \"component\": \"ModalSlot\",\n \"importPath\": \"@/components/organisms/ModalSlot\",\n \"category\": \"layout\"\n },\n \"navigation\": {\n \"component\": \"Navigation\",\n \"importPath\": \"@/components/organisms/Navigation\",\n \"category\": \"navigation\"\n },\n \"orbital-visualization\": {\n \"component\": \"OrbitalVisualization\",\n \"importPath\": \"@/components/organisms/OrbitalVisualization\",\n \"category\": \"display\"\n },\n \"section\": {\n \"component\": \"Section\",\n \"importPath\": \"@/components/organisms/Section\",\n \"category\": \"display\"\n },\n \"sidebar\": {\n \"component\": \"Sidebar\",\n \"importPath\": \"@/components/organisms/Sidebar\",\n \"category\": \"navigation\"\n },\n \"split\": {\n \"component\": \"Split\",\n \"importPath\": \"@/components/organisms/Split\",\n \"category\": \"layout\"\n },\n \"table\": {\n \"component\": \"Table\",\n \"importPath\": \"@/components/organisms/Table\",\n \"category\": \"display\"\n },\n \"toast-slot\": {\n \"component\": \"ToastSlot\",\n \"importPath\": \"@/components/organisms/ToastSlot\",\n \"category\": \"layout\"\n },\n \"u-i-slot-renderer\": {\n \"component\": \"UISlotRenderer\",\n \"importPath\": \"@/components/organisms/UISlotRenderer\",\n \"category\": \"layout\"\n },\n \"split-pane\": {\n \"component\": \"SplitPane\",\n \"importPath\": \"@/components/organisms/SplitPane\",\n \"category\": \"layout\"\n },\n \"tabbed-container\": {\n \"component\": \"TabbedContainer\",\n \"importPath\": \"@/components/organisms/TabbedContainer\",\n \"category\": \"navigation\"\n },\n \"auth-layout\": {\n \"component\": \"AuthLayout\",\n \"importPath\": \"@/components/templates/AuthLayout\",\n \"category\": \"template\"\n },\n \"counter-template\": {\n \"component\": \"CounterTemplate\",\n \"importPath\": \"@/components/templates/CounterTemplate\",\n \"category\": \"template\"\n },\n \"dashboard-layout\": {\n \"component\": \"DashboardLayout\",\n \"importPath\": \"@/components/templates/DashboardLayout\",\n \"category\": \"template\"\n },\n \"game-template\": {\n \"component\": \"GameTemplate\",\n \"importPath\": \"@/components/templates/GameTemplate\",\n \"category\": \"template\"\n },\n \"generic-app-template\": {\n \"component\": \"GenericAppTemplate\",\n \"importPath\": \"@/components/templates/GenericAppTemplate\",\n \"category\": \"template\"\n },\n \"game-shell\": {\n \"component\": \"GameShell\",\n \"importPath\": \"@/components/templates/GameShell\",\n \"category\": \"template\"\n },\n \"chart\": {\n \"component\": \"Chart\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"meter\": {\n \"component\": \"Meter\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"timeline\": {\n \"component\": \"Timeline\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"media-gallery\": {\n \"component\": \"MediaGallery\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"media\"\n },\n \"signature-pad\": {\n \"component\": \"SignaturePad\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"form\"\n },\n \"document-viewer\": {\n \"component\": \"DocumentViewer\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"graph-canvas\": {\n \"component\": \"GraphCanvas\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"visualization\"\n },\n \"code-viewer\": {\n \"component\": \"CodeViewer\",\n \"importPath\": \"@almadar/ui\",\n \"category\": \"display\"\n },\n \"canvas-effect\": {\n \"component\": \"CanvasEffect\",\n \"importPath\": \"@/components/organisms/CanvasEffect\",\n \"category\": \"game\"\n },\n \"isometric-canvas\": {\n \"component\": \"IsometricCanvas\",\n \"importPath\": \"@/components/organisms/IsometricCanvas\",\n \"category\": \"game\"\n },\n \"battle-template\": {\n \"component\": \"BattleTemplate\",\n \"importPath\": \"@/components/templates/BattleTemplate\",\n \"category\": \"template\"\n },\n \"castle-template\": {\n \"component\": \"CastleTemplate\",\n \"importPath\": \"@/components/templates/CastleTemplate\",\n \"category\": \"template\"\n },\n \"world-map-template\": {\n \"component\": \"WorldMapTemplate\",\n \"importPath\": \"@/components/templates/WorldMapTemplate\",\n \"category\": \"template\"\n },\n \"battle-board\": {\n \"component\": \"BattleBoard\",\n \"importPath\": \"@/components/organisms/BattleBoard\",\n \"category\": \"game\"\n },\n \"castle-board\": {\n \"component\": \"CastleBoard\",\n \"importPath\": \"@/components/organisms/CastleBoard\",\n \"category\": \"game\"\n },\n \"game-canvas3-d\": {\n \"component\": \"GameCanvas3D\",\n \"importPath\": \"@/components/organisms/GameCanvas3D\",\n \"category\": \"game\"\n },\n \"world-map-board\": {\n \"component\": \"WorldMapBoard\",\n \"importPath\": \"@/components/organisms/WorldMapBoard\",\n \"category\": \"game\"\n },\n \"collapsible-section\": {\n \"component\": \"CollapsibleSection\",\n \"importPath\": \"@/components/organisms/CollapsibleSection\",\n \"category\": \"display\"\n },\n \"camera3-d\": {\n \"component\": \"Camera3D\",\n \"importPath\": \"@/components/organisms/Camera3D\",\n \"category\": \"display\"\n },\n \"lighting3-d\": {\n \"component\": \"Lighting3D\",\n \"importPath\": \"@/components/organisms/Lighting3D\",\n \"category\": \"display\"\n },\n \"scene3-d\": {\n \"component\": \"Scene3D\",\n \"importPath\": \"@/components/organisms/Scene3D\",\n \"category\": \"display\"\n },\n \"canvas3-d-error-boundary\": {\n \"component\": \"Canvas3DErrorBoundary\",\n \"importPath\": \"@/components/organisms/Canvas3DErrorBoundary\",\n \"category\": \"state\"\n },\n \"canvas3-d-loading-state\": {\n \"component\": \"Canvas3DLoadingState\",\n \"importPath\": \"@/components/organisms/Canvas3DLoadingState\",\n \"category\": \"display\"\n },\n \"model-loader\": {\n \"component\": \"ModelLoader\",\n \"importPath\": \"@/components/organisms/ModelLoader\",\n \"category\": \"display\"\n },\n \"physics-object3-d\": {\n \"component\": \"PhysicsObject3D\",\n \"importPath\": \"@/components/organisms/PhysicsObject3D\",\n \"category\": \"display\"\n },\n \"feature-renderer\": {\n \"component\": \"FeatureRenderer\",\n \"importPath\": \"@/components/organisms/FeatureRenderer\",\n \"category\": \"display\"\n },\n \"feature-renderer3-d\": {\n \"component\": \"FeatureRenderer3D\",\n \"importPath\": \"@/components/organisms/FeatureRenderer3D\",\n \"category\": \"display\"\n },\n \"tile-renderer\": {\n \"component\": \"TileRenderer\",\n \"importPath\": \"@/components/organisms/TileRenderer\",\n \"category\": \"game\"\n },\n \"unit-renderer\": {\n \"component\": \"UnitRenderer\",\n \"importPath\": \"@/components/organisms/UnitRenderer\",\n \"category\": \"display\"\n },\n \"game-canvas3-d-battle-template\": {\n \"component\": \"GameCanvas3DBattleTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DBattleTemplate\",\n \"category\": \"template\"\n },\n \"game-canvas3-d-castle-template\": {\n \"component\": \"GameCanvas3DCastleTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DCastleTemplate\",\n \"category\": \"template\"\n },\n \"game-canvas3-d-world-map-template\": {\n \"component\": \"GameCanvas3DWorldMapTemplate\",\n \"importPath\": \"@/components/templates/GameCanvas3DWorldMapTemplate\",\n \"category\": \"template\"\n },\n \"state-indicator\": {\n \"component\": \"StateIndicator\",\n \"importPath\": \"@/components/atoms/StateIndicator\",\n \"category\": \"display\"\n },\n \"error-boundary\": {\n \"component\": \"ErrorBoundary\",\n \"importPath\": \"@/components/molecules/ErrorBoundary\",\n \"category\": \"state\"\n },\n \"skeleton\": {\n \"component\": \"Skeleton\",\n \"importPath\": \"@/components/molecules/Skeleton\",\n \"category\": \"component\"\n },\n \"game-audio-provider\": {\n \"component\": \"GameAudioProvider\",\n \"importPath\": \"@/components/organisms/GameAudioProvider\",\n \"category\": \"game\"\n },\n \"game-audio-toggle\": {\n \"component\": \"GameAudioToggle\",\n \"importPath\": \"@/components/organisms/GameAudioToggle\",\n \"category\": \"game\"\n },\n \"trait-slot\": {\n \"component\": \"TraitSlot\",\n \"importPath\": \"@/components/organisms/TraitSlot\",\n \"category\": \"layout\"\n },\n \"trait-state-viewer\": {\n \"component\": \"TraitStateViewer\",\n \"importPath\": \"@/components/organisms/TraitStateViewer\",\n \"category\": \"display\"\n },\n \"uncontrolled-battle-board\": {\n \"component\": \"UncontrolledBattleBoard\",\n \"importPath\": \"@/components/organisms/UncontrolledBattleBoard\",\n \"category\": \"game\"\n },\n \"quiz-block\": {\n \"component\": \"QuizBlock\",\n \"importPath\": \"@/components/molecules/QuizBlock\",\n \"category\": \"component\"\n },\n \"code-block\": {\n \"component\": \"CodeBlock\",\n \"importPath\": \"@/components/molecules/CodeBlock\",\n \"category\": \"component\"\n },\n \"markdown-content\": {\n \"component\": \"MarkdownContent\",\n \"importPath\": \"@/components/molecules/MarkdownContent\",\n \"category\": \"component\"\n },\n \"content-renderer\": {\n \"component\": \"ContentRenderer\",\n \"importPath\": \"@/components/organisms/ContentRenderer\",\n \"category\": \"display\"\n },\n \"jazari-state-machine\": {\n \"component\": \"JazariStateMachine\",\n \"importPath\": \"@/components/organisms/JazariStateMachine\",\n \"category\": \"display\"\n },\n \"state-machine-view\": {\n \"component\": \"StateMachineView\",\n \"importPath\": \"@/components/organisms/StateMachineView\",\n \"category\": \"display\"\n },\n \"book-chapter-view\": {\n \"component\": \"BookChapterView\",\n \"importPath\": \"@/components/organisms/BookChapterView\",\n \"category\": \"display\"\n },\n \"book-cover-page\": {\n \"component\": \"BookCoverPage\",\n \"importPath\": \"@/components/organisms/BookCoverPage\",\n \"category\": \"display\"\n },\n \"book-nav-bar\": {\n \"component\": \"BookNavBar\",\n \"importPath\": \"@/components/organisms/BookNavBar\",\n \"category\": \"navigation\"\n },\n \"book-table-of-contents\": {\n \"component\": \"BookTableOfContents\",\n \"importPath\": \"@/components/organisms/BookTableOfContents\",\n \"category\": \"display\"\n },\n \"book-viewer\": {\n \"component\": \"BookViewer\",\n \"importPath\": \"@/components/organisms/BookViewer\",\n \"category\": \"display\"\n },\n \"scaled-diagram\": {\n \"component\": \"ScaledDiagram\",\n \"importPath\": \"@/components/molecules/ScaledDiagram\",\n \"category\": \"component\"\n },\n \"combat-log\": {\n \"component\": \"CombatLog\",\n \"importPath\": \"@/components/organisms/CombatLog\",\n \"category\": \"game\"\n },\n \"simulation-canvas\": {\n \"component\": \"SimulationCanvas\",\n \"importPath\": \"@/components/organisms/SimulationCanvas\",\n \"category\": \"game\"\n },\n \"simulation-controls\": {\n \"component\": \"SimulationControls\",\n \"importPath\": \"@/components/organisms/SimulationControls\",\n \"category\": \"display\"\n },\n \"simulation-graph\": {\n \"component\": \"SimulationGraph\",\n \"importPath\": \"@/components/organisms/SimulationGraph\",\n \"category\": \"display\"\n },\n \"builder-board\": {\n \"component\": \"BuilderBoard\",\n \"importPath\": \"@/components/organisms/BuilderBoard\",\n \"category\": \"game\"\n },\n \"classifier-board\": {\n \"component\": \"ClassifierBoard\",\n \"importPath\": \"@/components/organisms/ClassifierBoard\",\n \"category\": \"game\"\n },\n \"debugger-board\": {\n \"component\": \"DebuggerBoard\",\n \"importPath\": \"@/components/organisms/DebuggerBoard\",\n \"category\": \"game\"\n },\n \"event-handler-board\": {\n \"component\": \"EventHandlerBoard\",\n \"importPath\": \"@/components/organisms/EventHandlerBoard\",\n \"category\": \"game\"\n },\n \"event-log\": {\n \"component\": \"EventLog\",\n \"importPath\": \"@/components/organisms/EventLog\",\n \"category\": \"display\"\n },\n \"object-rule-panel\": {\n \"component\": \"ObjectRulePanel\",\n \"importPath\": \"@/components/organisms/ObjectRulePanel\",\n \"category\": \"display\"\n },\n \"rule-editor\": {\n \"component\": \"RuleEditor\",\n \"importPath\": \"@/components/organisms/RuleEditor\",\n \"category\": \"display\"\n },\n \"negotiator-board\": {\n \"component\": \"NegotiatorBoard\",\n \"importPath\": \"@/components/organisms/NegotiatorBoard\",\n \"category\": \"game\"\n },\n \"action-palette\": {\n \"component\": \"ActionPalette\",\n \"importPath\": \"@/components/organisms/ActionPalette\",\n \"category\": \"display\"\n },\n \"action-tile\": {\n \"component\": \"ActionTile\",\n \"importPath\": \"@/components/organisms/ActionTile\",\n \"category\": \"game\"\n },\n \"sequence-bar\": {\n \"component\": \"SequenceBar\",\n \"importPath\": \"@/components/organisms/SequenceBar\",\n \"category\": \"display\"\n },\n \"sequencer-board\": {\n \"component\": \"SequencerBoard\",\n \"importPath\": \"@/components/organisms/SequencerBoard\",\n \"category\": \"game\"\n },\n \"simulator-board\": {\n \"component\": \"SimulatorBoard\",\n \"importPath\": \"@/components/organisms/SimulatorBoard\",\n \"category\": \"game\"\n },\n \"code-view\": {\n \"component\": \"CodeView\",\n \"importPath\": \"@/components/organisms/CodeView\",\n \"category\": \"display\"\n },\n \"state-architect-board\": {\n \"component\": \"StateArchitectBoard\",\n \"importPath\": \"@/components/organisms/StateArchitectBoard\",\n \"category\": \"display\"\n },\n \"state-node\": {\n \"component\": \"StateNode\",\n \"importPath\": \"@/components/organisms/StateNode\",\n \"category\": \"display\"\n },\n \"transition-arrow\": {\n \"component\": \"TransitionArrow\",\n \"importPath\": \"@/components/organisms/TransitionArrow\",\n \"category\": \"display\"\n },\n \"variable-panel\": {\n \"component\": \"VariablePanel\",\n \"importPath\": \"@/components/organisms/VariablePanel\",\n \"category\": \"display\"\n },\n \"heading\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n },\n \"text\": {\n \"component\": \"Typography\",\n \"importPath\": \"@/components/atoms/Typography\",\n \"category\": \"component\"\n }\n }\n}\n","{\n \"version\": \"1.0.0\",\n \"exportedAt\": \"2026-03-06T07:07:47.853Z\",\n \"contracts\": {\n \"form\": {\n \"emits\": [\n {\n \"event\": \"GLOBAL_VARIABLE_SET\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIOLATION_DETECTED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"FIELD_CHANGED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [\n \"SAVE\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"form-section\": {\n \"emits\": [\n {\n \"event\": \"GLOBAL_VARIABLE_SET\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIOLATION_DETECTED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"FIELD_CHANGED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [\n \"SAVE\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"form-actions\": {\n \"emits\": [\n {\n \"event\": \"DISPATCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-table\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"VIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SORT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-cards\": {\n \"emits\": [\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"entity-list\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"detail-panel\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"page-header\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"filter-group\": {\n \"emits\": [\n {\n \"event\": \"FILTER\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLEAR_FILTERS\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true,\n \"configDriven\": true\n },\n \"search-input\": {\n \"emits\": [\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLEAR_SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"empty-state\": {\n \"emits\": [\n {\n \"event\": \"CREATE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"loading-state\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"error-state\": {\n \"emits\": [\n {\n \"event\": \"RETRY\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"notification\": {\n \"emits\": [\n {\n \"event\": \"DISMISS\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n },\n {\n \"event\": \"ACTION\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"tabs\": {\n \"emits\": [\n {\n \"event\": \"TAB_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"tabId\": \"string\"\n }\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"breadcrumb\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"wizard-container\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_NEXT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_BACK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_COMPLETE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_STEP_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"step\": \"number\"\n }\n }\n }\n ],\n \"requires\": [\n \"WIZARD_COMPLETE\"\n ],\n \"entityAware\": true\n },\n \"wizard-progress\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_STEP_CLICK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"step\": \"number\"\n }\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"wizard-navigation\": {\n \"emits\": [\n {\n \"event\": \"WIZARD_NEXT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_BACK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"WIZARD_COMPLETE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"pagination\": {\n \"emits\": [\n {\n \"event\": \"PAGE_CHANGE\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"page\": \"number\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"modal\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"close\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CLOSE\"\n ],\n \"entityAware\": false\n },\n \"drawer\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"close\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CLOSE\"\n ],\n \"entityAware\": false\n },\n \"confirm-dialog\": {\n \"emits\": [\n {\n \"event\": \"CONFIRM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [\n \"CONFIRM\",\n \"CANCEL\"\n ],\n \"entityAware\": true\n },\n \"master-detail\": {\n \"emits\": [\n {\n \"event\": \"SELECT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"dashboard-grid\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": true\n },\n \"stats\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": true\n },\n \"card\": {\n \"emits\": [\n {\n \"event\": \"CLICK\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"game-hud\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"game-menu\": {\n \"emits\": [\n {\n \"event\": \"NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false,\n \"configDriven\": true\n },\n \"game-over-screen\": {\n \"emits\": [\n {\n \"event\": \"RESTART\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"QUIT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"void\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [\n \"RESTART\"\n ],\n \"entityAware\": false\n },\n \"inventory-panel\": {\n \"emits\": [\n {\n \"event\": \"USE_ITEM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n },\n \"optional\": true\n },\n {\n \"event\": \"DROP_ITEM\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"EntityRow\"\n },\n \"optional\": true\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"dialogue-box\": {\n \"emits\": [\n {\n \"event\": \"COMPLETE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CHOICE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"ADVANCE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"runtime-debugger\": {\n \"emits\": [],\n \"requires\": [],\n \"entityAware\": false\n },\n \"repeatable-form-section\": {\n \"emits\": [\n {\n \"event\": \"SECTION_ADDED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SECTION_REMOVED\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"studio-home-web\": {\n \"emits\": [\n {\n \"event\": \"CREATE_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"SELECT_PROJECT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"DELETE_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"OPEN_PROJECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"project\": \"object\"\n }\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"input\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"query\": \"string\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"studio-home-electron\": {\n \"emits\": [\n {\n \"event\": \"OPEN_FILE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"CREATE_NEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"OPEN_RECENT\",\n \"trigger\": \"click\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"file\": \"object\"\n }\n }\n },\n {\n \"event\": \"REMOVE_RECENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"file\": \"object\"\n }\n }\n },\n {\n \"event\": \"CLEAR_RECENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"studio-project\": {\n \"emits\": [\n {\n \"event\": \"MODE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"mode\": \"string\"\n }\n }\n },\n {\n \"event\": \"TAB_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"tab\": \"string\"\n }\n }\n },\n {\n \"event\": \"SAVE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"VALIDATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"COMPILE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"PREVIEW\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"projectId\": \"string\"\n }\n }\n },\n {\n \"event\": \"BACK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"void\"\n }\n },\n {\n \"event\": \"TOGGLE_AGENT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"visible\": \"boolean\"\n }\n }\n },\n {\n \"event\": \"TOGGLE_INSPECTOR\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\",\n \"shape\": {\n \"visible\": \"boolean\"\n }\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"drawer-slot\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"modal-slot\": {\n \"emits\": [\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CANCEL\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"toast-slot\": {\n \"emits\": [\n {\n \"event\": \"DISMISS\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"CLOSE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"code-viewer\": {\n \"emits\": [\n {\n \"event\": \"CODE_COPY\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"document-viewer\": {\n \"emits\": [\n {\n \"event\": \"DOCUMENT_DOWNLOAD\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DOCUMENT_PRINT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DOCUMENT_PAGE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"media-gallery\": {\n \"emits\": [\n {\n \"event\": \"MEDIA_SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"table\": {\n \"emits\": [\n {\n \"event\": \"SORT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"DESELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"PAGINATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"SEARCH\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"code-block\": {\n \"emits\": [\n {\n \"event\": \"COPY_CODE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"book-cover-page\": {\n \"emits\": [\n {\n \"event\": \"BOOK_START\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-nav-bar\": {\n \"emits\": [\n {\n \"event\": \"BOOK_PAGE_PREV\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-table-of-contents\": {\n \"emits\": [\n {\n \"event\": \"BOOK_NAVIGATE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"book-viewer\": {\n \"emits\": [\n {\n \"event\": \"BOOK_PAGE_CHANGE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"action-buttons\": {\n \"emits\": [\n {\n \"event\": \"ACTION\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"d-pad\": {\n \"emits\": [\n {\n \"event\": \"DIRECTION\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": false\n },\n \"isometric-canvas\": {\n \"emits\": [\n {\n \"event\": \"TILE_CLICK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"UNIT_CLICK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"TILE_HOVER\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"TILE_LEAVE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"trait-slot\": {\n \"emits\": [\n {\n \"event\": \"CLICK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"REMOVE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n },\n \"world-map-board\": {\n \"emits\": [\n {\n \"event\": \"HERO_SELECT\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"HERO_MOVE\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"BATTLE_ENCOUNTER\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"FEATURE_ENTER\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n },\n {\n \"event\": \"TILE_CLICK\",\n \"trigger\": \"action\",\n \"payload\": {\n \"type\": \"object\"\n }\n }\n ],\n \"requires\": [],\n \"entityAware\": true\n }\n }\n}\n","/**\n * Pattern Types (Auto-Generated)\n *\n * DO NOT EDIT MANUALLY - Generated by scripts/generate-pattern-types.ts\n * Run: npx tsx scripts/generate-pattern-types.ts\n *\n * Generated: 2026-02-10T14:06:03.975Z\n * Pattern count: 120\n */\n\n/**\n * All valid pattern type names from almadar-patterns registry.\n * Use this type in render-ui effects for compile-time validation.\n */\nexport type PatternType =\n | 'accordion'\n | 'action-buttons'\n | 'alert'\n | 'auth-layout'\n | 'avatar'\n | 'badge'\n | 'battle-template'\n | 'box'\n | 'breadcrumb'\n | 'button'\n | 'button-pattern'\n | 'canvas-effect'\n | 'card'\n | 'castle-template'\n | 'center'\n | 'chart'\n | 'checkbox'\n | 'code-viewer'\n | 'conditional-wrapper'\n | 'confirm-dialog'\n | 'container'\n | 'control-button'\n | 'counter-template'\n | 'crud-template'\n | 'custom-pattern'\n | 'd-pad'\n | 'dashboard-grid'\n | 'dashboard-layout'\n | 'detail-panel'\n | 'dialogue-box'\n | 'divider'\n | 'document-viewer'\n | 'drawer'\n | 'drawer-slot'\n | 'empty-state'\n | 'entity-cards'\n | 'entity-list'\n | 'entity-table'\n | 'error-state'\n | 'filter-group'\n | 'flex'\n | 'floating-action-button'\n | 'form'\n | 'form-actions'\n | 'form-field'\n | 'form-section'\n | 'form-section-header'\n | 'form-template'\n | 'game-hud'\n | 'game-menu'\n | 'game-over-screen'\n | 'game-shell'\n | 'game-template'\n | 'generic-app-template'\n | 'graph-canvas'\n | 'grid'\n | 'header'\n | 'health-bar'\n | 'icon'\n | 'input'\n | 'input-group'\n | 'inventory-panel'\n | 'isometric-canvas'\n | 'label'\n | 'law-reference-tooltip'\n | 'layout-pattern'\n | 'list-template'\n | 'loading-state'\n | 'master-detail'\n | 'media-gallery'\n | 'menu'\n | 'meter'\n | 'modal'\n | 'modal-slot'\n | 'navigation'\n | 'notification'\n | 'orbital-visualization'\n | 'overlay'\n | 'page-header'\n | 'pagination'\n | 'popover'\n | 'progress-bar'\n | 'radio'\n | 'relation-select'\n | 'repeatable-form-section'\n | 'runtime-debugger'\n | 'score-display'\n | 'search-input'\n | 'section'\n | 'select'\n | 'settings-template'\n | 'side-panel'\n | 'sidebar'\n | 'signature-pad'\n | 'simple-grid'\n | 'spacer'\n | 'spinner'\n | 'split'\n | 'split-pane'\n | 'sprite'\n | 'stack'\n | 'stat-badge'\n | 'stats'\n | 'switch'\n | 'tabbed-container'\n | 'table'\n | 'tabs'\n | 'text-highlight'\n | 'textarea'\n | 'theme-toggle'\n | 'timeline'\n | 'toast-slot'\n | 'tooltip'\n | 'typography'\n | 'u-i-slot-renderer'\n | 'violation-alert'\n | 'wizard-container'\n | 'wizard-navigation'\n | 'wizard-progress'\n | 'world-map-template';\n\n/**\n * Pattern props map - each pattern type maps to its valid props interface.\n * This enables full type-checking of pattern configurations.\n */\nexport interface PatternPropsMap {\n 'accordion': {\n type: 'accordion';\n /** Accordion items */\n items: unknown[] | string;\n /** Allow multiple items open at once @default false */\n multiple?: boolean | string;\n /** Default open items (IDs) */\n defaultOpenItems?: unknown[] | string;\n /** Default open items by index (pattern compatibility) */\n defaultOpen?: unknown[] | string;\n /** Controlled open items (IDs) */\n openItems?: unknown[] | string;\n /** Callback when item opens/closes */\n onItemToggle?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'action-buttons': {\n type: 'action-buttons';\n /** Button configurations */\n buttons: unknown[] | string;\n /** Called when a button is pressed/released */\n onAction: ((...args: unknown[]) => unknown) | string;\n /** Layout variant */\n layout?: string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Disabled state */\n disabled?: boolean | string;\n };\n 'alert': {\n type: 'alert';\n /** Alert content (children or message) */\n children?: unknown | string;\n /** Alert message (alias for children) */\n message?: string;\n /** variant prop */\n variant?: unknown | string;\n /** title prop */\n title?: string;\n /** dismissible prop */\n dismissible?: boolean | string;\n /** onDismiss prop */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** onClose prop */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** actions prop */\n actions?: unknown | string;\n /** className prop */\n className?: string;\n };\n 'auth-layout': {\n type: 'auth-layout';\n /** App name */\n appName?: string;\n /** Logo component or URL */\n logo?: unknown | string;\n /** Background image URL */\n backgroundImage?: string;\n /** Show branding panel on the side */\n showBranding?: boolean | string;\n /** Branding panel content */\n brandingContent?: unknown | string;\n };\n 'avatar': {\n type: 'avatar';\n /** Image source URL */\n src?: string;\n /** Alt text for the image */\n alt?: string;\n /** Full name - initials will be generated automatically */\n name?: string;\n /** Initials to display (e.g., \"JD\" for John Doe) If not provided but name is, initials will be auto-generated */\n initials?: string;\n /** Icon to display when no image or initials */\n icon?: unknown | string;\n /** Size of the avatar @default 'md' */\n size?: unknown | string;\n /** Status indicator */\n status?: unknown | string;\n /** Badge content (e.g., notification count) */\n badge?: string | number;\n /** Additional CSS classes */\n className?: string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n };\n 'badge': {\n type: 'badge';\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n };\n 'battle-template': {\n type: 'battle-template';\n /** Initial units for the battle */\n initialUnits: unknown[] | string;\n /** Isometric tiles (pre-resolved with terrainSprite) */\n tiles: unknown[] | string;\n /** Canvas render scale */\n scale?: number | string;\n /** Board width for bounds checking */\n boardWidth?: number | string;\n /** Board height for bounds checking */\n boardHeight?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL for canvas */\n backgroundImage?: string;\n /** Unit draw-size multiplier */\n unitScale?: number | string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Sidebar content (combat log, unit roster, etc.) */\n sidebar?: ((...args: unknown[]) => unknown) | string;\n /** Floating action buttons */\n actions?: ((...args: unknown[]) => unknown) | string;\n /** Floating overlays above the canvas (damage popups, tooltips) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Game-over screen overlay */\n gameOverOverlay?: ((...args: unknown[]) => unknown) | string;\n /** -- Obstacle features -- */\n features?: unknown[] | string;\n /** -- Callbacks -- */\n onAttack?: ((...args: unknown[]) => unknown) | string;\n /** Called when battle ends */\n onGameEnd?: ((...args: unknown[]) => unknown) | string;\n /** Called after a unit moves */\n onUnitMove?: ((...args: unknown[]) => unknown) | string;\n /** Custom combat damage calculator */\n calculateDamage?: ((...args: unknown[]) => unknown) | string;\n /** -- Canvas pass-through -- */\n onDrawEffects?: ((...args: unknown[]) => unknown) | string;\n /** hasActiveEffects prop */\n hasActiveEffects?: boolean | string;\n /** effectSpriteUrls prop */\n effectSpriteUrls?: unknown[] | string;\n /** resolveUnitFrame prop */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'box': {\n type: 'box';\n /** Padding on all sides */\n padding?: unknown | string;\n /** Horizontal padding (overrides padding for x-axis) */\n paddingX?: unknown | string;\n /** Vertical padding (overrides padding for y-axis) */\n paddingY?: unknown | string;\n /** Margin on all sides */\n margin?: unknown | string;\n /** Horizontal margin */\n marginX?: unknown | string;\n /** Vertical margin */\n marginY?: unknown | string;\n /** Background color */\n bg?: unknown | string;\n /** Show border */\n border?: boolean | string;\n /** Border radius */\n rounded?: unknown | string;\n /** Box shadow */\n shadow?: unknown | string;\n /** Display type */\n display?: string;\n /** Fill available width */\n fullWidth?: boolean | string;\n /** Fill available height */\n fullHeight?: boolean | string;\n /** Overflow behavior */\n overflow?: string;\n /** Position */\n position?: string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'breadcrumb': {\n type: 'breadcrumb';\n /** Breadcrumb items */\n items: unknown[] | string;\n /** Separator icon */\n separator?: unknown | string;\n /** Maximum items to show (truncates with ellipsis) */\n maxItems?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'button': {\n type: 'button';\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** isLoading prop */\n isLoading?: boolean | string;\n /** Left icon as ReactNode (preferred) */\n leftIcon?: unknown | string;\n /** Right icon as ReactNode (preferred) */\n rightIcon?: unknown | string;\n /** Left icon as Lucide icon component (convenience prop, renders with default size) */\n icon?: unknown | string;\n /** Right icon as Lucide icon component (convenience prop) */\n iconRight?: unknown | string;\n };\n 'button-pattern': {\n type: 'button-pattern';\n /** label prop */\n label: string;\n /** variant prop */\n variant?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** disabled prop */\n disabled?: boolean | string;\n /** onClick prop */\n onClick?: string;\n /** icon prop */\n icon?: string;\n /** iconPosition prop */\n iconPosition?: string;\n /** className prop */\n className?: string;\n };\n 'canvas-effect': {\n type: 'canvas-effect';\n /** The type of combat action to visualise */\n actionType: unknown | string;\n /** Screen-space X position (center of the effect) */\n x: number | string;\n /** Screen-space Y position (center of the effect) */\n y: number | string;\n /** Duration in ms before auto-dismiss (default 2000 for canvas, 800 for emoji) */\n duration?: number | string;\n /** Optional intensity multiplier (1 = normal, 2 = double size/brightness) */\n intensity?: number | string;\n /** Callback when the effect animation completes */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** --- Remote asset loading --- */\n effectSpriteUrl?: string;\n /** Base URL for remote assets. Prepended to relative effectSpriteUrl paths. */\n assetBaseUrl?: string;\n /** Full effect asset manifest for the sprite particle engine. When provided, enables the canvas-based particle system. */\n assetManifest?: unknown | string;\n /** Canvas width (default 400) */\n width?: number | string;\n /** Canvas height (default 300) */\n height?: number | string;\n };\n 'card': {\n type: 'card';\n /** Card title */\n title?: string;\n /** Card subtitle or description */\n subtitle?: string;\n /** Image URL to display at top of card */\n image?: string;\n /** Action buttons to display in card footer */\n actions?: unknown[] | string;\n /** Card content */\n children?: unknown | string;\n /** Click handler for the entire card */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'castle-template': {\n type: 'castle-template';\n /** Isometric tiles (pre-resolved with terrainSprite) */\n tiles: unknown[] | string;\n /** Building features rendered on the grid */\n features?: unknown[] | string;\n /** Garrison / stationed units on the grid */\n units?: unknown[] | string;\n /** Canvas render scale */\n scale?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL */\n backgroundImage?: string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Side panel content (buildings list, recruit tab, garrison tab) */\n sidePanel?: ((...args: unknown[]) => unknown) | string;\n /** Canvas overlay (hover tooltips, etc.) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Bottom bar (income summary, etc.) */\n footer?: ((...args: unknown[]) => unknown) | string;\n /** -- Callbacks -- */\n onFeatureClick?: ((...args: unknown[]) => unknown) | string;\n /** Called when a unit is clicked */\n onUnitClick?: ((...args: unknown[]) => unknown) | string;\n /** Called when any tile is clicked */\n onTileClick?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'center': {\n type: 'center';\n /** Center inline (width fits content) vs block (full width) */\n inline?: boolean | string;\n /** Center only horizontally */\n horizontal?: boolean | string;\n /** Center only vertically */\n vertical?: boolean | string;\n /** Minimum height (useful for vertical centering) */\n minHeight?: string | number;\n /** Fill available height */\n fullHeight?: boolean | string;\n /** Fill available width */\n fullWidth?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'chart': {\n type: 'chart';\n /** Chart title */\n title?: string;\n /** Chart subtitle / description */\n subtitle?: string;\n /** Chart type */\n chartType?: unknown | string;\n /** Data series */\n series?: unknown | string;\n /** Simple data (single series shorthand) */\n data?: unknown | string;\n /** Chart height in px */\n height?: number | string;\n /** Show legend */\n showLegend?: boolean | string;\n /** Show values on chart */\n showValues?: boolean | string;\n /** Actions for chart interactions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'checkbox': {\n type: 'checkbox';\n /** label prop */\n label?: string;\n };\n 'code-viewer': {\n type: 'code-viewer';\n /** Viewer title */\n title?: string;\n /** Code content */\n code?: string;\n /** Language for display label */\n language?: string;\n /** Diff lines (for diff mode) */\n diff?: unknown | string;\n /** Old value (for generating diff) */\n oldValue?: string;\n /** New value (for generating diff) */\n newValue?: string;\n /** Display mode */\n mode?: unknown | string;\n /** Show line numbers */\n showLineNumbers?: boolean | string;\n /** Show copy button */\n showCopy?: boolean | string;\n /** Enable word wrap */\n wordWrap?: boolean | string;\n /** Max height before scrolling */\n maxHeight?: number | string;\n /** Multiple files (tabbed view) */\n files?: unknown | string;\n /** Actions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'conditional-wrapper': {\n type: 'conditional-wrapper';\n /** The S-expression condition to evaluate */\n condition?: unknown | string;\n /** Context for evaluating the condition */\n context: unknown | string;\n /** Children to render when condition is true (or when no condition is provided) */\n children: unknown | string;\n /** Optional fallback to render when condition is false */\n fallback?: unknown | string;\n /** Whether to animate the transition (uses CSS transitions) */\n animate?: boolean | string;\n };\n 'confirm-dialog': {\n type: 'confirm-dialog';\n /** Whether the dialog is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when dialog is closed (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Callback when action is confirmed (injected by slot wrapper) */\n onConfirm?: ((...args: unknown[]) => unknown) | string;\n /** Dialog title */\n title: string;\n /** Dialog message/description */\n message?: string | unknown;\n /** Alias for message (schema compatibility) */\n description?: string | unknown;\n /** Confirm button text */\n confirmText?: string;\n /** Alias for confirmText (schema compatibility) */\n confirmLabel?: string;\n /** Cancel button text */\n cancelText?: string;\n /** Alias for cancelText (schema compatibility) */\n cancelLabel?: string;\n /** Dialog variant */\n variant?: unknown | string;\n /** Dialog size */\n size?: unknown | string;\n /** Loading state for confirm button */\n isLoading?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'container': {\n type: 'container';\n /** Maximum width */\n size?: unknown | string;\n /** Alias for size (pattern compatibility) */\n maxWidth?: unknown | string;\n /** Horizontal padding */\n padding?: unknown | string;\n /** Center horizontally */\n center?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children?: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'control-button': {\n type: 'control-button';\n /** Button label text */\n label?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Shape variant */\n shape?: string;\n /** Visual variant */\n variant?: string;\n /** Called when button is pressed */\n onPress?: ((...args: unknown[]) => unknown) | string;\n /** Called when button is released */\n onRelease?: ((...args: unknown[]) => unknown) | string;\n /** Whether the button is currently pressed */\n pressed?: boolean | string;\n /** Whether the button is disabled */\n disabled?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'counter-template': {\n type: 'counter-template';\n /** Current count value */\n count: number | string;\n /** Minimum allowed value */\n min?: number | string;\n /** Maximum allowed value */\n max?: number | string;\n /** Step size for increment/decrement */\n step?: number | string;\n /** Called when increment is clicked */\n onIncrement?: ((...args: unknown[]) => unknown) | string;\n /** Called when decrement is clicked */\n onDecrement?: ((...args: unknown[]) => unknown) | string;\n /** Called when reset is clicked */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Title displayed above the counter */\n title?: string;\n /** Show reset button */\n showReset?: boolean | string;\n /** Counter display size */\n size?: unknown | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'crud-template': {\n type: 'crud-template';\n /** Array of items to display */\n items: unknown[] | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error object if loading failed */\n error?: unknown | string;\n /** Currently selected item for editing */\n selectedItem?: unknown | string;\n /** Whether the create/edit modal is open */\n isModalOpen?: boolean | string;\n /** Current search query */\n searchQuery?: string;\n /** Current sort field */\n sortBy?: string;\n /** Current sort order */\n sortOrder?: string;\n /** Called to load/refresh items */\n onLoad?: ((...args: unknown[]) => unknown) | string;\n /** Called when creating a new item */\n onCreate?: ((...args: unknown[]) => unknown) | string;\n /** Called when updating an item */\n onUpdate?: ((...args: unknown[]) => unknown) | string;\n /** Called when deleting an item */\n onDelete?: ((...args: unknown[]) => unknown) | string;\n /** Called when selecting an item for editing */\n onSelect?: ((...args: unknown[]) => unknown) | string;\n /** Called when viewing an item */\n onView?: ((...args: unknown[]) => unknown) | string;\n /** Called when search query changes */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** Called when sort changes */\n onSort?: ((...args: unknown[]) => unknown) | string;\n /** Called to open create/edit modal */\n onOpenModal?: ((...args: unknown[]) => unknown) | string;\n /** Called to close modal */\n onCloseModal?: ((...args: unknown[]) => unknown) | string;\n /** Page title */\n title?: string;\n /** Singular entity name for labels */\n entityName?: string;\n /** Table column definitions */\n columns?: unknown[] | string;\n /** Form field definitions for create/edit */\n fields?: unknown[] | string;\n /** Whether to show search input */\n showSearch?: boolean | string;\n /** Search input placeholder */\n searchPlaceholder?: string;\n /** Whether to show view action */\n showViewAction?: boolean | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'custom-pattern': {\n type: 'custom-pattern';\n /** HTML element to render */\n component: unknown | string;\n /** Tailwind classes */\n className?: string;\n /** Token path(s) for design token resolution */\n token?: string | unknown[];\n /** Text content (for leaf elements) */\n content?: string;\n /** Event to emit on click (REQUIRED for interactive elements) */\n action?: string;\n /** Event payload */\n payload?: Record<string, unknown> | string;\n /** Nested children patterns */\n children?: unknown | string;\n /** Image source (for img elements) */\n src?: string;\n /** Image alt text (for img elements) */\n alt?: string;\n /** Link href (for a elements) */\n href?: string;\n /** Open link in new tab */\n external?: boolean | string;\n /** Disabled state */\n disabled?: boolean | string;\n /** Additional HTML attributes */\n htmlProps?: Record<string, unknown> | string;\n };\n 'd-pad': {\n type: 'd-pad';\n /** Called when a direction is pressed/released */\n onDirection: ((...args: unknown[]) => unknown) | string;\n /** Size variant */\n size?: string;\n /** Whether to include diagonal buttons */\n includeDiagonals?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Disabled state */\n disabled?: boolean | string;\n };\n 'dashboard-grid': {\n type: 'dashboard-grid';\n /** Number of columns */\n columns?: number | string;\n /** Gap between cells */\n gap?: string;\n /** Cell definitions */\n cells: unknown[] | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'dashboard-layout': {\n type: 'dashboard-layout';\n /** App name shown in sidebar */\n appName?: string;\n /** Logo component or URL */\n logo?: unknown | string;\n /** Navigation items */\n navItems?: unknown[] | string;\n /** Current user info (optional - auto-populated from auth context if not provided) */\n user?: Record<string, unknown> | string;\n /** Header actions (notifications, etc.) */\n headerActions?: unknown | string;\n /** Show search in header */\n showSearch?: boolean | string;\n /** Custom sidebar footer */\n sidebarFooter?: unknown | string;\n /** Callback when user clicks sign out (optional - uses auth context signOut if not provided) */\n onSignOut?: ((...args: unknown[]) => unknown) | string;\n };\n 'detail-panel': {\n type: 'detail-panel';\n /** title prop */\n title?: string;\n /** subtitle prop */\n subtitle?: string;\n /** status prop */\n status?: Record<string, unknown> | string;\n /** avatar prop */\n avatar?: unknown | string;\n /** sections prop */\n sections?: unknown | string;\n /** Unified actions array - first action with variant='primary' is the main action */\n actions?: unknown | string;\n /** footer prop */\n footer?: unknown | string;\n /** slideOver prop */\n slideOver?: boolean | string;\n /** onClose prop */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** data prop */\n data?: Record<string, unknown> | unknown | string;\n /** isLoading prop */\n isLoading?: boolean | string;\n /** error prop */\n error?: unknown | string;\n /** Panel position (for drawer/sidebar placement) */\n position?: string;\n /** Panel width (CSS value, e.g., '400px', '50%') */\n width?: string;\n };\n 'dialogue-box': {\n type: 'dialogue-box';\n /** Current dialogue node to display */\n dialogue: unknown | string;\n /** Typewriter speed in ms per character (0 = instant) */\n typewriterSpeed?: number | string;\n /** Position of dialogue box */\n position?: string;\n /** Called when text animation completes */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Called when a choice is selected */\n onChoice?: ((...args: unknown[]) => unknown) | string;\n /** Called when dialogue is advanced (no choices) */\n onAdvance?: ((...args: unknown[]) => unknown) | string;\n /** Optional className */\n className?: string;\n };\n 'divider': {\n type: 'divider';\n /** Orientation of the divider @default 'horizontal' */\n orientation?: unknown | string;\n /** Text label to display in the divider */\n label?: string;\n /** Line style variant @default 'solid' */\n variant?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'document-viewer': {\n type: 'document-viewer';\n /** Document title */\n title?: string;\n /** Document URL (for PDF/external documents) */\n src?: string;\n /** Document content (for text/html/markdown) */\n content?: string;\n /** Document type */\n documentType?: unknown | string;\n /** Current page (for multi-page documents) */\n currentPage?: number | string;\n /** Total pages */\n totalPages?: number | string;\n /** Viewer height */\n height?: number | string;\n /** Show toolbar */\n showToolbar?: boolean | string;\n /** Show download button */\n showDownload?: boolean | string;\n /** Show print button */\n showPrint?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** Multiple documents (tabbed view) */\n documents?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'drawer': {\n type: 'drawer';\n /** Whether the drawer is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when drawer should close (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Drawer title */\n title?: string;\n /** Drawer content (can be empty if using slot content) */\n children?: unknown | string;\n /** Footer content */\n footer?: unknown | string;\n /** Position (left or right) */\n position?: unknown | string;\n /** Width (CSS value or preset size) */\n width?: string | unknown;\n /** Show close button */\n showCloseButton?: boolean | string;\n /** Close on overlay click */\n closeOnOverlayClick?: boolean | string;\n /** Close on escape key */\n closeOnEscape?: boolean | string;\n /** Additional class name */\n className?: string;\n };\n 'drawer-slot': {\n type: 'drawer-slot';\n /** Content to display in the drawer */\n children?: unknown | string;\n /** Override drawer title (extracted from children if not provided) */\n title?: string;\n /** Drawer position */\n position?: unknown | string;\n /** Drawer size */\n size?: unknown | string;\n /** Custom class name */\n className?: string;\n };\n 'empty-state': {\n type: 'empty-state';\n /** Icon to display. Accepts either: - A Lucide icon component (LucideIcon) - A string icon name (e.g., \"check-circle\", \"x-circle\") */\n icon?: unknown | string;\n /** Primary text to display - use title or message (message is alias for backwards compat) */\n title?: string;\n /** Alias for title - used by schema patterns */\n message?: string;\n /** description prop */\n description?: string;\n /** actionLabel prop */\n actionLabel?: string;\n /** onAction prop */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** Destructive styling for confirmation dialogs */\n destructive?: boolean | string;\n /** Variant for color styling */\n variant?: string;\n };\n 'entity-cards': {\n type: 'entity-cards';\n /** Minimum width of each card (default: 280px) */\n minCardWidth?: number | string;\n /** Maximum number of columns */\n maxCols?: number | string;\n /** Gap between cards */\n gap?: unknown | string;\n /** Align cards vertically in their cells */\n alignItems?: string;\n /** Custom class name */\n className?: string;\n /** Children elements (cards) - optional when using entity/data props */\n children?: unknown | string;\n /** Entity type for data-bound usage */\n entity?: string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** Alias for fields - backwards compatibility */\n columns?: unknown | string;\n /** Data array for data-bound usage - accepts readonly for generated const arrays */\n data?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Actions for each card item (schema-driven) */\n itemActions?: unknown | string;\n /** Callback when a card is clicked */\n onCardClick?: ((...args: unknown[]) => unknown) | string;\n /** Enable server-side pagination */\n enablePagination?: boolean | string;\n /** Items per page (default: 20) */\n pageSize?: number | string;\n /** Show total count in pagination */\n showTotal?: boolean | string;\n /** Filter configuration for entity data */\n filter?: Record<string, unknown> | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n };\n 'entity-list': {\n type: 'entity-list';\n /** Entity name for auto-fetch OR data array (backwards compatible) */\n entity?: unknown[] | unknown | string;\n /** Data array - primary prop for data */\n data?: unknown[] | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** selectable prop */\n selectable?: boolean | string;\n /** selectedItems prop */\n selectedItems?: unknown | string;\n /** onSelectionChange prop */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Item actions - schema-driven or function-based */\n itemActions?: ((...args: unknown[]) => unknown) | unknown | string;\n /** showDividers prop */\n showDividers?: boolean | string;\n /** variant prop */\n variant?: string;\n /** emptyMessage prop */\n emptyMessage?: string;\n /** className prop */\n className?: string;\n /** renderItem prop */\n renderItem?: ((...args: unknown[]) => unknown) | string;\n /** children prop */\n children?: unknown | string;\n /** onItemAction prop */\n onItemAction?: ((...args: unknown[]) => unknown) | string;\n /** onRowClick prop */\n onRowClick?: ((...args: unknown[]) => unknown) | string;\n /** Fields to display - accepts string[] or {key, header}[] for unified interface */\n fields?: unknown | string;\n /** Alias for fields - backwards compatibility */\n fieldNames?: unknown | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n /** Entity type name for display */\n entityType?: string;\n };\n 'entity-table': {\n type: 'entity-table';\n /** Fields to display - accepts string[] or Column[] for unified interface. Alias for columns */\n fields?: unknown | string;\n /** Columns can be Column objects or simple string field names - accepts readonly for generated const arrays */\n columns?: unknown | string;\n /** Data array - primary prop for data. Accepts readonly or mutable arrays, and unknown for generated components */\n data?: unknown | unknown[] | string;\n /** Entity name for auto-fetch OR data array (backwards compatible) */\n entity?: string | unknown | unknown[];\n /** Item actions from generated code - maps to rowActions */\n itemActions?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** emptyIcon prop */\n emptyIcon?: unknown | string;\n /** emptyTitle prop */\n emptyTitle?: string;\n /** emptyDescription prop */\n emptyDescription?: string;\n /** emptyAction prop */\n emptyAction?: Record<string, unknown> | string;\n /** Selection */\n selectable?: boolean | string;\n /** selectedIds prop */\n selectedIds?: unknown | string;\n /** onSelectionChange prop */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Sorting */\n sortBy?: string;\n /** sortDirection prop */\n sortDirection?: string;\n /** onSort prop */\n onSort?: ((...args: unknown[]) => unknown) | string;\n /** Pagination (manual control) */\n pagination?: Record<string, unknown> | string;\n /** Server-side pagination (automatic when enabled) */\n enablePagination?: boolean | string;\n /** Items per page for automatic pagination (default: 20) */\n defaultPageSize?: number | string;\n /** Show total count in pagination */\n showTotal?: boolean | string;\n /** Search */\n searchable?: boolean | string;\n /** searchValue prop */\n searchValue?: string;\n /** onSearch prop */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** searchPlaceholder prop */\n searchPlaceholder?: string;\n /** Row click navigation */\n onRowClick?: ((...args: unknown[]) => unknown) | string;\n /** Row actions */\n rowActions?: unknown | string;\n /** Bulk actions */\n bulkActions?: unknown[] | string;\n /** Header actions */\n headerActions?: unknown | string;\n /** Query singleton binding for filter/sort state. When provided, syncs with the query singleton for filtering and sorting. Example: \"@TaskQuery\" */\n query?: string;\n /** className prop */\n className?: string;\n };\n 'error-state': {\n type: 'error-state';\n /** title prop */\n title?: string;\n /** Error message to display */\n message?: string;\n /** Alias for message (schema compatibility) */\n description?: string;\n /** onRetry prop */\n onRetry?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n 'filter-group': {\n type: 'filter-group';\n /** Entity name to filter */\n entity: string;\n /** Filter definitions from schema */\n filters: unknown | string;\n /** Callback when a filter changes - for EntityStore integration */\n onFilterChange?: ((...args: unknown[]) => unknown) | string;\n /** Callback to clear all filters */\n onClearAll?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n /** Variant style */\n variant?: string;\n /** Show filter icon */\n showIcon?: boolean | string;\n /** Query singleton binding for state management. When provided, syncs filter state with the query singleton. Example: \"@TaskQuery\" */\n query?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n };\n 'flex': {\n type: 'flex';\n /** Flex direction */\n direction?: unknown | string;\n /** Flex wrap */\n wrap?: unknown | string;\n /** Align items */\n align?: unknown | string;\n /** Justify content */\n justify?: unknown | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Inline flex */\n inline?: boolean | string;\n /** Flex grow */\n grow?: boolean | number | string;\n /** Flex shrink */\n shrink?: boolean | number | string;\n /** Flex basis */\n basis?: string | number;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'floating-action-button': {\n type: 'floating-action-button';\n /** Single action (if only one action, button will directly trigger onClick) */\n action?: Record<string, unknown> | string;\n /** Multiple actions (if provided, button will expand to show all actions) */\n actions?: unknown[] | string;\n /** Icon name (simplified API for pattern compatibility) */\n icon?: string;\n /** Click handler (simplified API for pattern compatibility) */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Variant (simplified API for pattern compatibility) */\n variant?: string;\n /** Button position @default 'bottom-right' */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'form': {\n type: 'form';\n /** Form fields (traditional React children) */\n children?: unknown | string;\n /** Submit handler - receives form data, or event name string for trait dispatch */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Cancel handler - function or event name string for trait dispatch */\n onCancel?: ((...args: unknown[]) => unknown) | string;\n /** Form layout */\n layout?: string;\n /** Gap between fields */\n gap?: string;\n /** Additional CSS classes */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Form mode - 'create' for new records, 'edit' for updating existing */\n mode?: string;\n /** Fields definition (schema format) - accepts readonly for generated const arrays */\n fields?: unknown | string;\n /** Initial form data */\n initialData?: Record<string, unknown> | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Submit button label */\n submitLabel?: string;\n /** Cancel button label (if provided, shows cancel button) */\n cancelLabel?: string;\n /** Show cancel button (defaults to true for schema forms) */\n showCancel?: boolean | string;\n /** Form title (used by ModalSlot to extract title) */\n title?: string;\n /** Event dispatch props (for trait state machine integration) */\n submitEvent?: string;\n /** Event to dispatch on cancel (defaults to 'CANCEL') */\n cancelEvent?: string;\n /** Relation data props */\n relationsData?: Record<string, unknown> | string;\n /** Loading state for relation data: { fieldName: boolean } */\n relationsLoading?: Record<string, unknown> | string;\n /** Inspection form extensions */\n conditionalFields?: Record<string, unknown> | boolean | string;\n /** Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately) */\n hiddenCalculations?: unknown[] | boolean | string;\n /** Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately) */\n violationTriggers?: unknown[] | boolean | string;\n /** Context for S-expression evaluation - accepts flexible types from generated code */\n evaluationContext?: unknown | Record<string, unknown> | string;\n /** Nested form sections with optional conditions */\n sections?: unknown[] | string;\n /** Callback when any field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Config path for form configuration (schema-driven) */\n configPath?: string;\n /** Whether the form supports repeatable entries */\n repeatable?: boolean | string;\n };\n 'form-actions': {\n type: 'form-actions';\n /** Button group content (Button components) - use this OR primary/secondary */\n children?: unknown | string;\n /** Primary action button config (for form-actions pattern) Accepts Readonly for compatibility with generated const objects */\n primary?: unknown | string;\n /** Secondary action buttons config (for form-actions pattern) Accepts readonly array for compatibility with generated const arrays */\n secondary?: unknown | string;\n /** Visual variant @default 'default' */\n variant?: unknown | string;\n /** Orientation @default 'horizontal' */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n /** Entity type for filter-group pattern (schema metadata) */\n entity?: string;\n /** Filter definitions for filter-group pattern */\n filters?: unknown | string;\n };\n 'form-field': {\n type: 'form-field';\n /** label prop */\n label: string;\n /** required prop */\n required?: boolean | string;\n /** error prop */\n error?: string;\n /** hint prop */\n hint?: string;\n /** className prop */\n className?: string;\n /** children prop */\n children: unknown | string;\n };\n 'form-section': {\n type: 'form-section';\n /** Form fields (traditional React children) */\n children?: unknown | string;\n /** Submit handler - receives form data, or event name string for trait dispatch */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Cancel handler - function or event name string for trait dispatch */\n onCancel?: ((...args: unknown[]) => unknown) | string;\n /** Form layout */\n layout?: string;\n /** Gap between fields */\n gap?: string;\n /** Additional CSS classes */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Form mode - 'create' for new records, 'edit' for updating existing */\n mode?: string;\n /** Fields definition (schema format) - accepts readonly for generated const arrays */\n fields?: unknown | string;\n /** Initial form data */\n initialData?: Record<string, unknown> | unknown | string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Submit button label */\n submitLabel?: string;\n /** Cancel button label (if provided, shows cancel button) */\n cancelLabel?: string;\n /** Show cancel button (defaults to true for schema forms) */\n showCancel?: boolean | string;\n /** Form title (used by ModalSlot to extract title) */\n title?: string;\n /** Event dispatch props (for trait state machine integration) */\n submitEvent?: string;\n /** Event to dispatch on cancel (defaults to 'CANCEL') */\n cancelEvent?: string;\n /** Relation data props */\n relationsData?: Record<string, unknown> | string;\n /** Loading state for relation data: { fieldName: boolean } */\n relationsLoading?: Record<string, unknown> | string;\n /** Inspection form extensions */\n conditionalFields?: Record<string, unknown> | boolean | string;\n /** Hidden calculations that emit GLOBAL_VARIABLE_SET on field change (boolean true means enabled but config loaded separately) */\n hiddenCalculations?: unknown[] | boolean | string;\n /** Violation conditions that emit VIOLATION_DETECTED when met (boolean true means enabled but config loaded separately) */\n violationTriggers?: unknown[] | boolean | string;\n /** Context for S-expression evaluation - accepts flexible types from generated code */\n evaluationContext?: unknown | Record<string, unknown> | string;\n /** Nested form sections with optional conditions */\n sections?: unknown[] | string;\n /** Callback when any field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Config path for form configuration (schema-driven) */\n configPath?: string;\n /** Whether the form supports repeatable entries */\n repeatable?: boolean | string;\n };\n 'form-section-header': {\n type: 'form-section-header';\n /** Section title */\n title: string;\n /** Section subtitle */\n subtitle?: string;\n /** Whether section is collapsed */\n isCollapsed?: boolean | string;\n /** Toggle collapse handler (makes header clickable) */\n onToggle?: ((...args: unknown[]) => unknown) | string;\n /** Badge text (e.g., \"3 fields\", \"Required\", \"Complete\") */\n badge?: string;\n /** Badge variant */\n badgeVariant?: string;\n /** Icon name to show before title */\n icon?: string;\n /** Whether section has validation errors */\n hasErrors?: boolean | string;\n /** Whether section is complete */\n isComplete?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'form-template': {\n type: 'form-template';\n /** Current form field values */\n formData: Record<string, unknown> | string;\n /** Whether form is being submitted */\n isSubmitting?: boolean | string;\n /** Whether submission was successful */\n isSuccess?: boolean | string;\n /** Error object if submission failed */\n error?: unknown | string;\n /** Field-level validation errors */\n validationErrors?: Record<string, unknown> | string;\n /** Called when form is submitted */\n onSubmit?: ((...args: unknown[]) => unknown) | string;\n /** Called when a field value changes */\n onFieldChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to reset the form */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Called to dismiss success message */\n onDismissSuccess?: ((...args: unknown[]) => unknown) | string;\n /** Form title */\n title?: string;\n /** Form subtitle/description */\n subtitle?: string;\n /** Submit button label */\n submitLabel?: string;\n /** Success message */\n successMessage?: string;\n /** Whether to show reset button */\n showReset?: boolean | string;\n /** Form field definitions */\n fields?: unknown[] | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'game-hud': {\n type: 'game-hud';\n /** Position of the HUD */\n position?: string;\n /** Stats to display - accepts readonly for compatibility with generated const arrays */\n stats?: unknown | string;\n /** Alias for stats (schema compatibility) */\n items?: unknown | string;\n /** Schema-style elements array (alternative to stats). Converted to stats internally for backwards compatibility. */\n elements?: unknown | string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Whether to use a semi-transparent background */\n transparent?: boolean | string;\n };\n 'game-menu': {\n type: 'game-menu';\n /** Menu title */\n title: string;\n /** Optional subtitle or version */\n subtitle?: string;\n /** Menu options - accepts readonly for compatibility with generated const arrays */\n options?: unknown | string;\n /** Alias for options (schema compatibility) */\n menuItems?: unknown | string;\n /** Called when an option is selected (legacy callback, prefer event bus) */\n onSelect?: ((...args: unknown[]) => unknown) | string;\n /** Event bus for emitting UI events (optional, uses hook if not provided) */\n eventBus?: unknown | string;\n /** Background image or gradient */\n background?: string;\n /** Logo image URL */\n logo?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'game-over-screen': {\n type: 'game-over-screen';\n /** Screen title (e.g., \"Game Over\", \"Victory!\") */\n title: string;\n /** Optional message */\n message?: string;\n /** Stats to display */\n stats?: unknown[] | string;\n /** Action buttons */\n actions?: unknown[] | string;\n /** Alias for actions (schema compatibility) */\n menuItems?: unknown[] | string;\n /** Called when an action is selected (legacy callback, prefer event bus) */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** Event bus for emitting UI events (optional, uses hook if not provided) */\n eventBus?: unknown | string;\n /** Victory or defeat variant */\n variant?: string;\n /** High score (optional, shows \"NEW HIGH SCORE!\" if exceeded) */\n highScore?: number | string;\n /** Current score for high score comparison (accepts string for schema bindings) */\n currentScore?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'game-shell': {\n type: 'game-shell';\n /** Application / game title shown in the HUD bar */\n appName?: string;\n /** Optional HUD content rendered above the main area */\n hud?: unknown | string;\n /** Extra class name on the root container */\n className?: string;\n /** Whether to show the minimal top bar (default: true) */\n showTopBar?: boolean | string;\n };\n 'game-template': {\n type: 'game-template';\n /** Title of the game */\n title?: string;\n /** The main game canvas or content */\n children: unknown | string;\n /** HUD overlay content (scores, health, etc.) */\n hud?: unknown | string;\n /** Debug panel content */\n debugPanel?: unknown | string;\n /** Whether the debug panel is visible */\n showDebugPanel?: boolean | string;\n /** Game controls */\n controls?: Record<string, unknown> | string;\n /** Additional class name */\n className?: string;\n };\n 'generic-app-template': {\n type: 'generic-app-template';\n /** Page title */\n title: string;\n /** Subtitle or description */\n subtitle?: string;\n /** Main content */\n children: unknown | string;\n /** Header actions (buttons, links) */\n headerActions?: unknown | string;\n /** Footer content */\n footer?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'graph-canvas': {\n type: 'graph-canvas';\n /** Graph title */\n title?: string;\n /** Graph nodes */\n nodes?: unknown | string;\n /** Graph edges */\n edges?: unknown | string;\n /** Canvas height */\n height?: number | string;\n /** Show node labels */\n showLabels?: boolean | string;\n /** Enable zoom/pan */\n interactive?: boolean | string;\n /** Enable node dragging */\n draggable?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** On node click */\n onNodeClick?: ((...args: unknown[]) => unknown) | string;\n /** Node click event */\n nodeClickEvent?: string;\n /** Layout algorithm */\n layout?: string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'grid': {\n type: 'grid';\n /** Number of columns (can be responsive object) */\n cols?: unknown | unknown | string;\n /** Number of rows */\n rows?: number | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Row gap (overrides gap for rows) */\n rowGap?: unknown | string;\n /** Column gap (overrides gap for columns) */\n colGap?: unknown | string;\n /** Align items on block axis */\n alignItems?: unknown | string;\n /** Justify items on inline axis */\n justifyItems?: unknown | string;\n /** Auto-flow direction */\n flow?: string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'header': {\n type: 'header';\n /** Logo/Brand content */\n logo?: unknown | string;\n /** Logo image source */\n logoSrc?: string;\n /** Brand/App name */\n brandName?: string;\n /** Navigation items (for desktop header variant) */\n navigationItems?: unknown[] | string;\n /** Show menu toggle button @default true */\n showMenuToggle?: boolean | string;\n /** Is menu open (for toggle icon) */\n isMenuOpen?: boolean | string;\n /** Menu toggle callback */\n onMenuToggle?: ((...args: unknown[]) => unknown) | string;\n /** Show search input @default false */\n showSearch?: boolean | string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Search callback */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** User avatar configuration */\n userAvatar?: Record<string, unknown> | string;\n /** User name (display name or email) */\n userName?: string;\n /** Callback when user avatar is clicked */\n onUserClick?: ((...args: unknown[]) => unknown) | string;\n /** Action buttons (right side) */\n actions?: unknown | string;\n /** Sticky header @default true */\n sticky?: boolean | string;\n /** Variant - mobile shows menu toggle, desktop shows full nav @default 'mobile' */\n variant?: string;\n /** Callback when logo/brand is clicked */\n onLogoClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'health-bar': {\n type: 'health-bar';\n /** Current health value */\n current: number | string;\n /** Maximum health value */\n max: number | string;\n /** Display format */\n format?: string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Animation on change */\n animated?: boolean | string;\n };\n 'icon': {\n type: 'icon';\n /** Lucide icon component (preferred for type-safe usage) */\n icon?: unknown | string;\n /** Icon name as string (resolved from iconMap) */\n name?: string;\n /** Size of the icon */\n size?: unknown | string;\n /** Color class (Tailwind color class) or 'inherit' for theme default */\n color?: string;\n /** Animation type */\n animation?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Icon stroke width - uses theme default if not specified */\n strokeWidth?: number | string;\n /** Inline style */\n style?: Record<string, unknown> | string;\n };\n 'input': {\n type: 'input';\n /** error prop */\n error?: string;\n /** leftIcon prop */\n leftIcon?: unknown | string;\n /** rightIcon prop */\n rightIcon?: unknown | string;\n /** Lucide icon component for left side (convenience prop) */\n icon?: unknown | string;\n /** Show clear button when input has value */\n clearable?: boolean | string;\n /** Callback when clear button is clicked */\n onClear?: ((...args: unknown[]) => unknown) | string;\n /** Options for select type */\n options?: unknown[] | string;\n /** Rows for textarea type */\n rows?: number | string;\n /** onChange handler - accepts events from input, select, or textarea */\n onChange?: unknown | string;\n /** Input type - supports 'select' and 'textarea' in addition to standard types */\n inputType?: string;\n };\n 'input-group': {\n type: 'input-group';\n /** Left addon (icon, button, or text) */\n leftAddon?: unknown | unknown | string;\n /** Right addon (icon, button, or text) */\n rightAddon?: unknown | unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'inventory-panel': {\n type: 'inventory-panel';\n /** Array of items in inventory */\n items: unknown[] | string;\n /** Total number of slots */\n slots: number | string;\n /** Number of columns in grid */\n columns: number | string;\n /** Currently selected slot index */\n selectedSlot?: number | string;\n /** Called when a slot is selected */\n onSelectSlot: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is used (double-click or Enter) */\n onUseItem?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is dropped */\n onDropItem?: ((...args: unknown[]) => unknown) | string;\n /** Show item tooltips on hover */\n showTooltips?: boolean | string;\n /** Optional className */\n className?: string;\n /** Slot size in pixels */\n slotSize?: number | string;\n };\n 'isometric-canvas': {\n type: 'isometric-canvas';\n /** --- Closed-circuit props (MANDATORY) --- */\n className?: string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** --- Grid data --- */\n tiles?: unknown[] | string;\n /** Array of units on the board */\n units?: unknown[] | string;\n /** Array of features (resources, portals, buildings, etc.) */\n features?: unknown[] | string;\n /** --- Interaction state --- */\n selectedUnitId?: string;\n /** Valid move positions (shown as pulsing green highlights) */\n validMoves?: unknown[] | string;\n /** Attack target positions (shown as pulsing red highlights) */\n attackTargets?: unknown[] | string;\n /** Hovered tile position */\n hoveredTile?: Record<string, unknown> | string;\n /** --- Event handlers --- */\n onTileClick?: ((...args: unknown[]) => unknown) | string;\n /** Unit click handler */\n onUnitClick?: ((...args: unknown[]) => unknown) | string;\n /** Tile hover handler */\n onTileHover?: ((...args: unknown[]) => unknown) | string;\n /** Tile leave handler */\n onTileLeave?: ((...args: unknown[]) => unknown) | string;\n /** --- Rendering options --- */\n scale?: number | string;\n /** Show debug grid lines and coordinates */\n debug?: boolean | string;\n /** Background image URL tiled behind the isometric grid */\n backgroundImage?: string;\n /** Toggle minimap overlay */\n showMinimap?: boolean | string;\n /** Enable camera pan/zoom controls */\n enableCamera?: boolean | string;\n /** Extra scale multiplier for unit draw size. 1 = default. */\n unitScale?: number | string;\n /** --- Asset resolution (project-agnostic) --- */\n getTerrainSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve feature sprite URL from feature type key */\n getFeatureSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve unit static sprite URL */\n getUnitSprite?: ((...args: unknown[]) => unknown) | string;\n /** Resolve animated sprite sheet frame for a unit */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** Additional sprite URLs to preload (e.g., effect sprites) */\n effectSpriteUrls?: unknown[] | string;\n /** Callback to draw canvas effects after units */\n onDrawEffects?: ((...args: unknown[]) => unknown) | string;\n /** Whether there are active effects — keeps RAF loop alive */\n hasActiveEffects?: boolean | string;\n /** --- Remote asset loading --- */\n assetBaseUrl?: string;\n /** Manifest mapping entity keys to relative sprite paths. Combined with assetBaseUrl to produce full URLs. Used as a fallback when inline URLs and callbacks don't resolve. */\n assetManifest?: Record<string, unknown> | string;\n };\n 'label': {\n type: 'label';\n /** required prop */\n required?: boolean | string;\n };\n 'law-reference-tooltip': {\n type: 'law-reference-tooltip';\n /** The law reference to display */\n reference: unknown | string;\n /** Children element that triggers the tooltip */\n children: unknown | string;\n /** Tooltip position */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'layout-pattern': {\n type: 'layout-pattern';\n /** Nested pattern configurations - rendered recursively */\n children?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n };\n 'list-template': {\n type: 'list-template';\n /** Array of list items */\n items: unknown[] | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error object if loading failed */\n error?: unknown | string;\n /** Current filter value */\n filter?: unknown | string;\n /** Called when a new item is added */\n onAdd?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is toggled */\n onToggle?: ((...args: unknown[]) => unknown) | string;\n /** Called when an item is deleted */\n onDelete?: ((...args: unknown[]) => unknown) | string;\n /** Called when filter changes */\n onFilterChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to retry loading */\n onRetry?: ((...args: unknown[]) => unknown) | string;\n /** Title displayed above the list */\n title?: string;\n /** Placeholder for the input field */\n placeholder?: string;\n /** Whether to show filter buttons */\n showFilters?: boolean | string;\n /** Whether to show item count */\n showCount?: boolean | string;\n /** Message shown when list is empty */\n emptyMessage?: string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'loading-state': {\n type: 'loading-state';\n /** title prop */\n title?: string;\n /** message prop */\n message?: string;\n /** className prop */\n className?: string;\n };\n 'master-detail': {\n type: 'master-detail';\n /** Master panel content (usually a list) */\n master: unknown | string;\n /** Detail panel content */\n detail: unknown | string;\n /** Content shown when nothing is selected */\n emptyDetail?: unknown | string;\n /** Whether an item is currently selected */\n hasSelection?: boolean | string;\n /** Width of master panel (e.g., '350px', '30%') */\n masterWidth?: string;\n /** Additional CSS classes */\n className?: string;\n /** Class for master pane */\n masterClassName?: string;\n /** Class for detail pane */\n detailClassName?: string;\n };\n 'media-gallery': {\n type: 'media-gallery';\n /** Gallery title */\n title?: string;\n /** Media items */\n items?: unknown | string;\n /** Schema-driven data */\n data?: unknown | string;\n /** Column count */\n columns?: number | string;\n /** Enable item selection */\n selectable?: boolean | string;\n /** Selected item IDs */\n selectedItems?: unknown | string;\n /** Selection change callback */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Show upload button */\n showUpload?: boolean | string;\n /** Actions */\n actions?: unknown | string;\n /** Aspect ratio for thumbnails */\n aspectRatio?: string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'menu': {\n type: 'menu';\n /** Menu trigger element */\n trigger: unknown | string;\n /** Menu items */\n items: unknown[] | string;\n /** Menu position */\n position?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'meter': {\n type: 'meter';\n /** Current value */\n value: number | string;\n /** Minimum value */\n min?: number | string;\n /** Maximum value */\n max?: number | string;\n /** Display label */\n label?: string;\n /** Unit suffix (e.g., '%', 'MB', 'credits') */\n unit?: string;\n /** Display variant */\n variant?: unknown | string;\n /** Color thresholds */\n thresholds?: unknown | string;\n /** Number of segments (for segmented variant) */\n segments?: number | string;\n /** Show value text */\n showValue?: boolean | string;\n /** Size (for radial variant) */\n size?: string;\n /** Actions */\n actions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'modal': {\n type: 'modal';\n /** Whether the modal is open (defaults to true when rendered by slot wrapper) */\n isOpen?: boolean | string;\n /** Callback when modal should close (injected by slot wrapper) */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** title prop */\n title?: string;\n /** Modal content (can be empty if using slot content) */\n children?: unknown | string;\n /** footer prop */\n footer?: unknown | string;\n /** size prop */\n size?: unknown | string;\n /** showCloseButton prop */\n showCloseButton?: boolean | string;\n /** closeOnOverlayClick prop */\n closeOnOverlayClick?: boolean | string;\n /** closeOnEscape prop */\n closeOnEscape?: boolean | string;\n /** className prop */\n className?: string;\n };\n 'modal-slot': {\n type: 'modal-slot';\n /** Content to display in the modal */\n children?: unknown | string;\n /** Override modal title (extracted from children if not provided) */\n title?: string;\n /** Modal size */\n size?: string;\n /** Custom class name */\n className?: string;\n };\n 'navigation': {\n type: 'navigation';\n /** Navigation items */\n items: unknown[] | string;\n /** Navigation orientation @default 'horizontal' */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'notification': {\n type: 'notification';\n /** Toast variant */\n variant?: unknown | string;\n /** Toast message */\n message: string;\n /** Toast title (optional) */\n title?: string;\n /** Auto-dismiss duration in milliseconds (0 = no auto-dismiss) */\n duration?: number | string;\n /** Show dismiss button */\n dismissible?: boolean | string;\n /** Callback when toast is dismissed */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** Action button label */\n actionLabel?: string;\n /** Action button click handler */\n onAction?: ((...args: unknown[]) => unknown) | string;\n /** Badge count (optional) */\n badge?: string | number;\n /** Additional CSS classes */\n className?: string;\n };\n 'orbital-visualization': {\n type: 'orbital-visualization';\n /** Full KFlow schema object */\n schema?: Record<string, unknown> | string;\n /** Direct complexity override (1-100+) */\n complexity?: number | string;\n /** Size of the visualization */\n size?: string;\n /** Show complexity label */\n showLabel?: boolean | string;\n /** Animation enabled */\n animated?: boolean | string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'overlay': {\n type: 'overlay';\n /** isVisible prop */\n isVisible?: boolean | string;\n /** onClick prop */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n /** blur prop */\n blur?: boolean | string;\n };\n 'page-header': {\n type: 'page-header';\n /** Page title - accepts unknown to handle generated code accessing dynamic entity data */\n title?: string | number | unknown;\n /** Optional subtitle/description */\n subtitle?: string | number | unknown;\n /** Show back button */\n showBack?: boolean | string;\n /** Event to emit when back is clicked (default: BACK) */\n backEvent?: string;\n /** Breadcrumbs */\n breadcrumbs?: unknown | string;\n /** Status badge */\n status?: Record<string, unknown> | string;\n /** Actions array - first action with variant='primary' (or first action) is the main action */\n actions?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Tabs for sub-navigation */\n tabs?: unknown[] | string;\n /** activeTab prop */\n activeTab?: string;\n /** onTabChange prop */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Custom content in the header */\n children?: unknown | string;\n /** className prop */\n className?: string;\n };\n 'pagination': {\n type: 'pagination';\n /** Current page (1-indexed) */\n currentPage: number | string;\n /** Total number of pages */\n totalPages: number | string;\n /** Callback when page changes (optional - can be a no-op if not interactive) */\n onPageChange?: ((...args: unknown[]) => unknown) | string;\n /** Show page size selector @default false */\n showPageSize?: boolean | string;\n /** Page size options */\n pageSizeOptions?: unknown[] | string;\n /** Current page size */\n pageSize?: number | string;\n /** Callback when page size changes */\n onPageSizeChange?: ((...args: unknown[]) => unknown) | string;\n /** Show jump to page input @default false */\n showJumpToPage?: boolean | string;\n /** Show total count @default false */\n showTotal?: boolean | string;\n /** Total items count */\n totalItems?: number | string;\n /** Maximum number of page buttons to show @default 7 */\n maxVisiblePages?: number | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'popover': {\n type: 'popover';\n /** Popover content */\n content: unknown | string;\n /** Popover trigger element (ReactElement or ReactNode that will be wrapped in span) */\n children: unknown | string;\n /** Popover position @default 'bottom' */\n position?: unknown | string;\n /** Trigger type @default 'click' */\n trigger?: unknown | string;\n /** Show arrow @default true */\n showArrow?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'progress-bar': {\n type: 'progress-bar';\n /** Progress value (0-100) */\n value: number | string;\n /** Maximum value (for calculating percentage) @default 100 */\n max?: number | string;\n /** Variant/color of the progress bar @default 'primary' */\n variant?: unknown | string;\n /** Color variant (alias for variant) @default 'primary' */\n color?: unknown | string;\n /** Show percentage text @default false */\n showPercentage?: boolean | string;\n /** Alias for showPercentage (pattern compatibility) */\n showLabel?: boolean | string;\n /** Label text */\n label?: string;\n /** Size (for circular variant) @default 'md' */\n size?: string;\n /** Number of steps (for stepped variant) @default 5 */\n steps?: number | string;\n /** Additional CSS classes */\n className?: string;\n /** Type of the progress bar (linear, circular, stepped) @default 'linear' */\n progressType?: unknown | string;\n };\n 'radio': {\n type: 'radio';\n /** Label text displayed next to the radio button */\n label?: string;\n /** Helper text displayed below the radio button */\n helperText?: string;\n /** Error message displayed below the radio button */\n error?: string;\n /** Size of the radio button @default 'md' */\n size?: string;\n };\n 'relation-select': {\n type: 'relation-select';\n /** Current value (ID) */\n value?: string;\n /** Callback when value changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Available options - accepts readonly for compatibility with generated const arrays */\n options: unknown | string;\n /** Placeholder text */\n placeholder?: string;\n /** Whether the field is required */\n required?: boolean | string;\n /** Whether the field is disabled */\n disabled?: boolean | string;\n /** Whether data is loading */\n isLoading?: boolean | string;\n /** Error message */\n error?: string;\n /** Allow clearing the selection */\n clearable?: boolean | string;\n /** Name attribute for forms */\n name?: string;\n /** Additional CSS classes */\n className?: string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Empty state message */\n emptyMessage?: string;\n };\n 'repeatable-form-section': {\n type: 'repeatable-form-section';\n /** Section type identifier */\n sectionType: string;\n /** Section title */\n title: string;\n /** Items in the section */\n items: unknown[] | string;\n /** Render function for each item */\n renderItem: ((...args: unknown[]) => unknown) | string;\n /** Minimum items required */\n minItems?: number | string;\n /** Maximum items allowed */\n maxItems?: number | string;\n /** Allow reordering */\n allowReorder?: boolean | string;\n /** Add button label */\n addLabel?: string;\n /** Empty state message */\n emptyMessage?: string;\n /** Read-only mode */\n readOnly?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Add handler */\n onAdd?: ((...args: unknown[]) => unknown) | string;\n /** Remove handler */\n onRemove?: ((...args: unknown[]) => unknown) | string;\n /** Reorder handler */\n onReorder?: ((...args: unknown[]) => unknown) | string;\n /** Inspection-specific enhancements */\n trackAddedInState?: boolean | string;\n /** Current inspection state (used when trackAddedInState is true) */\n currentState?: string;\n /** Show audit metadata (addedInState, addedAt) */\n showAuditInfo?: boolean | string;\n };\n 'runtime-debugger': {\n type: 'runtime-debugger';\n /** Initial position */\n position?: string;\n /** Initial collapsed state */\n defaultCollapsed?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'score-display': {\n type: 'score-display';\n /** Current score value */\n value: number | string;\n /** Label to display before score */\n label?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Additional CSS classes */\n className?: string;\n /** Animation on value change */\n animated?: boolean | string;\n /** Number formatting locale */\n locale?: string;\n };\n 'search-input': {\n type: 'search-input';\n /** Search value (controlled mode) */\n value?: string;\n /** Callback when search value changes */\n onSearch?: ((...args: unknown[]) => unknown) | string;\n /** Debounce delay in milliseconds @default 300 */\n debounceMs?: number | string;\n /** Show loading state @default false */\n isLoading?: boolean | string;\n /** Placeholder text @default 'Search...' */\n placeholder?: string;\n /** Show clear button @default true */\n clearable?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Event name to dispatch on search (schema metadata, wired by trait) This is metadata used by the trait generator, not by the component. */\n event?: string;\n /** Entity type for context-aware search. When provided, search events include entity context. */\n entity?: string;\n /** Query singleton binding for state management. When provided, syncs search state with the query singleton. Example: \"@TaskQuery\" */\n query?: string;\n };\n 'section': {\n type: 'section';\n /** Section title */\n title?: string;\n /** Section subtitle/description */\n description?: string;\n /** Action element (e.g., button, link) */\n action?: unknown | string;\n /** Padding amount */\n padding?: unknown | string;\n /** Visual variant */\n variant?: unknown | string;\n /** Show divider below header */\n divider?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n /** Header custom class name */\n headerClassName?: string;\n /** Content custom class name */\n contentClassName?: string;\n /** HTML element to render as */\n as?: unknown | string;\n };\n 'select': {\n type: 'select';\n /** options prop */\n options: unknown[] | string;\n /** placeholder prop */\n placeholder?: string;\n /** error prop */\n error?: string;\n };\n 'settings-template': {\n type: 'settings-template';\n /** Current settings values */\n settings: Record<string, unknown> | string;\n /** Whether settings are being saved */\n isSaving?: boolean | string;\n /** Whether there are unsaved changes */\n hasChanges?: boolean | string;\n /** Error object if save failed */\n error?: unknown | string;\n /** Success message after save */\n successMessage?: string;\n /** Called when saving settings */\n onSave?: ((...args: unknown[]) => unknown) | string;\n /** Called when a setting value changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Called to reset to default settings */\n onReset?: ((...args: unknown[]) => unknown) | string;\n /** Called to revert unsaved changes */\n onRevert?: ((...args: unknown[]) => unknown) | string;\n /** Called to dismiss success message */\n onDismissSuccess?: ((...args: unknown[]) => unknown) | string;\n /** Page title */\n title?: string;\n /** Settings sections */\n sections?: unknown[] | string;\n /** Whether to show reset to defaults button */\n showResetToDefaults?: boolean | string;\n /** Template variant */\n variant?: unknown | string;\n /** Additional class name */\n className?: string;\n };\n 'side-panel': {\n type: 'side-panel';\n /** Panel title */\n title: string;\n /** Panel content */\n children: unknown | string;\n /** Is panel open */\n isOpen: boolean | string;\n /** On close handler */\n onClose: ((...args: unknown[]) => unknown) | string;\n /** Panel width @default 'w-96' */\n width?: string;\n /** Panel position @default 'right' */\n position?: string;\n /** Show overlay on mobile @default true */\n showOverlay?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'sidebar': {\n type: 'sidebar';\n /** Logo/Brand content - can be a ReactNode or logo config */\n logo?: unknown | string;\n /** Logo image source */\n logoSrc?: string;\n /** Brand/App name */\n brandName?: string;\n /** Navigation items */\n items: unknown[] | string;\n /** User section content */\n userSection?: unknown | string;\n /** Footer content (e.g., theme toggle) */\n footerContent?: unknown | string;\n /** Collapsed state (controlled) */\n collapsed?: boolean | string;\n /** Default collapsed state */\n defaultCollapsed?: boolean | string;\n /** Callback when collapse state changes */\n onCollapseChange?: ((...args: unknown[]) => unknown) | string;\n /** Hide the collapse/expand button */\n hideCollapseButton?: boolean | string;\n /** Show a close button (for mobile) */\n showCloseButton?: boolean | string;\n /** Callback when close button is clicked */\n onClose?: ((...args: unknown[]) => unknown) | string;\n /** Callback when logo/brand is clicked */\n onLogoClick?: ((...args: unknown[]) => unknown) | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'signature-pad': {\n type: 'signature-pad';\n /** Label above the pad */\n label?: string;\n /** Helper text */\n helperText?: string;\n /** Stroke color */\n strokeColor?: string;\n /** Stroke width */\n strokeWidth?: number | string;\n /** Pad height */\n height?: number | string;\n /** Whether the pad is read-only */\n readOnly?: boolean | string;\n /** Existing signature image URL */\n value?: string;\n /** Callback when signature changes */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** Event to emit on sign */\n signEvent?: string;\n /** Event to emit on clear */\n clearEvent?: string;\n /** Entity name for schema-driven context */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'simple-grid': {\n type: 'simple-grid';\n /** Minimum width of each child (e.g., 200, \"200px\", \"15rem\") */\n minChildWidth?: number | string;\n /** Maximum number of columns */\n maxCols?: number | string;\n /** Exact number of columns (disables auto-fit) */\n cols?: number | string;\n /** Gap between items */\n gap?: unknown | string;\n /** Custom class name */\n className?: string;\n /** Children elements */\n children: unknown | string;\n };\n 'spacer': {\n type: 'spacer';\n /** Fixed size (auto = flex grow) */\n size?: unknown | string;\n /** Orientation (for fixed sizes) */\n axis?: string;\n /** Custom class name */\n className?: string;\n };\n 'spinner': {\n type: 'spinner';\n /** size prop */\n size?: unknown | string;\n };\n 'split': {\n type: 'split';\n /** Size ratio between left and right panels */\n ratio?: unknown | string;\n /** Gap between panels */\n gap?: unknown | string;\n /** Reverse the order (right first) */\n reverse?: boolean | string;\n /** Stack vertically on mobile */\n stackOnMobile?: boolean | string;\n /** Breakpoint to switch from stacked to side-by-side */\n stackBreakpoint?: string;\n /** Align items vertically */\n align?: string;\n /** Custom class name */\n className?: string;\n /** Left/first panel class name */\n leftClassName?: string;\n /** Right/second panel class name */\n rightClassName?: string;\n /** Exactly two children: [left, right] */\n children: unknown | string;\n };\n 'split-pane': {\n type: 'split-pane';\n /** Direction of the split */\n direction?: string;\n /** Initial ratio (0-100, percentage of first pane) */\n ratio?: number | string;\n /** Minimum size of either pane in pixels */\n minSize?: number | string;\n /** Allow user resizing */\n resizable?: boolean | string;\n /** Content for the left/top pane */\n left: unknown | string;\n /** Content for the right/bottom pane */\n right: unknown | string;\n /** Additional CSS classes */\n className?: string;\n /** Class for left/top pane */\n leftClassName?: string;\n /** Class for right/bottom pane */\n rightClassName?: string;\n };\n 'sprite': {\n type: 'sprite';\n /** Spritesheet image URL */\n spritesheet: string;\n /** Width of each frame in pixels */\n frameWidth: number | string;\n /** Height of each frame in pixels */\n frameHeight: number | string;\n /** Frame index to display (0-based, left-to-right, top-to-bottom) */\n frame: number | string;\n /** X position in pixels */\n x: number | string;\n /** Y position in pixels */\n y: number | string;\n /** Scale factor (default: 1) */\n scale?: number | string;\n /** Flip horizontally */\n flipX?: boolean | string;\n /** Flip vertically */\n flipY?: boolean | string;\n /** Rotation in degrees */\n rotation?: number | string;\n /** Opacity (0-1) */\n opacity?: number | string;\n /** Z-index for layering */\n zIndex?: number | string;\n /** Number of columns in spritesheet (for frame calculation) */\n columns?: number | string;\n /** Optional className */\n className?: string;\n /** Optional onClick handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n };\n 'stack': {\n type: 'stack';\n /** Stack direction */\n direction?: unknown | string;\n /** Gap between children */\n gap?: unknown | string;\n /** Align items on the cross axis */\n align?: unknown | string;\n /** Justify items on the main axis */\n justify?: unknown | string;\n /** Allow items to wrap */\n wrap?: boolean | string;\n /** Reverse the order of children */\n reverse?: boolean | string;\n /** Fill available space (flex: 1) */\n flex?: boolean | string;\n /** Custom class name */\n className?: string;\n /** Inline styles */\n style?: Record<string, unknown> | string;\n /** Children elements */\n children?: unknown | string;\n /** HTML element to render as */\n as?: unknown | string;\n /** Click handler */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Keyboard handler */\n onKeyDown?: ((...args: unknown[]) => unknown) | string;\n /** Role for accessibility */\n role?: string;\n /** Tab index for focus management */\n tabIndex?: number | string;\n };\n 'stat-badge': {\n type: 'stat-badge';\n /** Stat label */\n label: string;\n /** Current value (defaults to 0 if not provided) */\n value?: number | string;\n /** Maximum value (for bar/hearts format) */\n max?: number | string;\n /** Data source entity name (for schema config) */\n source?: string;\n /** Field name in the source (for schema config) */\n field?: string;\n /** Display format */\n format?: string;\n /** Icon component or emoji */\n icon?: unknown | string;\n /** Size variant */\n size?: string;\n /** Visual variant */\n variant?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'stats': {\n type: 'stats';\n /** Main label */\n label?: string;\n /** Title (alias for label) */\n title?: string;\n /** Primary value - accepts array/unknown from generated code (will use first element or length) */\n value?: string | number | unknown[] | unknown;\n /** Previous value for comparison */\n previousValue?: number | string;\n /** Current value as number for trend calculation */\n currentValue?: number | string;\n /** Manual trend percentage (overrides calculation) */\n trend?: number | string;\n /** Trend direction (overrides calculation) */\n trendDirection?: string;\n /** Whether up is good (green) or bad (red) */\n invertTrend?: boolean | string;\n /** Icon to display */\n icon?: unknown | string;\n /** Icon background color */\n iconBg?: string;\n /** Icon color */\n iconColor?: string;\n /** Subtitle or description */\n subtitle?: string;\n /** Action button */\n action?: Record<string, unknown> | string;\n /** className prop */\n className?: string;\n /** Schema-based props */\n entity?: string;\n /** Metrics to display (schema format) - accepts readonly for compatibility with generated const arrays */\n metrics?: unknown | string;\n /** Data to calculate stats from - accepts readonly for compatibility with generated const arrays */\n data?: unknown | string;\n /** Loading state indicator */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n };\n 'switch': {\n type: 'switch';\n /** checked prop */\n checked?: boolean | string;\n /** defaultChecked prop */\n defaultChecked?: boolean | string;\n /** onChange prop */\n onChange?: ((...args: unknown[]) => unknown) | string;\n /** disabled prop */\n disabled?: boolean | string;\n /** label prop */\n label?: string;\n /** id prop */\n id?: string;\n /** name prop */\n name?: string;\n /** className prop */\n className?: string;\n };\n 'tabbed-container': {\n type: 'tabbed-container';\n /** Tab definitions */\n tabs: unknown[] | string;\n /** Default active tab ID */\n defaultTab?: string;\n /** Controlled active tab */\n activeTab?: string;\n /** Callback when tab changes */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Tab position */\n position?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'table': {\n type: 'table';\n /** Table columns */\n columns: unknown[] | string;\n /** Table entity data */\n entity: unknown[] | string;\n /** Row key getter */\n getRowKey: ((...args: unknown[]) => unknown) | string;\n /** Enable row selection @default false */\n selectable?: boolean | string;\n /** Selected row keys */\n selectedRows?: unknown[] | string;\n /** Callback when selection changes */\n onSelectionChange?: ((...args: unknown[]) => unknown) | string;\n /** Enable sorting @default false */\n sortable?: boolean | string;\n /** Current sort column */\n sortColumn?: string;\n /** Current sort direction */\n sortDirection?: unknown | string;\n /** Callback when sort changes */\n onSortChange?: ((...args: unknown[]) => unknown) | string;\n /** Enable search/filter @default false */\n searchable?: boolean | string;\n /** Search placeholder */\n searchPlaceholder?: string;\n /** Enable pagination @default false */\n paginated?: boolean | string;\n /** Current page */\n currentPage?: number | string;\n /** Total pages */\n totalPages?: number | string;\n /** Callback when page changes */\n onPageChange?: ((...args: unknown[]) => unknown) | string;\n /** Row actions menu items */\n rowActions?: ((...args: unknown[]) => unknown) | string;\n /** Empty state message */\n emptyMessage?: string;\n /** Loading state @default false */\n loading?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'tabs': {\n type: 'tabs';\n /** Tab items */\n items?: unknown[] | string;\n /** Tab items (alias for items - used by generated code) */\n tabs?: unknown[] | string;\n /** Default active tab ID */\n defaultActiveTab?: string;\n /** Controlled active tab ID */\n activeTab?: string;\n /** Callback when tab changes */\n onTabChange?: ((...args: unknown[]) => unknown) | string;\n /** Tab variant */\n variant?: string;\n /** Tab orientation */\n orientation?: string;\n /** Additional CSS classes */\n className?: string;\n };\n 'text-highlight': {\n type: 'text-highlight';\n /** Whether the highlight is currently active/focused @default false */\n isActive?: boolean | string;\n /** Callback when highlight is clicked */\n onClick?: ((...args: unknown[]) => unknown) | string;\n /** Callback when highlight is hovered */\n onMouseEnter?: ((...args: unknown[]) => unknown) | string;\n /** Callback when hover ends */\n onMouseLeave?: ((...args: unknown[]) => unknown) | string;\n /** Unique ID for the annotation */\n annotationId?: string;\n /** Additional CSS classes */\n className?: string;\n /** Highlighted text content */\n children: unknown | string;\n /** Type of highlight (determines color) */\n highlightType: unknown | string;\n };\n 'textarea': {\n type: 'textarea';\n /** error prop */\n error?: string;\n };\n 'theme-toggle': {\n type: 'theme-toggle';\n /** Additional CSS classes */\n className?: string;\n /** Size variant */\n size?: string;\n /** Show label text */\n showLabel?: boolean | string;\n };\n 'timeline': {\n type: 'timeline';\n /** Timeline title */\n title?: string;\n /** Timeline items */\n items?: unknown | string;\n /** Schema-driven data */\n data?: unknown | string;\n /** Fields to display */\n fields?: unknown | string;\n /** Actions per item */\n itemActions?: unknown | string;\n /** Entity name for schema-driven auto-fetch */\n entity?: string;\n /** Loading state */\n isLoading?: boolean | string;\n /** Error state */\n error?: unknown | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'toast-slot': {\n type: 'toast-slot';\n /** Content to display in the toast (message or ReactNode) */\n children?: unknown | string;\n /** Toast variant */\n variant?: unknown | string;\n /** Toast title */\n title?: string;\n /** Auto-dismiss duration in ms (0 = no auto-dismiss) */\n duration?: number | string;\n /** Custom class name */\n className?: string;\n };\n 'tooltip': {\n type: 'tooltip';\n /** Tooltip content */\n content: unknown | string;\n /** Tooltip trigger element (ReactElement or ReactNode that will be wrapped in span) */\n children: unknown | string;\n /** Tooltip position */\n position?: unknown | string;\n /** Show delay in milliseconds */\n delay?: number | string;\n /** Hide delay in milliseconds */\n hideDelay?: number | string;\n /** Show arrow */\n showArrow?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'typography': {\n type: 'typography';\n /** Typography variant */\n variant?: unknown | string;\n /** Heading level (1-6) - alternative to variant for headings */\n level?: number | string;\n /** Text color */\n color?: string;\n /** Text alignment */\n align?: string;\n /** Font weight override */\n weight?: string;\n /** Font size override */\n size?: unknown | string;\n /** Truncate with ellipsis (single line) */\n truncate?: boolean | string;\n /** Overflow handling mode */\n overflow?: string;\n /** Custom HTML element */\n as?: unknown | string;\n /** HTML id attribute */\n id?: string;\n /** Additional class names */\n className?: string;\n /** Inline style */\n style?: Record<string, unknown> | string;\n /** Text content (alternative to children) */\n content?: unknown | string;\n /** Children elements */\n children?: unknown | string;\n };\n 'u-i-slot-renderer': {\n type: 'u-i-slot-renderer';\n /** Include HUD slots */\n includeHud?: boolean | string;\n /** Include floating slot */\n includeFloating?: boolean | string;\n /** Additional class name for the container */\n className?: string;\n };\n 'violation-alert': {\n type: 'violation-alert';\n /** Violation data */\n violation: unknown | string;\n /** Visual severity (derived from actionType if not specified) */\n severity?: string;\n /** Dismissible alert */\n dismissible?: boolean | string;\n /** Dismiss handler */\n onDismiss?: ((...args: unknown[]) => unknown) | string;\n /** Navigate to the field that caused violation */\n onNavigateToField?: ((...args: unknown[]) => unknown) | string;\n /** Compact display mode */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'wizard-container': {\n type: 'wizard-container';\n /** Wizard steps */\n steps: unknown[] | string;\n /** Current step index (controlled) - accepts unknown for generated code compatibility */\n currentStep?: number | string | unknown;\n /** Callback when step changes */\n onStepChange?: ((...args: unknown[]) => unknown) | string;\n /** Callback when wizard is completed */\n onComplete?: ((...args: unknown[]) => unknown) | string;\n /** Show progress indicator */\n showProgress?: boolean | string;\n /** Allow navigation to previous steps */\n allowBack?: boolean | string;\n /** Modal mode (compact header, no padding) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n /** Entity type name (schema-driven) */\n entity?: string;\n };\n 'wizard-navigation': {\n type: 'wizard-navigation';\n /** Current step index (0-based) */\n currentStep: number | string;\n /** Total number of steps */\n totalSteps: number | string;\n /** Whether the current step is valid (enables Next/Complete) */\n isValid?: boolean | string;\n /** Show the Back button */\n showBack?: boolean | string;\n /** Show the Next button */\n showNext?: boolean | string;\n /** Show the Complete button (on last step) */\n showComplete?: boolean | string;\n /** Custom label for Back button */\n backLabel?: string;\n /** Custom label for Next button */\n nextLabel?: string;\n /** Custom label for Complete button */\n completeLabel?: string;\n /** Event to emit on Back click */\n onBack?: string;\n /** Event to emit on Next click */\n onNext?: string;\n /** Event to emit on Complete click */\n onComplete?: string;\n /** Direct callback for Back (alternative to event) */\n onBackClick?: ((...args: unknown[]) => unknown) | string;\n /** Direct callback for Next (alternative to event) */\n onNextClick?: ((...args: unknown[]) => unknown) | string;\n /** Direct callback for Complete (alternative to event) */\n onCompleteClick?: ((...args: unknown[]) => unknown) | string;\n /** Compact mode (smaller padding) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'wizard-progress': {\n type: 'wizard-progress';\n /** Step definitions (compatible with WizardContainer's WizardStep) */\n steps: unknown[] | string;\n /** Current step index (0-based) */\n currentStep: number | string;\n /** Callback when a completed step is clicked */\n onStepClick?: ((...args: unknown[]) => unknown) | string;\n /** Allow clicking on completed steps to navigate back */\n allowNavigation?: boolean | string;\n /** Compact mode (smaller, no titles) */\n compact?: boolean | string;\n /** Additional CSS classes */\n className?: string;\n };\n 'world-map-template': {\n type: 'world-map-template';\n /** All map hexes (with pre-resolved terrain sprites) */\n hexes: unknown[] | string;\n /** Heroes on the map */\n heroes: unknown[] | string;\n /** Features rendered on tiles */\n features?: unknown[] | string;\n /** Currently selected hero ID */\n selectedHeroId?: string;\n /** Canvas render scale */\n scale?: number | string;\n /** Unit draw-size multiplier */\n unitScale?: number | string;\n /** Asset manifest for IsometricCanvas */\n assetManifest?: Record<string, unknown> | string;\n /** Background image URL */\n backgroundImage?: string;\n /** Allow selecting / moving ALL heroes (including enemy). For testing. */\n allowMoveAllHeroes?: boolean | string;\n /** Custom movement range validator */\n isInRange?: ((...args: unknown[]) => unknown) | string;\n /** -- Slots -- */\n header?: ((...args: unknown[]) => unknown) | string;\n /** Side panel (hero detail, hero lists, etc.) */\n sidePanel?: ((...args: unknown[]) => unknown) | string;\n /** Canvas overlay (tooltips, popups) */\n overlay?: ((...args: unknown[]) => unknown) | string;\n /** Footer */\n footer?: ((...args: unknown[]) => unknown) | string;\n /** -- Callbacks -- */\n onHeroSelect?: ((...args: unknown[]) => unknown) | string;\n /** onHeroMove prop */\n onHeroMove?: ((...args: unknown[]) => unknown) | string;\n /** Called when hero clicks an enemy hero tile */\n onBattleEncounter?: ((...args: unknown[]) => unknown) | string;\n /** Called when hero enters a feature hex (castle, resource, etc.) */\n onFeatureEnter?: ((...args: unknown[]) => unknown) | string;\n /** -- Canvas pass-through -- */\n effectSpriteUrls?: unknown[] | string;\n /** resolveUnitFrame prop */\n resolveUnitFrame?: ((...args: unknown[]) => unknown) | string;\n /** className prop */\n className?: string;\n };\n}\n\n/**\n * Get the props type for a specific pattern.\n * \n * @example\n * type TableProps = PatternProps<'entity-table'>;\n * // { type: 'entity-table'; columns: unknown[]; data?: Record<string, unknown>; ... }\n */\nexport type PatternProps<T extends PatternType> = PatternPropsMap[T];\n\n/**\n * Type-safe pattern configuration.\n * The props are validated based on the pattern type.\n * \n * @example\n * // ✅ Valid\n * const config: PatternConfig<'entity-table'> = { \n * type: 'entity-table', \n * columns: ['name', 'email'] \n * };\n * \n * // ❌ Error: Property 'columns' is missing\n * const bad: PatternConfig<'entity-table'> = { type: 'entity-table' };\n */\nexport type PatternConfig<T extends PatternType = PatternType> = PatternPropsMap[T];\n\n/**\n * Discriminated union of all pattern configs.\n * Use when the pattern type is not known statically.\n */\nexport type AnyPatternConfig = PatternPropsMap[PatternType];\n\n/**\n * Array of all pattern type names (for runtime validation)\n */\nexport const PATTERN_TYPES: PatternType[] = [\n 'accordion',\n 'action-buttons',\n 'alert',\n 'auth-layout',\n 'avatar',\n 'badge',\n 'battle-template',\n 'box',\n 'breadcrumb',\n 'button',\n 'button-pattern',\n 'canvas-effect',\n 'card',\n 'castle-template',\n 'center',\n 'chart',\n 'checkbox',\n 'code-viewer',\n 'conditional-wrapper',\n 'confirm-dialog',\n 'container',\n 'control-button',\n 'counter-template',\n 'crud-template',\n 'custom-pattern',\n 'd-pad',\n 'dashboard-grid',\n 'dashboard-layout',\n 'detail-panel',\n 'dialogue-box',\n 'divider',\n 'document-viewer',\n 'drawer',\n 'drawer-slot',\n 'empty-state',\n 'entity-cards',\n 'entity-list',\n 'entity-table',\n 'error-state',\n 'filter-group',\n 'flex',\n 'floating-action-button',\n 'form',\n 'form-actions',\n 'form-field',\n 'form-section',\n 'form-section-header',\n 'form-template',\n 'game-hud',\n 'game-menu',\n 'game-over-screen',\n 'game-shell',\n 'game-template',\n 'generic-app-template',\n 'graph-canvas',\n 'grid',\n 'header',\n 'health-bar',\n 'icon',\n 'input',\n 'input-group',\n 'inventory-panel',\n 'isometric-canvas',\n 'label',\n 'law-reference-tooltip',\n 'layout-pattern',\n 'list-template',\n 'loading-state',\n 'master-detail',\n 'media-gallery',\n 'menu',\n 'meter',\n 'modal',\n 'modal-slot',\n 'navigation',\n 'notification',\n 'orbital-visualization',\n 'overlay',\n 'page-header',\n 'pagination',\n 'popover',\n 'progress-bar',\n 'radio',\n 'relation-select',\n 'repeatable-form-section',\n 'runtime-debugger',\n 'score-display',\n 'search-input',\n 'section',\n 'select',\n 'settings-template',\n 'side-panel',\n 'sidebar',\n 'signature-pad',\n 'simple-grid',\n 'spacer',\n 'spinner',\n 'split',\n 'split-pane',\n 'sprite',\n 'stack',\n 'stat-badge',\n 'stats',\n 'switch',\n 'tabbed-container',\n 'table',\n 'tabs',\n 'text-highlight',\n 'textarea',\n 'theme-toggle',\n 'timeline',\n 'toast-slot',\n 'tooltip',\n 'typography',\n 'u-i-slot-renderer',\n 'violation-alert',\n 'wizard-container',\n 'wizard-navigation',\n 'wizard-progress',\n 'world-map-template',\n];\n\n/**\n * Check if a string is a valid pattern type\n */\nexport function isValidPatternType(type: string): type is PatternType {\n return PATTERN_TYPES.includes(type as PatternType);\n}\n","/**\n * Prompt Helpers for @almadar/patterns\n * \n * Helper functions for generating prompts/documentation from pattern registry.\n * Used by @almadar/skills package and other tools.\n * \n * @packageDocumentation\n */\n\nimport { patternsRegistry } from '../index.js';\nimport type { PatternType } from '../pattern-types.js';\n\ntype PatternEntry = {\n category?: string;\n description?: string;\n propsSchema?: Record<string, { types?: string[]; required?: boolean }>;\n entityAware?: boolean;\n};\n\ntype PatternsRegistryShape = {\n patterns?: Record<string, PatternEntry>;\n};\n\n/**\n * Get patterns grouped by category.\n * Categories are derived from pattern registry metadata.\n */\nexport function getPatternsGroupedByCategory(): Record<string, PatternType[]> {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n const grouped: Record<string, PatternType[]> = {};\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const category = patternDef.category || 'uncategorized';\n if (!grouped[category]) {\n grouped[category] = [];\n }\n grouped[category].push(patternName as PatternType);\n }\n\n return grouped;\n}\n\n/**\n * Get compact pattern props reference table.\n * Generates markdown table of pattern names and their key props.\n */\nexport function getPatternPropsCompact(): string {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n const lines: string[] = [\n '| Pattern | Key Props |',\n '|---------|-----------|',\n ];\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const propsSchema = patternDef.propsSchema || {};\n const requiredProps = Object.keys(propsSchema).filter(\n (key) => propsSchema[key]?.required === true\n );\n const keyProps = requiredProps.length > 0 \n ? requiredProps.join(', ') \n : Object.keys(propsSchema).slice(0, 3).join(', ');\n \n lines.push(`| ${patternName} | ${keyProps} |`);\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Get pattern action props reference.\n * Lists patterns that have action/event props (buttons, forms, etc.).\n */\nexport function getPatternActionsRef(): string {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n const lines: string[] = [\n '## Pattern Action Props',\n '',\n '| Pattern | Action Props | Notes |',\n '|---------|-------------|-------|',\n ];\n\n for (const [patternName, patternDef] of Object.entries(patterns)) {\n const propsSchema = patternDef.propsSchema || {};\n const actionProps: string[] = [];\n\n // Check for common action prop patterns\n for (const [propName, propDef] of Object.entries(propsSchema)) {\n if (\n propName.includes('action') ||\n propName.includes('Action') ||\n propName.includes('event') ||\n propName.includes('Event') ||\n propName === 'onSubmit' ||\n propName === 'onClick'\n ) {\n actionProps.push(propName);\n }\n }\n\n if (actionProps.length > 0) {\n const notes = patternDef.description || '';\n lines.push(`| ${patternName} | ${actionProps.join(', ')} | ${notes.slice(0, 50)} |`);\n }\n }\n\n return lines.join('\\n');\n}\n\n/**\n * Generate pattern description from metadata.\n * Auto-generates human-readable description from pattern props schema.\n */\nexport function generatePatternDescription(patternType: string): string {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n const patternDef = patterns[patternType];\n \n if (!patternDef) {\n return patternType;\n }\n\n const desc = patternDef.description;\n if (desc) {\n return desc;\n }\n\n // Auto-generate from props\n const propsSchema = patternDef.propsSchema || {};\n const propCount = Object.keys(propsSchema).length;\n const requiredProps = Object.keys(propsSchema).filter(\n (key) => propsSchema[key]?.required === true\n );\n\n if (requiredProps.length > 0) {\n return `${patternType} (requires: ${requiredProps.join(', ')})`;\n }\n\n return `${patternType} (${propCount} props)`;\n}\n\n/**\n * Get all pattern types as array.\n */\nexport function getAllPatternTypes(): PatternType[] {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n return Object.keys(patterns) as PatternType[];\n}\n\n/**\n * Get pattern metadata for a specific pattern.\n */\nexport function getPatternMetadata(patternType: string): PatternEntry | null {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n return patterns[patternType] || null;\n}\n","/**\n * Pattern Recommender\n *\n * Maps transition context (entity fields, domain category, UI state) to\n * ranked pattern suggestions using the registry's `suggestedFor` metadata,\n * category matching, and entity field type heuristics.\n *\n * Used by the design-transition tool to include top-N recommendations\n * in the LLM prompt context.\n *\n * @packageDocumentation\n */\n\nimport { patternsRegistry } from '../index.js';\nimport type { PatternType } from '../pattern-types.js';\n\ntype PatternEntry = {\n category?: string;\n description?: string;\n suggestedFor?: string[];\n typicalSize?: string;\n propsSchema?: Record<string, { types?: string[]; required?: boolean }>;\n entityAware?: boolean;\n};\n\ntype PatternsRegistryShape = {\n patterns?: Record<string, PatternEntry>;\n};\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Context for pattern recommendation.\n */\nexport interface RecommendationContext {\n /** Current state name (e.g., \"Browsing\", \"Creating\") */\n state?: string;\n /** Triggering event (e.g., \"INIT\", \"CREATE\", \"VIEW\") */\n event?: string;\n /** Target UI slot */\n slot?: 'main' | 'modal' | 'drawer' | 'sidebar' | 'overlay';\n /** Domain category */\n domainCategory?: string;\n /** Entity field types present */\n entityFieldTypes?: string[];\n /** Entity has enum fields */\n hasEnumFields?: boolean;\n /** Entity has date/timestamp fields */\n hasDateFields?: boolean;\n /** Entity has numeric fields */\n hasNumericFields?: boolean;\n /** Entity has relation fields */\n hasRelationFields?: boolean;\n /** Entity has image/url fields */\n hasMediaFields?: boolean;\n}\n\n/**\n * A pattern recommendation with score and reasoning.\n */\nexport interface PatternRecommendation {\n /** Pattern type name */\n pattern: PatternType;\n /** Relevance score (0-100) */\n score: number;\n /** Why this pattern was recommended */\n reason: string;\n /** Pattern category */\n category: string;\n /** Pattern description */\n description: string;\n /** Key props to use */\n keyProps: string[];\n}\n\n// ============================================================================\n// Domain → suggestedFor keyword mapping\n// ============================================================================\n\nconst DOMAIN_KEYWORDS: Record<string, string[]> = {\n business: ['admin panels', 'data-dense views', 'list pages', 'data entry', 'comparisons'],\n dashboard: ['dashboards', 'analytics', 'overview pages', 'overview screens', 'data visualization', 'reporting', 'KPI indicators'],\n 'e-commerce': ['visual items', 'images', 'previews', 'data entry', 'list pages'],\n content: ['visual items', 'images', 'previews', 'media', 'pages with multiple views'],\n social: ['activity logs', 'visual items', 'previews'],\n workflow: ['process tracking', 'workflow steps', 'multi-step forms', 'wizards'],\n form: ['data entry', 'create forms', 'edit forms', 'multi-step forms'],\n game: ['game', 'real-time', 'interactive'],\n};\n\n/**\n * Event → relevant suggestedFor keywords\n */\nconst EVENT_KEYWORDS: Record<string, string[]> = {\n INIT: ['list pages', 'overview pages', 'dashboards', 'admin panels'],\n CREATE: ['create forms', 'data entry', 'multi-step forms'],\n EDIT: ['edit forms', 'data entry'],\n VIEW: ['detail pages', 'entity management', 'pages with multiple views'],\n DELETE: ['destructive actions', 'confirmations'],\n FILTER: ['filterable data', 'search functionality', 'quick filters'],\n};\n\n/**\n * Slot → category affinity (which categories belong in which slot)\n */\nconst SLOT_CATEGORY_AFFINITY: Record<string, string[]> = {\n main: ['display', 'dashboard', 'filter', 'header', 'layout', 'visualization', 'navigation', 'template'],\n modal: ['form', 'container', 'state'],\n drawer: ['display', 'form', 'navigation'],\n sidebar: ['navigation', 'filter'],\n overlay: ['container', 'state'],\n};\n\n/**\n * State → relevant categories\n */\nconst STATE_CATEGORY_AFFINITY: Record<string, string[]> = {\n Browsing: ['display', 'filter', 'header', 'dashboard', 'visualization'],\n Creating: ['form', 'navigation'],\n Editing: ['form', 'navigation'],\n Viewing: ['display', 'navigation'],\n Deleting: ['container', 'state'],\n};\n\n// ============================================================================\n// Core Recommendation Engine\n// ============================================================================\n\n/**\n * Recommend patterns for a given context.\n *\n * Scoring algorithm:\n * 1. suggestedFor match with domain keywords (+30)\n * 2. suggestedFor match with event keywords (+25)\n * 3. Category affinity with slot (+20)\n * 4. Category affinity with state (+15)\n * 5. Entity field type bonus (+10 per matching heuristic)\n * 6. Entity-aware bonus for display patterns (+5)\n *\n * @returns Ranked pattern recommendations, highest score first\n */\nexport function recommendPatterns(\n context: RecommendationContext,\n maxResults: number = 10,\n): PatternRecommendation[] {\n const patterns = (patternsRegistry as PatternsRegistryShape).patterns || {};\n const scores: Map<string, { score: number; reasons: string[] }> = new Map();\n\n const domainKeywords = context.domainCategory\n ? DOMAIN_KEYWORDS[context.domainCategory] || []\n : [];\n const eventKeywords = context.event\n ? EVENT_KEYWORDS[context.event] || []\n : [];\n const slotCategories = context.slot\n ? SLOT_CATEGORY_AFFINITY[context.slot] || []\n : [];\n const stateCategories = context.state\n ? STATE_CATEGORY_AFFINITY[context.state] || []\n : [];\n\n for (const [patternName, patternDef] of Object.entries(patterns) as [string, any][]) {\n const suggestedFor: string[] = patternDef.suggestedFor || [];\n const category: string = patternDef.category || '';\n let score = 0;\n const reasons: string[] = [];\n\n // Skip game patterns for non-game domains\n if (category === 'game' && context.domainCategory !== 'game') continue;\n // Skip debug patterns\n if (category === 'debug') continue;\n // Skip template patterns (too high-level for transition design)\n if (category === 'template') continue;\n\n // 1. suggestedFor × domain keywords (+30 max)\n for (const keyword of domainKeywords) {\n if (suggestedFor.some(sf => sf.toLowerCase().includes(keyword.toLowerCase()))) {\n score += 30;\n reasons.push(`domain:${keyword}`);\n break; // Only count once\n }\n }\n\n // 2. suggestedFor × event keywords (+25 max)\n for (const keyword of eventKeywords) {\n if (suggestedFor.some(sf => sf.toLowerCase().includes(keyword.toLowerCase()))) {\n score += 25;\n reasons.push(`event:${keyword}`);\n break;\n }\n }\n\n // 3. Slot category affinity (+20)\n if (slotCategories.includes(category)) {\n score += 20;\n reasons.push(`slot:${context.slot}`);\n }\n\n // 4. State category affinity (+15)\n if (stateCategories.includes(category)) {\n score += 15;\n reasons.push(`state:${context.state}`);\n }\n\n // 5. Entity field type heuristics (+10 each)\n if (context.hasEnumFields && ['filter-group', 'tabs', 'badge'].includes(patternName)) {\n score += 10;\n reasons.push('enum-fields');\n }\n if (context.hasDateFields && ['timeline', 'chart'].includes(patternName)) {\n score += 10;\n reasons.push('date-fields');\n }\n if (context.hasNumericFields && ['stats', 'chart', 'meter', 'progress-bar'].includes(patternName)) {\n score += 10;\n reasons.push('numeric-fields');\n }\n if (context.hasRelationFields && ['tabs', 'master-detail'].includes(patternName)) {\n score += 10;\n reasons.push('relation-fields');\n }\n if (context.hasMediaFields && ['entity-cards', 'media-gallery'].includes(patternName)) {\n score += 10;\n reasons.push('media-fields');\n }\n\n // 6. Entity-aware bonus for display patterns (+5)\n if (category === 'display' || category === 'dashboard') {\n const propsSchema = patternDef.propsSchema || {};\n if ('entity' in propsSchema) {\n score += 5;\n reasons.push('entity-aware');\n }\n }\n\n if (score > 0) {\n scores.set(patternName, { score, reasons });\n }\n }\n\n // Sort by score, take top N\n const ranked = [...scores.entries()]\n .sort((a, b) => b[1].score - a[1].score)\n .slice(0, maxResults);\n\n return ranked.map(([patternName, { score, reasons }]) => {\n const patternDef = patterns[patternName];\n const propsSchema = patternDef.propsSchema || {};\n const keyProps = Object.keys(propsSchema)\n .filter(k => propsSchema[k]?.required === true)\n .slice(0, 5);\n\n // If no required props, show first few meaningful ones\n if (keyProps.length === 0) {\n const meaningful = Object.keys(propsSchema).filter(\n k => !['className', 'isLoading', 'error', 'entity'].includes(k)\n );\n keyProps.push(...meaningful.slice(0, 4));\n }\n\n return {\n pattern: patternName as PatternType,\n score,\n reason: reasons.join(', '),\n category: patternDef.category || 'unknown',\n description: patternDef.description || patternName,\n keyProps,\n };\n });\n}\n\n// ============================================================================\n// Context Builder (from raw entity fields)\n// ============================================================================\n\n/**\n * Build recommendation context from entity field information.\n * Analyzes field types to set the boolean flags used by the recommender.\n */\nexport function buildRecommendationContext(options: {\n state?: string;\n event?: string;\n slot?: 'main' | 'modal' | 'drawer' | 'sidebar' | 'overlay';\n domainCategory?: string;\n entityFields?: Array<{ name: string; type: string; values?: string[] }>;\n}): RecommendationContext {\n const fields = options.entityFields || [];\n const fieldTypes = fields.map(f => f.type);\n\n return {\n state: options.state,\n event: options.event,\n slot: options.slot,\n domainCategory: options.domainCategory,\n entityFieldTypes: fieldTypes,\n hasEnumFields: fields.some(f => f.type === 'enum' || (f.values && f.values.length > 0)),\n hasDateFields: fields.some(f => ['date', 'datetime', 'timestamp'].includes(f.type)),\n hasNumericFields: fields.some(f => ['number', 'integer', 'float', 'decimal', 'currency'].includes(f.type)),\n hasRelationFields: fields.some(f => f.type === 'relation'),\n hasMediaFields: fields.some(f => ['image', 'url', 'media', 'file'].includes(f.type)),\n };\n}\n\n// ============================================================================\n// Prompt Formatter\n// ============================================================================\n\n/**\n * Format recommendations as a concise prompt section.\n * Used to inject into the design-transition tool's user prompt.\n */\nexport function formatRecommendationsForPrompt(\n recommendations: PatternRecommendation[],\n): string {\n if (recommendations.length === 0) return '';\n\n const lines = [\n '## Recommended Patterns',\n '',\n '| Pattern | Category | Key Props | Why |',\n '|---------|----------|-----------|-----|',\n ];\n\n for (const rec of recommendations) {\n const props = rec.keyProps.length > 0 ? rec.keyProps.join(', ') : '—';\n lines.push(`| ${rec.pattern} | ${rec.category} | ${props} | ${rec.reason} |`);\n }\n\n lines.push('');\n lines.push('Use these patterns where appropriate. Combine multiple for rich INIT transitions.');\n\n return lines.join('\\n');\n}\n","import patternsRegistry from './patterns-registry.json' with { type: 'json' };\nimport integratorsRegistry from './integrators-registry.json' with { type: 'json' };\nimport componentMapping from './component-mapping.json' with { type: 'json' };\nimport eventContracts from './event-contracts.json' with { type: 'json' };\n\n// Export both registries\nexport { patternsRegistry, integratorsRegistry, componentMapping, eventContracts };\n\n// Export pattern types for compile-time validation\nexport {\n PatternType,\n PatternPropsMap,\n PatternProps,\n PatternConfig,\n AnyPatternConfig,\n PATTERN_TYPES,\n isValidPatternType,\n} from './pattern-types.js';\n\n// Backwards compatible alias - registry refers to patterns registry\nexport const registry = patternsRegistry;\n\nexport const PATTERN_REGISTRY = patternsRegistry;\nexport const INTEGRATORS_REGISTRY = integratorsRegistry;\nexport const COMPONENT_MAPPING = componentMapping;\nexport const EVENT_CONTRACTS = eventContracts;\n\ntype PatternEntry = {\n type: string;\n category: string;\n description?: string;\n suggestedFor?: string[];\n typicalSize?: string;\n propsSchema?: Record<string, { types?: string[]; required?: boolean }>;\n entityAware?: boolean;\n};\n\ntype PatternsRegistry = {\n version?: string;\n exportedAt?: string;\n patterns: Record<string, PatternEntry>;\n categories?: string[];\n};\n\ntype ComponentMapping = {\n version?: string;\n exportedAt?: string;\n mappings: Record<string, string>;\n};\n\nexport function getPatternDefinition(patternType: string): PatternEntry | null {\n return (patternsRegistry as PatternsRegistry).patterns?.[patternType] ?? null;\n}\n\nexport function getComponentForPattern(patternType: string): string | null {\n return (componentMapping as unknown as ComponentMapping).mappings?.[patternType] ?? null;\n}\n\n/**\n * Check if a pattern is entity-aware (requires data injection).\n *\n * Entity-aware patterns have an `entity` prop typed as `array` or `object`\n * in the registry propsSchema. String-typed entity props are metadata only.\n *\n * @param patternType - Pattern type to check\n * @returns true if the pattern is entity-aware\n */\nexport function isEntityAwarePattern(patternType: string): boolean {\n const definition = getPatternDefinition(patternType);\n if (!definition) return false;\n\n // Explicit flag takes precedence\n if (definition.entityAware === true) return true;\n\n const propsSchema = definition.propsSchema;\n if (!propsSchema) return false;\n\n // Entity-aware = entity prop type is array or object (carries data, not a name string)\n const entityTypes: string[] = propsSchema.entity?.types || [];\n return entityTypes.includes('array') || entityTypes.includes('object');\n}\n\n// Export prompt helpers for @almadar/skills\nexport {\n getPatternsGroupedByCategory,\n getPatternPropsCompact,\n getPatternActionsRef,\n generatePatternDescription,\n getAllPatternTypes,\n getPatternMetadata,\n} from './helpers/prompt-helpers.js';\n\n// Export pattern recommender for @almadar/agent design tool\nexport {\n recommendPatterns,\n buildRecommendationContext,\n formatRecommendationsForPrompt,\n type RecommendationContext,\n type PatternRecommendation,\n} from './helpers/pattern-recommender.js';\n"]}