{"version":3,"file":"static/chunks/6756-156c7ccf0c1ffa5c.js","mappings":"+VA6BA,IAAMA,EAAM,GAAkBC,MAAA,CAAfC,EAAAA,EAAcA,CAAC,8DAExBC,SAAW,CAAAC,EAEfC,SASoBC,EAETA,EAPOA,EAKEA,EACPA,KAXb,CAAEA,kBAAAA,CAAiB,CAAEC,YAAAA,CAAW,CAAEC,eAAAA,CAAc,CAA2B,CAAAJ,EAG3E,MAAO,CACLK,iBAAkBF,EAClBG,eAAgBJ,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBI,cAAc,GAAjCJ,KAAAA,IAAAA,EAAAA,EAAqC,GACrDK,MAAOL,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBM,oBAAoB,CAC9CC,aAAcP,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBO,YAAY,CAC7CC,YAAaR,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBS,iBAAiB,CACjDC,WAAYV,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBW,gBAAgB,CAC/CC,iBAAkBZ,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAmBa,MAAM,GAAzBb,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2Bc,GAAG,CAACf,EAAAA,GAA/BC,KAAAA,IAAAA,EAAAA,EAA4C,EAAE,CAChEe,UAAWf,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBe,SAAS,GAA5Bf,KAAAA,IAAAA,EAAAA,EAAgC,GAC3CgB,QAAShB,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAmBiB,UAAU,GAA7BjB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+Bc,GAAG,CAAC,QAoB1BI,EAdNA,EACOA,EAgBVA,EAGKA,EACKA,EACGA,QA5BmC,GAAAC,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KACpDF,GAAAA,CACHI,OAAQJ,EAAOK,UAAU,CACzBC,oBAAqBN,EAAOM,mBAAmB,CAC/CT,UAAWG,EAAOH,SAAS,CAC3BU,OAAQP,EAAOQ,qBAAqB,CACpCC,SAAUT,OAAAA,CAAAA,EAAAA,EAAOU,YAAY,GAAnBV,KAAAA,IAAAA,EAAAA,EAAuB,GACjCW,gBAAiBX,OAAAA,CAAAA,EAAAA,EAAOU,YAAY,GAAnBV,KAAAA,IAAAA,EAAAA,EAAuB,GACxCY,YAAaZ,EAAOa,eAAe,CACnCC,UAAWC,OAAOf,EAAOgB,MAAM,EAC/BC,eAAgBjB,EAAOkB,YAAY,CACnCC,SAAUnB,EAAOmB,QAAQ,CACzBC,WAAYL,OAAOf,EAAOqB,kBAAkB,EAC5CC,WAAYtB,EAAOsB,UAAU,CAC7BC,oBAAqBvB,EAAOwB,kBAAkB,CAC9CC,UAAWzB,EAAOwB,kBAAkB,CACpCE,UAAW1B,EAAO0B,SAAS,CAC3BC,SAAU3B,EAAO4B,aAAa,CAC9BC,WAAY7B,EAAO6B,UAAU,CAC7BC,iBAAkB9B,EAAO+B,iBAAiB,CAC1CC,eAAc,OAAEhC,CAAAA,EAAAA,EAAOgC,cAAc,GAArBhC,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAuBiC,UAAU,CACjDC,oBAAqBlC,EAAOkC,mBAAmB,CAC/CC,eAAgBnC,EAAOmC,cAAc,CACrCC,MAAOpC,OAAAA,CAAAA,EAAAA,EAAOH,SAAS,GAAhBG,KAAAA,IAAAA,EAAAA,EAAoB,GAC3BqC,KAAMrC,EAAOa,eAAe,CAC5ByB,sBAAuBtC,EAAO+B,iBAAiB,CAC/CE,WAAYjC,OAAAA,CAAAA,EAAAA,EAAOuC,kBAAkB,GAAzBvC,KAAAA,IAAAA,GAAAA,EACZwC,gBAAiBxC,OAAAA,CAAAA,EAAAA,EAAOyC,mBAAmB,GAA1BzC,KAAAA,IAAAA,GAAAA,EACjB0C,mBAAoB1C,OAAAA,CAAAA,EAAAA,EAAO0C,kBAAkB,GAAzB1C,KAAAA,IAAAA,EAAAA,EAA6B,IACnD,GACAhB,eAAAA,CACF,CACF,EAEM2D,oBAAsB,MAC1BC,EACAC,KAEA,GAAM,CAAEC,OAAAA,CAAM,CAAW,CAAGF,EAATG,EAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAASH,EAAAA,CAApBE,WACFE,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBH,GAI/BI,EAAiD,GAAAjD,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KAClD6C,GAAAA,CACHC,QAAAA,EACAG,aANmB,MAOnBC,aANmB,UAQfC,EAAW,MAAMC,CAAAA,EAAAA,EAAAA,CAAAA,EAAST,GAAeU,GAAG,CAA0B/E,EAAK,CAC/E0E,OAAAA,CACF,GAEA,OAAOG,EAASG,IAAI,EAGhB,CACJC,QAASC,CAAgB,CACzBC,SAAUC,CAAoB,CAC9BC,MAAOC,CAAiB,CACzB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,EACF,gBACApB,qBAGWqB,oBAAsB,eA0JCC,MAzG9BA,EAjD8B,CAAEC,QAAAA,EAAU,EAAI,CAAyB,CAAAC,UAAAC,MAAA,IAAAD,KAAA,IAAAA,SAAA,IAAAA,SAAA,IAAG,CAAC,EACzErB,EAASuB,CAAAA,EAAAA,EAAAA,CAAAA,IACTC,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACT1F,EAAW2F,CAAAA,EAAAA,EAAAA,CAAAA,IACXC,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,IACnB,CAAElB,KAAMmB,CAAgB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAC7BC,EAAyBC,CAAAA,EAAAA,EAAAA,CAAAA,IACzBC,EAAcJ,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBI,WAAW,CAC3CC,EAAYP,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBQ,gBAAgB,CAC9CC,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,mBAC5C,CACJC,YAAAA,CAAW,CACXC,KAAAA,EAAO,EAAE,CACTC,YAAAA,CAAW,CACXC,WAAAA,CAAU,CACVC,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRC,SAAAA,CAAQ,CACT,CAAGpB,EAAOT,KAAK,CACV8B,EAAU,iBAAON,EAAoBA,EAAKO,KAAK,CAAC,KAAOP,EACvDQ,EAAYF,CAAO,CAACA,EAAQvB,MAAM,CAAG,EAAE,CACvC0B,EAAgBH,EAAQI,KAAK,CAAC,EAAGJ,EAAQvB,MAAM,CAAG,GAAG4B,IAAI,CAAC,KAE1DC,EAAO3B,EAAO4B,MAAM,CACpBC,EAAYC,CAAAA,EAAAA,EAAAA,CAAAA,EAASH,GACrBrD,EAAsC,CAC1CE,OAAAA,EACAyC,WACE,iBAAOH,EACHrE,OAAOqE,GACP,iBAAOG,EACPxE,OAAOwE,GACP,EACNP,UAAAA,EACA9F,eACE,iBAAOoG,EACHvE,OAAOuE,GACPT,EACA,GACAwB,KAAAA,EACNZ,SAAUA,EAAWa,OAAOb,GAAYY,KAAAA,EACxCX,SAAUA,EAAWY,OAAOZ,GAAYW,KAAAA,EACxCb,MAAOe,MAAMC,OAAO,CAAChB,GAASA,EAAMQ,IAAI,CAAC,KAAOR,EAChDH,KAAMS,GAAiBD,EAAY,GAAoBA,MAAAA,CAAjBC,EAAc,KAAarH,MAAA,CAAVoH,GAAcQ,KAAAA,EACrEI,QAAS1B,EACTxE,OAAQ4F,EAAUO,GAAG,CACrBC,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,IACT/H,SAAUA,CACZ,EAEIgI,8BAAgC,IAAMC,QAAQC,OAAO,GACrDC,EAAmD,GACnDC,kCAAoC,IAAMH,QAAQC,OAAO,GACzDG,EAAuD,GACvDC,EAAyB,OACzBC,2BAA6B,IAAMN,QAAQC,OAAO,GAQhDM,EAAsBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAiB,CAC3CC,SAAU,IAAIzD,EAAkB0D,UAAU,CAAC5E,GAAU,WAAW,CAChE6E,QARsB,OAAC,CAAEC,UAAAA,EAAY,CAAC,CAAE,CAAA9I,SACxC+D,oBAAoB,GAAA1C,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KACf0C,GAAAA,CACH2C,WAAYmC,IACb,EAKDC,iBAAkB,CAACC,EAAUC,SACND,EAAAA,EAArB,IAAME,EAAeF,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAU9I,iBAAiB,GAA3B8I,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA6BxI,oBAAoB,GAAjDwI,KAAAA,IAAAA,EAAAA,EAAqD,EACpEtC,EAAcvE,OAAO6B,EAAQ1D,cAAc,GAAK,GAChD6I,EAAoBF,EAASzD,MAAM,CAGzC,GAAI2D,EAFeC,KAAKC,IAAI,CAACH,EAAexC,GAG1C,OAAOyC,EAAoB,CAG/B,EACA7D,QAASA,GAAWgB,EACpBgD,UAAW,MAAO1E,IAChB,IAAMoE,EAAWpE,EAAK2E,KAAK,CAAC3E,EAAK2E,KAAK,CAAC/D,MAAM,CAAG,EAAE,CAC9CwD,EAAS7I,WAAW,EACtB,MAAMuF,EAAO8D,OAAO,CAACR,EAAS7I,WAAW,CAE7C,CACF,GACMsJ,EAAqB3E,EAAiB,GAAAzD,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KACvC0C,GAAAA,CACHsB,QAASA,GAAW,CAACgB,EACrBgD,UAAW,MAAO1E,IACZA,EAAKzE,WAAW,EAClB,MAAMuF,EAAO8D,OAAO,CAAC5E,EAAKzE,WAAW,CAEzC,KAEF,GAAImG,EAAmB,CACrB,GAAM,CACJ1B,KAAAA,CAAI,CACJ8E,cAAAA,CAAa,CACbC,YAAAA,CAAW,CACXC,kBAAAA,CAAiB,CACjBC,gBAAAA,CAAe,CACfC,OAAAA,CAAM,CACNC,QAAAA,CAAO,CACR,CAAGtB,EACJR,8BAAgC,IAAMyB,IAAgBM,IAAI,CAAC,KAAO,GAClE5B,EAA8BuB,EAC9BtB,kCAAoC,IAAMuB,IAAoBI,IAAI,CAAC,KAAO,GAC1E1B,EAAkCuB,EAClCtB,EAAyBuB,EACzBtB,2BAA6B,IAAMuB,IAAUC,IAAI,CAAC,KAAO,GACzD3E,EAAoBT,CACtB,CACA,IAAMqF,EAAaC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,KACzB,GAAK7E,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAG7B,OAAOlE,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAACY,MAAM,CACpC,CAACC,EAA8BC,KAC7B,GAAIA,EAAKnK,iBAAiB,CAAE,KAOhBkK,EACAC,EADAD,EACAC,EAPV,MAAO,GAAAhJ,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KACF8I,GAAAA,CACHlK,kBAAmB,GAAAmB,EAAAC,CAAA,KAAAC,EAAAD,CAAA,KACd8I,EAAIlK,iBAAiB,CACrBmK,EAAKnK,iBAAiB,GACzBiB,WAAY,IACNiJ,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAIlK,iBAAiB,GAArBkK,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAuBjJ,UAAU,GAAjCiJ,KAAAA,IAAAA,EAAAA,EAAqC,EAAE,IACvCC,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAKnK,iBAAiB,GAAtBmK,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwBlJ,UAAU,GAAlCkJ,KAAAA,IAAAA,EAAAA,EAAsC,EAAE,CAC7C,GAEHlK,YAAakK,EAAKlK,WAAW,CAC7BmK,iBAAkBD,EAAKC,gBAAgB,CACvClK,eAAgBiK,EAAKjK,cAAc,EAEvC,CACA,OAAOgK,CACT,EACA,CAAElK,kBAAmB,CAAEiB,WAAY,EAAE,CAAG,EAE5C,EAAG,CAACkE,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAAC,EACvBgB,EAAajE,EACfmC,EAAoB8B,UAAU,CAC9Bd,EAAmBc,UAAU,CAE3BC,EAAYlE,EACdmC,EAAoB+B,SAAS,CAC7Bf,EAAmBe,SAAS,CAC1BC,EAAanE,EAAoB2D,EAAaR,EAAmB7E,IAAI,CACrE8F,EAAe3K,SACnB0K,MAAAA,EAAAA,EAAe,CAAEvK,kBAAmB,CAAEiB,WAAY,EAAE,CAAG,EACvDlB,MAAAA,EAAAA,EAAa,GAAuB0K,CAAAA,EAAAA,EAAAA,CAAAA,EAAY/D,EAAO,cAGzD,MAAO,CACLhC,KAAM8F,EACN/D,WAAYL,EAAoBjB,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAAC/D,MAAM,GAA/BH,KAAAA,IAAAA,EAAAA,EAAmC,EAAIrB,EAAQ2C,UAAU,CACzF+C,cAAezB,8BACf0B,YAAavB,EACbwB,kBAAmBvB,kCACnBwB,gBAAiBvB,EACjBiC,WAAAA,EACAC,UAAAA,EACAV,OAAQxD,EAAoBiC,EAAyBkB,EAAmBK,MAAM,CAC9EC,QAASzD,EAAoBkC,2BAA6BiB,EAAmBM,OAAO,CACpFa,YAAatE,EACTmC,EAAoBmC,WAAW,CAC/BnB,EAAmBmB,WAAW,CAClCC,UAAWvE,EAAoBmC,EAAoBoC,SAAS,CAAGpB,EAAmBoB,SAAS,CAC3FC,QAASxE,EAAoBmC,EAAoBqC,OAAO,CAAGrB,EAAmBqB,OAAO,CAEzF,saCrPA,IAAMC,EAAqB,GAAqBlL,MAAA,CAAlBmL,EAAAA,EAAiBA,CAAC,gEAsB1CC,uBAAyB,MAAOjH,EAAkBC,SAoD3CsD,EAOHA,EAGGA,EACW2D,EA9DtB,GAAM,CACJC,UAAAA,CAAS,CACTjH,OAAAA,CAAM,CACNkH,aAAAA,CAAY,CACZhF,UAAAA,CAAS,CACTiF,cAAAA,CAAa,CACbC,SAAAA,CAAQ,CACRvD,QAAAA,CAAO,CACPV,KAAAA,CAAI,CACJX,YAAAA,CAAW,CACX6E,oBAAAA,CAAmB,CACnBC,kBAAAA,CAAiB,CACjBC,mCAAAA,CAAkC,CAClCC,UAAAA,CAAS,CACTC,IAAAA,CAAG,CACH9D,QAAAA,CAAO,CACPlB,WAAAA,CAAU,CACX,CAAG3C,EAEJ,GAAI,CAACqH,EACH,MAAM,MAAU,6DAGlB,GAAIC,IAAaM,EAAAA,CAASA,CAACC,YAAY,EAAI,CAACF,EAC1C,MAAM,MAAU,6CAGlB,IAAMvH,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBH,GAAU,SAGzCqD,EAAYC,CAAAA,EAAAA,EAAAA,CAAAA,EAASH,MAAAA,EAAAA,EAAQ,IAC7ByE,EAAmBzE,MAAAA,EAAAA,KAAAA,EAAAA,EAAM0E,UAAU,CAAC,GAAwBlM,MAAA,CAArBmM,EAAAA,UAAUA,CAACC,SAAS,GAE3D3H,EAAmD,GAAA4H,EAAA5K,CAAA,KAAA6K,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,GACvD8C,QAAAA,EACAG,aAPmB,MAQnBC,aAPmB,QAQnBuD,QAAAA,EACAsD,cAAAA,EACA1E,WAAAA,EACArG,eAAgBoG,EACZvE,OAAOuE,GACPa,EAAUtC,KAAK,CAACyB,WAAW,CAC3BvE,OAAOoF,EAAUtC,KAAK,CAACyB,WAAW,EAClCe,KAAAA,EACJhB,KAAMc,EAAUtC,KAAK,CAACwB,IAAI,CAC1BL,UAAAA,EACAyB,QAAAA,GACI8D,GAAO,CACTS,SAAUT,EACVU,cAAe,GACfzF,MAAOW,OAAAA,CAAAA,EAAAA,EAAUtC,KAAK,CAAC2B,KAAK,GAArBW,KAAAA,IAAAA,EAAAA,EAAyBE,KAAAA,CAClC,IACAgE,mCAAoCK,IAChC,CAACH,GAAO,GAAAO,EAAA5K,CAAA,GACV8J,aAAAA,EACAG,oBAAAA,EACAe,gBAAiB,EAAWrH,KAAK,CAAC9E,WAAW,CAEzCsH,KAAAA,EADAF,OAAAA,CAAAA,EAAAA,EAAUtC,KAAK,CAACsH,eAAe,GAA/BhF,KAAAA,IAAAA,EAAAA,EAAmCA,EAAUtC,KAAK,CAACuH,UAAU,CAEjEhB,kBAAmBA,KAAAA,EAA2B/D,KAAAA,EAAY+D,EAC1D5E,MAAOW,OAAAA,CAAAA,EAAAA,EAAUtC,KAAK,CAAC2B,KAAK,GAArBW,KAAAA,IAAAA,EAAAA,EAAyBE,KAAAA,EAChCgF,iBAAkBvB,EAAAA,CAAAA,CAAQ3D,EAAUtC,KAAK,CAACwH,gBAAgB,CAC1D5F,SAAUU,EAAUtC,KAAK,CAAC4B,QAAQ,CAClCC,SAAUS,EAAUtC,KAAK,CAAC6B,QAAQ,EAC9B,CAAE,CAAC2E,GAAsC,CAAEA,mCAAoC,EAAK,GACrF,CAAC,CAAClE,EAAUtC,KAAK,CAACwG,kCAAkC,EAAI,CACvDA,mCAAoC,EACtC,IAIAhH,EAAW,MAAMC,CAAAA,EAAAA,EAAAA,CAAAA,EAAST,GAAeU,GAAG,CAChDoG,EACA,GAAAoB,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KACM8C,QAAAA,GAAqB,CACvBsI,QAAS,GAAAR,EAAA5K,CAAA,GACP6J,UAAAA,GACI,CAAC,CAACO,GAAa,CAAEA,UAAAA,CAAU,EAEnC,IACApH,OAAAA,KAGJ,OAAOqI,4BAA4BlI,EAASG,IAAI,CAClD,EAEM+H,4BAA8B,OAAC,CACnCC,oBAAAA,CAAmB,CACnBzM,YAAAA,CAAW,CACXC,eAAAA,CAAc,CACY,CAAAJ,EAC1B,MAAO,CACL4M,oBAAAA,EACAvM,iBAAkBF,MAAAA,EAAAA,EAAe,GACjCC,eAAAA,CACF,CACF,EAEa,CACXyE,QAASgI,CAA0B,CACnC9H,SAAU+H,CAA+B,CACzC7H,MAAO8H,CAAkB,CAC1B,CAAG5H,CAAAA,EAAAA,EAAAA,CAAAA,EACF,uBACA,MAAOnB,EAASC,IAAkBgH,uBAAuBjH,EAASC,IAGvD+I,uBAAyB,eA8DhC3H,2DAvDF,CAAC,MAuBa4H,EASHC,EAAAA,EAWFA,EAXEA,EAWFA,EAqJuB7H,EAvMG,CACrCC,QAAAA,EAAU,EAAI,CACd6H,aAAAA,EAAe,EAAK,CAKrB,CAAAC,EAJIjJ,EAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,CAFHmB,UACA6H,iBAMA,IAAMzH,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACTuH,EAAeG,CAAAA,EAAAA,EAAAA,EAAAA,IACfxH,EAAmByH,CAAAA,EAAAA,EAAAA,CAAAA,EAAoBJ,EAAatI,IAAI,EACxDV,EAASuB,CAAAA,EAAAA,EAAAA,CAAAA,IACT8H,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IACX,CAAElN,eAAAA,CAAc,CAAE,CAAGmN,CAAAA,EAAAA,EAAAA,CAAAA,IACrBC,EAAmBhI,iCAAAA,EAAOiI,KAAK,CAC/B,CAAE/I,KAAMqI,CAAU,CAAEpC,UAAW+C,CAAmB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,CAClFvI,QAAS,EACX,GACMgB,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,mBAG5CuH,EAAiDpI,EAAO4B,MAAM,CAEpE,GAAIwG,MAAAA,EACF,MAAM,MAAW,+BAGnB,GAAM,CAAElJ,KAAMmJ,CAAY,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACzBzG,EAAYC,CAAAA,EAAAA,EAAAA,CAAAA,EAASsG,GAErBG,EAAQ,CAAEhB,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAYiB,sCAAsC,GAAlDjB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoDkB,qBAAqB,EACrFlB,EAAWiB,sCAAsC,CAACC,qBAAqB,CACvE1G,KAAAA,EAEE2D,EAAe2C,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc3C,YAAY,GAAI3D,KAAAA,CACnD,QAAOF,EAAUtC,KAAK,CAACmJ,QAAQ,CAC/B,IAAMC,EAAgBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAa/G,GAE7BvD,EAAU,GAAAkI,EAAA5K,CAAA,GACdoK,UAAWwB,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAatI,IAAI,GAAjBsI,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAmBqB,YAAY,GAA/BrB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiCxB,SAAS,GAA1CwB,KAAAA,IAAAA,EAAAA,EAA8C,GACzD/B,UAAWoC,EAASiB,KAAK,CAACrD,SAAS,CACnCjH,OAAAA,EACAkC,UAAWP,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBQ,gBAAgB,CAC7CiF,SAAUyC,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAczC,QAAQ,GAAI7D,KAAAA,EACpC4D,cAAe0C,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc1C,aAAa,GAAI9D,EAAUO,GAAG,CAC3DsD,aAAAA,EACAO,IAAKsC,EACL1C,oBAAqBwC,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcxC,mBAAmB,GAAI9D,KAAAA,EAC1D+D,kBAAmBuC,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcvC,iBAAiB,GAAI/D,KAAAA,EACtDf,YAAapG,EAAiBoH,OAAOpH,GAAkBmH,KAAAA,EACvDI,QAASqF,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAatI,IAAI,GAAjBsI,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmB/G,WAAW,GAA9B+G,KAAAA,IAAAA,EAAAA,EAAkCzF,KAAAA,EAC3Cd,WACE,iBAAOjB,EAAOT,KAAK,CAACuB,WAAW,CAC3BrE,OAAOuD,EAAOT,KAAK,CAACuB,WAAW,EAC/B,iBAAOd,EAAOT,KAAK,CAAC0B,UAAU,CAC9BxE,OAAOuD,EAAOT,KAAK,CAAC0B,UAAU,EAC9B,EACNU,KAAM3B,2BAAAA,EAAOiI,KAAK,CAAgCvC,EAAeiD,GAAiB,GAClFtG,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,KACL,CAAC,CAACmF,GAAgB,CAAE1B,mCAAoC0B,CAAa,EACtEhJ,GAGDsK,iCAAmC,IAAMvG,QAAQC,OAAO,GACxDuG,EAAsD,GACtDC,qCAAuC,IAAMzG,QAAQC,OAAO,GAC5DyG,EAAyD,GACzDC,EAAqD,GACrDC,EAAoD,GACpDC,GAA4B,OAC5BC,2BAA6B,IAAM9G,QAAQC,OAAO,GAChDM,GAAsBC,CAAAA,EAAAA,EAAAA,CAAAA,EAAiB,CAC3CC,SAAU,IAAIoE,EAAmBnE,UAAU,CAAC5E,GAAU,WAAW,CACjE6E,QAAS,OAAC,CAAEC,UAAAA,EAAY,CAAC,CAA0B,CAAA9I,EACjD,OAAOiL,uBAAuB,GAAAkB,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KACzB0C,GAAAA,CACH2C,WAAYmC,EACZpC,YAAa,OAEjB,EACAqC,iBAAkB,CAACC,EAAUC,SACND,EAAAA,EAArB,IAAME,EAAeF,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAU4D,mBAAmB,GAA7B5D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BxI,oBAAoB,GAAnDwI,KAAAA,IAAAA,EAAAA,EAAuD,EACtEtC,EAAcvE,OAAO6B,EAAQ0C,WAAW,GAAK,GAC7CyC,EAAoBF,EAASzD,MAAM,CAGzC,GAAI2D,EAFeC,KAAKC,IAAI,CAACH,EAAexC,GAG1C,OAAOyC,EAAoB,CAG/B,EACA7D,QAASoI,EACLE,GAAuB,CAAC,CAACK,EACzB3I,GACAgB,GACAyH,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAczC,QAAQ,IAAK,gBAC1B5F,CAAAA,qBAAAA,EAAOiI,KAAK,EAA2BjI,2BAAAA,EAAOiI,KAAK,EACxDsB,UAAW,KACX3F,UAAW,MAAO1E,IAChB,IAAMoE,EAAWpE,EAAK2E,KAAK,CAAC3E,EAAK2E,KAAK,CAAC/D,MAAM,CAAG,EAAE,CAC9CwD,EAAS3I,gBAAgB,EAC3B,MAAMqF,EAAO8D,OAAO,CAACR,EAAS3I,gBAAgB,CAElD,EACA6O,QAAS,MAAOC,IACdC,EAAAA,CAAMA,CAACC,KAAK,CAAC,CACXC,QAAS,uCACTC,KAAM,CACJF,MAAOG,CAAAA,EAAAA,EAAAA,EAAAA,EAAaL,GAAOA,EAAI1K,QAAQ,CAAG0K,CAC5C,CACF,GAEA,GAAI,CACF,MAAMzJ,EAAO8D,OAAO,CAAC,aACvB,CAAE,MAAO6F,EAAO,CACd,MAAM,MAAW,gDACnB,CACF,CACF,GACM5F,GAAqBoD,EAA2B,GAAAV,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KAAA6K,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KACjD0C,GAAAA,CACHsB,QAASoI,EACLE,GAAuB,CAAC,CAACK,EACzB3I,GACA,CAACgB,GACDyH,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAczC,QAAQ,IAAK,gBAC1B5F,CAAAA,qBAAAA,EAAOiI,KAAK,EAA2BjI,2BAAAA,EAAOiI,KAAK,EACxDsB,UAAW,KACXtI,WAAYY,EAAUtC,KAAK,CAAC0B,UAAU,CAAGxE,OAAOoF,EAAUtC,KAAK,CAAC0B,UAAU,EAAI,EAC9E2C,UAAW,MAAO1E,IACZA,EAAKvE,gBAAgB,EACvB,MAAMqF,EAAO8D,OAAO,CAAC5E,EAAKvE,gBAAgB,CAE9C,IACI,CAAC,CAAC8M,GAAgB,CAAE1B,mCAAoC0B,CAAa,EACtEhJ,GAAAA,CACH+K,QAAS,MAAOG,IACd,GAAI,CAEFI,QAAQC,GAAG,CAAE,6DAA6DL,GAC1E,MAAM3J,EAAO8D,OAAO,CAAC,cACrB,MACF,CAAE,MAAO6F,EAAO,CACd,MAAM,MAAW,gDACnB,CACF,KAEF,GAAI/I,EAAmB,CACrB,GAAM,CACJ1B,KAAAA,CAAI,CACJ8E,cAAAA,CAAa,CACbC,YAAAA,CAAW,CACXC,kBAAAA,CAAiB,CACjBC,gBAAAA,CAAe,CACfU,WAAAA,CAAU,CACVC,UAAAA,CAAS,CACTV,OAAAA,CAAM,CACNC,QAAAA,CAAO,CACR,CAAGtB,GACJgG,iCAAmC,IAAM/E,IAAgBM,IAAI,CAAC,KAAO,GACrE0E,EAAiC/E,EACjCgF,qCAAuC,IAAM/E,IAAoBI,IAAI,CAAC,KAAO,GAC7E4E,EAAoC/E,EACpCiF,EAA+BtE,EAC/BuE,GAA4BjF,EAC5B+E,EAAgCtE,EAChCyE,2BAA6B,IAAMjF,IAAUC,IAAI,CAAC,KAAO,GACzD3E,EAAoBT,CACtB,CAEA,IAAMqF,GAAaC,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,SAElB7E,EADP,GAAKA,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAC7B,OAAOlE,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAmBkE,KAAK,GAAxBlE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0B8E,MAAM,CACrC,CAACC,EAA2BC,KAC1B,GAAM,CAAEC,iBAAAA,CAAgB,CAAEnK,YAAAA,CAAW,CAAEC,eAAAA,CAAc,CAAE,CAAGiK,EAC1D,GAAIA,MAAAA,EAAAA,KAAAA,EAAAA,EAAMuC,mBAAmB,CAAE,KAOnBxC,EACAC,EADAD,EACAC,EAPV,MAAO,GAAA8B,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KACF8I,GAAAA,CACHwC,oBAAqB,GAAAT,EAAA7K,CAAA,KAAA4K,EAAA5K,CAAA,KAChB8I,MAAAA,EAAAA,KAAAA,EAAAA,EAAKwC,mBAAmB,CACxBvC,MAAAA,EAAAA,KAAAA,EAAAA,EAAMuC,mBAAmB,GAC5BzL,WAAY,IACNiJ,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAKwC,mBAAmB,GAAxBxC,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0BjJ,UAAU,GAApCiJ,KAAAA,IAAAA,EAAAA,EAAwC,EAAE,IAC1CC,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAMuC,mBAAmB,GAAzBvC,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BlJ,UAAU,GAArCkJ,KAAAA,IAAAA,EAAAA,EAAyC,EAAE,CAChD,GAEHC,iBAAAA,EACAnK,YAAAA,EACAC,eAAAA,GAEJ,CACA,OAAOgK,CACT,EACA,CAAEwC,oBAAqB,CAAEzL,WAAY,EAAE,CAAG,EAE9C,EAAG,CAACkE,EAAkB,EAEtB,MAAO,CACLT,KAAM0B,EAAoB2D,GAAaR,GAAmB7E,IAAI,CAC9D+B,WAAYL,EAAoBjB,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAmBkE,KAAK,CAAC/D,MAAM,GAA/BH,KAAAA,IAAAA,EAAAA,EAAmC,EAAIrB,EAAQ2C,UAAU,CACzF+C,cAAe+E,iCACf9E,YAAa+E,EACb9E,kBAAmB+E,qCACnB9E,gBAAiB+E,EACjBrE,WAAYjE,EAAoBuI,EAAgCpF,GAAmBc,UAAU,CAC7FC,UAAWlE,EAAoBwI,EAA+BrF,GAAmBe,SAAS,CAC1FV,OAAQxD,EAAoByI,GAA4BtF,GAAmBK,MAAM,CACjFC,QAASzD,EAAoB0I,2BAA6BvF,GAAmBM,OAAO,CAExF,EAyDa4F,sBAAwB,SAiBtBzC,EAAAA,EAUFA,EAVEA,EAIDa,EACKA,EAKNb,EA1BX,IAAMxH,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACTuH,EAAeG,CAAAA,EAAAA,EAAAA,EAAAA,IACfnJ,EAASuB,CAAAA,EAAAA,EAAAA,CAAAA,IACT8H,EAAWC,CAAAA,EAAAA,EAAAA,EAAAA,IAIXM,EAAiDpI,EAAO4B,MAAM,CAEpE,GAAIwG,MAAAA,EACF,MAAM,MAAW,+BAGnB,GAAM,CAAElJ,KAAMmJ,CAAY,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IAE/B,OAAOnB,EAA2B,CAChCnB,UAAWwB,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAatI,IAAI,GAAjBsI,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAmBqB,YAAY,GAA/BrB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiCxB,SAAS,GAA1CwB,KAAAA,IAAAA,EAAAA,EAA8C,GACzD/B,UAAWoC,EAASiB,KAAK,CAACrD,SAAS,CACnCjH,OAAAA,EACAkC,UAAWqB,KAAAA,EACX6D,SAAUyC,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAczC,QAAQ,GAAtByC,KAAAA,IAAAA,EAAAA,EAA0B,eACpC1C,cAAe0C,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc1C,aAAa,GAA3B0C,KAAAA,IAAAA,EAAAA,EAA+BvG,CAAAA,EAAAA,EAAAA,CAAAA,EAASsG,GAAQhG,GAAG,CAClEsD,aAAc2C,MAAAA,EAAAA,KAAAA,EAAAA,EAAc3C,YAAY,CACxCG,oBAAqB9D,KAAAA,EACrB+D,kBAAmB/D,KAAAA,EACnBf,YAAa,IACbmB,QAASqF,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAatI,IAAI,GAAjBsI,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmB/G,WAAW,GAA9B+G,KAAAA,IAAAA,EAAAA,EAAkCzF,KAAAA,EAC3CJ,KAAMyG,EACN/F,QAASC,CAAAA,EAAAA,EAAAA,CAAAA,IACTiH,UAAW,KACX3F,UAAW,MAAO1E,IACZA,EAAKvE,gBAAgB,EACvB,MAAMqF,EAAO8D,OAAO,CAAC5E,EAAKvE,gBAAgB,CAE9C,CACF,EACF,wKC3cO,IAAMuP,mBAAqB,QACZhL,EAApB,IAAMiL,EAAcjL,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAMkL,aAAa,GAAnBlL,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAqBmL,IAAI,CAAC,GAAUC,EAAKC,YAAY,EACzE,OAAOJ,MAAAA,EAAAA,KAAAA,EAAAA,EAAaI,YAAY,gBCQ3B,IAAMC,eAAiB,QAWxB5P,EAXyB,CAC7BwN,OAAAA,CAAM,CACN7H,uBAAAA,CAAsB,CACtBkK,WAAAA,CAAU,CACVC,aAAAA,CAAY,CACZC,8BAAAA,CAA6B,CAC7B/J,kBAAAA,CAAiB,CACI,CAAAtG,EACfuH,EAAYC,CAAAA,EAAAA,EAAAA,CAAAA,EAASsG,MAAAA,EAAAA,EAAU,IAKrC,GAAIvG,EAAUtC,KAAK,CAACyB,WAAW,EAAI4J,CAJZ,GAAI,GAAI,GAAG,CAIeC,QAAQ,CAACpO,OAAOoF,EAAUtC,KAAK,CAACyB,WAAW,GAC1FpG,EAAiB6B,OAAOoF,EAAUtC,KAAK,CAACyB,WAAW,OAC9C,GAAIT,GAA0BkK,QAAAA,EACnC7P,EAAiB,QACZ,GAAI+P,EAA+B,KACfD,EAAzB,IAAMI,EAAmBJ,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcK,gBAAgB,GAA9BL,KAAAA,IAAAA,EAAAA,EAAkC3I,KAAAA,EAC3DnH,EAAiBkQ,KAAAA,EAA0B/I,KAAAA,EAAY+I,CACzD,CAMA,OAJIlK,GAAqBhG,KAAmBmH,IAAnBnH,GACvBA,CAAAA,EAAiB,IAGZA,CACT,iBC5BO,IAAMmN,sBAAwB,SAejBiD,EACEA,EAmBKN,EAlCzB,IAAM1K,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACTwK,EAAaQ,CAAAA,EAAAA,EAAAA,CAAAA,IACb1K,EAAyBC,CAAAA,EAAAA,EAAAA,CAAAA,IACzBI,EAAoBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,mBAC5C,CAAE3B,KAAMqI,CAAU,CAAEoD,8BAAAA,CAA6B,CAAE,CAAGxC,CAAAA,EAAAA,EAAAA,EAAAA,EAAuB,CACjFvI,QAAS,EACX,GACM8K,EAAelG,CAAAA,EAAAA,EAAAA,OAAAA,EAAQ,IAAM0F,mBAAmB3C,GAAa,CAACA,EAAW,EAE9DO,CAAAA,EAAAA,EAAAA,EAAAA,IAEjB,GAAM,CAAE5I,KAAMgM,CAAS,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,IAEtBH,EAAcI,CAAAA,EAAAA,EAAAA,CAAAA,EAAuBF,MAAAA,EAAAA,KAAAA,EAAAA,EAAWG,aAAa,EAC7DC,EAAYN,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAaO,YAAY,GAAzBP,KAAAA,IAAAA,EAAAA,EAA6B,EACzChQ,EAAcgQ,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAahQ,WAAW,GAAxBgQ,KAAAA,IAAAA,EAAAA,EAA4B,EAC1CQ,EAAad,MAAAA,EAAAA,KAAAA,EAAAA,EAAce,yBAAyB,CAEpDrD,EAAiDpI,EAAO4B,MAAM,CAE9DhH,EAAiB4P,eAAe,CACpCpC,OAAAA,EACA7H,uBAAAA,EACAkK,WAAAA,EACAC,aAAAA,EACAC,8BAAAA,EACA/J,kBAAAA,CACF,GAEA,MAAO,CACLhG,eAAAA,EACA0Q,UAAAA,EACAtQ,YAAAA,EACAwQ,WAAAA,EACAE,sBAAuBhB,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAciB,sBAAsB,GAApCjB,KAAAA,IAAAA,GAAAA,CACzB,CACF,gKCjDO,IAAMkB,EAA0B,CACrCC,QAAS,UACTC,WAAY,cACZC,kBAAmB,wBACnBC,kBAAmB,wBACnBC,aAAc,eAChB,iBCCO,IAAMC,8BAAgC,QA8BnC7D,EAKE8D,EAGFA,MA3BJC,EACA1G,EACAtD,EAbwC,CAC5CpC,OAAAA,CAAM,CACNqM,6BAAAA,CAA4B,CAC5BhE,aAAAA,CAAY,CACZ8D,oBAAAA,CAAmB,CAMpB,CAAA7R,EAIKqQ,EAAgC,GACpC,OAAQ3K,EAAOsM,QAAQ,EACrB,IAAK,+BACHF,EAAyBR,EAAwBE,UAAU,CAC3DpG,EAAe,UAAyCvL,MAAA,CAA/B6F,EAAOT,KAAK,CAACgN,OAAO,EAC7CnK,EAAM,UAAyCjI,MAAA,CAA/B6F,EAAOT,KAAK,CAACgN,OAAO,EACpC5B,EAAgC,GAChC,KACF,KAAK,sBACHyB,EAAyBR,EAAwBG,iBAAiB,CAClE3J,EAAMoK,CAAAA,EAAAA,EAAAA,CAAAA,EAAsBxM,EAAO4B,MAAM,EACzC+I,EAAgC,GAChC,KACF,KAAK,mBACHjF,EAAe2C,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcxC,mBAAmB,EAC5C,GAA+BwC,MAAAA,CAA5BA,EAAa3C,YAAY,EAAoCvL,MAAA,CAAjCkO,EAAaxC,mBAAmB,EAC/DwC,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAc3C,YAAY,GAA1B2C,KAAAA,IAAAA,EAAAA,EAA8B,GAClC+D,EAAyBR,EAAwBC,OAAO,CACxDlB,EAAgCtC,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAczC,QAAQ,IAAK,eAC3D,KACF,KAAK,gBACHxD,EAAM+J,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAqBM,SAAS,GAA9BN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgCzG,YAAY,CAClD0G,EAAyBR,EAAwBK,YAAY,CAC7DtB,EACE,CAAC,CAACwB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAqBM,SAAS,GAA9BN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgCzG,YAAY,GAAI2G,CAExD,CAEA,MAAO,CAAED,uBAAAA,EAAwB1G,aAAAA,EAActD,IAAAA,EAAKuI,8BAAAA,CAA8B,CACpF,4BC9BA,IAAM+B,sCAAwC,MAAApS,OAAO,CACnD2I,SAAAA,CAAQ,CAC4D,CAAA3I,EAC9D,GAAK,CAAEoL,aAAAA,CAAY,CAAEiH,SAAAA,CAAQ,CAAEP,uBAAAA,CAAsB,CAAEhK,IAAAA,CAAG,CAAE,CAAC,CAAGa,EAChE,CAAE/D,KAAAA,CAAI,CAAE,CAAG,MAAM0N,CAAAA,EAAAA,EAAAA,CAAAA,IAAoB3N,GAAG,CANnC,wBAMyE,CAClFL,OAAQ,CACN+N,SAAUA,MAAAA,EAAAA,KAAAA,EAAAA,EAAU5L,IAAI,GAAGW,IAAI,CAAC,KAChCgE,aAAAA,EACA0G,uBAAAA,EACAhK,IAAAA,CACF,CACF,GACA,OAAOlD,CACT,EAEM2N,2BAA6B,OAAC,CAClCT,uBAAAA,CAAsB,CACtBO,SAAAA,CAAQ,CACRjH,aAAAA,CAAY,CACZtD,IAAAA,CAAG,CAMJ,CAAA9H,QAAK,CAAC,MAAO,MAAO,CAAE8R,uBAAAA,EAAwBO,SAAAA,EAAUjH,aAAAA,EAActD,IAAAA,CAAI,EAAE,EAEhE+F,uBAAyB,QAyClC2E,EAAAA,EAAAA,EAKwBC,EA5BZJ,EAuBZG,EAKwBC,EAKZJ,KAnDuB,CAAE/M,QAAAA,EAAU,EAAI,CAAyB,CAAAtF,EACxE0F,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACT,CAAEf,KAAMyN,CAAQ,CAAExH,UAAAA,CAAS,CAAE,CAAG6H,CAAAA,EAAAA,EAAAA,CAAAA,IAChCX,EAA+BxL,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,+BACvD,CAAE3B,KAAMmJ,CAAY,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,IACzB,CAAEpJ,KAAMiN,CAAmB,CAAE,CAAGc,CAAAA,EAAAA,EAAAA,EAAAA,IAEhC,CAAEb,uBAAAA,CAAsB,CAAE1G,aAAAA,CAAY,CAAEtD,IAAAA,CAAG,CAAEuI,8BAAAA,CAA6B,CAAE,CAChFuB,8BAA8B,CAC5BlM,OAAAA,EACAqM,6BAAAA,EACAhE,aAAAA,EACA8D,oBAAAA,CACF,GAEIW,EAAgBI,CAAAA,EAAAA,EAAAA,CAAAA,EAAS,CAC7BjK,SAAU4J,2BAA2B,CACnCT,uBAAAA,EACAO,SAAUA,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAU5L,IAAI,KAAd4L,KAAAA,IAAAA,EAAAA,EAAoB,EAAE,CAChCjH,aAAAA,EACAtD,IAAAA,CACF,GACAmH,UAAW,KACXpG,QAASuJ,sCACTlD,QAAS,MAAOG,IACd,GAAI,CAEFI,QAAQC,GAAG,CAAE,oEAAoEL,GACjF,MAAM3J,EAAO8D,OAAO,CAAC,cACrB,MACF,CAAE,MAAO6F,EAAO,CACd,MAAM,MAAW,gDACnB,CACF,EACA/J,QAASA,GAAWuF,GAAawF,GAAkC,EAAC,CAACjF,GAAgB,CAAC,CAACtD,CAAAA,CACzF,GAEM+K,EAAcnN,wBAAAA,EAAOsM,QAAQ,CAE7B,CAAEpN,KAAM6N,CAAS,CAAE,CAAGrN,CAAAA,EAAAA,EAAAA,EAAAA,EAAoB,CAAEE,QAASuN,CAAY,GACjEC,EACJN,OAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAc5N,IAAI,GAAlB4N,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAoBO,yCAAyC,GAA7DP,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAA+DQ,cAAc,GAA7ER,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+ExR,GAAG,CAAC,GACjFwC,EAAMyP,WAAW,MADnBT,KAAAA,IAAAA,EAAAA,EAEK,EAAE,CACHU,EACJpB,IAA2BR,EAAwBG,iBAAiB,EACpEqB,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAevC,QAAQ,CAACkC,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAWxR,SAAS,GAApBwR,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsBQ,WAAW,KAAjCR,KAAAA,IAAAA,EAAAA,EAAuC,KAE3DU,EAA4BP,CAAAA,EAAAA,EAAAA,CAAAA,EAAS,CACzCjK,SAAU4J,2BAA2B,CACnCT,uBAAwBR,EAAwBI,iBAAiB,CACjEW,SAAUA,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAU5L,IAAI,KAAd4L,KAAAA,IAAAA,EAAAA,EAAoB,EAAE,CAChCjH,aAAAA,EACAtD,IAAAA,CACF,GACAmH,UAAW,KACXpG,QAASuJ,sCACT9M,QAASuF,GAAa,CAAC,CAACqI,CAC1B,GAEA,MAAO,GAAAE,EAAA9R,CAAA,GACL+O,8BAAAA,GACI6C,EAAqBC,EAA4BX,EAEzD,iQC7FA,IAAMa,EAAwB,GAAkBxT,MAAA,CAAfC,EAAAA,EAAcA,CAAC,+DAY1CwJ,UAAY,CAAC1E,EAA+Bc,KAChD,GAAId,EAAKzE,WAAW,CAAE,CACpB,GAAM,CAAE2H,IAAAA,CAAG,CAAE7C,MAAAA,CAAK,CAAE,CAAGuC,CAAAA,EAAAA,EAAAA,CAAAA,EAAS5C,EAAKzE,WAAW,EAC1CmT,EAAwBC,CAAAA,EAAAA,EAAAA,CAAAA,EAC5B,GAAAC,EAAAlS,CAAA,KAAAmS,EAAAnS,CAAA,KACK2D,EACCS,EAAOT,KAAK,CAACuH,UAAU,EAAI,CAC7BA,WAAY9G,EAAOT,KAAK,CAACuH,UAAU,GACrC,CACArM,YAAa,SAEfuT,EAAAA,CAA0BA,CAC1B5L,GAGGpC,EAAO8D,OAAO,CAAC8J,EACtB,CACF,EAEMK,uBAAyB,MAAA3T,EAE7BiE,QADA,CAAE0E,SAAAA,CAAQ,CAAsE,CAAA3I,EAG1E,EAAG,CAAEkE,OAAAA,CAAM,CAAEsI,WAAAA,CAAU,CAAEoH,aAAAA,CAAY,CAAExN,UAAAA,CAAS,CAAE,CAAC,CAAGuC,EACtDvE,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,EAAqBH,GAC/B6D,EAAUC,CAAAA,EAAAA,EAAAA,CAAAA,IACV,CAAEpD,KAAAA,CAAI,CAAE,CAAG,MAAMF,CAAAA,EAAAA,EAAAA,CAAAA,EAAST,GAAeU,GAAG,CAChD0O,EACA,CACE/O,OAAQ,CACNF,QAAAA,EACAG,aA1Cc,MA2CdC,aA1Cc,QA2CdgI,WAAAA,EACAoH,aAAcA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcxM,IAAI,CAAC,KACjChB,UAAAA,EACA2B,QAAAA,CACF,CACF,GAEF,OAAOnD,CACT,EAEMiP,0BAA4B,OAAC,CACjC3P,OAAAA,CAAM,CACNsI,WAAAA,CAAU,CACVoH,aAAAA,CAAY,CACZxN,UAAAA,CAAS,CACkB,CAAApG,QAC3B,CAAC,mBAAoB,CAAEwM,WAAAA,EAAYtI,OAAAA,EAAQ0P,aAAAA,EAAcxN,UAAAA,CAAU,EAAE,EAE1DuM,uBAAyB,SAOhBjN,EAMF2M,EACHxM,EAbf,IAAMiO,EAA2BvN,CAAAA,EAAAA,EAAAA,EAAAA,EAAwB,+BACnDrC,EAASuB,CAAAA,EAAAA,EAAAA,CAAAA,IACT,CAAEb,KAAMyN,CAAQ,CAAExH,UAAWkJ,CAAe,CAAE,CAAGrB,CAAAA,EAAAA,EAAAA,CAAAA,IACjDhN,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACTE,EAAmBC,CAAAA,EAAAA,EAAAA,CAAAA,IAEnB0G,EAAa,OAAC9G,CAAAA,EAAAA,EAAOT,KAAK,CAACuH,UAAU,GAAvB9G,KAAAA,IAAAA,EAAAA,EAAsC,GAE1D,MAAOkN,CAAAA,EAAAA,EAAAA,CAAAA,EAAS,CACdjK,SAAUkL,0BAA0B,CAClC3P,OAAAA,EACAsI,WAAAA,EACAoH,aAAcvB,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAU5L,IAAI,KAAd4L,KAAAA,IAAAA,EAAAA,EAAoB,EAAE,CACpCjM,UAAWP,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBQ,gBAAgB,GAAlCR,KAAAA,IAAAA,EAAAA,EAAsC,GACnD,GACAgD,QAAS8K,uBACTrO,QACE,CAAC,CAACwO,GACFpO,EAAOsM,QAAQ,GAAKhG,EAAAA,UAAUA,CAAC2F,YAAY,EAC3C,CAAC,CAACnF,GACFuH,EACF9E,UAlFyB,IAmFzB3F,UAAW,GAAUA,UAAU1E,EAAMc,EACvC,EACF,uGErGO,IAAMoL,uBAAyB,IAGpC,IAAMkD,EAAmB9J,CAAAA,EAAAA,EAAAA,OAAAA,EACvB,SACE6G,SAAAA,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAekD,MAAM,CACnB,GAAiBC,gBAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAiBC,CAAW,CAAC,QAAQ,EAAM,GAD9DpD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAEG,CAAC,EAAE,EACR,CAACA,EAAc,EAGjB,GDKEqD,MCLkCJ,GDMlC,0BCNkCA,GDOlCI,MAAAA,EAAahD,qBAAqB,CCHpC,OAAO4C,CACT,sHChBO,IAAM9N,0BAA4B,KACvC,IAAMiK,EAAaQ,CAAAA,EAAAA,EAAAA,CAAAA,IACbjL,EAASC,CAAAA,EAAAA,EAAAA,SAAAA,IACT0O,EAAYC,SAAAA,CAAAA,EAAAA,EAAAA,CAAAA,EAAe,8BAEjC,OAAOrO,uBAAuB,CAC5BkK,WAAAA,EACAlL,MAAOS,EAAOT,KAAK,CACnBoP,UAAAA,CACF,EACF,EAEapO,uBAAyB,OAAC,CACrChB,MAAAA,CAAK,CACLkL,WAAAA,CAAU,CACVkE,UAAAA,CAAS,CAKV,CAAArU,SAAKqU,GAAalE,QAAAA,GAAyB,EAAClL,EAAMyB,WAAW,EAAIzB,OAAAA,EAAMyB,WAAW,CAAS,mHCpBrF,IAAMiE,YAAc,CAAC/D,EAAmB2N,SAK3CC,EACI5N,EADHA,EA2BUA,QAhC2E,CACxF6N,YAAa7N,EAAM8N,gBAAgB,CACnCjR,KAAMmD,EAAM8N,gBAAgB,CAC5BC,cAAe/N,EAAMgO,iBAAiB,CACtCC,YAAW,OACTL,CAAAA,EAAA,OAAC5N,CAAAA,EAAAA,gBAAAA,EAAMgO,iBAAiB,CACpBhO,MAAAA,EAAAA,KAAAA,EAAAA,OAAAA,CAAAA,EAAAA,EAAOkO,WAAW,GAAlBlO,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EACIqN,MAAM,CAAC,GAAgBc,MAAAA,EAAWC,qBAAqB,EACxDhU,GAAG,CAAC,IACgC,MAA/BgP,EAAKgF,qBAAqB,EAC5BhF,CAAAA,EAAKgF,qBAAqB,CAAGT,CAAAA,EAExBvE,IAEXpJ,EAAMkO,WAAW,GATpBlO,KAAAA,IAAAA,EAAAA,EASyB,EAAE,GAT5B4N,KAAA,IAAAA,EAAA,OADWA,EAWVxT,GAAG,CAAC,QACE+T,EAIOA,EAEEA,EAESA,EACFA,EAEVnO,QAZS,CACtBqO,MAAOF,OAAAA,CAAAA,EAAAA,EAAWG,SAAS,GAApBH,KAAAA,IAAAA,EAAAA,EAAwB,EAC/BI,MAAOJ,EAAWC,qBAAqB,CACvCI,WAAY,CACVzT,OAAQoT,EAAWpT,MAAM,CACzB0T,WAAYN,OAAAA,CAAAA,EAAAA,EAAWO,YAAY,GAAvBP,KAAAA,IAAAA,GAAAA,EACZQ,gBAAiBR,EAAWpT,MAAM,CAClC6T,aAAcT,OAAAA,CAAAA,EAAAA,EAAWU,sBAAsB,GAAjCV,KAAAA,IAAAA,EAAAA,EAAqCtN,KAAAA,EACnDiO,QAAS,GACTC,sBAAuBZ,OAAAA,CAAAA,EAAAA,EAAWpT,MAAM,GAAjBoT,KAAAA,IAAAA,EAAAA,EAAqB,GAC5Ca,oBAAqBb,OAAAA,CAAAA,EAAAA,EAAWc,SAAS,GAApBd,KAAAA,IAAAA,EAAAA,EAAwB,EAC/C,EACAe,YAAalP,OAAAA,CAAAA,EAAAA,EAAMmP,eAAe,GAArBnP,KAAAA,IAAAA,GAAAA,EACb,SAAU,GACVoP,gBAAiB,EACnB,IACA,QAAS,+BACTF,YAAalP,OAAAA,CAAAA,EAAAA,EAAMmP,eAAe,GAArBnP,KAAAA,IAAAA,GAAAA,EACbqN,OAAQxM,KAAAA,CACV,GAEa7B,YAAc,KACzB,IAAM2O,EAAgB0B,CAAAA,EAAAA,EAAAA,EAAAA,EAAS,yBAE/B,OAAO,GAAuBtL,YAAY/D,EAAO2N,EACnD,wEC7CO,IAAML,iBAAmB,GAC9BgC,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAM3F,QAAQ,CAAC,MAAO2F,EAAKlP,KAAK,CAAC,IAAI,CAAC,EAAE,CAAGkP","sources":["webpack://_N_E/./src/features/brands/api/getProductBrandData.ts","webpack://_N_E/./src/features/category/api/getProductShelfResults.ts","webpack://_N_E/./src/features/contentstack/utils/getCSPLPResultList.ts","webpack://_N_E/./src/features/contentstack/utils/getRecsPerPage.ts","webpack://_N_E/./src/features/contentstack/hooks/useCMSShelfPageConfig.ts","webpack://_N_E/./src/features/productListingPage/constants/productListingPageTypes.ts","webpack://_N_E/./src/features/productListingPage/utils/generateContentStackPLPParams.ts","webpack://_N_E/./src/features/productListingPage/api/getContentStackProductListingPageData.ts","webpack://_N_E/./src/features/search/api/getSearchRecordData.ts","webpack://_N_E/./src/features/shelf/utils/isShelfPageBodyItemResultsList.ts","webpack://_N_E/./src/features/shelf/hooks/useGetShelfPageRecords.ts","webpack://_N_E/./src/hooks/useIs24ProductViewEnabled.tsx","webpack://_N_E/./src/hooks/useMapFacet.ts","webpack://_N_E/./src/utils/getCartridgeType.ts","webpack://_N_E/<anon>"],"sourcesContent":["/**\n * Copyright 2022 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { type AxiosInstance } from 'axios';\nimport { requestBaseURL } from '@/config/serviceAPI';\nimport type {\n BrandShelfResponseModel,\n FacetModel,\n GetBrandListResultsUsingGetParamsModel,\n} from '@/api/types/browse-search-types';\nimport { getAxios } from '@/lib/axios';\nimport { getCountryFromLocale } from '@/utils/getCountryFromLocale';\nimport { createQuery } from '@/utils/createReactQuery';\nimport { useLocale } from '@/hooks/useLocale';\nimport { usePreferredVehicle } from '@/features/header/hooks/usePreferredVehicle';\nimport { useStoreDetailsData } from '@/features/header/api/getStoreDetails';\nimport { useRouter } from 'next/router';\nimport { type InfiniteData, type QueryClient, useInfiniteQuery } from '@tanstack/react-query';\nimport { parseUrl } from '@/utils/urlHelpers';\nimport { getMapFacet, useMapFacet } from '@/hooks/useMapFacet';\nimport { showXMPreviewDate } from '@/utils/showXMPreviewDate';\nimport { useIs24ProductViewEnabled } from '@/hooks/useIs24ProductViewEnabled';\nimport type { GetProductBrandDataOptions, MappedBrandShelfResults } from '../interface';\nimport { useMemo } from 'react';\nimport { getKiboDecisionFlag, useMonetateDecisionFlag } from '@/features/kibo/api/getKiboDecision';\n\nconst URL = `${requestBaseURL}/external/product-discovery/browse-search/v1/brand-shelves`;\n\nconst selector = (\n { brandShelfResults, redirectUrl, xFusionQueryId }: BrandShelfResponseModel,\n mapFacet: ReturnType<typeof useMapFacet>\n): MappedBrandShelfResults => {\n return {\n redirectLocation: redirectUrl,\n recordsPerPage: brandShelfResults?.recordsPerPage ?? 12,\n total: brandShelfResults?.totalNumberOfRecords,\n quickFilters: brandShelfResults?.quickFilters,\n firstRecNum: brandShelfResults?.firstRecordNumber,\n lastRecNum: brandShelfResults?.lastRecordNumber,\n staticNavigation: brandShelfResults?.facets?.map(mapFacet) ?? [],\n brandName: brandShelfResults?.brandName ?? '',\n records: brandShelfResults?.skuRecords?.map((record) => ({\n ...record,\n active: record.activeFlag,\n alternatePartNumber: record.alternatePartNumber,\n brandName: record.brandName,\n seoUrl: record.productDetailsPageUrl,\n imageUrl: record.itemImageUrl ?? '',\n productImageUrl: record.itemImageUrl ?? '',\n description: record.itemDescription,\n skuNumber: Number(record.itemId),\n locationFilter: record.itemLocation,\n lineCode: record.lineCode,\n systemCode: Number(record.originalSystemCode),\n partNumber: record.partNumber,\n productRepositoryId: record.eCommerceProductId,\n productId: record.eCommerceProductId,\n quickNote: record.quickNote,\n techNote: record.technicalNote,\n recordType: record.recordType,\n skuReviewEnabled: record.reviewEnabledFlag,\n vehicleFitment: record.vehicleFitment?.vehicleFit,\n vehicleFitmentLabel: record.vehicleFitmentLabel,\n warrantyMonths: record.warrantyMonths,\n brand: record.brandName ?? '',\n name: record.itemDescription,\n productReviewsEnabled: record.reviewEnabledFlag,\n vehicleFit: record.vehicleFitmentFlag ?? false,\n vehicleSpecific: record.vehicleSpecificFlag ?? false,\n originalPartTypeId: record.originalPartTypeId ?? '',\n })),\n xFusionQueryId,\n };\n};\n\nconst getBrandProductData = async (\n options: GetProductBrandDataOptions,\n axiosInstance?: AxiosInstance\n) => {\n const { locale, ...rest } = options;\n const country = getCountryFromLocale(locale);\n const customerType = 'B2C';\n const salesChannel = 'ECOMM';\n\n const params: GetBrandListResultsUsingGetParamsModel = {\n ...rest,\n country,\n customerType,\n salesChannel,\n };\n const response = await getAxios(axiosInstance).get<BrandShelfResponseModel>(URL, {\n params,\n });\n\n return response.data;\n};\n\nconst {\n useData: useBrandProducts,\n prefetch: prefetchProductBrand,\n query: productBrandQuery,\n} = createQuery<BrandShelfResponseModel, GetProductBrandDataOptions>(\n 'brandProducts',\n getBrandProductData\n);\n\nexport const useBrandProductData = ({ enabled = true }: { enabled?: boolean } = {}) => {\n const locale = useLocale();\n const router = useRouter();\n const mapFacet = useMapFacet();\n const preferredVehicle = usePreferredVehicle();\n const { data: storeDetailsData } = useStoreDetailsData();\n const is24ProductViewEnabled = useIs24ProductViewEnabled();\n const storeNumber = storeDetailsData?.storeNumber;\n const vehicleId = preferredVehicle?.catalogVehicleId;\n const isLoadMoreEnabled = useMonetateDecisionFlag('loadMoreEnabled');\n const {\n currentPage,\n sort = [],\n recsPerPage,\n pageNumber,\n facet,\n minPrice,\n maxPrice,\n } = router.query;\n const sortArr = typeof sort === 'string' ? sort.split('-') : sort;\n const sortOrder = sortArr[sortArr.length - 1];\n const sortFieldName = sortArr.slice(0, sortArr.length - 1).join('-');\n\n const path = router.asPath;\n const parsedUrl = parseUrl(path);\n const options: GetProductBrandDataOptions = {\n locale,\n pageNumber:\n typeof currentPage === 'string'\n ? Number(currentPage)\n : typeof pageNumber === 'string'\n ? Number(pageNumber)\n : 1,\n vehicleId,\n recordsPerPage:\n typeof recsPerPage === 'string'\n ? Number(recsPerPage)\n : is24ProductViewEnabled\n ? 24\n : undefined,\n minPrice: minPrice ? String(minPrice) : undefined,\n maxPrice: maxPrice ? String(maxPrice) : undefined,\n facet: Array.isArray(facet) ? facet.join(',') : facet,\n sort: sortFieldName && sortOrder ? `${sortFieldName}-${sortOrder}` : undefined,\n storeId: storeNumber,\n seoUrl: parsedUrl.url,\n preview: showXMPreviewDate(),\n mapFacet: mapFacet,\n };\n let infiniteQueryData: InfiniteData<BrandShelfResponseModel> | undefined;\n let fetchNextPageBrandProductData = () => Promise.resolve();\n let hasNextPageBrandProductData: boolean | undefined = false;\n let fetchPreviousPageBrandProductData = () => Promise.resolve();\n let hasPreviousPageBrandProductData: boolean | undefined = false;\n let statusBrandProductData = 'idle';\n let refetchBrandProductResults = () => Promise.resolve();\n\n const infiniteQueryFn = ({ pageParam = 1 }) =>\n getBrandProductData({\n ...options,\n pageNumber: pageParam,\n });\n\n const infiniteQueryResult = useInfiniteQuery({\n queryKey: [...productBrandQuery.getFullKey(options), 'infinite'],\n queryFn: infiniteQueryFn,\n getNextPageParam: (lastPage, allPages) => {\n const totalRecords = lastPage?.brandShelfResults?.totalNumberOfRecords ?? 0;\n const recsPerPage = Number(options.recordsPerPage) || 24;\n const currentPageNumber = allPages.length;\n const totalPages = Math.ceil(totalRecords / recsPerPage);\n\n if (currentPageNumber < totalPages) {\n return currentPageNumber + 1;\n }\n return undefined;\n },\n enabled: enabled && isLoadMoreEnabled,\n onSuccess: async (data: InfiniteData<BrandShelfResponseModel>) => {\n const lastPage = data.pages[data.pages.length - 1];\n if (lastPage.redirectUrl) {\n await router.replace(lastPage.redirectUrl);\n }\n },\n });\n const regularQueryResult = useBrandProducts({\n ...options,\n enabled: enabled && !isLoadMoreEnabled,\n onSuccess: async (data: BrandShelfResponseModel) => {\n if (data.redirectUrl) {\n await router.replace(data.redirectUrl);\n }\n },\n });\n if (isLoadMoreEnabled) {\n const {\n data,\n fetchNextPage,\n hasNextPage,\n fetchPreviousPage,\n hasPreviousPage,\n status,\n refetch,\n } = infiniteQueryResult;\n fetchNextPageBrandProductData = () => fetchNextPage().then(() => {});\n hasNextPageBrandProductData = hasNextPage;\n fetchPreviousPageBrandProductData = () => fetchPreviousPage().then(() => {});\n hasPreviousPageBrandProductData = hasPreviousPage;\n statusBrandProductData = status;\n refetchBrandProductResults = () => refetch().then(() => {});\n infiniteQueryData = data;\n }\n const mergedData = useMemo(() => {\n if (!infiniteQueryData?.pages) {\n return undefined;\n }\n return infiniteQueryData?.pages.reduce(\n (acc: BrandShelfResponseModel, page: BrandShelfResponseModel): BrandShelfResponseModel => {\n if (page.brandShelfResults) {\n return {\n ...acc,\n brandShelfResults: {\n ...acc.brandShelfResults,\n ...page.brandShelfResults,\n skuRecords: [\n ...(acc.brandShelfResults?.skuRecords ?? []),\n ...(page.brandShelfResults?.skuRecords ?? []),\n ],\n },\n redirectUrl: page.redirectUrl,\n redirectPageType: page.redirectPageType,\n xFusionQueryId: page.xFusionQueryId,\n };\n }\n return acc;\n },\n { brandShelfResults: { skuRecords: [] } } as unknown as BrandShelfResponseModel\n );\n }, [infiniteQueryData?.pages]);\n const isFetching = isLoadMoreEnabled\n ? infiniteQueryResult.isFetching\n : regularQueryResult.isFetching;\n\n const isLoading = isLoadMoreEnabled\n ? infiniteQueryResult.isLoading\n : regularQueryResult.isLoading;\n const resultData = isLoadMoreEnabled ? mergedData : regularQueryResult.data;\n const selectedData = selector(\n resultData ?? ({ brandShelfResults: { skuRecords: [] } } as unknown as BrandShelfResponseModel),\n mapFacet ?? ((facet: FacetModel) => getMapFacet(facet, 'Clearance'))\n );\n\n return {\n data: selectedData,\n pageNumber: isLoadMoreEnabled ? infiniteQueryData?.pages.length ?? 1 : options.pageNumber,\n fetchNextPage: fetchNextPageBrandProductData,\n hasNextPage: hasNextPageBrandProductData,\n fetchPreviousPage: fetchPreviousPageBrandProductData,\n hasPreviousPage: hasPreviousPageBrandProductData,\n isFetching,\n isLoading,\n status: isLoadMoreEnabled ? statusBrandProductData : regularQueryResult.status,\n refetch: isLoadMoreEnabled ? refetchBrandProductResults : regularQueryResult.refetch,\n fetchStatus: isLoadMoreEnabled\n ? infiniteQueryResult.fetchStatus\n : regularQueryResult.fetchStatus,\n isSuccess: isLoadMoreEnabled ? infiniteQueryResult.isSuccess : regularQueryResult.isSuccess,\n isError: isLoadMoreEnabled ? infiniteQueryResult.isError : regularQueryResult.isError,\n };\n};\n\nexport const prefetchBrandInfinityData = (\n queryClient: QueryClient,\n options: GetProductBrandDataOptions,\n axiosInstance?: AxiosInstance\n) => {\n return queryClient.prefetchInfiniteQuery({\n queryKey: [...productBrandQuery.getFullKey(options), 'infinite'],\n queryFn: ({ pageParam = 1 }: { pageParam?: number }) =>\n getBrandProductData({ ...options, pageNumber: pageParam }, axiosInstance),\n getNextPageParam: (lastPage, allPages) => {\n const nextPage = allPages.length + 1;\n return nextPage <=\n Math.ceil(\n (lastPage?.brandShelfResults?.totalNumberOfRecords ?? 0) /\n (lastPage?.brandShelfResults?.recordsPerPage ?? 0)\n )\n ? nextPage\n : undefined;\n },\n });\n};\n\nexport const getBrandProductDataFromCache = (\n queryClient: QueryClient,\n options: GetProductBrandDataOptions\n): BrandShelfResponseModel | undefined => {\n const isLoadMoreEnabled = getKiboDecisionFlag(queryClient, 'loadMoreEnabled');\n if (isLoadMoreEnabled) {\n return queryClient.getQueryData<InfiniteData<BrandShelfResponseModel>>([\n ...productBrandQuery.getFullKey(options),\n 'infinite',\n ])?.pages?.[0];\n }\n\n return queryClient.getQueryData<BrandShelfResponseModel>(productBrandQuery.getFullKey(options));\n};\n\nexport { prefetchProductBrand };\n","/**\n * Copyright 2022 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport {\n type GetProductListResultsUsingGetParamsModel,\n type ProductShelfResponseModel,\n} from '@/api/types/browse-search-types';\nimport { requestBaseURLGCP } from '@/config/serviceAPI';\nimport { type ProductShelfResponse } from '../interface';\nimport { type AxiosInstance, isAxiosError } from 'axios';\nimport { type InfiniteData, type QueryClient, useInfiniteQuery } from '@tanstack/react-query';\nimport { getAxios } from '@/lib/axios';\nimport { parseUrl, stringifyUrl } from '@/utils/urlHelpers';\nimport { getCountryFromLocale } from '@/utils/getCountryFromLocale';\nimport { pageTypes } from '@/constants/page';\nimport { useLocale } from '@/hooks/useLocale';\nimport type { Locale } from '@/types/i18n';\nimport { useRouter } from 'next/router';\nimport { useAppState } from '@/stores/AppState';\nimport { useHeaderData } from '@/features/header/api/getHeader';\nimport { getPreferredVehicle } from '@/features/header/utils/getPreferredVehicle';\nimport { usePageType } from './getPageType';\nimport { showXMPreviewDate } from '@/utils/showXMPreviewDate';\nimport { useCMSShelfPageConfig } from '@/features/contentstack/hooks/useCMSShelfPageConfig';\nimport { useContentStackPLPData } from '@/features/productListingPage/api/getContentStackProductListingPageData';\nimport logger from '@/utils/logger';\nimport { useMemo } from 'react';\nimport { getKiboDecisionFlag, useMonetateDecisionFlag } from '@/features/kibo/api/getKiboDecision';\nimport { createQuery } from '@/utils/createReactQuery';\nimport type { Store } from '@/types';\nconst CATEGORY_SHELF_URL = `${requestBaseURLGCP}/external/product-discovery/browse-search/v1/product-shelves`;\nimport { routePaths } from '@/constants/routePaths';\n\ntype Options = {\n locale?: Locale;\n vehicleId: string | undefined;\n taxonomyPath?: string;\n tag?: string;\n canonicalPath?: string;\n pageType?: string;\n botEnabledFacetPath?: string;\n path?: string | undefined;\n recsPerPage?: string | undefined;\n makeModelYearPath?: string | undefined;\n storeId?: string | undefined;\n preview: boolean;\n ignoreVehicleSpecificProductsCheck?: boolean;\n rewardsId: string;\n eCookieId: string;\n pageNumber?: number;\n};\n\nconst getProductShelfResults = async (options: Options, axiosInstance?: AxiosInstance) => {\n const {\n eCookieId,\n locale,\n taxonomyPath,\n vehicleId,\n canonicalPath,\n pageType,\n preview,\n path,\n recsPerPage,\n botEnabledFacetPath,\n makeModelYearPath,\n ignoreVehicleSpecificProductsCheck,\n rewardsId,\n tag,\n storeId,\n pageNumber,\n } = options;\n\n if (!canonicalPath) {\n throw new Error('canonicalPath must be provided in getCategoryShelfResults');\n }\n\n if (pageType !== pageTypes.ProductShelf && !tag) {\n throw new Error('No product shelf data on categories pages');\n }\n\n const country = getCountryFromLocale(locale || 'en-US');\n const customerType = 'B2C';\n const salesChannel = 'ECOMM';\n const parsedUrl = parseUrl(path ?? '');\n const isClearanceShelf = path?.startsWith(`${routePaths.clearance}`);\n\n const params: GetProductListResultsUsingGetParamsModel = {\n country,\n customerType,\n salesChannel,\n preview,\n canonicalPath,\n pageNumber,\n recordsPerPage: recsPerPage\n ? Number(recsPerPage)\n : parsedUrl.query.recsPerPage\n ? Number(parsedUrl.query.recsPerPage)\n : undefined,\n sort: parsedUrl.query.sort,\n vehicleId,\n storeId,\n ...(tag && {\n ruleTags: tag,\n isLandingPage: true,\n facet: parsedUrl.query.facet ?? undefined,\n }),\n ignoreVehicleSpecificProductsCheck: isClearanceShelf,\n ...(!tag && {\n taxonomyPath,\n botEnabledFacetPath,\n searchedKeyword: !parsedUrl.query.redirectUrl\n ? parsedUrl.query.filterByKeyWord ?? parsedUrl.query.searchText\n : undefined,\n makeModelYearPath: makeModelYearPath === '' ? undefined : makeModelYearPath,\n facet: parsedUrl.query.facet ?? undefined,\n partNumberSearch: Boolean(parsedUrl.query.partNumberSearch) ?? undefined,\n minPrice: parsedUrl.query.minPrice,\n maxPrice: parsedUrl.query.maxPrice,\n ...((!!ignoreVehicleSpecificProductsCheck && { ignoreVehicleSpecificProductsCheck: true }) ||\n (!!parsedUrl.query.ignoreVehicleSpecificProductsCheck && {\n ignoreVehicleSpecificProductsCheck: true,\n })),\n }),\n };\n\n const response = await getAxios(axiosInstance).get<ProductShelfResponseModel>(\n CATEGORY_SHELF_URL,\n {\n ...(country === 'USA' && {\n headers: {\n eCookieId,\n ...(!!rewardsId && { rewardsId }),\n },\n }),\n params,\n }\n );\n return productShelfResultsSelector(response.data);\n};\n\nconst productShelfResultsSelector = ({\n productShelfResults,\n redirectUrl,\n xFusionQueryId,\n}: ProductShelfResponseModel): ProductShelfResponse => {\n return {\n productShelfResults,\n redirectLocation: redirectUrl ?? '',\n xFusionQueryId,\n };\n};\n\nexport const {\n useData: useProductShelfResultsData,\n prefetch: prefetchProductShelfResultsData,\n query: productsShelfQuery,\n} = createQuery<ProductShelfResponse, Options>(\n 'productshelf-results',\n async (options, axiosInstance) => getProductShelfResults(options, axiosInstance)\n);\n\nexport const useProductShelfResults = ({\n enabled = true,\n fromRedirect = false,\n ...rest\n}: {\n enabled?: boolean;\n fromRedirect?: boolean;\n} = {}) => {\n const router = useRouter();\n const headerResult = useHeaderData();\n const preferredVehicle = getPreferredVehicle(headerResult.data);\n const locale = useLocale();\n const appState = useAppState();\n const { recordsPerPage } = useCMSShelfPageConfig();\n const isMerchShelfPage = router.route === '/deals/[cmsPath]/[[...slug]]';\n const { data: plpCMSData, isSuccess: isPLPCMSDataSuccess } = useContentStackPLPData({\n enabled: true,\n });\n const isLoadMoreEnabled = useMonetateDecisionFlag('loadMoreEnabled');\n // TODO: replace with router.asPath when Next bug is fixed\n // https://github.com/vercel/next.js/issues/46876\n const reqUrl = __IS_SERVER__ ? appState.state.reqUrl : router.asPath;\n\n if (reqUrl == null) {\n throw new Error(`A 'path' option is required`);\n }\n\n const { data: pageTypeData } = usePageType();\n const parsedUrl = parseUrl(reqUrl);\n\n const lwTag = !!plpCMSData?.additional_attributes_merch_shelf_page?.lucidworks_fusion_tag\n ? plpCMSData.additional_attributes_merch_shelf_page.lucidworks_fusion_tag\n : undefined;\n\n const taxonomyPath = pageTypeData?.taxonomyPath || undefined;\n delete parsedUrl.query.loadMore;\n const cleanedReqUrl = stringifyUrl(parsedUrl);\n\n const options = {\n rewardsId: headerResult.data?.myAccountMap?.rewardsId ?? '',\n eCookieId: appState.state.eCookieId,\n locale,\n vehicleId: preferredVehicle?.catalogVehicleId,\n pageType: pageTypeData?.pageType || undefined,\n canonicalPath: pageTypeData?.canonicalPath || parsedUrl.url,\n taxonomyPath,\n tag: lwTag,\n botEnabledFacetPath: pageTypeData?.botEnabledFacetPath || undefined,\n makeModelYearPath: pageTypeData?.makeModelYearPath || undefined,\n recsPerPage: recordsPerPage ? String(recordsPerPage) : undefined,\n storeId: headerResult.data?.storeNumber ?? undefined,\n pageNumber:\n typeof router.query.currentPage === 'string'\n ? Number(router.query.currentPage)\n : typeof router.query.pageNumber === 'string'\n ? Number(router.query.pageNumber)\n : 1,\n path: router.route === '/cms/taxonomy-selector' ? taxonomyPath : cleanedReqUrl || '',\n preview: showXMPreviewDate(),\n ...(!!fromRedirect && { ignoreVehicleSpecificProductsCheck: fromRedirect }),\n ...rest,\n };\n let infiniteQueryData: InfiniteData<ProductShelfResponse> | undefined;\n let fetchNextPageProductShelfResults = () => Promise.resolve();\n let hasNextPageProductShelfResults: boolean | undefined = false;\n let fetchPreviousPageProductShelfResults = () => Promise.resolve();\n let hasPreviousPageProductShelfResuts: boolean | undefined = false;\n let isFetchingProductShelfResults: boolean | undefined = false;\n let isLoadingProductShelfResults: boolean | undefined = false;\n let statusProductShelfResults = 'idle';\n let refetchProductShelfResults = () => Promise.resolve();\n const infiniteQueryResult = useInfiniteQuery({\n queryKey: [...productsShelfQuery.getFullKey(options), 'infinite'],\n queryFn: ({ pageParam = 1 }: { pageParam?: number }) => {\n return getProductShelfResults({\n ...options,\n pageNumber: pageParam,\n recsPerPage: '24',\n });\n },\n getNextPageParam: (lastPage, allPages) => {\n const totalRecords = lastPage?.productShelfResults?.totalNumberOfRecords ?? 0;\n const recsPerPage = Number(options.recsPerPage) || 24;\n const currentPageNumber = allPages.length;\n const totalPages = Math.ceil(totalRecords / recsPerPage);\n\n if (currentPageNumber < totalPages) {\n return currentPageNumber + 1;\n }\n return undefined;\n },\n enabled: isMerchShelfPage\n ? isPLPCMSDataSuccess && !!lwTag\n : enabled &&\n isLoadMoreEnabled &&\n pageTypeData?.pageType === 'ProductShelf' &&\n (router.route === '/[...seoUrlPath]' || router.route === '/cms/taxonomy-selector'),\n staleTime: 30 * 60000,\n onSuccess: async (data: InfiniteData<ProductShelfResponse>) => {\n const lastPage = data.pages[data.pages.length - 1];\n if (lastPage.redirectLocation) {\n await router.replace(lastPage.redirectLocation);\n }\n },\n onError: async (err) => {\n logger.error({\n message: 'Error fetching product shelf results',\n meta: {\n error: isAxiosError(err) ? err.response : err,\n },\n });\n\n try {\n await router.replace('/errorPage');\n } catch (error) {\n throw new Error(`There was a problem redirecting to /errorPage`);\n }\n },\n });\n const regularQueryResult = useProductShelfResultsData({\n ...options,\n enabled: isMerchShelfPage\n ? isPLPCMSDataSuccess && !!lwTag\n : enabled &&\n !isLoadMoreEnabled &&\n pageTypeData?.pageType === 'ProductShelf' &&\n (router.route === '/[...seoUrlPath]' || router.route === '/cms/taxonomy-selector'),\n staleTime: 30 * 60000,\n pageNumber: parsedUrl.query.pageNumber ? Number(parsedUrl.query.pageNumber) : 1,\n onSuccess: async (data) => {\n if (data.redirectLocation) {\n await router.replace(data.redirectLocation);\n }\n },\n ...(!!fromRedirect && { ignoreVehicleSpecificProductsCheck: fromRedirect }),\n ...rest,\n onError: async (error) => {\n try {\n // eslint-disable-next-line no-console\n console.log(`An error occurred while requesting product shelf results: `, error);\n await router.replace('/errorPage');\n return;\n } catch (error) {\n throw new Error(`There was a problem redirecting to /errorPage`);\n }\n },\n });\n if (isLoadMoreEnabled) {\n const {\n data,\n fetchNextPage,\n hasNextPage,\n fetchPreviousPage,\n hasPreviousPage,\n isFetching,\n isLoading,\n status,\n refetch,\n } = infiniteQueryResult;\n fetchNextPageProductShelfResults = () => fetchNextPage().then(() => {});\n hasNextPageProductShelfResults = hasNextPage;\n fetchPreviousPageProductShelfResults = () => fetchPreviousPage().then(() => {});\n hasPreviousPageProductShelfResuts = hasPreviousPage;\n isLoadingProductShelfResults = isLoading;\n statusProductShelfResults = status;\n isFetchingProductShelfResults = isFetching;\n refetchProductShelfResults = () => refetch().then(() => {});\n infiniteQueryData = data;\n }\n\n const mergedData = useMemo(() => {\n if (!infiniteQueryData?.pages) return undefined;\n return infiniteQueryData?.pages?.reduce(\n (acc: ProductShelfResponse, page: ProductShelfResponse) => {\n const { redirectPageType, redirectUrl, xFusionQueryId } = page;\n if (page?.productShelfResults) {\n return {\n ...acc,\n productShelfResults: {\n ...acc?.productShelfResults,\n ...page?.productShelfResults,\n skuRecords: [\n ...(acc?.productShelfResults?.skuRecords ?? []),\n ...(page?.productShelfResults?.skuRecords ?? []),\n ],\n },\n redirectPageType,\n redirectUrl,\n xFusionQueryId,\n };\n }\n return acc;\n },\n { productShelfResults: { skuRecords: [] } } as unknown as ProductShelfResponse\n );\n }, [infiniteQueryData]);\n\n return {\n data: isLoadMoreEnabled ? mergedData : regularQueryResult.data,\n pageNumber: isLoadMoreEnabled ? infiniteQueryData?.pages.length ?? 1 : options.pageNumber,\n fetchNextPage: fetchNextPageProductShelfResults,\n hasNextPage: hasNextPageProductShelfResults,\n fetchPreviousPage: fetchPreviousPageProductShelfResults,\n hasPreviousPage: hasPreviousPageProductShelfResuts,\n isFetching: isLoadMoreEnabled ? isFetchingProductShelfResults : regularQueryResult.isFetching,\n isLoading: isLoadMoreEnabled ? isLoadingProductShelfResults : regularQueryResult.isLoading,\n status: isLoadMoreEnabled ? statusProductShelfResults : regularQueryResult.status,\n refetch: isLoadMoreEnabled ? refetchProductShelfResults : regularQueryResult.refetch,\n };\n};\n\nexport const prefetchProductShelfResults = async (\n axiosInstance: AxiosInstance,\n queryClient: QueryClient,\n options: Options\n) => {\n return prefetchProductShelfResultsData(queryClient, options, axiosInstance);\n};\n\nexport const prefetchProductShelfResultsInfinite = async (\n axiosInstance: AxiosInstance,\n queryClient: QueryClient,\n options: Options\n) => {\n return queryClient.prefetchInfiniteQuery({\n queryKey: [...productsShelfQuery.getFullKey(options), 'infinite'],\n queryFn: ({ pageParam = 1 }) =>\n getProductShelfResults(\n {\n ...options,\n pageNumber: pageParam as number,\n recsPerPage: options.recsPerPage as string,\n },\n axiosInstance\n ),\n getNextPageParam: (lastPage, allPages) => {\n const nextPageNumber = allPages.length + 1;\n return lastPage.productShelfResults?.lastRecordNumber ? nextPageNumber : undefined;\n },\n });\n};\n\nexport const getProductShelfResultsFromCache = (\n queryClient: QueryClient,\n store: Store,\n options: Options\n): ProductShelfResponse | undefined => {\n const isLoadMoreEnabled = getKiboDecisionFlag(queryClient, 'loadMoreEnabled');\n const { appData } = store.getState();\n if (isLoadMoreEnabled) {\n return queryClient.getQueryData<InfiniteData<ProductShelfResponse>>([\n ...productsShelfQuery.getFullKey({\n recsPerPage: appData?.deviceType === 'bot' ? '24' : undefined,\n ...options,\n }),\n 'infinite',\n ])?.pages[0];\n }\n return queryClient.getQueryData<ProductShelfResponse>(\n productsShelfQuery.getFullKey({\n recsPerPage: appData?.deviceType === 'bot' ? '24' : undefined,\n ...options,\n })\n );\n};\n\nexport const useProduleShelfFacets = () => {\n const router = useRouter();\n const headerResult = useHeaderData();\n const locale = useLocale();\n const appState = useAppState();\n\n // TODO: replace with router.asPath when Next bug is fixed\n // https://github.com/vercel/next.js/issues/46876\n const reqUrl = __IS_SERVER__ ? appState.state.reqUrl : router.asPath;\n\n if (reqUrl == null) {\n throw new Error(`A 'path' option is required`);\n }\n\n const { data: pageTypeData } = usePageType();\n\n return useProductShelfResultsData({\n rewardsId: headerResult.data?.myAccountMap?.rewardsId ?? '',\n eCookieId: appState.state.eCookieId,\n locale,\n vehicleId: undefined,\n pageType: pageTypeData?.pageType ?? 'ProductShelf',\n canonicalPath: pageTypeData?.canonicalPath ?? parseUrl(reqUrl).url,\n taxonomyPath: pageTypeData?.taxonomyPath,\n botEnabledFacetPath: undefined,\n makeModelYearPath: undefined,\n recsPerPage: '1',\n storeId: headerResult.data?.storeNumber ?? undefined,\n path: reqUrl,\n preview: showXMPreviewDate(),\n staleTime: 30 * 60000,\n onSuccess: async (data) => {\n if (data.redirectLocation) {\n await router.replace(data.redirectLocation);\n }\n },\n });\n};\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { type ContentStackProductListingPage } from '../interface';\n\nexport const getCSPLPResultList = (data?: ContentStackProductListingPage) => {\n const resultsList = data?.shelfpagebody?.find((item) => item.results_list);\n return resultsList?.results_list;\n};\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { parseUrl } from '@/utils/urlHelpers';\nimport { type getCSPLPResultList } from './getCSPLPResultList';\n\ntype GetRecsPerPageParams = {\n reqUrl: string | null | undefined;\n is24ProductViewEnabled: boolean;\n deviceType: string;\n csResultList: ReturnType<typeof getCSPLPResultList>;\n isCSProductListingPageEnabled: boolean;\n isLoadMoreEnabled: boolean;\n};\n\nexport const getRecsPerPage = ({\n reqUrl,\n is24ProductViewEnabled,\n deviceType,\n csResultList,\n isCSProductListingPageEnabled,\n isLoadMoreEnabled,\n}: GetRecsPerPageParams) => {\n const parsedUrl = parseUrl(reqUrl ?? '');\n const allowedValues = [24, 36, 48];\n\n let recordsPerPage = undefined;\n\n if (parsedUrl.query.recsPerPage && allowedValues.includes(Number(parsedUrl.query.recsPerPage))) {\n recordsPerPage = Number(parsedUrl.query.recsPerPage);\n } else if (is24ProductViewEnabled || deviceType === 'bot') {\n recordsPerPage = 24;\n } else if (isCSProductListingPageEnabled) {\n const csRecordsPerPage = csResultList?.records_per_page ?? undefined;\n recordsPerPage = csRecordsPerPage === 12 ? undefined : csRecordsPerPage;\n }\n\n if (isLoadMoreEnabled && recordsPerPage === undefined) {\n recordsPerPage = 24;\n }\n\n return recordsPerPage;\n};\n","/**\n * Copyright 2023 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\nimport { useMemo } from 'react';\nimport { useRouter } from 'next/router';\nimport { useAppState } from '@/stores/AppState';\nimport { useDeviceType } from '@/utils/useDeviceType';\nimport { useIs24ProductViewEnabled } from '@/hooks/useIs24ProductViewEnabled';\nimport { useGetShelfPageRecords } from '@/features/shelf/hooks/useGetShelfPageRecords';\nimport { useProductList } from '@/features/shelf/context/useProductList';\nimport { useContentStackPLPData } from '@/features/productListingPage/api/getContentStackProductListingPageData';\nimport { getCSPLPResultList } from '../utils/getCSPLPResultList';\nimport { getRecsPerPage } from '../utils/getRecsPerPage';\nimport { useMonetateDecisionFlag } from '@/features/kibo/api/getKiboDecision';\n\nexport const useCMSShelfPageConfig = () => {\n const router = useRouter();\n const deviceType = useDeviceType();\n const is24ProductViewEnabled = useIs24ProductViewEnabled();\n const isLoadMoreEnabled = useMonetateDecisionFlag('loadMoreEnabled');\n const { data: plpCMSData, isCSProductListingPageEnabled } = useContentStackPLPData({\n enabled: true,\n });\n const csResultList = useMemo(() => getCSPLPResultList(plpCMSData), [plpCMSData]);\n\n const appState = useAppState();\n\n const { data: shelfData } = useProductList();\n\n const pageRecData = useGetShelfPageRecords(shelfData?.shelfPageBody);\n const totalRecs = pageRecData?.totalNumRecs ?? 0;\n const firstRecNum = pageRecData?.firstRecNum ?? 0;\n const rppOptions = csResultList?.records_per_page_dropdown;\n\n const reqUrl = __IS_SERVER__ ? appState.state.reqUrl : router.asPath;\n\n const recordsPerPage = getRecsPerPage({\n reqUrl,\n is24ProductViewEnabled,\n deviceType,\n csResultList,\n isCSProductListingPageEnabled,\n isLoadMoreEnabled,\n });\n\n return {\n recordsPerPage,\n totalRecs,\n firstRecNum,\n rppOptions,\n disableRecordsPerPage: csResultList?.disable_items_per_page ?? false,\n };\n};\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\nexport const productListingPageTypes = {\n default: 'Default',\n merchShelf: 'Merch Shelf',\n brandShelfDefault: 'Brand Shelf (Default)',\n brandShelfPremium: 'Brand Shelf (Premium)',\n searchResult: 'Search Result',\n} as const;\n\nexport type ProductListingPageType =\n (typeof productListingPageTypes)[keyof typeof productListingPageTypes];\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport type { PageTypeData } from '@/types';\nimport { type NextRouter } from 'next/router';\nimport { productListingPageTypes } from '../constants/productListingPageTypes';\nimport { getPathnameFromAsPath } from '@/utils/urlHelpers';\nimport { type SearchSkuRecordResponse } from '../../search/interface';\n\nexport const generateContentStackPLPParams = ({\n router,\n isCSSearchResultsPageEnabled,\n pageTypeData,\n searchSkuRecordData,\n}: {\n router: NextRouter;\n isCSSearchResultsPageEnabled: boolean;\n pageTypeData: PageTypeData | undefined;\n searchSkuRecordData: SearchSkuRecordResponse | undefined;\n}) => {\n let productListingPageType;\n let taxonomyPath;\n let url;\n let isCSProductListingPageEnabled = false;\n switch (router.pathname) {\n case '/deals/[cmsPath]/[[...slug]]':\n productListingPageType = productListingPageTypes.merchShelf;\n taxonomyPath = `/deals/${router.query.cmsPath as string}`;\n url = `/deals/${router.query.cmsPath as string}`;\n isCSProductListingPageEnabled = true;\n break;\n case '/brands/[brandName]':\n productListingPageType = productListingPageTypes.brandShelfDefault;\n url = getPathnameFromAsPath(router.asPath);\n isCSProductListingPageEnabled = true;\n break;\n case '/[...seoUrlPath]':\n taxonomyPath = pageTypeData?.botEnabledFacetPath\n ? `${pageTypeData.taxonomyPath}${pageTypeData.botEnabledFacetPath}`\n : pageTypeData?.taxonomyPath ?? '';\n productListingPageType = productListingPageTypes.default;\n isCSProductListingPageEnabled = pageTypeData?.pageType === 'ProductShelf';\n break;\n case '/searchresult':\n url = searchSkuRecordData?.skuRecord?.taxonomyPath;\n productListingPageType = productListingPageTypes.searchResult;\n isCSProductListingPageEnabled =\n !!searchSkuRecordData?.skuRecord?.taxonomyPath && isCSSearchResultsPageEnabled;\n break;\n }\n\n return { productListingPageType, taxonomyPath, url, isCSProductListingPageEnabled };\n};\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { usePageType } from '@/features/category/api/getPageType';\nimport type { ContentStackProductListingPage } from '@/features/contentstack/interface';\nimport { getContentStackPLPContent } from '@/features/contentstack/lib/productListingPage/getContentStackPLPContent'; // eslint-disable-line no-restricted-imports\nimport { useSegments } from '@/features/header/api/getSegments';\nimport { useMonetateDecisionFlag } from '@/features/kibo/api/getKiboDecision';\nimport { getAxiosForClient } from '@/lib/axios';\nimport { type PageContextType } from '@/next-types';\nimport { type QueryClient, type QueryFunctionContext, useQuery } from '@tanstack/react-query';\nimport { useRouter } from 'next/router';\nimport { generateContentStackPLPParams } from '../utils/generateContentStackPLPParams';\nimport {\n type ProductListingPageType,\n productListingPageTypes,\n} from '../constants/productListingPageTypes';\nimport { useBrandProductData } from '@/features/brands/api/getProductBrandData';\nimport { useSearchSkuRecordData } from '@/features/search/api/getSearchRecordData';\n\nconst URL = `/api/contentstack/plp`;\n\nconst getContentStackProductListingPageData = async ({\n queryKey,\n}: QueryFunctionContext<ReturnType<typeof getCSProductListingPageKey>>) => {\n const [, , { taxonomyPath, segments, productListingPageType, url }] = queryKey;\n const { data } = await getAxiosForClient().get<ContentStackProductListingPage>(URL, {\n params: {\n segments: segments?.sort().join(','),\n taxonomyPath,\n productListingPageType,\n url,\n },\n });\n return data;\n};\n\nconst getCSProductListingPageKey = ({\n productListingPageType,\n segments,\n taxonomyPath,\n url,\n}: {\n segments: string[];\n productListingPageType?: ProductListingPageType;\n taxonomyPath?: string;\n url?: string;\n}) => ['cms', 'plp', { productListingPageType, segments, taxonomyPath, url }] as const;\n\nexport const useContentStackPLPData = ({ enabled = true }: { enabled?: boolean }) => {\n const router = useRouter();\n const { data: segments, isSuccess } = useSegments();\n const isCSSearchResultsPageEnabled = useMonetateDecisionFlag('cmsSearchResultsPageEnabled');\n const { data: pageTypeData } = usePageType();\n const { data: searchSkuRecordData } = useSearchSkuRecordData();\n\n const { productListingPageType, taxonomyPath, url, isCSProductListingPageEnabled } =\n generateContentStackPLPParams({\n router,\n isCSSearchResultsPageEnabled,\n pageTypeData,\n searchSkuRecordData,\n });\n\n const queryResponse = useQuery({\n queryKey: getCSProductListingPageKey({\n productListingPageType,\n segments: segments?.sort() ?? [],\n taxonomyPath,\n url,\n }),\n staleTime: 30 * 60000,\n queryFn: getContentStackProductListingPageData,\n onError: async (error) => {\n try {\n // eslint-disable-next-line no-console\n console.log(`An error occurred while requesting Product Listing Page content: `, error);\n await router.replace('/errorPage');\n return;\n } catch (error) {\n throw new Error(`There was a problem redirecting to /errorPage`);\n }\n },\n enabled: enabled && isSuccess && isCSProductListingPageEnabled && (!!taxonomyPath || !!url),\n });\n\n const isBrandPage = router.pathname === '/brands/[brandName]';\n\n const { data: brandData } = useBrandProductData({ enabled: isBrandPage });\n const premiumBrands =\n queryResponse.data?.additional_attributes_default_brand_shelf?.premium_brands?.map((brand) =>\n brand.toLowerCase()\n ) ?? [];\n const isBrandPremiumPage =\n productListingPageType === productListingPageTypes.brandShelfDefault &&\n premiumBrands?.includes(brandData?.brandName?.toLowerCase() ?? '');\n\n const premiumBrandQueryResponse = useQuery({\n queryKey: getCSProductListingPageKey({\n productListingPageType: productListingPageTypes.brandShelfPremium,\n segments: segments?.sort() ?? [],\n taxonomyPath,\n url,\n }),\n staleTime: 30 * 60000,\n queryFn: getContentStackProductListingPageData,\n enabled: isSuccess && !!isBrandPremiumPage,\n });\n\n return {\n isCSProductListingPageEnabled,\n ...(isBrandPremiumPage ? premiumBrandQueryResponse : queryResponse),\n };\n};\n\nexport const prefetchContentStackProductListingPageData = ({\n queryClient,\n taxonomyPath,\n context,\n userSegments,\n productListingPageType,\n url,\n}: {\n queryClient: QueryClient;\n taxonomyPath?: string;\n context: PageContextType;\n userSegments: string[];\n productListingPageType: ProductListingPageType;\n url?: string;\n}) => {\n return queryClient.prefetchQuery({\n queryKey: getCSProductListingPageKey({\n segments: userSegments,\n taxonomyPath,\n productListingPageType,\n url,\n }),\n queryFn: () =>\n getContentStackPLPContent(\n context.req,\n { ...context.query, taxonomyPath, productListingPageType, url },\n userSegments\n ),\n });\n};\n\nexport const getPLPDataFromCache = ({\n queryClient,\n taxonomyPath,\n userSegments,\n productListingPageType,\n url,\n}: {\n queryClient: QueryClient;\n taxonomyPath?: string;\n userSegments: string[];\n productListingPageType: ProductListingPageType;\n url?: string;\n}) => {\n return queryClient.getQueryData<ContentStackProductListingPage>(\n getCSProductListingPageKey({\n segments: userSegments,\n taxonomyPath,\n productListingPageType,\n url,\n })\n );\n};\n","/**\n * Copyright 2024 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { requestBaseURL } from '@/config/serviceAPI';\nimport { type SearchSkuRecordResponse } from '../interface';\nimport { useMonetateDecisionFlag } from '@/features/kibo/api/getKiboDecision';\nimport { useLocale } from '@/hooks/useLocale';\nimport { useSegments } from '@/features/header/api/getSegments';\nimport { type QueryClient, type QueryFunctionContext, useQuery } from '@tanstack/react-query';\nimport { getAxios } from '@/lib/axios';\nimport { getCountryFromLocale } from '@/utils/getCountryFromLocale';\nimport { type NextRouter, useRouter } from 'next/router';\nimport { showXMPreviewDate } from '@/utils/showXMPreviewDate';\nimport { usePreferredVehicle } from '@/features/header/hooks/usePreferredVehicle';\nimport { type Locale } from '@/types/i18n';\nimport { type AxiosInstance } from 'axios';\nimport { parseUrl, sanitizeUrlWithParamList } from '@/utils/urlHelpers';\nimport { acceptableShelfQueryParams } from '@/constants/queryParams';\nimport { routePaths } from '@/constants/routePaths';\n\nconst SEARCH_SKU_RECORD_URL = `${requestBaseURL}/external/product-discovery/browse-search/v1/search-product`;\nconst CUSTOMER_TYPE = 'B2C';\nconst SALES_CHANNEL = 'ECOMM';\nconst STALE_TIME_5_MINUTES = 60000 * 5;\n\ntype SearchSkuRecordDataOptions = {\n locale: Locale;\n searchText: string;\n userSegments?: string[];\n vehicleId?: string;\n};\n\nconst onSuccess = (data: SearchSkuRecordResponse, router: NextRouter) => {\n if (data.redirectUrl) {\n const { url, query } = parseUrl(data.redirectUrl);\n const sanitizedRedirectPath = sanitizeUrlWithParamList(\n {\n ...query,\n ...(router.query.searchText && {\n searchText: router.query.searchText,\n }),\n redirectUrl: 'true',\n },\n acceptableShelfQueryParams,\n url\n );\n\n void router.replace(sanitizedRedirectPath);\n }\n};\n\nconst getSearchSkuRecordData = async (\n { queryKey }: QueryFunctionContext<ReturnType<typeof getSearchSkuRecordDataKey>>,\n axiosInstance?: AxiosInstance\n) => {\n const [, { locale, searchText, userSegments, vehicleId }] = queryKey;\n const country = getCountryFromLocale(locale);\n const preview = showXMPreviewDate();\n const { data } = await getAxios(axiosInstance).get<SearchSkuRecordResponse>(\n SEARCH_SKU_RECORD_URL,\n {\n params: {\n country,\n customerType: CUSTOMER_TYPE,\n salesChannel: SALES_CHANNEL,\n searchText,\n userSegments: userSegments?.join(','),\n vehicleId,\n preview,\n },\n }\n );\n return data;\n};\n\nconst getSearchSkuRecordDataKey = ({\n locale,\n searchText,\n userSegments,\n vehicleId,\n}: SearchSkuRecordDataOptions) =>\n ['searchRecordData', { searchText, locale, userSegments, vehicleId }] as const;\n\nexport const useSearchSkuRecordData = () => {\n const isContentStackSRPEnabled = useMonetateDecisionFlag('cmsSearchResultsPageEnabled');\n const locale = useLocale();\n const { data: segments, isSuccess: segmentsSuccess } = useSegments();\n const router = useRouter();\n const preferredVehicle = usePreferredVehicle();\n\n const searchText = (router.query.searchText as string) ?? '';\n\n return useQuery({\n queryKey: getSearchSkuRecordDataKey({\n locale,\n searchText,\n userSegments: segments?.sort() ?? [],\n vehicleId: preferredVehicle?.catalogVehicleId ?? '0',\n }),\n queryFn: getSearchSkuRecordData,\n enabled:\n !!isContentStackSRPEnabled &&\n router.pathname === routePaths.searchResult &&\n !!searchText &&\n segmentsSuccess,\n staleTime: STALE_TIME_5_MINUTES,\n onSuccess: (data) => onSuccess(data, router),\n });\n};\n\nexport const prefetchSearchSkuRecordData = ({\n queryClient,\n axiosInstance,\n ...options\n}: SearchSkuRecordDataOptions & { queryClient: QueryClient; axiosInstance: AxiosInstance }) => {\n return queryClient.prefetchQuery({\n queryKey: getSearchSkuRecordDataKey(options),\n queryFn: (context: QueryFunctionContext<ReturnType<typeof getSearchSkuRecordDataKey>>) =>\n getSearchSkuRecordData(context, axiosInstance),\n });\n};\n\nexport const getSearchSkuRecordDataFromCache = ({\n queryClient,\n ...options\n}: SearchSkuRecordDataOptions & { queryClient: QueryClient }) => {\n return queryClient.getQueryData<SearchSkuRecordResponse>(getSearchSkuRecordDataKey(options));\n};\n","/**\n * Copyright 2022 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport type {\n ShelfPageBodyItemOne,\n ShelfPageBodyItemGeneric,\n GenericShelfItem,\n ShelfPageBodyItemFour,\n ShelfPageBodyItemTen,\n ShelfPageBodyItemResultsList,\n} from '@/types/legacy';\n\nexport function isShelfPageBodyItemResultsList(\n pageContents:\n | ShelfPageBodyItemOne\n | ShelfPageBodyItemGeneric\n | GenericShelfItem\n | ShelfPageBodyItemFour\n | ShelfPageBodyItemTen\n | ShelfPageBodyItemResultsList\n | undefined\n): pageContents is ShelfPageBodyItemResultsList {\n return (\n pageContents != null &&\n 'disableRecordsPerPage' in pageContents &&\n pageContents.disableRecordsPerPage != null\n );\n}\n","/**\n * Copyright 2021 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\nimport { useMemo } from 'react';\nimport { getCartridgeType } from '@/utils/getCartridgeType';\nimport type { ShelfPageBodyComplete, ShelfPageBodyItemResultsList } from '@/types/legacy';\nimport { isShelfPageBodyItemResultsList } from '../utils/isShelfPageBodyItemResultsList';\n\nexport const useGetShelfPageRecords = (\n shelfPageBody: ShelfPageBodyComplete | undefined\n): ShelfPageBodyItemResultsList | undefined => {\n const shelfPageRecords = useMemo(\n () =>\n shelfPageBody?.filter(\n (contentItem) => getCartridgeType(contentItem['@type']) === 'ResultsList'\n )?.[0],\n [shelfPageBody]\n );\n\n if (!isShelfPageBodyItemResultsList(shelfPageRecords)) {\n return undefined;\n }\n\n return shelfPageRecords;\n};\n","/**\n * Copyright 2023 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport { useDeviceType } from '@/utils/useDeviceType';\nimport { type NextRouter, useRouter } from 'next/router';\nimport { useFeatureFlag } from '@/features/globalConfig';\n\nexport const useIs24ProductViewEnabled = () => {\n const deviceType = useDeviceType();\n const router = useRouter();\n const flagValue = useFeatureFlag('IS_24_PRODUCT_VIEW_ENABLED') === 'true';\n\n return is24ProductViewEnabled({\n deviceType,\n query: router.query,\n flagValue,\n });\n};\n\nexport const is24ProductViewEnabled = ({\n query,\n deviceType,\n flagValue,\n}: {\n query: NextRouter['query'];\n deviceType: string;\n flagValue: boolean;\n}) => flagValue && deviceType !== 'bot' && (!query.recsPerPage || query.recsPerPage === '24');\n","/**\n * Copyright 2022 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\n\nimport type { FacetModel } from '@/api/types/browse-search-types';\nimport { useLabel } from '@/hooks/useLabels';\nimport { type FilterDataType } from '@/types/filterTypes';\n\nexport const getMapFacet = (facet: FacetModel, clearanceText: string): FilterDataType => ({\n displayName: facet.facetDisplayName,\n name: facet.facetDisplayName,\n dimensionName: facet.facetInternalName,\n refinements: (\n (facet.facetInternalName === 'clearance_i'\n ? facet?.facetValues\n ?.filter((refinement) => refinement.facetValueDisplayName !== '0')\n .map((item) => {\n if (item.facetValueDisplayName === '1') {\n item.facetValueDisplayName = clearanceText;\n }\n return item;\n })\n : facet.facetValues) ?? []\n )?.map((refinement) => ({\n count: refinement.itemCount ?? 0,\n label: refinement.facetValueDisplayName,\n properties: {\n seoUrl: refinement.seoUrl,\n isSelected: refinement.selectedFlag ?? false,\n optimizedSeoUrl: refinement.seoUrl,\n internalName: refinement.facetValueInternalName ?? undefined,\n filters: '',\n unCheckedOptimizedUrl: refinement.seoUrl ?? '',\n botsOptimizedSeoUrl: refinement.botSeoUrl ?? '',\n },\n multiSelect: facet.multiSelectFlag ?? false,\n '@class': '',\n navigationState: '',\n })),\n '@type': 'SearchLeftNav_RefinementMenu',\n multiSelect: facet.multiSelectFlag ?? false,\n filter: undefined,\n});\n\nexport const useMapFacet = () => {\n const clearanceText = useLabel('label_clearance_badge');\n\n return (facet: FacetModel) => getMapFacet(facet, clearanceText);\n};\n","/**\n * Copyright 2022 AutoZone, Inc.\n * Content is confidential to and proprietary information of AutoZone, Inc., its\n * subsidiaries and affiliates.\n */\nexport const getCartridgeType = (type: string): string =>\n type?.includes('_') ? type.split('_')[1] : type;\n"],"names":["URL","concat","requestBaseURL","selector","param","mapFacet","brandShelfResults","redirectUrl","xFusionQueryId","redirectLocation","recordsPerPage","total","totalNumberOfRecords","quickFilters","firstRecNum","firstRecordNumber","lastRecNum","lastRecordNumber","staticNavigation","facets","map","brandName","records","skuRecords","record","_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_9__","_","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_10__","active","activeFlag","alternatePartNumber","seoUrl","productDetailsPageUrl","imageUrl","itemImageUrl","productImageUrl","description","itemDescription","skuNumber","Number","itemId","locationFilter","itemLocation","lineCode","systemCode","originalSystemCode","partNumber","productRepositoryId","eCommerceProductId","productId","quickNote","techNote","technicalNote","recordType","skuReviewEnabled","reviewEnabledFlag","vehicleFitment","vehicleFit","vehicleFitmentLabel","warrantyMonths","brand","name","productReviewsEnabled","vehicleFitmentFlag","vehicleSpecific","vehicleSpecificFlag","originalPartTypeId","getBrandProductData","options","axiosInstance","locale","rest","country","getCountryFromLocale","params","customerType","salesChannel","response","getAxios","get","data","useData","useBrandProducts","prefetch","prefetchProductBrand","query","productBrandQuery","createQuery","useBrandProductData","infiniteQueryData","enabled","arguments","length","useLocale","router","useRouter","useMapFacet","preferredVehicle","usePreferredVehicle","storeDetailsData","useStoreDetailsData","is24ProductViewEnabled","useIs24ProductViewEnabled","storeNumber","vehicleId","catalogVehicleId","isLoadMoreEnabled","useMonetateDecisionFlag","currentPage","sort","recsPerPage","pageNumber","facet","minPrice","maxPrice","sortArr","split","sortOrder","sortFieldName","slice","join","path","asPath","parsedUrl","parseUrl","undefined","String","Array","isArray","storeId","url","preview","showXMPreviewDate","fetchNextPageBrandProductData","Promise","resolve","hasNextPageBrandProductData","fetchPreviousPageBrandProductData","hasPreviousPageBrandProductData","statusBrandProductData","refetchBrandProductResults","infiniteQueryResult","useInfiniteQuery","queryKey","getFullKey","queryFn","pageParam","getNextPageParam","lastPage","allPages","totalRecords","currentPageNumber","Math","ceil","onSuccess","pages","replace","regularQueryResult","fetchNextPage","hasNextPage","fetchPreviousPage","hasPreviousPage","status","refetch","then","mergedData","useMemo","reduce","acc","page","redirectPageType","isFetching","isLoading","resultData","selectedData","getMapFacet","fetchStatus","isSuccess","isError","CATEGORY_SHELF_URL","requestBaseURLGCP","getProductShelfResults","Boolean","eCookieId","taxonomyPath","canonicalPath","pageType","botEnabledFacetPath","makeModelYearPath","ignoreVehicleSpecificProductsCheck","rewardsId","tag","pageTypes","ProductShelf","isClearanceShelf","startsWith","routePaths","clearance","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_12__","_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_13__","ruleTags","isLandingPage","searchedKeyword","filterByKeyWord","searchText","partNumberSearch","headers","productShelfResultsSelector","productShelfResults","useProductShelfResultsData","prefetchProductShelfResultsData","productsShelfQuery","useProductShelfResults","plpCMSData","headerResult","fromRedirect","_param","useHeaderData","getPreferredVehicle","appState","useAppState","useCMSShelfPageConfig","isMerchShelfPage","route","isPLPCMSDataSuccess","useContentStackPLPData","reqUrl","pageTypeData","usePageType","lwTag","additional_attributes_merch_shelf_page","lucidworks_fusion_tag","loadMore","cleanedReqUrl","stringifyUrl","myAccountMap","state","fetchNextPageProductShelfResults","hasNextPageProductShelfResults","fetchPreviousPageProductShelfResults","hasPreviousPageProductShelfResuts","isFetchingProductShelfResults","isLoadingProductShelfResults","statusProductShelfResults","refetchProductShelfResults","staleTime","onError","err","logger","error","message","meta","isAxiosError","console","log","useProduleShelfFacets","getCSPLPResultList","resultsList","shelfpagebody","find","item","results_list","getRecsPerPage","deviceType","csResultList","isCSProductListingPageEnabled","allowedValues","includes","csRecordsPerPage","records_per_page","pageRecData","useDeviceType","shelfData","useProductList","useGetShelfPageRecords","shelfPageBody","totalRecs","totalNumRecs","rppOptions","records_per_page_dropdown","disableRecordsPerPage","disable_items_per_page","productListingPageTypes","default","merchShelf","brandShelfDefault","brandShelfPremium","searchResult","generateContentStackPLPParams","searchSkuRecordData","productListingPageType","isCSSearchResultsPageEnabled","pathname","cmsPath","getPathnameFromAsPath","skuRecord","getContentStackProductListingPageData","segments","getAxiosForClient","getCSProductListingPageKey","queryResponse","brandData","useSegments","useSearchSkuRecordData","useQuery","isBrandPage","premiumBrands","additional_attributes_default_brand_shelf","premium_brands","toLowerCase","isBrandPremiumPage","premiumBrandQueryResponse","esm_object_spread","SEARCH_SKU_RECORD_URL","sanitizedRedirectPath","sanitizeUrlWithParamList","_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_10__","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_11__","acceptableShelfQueryParams","getSearchSkuRecordData","userSegments","getSearchSkuRecordDataKey","isContentStackSRPEnabled","segmentsSuccess","shelfPageRecords","filter","getCartridgeType","contentItem","pageContents","flagValue","useFeatureFlag","clearanceText","_this","displayName","facetDisplayName","dimensionName","facetInternalName","refinements","facetValues","refinement","facetValueDisplayName","count","itemCount","label","properties","isSelected","selectedFlag","optimizedSeoUrl","internalName","facetValueInternalName","filters","unCheckedOptimizedUrl","botsOptimizedSeoUrl","botSeoUrl","multiSelect","multiSelectFlag","navigationState","useLabel","type"],"sourceRoot":""}