{"version":3,"file":"static/chunks/2002-85afefd8de5054e9.js","mappings":"4LAgBA,SAASA,EAAiEC,CAAA,EAKxE,IAAMC,EAAgBD,EAAO,qBACvB,CAACE,EAAyBC,EAAqB,CAAIC,CAAAA,EAAAA,EAAAA,CAAAA,EAAmBH,GAOtE,CAACI,EAAwBC,EAAoB,CAAIJ,EACrDD,EACA,CAAEM,cAAe,CAAEC,QAAS,IAAK,EAAGC,QAAS,IAAIC,GAAM,GAGnDC,EAA2E,IAC/E,GAAM,CAAEC,MAAAA,CAAA,CAAOC,SAAAA,CAAA,CAAS,CAAIC,EACtBC,EAAMC,EAAAA,MAAM,CAA0B,MACtCP,EAAUO,EAAAA,MAAM,CAAgC,IAAIN,KAAOF,OAAA,CACjE,MACES,CAAAA,EAAAA,EAAAA,GAAAA,EAACZ,EAAA,CAAuBO,MAAAA,EAAcH,QAAAA,EAAkBF,cAAeQ,EACpEF,SAAAA,CAAA,EAGP,CAEAF,CAAAA,EAAmBO,WAAA,CAAcjB,EAMjC,IAAMkB,EAAuBnB,EAAO,iBAE9BoB,EAAiBJ,EAAAA,UAAM,CAC3B,CAACF,EAAOO,KACN,GAAM,CAAET,MAAAA,CAAA,CAAOC,SAAAA,CAAA,CAAS,CAAIC,EACtBQ,EAAUhB,EAAqBa,EAAsBP,GACrDW,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcC,EAAQf,aAAa,EACxE,MAAOU,CAAAA,EAAAA,EAAAA,GAAAA,EAACQ,EAAAA,EAAIA,CAAJ,CAAKV,IAAKQ,EAAeV,SAAAA,CAAA,EACnC,EAGFO,CAAAA,EAAeF,WAAA,CAAcC,EAM7B,IAAMO,EAAiB1B,EAAO,qBACxB2B,EAAiB,6BAOjBC,EAAqBZ,EAAAA,UAAM,CAC/B,CAACF,EAAOO,KACN,GAAM,CAAET,MAAAA,CAAA,CAAOC,SAAAA,CAAA,CAAU,GAAGgB,EAAS,CAAIf,EACnCC,EAAMC,EAAAA,MAAM,CAAoB,MAChCO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GAC7CO,EAAUhB,EAAqBoB,EAAgBd,GAOrD,OALAI,EAAAA,SAAM,CAAU,KACdM,EAAQb,OAAA,CAAQqB,GAAA,CAAIf,EAAK,CAAEA,IAAAA,EAAK,GAAIc,CAAA,GAC7B,IAAM,KAAKP,EAAQb,OAAA,CAAQsB,MAAA,CAAOhB,KAIzCE,CAAAA,EAAAA,EAAAA,GAAAA,EAACQ,EAAAA,EAAIA,CAAJ,CAAW,CAACE,EAAc,CAAG,GAAMZ,IAAKQ,EACtCV,SAAAA,CAAA,EAGP,UAGFe,EAAmBV,WAAA,CAAcQ,EAuB1B,CACL,CAAEM,SAAUrB,EAAoBc,KAAML,EAAgBa,SAAUL,CAAmB,EAlBrF,SAAuBhB,CAAA,EACrB,IAAMU,EAAUhB,EAAqBN,EAAO,qBAAsBY,GAalE,OAXiBI,EAAAA,WAAM,CAAY,KACjC,IAAMkB,EAAiBZ,EAAQf,aAAA,CAAcC,OAAA,CAC7C,GAAI,CAAC0B,EAAgB,MAAO,EAAC,CAC7B,IAAMC,EAAeC,MAAMC,IAAA,CAAKH,EAAeI,gBAAA,CAAiB,IAAkBC,MAAA,CAAdZ,EAAc,OAKlF,OAHqBa,MADDH,IAAA,CAAKf,EAAQb,OAAA,CAAQgC,MAAA,IACdC,IAAA,CACzB,CAACC,EAAGC,IAAMT,EAAaU,OAAA,CAAQF,EAAE5B,GAAA,CAAIP,OAAQ,EAAI2B,EAAaU,OAAA,CAAQD,EAAE7B,GAAA,CAAIP,OAAQ,EAGxF,EAAG,CAACc,EAAQf,aAAA,CAAee,EAAQb,OAAO,CAAC,CAG7C,EAKEN,EACF,wZCrGI2C,EAAc,SAGd,CAACC,EAAqBC,EAAiB,CAAI5C,CAAAA,EAAAA,EAAAA,CAAAA,EAAmB0C,GAc9D,CAACG,EAAgBC,EAAgB,CAAIH,EAAwCD,GAU7EK,EAAgC,IACpC,GAAM,CACJC,cAAAA,CAAA,CACAvC,SAAAA,CAAA,CACAwC,KAAMC,CAAA,CACNC,YAAAA,CAAA,CACAC,aAAAA,CAAA,CACAC,MAAAA,EAAQ,GACV,CAAI3C,EACE4C,EAAmB1C,EAAAA,MAAA,CAA0B,MAC7C2C,EAAmB3C,EAAAA,MAAA,CAA6B,MAChD,CAACqC,EAAO,GAAOO,EAAO,CAAIC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqB,CACnDC,KAAMR,EACNS,YAAaR,EACbS,SAAUR,CACZ,GAEA,MACEvC,CAAAA,EAAAA,EAAAA,GAAAA,EAACgC,EAAA,CACCrC,MAAOwC,EACPM,WAAAA,EACAC,WAAAA,EACAM,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,IACXC,QAASD,CAAAA,EAAAA,EAAAA,CAAAA,IACTE,cAAeF,CAAAA,EAAAA,EAAAA,CAAAA,IACfb,KAAAA,EACAG,aAAcI,EACdS,aAAoBrD,EAAAA,WAAA,CAAY,IAAM4C,EAAQ,GAAc,CAACU,GAAW,CAACV,EAAQ,EACjFH,MAAAA,EAEC5C,SAAAA,CAAA,EAGP,CAEAsC,CAAAA,EAAOjC,WAAA,CAAc4B,EAMrB,IAAMyB,EAAe,gBAMfC,EAAsBxD,EAAAA,UAAA,CAC1B,CAACF,EAAwCO,KACvC,GAAM,CAAE+B,cAAAA,CAAA,CAAe,GAAGqB,EAAa,CAAI3D,EACrCQ,EAAU4B,EAAiBqB,EAAcnB,GACzCsB,EAAqBlD,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcC,EAAQoC,UAAU,EAC3E,MACEzC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAACC,MAAA,CAAV,CACCC,KAAK,SACL,gBAAc,SACd,gBAAevD,EAAQ+B,IAAA,CACvB,gBAAe/B,EAAQ2C,SAAA,CACvB,aAAYa,EAASxD,EAAQ+B,IAAI,EAChC,GAAGoB,CAAA,CACJ1D,IAAK2D,EACLK,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMiE,OAAA,CAASzD,EAAQ+C,YAAY,GAGvE,EAGFG,CAAAA,EAActD,WAAA,CAAcqD,EAM5B,IAAMU,EAAc,eAGd,CAACC,EAAgBC,EAAgB,CAAIpC,EAAwCkC,EAAa,CAC9FG,WAAY,MACd,GAgBMC,EAA4C,IAChD,GAAM,CAAEjC,cAAAA,CAAA,CAAegC,WAAAA,CAAA,CAAYvE,SAAAA,CAAA,CAAUyE,UAAAA,CAAA,CAAU,CAAIxE,EACrDQ,EAAU4B,EAAiB+B,EAAa7B,GAC9C,MACEnC,CAAAA,EAAAA,EAAAA,GAAAA,EAACiE,EAAA,CAAetE,MAAOwC,EAAegC,WAAAA,EACnCvE,SAAMG,EAAAA,QAAA,CAASuE,GAAA,CAAI1E,EAAU,GAC5BI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACvCxC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACyE,EAAAA,CAAeA,CAAf,CAAgBC,QAAO,GAACL,UAAAA,EACtBzE,SAAA+E,CAAA,EACH,GAEH,EAGP,CAEAP,CAAAA,EAAanE,WAAA,CAAc+D,EAM3B,IAAMY,EAAe,gBAWfC,EAAsB9E,EAAAA,UAAA,CAC1B,CAACF,EAAwCO,KACvC,IAAM0E,EAAgBZ,EAAiBU,EAAc/E,EAAMsC,aAAa,EAClE,CAAEgC,WAAAA,EAAaW,EAAcX,UAAA,CAAY,GAAGY,EAAa,CAAIlF,EAC7DQ,EAAU4B,EAAiB2C,EAAc/E,EAAMsC,aAAa,EAClE,OAAO9B,EAAQmC,KAAA,CACbxC,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACvCxC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACgF,EAAA,CAAmB,GAAGD,CAAA,CAAcjF,IAAKM,CAAA,EAAc,GAExD,IACN,EAGFyE,CAAAA,EAAc5E,WAAA,CAAc2E,EAM5B,IAAMI,EAA0BjF,EAAAA,UAAA,CAC9B,CAACF,EAA4CO,KAC3C,GAAM,CAAE+B,cAAAA,CAAA,CAAe,GAAG4C,EAAa,CAAIlF,EACrCQ,EAAU4B,EAAiB2C,EAAczC,GAC/C,MAGEnC,CAAAA,EAAAA,EAAAA,GAAAA,EAACiF,EAAAA,CAAYA,CAAZ,CAAaC,GAAI1E,EAAAA,EAAIA,CAAE2E,eAAc,GAACC,OAAQ,CAAC/E,EAAQqC,UAAU,EAChE9C,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CACC,aAAYxB,EAASxD,EAAQ+B,IAAI,EAChC,GAAG2C,CAAA,CACJjF,IAAKM,EAELkF,MAAO,CAAEC,cAAe,OAAQ,GAAGR,EAAaO,KAAA,CAAM,EACxD,EAGN,GAOIE,EAAe,gBAWfC,EAAsB1F,EAAAA,UAAA,CAC1B,CAACF,EAAwCO,KACvC,IAAM0E,EAAgBZ,EAAiBsB,EAAc3F,EAAMsC,aAAa,EAClE,CAAEgC,WAAAA,EAAaW,EAAcX,UAAA,CAAY,GAAGuB,EAAa,CAAI7F,EAC7DQ,EAAU4B,EAAiBuD,EAAc3F,EAAMsC,aAAa,EAClE,MACEnC,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACtCxC,SAAAS,EAAQmC,KAAA,CACPxC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC2F,EAAA,CAAoB,GAAGD,CAAA,CAAc5F,IAAKM,CAAA,GAE3CJ,CAAAA,EAAAA,EAAAA,GAAAA,EAAC4F,EAAA,CAAuB,GAAGF,CAAA,CAAc5F,IAAKM,CAAA,EAAc,EAIpE,EAGFqF,CAAAA,EAAcxF,WAAA,CAAcuF,EAQ5B,IAAMG,EAA2B5F,EAAAA,UAAA,CAC/B,CAACF,EAA4CO,KAC3C,IAAMC,EAAU4B,EAAiBuD,EAAc3F,EAAMsC,aAAa,EAC5DO,EAAmB3C,EAAAA,MAAA,CAAuB,MAC1CO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcC,EAAQqC,UAAA,CAAYA,GAQvE,OALM3C,EAAAA,SAAA,CAAU,KACd,IAAM8F,EAAUnD,EAAWnD,OAAA,CAC3B,GAAIsG,EAAS,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,EAAWD,EACjC,EAAG,EAAE,EAGH7F,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+F,EAAA,CACE,GAAGlG,CAAA,CACJC,IAAKQ,EAGL0F,UAAW3F,EAAQ+B,IAAA,CACnB6D,4BAA2B,GAC3BC,iBAAkBnC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMqG,gBAAA,CAAkB,QAE7D7F,EADA8F,EAAMC,cAAA,GACa,OAAnB/F,CAAAA,EAAAA,EAAQoC,UAAA,CAAWlD,OAAA,GAAnBc,KAAAA,IAAAA,GAAAA,EAA4BgG,KAAA,EAC9B,GACAC,qBAAsBvC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMyG,oBAAA,CAAsB,IACrE,IAAMC,EAAgBJ,EAAMK,MAAA,CAAOD,aAAA,CAC7BE,EAAgBF,IAAAA,EAAc5C,MAAA,EAAgB4C,CAA0B,IAA1BA,EAAcG,OAAA,CAC7CH,CAAAA,IAAAA,EAAc5C,MAAA,EAAgB8C,CAAAA,GAIjCN,EAAMC,cAAA,EAC1B,GAGAO,eAAgB5C,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM8G,cAAA,CAAgB,GACzDR,EAAMC,cAAA,GACR,EAGN,GAKIR,EAA8B7F,EAAAA,UAAA,CAClC,CAACF,EAA4CO,KAC3C,IAAMC,EAAU4B,EAAiBuD,EAAc3F,EAAMsC,aAAa,EAC5DyE,EAAgC7G,EAAAA,MAAA,CAAO,IACvC8G,EAAiC9G,EAAAA,MAAA,CAAO,IAE9C,MACEC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+F,EAAA,CACE,GAAGlG,CAAA,CACJC,IAAKM,EACL4F,UAAW,GACXC,4BAA6B,GAC7BC,iBAAkB,QAChBrG,EAGwCQ,CAHlC,QAANR,CAAAA,EAAAA,EAAMqG,gBAAA,GAANrG,KAAAA,IAAAA,GAAAA,EAAAA,IAAAA,CAAAA,EAAyBsG,GAEpBA,EAAMW,gBAAA,GACJF,EAAwBrH,OAAA,SAASc,CAAAA,EAAAA,EAAQoC,UAAA,CAAWlD,OAAA,GAAnBc,KAAAA,IAAAA,GAAAA,EAA4BgG,KAAA,GAElEF,EAAMC,cAAA,IAGRQ,EAAwBrH,OAAA,CAAU,GAClCsH,EAAyBtH,OAAA,CAAU,EACrC,EACAwH,kBAAmB,QACjBlH,EAawBQ,CAblB,QAANR,CAAAA,EAAAA,EAAMkH,iBAAA,GAANlH,KAAAA,IAAAA,GAAAA,EAAAA,IAAAA,CAAAA,EAA0BsG,GAErBA,EAAMW,gBAAA,GACTF,EAAwBrH,OAAA,CAAU,GACM,gBAApC4G,EAAMK,MAAA,CAAOD,aAAA,CAAc3C,IAAA,EAC7BiD,CAAAA,EAAyBtH,OAAA,CAAU,KAOvC,IAAMyH,EAASb,EAAMa,MAAA,CACfC,CAAAA,OAAkB5G,CAAAA,EAAAA,EAAQoC,UAAA,CAAWlD,OAAA,GAAnBc,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4B6G,QAAA,CAASF,EAAAA,GACxCb,EAAMC,cAAA,GAMa,YAApCD,EAAMK,MAAA,CAAOD,aAAA,CAAc3C,IAAA,EAAsBiD,EAAyBtH,OAAA,EAC5E4G,EAAMC,cAAA,EAEV,GAGN,GA6BIL,EAA0BhG,EAAAA,UAAA,CAC9B,CAACF,EAA4CO,KAC3C,GAAM,CAAE+B,cAAAA,CAAA,CAAe6D,UAAAA,CAAA,CAAWmB,gBAAAA,CAAA,CAAiBjB,iBAAAA,CAAA,CAAkB,GAAGR,EAAa,CAAI7F,EACnFQ,EAAU4B,EAAiBuD,EAAcrD,GACzCO,EAAmB3C,EAAAA,MAAA,CAAuB,MAC1CO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcsC,GAMnD,MAFA0E,CAAAA,EAAAA,EAAAA,EAAAA,IAGEC,CAAAA,EAAAA,EAAAA,IAAAA,EAAAC,EAAAA,QAAAA,CAAA,CACE1H,SAAA,CAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuH,EAAAA,CAAUA,CAAV,CACC7C,QAAO,GACP8C,KAAI,GACJC,QAASzB,EACT0B,iBAAkBP,EAClBQ,mBAAoBzB,EAEpBtG,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC4H,EAAAA,EAAgBA,CAAhB,CACCC,KAAK,SACLC,GAAIzH,EAAQ2C,SAAA,CACZ,mBAAkB3C,EAAQ8C,aAAA,CAC1B,kBAAiB9C,EAAQ6C,OAAA,CACzB,aAAYW,EAASxD,EAAQ+B,IAAI,EAChC,GAAGsD,CAAA,CACJ5F,IAAKQ,EACLyH,UAAW,IAAM1H,EAAQkC,YAAA,CAAa,GAAK,EAC7C,GAGA8E,CAAAA,EAAAA,EAAAA,IAAAA,EAAAC,EAAAA,QAAAA,CAAA,CACE1H,SAAA,CAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACgI,EAAA,CAAa9E,QAAS7C,EAAQ6C,OAAA,GAC/BlD,CAAAA,EAAAA,EAAAA,GAAAA,EAACiI,EAAA,CAAmBvF,WAAAA,EAAwBS,cAAe9C,EAAQ8C,aAAA,GAAe,GACpF,EAIR,GAOI+E,EAAa,cAMbC,EAAoBpI,EAAAA,UAAA,CACxB,CAACF,EAAsCO,KACrC,GAAM,CAAE+B,cAAAA,CAAA,CAAe,GAAGiG,EAAW,CAAIvI,EACnCQ,EAAU4B,EAAiBiG,EAAY/F,GAC7C,MAAOnC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2E,EAAA,CAAV,CAAaP,GAAIzH,EAAQ6C,OAAA,CAAU,GAAGkF,CAAA,CAAYtI,IAAKM,CAAA,EACjE,EAGF+H,CAAAA,EAAYlI,WAAA,CAAciI,EAM1B,IAAMI,EAAmB,oBAMnBC,EAA0BxI,EAAAA,UAAA,CAC9B,CAACF,EAA4CO,KAC3C,GAAM,CAAE+B,cAAAA,CAAA,CAAe,GAAGqG,EAAiB,CAAI3I,EACzCQ,EAAU4B,EAAiBqG,EAAkBnG,GACnD,MAAOnC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC+E,CAAA,CAAV,CAAYX,GAAIzH,EAAQ8C,aAAA,CAAgB,GAAGqF,CAAA,CAAkB1I,IAAKM,CAAA,EAC5E,EAGFmI,CAAAA,EAAkBtI,WAAA,CAAcqI,EAMhC,IAAMI,EAAa,cAKbC,EAAoB5I,EAAAA,UAAA,CACxB,CAACF,EAAsCO,KACrC,GAAM,CAAE+B,cAAAA,CAAA,CAAe,GAAGyG,EAAW,CAAI/I,EACnCQ,EAAU4B,EAAiByG,EAAYvG,GAC7C,MACEnC,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAACC,MAAA,CAAV,CACCC,KAAK,SACJ,GAAGgF,CAAA,CACJ9I,IAAKM,EACL0D,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMiE,OAAA,CAAS,IAAMzD,EAAQkC,YAAA,CAAa,IAAM,EAGpF,GAOF,SAASsB,EAASzB,CAAA,EAChB,OAAOA,EAAO,OAAS,QACzB,CANAuG,EAAY1I,WAAA,CAAcyI,EAQ1B,IAAMG,EAAqB,qBAErB,CAACC,EAAiBC,EAAiB,CAAIC,CAAAA,EAAAA,EAAAA,CAAAA,EAAcH,EAAoB,CAC7EI,YAAazD,EACb0D,UAAWhB,EACXiB,SAAU,QACZ,GAIMnB,EAA4C,OAAC,CAAE9E,QAAAA,CAAA,CAAQ,CAAAkG,EACrDC,EAAsBN,EAAkBF,GAExCS,EAAU,IAAuDD,MAAAA,CAAlDA,EAAoBJ,WAAW,mBAE1BI,MAAAA,CAF6CA,EAAoBH,SAAS,+FAI1BG,MAAAA,CAFhDA,EAAoBH,SAAS,wIAE+C5H,MAAA,CAA5B+H,EAAoBF,QAAQ,EAStG,OAPMpJ,EAAAA,SAAA,CAAU,KACVmD,GAEE,CADaqG,SAASC,cAAA,CAAetG,IAC1BuG,QAAQC,KAAA,CAAMJ,EAEjC,EAAG,CAACA,EAASpG,EAAQ,EAEd,IACT,EASM+E,EAAwD,OAAC,CAAEvF,WAAAA,CAAA,CAAYS,cAAAA,CAAA,CAAc,CAAAiG,EACnFO,EAA4BZ,EARH,4BASzBO,EAAU,yEAAkHhI,MAAA,CAArCqI,EAA0BV,WAAW,OAWlI,OATMlJ,EAAAA,SAAA,CAAU,SACQ2C,EAAtB,IAAMkH,EAAAA,OAAgBlH,CAAAA,EAAAA,EAAWnD,OAAA,GAAXmD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoBmH,YAAA,CAAa,oBAEnD1G,GAAiByG,GAEf,CADmBL,SAASC,cAAA,CAAerG,IAC1BsG,QAAQK,IAAA,CAAKR,EAEtC,EAAG,CAACA,EAAS5G,EAAYS,EAAc,EAEhC,IACT,EAEM4G,EAAO7H,EACP8H,EAAUzG,EACV0G,EAAS7F,EACT8F,GAAUrF,EACVsF,GAAU1E,EACV2E,GAAQjC,EACRkC,GAAc9B,EACd+B,GAAQ3B,sqBC/gBR4B,EAAiB,CAAC,QAAS,IAAG,CAE9BC,EAAY,CAAC,UAAW,WAAY,MAAK,CACzCC,EAAkB,CAFJ,YAAa,SAAU,UAEAD,EAAS,CAC9CE,EAA6C,CACjDC,IAAK,IAAIJ,EAAgB,aAAY,CACrCK,IAAK,IAAIL,EAAgB,YAAW,EAEhCM,EAA8C,CAClDF,IAAK,CAAC,YAAW,CACjBC,IAAK,CAAC,aAAY,EAOdE,EAAY,OAGZ,CAACC,EAAYC,EAAe9L,EAAqB,CAAIJ,CAAAA,EAAAA,EAAAA,CAAAA,EAGzDgM,GAGI,CAACG,EAAmBC,EAAe,CAAI/L,CAAAA,EAAAA,EAAAA,CAAAA,EAAmB2L,EAAW,CACzE5L,EACAiM,EAAAA,EAAiBA,CACjBC,EAAAA,EAA2BA,CAC5B,EACKC,EAAiBF,CAAAA,EAAAA,EAAAA,EAAAA,IACjBG,EAA2BF,CAAAA,EAAAA,EAAAA,EAAAA,IAS3B,CAACG,EAAcC,EAAc,CAAIP,EAAoCH,GASrE,CAACW,EAAkBC,EAAkB,CAAIT,EAAwCH,GAUjFa,EAA4B,IAChC,GAAM,CAAEC,YAAAA,CAAA,CAAaxJ,KAAAA,EAAO,GAAOxC,SAAAA,CAAA,CAAUiM,IAAAA,CAAA,CAAKtJ,aAAAA,CAAA,CAAcC,MAAAA,EAAQ,GAAK,CAAI3C,EAC3EiM,EAAcT,EAAeO,GAC7B,CAAC/F,EAASkG,EAAU,CAAUhM,EAAAA,QAAA,CAAoC,MAClEiM,EAA2BjM,EAAAA,MAAA,CAAO,IAClCkM,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAe3J,GAClC4J,EAAYC,CAAAA,EAAAA,EAAAA,EAAAA,EAAaP,GAmB/B,OAjBM9L,EAAAA,SAAA,CAAU,KAGd,IAAMsM,EAAgB,KACpBL,EAAmBzM,OAAA,CAAU,GAC7BgK,SAAS+C,gBAAA,CAAiB,cAAeC,EAAe,CAAEC,QAAS,GAAMC,KAAM,EAAK,GACpFlD,SAAS+C,gBAAA,CAAiB,cAAeC,EAAe,CAAEC,QAAS,GAAMC,KAAM,EAAK,EACtF,EACMF,EAAgB,IAAOP,EAAmBzM,OAAA,CAAU,GAE1D,OADAgK,SAAS+C,gBAAA,CAAiB,UAAWD,EAAe,CAAEG,QAAS,EAAK,GAC7D,KACLjD,SAASmD,mBAAA,CAAoB,UAAWL,EAAe,CAAEG,QAAS,EAAK,GACvEjD,SAASmD,mBAAA,CAAoB,cAAeH,EAAe,CAAEC,QAAS,EAAK,GAC3EjD,SAASmD,mBAAA,CAAoB,cAAeH,EAAe,CAAEC,QAAS,EAAK,EAC7E,CACF,EAAG,EAAE,EAGHxM,CAAAA,EAAAA,EAAAA,GAAAA,EAAiB2M,EAAAA,EAAA,CAAhB,CAAsB,GAAGb,CAAA,CACxBlM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuL,EAAA,CACC5L,MAAOiM,EACPxJ,KAAAA,EACAG,aAAc0J,EACdpG,QAAAA,EACA+G,gBAAiBb,EAEjBnM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACyL,EAAA,CACC9L,MAAOiM,EACPiB,QAAe9M,EAAAA,WAAA,CAAY,IAAMkM,EAAiB,IAAQ,CAACA,EAAiB,EAC5ED,mBAAAA,EACAH,IAAKM,EACL3J,MAAAA,EAEC5C,SAAAA,CAAA,EACH,EACF,EAGN,CAEA+L,CAAAA,EAAK1L,WAAA,CAAc6K,EAYnB,IAAMgC,EAAmB/M,EAAAA,UAAA,CACvB,CAACF,EAAqCO,KACpC,GAAM,CAAEwL,YAAAA,CAAA,CAAa,GAAGmB,EAAY,CAAIlN,EAClCiM,EAAcT,EAAeO,GACnC,MAAO5L,CAAAA,EAAAA,EAAAA,GAAAA,EAAiB2M,EAAAA,EAAA,CAAhB,CAAwB,GAAGb,CAAA,CAAc,GAAGiB,CAAA,CAAajN,IAAKM,CAAA,EACxE,EAGF0M,CAAAA,EAAW7M,WAAA,CAdS,aAoBpB,IAAM+D,EAAc,aAGd,CAACC,EAAgBC,EAAgB,CAAI+G,EAAsCjH,EAAa,CAC5FG,WAAY,MACd,GAgBM6I,EAAwC,IAC5C,GAAM,CAAEpB,YAAAA,CAAA,CAAazH,WAAAA,CAAA,CAAYvE,SAAAA,CAAA,CAAUyE,UAAAA,CAAA,CAAU,CAAIxE,EACnDQ,EAAUmL,EAAexH,EAAa4H,GAC5C,MACE5L,CAAAA,EAAAA,EAAAA,GAAAA,EAACiE,EAAA,CAAetE,MAAOiM,EAAazH,WAAAA,EAClCvE,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACvCxC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACyE,EAAAA,CAAeA,CAAf,CAAgBC,QAAO,GAACL,UAAAA,EACtBzE,SAAAA,CAAA,EACH,EACF,EAGN,CAEAoN,CAAAA,EAAW/M,WAAA,CAAc+D,EAMzB,IAAMwB,EAAe,cAUf,CAACyH,EAAqBC,EAAqB,CAC/CjC,EAA2CzF,GAgBvC2H,EAAoBpN,EAAAA,UAAA,CACxB,CAACF,EAAsCO,KACrC,IAAM0E,EAAgBZ,EAAiBsB,EAAc3F,EAAM+L,WAAW,EAChE,CAAEzH,WAAAA,EAAaW,EAAcX,UAAA,CAAY,GAAGuB,EAAa,CAAI7F,EAC7DQ,EAAUmL,EAAehG,EAAc3F,EAAM+L,WAAW,EACxDwB,EAAc1B,EAAmBlG,EAAc3F,EAAM+L,WAAW,EAEtE,MACE5L,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWhK,QAAA,CAAX,CAAoBpB,MAAOE,EAAM+L,WAAA,CAChChM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACvCxC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWvK,IAAA,CAAX,CAAgBb,MAAOE,EAAM+L,WAAA,CAC3BhM,SAAAwN,EAAY5K,KAAA,CACXxC,CAAAA,EAAAA,EAAAA,GAAAA,EAACqN,EAAA,CAAsB,GAAG3H,CAAA,CAAc5F,IAAKM,CAAA,GAE7CJ,CAAAA,EAAAA,EAAAA,GAAAA,EAACsN,EAAA,CAAyB,GAAG5H,CAAA,CAAc5F,IAAKM,CAAA,EAAc,EAElE,EACF,EAGN,GASIiN,EAA6BtN,EAAAA,UAAA,CACjC,CAACF,EAA8CO,KAC7C,IAAMC,EAAUmL,EAAehG,EAAc3F,EAAM+L,WAAW,EACxD9L,EAAYC,EAAAA,MAAA,CAAmC,MAC/CO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GAQnD,OALMC,EAAAA,SAAA,CAAU,KACd,IAAM8F,EAAU/F,EAAIP,OAAA,CACpB,GAAIsG,EAAS,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,EAAWD,EACjC,EAAG,EAAE,EAGH7F,CAAAA,EAAAA,EAAAA,GAAAA,EAACuN,EAAA,CACE,GAAG1N,CAAA,CACJC,IAAKQ,EAGL0F,UAAW3F,EAAQ+B,IAAA,CAGnB6D,4BAA6B5F,EAAQ+B,IAAA,CACrCoL,qBAAoB,GAGpB7G,eAAgB5C,CAAAA,EAAAA,EAAAA,CAAAA,EACdlE,EAAM8G,cAAA,CACN,GAAWR,EAAMC,cAAA,GACjB,CAAEqH,yBAA0B,EAAM,GAEpC1F,UAAW,IAAM1H,EAAQkC,YAAA,CAAa,GAAK,EAGjD,GAGI+K,EAAgCvN,EAAAA,UAAA,CAGpC,CAACF,EAA8CO,KAC/C,IAAMC,EAAUmL,EAAehG,EAAc3F,EAAM+L,WAAW,EAC9D,MACE5L,CAAAA,EAAAA,EAAAA,GAAAA,EAACuN,EAAA,CACE,GAAG1N,CAAA,CACJC,IAAKM,EACL4F,UAAW,GACXC,4BAA6B,GAC7BuH,qBAAsB,GACtBzF,UAAW,IAAM1H,EAAQkC,YAAA,CAAa,GAAK,EAGjD,GAgDMgL,EAAwBxN,EAAAA,UAAA,CAC5B,CAACF,EAA0CO,KACzC,GAAM,CACJwL,YAAAA,CAAA,CACApE,KAAAA,EAAO,GACPxB,UAAAA,CAAA,CACAmB,gBAAAA,CAAA,CACAjB,iBAAAA,CAAA,CACAD,4BAAAA,CAAA,CACAyH,aAAAA,CAAA,CACAC,gBAAAA,CAAA,CACArH,qBAAAA,CAAA,CACAK,eAAAA,CAAA,CACAI,kBAAAA,CAAA,CACAgB,UAAAA,CAAA,CACAyF,qBAAAA,CAAA,CACA,GAAG9H,EACL,CAAI7F,EACEQ,EAAUmL,EAAehG,EAAcoG,GACvCwB,EAAc1B,EAAmBlG,EAAcoG,GAC/CE,EAAcT,EAAeO,GAC7BgC,EAAwBtC,EAAyBM,GACjDiC,EAAW7C,EAAcY,GACzB,CAACkC,EAAeC,EAAgB,CAAUhO,EAAAA,QAAA,CAAwB,MAClE2C,EAAmB3C,EAAAA,MAAA,CAAuB,MAC1CO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcsC,EAAYrC,EAAQuM,eAAe,EAChFoB,EAAiBjO,EAAAA,MAAA,CAAO,GACxBkO,EAAkBlO,EAAAA,MAAA,CAAO,IACzBmO,EAA6BnO,EAAAA,MAAA,CAAO,GACpCoO,EAA8BpO,EAAAA,MAAA,CAA2B,MACzDqO,EAAsBrO,EAAAA,MAAA,CAAa,SACnCsO,EAAwBtO,EAAAA,MAAA,CAAO,GAE/BuO,EAAoBd,EAAuBvI,EAAAA,CAAYA,CAASlF,EAAAA,QAAA,CAChEwO,EAAyBf,EAC3B,CAAEtI,GAAI1E,EAAAA,EAAIA,CAAE2E,eAAgB,EAAK,EACjC,OAEEqJ,EAAwB,QAIPjN,EAGLA,EANhB,IAAMkN,EAASR,EAAU1O,OAAA,CAAUmP,EAC7BnN,EAAQsM,IAAWc,MAAA,CAAO,GAAU,CAACC,EAAKC,QAAQ,EAClDC,EAAcvF,SAASwF,aAAA,CACvBC,EAAAA,OAAezN,CAAAA,EAAAA,EAAM0N,IAAA,CAAK,GAAUL,EAAK9O,GAAA,CAAIP,OAAA,GAAYuP,EAAAA,GAA1CvN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwD2N,SAAA,CAEvEC,EAAYC,SAw2BF5N,CAAA,CAAkBiN,CAAA,CAAgBO,CAAA,MArBtBK,EAuBhC,IAAMC,EAAmBC,EADCC,MAAA,CAAS,GAAKrO,MAAMC,IAAA,CAAKqN,GAAQgB,KAAA,CAAM,GAAUC,IAASjB,CAAA,CAAO,EAAE,EACvDA,CAAA,CAAO,EAAC,CAAIA,EAE9CkB,GAzB4BN,EAyBMO,KAAKC,GAAA,CADjBb,EAAexN,EAAOI,OAAA,CAAQoN,GAAgB,GACN,GAxB3Dc,EAAMxL,GAAA,CAAI,CAACyL,EAAGC,IAAUF,CAAA,EAAOT,EAAaW,CAAAA,EAASF,EAAMN,MAAM,CAAC,EAyBjB,KAA5BF,EAAiBE,MAAA,EACpBG,CAAAA,EAAgBA,EAAchB,MAAA,CAAO,GAAOsB,IAAMjB,EAAAA,EAC3E,IAAMG,EAAYQ,EAAcV,IAAA,CAAK,GACnCiB,EAAMC,WAAA,GAAcC,UAAA,CAAWd,EAAiBa,WAAA,KAElD,OAAOhB,IAAcH,EAAeG,EAAY,MAClD,EAp3BqB5N,EAAM+C,GAAA,CAAI,GAAUsK,EAAKM,SAAS,EACVT,EAAQO,GACzCqB,EAAAA,OAAU9O,CAAAA,EAAAA,EAAM0N,IAAA,CAAK,GAAUL,EAAKM,SAAA,GAAcC,EAAAA,GAAxC5N,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoDzB,GAAA,CAAIP,OAAA,EAGvE,SAAS+Q,EAAaJ,CAAA,EACrBjC,EAAU1O,OAAA,CAAU2Q,EACpBK,OAAOC,YAAA,CAAaxC,EAASzO,OAAO,EACtB,KAAV2Q,GAAclC,CAAAA,EAASzO,OAAA,CAAUgR,OAAOE,UAAA,CAAW,IAAMH,EAAa,IAAK,KACjF,EAAG7B,GAEC4B,GAKFI,WAAW,IAAOJ,EAAwBhK,KAAA,GAE9C,EAEMtG,EAAAA,SAAA,CAAU,IACP,IAAMwQ,OAAOC,YAAA,CAAaxC,EAASzO,OAAO,EAChD,EAAE,EAIL6H,CAAAA,EAAAA,EAAAA,EAAAA,IAEA,IAAMsJ,GAAiC3Q,EAAAA,WAAA,CAAY,QACCoO,EACIA,EAg3BHwC,EAh3BnD,OAAOC,EAD+BrR,OAAA,WAAY4O,CAAAA,EAAAA,EAAsB5O,OAAA,GAAtB4O,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+B0C,IAAA,MAi3B9BF,EAh3BJxK,OAAOgI,CAAAA,EAAAA,EAAsB5O,OAAA,GAAtB4O,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BwC,IAAI,GAm3BtFG,SApBiBC,CAAA,CAAcC,CAAA,EACtC,GAAM,CAAEC,EAAAA,CAAA,CAAGC,EAAAA,CAAA,CAAE,CAAIH,EACbI,EAAS,GACb,QAASC,EAAI,EAAGC,EAAIL,EAAQxB,MAAA,CAAS,EAAG4B,EAAIJ,EAAQxB,MAAA,CAAQ6B,EAAID,IAAK,CACnE,IAAME,EAAKN,CAAA,CAAQI,EAAC,CAAEH,CAAA,CAChBM,EAAKP,CAAA,CAAQI,EAAC,CAAEF,CAAA,CAChBM,EAAKR,CAAA,CAAQK,EAAC,CAAEJ,CAAA,CAChBQ,EAAKT,CAAA,CAAQK,EAAC,CAAEH,CAAA,CAGFK,EAAKL,GAAQO,EAAKP,GAAQD,EAAA,CAAKO,EAAKF,CAAAA,EAAOJ,CAAAA,EAAIK,CAAAA,EAAOE,CAAAA,EAAKF,CAAAA,EAAMD,GACtEH,CAAAA,EAAS,CAACA,CAAAA,CAC3B,CAEA,OAAOA,CACT,EAIoB,CAAEF,EAAG9K,EAAMuL,OAAA,CAASR,EAAG/K,EAAMwL,OAAA,EACZhB,EAl3BjC,EAAG,EAAE,EAEL,MACE3Q,CAAAA,EAAAA,EAAAA,GAAAA,EAACiN,EAAA,CACCtN,MAAOiM,EACPqC,UAAAA,EACA2D,YAAmB7R,EAAAA,WAAA,CACjB,IACM2Q,GAAyBvK,IAAQA,EAAMC,cAAA,EAC7C,EACA,CAACsK,GAAwB,EAE3BmB,YAAmB9R,EAAAA,WAAA,CACjB,QAEE2C,EADIgO,GAAyBvK,KAClB,OAAXzD,CAAAA,EAAAA,EAAWnD,OAAA,GAAXmD,KAAAA,IAAAA,GAAAA,EAAoB2D,KAAA,GACpB0H,EAAiB,MACnB,EACA,CAAC2C,GAAwB,EAE3BoB,eAAsB/R,EAAAA,WAAA,CACpB,IACM2Q,GAAyBvK,IAAQA,EAAMC,cAAA,EAC7C,EACA,CAACsK,GAAwB,EAE3BxC,qBAAAA,EACA6D,2BAAkChS,EAAAA,WAAA,CAAY,IAC5CoO,EAAsB5O,OAAA,CAAUyS,CAClC,EAAG,EAAE,EAELpS,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACsO,EAAA,CAAmB,GAAGC,CAAA,CACrB3O,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuH,EAAAA,CAAUA,CAAV,CACC7C,QAAO,GACP+C,QAASzB,EACT0B,iBAAkB3D,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBoD,EAAiB,QAItDzE,EADAyD,EAAMC,cAAA,GACK,OAAX1D,CAAAA,EAAAA,EAAWnD,OAAA,GAAXmD,KAAAA,IAAAA,GAAAA,EAAoB2D,KAAA,CAAM,CAAE4L,cAAe,EAAK,EAClD,GACAtK,mBAAoBzB,EAEpBtG,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC4H,EAAAA,EAAgBA,CAAhB,CACClD,QAAO,GACPuB,4BAAAA,EACA0H,gBAAAA,EACArH,qBAAAA,EACAK,eAAAA,EACAI,kBAAAA,EACAgB,UAAAA,EAEAnI,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAkBkS,EAAAA,EAAA,CAAjB,CACCxN,QAAO,GACN,GAAGkJ,CAAA,CACJ/B,IAAKuB,EAAYvB,GAAA,CACjBsG,YAAY,WACZ3K,KAAAA,EACA4K,iBAAkBtE,EAClBuE,yBAA0BtE,EAC1BL,aAAc3J,CAAAA,EAAAA,EAAAA,CAAAA,EAAqB2J,EAAc,IAE1CN,EAAYpB,kBAAA,CAAmBzM,OAAA,EAAS4G,EAAMC,cAAA,EACrD,GACAkM,0BAAyB,GAEzB1S,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAiB2M,EAAAA,EAAA,CAAhB,CACC9E,KAAK,OACL,mBAAiB,WACjB,aAAY0K,GAAalS,EAAQ+B,IAAI,EACrC,0BAAwB,GACxByJ,IAAKuB,EAAYvB,GAAA,CAChB,GAAGC,CAAA,CACH,GAAGpG,CAAA,CACJ5F,IAAKQ,EACLgF,MAAO,CAAEkN,QAAS,OAAQ,GAAG9M,EAAaJ,KAAA,EAC1CmN,UAAW1O,CAAAA,EAAAA,EAAAA,CAAAA,EAAqB2B,EAAa+M,SAAA,CAAW,IAGtD,IAAMC,EACJ1L,EAFmBA,MAAA,CAEZ2L,OAAA,CAAQ,+BAAiCxM,EAAMyM,aAAA,CAClDC,EAAgB1M,EAAMO,OAAA,EAAWP,EAAM2M,MAAA,EAAU3M,EAAM4M,OAAA,CACvDC,EAAiB7M,IAAAA,EAAMuI,GAAA,CAAIc,MAAA,CAC7BkD,IAEgB,QAAdvM,EAAMuI,GAAA,EAAevI,EAAMC,cAAA,GAC3B,CAACyM,GAAiBG,GAAgBxE,EAAsBrI,EAAMuI,GAAG,GAGvE,IAAM7I,EAAUnD,EAAWnD,OAAA,CAC3B,GAAI4G,EAAMa,MAAA,GAAWnB,GACjB,CAAC4E,EAAgBwI,QAAA,CAAS9M,EAAMuI,GAAG,EADT,OAE9BvI,EAAMC,cAAA,GAEN,IAAM8M,EAAiB3R,IADEoN,MAAA,CAAO,GAAU,CAACC,EAAKC,QAAQ,EAC3BvK,GAAA,CAAI,GAAUsK,EAAK9O,GAAA,CAAIP,OAAQ,EACxDiL,EAAUyI,QAAA,CAAS9M,EAAMuI,GAAG,GAAGwE,EAAeC,OAAA,GAClDC,SAusBAC,CAAA,EAClB,IAAMC,EAA6B/J,SAASwF,aAAA,CAC5C,QAAWwE,KAAaF,EAEtB,GAAIE,IAAcD,IAClBC,EAAUlN,KAAA,GACNkD,SAASwF,aAAA,GAAkBuE,GAFe,MAIlD,EA/sB+BJ,EACb,GACAM,OAAQzP,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM2T,MAAA,CAAQ,IAEpCrN,EAAMyM,aAAA,CAAc1L,QAAA,CAASf,EAAMa,MAAM,IAC5CuJ,OAAOC,YAAA,CAAaxC,EAASzO,OAAO,EACpC0O,EAAU1O,OAAA,CAAU,GAExB,GACAkU,cAAe1P,CAAAA,EAAAA,EAAAA,CAAAA,EACblE,EAAM4T,aAAA,CACNC,GAAU,IACR,IAAM1M,EAASb,EAAMa,MAAA,CACf2M,EAAqBtF,EAAgB9O,OAAA,GAAY4G,EAAMuL,OAAA,CAI7D,GAAIvL,EAAMyM,aAAA,CAAc1L,QAAA,CAASF,IAAW2M,EAAoB,CAC9D,IAAMC,EAASzN,EAAMuL,OAAA,CAAUrD,EAAgB9O,OAAA,CAAU,QAAU,MACnE6O,CAAAA,EAAc7O,OAAA,CAAUqU,EACxBvF,EAAgB9O,OAAA,CAAU4G,EAAMuL,OAAA,CAEpC,GACF,EACF,EACF,EACF,EACF,EACF,EAGN,EAGFvE,CAAAA,EAAYlN,WAAA,CAAcuF,EAY1B,IAAMqO,EAAkB9T,EAAAA,UAAA,CACtB,CAACF,EAAoCO,KACnC,GAAM,CAAEwL,YAAAA,CAAA,CAAa,GAAGkI,EAAW,CAAIjU,EACvC,MAAOG,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CAAcwC,KAAK,QAAS,GAAGiM,CAAA,CAAYhU,IAAKM,CAAA,EAC1D,EAGFyT,CAAAA,EAAU5T,WAAA,CAbS,YAwBnB,IAAM8T,GAAkBhU,EAAAA,UAAA,CACtB,CAACF,EAAoCO,KACnC,GAAM,CAAEwL,YAAAA,CAAA,CAAa,GAAGoI,EAAW,CAAInU,EACvC,MAAOG,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CAAe,GAAG2O,CAAA,CAAYlU,IAAKM,CAAA,EAC7C,EAGF2T,CAAAA,GAAU9T,WAAA,CAZS,YAkBnB,IAAMgU,GAAY,WACZC,GAAc,kBAOdC,GAAiBpU,EAAAA,UAAA,CACrB,CAACF,EAAmCO,KAClC,GAAM,CAAEyO,SAAAA,EAAW,GAAOuF,SAAAA,CAAA,CAAU,GAAGC,EAAU,CAAIxU,EAC/CC,EAAYC,EAAAA,MAAA,CAAuB,MACnCqN,EAAc1B,EAAmBuI,GAAWpU,EAAM+L,WAAW,EAC7D0I,EAAiBpH,EAAsB+G,GAAWpU,EAAM+L,WAAW,EACnEtL,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GAC7CyU,EAAyBxU,EAAAA,MAAA,CAAO,IAgBtC,MACEC,CAAAA,EAAAA,EAAAA,GAAAA,EAACwU,GAAA,CACE,GAAGH,CAAA,CACJvU,IAAKQ,EACLuO,SAAAA,EACA/K,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMiE,OAAA,CAnBnB,KACnB,IAAM2Q,EAAW3U,EAAIP,OAAA,CACrB,GAAI,CAACsP,GAAY4F,EAAU,CACzB,IAAMC,EAAkB,IAAIC,YAAYT,GAAa,CAAEU,QAAS,GAAMC,WAAY,EAAK,GACvFJ,EAASnI,gBAAA,CAAiB4H,GAAa,GAAWE,MAAAA,EAAAA,KAAAA,EAAAA,EAAWjO,GAAQ,CAAEsG,KAAM,EAAK,GAClFqI,CAAAA,EAAAA,EAAAA,EAAAA,EAA4BL,EAAUC,GAClCA,EAAgB5N,gBAAA,CAClByN,EAAiBhV,OAAA,CAAU,GAE3B6N,EAAYP,OAAA,EAEhB,CACF,GAQIkI,cAAe,QACblV,CAAM,QAANA,CAAAA,EAAAA,EAAMkV,aAAA,GAANlV,KAAAA,IAAAA,GAAAA,EAAAA,IAAAA,CAAAA,EAAsBsG,GACtBoO,EAAiBhV,OAAA,CAAU,EAC7B,EACAyV,YAAajR,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAMmV,WAAA,CAAa,QAIpB7O,CAA1BoO,CAAAA,EAAiBhV,OAAA,SAAS4G,CAAAA,EAAAA,EAAMyM,aAAA,GAANzM,KAAAA,IAAAA,GAAAA,EAAqB8O,KAAA,EACtD,GACAxC,UAAW1O,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM4S,SAAA,CAAW,IAC/C,IAAMyC,EAAgBZ,KAAAA,EAAerG,SAAA,CAAU1O,OAAA,EAC3CsP,GAAaqG,CAAAA,CAAAA,GAAiB/O,MAAAA,EAAMuI,GAAA,GACpCnE,EAAe0I,QAAA,CAAS9M,EAAMuI,GAAG,IACnCvI,EAAMyM,aAAA,CAAcqC,KAAA,GAOpB9O,EAAMC,cAAA,GAEV,EAAC,EAGP,EAGF+N,CAAAA,GAASlU,WAAA,CAAcgU,GAUvB,IAAMO,GAAqBzU,EAAAA,UAAA,CACzB,CAACF,EAAuCO,KACtC,GAAM,CAAEwL,YAAAA,CAAA,CAAaiD,SAAAA,EAAW,GAAOK,UAAAA,CAAA,CAAW,GAAGmF,EAAU,CAAIxU,EAC7DyU,EAAiBpH,EAAsB+G,GAAWrI,GAClDgC,EAAwBtC,EAAyBM,GACjD9L,EAAYC,EAAAA,MAAA,CAAuB,MACnCO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GAC7C,CAACqV,EAAWC,EAAY,CAAUrV,EAAAA,QAAA,CAAS,IAG3C,CAACsV,EAAaC,EAAc,CAAUvV,EAAAA,QAAA,CAAS,IAQrD,OAPMA,EAAAA,SAAA,CAAU,KACd,IAAM0U,EAAW3U,EAAIP,OAAA,CACrB,GAAIkV,EAAU,KACIA,EAAhBa,EAAA,CAAgBb,OAAAA,CAAAA,EAAAA,EAASY,WAAA,GAATZ,KAAAA,IAAAA,EAAAA,EAAwB,IAAIc,IAAA,GAC9C,CACF,EAAG,CAAClB,EAAUzU,QAAQ,CAAC,EAGrBI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAW/J,QAAA,CAAX,CACCrB,MAAOiM,EACPiD,SAAAA,EACAK,UAAWA,MAAAA,EAAAA,EAAamG,EAExBzV,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAkBkS,EAAAA,EAAA,CAAjB,CAAsBxN,QAAO,GAAE,GAAGkJ,CAAA,CAAuB4H,UAAW,CAAC3G,EACpEjP,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CACCwC,KAAK,WACL,mBAAkBsN,EAAY,GAAK,OACnC,gBAAetG,GAAY,OAC3B,gBAAeA,EAAW,GAAK,OAC9B,GAAGwF,CAAA,CACJvU,IAAKQ,EAYLmT,cAAe1P,CAAAA,EAAAA,EAAAA,CAAAA,EACblE,EAAM4T,aAAA,CACNC,GAAU,IACJ7E,EACFyF,EAAezC,WAAA,CAAY1L,IAE3BmO,EAAe1C,WAAA,CAAYzL,GACtBA,EAAMW,gBAAA,EAET8H,EADmBgE,aAAA,CACdvM,KAAA,CAAM,CAAE4L,cAAe,EAAK,GAGvC,IAEFwD,eAAgB1R,CAAAA,EAAAA,EAAAA,CAAAA,EACdlE,EAAM4V,cAAA,CACN/B,GAAU,GAAWY,EAAezC,WAAA,CAAY1L,KAElDuP,QAAS3R,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM6V,OAAA,CAAS,IAAMN,EAAa,KAChE5B,OAAQzP,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM2T,MAAA,CAAQ,IAAM4B,EAAa,IAAM,EACtE,EACF,EAGN,GAmBIO,GAAyB5V,EAAAA,UAAA,CAC7B,CAACF,EAA2CO,KAC1C,GAAM,CAAEwV,QAAAA,EAAU,GAAOC,gBAAAA,CAAA,CAAiB,GAAGC,EAAkB,CAAIjW,EACnE,MACEG,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+V,GAAA,CAAsBpW,MAAOE,EAAM+L,WAAA,CAAagK,QAAAA,EAC/ChW,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACmU,GAAA,CACCtM,KAAK,mBACL,eAAcmO,GAAgBJ,GAAW,QAAUA,EAClD,GAAGE,CAAA,CACJhW,IAAKM,EACL,aAAY6V,GAAgBL,GAC5BxB,SAAUrQ,CAAAA,EAAAA,EAAAA,CAAAA,EACR+R,EAAkB1B,QAAA,CAClB,IAAMyB,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBG,EAAAA,GAAgBJ,IAAkB,CAACA,GAC3D,CAAEnI,yBAA0B,EAAM,EACpC,EACF,EAGN,EAGFkI,CAAAA,GAAiB1V,WAAA,CAlCU,mBAwC3B,IAAMiW,GAAmB,iBAEnB,CAACC,GAAoBC,GAAoB,CAAInL,EACjDiL,GACA,CAAEhG,MAAO,OAAWmG,cAAe,KAAO,CAAE,GASxCC,GAAuBvW,EAAAA,UAAA,CAC3B,CAACF,EAAyCO,KACxC,GAAM,CAAE8P,MAAAA,CAAA,CAAOmG,cAAAA,CAAA,CAAe,GAAGvC,EAAW,CAAIjU,EAC1C0W,EAAoBrK,CAAAA,EAAAA,EAAAA,CAAAA,EAAemK,GACzC,MACErW,CAAAA,EAAAA,EAAAA,GAAAA,EAACmW,GAAA,CAAmBxW,MAAOE,EAAM+L,WAAA,CAAasE,MAAAA,EAAcmG,cAAeE,EACzE3W,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC6T,EAAA,CAAW,GAAGC,CAAA,CAAYhU,IAAKM,CAAA,EAAc,EAGpD,EAGFkW,CAAAA,GAAerW,WAAA,CAAciW,GAM7B,IAAMM,GAAkB,gBAOlBC,GAAsB1W,EAAAA,UAAA,CAC1B,CAACF,EAAwCO,KACvC,GAAM,CAAE8P,MAAAA,CAAA,CAAO,GAAGwG,EAAe,CAAI7W,EAC/BQ,EAAU+V,GAAqBI,GAAiB3W,EAAM+L,WAAW,EACjEgK,EAAU1F,IAAU7P,EAAQ6P,KAAA,CAClC,MACElQ,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+V,GAAA,CAAsBpW,MAAOE,EAAM+L,WAAA,CAAagK,QAAAA,EAC/ChW,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACmU,GAAA,CACCtM,KAAK,gBACL,eAAc+N,EACb,GAAGc,CAAA,CACJ5W,IAAKM,EACL,aAAY6V,GAAgBL,GAC5BxB,SAAUrQ,CAAAA,EAAAA,EAAAA,CAAAA,EACR2S,EAAetC,QAAA,CACf,SAAM/T,SAAQ,OAARA,CAAAA,EAAAA,EAAQgW,aAAA,GAARhW,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAAA,CAAAA,EAAwB6P,IAC9B,CAAEzC,yBAA0B,EAAM,EACpC,EACF,EAGN,EAGFgJ,CAAAA,GAAcxW,WAAA,CAAcuW,GAM5B,IAAMG,GAAsB,oBAItB,CAACZ,GAAuBa,GAAuB,CAAI3L,EACvD0L,GACA,CAAEf,QAAS,EAAM,GAabiB,GAA0B9W,EAAAA,UAAA,CAC9B,CAACF,EAA4CO,KAC3C,GAAM,CAAEwL,YAAAA,CAAA,CAAazH,WAAAA,CAAA,CAAY,GAAG2S,EAAmB,CAAIjX,EACrDkX,EAAmBH,GAAwBD,GAAqB/K,GACtE,MACE5L,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CACCC,QACEL,GACA6R,GAAgBe,EAAiBnB,OAAO,GACxCmB,CAA6B,IAA7BA,EAAiBnB,OAAA,CAGnBhW,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAACsT,IAAA,CAAV,CACE,GAAGF,CAAA,CACJhX,IAAKM,EACL,aAAY6V,GAAgBc,EAAiBnB,OAAO,GACtD,EAGN,EAGFiB,CAAAA,GAAkB5W,WAAA,CAAc0W,GAWhC,IAAMM,GAAsBlX,EAAAA,UAAA,CAC1B,CAACF,EAAwCO,KACvC,GAAM,CAAEwL,YAAAA,CAAA,CAAa,GAAGsL,EAAe,CAAIrX,EAC3C,MACEG,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CACCwC,KAAK,YACL,mBAAiB,aAChB,GAAGqP,CAAA,CACJpX,IAAKM,CAAA,EAGX,EAGF6W,CAAAA,GAAchX,WAAA,CAnBS,gBA+BvB,IAAMkX,GAAkBpX,EAAAA,UAAA,CACtB,CAACF,EAAoCO,KACnC,GAAM,CAAEwL,YAAAA,CAAA,CAAa,GAAGwL,EAAW,CAAIvX,EACjCiM,EAAcT,EAAeO,GACnC,MAAO5L,CAAAA,EAAAA,EAAAA,GAAAA,EAAiB2M,EAAAA,EAAA,CAAhB,CAAuB,GAAGb,CAAA,CAAc,GAAGsL,CAAA,CAAYtX,IAAKM,CAAA,EACtE,EAGF+W,CAAAA,GAAUlX,WAAA,CAdS,YAoBnB,IAAMoX,GAAW,UASX,CAACC,GAAiBC,GAAiB,CAAItM,EAAuCoM,IAQ9EG,GAAkC,IACtC,GAAM,CAAE5L,YAAAA,CAAA,CAAahM,SAAAA,CAAA,CAAUwC,KAAAA,EAAO,GAAOG,aAAAA,CAAA,CAAa,CAAI1C,EACxD4X,EAAoBjM,EAAe6L,GAAUzL,GAC7CE,EAAcT,EAAeO,GAC7B,CAAC8L,EAASC,EAAU,CAAU5X,EAAAA,QAAA,CAAuC,MACrE,CAAC8F,EAASkG,EAAU,CAAUhM,EAAAA,QAAA,CAAoC,MAClEkM,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAe3J,GAQxC,OALMxC,EAAAA,SAAA,CAAU,KACiB,KAA3B0X,EAAkBrV,IAAA,EAAgB6J,EAAiB,IAChD,IAAMA,EAAiB,KAC7B,CAACwL,EAAkBrV,IAAA,CAAM6J,EAAiB,EAG3CjM,CAAAA,EAAAA,EAAAA,GAAAA,EAAiB2M,EAAAA,EAAA,CAAhB,CAAsB,GAAGb,CAAA,CACxBlM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuL,EAAA,CACC5L,MAAOiM,EACPxJ,KAAAA,EACAG,aAAc0J,EACdpG,QAAAA,EACA+G,gBAAiBb,EAEjBnM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACsX,GAAA,CACC3X,MAAOiM,EACP5I,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,IACX2U,UAAW3U,CAAAA,EAAAA,EAAAA,CAAAA,IACXyU,QAAAA,EACAG,gBAAiBF,EAEhB/X,SAAAA,CAAA,EACH,EACF,EAGN,CAEA4X,CAAAA,GAAQvX,WAAA,CAAcoX,GAMtB,IAAMS,GAAmB,iBAKnBC,GAAuBhY,EAAAA,UAAA,CAC3B,CAACF,EAAyCO,KACxC,IAAMC,EAAUmL,EAAesM,GAAkBjY,EAAM+L,WAAW,EAC5DwB,EAAc1B,EAAmBoM,GAAkBjY,EAAM+L,WAAW,EACpEoM,EAAaT,GAAkBO,GAAkBjY,EAAM+L,WAAW,EAClE0I,EAAiBpH,EAAsB4K,GAAkBjY,EAAM+L,WAAW,EAC1EqM,EAAqBlY,EAAAA,MAAA,CAAsB,MAC3C,CAAEmO,qBAAAA,CAAA,CAAsB6D,2BAAAA,CAAA,CAA2B,CAAIuC,EACvD3U,EAAQ,CAAEiM,YAAa/L,EAAM+L,WAAA,EAE7BsM,EAAuBnY,EAAAA,WAAA,CAAY,KACnCkY,EAAa1Y,OAAA,EAASgR,OAAOC,YAAA,CAAayH,EAAa1Y,OAAO,EAClE0Y,EAAa1Y,OAAA,CAAU,IACzB,EAAG,EAAE,EAYL,OAVMQ,EAAAA,SAAA,CAAU,IAAMmY,EAAgB,CAACA,EAAe,EAEhDnY,EAAAA,SAAA,CAAU,KACd,IAAMoY,EAAoBjK,EAAqB3O,OAAA,CAC/C,MAAO,KACLgR,OAAOC,YAAA,CAAa2H,GACpBpG,EAA2B,KAC7B,CACF,EAAG,CAAC7D,EAAsB6D,EAA2B,EAGnD/R,CAAAA,EAAAA,EAAAA,GAAAA,EAAC8M,EAAA,CAAWpI,QAAO,GAAE,GAAG/E,CAAA,CACtBC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACwU,GAAA,CACC1M,GAAIkQ,EAAWJ,SAAA,CACf,gBAAc,OACd,gBAAevX,EAAQ+B,IAAA,CACvB,gBAAe4V,EAAWhV,SAAA,CAC1B,aAAYuP,GAAalS,EAAQ+B,IAAI,EACpC,GAAGvC,CAAA,CACJC,IAAKsY,CAAAA,EAAAA,EAAAA,CAAAA,EAAYhY,EAAc4X,EAAWH,eAAe,EAGzD/T,QAAS,QACPjE,CAAM,QAANA,CAAAA,EAAAA,EAAMiE,OAAA,GAANjE,KAAAA,IAAAA,GAAAA,EAAAA,IAAAA,CAAAA,EAAgBsG,GACZtG,EAAMgP,QAAA,EAAY1I,EAAMW,gBAAA,GAM5BX,EAAMyM,aAAA,CAAcvM,KAAA,GACfhG,EAAQ+B,IAAA,EAAM/B,EAAQkC,YAAA,CAAa,IAC1C,EACAkR,cAAe1P,CAAAA,EAAAA,EAAAA,CAAAA,EACblE,EAAM4T,aAAA,CACNC,GAAU,IACRY,EAAe1C,WAAA,CAAYzL,GACvBA,EAAMW,gBAAA,EACN,EAAO+H,QAAA,EAAaxO,EAAQ+B,IAAA,EAAS6V,EAAa1Y,OAAA,GACpD+U,EAAevC,0BAAA,CAA2B,MAC1CkG,EAAa1Y,OAAA,CAAUgR,OAAOE,UAAA,CAAW,KACvCpQ,EAAQkC,YAAA,CAAa,IACrB2V,GACF,EAAG,KAEP,IAEFzC,eAAgB1R,CAAAA,EAAAA,EAAAA,CAAAA,EACdlE,EAAM4V,cAAA,CACN/B,GAAU,QAGYrT,EAGLA,EALf6X,IAEA,IAAMG,EAAAA,OAAchY,CAAAA,EAAAA,EAAQwF,OAAA,GAARxF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiBiY,qBAAA,GACrC,GAAID,EAAa,CAEf,IAAMxH,EAAAA,OAAOxQ,CAAAA,EAAAA,EAAQwF,OAAA,GAARxF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiBkY,OAAA,CAAQ1H,IAAA,CAChC2H,EAAY3H,UAAAA,EAEZ4H,EAAkBJ,CAAA,CAAYG,EAAY,OAAS,QAAO,CAC1DE,EAAiBL,CAAA,CAAYG,EAAY,QAAU,OAAM,CAE/DlE,EAAevC,0BAAA,CAA2B,CACxCpB,KAAM,CAGJ,CAAEM,EAAG9K,EAAMuL,OAAA,CARD8G,CAAAA,EAAY,GAAK,GAQCtH,EAAG/K,EAAMwL,OAAA,EACrC,CAAEV,EAAGwH,EAAiBvH,EAAGmH,EAAYM,GAAA,EACrC,CAAE1H,EAAGyH,EAAgBxH,EAAGmH,EAAYM,GAAA,EACpC,CAAE1H,EAAGyH,EAAgBxH,EAAGmH,EAAYO,MAAA,EACpC,CAAE3H,EAAGwH,EAAiBvH,EAAGmH,EAAYO,MAAA,EACvC,CACA/H,KAAAA,CACF,GAEAN,OAAOC,YAAA,CAAatC,EAAqB3O,OAAO,EAChD2O,EAAqB3O,OAAA,CAAUgR,OAAOE,UAAA,CACpC,IAAM6D,EAAevC,0BAAA,CAA2B,MAChD,IAEJ,KAAO,CAEL,GADAuC,EAAexC,cAAA,CAAe3L,GAC1BA,EAAMW,gBAAA,CAAkB,OAG5BwN,EAAevC,0BAAA,CAA2B,KAC5C,CACF,IAEFU,UAAW1O,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM4S,SAAA,CAAW,IAC/C,IAAMyC,EAAgBZ,KAAAA,EAAerG,SAAA,CAAU1O,OAAA,CAC/C,GAAIM,CAAAA,EAAMgP,QAAA,EAAaqG,CAAAA,CAAAA,GAAiB/O,MAAAA,EAAMuI,GAAA,GAC1ChE,CAAA,CAAc0C,EAAYvB,GAAG,EAAEoH,QAAA,CAAS9M,EAAMuI,GAAG,EAAG,KAItDrO,EAHAA,EAAQkC,YAAA,CAAa,IAGb,OAARlC,CAAAA,EAAAA,EAAQwF,OAAA,GAARxF,KAAAA,IAAAA,GAAAA,EAAiBgG,KAAA,GAEjBF,EAAMC,cAAA,EACR,CACF,EAAC,EACH,EAGN,EAGF2R,CAAAA,GAAe9X,WAAA,CAAc6X,GAM7B,IAAMe,GAAmB,iBAenBC,GAAuB/Y,EAAAA,UAAA,CAC3B,CAACF,EAAyCO,KACxC,IAAM0E,EAAgBZ,EAAiBsB,EAAc3F,EAAM+L,WAAW,EAChE,CAAEzH,WAAAA,EAAaW,EAAcX,UAAA,CAAY,GAAG4U,EAAgB,CAAIlZ,EAChEQ,EAAUmL,EAAehG,EAAc3F,EAAM+L,WAAW,EACxDwB,EAAc1B,EAAmBlG,EAAc3F,EAAM+L,WAAW,EAChEoM,EAAaT,GAAkBsB,GAAkBhZ,EAAM+L,WAAW,EAClE9L,EAAYC,EAAAA,MAAA,CAA8B,MAC1CO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GACnD,MACEE,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWhK,QAAA,CAAX,CAAoBpB,MAAOE,EAAM+L,WAAA,CAChChM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuE,EAAAA,CAAQA,CAAR,CAASC,QAASL,GAAc9D,EAAQ+B,IAAA,CACvCxC,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWvK,IAAA,CAAX,CAAgBb,MAAOE,EAAM+L,WAAA,CAC5BhM,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACuN,EAAA,CACCzF,GAAIkQ,EAAWhV,SAAA,CACf,kBAAiBgV,EAAWJ,SAAA,CAC3B,GAAGmB,CAAA,CACJjZ,IAAKQ,EACL0Y,MAAM,QACNnI,KAAMzD,QAAAA,EAAYvB,GAAA,CAAgB,OAAS,QAC3C5F,4BAA6B,GAC7BuH,qBAAsB,GACtBxH,UAAW,GACXmB,gBAAiB,QAE6BrH,CAAxCsN,CAAAA,EAAYpB,kBAAA,CAAmBzM,OAAA,UAASO,CAAAA,EAAAA,EAAIP,OAAA,GAAJO,KAAAA,IAAAA,GAAAA,EAAauG,KAAA,IACzDF,EAAMC,cAAA,EACR,EAGAF,iBAAkB,GAAWC,EAAMC,cAAA,GACnCO,eAAgB5C,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM8G,cAAA,CAAgB,IAGrDR,EAAMa,MAAA,GAAWgR,EAAWN,OAAA,EAASrX,EAAQkC,YAAA,CAAa,GAChE,GACAoL,gBAAiB5J,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM8N,eAAA,CAAiB,IAC3DP,EAAYP,OAAA,GAEZ1G,EAAMC,cAAA,EACR,GACAqM,UAAW1O,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM4S,SAAA,CAAW,IAE/C,IAAMC,EAAkBvM,EAAMyM,aAAA,CAAc1L,QAAA,CAASf,EAAMa,MAAqB,EAC1EiS,EAAapO,CAAA,CAAeuC,EAAYvB,GAAG,EAAEoH,QAAA,CAAS9M,EAAMuI,GAAG,EACrE,GAAIgE,GAAmBuG,EAAY,KAGjCjB,EAFA3X,EAAQkC,YAAA,CAAa,IAEV,OAAXyV,CAAAA,EAAAA,EAAWN,OAAA,GAAXM,KAAAA,IAAAA,GAAAA,EAAoB3R,KAAA,GAEpBF,EAAMC,cAAA,EACR,CACF,EAAC,EACH,EACF,EACF,EAGN,GAOF,SAASmM,GAAanQ,CAAA,EACpB,OAAOA,EAAO,OAAS,QACzB,CAEA,SAAS4T,GAAgBJ,CAAA,EACvB,MAAOA,kBAAAA,CACT,CAEA,SAASK,GAAgBL,CAAA,EACvB,OAAOI,GAAgBJ,GAAW,gBAAkBA,EAAU,UAAY,WAC5E,CAgFA,SAASlC,GAAawF,CAAA,EACpB,OAAO,GAAY/S,UAAAA,EAAMgT,WAAA,CAA0BD,EAAQ/S,GAAS,MACtE,CAhGA2S,GAAe7Y,WAAA,CAAc4Y,GAkG7B,IAAM9O,GAAO4B,EACPyN,GAAStM,EACT7C,GAAS+C,EACT7C,GAAUgD,EACVkM,GAAQxF,EACRyF,GAAQvF,GACRwF,GAAOpF,GACPqF,GAAe7D,GACf8D,GAAanD,GACboD,GAAYjD,GACZkD,GAAgB9C,GAChB+C,GAAY3C,GACZ4C,GAAQ1C,GACR2C,GAAMtC,GACNuC,GAAahC,GACbiC,GAAalB,sOCzyCbmB,EAAc,gCACdC,EAAgB,CAAEtF,QAAS,GAAOC,WAAY,EAAK,EAMnDsF,EAAa,mBAGb,CAACpP,EAAYC,EAAe9L,EAAqB,CAAIJ,CAAAA,EAAAA,EAAAA,CAAAA,EAGzDqb,GAGI,CAACC,EAA+BhP,EAA2B,CAAIjM,CAAAA,EAAAA,EAAAA,CAAAA,EACnEgb,EACA,CAACjb,EAAqB,EA+BlB,CAACmb,EAAqBC,EAAqB,CAC/CF,EAAkDD,GAK9CjI,EAAyBnS,EAAAA,UAAA,CAC7B,CAACF,EAA2CO,IAExCJ,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWhK,QAAA,CAAX,CAAoBpB,MAAOE,EAAM0a,uBAAA,CAChC3a,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAWvK,IAAA,CAAX,CAAgBb,MAAOE,EAAM0a,uBAAA,CAC5B3a,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAACwa,EAAA,CAAsB,GAAG3a,CAAA,CAAOC,IAAKM,CAAA,EAAc,EACtD,GAMR8R,CAAAA,EAAiBjS,WAAA,CAAcka,EAgB/B,IAAMK,EAA6Bza,EAAAA,UAAA,CAGjC,CAACF,EAA+CO,KAChD,GAAM,CACJma,wBAAAA,CAAA,CACApI,YAAAA,CAAA,CACA3K,KAAAA,EAAO,GACPqE,IAAAA,CAAA,CACAuG,iBAAkBqI,CAAA,CAClBC,wBAAAA,CAAA,CACArI,yBAAAA,CAAA,CACA3E,aAAAA,CAAA,CACA4E,0BAAAA,EAA4B,GAC5B,GAAGwB,EACL,CAAIjU,EACEC,EAAYC,EAAAA,MAAA,CAAoC,MAChDO,EAAeC,CAAAA,EAAAA,EAAAA,CAAAA,EAAgBH,EAAcN,GAC7CqM,EAAYC,CAAAA,EAAAA,EAAAA,EAAAA,EAAaP,GACzB,CAACuG,EAAmB,KAAMuI,EAAmB,CAAI/X,CAAAA,EAAAA,EAAAA,CAAAA,EAAqB,CAC1EC,KAAM4X,EACN3X,YAAa4X,EACb3X,SAAUsP,CACZ,GACM,CAACuI,EAAkBC,EAAmB,CAAU9a,EAAAA,QAAA,CAAS,IACzD+a,EAAmB5O,CAAAA,EAAAA,EAAAA,CAAAA,EAAewB,GAClCG,EAAW7C,EAAcuP,GACzBQ,EAAwBhb,EAAAA,MAAA,CAAO,IAC/B,CAACib,EAAqBC,EAAsB,CAAUlb,EAAAA,QAAA,CAAS,GAUrE,OARMA,EAAAA,SAAA,CAAU,KACd,IAAMmb,EAAOpb,EAAIP,OAAA,CACjB,GAAI2b,EAEF,OADAA,EAAK5O,gBAAA,CAAiB2N,EAAaa,GAC5B,IAAMI,EAAKxO,mBAAA,CAAoBuN,EAAaa,EAEvD,EAAG,CAACA,EAAiB,EAGnB9a,CAAAA,EAAAA,EAAAA,GAAAA,EAACqa,EAAA,CACC1a,MAAO4a,EACPpI,YAAAA,EACAtG,IAAKM,EACL3E,KAAAA,EACA4K,iBAAAA,EACA+I,YAAmBpb,EAAAA,WAAA,CACjB,GAAe4a,EAAoBS,GACnC,CAACT,EAAmB,EAEtBU,eAAsBtb,EAAAA,WAAA,CAAY,IAAM8a,EAAoB,IAAO,EAAE,EACrES,mBAA0Bvb,EAAAA,WAAA,CACxB,IAAMkb,EAAuB,GAAeM,EAAY,GACxD,EAAC,EAEHC,sBAA6Bzb,EAAAA,WAAA,CAC3B,IAAMkb,EAAuB,GAAeM,EAAY,GACxD,EAAC,EAGH3b,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAAC2B,GAAA,CAAV,CACCoW,SAAUb,GAAoBI,IAAAA,EAA4B,GAAK,EAC/D,mBAAkB7I,EACjB,GAAG2B,CAAA,CACJhU,IAAKQ,EACLgF,MAAO,CAAEkN,QAAS,OAAQ,GAAG3S,EAAMyF,KAAA,EACnCoW,YAAa3X,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM6b,WAAA,CAAa,KACnDX,EAAgBxb,OAAA,CAAU,EAC5B,GACAmW,QAAS3R,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM6V,OAAA,CAAS,IAK3C,IAAMiG,EAAkB,CAACZ,EAAgBxb,OAAA,CAEzC,GAAI4G,EAAMa,MAAA,GAAWb,EAAMyM,aAAA,EAAiB+I,GAAmB,CAACf,EAAkB,CAChF,IAAMgB,EAAkB,IAAIjH,YAAYsF,EAAaC,GAGrD,GAFA/T,EAAMyM,aAAA,CAAciJ,aAAA,CAAcD,GAE9B,CAACA,EAAgB9U,gBAAA,CAAkB,CACrC,IAAMvF,EAAQsM,IAAWc,MAAA,CAAO,GAAUC,EAAK4G,SAAS,EAOxDpC,EADuB0I,CALJva,EAAM0N,IAAA,CAAK,GAAUL,EAAKmN,MAAM,EAC/Bxa,EAAM0N,IAAA,CAAK,GAAUL,EAAK9G,EAAA,GAAOsK,MACD7Q,EAAK,CAAEoN,MAAA,CACzDqN,SAEoC1X,GAAA,CAAI,GAAUsK,EAAK9O,GAAA,CAAIP,OAAQ,EAC1C+S,EAC7B,CACF,CAEAyI,EAAgBxb,OAAA,CAAU,EAC5B,GACAiU,OAAQzP,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM2T,MAAA,CAAQ,IAAMqH,EAAoB,IAAM,EAC7E,EAGN,GAMM5G,EAAY,uBAUZgI,EAA6Blc,EAAAA,UAAA,CACjC,CAACF,EAA0CO,KACzC,GAAM,CACJma,wBAAAA,CAAA,CACA/E,UAAAA,EAAY,GACZuG,OAAAA,EAAS,GACTX,UAAAA,CAAA,CACA,GAAG/G,EACL,CAAIxU,EACEqc,EAASjZ,CAAAA,EAAAA,EAAAA,CAAAA,IACT6E,EAAKsT,GAAac,EAClB7b,EAAUia,EAAsBrG,EAAWsG,GAC3C4B,EAAmB9b,EAAQ+R,gBAAA,GAAqBtK,EAChD+F,EAAW7C,EAAcuP,GAEzB,CAAEe,mBAAAA,CAAA,CAAoBE,sBAAAA,CAAA,CAAsB,CAAInb,EAStD,OAPMN,EAAAA,SAAA,CAAU,KACd,GAAIyV,EAEF,OADA8F,IACO,IAAME,GAEjB,EAAG,CAAChG,EAAW8F,EAAoBE,EAAsB,EAGvDxb,CAAAA,EAAAA,EAAAA,GAAAA,EAAC+K,EAAW/J,QAAA,CAAX,CACCrB,MAAO4a,EACPzS,GAAAA,EACA0N,UAAAA,EACAuG,OAAAA,EAEAnc,SAAAI,CAAAA,EAAAA,EAAAA,GAAAA,EAAC0D,EAAAA,EAASA,CAACsT,IAAA,CAAV,CACCyE,SAAUU,EAAmB,EAAI,GACjC,mBAAkB9b,EAAQ8R,WAAA,CACzB,GAAGkC,CAAA,CACJvU,IAAKM,EACLsb,YAAa3X,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM6b,WAAA,CAAa,IAG9ClG,EAEAnV,EAAQ8a,WAAA,CAAYrT,GAFT3B,EAAMC,cAAA,EAGxB,GACAsP,QAAS3R,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM6V,OAAA,CAAS,IAAMrV,EAAQ8a,WAAA,CAAYrT,IACvE2K,UAAW1O,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBlE,EAAM4S,SAAA,CAAW,IAC/C,GAAItM,QAAAA,EAAMuI,GAAA,EAAiBvI,EAAMiW,QAAA,CAAU,CACzC/b,EAAQgb,cAAA,GACR,MACF,CAEA,GAAIlV,EAAMa,MAAA,GAAWb,EAAMyM,aAAA,CAAe,OAE1C,IAAMyJ,EAAcC,SAiDRnW,CAAA,CAA4BgM,CAAA,CAA2BtG,CAAA,MAPjD6C,EAQ5B,IAAMA,GARsBA,EAQKvI,EAAMuI,GAAA,CAPvC,QAO4C7C,EAPlB6C,EACnBA,cAAAA,EAAsB,aAAeA,eAAAA,EAAuB,YAAcA,GAOjF,IAAIyD,CAAAA,aAAAA,GAA8B,CAAC,YAAa,aAAY,CAAEc,QAAA,CAASvE,EAAAA,IACnEyD,CAAAA,eAAAA,GAAgC,CAAC,UAAW,YAAW,CAAEc,QAAA,CAASvE,EAAAA,EACtE,OAAO6N,CAAA,CAAwB7N,EAAG,EArDWvI,EAAO9F,EAAQ8R,WAAA,CAAa9R,EAAQwL,GAAG,EAE1E,GAAIwQ,KAAgB,IAAhBA,EAA2B,CAC7B,GAAIlW,EAAM4M,OAAA,EAAW5M,EAAMO,OAAA,EAAWP,EAAM2M,MAAA,EAAU3M,EAAMiW,QAAA,CAAU,OACtEjW,EAAMC,cAAA,GAEN,IAAI8M,EAAiB3R,IADIoN,MAAA,CAAO,GAAUC,EAAK4G,SAAS,EAC7BlR,GAAA,CAAI,GAAUsK,EAAK9O,GAAA,CAAIP,OAAQ,EAE1D,GAAI8c,SAAAA,EAAwBnJ,EAAeC,OAAA,QAAQ,GAC1CkJ,SAAAA,GAA0BA,SAAAA,EAAwB,KA6DnDvM,EAAYT,CA5DE,UAAhBgN,GAAwBnJ,EAAeC,OAAA,GAC3C,IAAMqJ,EAAetJ,EAAetR,OAAA,CAAQuE,EAAMyM,aAAa,EAC/DM,EAAiB7S,EAAQmH,IAAA,EA0DnBsI,EAzDQoD,EAyDI7D,EAzDYmN,EAAe,EA0DpD1M,EAAMxL,GAAA,CAAI,CAACyL,EAAGC,IAAUF,CAAA,EAAOT,EAAaW,CAAAA,EAASF,EAAMN,MAAM,CAAC,GAzDvD0D,EAAeuJ,KAAA,CAAMD,EAAe,EAC1C,CAMA/L,WAAW,IAAM2C,EAAWF,GAC9B,CACF,EAAC,EACH,EAGN,EAGF+I,CAAAA,EAAqBhc,WAAA,CAAcgU,EAKnC,IAAMsI,EAAuD,CAC3DG,UAAW,OAAQC,QAAS,OAC5BC,WAAY,OAAQC,UAAW,OAC/BC,OAAQ,QAASC,KAAM,QACvBC,SAAU,OAAQC,IAAK,MACzB,EAgBA,SAAS7J,EAAWC,CAAA,MAA2BpB,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CACvCqB,EAA6B/J,SAASwF,aAAA,CAC5C,QAAWwE,KAAaF,EAEtB,GAAIE,IAAcD,IAClBC,EAAUlN,KAAA,CAAM,CAAE4L,cAAAA,CAAc,GAC5B1I,SAASwF,aAAA,GAAkBuE,GAFe,MAIlD,CAUA,IAAMvJ,EAAOmI,EACPqH,EAAO0C,6FC3UbiB,EAAA,aACAC,EAAA,0BACAvD,EAAgBwD,EAAAC,UAAgB,EAAAxd,EAAAO,KAChC,IAAUkd,WAAAA,CAAA,CAAAnL,YAAAoL,EAAAL,CAAA,IAAAM,EAAA,CAA8E3d,EACxFsS,EAAAsL,EAeAxK,QAAA,CAfAsK,GAAAA,EAAAL,EAGA,MAAyB,GAAAQ,EAAA1d,GAAA,EACrB2d,EAAAC,EAAS,CAAAvY,GAAA,CACb,CACA,mBAAA8M,EAJ0D,GAA1DmL,EAAA,CAAuCzV,KAAA,QAAe,CAAI,mBAD1DsK,aAAAA,EAAAA,EAAA,OAC0DtK,KAAA,YAK1D,CACA,GAAA2V,CAAA,CACA1d,IAAAM,CACA,EAEA,EACAwZ,CAAAA,EAAA3Z,WAAA,CAlBA,YAsBA,IAAA8J,EAAA6P,ymCCVA,IAAAiE,EAAA,SAAAC,CAAA,CAAAnc,CAAA,EAIA,MAAAkc,CAHAA,EAAAE,OAAAC,cAAA,EACA,EAASC,UAAA,eAAgB9c,OAAA,SAAA2c,CAAA,CAAAnc,CAAA,EAAsCmc,EAAAG,SAAA,CAAAtc,CAAA,GAC/D,SAAAmc,CAAA,CAAAnc,CAAA,EAAwB,QAAA8G,KAAA9G,EAAAoc,OAAAG,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAzc,EAAA8G,IAAAqV,CAAAA,CAAA,CAAArV,EAAA,CAAA9G,CAAA,CAAA8G,EAAA,IACxBqV,EAAAnc,EACA,EAEO,SAAA0c,EAAAP,CAAA,CAAAnc,CAAA,EACP,sBAAAA,GAAAA,OAAAA,EACA,uCAAA2c,OAAA3c,GAAA,iCAEA,SAAA4c,IAAkB,KAAAC,WAAA,CAAAV,CAAA,CADlBD,EAAAC,EAAAnc,GAEAmc,EAAAI,SAAA,CAAAvc,OAAAA,EAAAoc,OAAAU,MAAA,CAAA9c,GAAA4c,CAAAA,EAAAL,SAAA,CAAAvc,EAAAuc,SAAA,KAAAK,CAAA,CACA,CAEO,IAAAG,EAAA,WAQP,MAAAA,CAPAA,EAAAX,OAAAY,MAAA,WAAAC,CAAA,EACA,QAAAC,EAAAzN,EAAA,EAAA0N,EAAAC,UAAAvP,MAAA,CAA+C4B,EAAA0N,EAAO1N,IAEtD,QAAA3I,KADAoW,EAAAE,SAAA,CAAA3N,EAAA,CACA2M,OAAAG,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,EAAApW,IAAAmW,CAAAA,CAAA,CAAAnW,EAAA,CAAAoW,CAAA,CAAApW,EAAA,EAEA,OAAAmW,CACA,GACAI,KAAA,MAAAD,UACA,EAEO,SAAAE,EAAAJ,CAAA,CAAAK,CAAA,EACP,IAAAN,EAAA,GACA,QAAAnW,KAAAoW,EAAAd,OAAAG,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,EAAApW,IAAAyW,EAAAA,EAAAtd,OAAA,CAAA6G,IACAmW,CAAAA,CAAA,CAAAnW,EAAA,CAAAoW,CAAA,CAAApW,EAAA,EACA,GAAAoW,MAAAA,GAAA,mBAAAd,OAAAoB,qBAAA,CACA,QAAA/N,EAAA,EAAA3I,EAAAsV,OAAAoB,qBAAA,CAAAN,GAA2DzN,EAAA3I,EAAA+G,MAAA,CAAc4B,IACzE,EAAA8N,EAAAtd,OAAA,CAAA6G,CAAA,CAAA2I,EAAA,GAAA2M,OAAAG,SAAA,CAAAkB,oBAAA,CAAAhB,IAAA,CAAAS,EAAApW,CAAA,CAAA2I,EAAA,GACAwN,CAAAA,CAAA,CAAAnW,CAAA,CAAA2I,EAAA,EAAAyN,CAAA,CAAApW,CAAA,CAAA2I,EAAA,GAEA,OAAAwN,CACA,CAEO,SAAAS,EAAAC,CAAA,CAAAtY,CAAA,CAAA0H,CAAA,CAAA6Q,CAAA,EACP,IAAAzB,EAAA0B,EAAAT,UAAAvP,MAAA,CAAAiQ,EAAAD,EAAA,EAAAxY,EAAAuY,OAAAA,EAAAA,EAAAxB,OAAA2B,wBAAA,CAAA1Y,EAAA0H,GAAA6Q,EACA,oBAAAI,SAAA,mBAAAA,QAAAC,QAAA,CAAAH,EAAAE,QAAAC,QAAA,CAAAN,EAAAtY,EAAA0H,EAAA6Q,QACA,QAAAnO,EAAAkO,EAAA9P,MAAA,GAA2C4B,GAAA,EAAQA,IAAA0M,CAAAA,EAAAwB,CAAA,CAAAlO,EAAA,GAAAqO,CAAAA,EAAA,CAAAD,EAAA,EAAA1B,EAAA2B,GAAAD,EAAA,EAAA1B,EAAA9W,EAAA0H,EAAA+Q,GAAA3B,EAAA9W,EAAA0H,EAAA,GAAA+Q,CAAAA,EACnD,OAAAD,EAAA,GAAAC,GAAA1B,OAAA8B,cAAA,CAAA7Y,EAAA0H,EAAA+Q,GAAAA,CACA,CAEO,SAAAK,EAAAC,CAAA,CAAAC,CAAA,EACP,gBAAAhZ,CAAA,CAAA0H,CAAA,EAAkCsR,EAAAhZ,EAAA0H,EAAAqR,EAAA,CAClC,CAEO,SAAAE,EAAAC,CAAA,CAAAC,CAAA,CAAAb,CAAA,CAAAc,CAAA,CAAAC,CAAA,CAAAC,CAAA,EACP,SAAAC,EAAAC,CAAA,EAAuB,GAAAA,KAAA,IAAAA,GAAA,mBAAAA,EAAA,qCAAuF,OAAAA,CAAA,CAK9G,QADAzQ,EAHA0Q,EAAAL,EAAAK,IAAA,CAAA/R,EAAA+R,WAAAA,EAAA,MAAAA,WAAAA,EAAA,cACAzZ,EAAA,CAAAmZ,GAAAD,EAAAE,EAAA,OAAAF,EAAAA,EAAAhC,SAAA,MACAwC,EAAAP,GAAAnZ,CAAAA,EAAA+W,OAAA2B,wBAAA,CAAA1Y,EAAAoZ,EAAArhB,IAAA,MACA4hB,EAAA,GACAvP,EAAAkO,EAAA9P,MAAA,GAAsC4B,GAAA,EAAQA,IAAA,CAC9C,IAAA/Q,EAAA,GACA,QAAAoI,KAAA2X,EAAA/f,CAAA,CAAAoI,EAAA,CAAAA,WAAAA,EAAA,GAAgE2X,CAAA,CAAA3X,EAAA,CAChE,QAAAA,KAAA2X,EAAAQ,MAAA,CAAAvgB,EAAAugB,MAAA,CAAAnY,EAAA,CAAA2X,EAAAQ,MAAA,CAAAnY,EAAA,CACApI,EAAAwgB,cAAA,UAAAL,CAAA,EAA8C,GAAAG,EAAA,0EAAyFL,EAAAQ,IAAA,CAAAP,EAAAC,GAAA,QACvI,IAAAO,EAAA,GAAAzB,CAAA,CAAAlO,EAAA,EAAAqP,aAAAA,EAAA,CAA8DO,IAAAN,EAAAM,GAAA,CAAAngB,IAAA6f,EAAA7f,GAAA,EAA2C6f,CAAA,CAAAhS,EAAA,CAAArO,GACzG,GAAAogB,aAAAA,EAAA,CACA,GAAAM,KAAA,IAAAA,EAAA,SACA,GAAAA,OAAAA,GAAA,iBAAAA,EAAA,mCACAhR,CAAAA,EAAAwQ,EAAAQ,EAAAC,GAAA,IAAAN,CAAAA,EAAAM,GAAA,CAAAjR,CAAAA,EACAA,CAAAA,EAAAwQ,EAAAQ,EAAAlgB,GAAA,IAAA6f,CAAAA,EAAA7f,GAAA,CAAAkP,CAAAA,EACAA,CAAAA,EAAAwQ,EAAAQ,EAAAE,IAAA,IAAAZ,EAAAa,OAAA,CAAAnR,EACA,KACAA,CAAAA,EAAAwQ,EAAAQ,EAAA,IACAN,UAAAA,EAAAJ,EAAAa,OAAA,CAAAnR,GACA2Q,CAAA,CAAAhS,EAAA,CAAAqB,EAEA,CACA/I,GAAA+W,OAAA8B,cAAA,CAAA7Y,EAAAoZ,EAAArhB,IAAA,CAAA2hB,GACAC,EAAA,EACA,CAEO,SAAAQ,EAAAC,CAAA,CAAAf,CAAA,CAAAnQ,CAAA,EAEP,QADAmR,EAAAtC,UAAAvP,MAAA,GACA4B,EAAA,EAAkBA,EAAAiP,EAAA7Q,MAAA,CAAyB4B,IAC3ClB,EAAAmR,EAAAhB,CAAA,CAAAjP,EAAA,CAAAgN,IAAA,CAAAgD,EAAAlR,GAAAmQ,CAAA,CAAAjP,EAAA,CAAAgN,IAAA,CAAAgD,GAEA,OAAAC,EAAAnR,EAAA,MACA,CAEO,SAAAoR,EAAArQ,CAAA,EACP,uBAAAA,EAAAA,EAAA,GAAA3P,MAAA,CAAA2P,EACA,CAEO,SAAAsQ,EAAAf,CAAA,CAAAzhB,CAAA,CAAAyiB,CAAA,EAEP,MADA,iBAAAziB,GAAAA,CAAAA,EAAAA,EAAA0iB,WAAA,KAAAngB,MAAA,CAAAvC,EAAA0iB,WAAA,UACA1D,OAAA8B,cAAA,CAAAW,EAAA,QAA4CkB,aAAA,GAAAxR,MAAAsR,EAAA,GAAAlgB,MAAA,CAAAkgB,EAAA,IAAAziB,GAAAA,CAAA,EAC5C,CAEO,SAAA4iB,EAAAC,CAAA,CAAAC,CAAA,EACP,oBAAAlC,SAAA,mBAAAA,QAAAmC,QAAA,QAAAnC,QAAAmC,QAAA,CAAAF,EAAAC,EACA,CAEO,SAAAE,EAAAX,CAAA,CAAAY,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAEP,UAAAD,CAAAA,GAAAA,CAAAA,EAAAE,OAAA,YAAAC,CAAA,CAAAC,CAAA,EACA,SAAAC,EAAApS,CAAA,EAAkC,IAAMqS,EAAAL,EAAAM,IAAA,CAAAtS,GAAA,CAA+B,MAAAgP,EAAA,CAAYmD,EAAAnD,EAAA,EACnF,SAAAuD,EAAAvS,CAAA,EAAiC,IAAMqS,EAAAL,EAAA,MAAAhS,GAAA,CAAmC,MAAAgP,EAAA,CAAYmD,EAAAnD,EAAA,EACtF,SAAAqD,EAAAxB,CAAA,MAJA7Q,CAI8B6Q,CAAAA,EAAAJ,IAAA,CAAAyB,EAAArB,EAAA7Q,KAAA,EAAAwS,CAJJxS,CAA1BA,EAI8B6Q,EAAA7Q,KAAA,YAJJ+R,EAAA/R,EAAA,IAAA+R,EAAA,SAAAG,CAAA,EAA+DA,EAAAlS,EAAA,EAAiB,EAI5EyS,IAAA,CAAAL,EAAAG,EAAA,CAC9BF,EAAA,CAAAL,EAAAA,EAAAlD,KAAA,CAAAoC,EAAAY,GAAA,KAAAQ,IAAA,GACA,EACA,CAEO,SAAAI,EAAAxB,CAAA,CAAAyB,CAAA,EACP,IAAsGrC,EAAAtP,EAAA0N,EAAAkE,EAAtG/S,EAAA,CAAYgT,MAAA,EAAAC,KAAA,WAA6B,GAAApE,EAAAA,CAAA,UAAAA,CAAA,IAA0B,OAAAA,CAAA,KAAcqE,KAAA,GAAAC,IAAA,IACjF,OAAAJ,EAAA,CAAeN,KAAAW,EAAA,SAAAA,EAAA,UAAAA,EAAA,IAAoD,mBAAAC,QAAAN,CAAAA,CAAA,CAAAM,OAAAC,QAAA,aAAqE,cAAcP,EACtJ,SAAAK,EAAArE,CAAA,EAAqB,gBAAA7O,CAAA,EAAsB,OAAAsS,SAC3Ce,CAAA,EACA,GAAA9C,EAAA,mDACA,KAAAsC,GAAAA,CAAAA,EAAA,EAAAQ,CAAA,KAAAvT,CAAAA,EAAA,IAAAA,GAAA,IACA,GAAAyQ,EAAA,EAAAtP,GAAA0N,CAAAA,EAAA0E,EAAAA,CAAA,IAAApS,EAAA,OAAAoS,CAAA,IAAApS,EAAA,SAAA0N,EAAA1N,EAAA,SAAA0N,EAAAR,IAAA,CAAAlN,GAAA,GAAAA,EAAAsR,IAAA,KAAA5D,EAAAA,EAAAR,IAAA,CAAAlN,EAAAoS,CAAA,MAAA3C,IAAA,QAAA/B,EAEA,OADA1N,EAAA,EAAAA,GAAAoS,CAAAA,EAAA,CAAAA,EAAAA,CAAA,IAAA1E,EAAA1O,KAAA,GACAoT,CAAA,KACA,cAAA1E,EAAA0E,EAAsC,KACtC,QAAiC,OAAjCvT,EAAAgT,KAAA,GAAiC,CAAS7S,MAAAoT,CAAA,IAAA3C,KAAA,GAC1C,QAAA5Q,EAAAgT,KAAA,GAAiC7R,EAAAoS,CAAA,IAAWA,EAAA,IAAU,QACtD,QAAAA,EAAAvT,EAAAmT,GAAA,CAAAK,GAAA,GAAwCxT,EAAAkT,IAAA,CAAAM,GAAA,GAAc,QACtD,SACA,GAAA3E,CAAAA,CAAAA,EAAAA,CAAAA,EAAA7O,EAAAkT,IAAA,EAAAzT,MAAA,IAAAoP,CAAA,CAAAA,EAAApP,MAAA,MAAA8T,CAAAA,IAAAA,CAAA,KAAAA,IAAAA,CAAA,MAA4GvT,EAAA,EAAO,SACnH,GAAAuT,IAAAA,CAAA,OAAA1E,GAAA0E,CAAA,IAAA1E,CAAA,KAAA0E,CAAA,IAAA1E,CAAA,MAA+E7O,EAAAgT,KAAA,CAAAO,CAAA,IAAiB,MAChG,GAAAA,IAAAA,CAAA,KAAAvT,EAAAgT,KAAA,CAAAnE,CAAA,KAAuD7O,EAAAgT,KAAA,CAAAnE,CAAA,IAAgBA,EAAA0E,EAAQ,MAC/E,GAAA1E,GAAA7O,EAAAgT,KAAA,CAAAnE,CAAA,KAA6C7O,EAAAgT,KAAA,CAAAnE,CAAA,IAAgB7O,EAAAmT,GAAA,CAAApC,IAAA,CAAAwC,GAAgB,MAC7E1E,CAAA,KAAA7O,EAAAmT,GAAA,CAAAK,GAAA,GACAxT,EAAAkT,IAAA,CAAAM,GAAA,GAAgC,QAChC,CACAD,EAAAT,EAAAzE,IAAA,CAAAgD,EAAArR,EACA,CAAQ,MAAAmP,EAAA,CAAYoE,EAAA,GAAApE,EAAA,CAAahO,EAAA,SAAS,CAAUsP,EAAA5B,EAAA,EACpD,GAAA0E,EAAAA,CAAA,UAAAA,CAAA,IAAkC,OAASpT,MAAAoT,CAAA,IAAAA,CAAA,WAAA3C,KAAA,GAC3C,EAtB2C,CAAA7B,EAAA7O,EAAA,GAuB3C,CAEO,IAAAuT,EAAAzF,OAAAU,MAAA,UAAAgF,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,EACPC,KAAAA,IAAAD,GAAAA,CAAAA,EAAAD,CAAAA,EACA,IAAApE,EAAAxB,OAAA2B,wBAAA,CAAAgE,EAAAC,GACA,EAAApE,GAAA,SAAAA,EAAA,CAAAmE,EAAAI,UAAA,CAAAvE,EAAAwE,QAAA,EAAAxE,EAAAmC,YAAA,IACAnC,CAAAA,EAAA,CAAeyE,WAAA,GAAAhD,IAAA,WAAoC,OAAA0C,CAAA,CAAAC,EAAA,IAEnD5F,OAAA8B,cAAA,CAAA4D,EAAAG,EAAArE,EACA,EAAC,SAAAkE,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,EACDC,KAAAA,IAAAD,GAAAA,CAAAA,EAAAD,CAAAA,EACAF,CAAA,CAAAG,EAAA,CAAAF,CAAA,CAAAC,EAAA,EAGO,SAAAM,EAAAP,CAAA,CAAAD,CAAA,EACP,QAAAhb,KAAAib,EAAA,YAAAjb,GAAAsV,OAAAG,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAqF,EAAAhb,IAAA+a,EAAAC,EAAAC,EAAAjb,EACA,CAEO,SAAAyb,EAAAT,CAAA,EACP,IAAA5E,EAAA,mBAAAuE,QAAAA,OAAAC,QAAA,CAAAK,EAAA7E,GAAA4E,CAAA,CAAA5E,EAAA,CAAAzN,EAAA,EACA,GAAAsS,EAAA,OAAAA,EAAAtF,IAAA,CAAAqF,GACA,GAAAA,GAAA,iBAAAA,EAAAjU,MAAA,QACAgT,KAAA,WAEA,OADAiB,GAAArS,GAAAqS,EAAAjU,MAAA,EAAAiU,CAAAA,EAAA,QACA,CAAmBvT,MAAAuT,GAAAA,CAAA,CAAArS,IAAA,CAAAuP,KAAA,CAAA8C,CAAA,CACnB,CACA,CACA,iBAAA5E,EAAA,4DACA,CAEO,SAAAsF,EAAAV,CAAA,CAAA3E,CAAA,EACP,IAAA4E,EAAA,mBAAAN,QAAAK,CAAA,CAAAL,OAAAC,QAAA,EACA,IAAAK,EAAA,OAAAD,EACA,IAAAhE,EAAAP,EAAA9N,EAAAsS,EAAAtF,IAAA,CAAAqF,GAAAW,EAAA,GACA,IACA,MAAAtF,KAAA,IAAAA,GAAAA,KAAA,MAAAW,EAAArO,EAAAoR,IAAA,IAAA7B,IAAA,EAAAyD,EAAAtD,IAAA,CAAArB,EAAAvP,KAAA,CACA,CACA,MAAAxG,EAAA,CAAkBwV,EAAA,CAAMxV,MAAAA,CAAA,SACxB,CACA,IACA+V,GAAA,CAAAA,EAAAkB,IAAA,EAAA+C,CAAAA,EAAAtS,EAAA,SAAAsS,EAAAtF,IAAA,CAAAhN,EACA,QACA,CAAgB,GAAA8N,EAAA,MAAAA,EAAAxV,KAAA,CAChB,CACA,OAAA0a,CACA,CAGO,SAAAC,IACP,QAAAD,EAAA,GAAAhT,EAAA,EAA2BA,EAAA2N,UAAAvP,MAAA,CAAsB4B,IACjDgT,EAAAA,EAAA9iB,MAAA,CAAA6iB,EAAApF,SAAA,CAAA3N,EAAA,GACA,OAAAgT,CACA,CAGO,SAAAE,IACP,QAAAzF,EAAA,EAAAzN,EAAA,EAAAmT,EAAAxF,UAAAvP,MAAA,CAAgD4B,EAAAmT,EAAQnT,IAAAyN,GAAAE,SAAA,CAAA3N,EAAA,CAAA5B,MAAA,CACxD,QAAAiQ,EAAAte,MAAA0d,GAAA8E,EAAA,EAAAvS,EAAA,EAAuCA,EAAAmT,EAAQnT,IAC/C,QAAA1P,EAAAqd,SAAA,CAAA3N,EAAA,CAAAC,EAAA,EAAAmT,EAAA9iB,EAAA8N,MAAA,CAAuD6B,EAAAmT,EAAQnT,IAAAsS,IAC/DlE,CAAA,CAAAkE,EAAA,CAAAjiB,CAAA,CAAA2P,EAAA,CACA,OAAAoO,CACA,CAEO,SAAAgF,EAAAC,CAAA,CAAAtjB,CAAA,CAAAujB,CAAA,EACP,GAAAA,GAAA5F,GAAAA,UAAAvP,MAAA,SAAA4U,EAAAhT,EAAA,EAAAwT,EAAAxjB,EAAAoO,MAAA,CAA2E4B,EAAAwT,EAAOxT,KAClFgT,GAAAhT,KAAAhQ,IACAgjB,GAAAA,CAAAA,EAAAjjB,MAAA+c,SAAA,CAAAzB,KAAA,CAAA2B,IAAA,CAAAhd,EAAA,EAAAgQ,EAAA,EACAgT,CAAA,CAAAhT,EAAA,CAAAhQ,CAAA,CAAAgQ,EAAA,EAGA,OAAAsT,EAAApjB,MAAA,CAAA8iB,GAAAjjB,MAAA+c,SAAA,CAAAzB,KAAA,CAAA2B,IAAA,CAAAhd,GACA,CAEO,SAAAyjB,EAAA5U,CAAA,EACP,uBAAA4U,EAAA,MAAA5U,CAAA,CAAAA,EAAA,UAAA4U,EAAA5U,EACA,CAEO,SAAA6U,EAAA1D,CAAA,CAAAY,CAAA,CAAAE,CAAA,EACP,IAAAkB,OAAA2B,aAAA,yDACA,IAAA3T,EAAA0R,EAAAZ,EAAAlD,KAAA,CAAAoC,EAAAY,GAAA,IAAAgD,EAAA,GACA,OAAA5T,EAAA,GAAe+R,EAAA,QAAAA,EAAA,SAAAA,EAAA,SACf,SAAA3C,CAAA,EAA4B,gBAAAvQ,CAAA,EAAsB,OAAAkS,QAAAC,OAAA,CAAAnS,GAAA0S,IAAA,CAAAnC,EAAA6B,EAAA,IADnCjR,CAAA,CAAAgS,OAAA2B,aAAA,aAAoG,aAAc3T,EAEjI,SAAA+R,EAAArE,CAAA,CAAA0B,CAAA,EAAwBsC,CAAA,CAAAhE,EAAA,GAAY1N,CAAA,CAAA0N,EAAA,UAAA7O,CAAA,EAAsB,WAAAkS,QAAA,SAAAzgB,CAAA,CAAAC,CAAA,EAAqCqjB,EAAAlE,IAAA,EAAAhC,EAAA7O,EAAAvO,EAAAC,EAAA,KAAAsjB,EAAAnG,EAAA7O,EAAA,EAA2C,EAAMuQ,GAAApP,CAAAA,CAAA,CAAA0N,EAAA,CAAA0B,EAAApP,CAAA,CAAA0N,EAAA,IAChJ,SAAAmG,EAAAnG,CAAA,CAAA7O,CAAA,EAA0B,QAC1BwP,CAAqBA,EAArBA,EADgCqD,CAAA,CAAAhE,EAAA,CAAA7O,IACXC,KAAA,YAAA2U,EAAA1C,QAAAC,OAAA,CAAA3C,EAAAvP,KAAA,CAAAD,CAAA,EAAA0S,IAAA,CAAAuC,EAAA7C,GAAA8C,EAAAH,CAAA,OAAAvF,EADW,CAAiB,MAAAP,EAAA,CAAYiG,EAAAH,CAAA,OAAA9F,EAAA,EAE7D,SAAAgG,EAAAhV,CAAA,EAA4B+U,EAAA,OAAA/U,EAAA,CAC5B,SAAAmS,EAAAnS,CAAA,EAA2B+U,EAAA,QAAA/U,EAAA,CAC3B,SAAAiV,EAAA3E,CAAA,CAAAvQ,CAAA,EAA0BuQ,EAAAvQ,GAAA+U,EAAAI,KAAA,GAAA5E,EAAAhR,MAAA,EAAAyV,EAAAD,CAAA,OAAAA,CAAA,QAC1B,CAEO,SAAAK,EAAA5B,CAAA,EACP,IAAArS,EAAA3I,EACA,OAAA2I,EAAA,GAAe+R,EAAA,QAAAA,EAAA,iBAAAjE,CAAA,EAA6C,MAAAA,CAAA,GAAUiE,EAAA,UAAA/R,CAAA,CAAAgS,OAAAC,QAAA,aAAsD,aAAcjS,EAC1I,SAAA+R,EAAArE,CAAA,CAAA0B,CAAA,EAAwBpP,CAAA,CAAA0N,EAAA,CAAA2E,CAAA,CAAA3E,EAAA,UAAA7O,CAAA,EAA6B,OAAAxH,EAAA,CAAAA,CAAAA,EAAA,CAAoByH,MAAA2U,EAAApB,CAAA,CAAA3E,EAAA,CAAA7O,IAAA0Q,KAAA,IAAuCH,EAAAA,EAAAvQ,GAAAA,CAAA,EAAkBuQ,CAAA,CAClI,CAEO,SAAA8E,EAAA7B,CAAA,EACP,IAAAL,OAAA2B,aAAA,yDACA,IAAA3T,EAAAsS,EAAAD,CAAA,CAAAL,OAAA2B,aAAA,EACA,OAAArB,EAAAA,EAAAtF,IAAA,CAAAqF,GAAAA,CAAAA,EAAAS,EAAAT,GAAArS,EAAA,GAAyG+R,EAAA,QAAAA,EAAA,SAAAA,EAAA,UAAA/R,CAAA,CAAAgS,OAAA2B,aAAA,aAAuF,aAAc3T,CAAAA,EAC9M,SAAA+R,EAAArE,CAAA,EAAqB1N,CAAA,CAAA0N,EAAA,CAAA2E,CAAA,CAAA3E,EAAA,WAAA7O,CAAA,EAA8B,WAAAkS,QAAA,SAAAC,CAAA,CAAAC,CAAA,GAAgD8C,SACnG/C,CAAA,CAAAC,CAAA,CAAAvE,CAAA,CAAA7N,CAAA,EAA2CkS,QAAAC,OAAA,CAAAnS,GAAA0S,IAAA,UAAA1S,CAAA,EAAsCmS,EAAA,CAAUlS,MAAAD,EAAA0Q,KAAA7C,CAAA,EAAmB,EAAIuE,EAAA,EADfD,EAAAC,EAAApS,CAAAA,EAAAwT,CAAA,CAAA3E,EAAA,CAAA7O,EAAA,EAAA0Q,IAAA,CAAA1Q,EAAAC,KAAA,GAAwD,EAE3J,CAEO,SAAAqV,EAAAC,CAAA,CAAAC,CAAA,EAEP,OADA1H,OAAA8B,cAAA,CAA+B9B,OAAA8B,cAAA,CAAA2F,EAAA,OAAuCtV,MAAAuV,CAAA,GAAwBD,EAAAC,GAAA,CAAAA,EAC9FD,CACA,CAEA,IAAAE,EAAA3H,OAAAU,MAAA,UAAAgF,CAAA,CAAAxT,CAAA,EACA8N,OAAA8B,cAAA,CAAA4D,EAAA,WAAwCO,WAAA,GAAA9T,MAAAD,CAAA,EACxC,EAAC,SAAAwT,CAAA,CAAAxT,CAAA,EACDwT,EAAA,QAAAxT,CACA,EAEO,SAAA0V,EAAAC,CAAA,EACP,GAAAA,GAAAA,EAAA9B,UAAA,QAAA8B,EACA,IAAA7E,EAAA,GACA,GAAA6E,MAAAA,EAAA,QAAAjC,KAAAiC,EAAA,YAAAjC,GAAA5F,OAAAG,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAwH,EAAAjC,IAAAH,EAAAzC,EAAA6E,EAAAjC,GAEA,OADA+B,EAAA3E,EAAA6E,GACA7E,CACA,CAEO,SAAA8E,EAAAD,CAAA,EACP,UAAAA,EAAA9B,UAAA,CAAA8B,EAAA,CAA2CE,QAAAF,CAAA,CAC3C,CAEO,SAAAG,EAAAC,CAAA,CAAAC,CAAA,CAAAxF,CAAA,CAAAD,CAAA,EACP,GAAAC,MAAAA,GAAA,CAAAD,EAAA,iEACA,sBAAAyF,EAAAD,IAAAC,GAAA,CAAAzF,EAAA,CAAAyF,EAAAC,GAAA,CAAAF,GAAA,4FACA,MAAAvF,MAAAA,EAAAD,EAAAC,MAAAA,EAAAD,EAAApC,IAAA,CAAA4H,GAAAxF,EAAAA,EAAAtQ,KAAA,CAAA+V,EAAAjF,GAAA,CAAAgF,EACA,CAEO,SAAAG,EAAAH,CAAA,CAAAC,CAAA,CAAA/V,CAAA,CAAAuQ,CAAA,CAAAD,CAAA,EACP,GAAAC,MAAAA,EAAA,kDACA,GAAAA,MAAAA,GAAA,CAAAD,EAAA,iEACA,sBAAAyF,EAAAD,IAAAC,GAAA,CAAAzF,EAAA,CAAAyF,EAAAC,GAAA,CAAAF,GAAA,2FACA,YAAAvF,EAAAD,EAAApC,IAAA,CAAA4H,EAAA9V,GAAAsQ,EAAAA,EAAAtQ,KAAA,CAAAA,EAAA+V,EAAAplB,GAAA,CAAAmlB,EAAA9V,GAAAA,CACA,CAEO,SAAAkW,EAAAH,CAAA,CAAAD,CAAA,EACP,GAAAA,OAAAA,GAAA,iBAAAA,GAAA,mBAAAA,EAAA,0DACA,yBAAAC,EAAAD,IAAAC,EAAAA,EAAAC,GAAA,CAAAF,EACA,CAEO,SAAAK,EAAAC,CAAA,CAAApW,CAAA,CAAAqW,CAAA,EACP,GAAArW,MAAAA,EAAA,KAEAsW,EAAAC,EADA,oBAAAvW,GAAA,mBAAAA,EAAA,oCAEA,GAAAqW,EAAA,CACA,IAAAnD,OAAAsD,YAAA,wDACAF,EAAAtW,CAAA,CAAAkT,OAAAsD,YAAA,EAEA,GAAAF,KAAA,IAAAA,EAAA,CACA,IAAApD,OAAAoD,OAAA,mDACAA,EAAAtW,CAAA,CAAAkT,OAAAoD,OAAA,EACAD,GAAAE,CAAAA,EAAAD,CAAA,CACA,CACA,sBAAAA,EAAA,0CACAC,GAAAD,CAAAA,EAAA,WAAsC,IAAMC,EAAArI,IAAA,OAAoB,MAAAc,EAAA,CAAY,OAAAiD,QAAAE,MAAA,CAAAnD,EAAA,IAC5EoH,EAAAK,KAAA,CAAA7F,IAAA,EAAqB5Q,MAAAA,EAAAsW,QAAAA,EAAAD,MAAAA,CAAA,EACrB,MACAA,GACAD,EAAAK,KAAA,CAAA7F,IAAA,EAAqByF,MAAA,KAErB,OAAArW,CACA,CAEA,IAAA0W,EAAA,mBAAAC,gBAAAA,gBAAA,SAAAnd,CAAA,CAAAod,CAAA,CAAAC,CAAA,EACA,IAAA7H,EAAA,MAAA6H,GACA,OAAA7H,EAAAngB,IAAA,mBAAAmgB,EAAAxV,KAAA,CAAAA,EAAAwV,EAAA4H,UAAA,CAAAA,EAAA5H,CACA,EAEO,SAAA8H,EAAAV,CAAA,EACP,SAAAW,EAAA/H,CAAA,EACAoH,EAAA5c,KAAA,CAAA4c,EAAAY,QAAA,KAAAN,EAAA1H,EAAAoH,EAAA5c,KAAA,6CAAAwV,EACAoH,EAAAY,QAAA,GACA,CAcA,OAAA1E,SAbAA,IACA,KAAA8D,EAAAK,KAAA,CAAAnX,MAAA,GACA,IAAA2X,EAAAb,EAAAK,KAAA,CAAApD,GAAA,GACA,IACA,IAAAxC,EAAAoG,EAAAX,OAAA,EAAAW,EAAAX,OAAA,CAAApI,IAAA,CAAA+I,EAAAjX,KAAA,EACA,GAAAiX,EAAAZ,KAAA,QAAApE,QAAAC,OAAA,CAAArB,GAAA4B,IAAA,CAAAH,EAAA,SAAAtD,CAAA,EAAwF,OAAT+H,EAAA/H,GAASsD,GAAA,EACxF,CACA,MAAAtD,EAAA,CACA+H,EAAA/H,EACA,CACA,CACA,GAAAoH,EAAAY,QAAA,OAAAZ,EAAA5c,KAAA,GAGA,CAEA0d,EAAA,QAAe,CACf/I,UAAAA,EACAK,SAAAA,EACAO,OAAAA,EACAI,WAAAA,EACAS,QAAAA,EACA6B,WAAAA,EACAI,UAAAA,EACAa,YAAAA,EACAY,gBAAAA,EACAS,aAAAA,EACAC,SAAAA,EACAC,OAAAA,EACAE,SAAAA,EACAC,eAAAA,EACAG,cAAAA,EACAI,QAAAA,EACAC,iBAAAA,EACAO,iBAAAA,EACAC,cAAAA,EACAC,qBAAAA,EACAI,aAAAA,EACAE,gBAAAA,EACAE,uBAAAA,EACAI,uBAAAA,EACAC,sBAAAA,EACAC,wBAAAA,EACAW,mBAAAA,CACA","sources":["webpack://_N_E/../src/Collection.tsx","webpack://_N_E/../src/Dialog.tsx","webpack://_N_E/../src/Menu.tsx","webpack://_N_E/../src/RovingFocusGroup.tsx","webpack://_N_E/./node_modules/@radix-ui/react-separator/dist/index.mjs","webpack://_N_E/./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Slot } from '@radix-ui/react-slot';\n\ntype SlotProps = React.ComponentPropsWithoutRef;\ntype CollectionElement = HTMLElement;\ninterface CollectionProps extends SlotProps {\n scope: any;\n}\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like ``.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\n\nfunction createCollection(name: string) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/\n\n const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n\n type ContextValue = {\n collectionRef: React.RefObject;\n itemMap: Map, { ref: React.RefObject } & ItemData>;\n };\n\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: new Map() }\n );\n\n const CollectionProvider: React.FC<{ children?: React.ReactNode; scope: any }> = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(new Map()).current;\n return (\n \n {children}\n \n );\n };\n\n CollectionProvider.displayName = PROVIDER_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/\n\n const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return {children};\n }\n );\n\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/\n\n const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n\n type CollectionItemSlotProps = ItemData & {\n children: React.ReactNode;\n scope: any;\n };\n\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...(itemData as unknown as ItemData) });\n return () => void context.itemMap.delete(ref);\n });\n\n return (\n \n {children}\n \n );\n }\n );\n\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useCollection(scope: any) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current!) - orderedNodes.indexOf(b.ref.current!)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n\n return getItems;\n }\n\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope,\n ] as const;\n}\n\nexport { createCollection };\nexport type { CollectionProps };\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps

= P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject;\n contentRef: React.RefObject;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC = (props: ScopedProps) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n \n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\n \n );\n }\n);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface DialogPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogPortal: React.FC = (props: ScopedProps) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n \n {React.Children.map(children, (child) => (\n \n \n {child}\n \n \n ))}\n \n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogOverlay = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n \n \n \n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n \n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst DialogContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n \n {context.modal ? (\n \n ) : (\n \n )}\n \n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit {}\n\nconst DialogContentModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\n })}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === 'pointerdown') {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype FocusScopeProps = React.ComponentPropsWithoutRef;\ninterface DialogContentImplProps extends Omit {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue false\n */\n trapFocus?: FocusScopeProps['trapped'];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n}\n\nconst DialogContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n \n context.onOpenChange(false)}\n />\n \n {process.env.NODE_ENV !== 'production' && (\n <>\n \n \n \n )}\n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef;\ntype PrimitiveHeading2Props = React.ComponentPropsWithoutRef;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return ;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef;\ntype PrimitiveParagraphProps = React.ComponentPropsWithoutRef;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return ;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs, composeRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { useId } from '@radix-ui/react-id';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Slot } from '@radix-ui/react-slot';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { hideOthers } from 'aria-hidden';\nimport { RemoveScroll } from 'react-remove-scroll';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\nconst SELECTION_KEYS = ['Enter', ' '];\nconst FIRST_KEYS = ['ArrowDown', 'PageUp', 'Home'];\nconst LAST_KEYS = ['ArrowUp', 'PageDown', 'End'];\nconst FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nconst SUB_OPEN_KEYS: Record = {\n ltr: [...SELECTION_KEYS, 'ArrowRight'],\n rtl: [...SELECTION_KEYS, 'ArrowLeft'],\n};\nconst SUB_CLOSE_KEYS: Record = {\n ltr: ['ArrowLeft'],\n rtl: ['ArrowRight'],\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Menu\n * -----------------------------------------------------------------------------------------------*/\n\nconst MENU_NAME = 'Menu';\n\ntype ItemData = { disabled: boolean; textValue: string };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n MenuItemElement,\n ItemData\n>(MENU_NAME);\n\ntype ScopedProps

= P & { __scopeMenu?: Scope };\nconst [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope,\n]);\nconst usePopperScope = createPopperScope();\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype MenuContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n content: MenuContentElement | null;\n onContentChange(content: MenuContentElement | null): void;\n};\n\nconst [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\n\ntype MenuRootContextValue = {\n onClose(): void;\n isUsingKeyboardRef: React.RefObject;\n dir: Direction;\n modal: boolean;\n};\n\nconst [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\n\ninterface MenuProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n modal?: boolean;\n}\n\nconst Menu: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n\n React.useEffect(() => {\n // Capture phase ensures we set the boolean before any side effects execute\n // in response to the key or pointer event as they might depend on this value.\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener('pointerdown', handlePointer, { capture: true, once: true });\n document.addEventListener('pointermove', handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => (isUsingKeyboardRef.current = false);\n document.addEventListener('keydown', handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener('keydown', handleKeyDown, { capture: true });\n document.removeEventListener('pointerdown', handlePointer, { capture: true });\n document.removeEventListener('pointermove', handlePointer, { capture: true });\n };\n }, []);\n\n return (\n \n \n handleOpenChange(false), [handleOpenChange])}\n isUsingKeyboardRef={isUsingKeyboardRef}\n dir={direction}\n modal={modal}\n >\n {children}\n \n \n \n );\n};\n\nMenu.displayName = MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'MenuAnchor';\n\ntype MenuAnchorElement = React.ElementRef;\ntype PopperAnchorProps = React.ComponentPropsWithoutRef;\ninterface MenuAnchorProps extends PopperAnchorProps {}\n\nconst MenuAnchor = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return ;\n }\n);\n\nMenuAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'MenuPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface MenuPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuPortal: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nMenuPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'MenuContent';\n\ntype MenuContentContextValue = {\n onItemEnter(event: React.PointerEvent): void;\n onItemLeave(event: React.PointerEvent): void;\n onTriggerLeave(event: React.PointerEvent): void;\n searchRef: React.RefObject;\n pointerGraceTimerRef: React.MutableRefObject;\n onPointerGraceIntentChange(intent: GraceIntent | null): void;\n};\nconst [MenuContentProvider, useMenuContentContext] =\n createMenuContext(CONTENT_NAME);\n\ntype MenuContentElement = MenuRootContentTypeElement;\n/**\n * We purposefully don't union MenuRootContent and MenuSubContent props here because\n * they have conflicting prop types. We agreed that we would allow MenuSubContent to\n * accept props that it would just ignore.\n */\ninterface MenuContentProps extends MenuRootContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n\n return (\n \n \n \n {rootContext.modal ? (\n \n ) : (\n \n )}\n \n \n \n );\n }\n);\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuRootContentTypeElement = MenuContentImplElement;\ninterface MenuRootContentTypeProps\n extends Omit {}\n\nconst MenuRootContentModal = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n // Hide everything from ARIA except the `MenuContent`\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n onDismiss={() => context.onOpenChange(false)}\n />\n );\n }\n);\n\nconst MenuRootContentNonModal = React.forwardRef<\n MenuRootContentTypeElement,\n MenuRootContentTypeProps\n>((props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return (\n context.onOpenChange(false)}\n />\n );\n});\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuContentImplElement = React.ElementRef;\ntype FocusScopeProps = React.ComponentPropsWithoutRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef;\ntype PopperContentProps = React.ComponentPropsWithoutRef;\ntype MenuContentImplPrivateProps = {\n onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];\n onDismiss?: DismissableLayerProps['onDismiss'];\n disableOutsidePointerEvents?: DismissableLayerProps['disableOutsidePointerEvents'];\n\n /**\n * Whether scrolling outside the `MenuContent` should be prevented\n * (default: `false`)\n */\n disableOutsideScroll?: boolean;\n\n /**\n * Whether focus should be trapped within the `MenuContent`\n * (default: false)\n */\n trapFocus?: FocusScopeProps['trapped'];\n};\ninterface MenuContentImplProps\n extends MenuContentImplPrivateProps,\n Omit {\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: RovingFocusGroupProps['loop'];\n\n onEntryFocus?: RovingFocusGroupProps['onEntryFocus'];\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n onFocusOutside?: DismissableLayerProps['onFocusOutside'];\n onInteractOutside?: DismissableLayerProps['onInteractOutside'];\n}\n\nconst MenuContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef('');\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef('right');\n const lastPointerXRef = React.useRef(0);\n\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll\n ? { as: Slot, allowPinchZoom: true }\n : undefined;\n\n const handleTypeaheadSearch = (key: string) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n\n // Reset `searchRef` 1 second after it was last updated\n (function updateSearch(value: string) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== '') timerRef.current = window.setTimeout(() => updateSearch(''), 1000);\n })(search);\n\n if (newItem) {\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => (newItem as HTMLElement).focus());\n }\n };\n\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n\n // Make sure the whole tree has focus guards as our `MenuContent` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n const isPointerMovingToSubmenu = React.useCallback((event: React.PointerEvent) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n\n return (\n {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n )}\n onItemLeave={React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n )}\n onTriggerLeave={React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n )}\n pointerGraceTimerRef={pointerGraceTimerRef}\n onPointerGraceIntentChange={React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, [])}\n >\n \n {\n // when opening, explicitly focus the content area only and leave\n // `onEntryFocus` in control of focusing first item\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n })}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n \n {\n // only focus first item when using keyboard\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n })}\n preventScrollOnEntryFocus\n >\n {\n // submenu key events bubble through portals. We only care about keys in this menu.\n const target = event.target as HTMLElement;\n const isKeyDownInside =\n target.closest('[data-radix-menu-content]') === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n // menus should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n // focus first/last item based on key pressed\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current!);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n })}\n onBlur={composeEventHandlers(props.onBlur, (event) => {\n // clear search buffer when leaving the menu\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = '';\n }\n })}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target as HTMLElement;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n\n // We don't use `event.movementX` for this check because Safari will\n // always return `0` on a pointer event.\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? 'right' : 'left';\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )}\n />\n \n \n \n \n \n );\n }\n);\n\nMenuContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'MenuGroup';\n\ntype MenuGroupElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface MenuGroupProps extends PrimitiveDivProps {}\n\nconst MenuGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return ;\n }\n);\n\nMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'MenuLabel';\n\ntype MenuLabelElement = React.ElementRef;\ninterface MenuLabelProps extends PrimitiveDivProps {}\n\nconst MenuLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return ;\n }\n);\n\nMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'MenuItem';\nconst ITEM_SELECT = 'menu.itemSelect';\n\ntype MenuItemElement = MenuItemImplElement;\ninterface MenuItemProps extends Omit {\n onSelect?: (event: Event) => void;\n}\n\nconst MenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n\n return (\n {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n }}\n onPointerUp={composeEventHandlers(props.onPointerUp, (event) => {\n // Pointer down can move to a different menu item which should activate it on pointer up.\n // We dispatch a click for selection to allow composition with click based triggers and to\n // prevent Firefox from getting stuck in text selection mode when the menu closes.\n if (!isPointerDownRef.current) event.currentTarget?.click();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== '';\n if (disabled || (isTypingAhead && event.key === ' ')) return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n /**\n * We prevent default browser behaviour for selection keys as they should trigger\n * a selection only:\n * - prevents space from scrolling the page.\n * - if keydown causes focus to move, prevents keydown from firing on the new target.\n */\n event.preventDefault();\n }\n })}\n />\n );\n }\n);\n\nMenuItem.displayName = ITEM_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype MenuItemImplElement = React.ElementRef;\ninterface MenuItemImplProps extends PrimitiveDivProps {\n disabled?: boolean;\n textValue?: string;\n}\n\nconst MenuItemImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n\n // get the item's `.textContent` as default strategy for typeahead `textValue`\n const [textContent, setTextContent] = React.useState('');\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? '').trim());\n }\n }, [itemProps.children]);\n\n return (\n \n \n {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n )}\n onFocus={composeEventHandlers(props.onFocus, () => setIsFocused(true))}\n onBlur={composeEventHandlers(props.onBlur, () => setIsFocused(false))}\n />\n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * MenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'MenuCheckboxItem';\n\ntype MenuCheckboxItemElement = MenuItemElement;\n\ntype CheckedState = boolean | 'indeterminate';\n\ninterface MenuCheckboxItemProps extends MenuItemProps {\n checked?: CheckedState;\n // `onCheckedChange` can never be called with `\"indeterminate\"` from the inside\n onCheckedChange?: (checked: boolean) => void;\n}\n\nconst MenuCheckboxItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return (\n \n onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'MenuRadioGroup';\n\nconst [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: undefined, onValueChange: () => {} }\n);\n\ntype MenuRadioGroupElement = React.ElementRef;\ninterface MenuRadioGroupProps extends MenuGroupProps {\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst MenuRadioGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return (\n \n \n \n );\n }\n);\n\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'MenuRadioItem';\n\ntype MenuRadioItemElement = React.ElementRef;\ninterface MenuRadioItemProps extends MenuItemProps {\n value: string;\n}\n\nconst MenuRadioItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return (\n \n context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_INDICATOR_NAME = 'MenuItemIndicator';\n\ntype CheckboxContextValue = { checked: CheckedState };\n\nconst [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\n\ntype MenuItemIndicatorElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface MenuItemIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuItemIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return (\n \n \n \n );\n }\n);\n\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'MenuSeparator';\n\ntype MenuSeparatorElement = React.ElementRef;\ninterface MenuSeparatorProps extends PrimitiveDivProps {}\n\nconst MenuSeparator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return (\n \n );\n }\n);\n\nMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'MenuArrow';\n\ntype MenuArrowElement = React.ElementRef;\ntype PopperArrowProps = React.ComponentPropsWithoutRef;\ninterface MenuArrowProps extends PopperArrowProps {}\n\nconst MenuArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return ;\n }\n);\n\nMenuArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'MenuSub';\n\ntype MenuSubContextValue = {\n contentId: string;\n triggerId: string;\n trigger: MenuSubTriggerElement | null;\n onTriggerChange(trigger: MenuSubTriggerElement | null): void;\n};\n\nconst [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\n\ninterface MenuSubProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst MenuSub: React.FC = (props: ScopedProps) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n\n // Prevent the parent menu from reopening with open submenus.\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nMenuSub.displayName = SUB_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'MenuSubTrigger';\n\ntype MenuSubTriggerElement = MenuItemImplElement;\ninterface MenuSubTriggerProps extends MenuItemImplProps {}\n\nconst MenuSubTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n\n return (\n \n {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n /**\n * We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)\n * and we rely heavily on `onFocusOutside` for submenus to close when switching\n * between separate submenus.\n */\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n }}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n // TODO: make sure to update this when we change positioning logic\n const side = context.content?.dataset.side as Side;\n const rightSide = side === 'right';\n const bleed = rightSide ? -5 : +5;\n const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];\n const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];\n\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom },\n ],\n side,\n });\n\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n\n // There's 100ms where the user may leave an item before the submenu was opened.\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n )}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== '';\n if (props.disabled || (isTypingAhead && event.key === ' ')) return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n // The trigger may hold focus if opened via pointer interaction\n // so we ensure content is given focus again when switching to keyboard.\n context.content?.focus();\n // prevent window from scrolling\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * MenuSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'MenuSubContent';\n\ntype MenuSubContentElement = MenuContentImplElement;\ninterface MenuSubContentProps\n extends Omit<\n MenuContentImplProps,\n keyof MenuContentImplPrivateProps | 'onCloseAutoFocus' | 'onEntryFocus' | 'side' | 'align'\n > {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst MenuSubContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return (\n \n \n \n {\n // when opening a submenu, focus content for keyboard users only\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n }}\n // The menu might close because of focusing another menu item in the parent menu. We\n // don't want it to refocus the trigger in that case so we handle trigger focus ourselves.\n onCloseAutoFocus={(event) => event.preventDefault()}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n // We prevent closing when the trigger is focused to avoid triggering a re-open animation\n // on pointer interaction.\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n })}\n onEscapeKeyDown={composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n // ensure pressing escape in submenu doesn't escape full screen mode\n event.preventDefault();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n // Submenu key events bubble through portals. We only care about keys in this menu.\n const isKeyDownInside = event.currentTarget.contains(event.target as HTMLElement);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n // We focus manually because we prevented it in `onCloseAutoFocus`\n subContext.trigger?.focus();\n // prevent window from scrolling\n event.preventDefault();\n }\n })}\n />\n \n \n \n );\n }\n);\n\nMenuSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getOpenState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nfunction isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {\n return checked === 'indeterminate';\n}\n\nfunction getCheckedState(checked: CheckedState) {\n return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in all the values,\n * the search and the current match, and returns the next match (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through options starting with that character)\n *\n * We also reorder the values by wrapping the array around the current match.\n * This is so we always look forward from the current match, and picking the first\n * match will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current match from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current match still matches.\n */\nfunction getNextMatch(values: string[], search: string, currentMatch?: string) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find((value) =>\n value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : undefined;\n}\n\ntype Point = { x: number; y: number };\ntype Polygon = Point[];\ntype Side = 'left' | 'right';\ntype GraceIntent = { area: Polygon; side: Side };\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: Polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n\n // prettier-ignore\n const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n if (intersect) inside = !inside;\n }\n\n return inside;\n}\n\nfunction isPointerInGraceArea(event: React.PointerEvent, area?: Polygon) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\n\nfunction whenMouse(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType === 'mouse' ? handler(event) : undefined);\n}\n\nconst Root = Menu;\nconst Anchor = MenuAnchor;\nconst Portal = MenuPortal;\nconst Content = MenuContent;\nconst Group = MenuGroup;\nconst Label = MenuLabel;\nconst Item = MenuItem;\nconst CheckboxItem = MenuCheckboxItem;\nconst RadioGroup = MenuRadioGroup;\nconst RadioItem = MenuRadioItem;\nconst ItemIndicator = MenuItemIndicator;\nconst Separator = MenuSeparator;\nconst Arrow = MenuArrow;\nconst Sub = MenuSub;\nconst SubTrigger = MenuSubTrigger;\nconst SubContent = MenuSubContent;\n\nexport {\n createMenuScope,\n //\n Menu,\n MenuAnchor,\n MenuPortal,\n MenuContent,\n MenuGroup,\n MenuLabel,\n MenuItem,\n MenuCheckboxItem,\n MenuRadioGroup,\n MenuRadioItem,\n MenuItemIndicator,\n MenuSeparator,\n MenuArrow,\n MenuSub,\n MenuSubTrigger,\n MenuSubContent,\n //\n Root,\n Anchor,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n MenuProps,\n MenuAnchorProps,\n MenuPortalProps,\n MenuContentProps,\n MenuGroupProps,\n MenuLabelProps,\n MenuItemProps,\n MenuCheckboxItemProps,\n MenuRadioGroupProps,\n MenuRadioItemProps,\n MenuItemIndicatorProps,\n MenuSeparatorProps,\n MenuArrowProps,\n MenuSubProps,\n MenuSubTriggerProps,\n MenuSubContentProps,\n};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'RovingFocusGroup';\n\ntype ItemData = { id: string; focusable: boolean; active: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n HTMLSpanElement,\n ItemData\n>(GROUP_NAME);\n\ntype ScopedProps

= P & { __scopeRovingFocusGroup?: Scope };\nconst [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\n\ntype Orientation = React.AriaAttributes['aria-orientation'];\ntype Direction = 'ltr' | 'rtl';\n\ninterface RovingFocusGroupOptions {\n /**\n * The orientation of the group.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n */\n orientation?: Orientation;\n /**\n * The direction of navigation between items.\n */\n dir?: Direction;\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: boolean;\n}\n\ntype RovingContextValue = RovingFocusGroupOptions & {\n currentTabStopId: string | null;\n onItemFocus(tabStopId: string): void;\n onItemShiftTab(): void;\n onFocusableItemAdd(): void;\n onFocusableItemRemove(): void;\n};\n\nconst [RovingFocusProvider, useRovingFocusContext] =\n createRovingFocusGroupContext(GROUP_NAME);\n\ntype RovingFocusGroupElement = RovingFocusGroupImplElement;\ninterface RovingFocusGroupProps extends RovingFocusGroupImplProps {}\n\nconst RovingFocusGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n return (\n \n \n \n \n \n );\n }\n);\n\nRovingFocusGroup.displayName = GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype RovingFocusGroupImplElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface RovingFocusGroupImplProps\n extends Omit,\n RovingFocusGroupOptions {\n currentTabStopId?: string | null;\n defaultCurrentTabStopId?: string;\n onCurrentTabStopIdChange?: (tabStopId: string | null) => void;\n onEntryFocus?: (event: Event) => void;\n preventScrollOnEntryFocus?: boolean;\n}\n\nconst RovingFocusGroupImpl = React.forwardRef<\n RovingFocusGroupImplElement,\n RovingFocusGroupImplProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange,\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n\n return (\n setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n )}\n onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}\n onFocusableItemAdd={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n )}\n onFocusableItemRemove={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n )}\n >\n {\n isClickFocusRef.current = true;\n })}\n onFocus={composeEventHandlers(props.onFocus, (event) => {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n ) as typeof items;\n const candidateNodes = candidateItems.map((item) => item.ref.current!);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n\n isClickFocusRef.current = false;\n })}\n onBlur={composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))}\n />\n \n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RovingFocusGroupItem';\n\ntype RovingFocusItemElement = React.ElementRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface RovingFocusItemProps extends PrimitiveSpanProps {\n tabStopId?: string;\n focusable?: boolean;\n active?: boolean;\n}\n\nconst RovingFocusGroupItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n\n return (\n \n {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault();\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n\n if (event.target !== event.currentTarget) return;\n\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n\n if (focusIntent !== undefined) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n }\n })}\n />\n \n );\n }\n);\n\nRovingFocusGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// prettier-ignore\nconst MAP_KEY_TO_FOCUS_INTENT: Record = {\n ArrowLeft: 'prev', ArrowUp: 'prev',\n ArrowRight: 'next', ArrowDown: 'next',\n PageUp: 'first', Home: 'first',\n PageDown: 'last', End: 'last',\n};\n\nfunction getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nfunction getFocusIntent(event: React.KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nfunction focusFirst(candidates: HTMLElement[], preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\nconst Root = RovingFocusGroup;\nconst Item = RovingFocusGroupItem;\n\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n};\nexport type { RovingFocusGroupProps, RovingFocusItemProps };\n","// packages/react/separator/src/Separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n"],"names":["createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","createContextScope","CollectionProviderImpl","useCollectionContext","collectionRef","current","itemMap","Map","CollectionProvider","scope","children","props","ref","React","jsx","displayName","COLLECTION_SLOT_NAME","CollectionSlot","forwardedRef","context","composedRefs","useComposedRefs","Slot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","set","delete","Provider","ItemSlot","collectionNode","orderedNodes","Array","from","querySelectorAll","concat","items","values","sort","a","b","indexOf","DIALOG_NAME","createDialogContext","createDialogScope","DialogProvider","useDialogContext","Dialog","__scopeDialog","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","contentRef","setOpen","useControllableState","prop","defaultProp","onChange","contentId","useId","titleId","descriptionId","onOpenToggle","prevOpen","TRIGGER_NAME","DialogTrigger","triggerProps","composedTriggerRef","Primitive","button","type","getState","onClick","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","DialogPortal","container","map","Presence","present","PortalPrimitive","asChild","child","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","as","allowPinchZoom","shards","div","style","pointerEvents","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","content","hideOthers","DialogContentImpl","trapFocus","disableOutsidePointerEvents","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","ctrlKey","onFocusOutside","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","onOpenAutoFocus","useFocusGuards","jsxs","Fragment","FocusScope","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","DismissableLayer","role","id","onDismiss","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","h2","DESCRIPTION_NAME","DialogDescription","descriptionProps","p","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","contentName","titleName","docsSlug","param","titleWarningContext","MESSAGE","document","getElementById","console","error","descriptionWarningContext","describedById","getAttribute","warn","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","SELECTION_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","ltr","rtl","SUB_CLOSE_KEYS","MENU_NAME","Collection","useCollection","createMenuContext","createMenuScope","createPopperScope","createRovingFocusGroupScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","__scopeMenu","dir","popperScope","setContent","isUsingKeyboardRef","handleOpenChange","useCallbackRef","direction","useDirection","handleKeyDown","addEventListener","handlePointer","capture","once","removeEventListener","PopperPrimitive","onContentChange","onClose","MenuAnchor","anchorProps","MenuPortal","MenuContentProvider","useMenuContentContext","MenuContent","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","disableOutsideScroll","checkForDefaultPrevented","onEntryFocus","onEscapeKeyDown","rovingFocusGroupScope","getItems","currentItemId","setCurrentItemId","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","handleTypeaheadSearch","search","key","filter","item","disabled","currentItem","activeElement","currentMatch","find","textValue","nextMatch","getNextMatch","startIndex","normalizedSearch","isRepeated","length","every","char","wrappedValues","Math","max","array","_","index","v","value","toLowerCase","startsWith","newItem","updateSearch","window","clearTimeout","setTimeout","isPointerMovingToSubmenu","area","isMovingTowards","side","isPointInPolygon","point","polygon","x","y","inside","i","j","xi","yi","xj","yj","clientX","clientY","onItemEnter","onItemLeave","onTriggerLeave","onPointerGraceIntentChange","intent","preventScroll","RovingFocusGroup","orientation","currentTabStopId","onCurrentTabStopIdChange","preventScrollOnEntryFocus","getOpenState","outline","onKeyDown","isKeyDownInside","closest","currentTarget","isModifierKey","altKey","metaKey","isCharacterKey","includes","candidateNodes","reverse","focusFirst","candidates","PREVIOUSLY_FOCUSED_ELEMENT","candidate","onBlur","onPointerMove","whenMouse","pointerXHasChanged","newDir","MenuGroup","groupProps","MenuLabel","labelProps","ITEM_NAME","ITEM_SELECT","MenuItem","onSelect","itemProps","contentContext","isPointerDownRef","MenuItemImpl","menuItem","itemSelectEvent","CustomEvent","bubbles","cancelable","dispatchDiscreteCustomEvent","onPointerDown","onPointerUp","click","isTypingAhead","isFocused","setIsFocused","textContent","setTextContent","trim","focusable","onPointerLeave","onFocus","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","onValueChange","MenuRadioGroup","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","span","MenuSeparator","separatorProps","MenuArrow","arrowProps","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","triggerId","onTriggerChange","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","clearOpenTimer","pointerGraceTimer","composeRefs","contentRect","getBoundingClientRect","dataset","rightSide","contentNearEdge","contentFarEdge","top","bottom","SUB_CONTENT_NAME","MenuSubContent","subContentProps","align","isCloseKey","handler","pointerType","Anchor","Group","Label","Item","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow","Sub","SubTrigger","SubContent","ENTRY_FOCUS","EVENT_OPTIONS","GROUP_NAME","createRovingFocusGroupContext","RovingFocusProvider","useRovingFocusContext","__scopeRovingFocusGroup","RovingFocusGroupImpl","currentTabStopIdProp","defaultCurrentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","node","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","tabIndex","onMouseDown","isKeyboardFocus","entryFocusEvent","dispatchEvent","candidateItems","active","Boolean","RovingFocusGroupItem","autoId","isCurrentTabStop","shiftKey","focusIntent","getFocusIntent","MAP_KEY_TO_FOCUS_INTENT","currentIndex","slice","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","DEFAULT_ORIENTATION","ORIENTATIONS","react__WEBPACK_IMPORTED_MODULE_0__","forwardRef","decorative","orientationProp","domProps","isValidOrientation","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__","WV","extendStatics","d","Object","setPrototypeOf","__proto__","prototype","hasOwnProperty","call","__extends","String","__","constructor","create","__assign","assign","t","s","n","arguments","apply","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","f","kind","descriptor","done","access","addInitializer","push","result","get","init","unshift","__runInitializers","thisArg","useValue","__propKey","__setFunctionName","prefix","description","configurable","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","adopt","then","__generator","body","g","label","sent","trys","ops","verb","Symbol","iterator","op","pop","__createBinding","o","m","k","k2","undefined","__esModule","writable","enumerable","__exportStar","__values","__read","ar","__spread","__spreadArrays","il","jl","__spreadArray","to","pack","l","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__setModuleDefault","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","state","has","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","env","async","dispose","inner","asyncDispose","stack","_SuppressedError","SuppressedError","suppressed","message","__disposeResources","fail","hasError","rec","__webpack_exports__"],"sourceRoot":""}