@openchambery/web 1.18.7-beta.1 → 1.18.7-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/assets/AgentAvatar-CVTgW_rx.js +1 -0
  2. package/dist/assets/AssistantView-CvQ91w2s.js +1 -0
  3. package/dist/assets/{ChatContainer-Dnxdg6He.js → ChatContainer-CERrtaB-.js} +41 -43
  4. package/dist/assets/ContextPanel-CLz4r1G-.js +285 -0
  5. package/dist/assets/{DiagramView-BplbsR8l.js → DiagramView-DhV4Zthj.js} +1 -1
  6. package/dist/assets/{FadeInOnReveal-By2F9vcI.js → FadeInOnReveal-Cy3sf2M5.js} +1 -1
  7. package/dist/assets/{Icon-DpjYnXxn.js → Icon-BLWVqBee.js} +1 -1
  8. package/dist/assets/{MarkdownRendererImpl-EP8W7j6_.js → MarkdownRendererImpl-B4qwUu4q.js} +2 -2
  9. package/dist/assets/{MobileDetailNavigation-CYq_8ZAq.js → MobileDetailNavigation-CuWgEThi.js} +1 -1
  10. package/dist/assets/{MobileShareBridge-VmA8Qdh0.js → MobileShareBridge-C3nay5Sq.js} +2 -2
  11. package/dist/assets/MobileSurface-D7v_ZkYO.js +2 -0
  12. package/dist/assets/{MultiRunWindow-F6NGMY5U.js → MultiRunWindow-Cq8yyiqm.js} +1 -1
  13. package/dist/assets/{OnboardingScreen-BKmuT7AL.js → OnboardingScreen-CTNi2zuA.js} +1 -1
  14. package/dist/assets/OverlayScrollbar-GQgJusKL.js +2 -0
  15. package/dist/assets/SettingsView-CViKCsxJ.js +25 -0
  16. package/dist/assets/{SettingsWindow-Z4sr2ZBF.js → SettingsWindow-C6vwy4hH.js} +1 -1
  17. package/dist/assets/{TerminalView-DnOowqR4.js → TerminalView-C1aX22ka.js} +1 -1
  18. package/dist/assets/{ToolOutputDialog-BKJJN6ZR.js → ToolOutputDialog-BrOqj1sB.js} +4 -4
  19. package/dist/assets/appThemeRegistry-BbqImxSo.js +2 -0
  20. package/dist/assets/{button-C7OXr4ae.js → button-CeCkEpvn.js} +1 -1
  21. package/dist/assets/{clipboard-DWuULPzo.js → clipboard-BXC1vZwE.js} +1 -1
  22. package/dist/assets/{collapsible-DaEya6b6.js → collapsible-B-aagADh.js} +1 -1
  23. package/dist/assets/{desktopHosts-Txp4xOVQ.js → desktopHosts-BrrYPqKq.js} +1 -1
  24. package/dist/assets/{desktopRelayRestore-C_FSEHKM.js → desktopRelayRestore-DR60DATT.js} +1 -1
  25. package/dist/assets/{diagram-CHfginjS.js → diagram-Cxma_IKI.js} +1 -1
  26. package/dist/assets/dialog-wraJHZQ2.js +1 -0
  27. package/dist/assets/es-DQqFAaWT.js +15 -0
  28. package/dist/assets/{fileQueries-BrUKKgPW.js → fileQueries-BJKLdYos.js} +1 -1
  29. package/dist/assets/fr-CNfGRpc1.js +13 -0
  30. package/dist/assets/{gitApi-CtHhG2UX.js → gitApi-B4z4eSZV.js} +1 -1
  31. package/dist/assets/{input-BzYA603C.js → input-CyG05w-V.js} +1 -1
  32. package/dist/assets/insertionBoundaries-DCYAK5W1.js +4 -0
  33. package/dist/assets/ja-CQqehnVn.js +15 -0
  34. package/dist/assets/ko-kmwi8UJD.js +15 -0
  35. package/dist/assets/main-A8oe9r34.js +29 -0
  36. package/dist/assets/{main-YMWxpyqS.js → main-BJBKpmw3.js} +2 -2
  37. package/dist/assets/{markdown-worker-C3uVXiOS.js → markdown-worker-DDCUZkz4.js} +1 -1
  38. package/dist/assets/{markdownTheme-B89dbj3N.js → markdownTheme-H7_7lbuh.js} +1 -1
  39. package/dist/assets/miniChat-BObOyFSV.js +2 -0
  40. package/dist/assets/mobile-Ba390Cmc.js +2 -0
  41. package/dist/assets/multirun-CMDYOrmD.js +4 -0
  42. package/dist/assets/{persistence-6sclr7B6.js → persistence-DE9RnVcA.js} +2 -2
  43. package/dist/assets/pl-Blv5o2QA.js +15 -0
  44. package/dist/assets/platform-MjT8iqKB.js +2 -0
  45. package/dist/assets/projectMeta-uWBWFG5A.js +3 -0
  46. package/dist/assets/pt-BR-BK74t-Bd.js +15 -0
  47. package/dist/assets/radio-CEXUd4RC.js +1 -0
  48. package/dist/assets/renderElectronMiniChatApp-Bpgb2E78.js +2 -0
  49. package/dist/assets/renderMobileApp-BMwRozEC.js +23 -0
  50. package/dist/assets/runtimeConfig-hHuyauKZ.js +2 -0
  51. package/dist/assets/runtimeEndpointReset-CmMI7Xp1.js +4 -0
  52. package/dist/assets/shikiHighlight-C-kTQvqd.js +1 -0
  53. package/dist/assets/{sortable-tabs-strip-nLsPC06f.js → sortable-tabs-strip-BdbKDDAP.js} +1 -1
  54. package/dist/assets/src-CgFGBE_A.css +2 -0
  55. package/dist/assets/store-UweBeN2y.js +15 -0
  56. package/dist/assets/{terminalApi-BpPeXWIu.js → terminalApi-Bnx0KvaV.js} +1 -1
  57. package/dist/assets/{tooltip-D_orJMYd.js → tooltip-B__x-HDJ.js} +1 -1
  58. package/dist/assets/uk-6I-KXy3R.js +15 -0
  59. package/dist/assets/{url-BsaBG5-1.js → url-CTuw7Rjf.js} +1 -1
  60. package/dist/assets/{useAppFontEffects-DPE9SuwC.js → useAppFontEffects-8iAE0Yrj.js} +5 -5
  61. package/dist/assets/{useAssistantUIStore-BHsHXCKE.js → useAssistantUIStore-D2K7ksGj.js} +1 -1
  62. package/dist/assets/{useDesktopWindowControlsLayout-evJk53fe.js → useDesktopWindowControlsLayout--oz1VAPt.js} +1 -1
  63. package/dist/assets/useEffectiveDirectory-DmoqXaa4.js +1 -0
  64. package/dist/assets/{useFontPreferences-ckzpXQaJ.js → useFontPreferences-CWZnNRjz.js} +1 -1
  65. package/dist/assets/useMobileNavigationStore-BxbEX-es.js +412 -0
  66. package/dist/assets/useSessionAutoCleanup-BwlJlhY7.js +1 -0
  67. package/dist/assets/{useUIStore-DzwCfRqr.js → useUIStore-DOxLVeGb.js} +1 -1
  68. package/dist/assets/{useWorkerHighlightedLines-ClEzCydD.js → useWorkerHighlightedLines-B21D9MOD.js} +1 -1
  69. package/dist/assets/{utils-B1EK5zKa.js → utils-C2R0YoC5.js} +1 -1
  70. package/dist/assets/vendor-legendapp-list-WE32lwNk.js +1 -0
  71. package/dist/assets/zh-CN-DwlzS4yK.js +15 -0
  72. package/dist/assets/zh-TW-p0VriyfT.js +15 -0
  73. package/dist/index.html +9 -9
  74. package/dist/mini-chat.html +9 -9
  75. package/dist/mobile.html +9 -9
  76. package/package.json +3 -2
  77. package/server/index.js +23 -20
  78. package/server/lib/config-sync/DOCUMENTATION.md +6 -7
  79. package/server/lib/config-sync/engine.js +0 -8
  80. package/server/lib/config-sync/index.js +0 -7
  81. package/server/lib/config-sync/receiver.js +0 -35
  82. package/server/lib/config-sync/routes.js +8 -41
  83. package/server/lib/config-sync/routes.test.js +1 -38
  84. package/server/lib/notifications/APNS.md +88 -38
  85. package/server/lib/notifications/DOCUMENTATION.md +11 -4
  86. package/server/lib/notifications/apns-runtime.js +793 -78
  87. package/server/lib/notifications/apns-runtime.test.js +922 -0
  88. package/server/lib/notifications/apns-titles.js +212 -0
  89. package/server/lib/notifications/apns-titles.test.js +55 -0
  90. package/server/lib/notifications/routes.js +57 -1
  91. package/server/lib/notifications/runtime.js +20 -17
  92. package/server/lib/notifications/runtime.test.js +108 -0
  93. package/server/lib/opencode/DOCUMENTATION.md +1 -1
  94. package/server/lib/opencode/bootstrap-runtime.js +6 -0
  95. package/server/lib/opencode/bootstrap-runtime.test.js +21 -0
  96. package/server/lib/opencode/openchamber-routes.js +1 -7
  97. package/server/lib/opencode/routes.js +24 -5
  98. package/server/lib/opencode/routes.test.js +78 -1
  99. package/server/lib/opencode/settings-helpers.js +0 -3
  100. package/server/lib/opencode/shutdown-runtime.js +0 -2
  101. package/server/lib/relay/DOCUMENTATION.md +2 -2
  102. package/server/lib/relay/service.js +45 -3
  103. package/server/lib/relay/service.test.js +117 -0
  104. package/server/lib/relay/signing-key.js +1 -1
  105. package/server/lib/scheduled-tasks/DOCUMENTATION.md +27 -2
  106. package/server/lib/scheduled-tasks/runtime.js +271 -3
  107. package/server/lib/scheduled-tasks/runtime.test.js +308 -0
  108. package/server/lib/session-goal/DOCUMENTATION.md +3 -3
  109. package/server/lib/session-goal/runtime.js +3 -3
  110. package/server/lib/session-title/DOCUMENTATION.md +1 -2
  111. package/server/lib/small-model/DOCUMENTATION.md +2 -2
  112. package/dist/assets/AgentAvatar-DDcjamcJ.js +0 -1
  113. package/dist/assets/AssistantView-BsQRWYlz.js +0 -1
  114. package/dist/assets/MobileSurface-D7aKyOLV.js +0 -2
  115. package/dist/assets/OverlayScrollbar-Ch3J6ASR.js +0 -2
  116. package/dist/assets/SettingsView-5b0tAHTL.js +0 -25
  117. package/dist/assets/appThemeRegistry-Dfucen00.js +0 -2
  118. package/dist/assets/context-menu-in4KRVok.js +0 -1
  119. package/dist/assets/dialog-DPS0W9eS.js +0 -1
  120. package/dist/assets/es-BX0Vm3Ac.js +0 -15
  121. package/dist/assets/fr-CuPzXTYx.js +0 -13
  122. package/dist/assets/insertionBoundaries--0yrL837.js +0 -1
  123. package/dist/assets/ja-DGtzjrFO.js +0 -15
  124. package/dist/assets/ko-DZ9Di0je.js +0 -15
  125. package/dist/assets/main-B9klnJvc.js +0 -172
  126. package/dist/assets/miniChat-D6inDYgY.js +0 -2
  127. package/dist/assets/mobile-DRu5smYb.js +0 -2
  128. package/dist/assets/multirun-CVRJ-r1z.js +0 -4
  129. package/dist/assets/pl-BuCO3qb1.js +0 -15
  130. package/dist/assets/platform-CbeLpKPk.js +0 -2
  131. package/dist/assets/projectMeta-Cr4ghXIQ.js +0 -3
  132. package/dist/assets/pt-BR-Brf4RMsw.js +0 -15
  133. package/dist/assets/radio-C9Qe2mW1.js +0 -1
  134. package/dist/assets/renderElectronMiniChatApp-CCpXytpP.js +0 -2
  135. package/dist/assets/renderMobileApp-BmAEbSuq.js +0 -23
  136. package/dist/assets/runtimeConfig-JC8_XlMh.js +0 -2
  137. package/dist/assets/runtimeEndpointReset-Cgefx6dv.js +0 -147
  138. package/dist/assets/src-CpetTO35.css +0 -2
  139. package/dist/assets/store-DQY8Fkb0.js +0 -15
  140. package/dist/assets/uk-C-wmaPTi.js +0 -15
  141. package/dist/assets/useEffectiveDirectory-Bdc1_8wI.js +0 -1
  142. package/dist/assets/useMobileNavigationStore-BNyyqZch.js +0 -475
  143. package/dist/assets/useSessionAutoCleanup-C-NCLDvZ.js +0 -1
  144. package/dist/assets/zh-CN-DueRrIql.js +0 -15
  145. package/dist/assets/zh-TW-6875X80V.js +0 -15
  146. package/server/lib/config-sync/credential-auth.js +0 -39
  147. package/server/lib/session-assist/DOCUMENTATION.md +0 -62
  148. package/server/lib/session-assist/runtime.js +0 -376
  149. package/server/lib/session-assist/runtime.test.js +0 -114
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{et as t,rt as n,tt as r}from"./vendor-base-ui-CnHfUmDN.js";var i=e(n(),1),a=t(),o=e(r(),1);(0,i.forwardRef)(function(e,t){return i.createElement(`div`,{ref:t,...e})});var s=(0,i.forwardRef)(function(e,t){return i.createElement(`div`,{ref:t,...e})}),c=s,l={OS:`web`};function u(e,t){return t===void 0?e:Math.max(0,Math.min(t,e))}function d(e,t){return t===void 0||!Number.isFinite(t)||!Number.isFinite(e.scrollLength)||t<=e.scrollLength?t!==void 0&&Number.isFinite(t)&&Number.isFinite(e.scrollLength)?0:void 0:Math.max(0,t-e.scrollLength)}function f(){return`normal`}function p(e){return e?.horizontalRTLScrollType??f()}function m(e){return e?.rtl??!1}function h(e){return g(e?.props)}function g(e){return!!e?.horizontal&&m(e)}function _(e){return e?.horizontal?(g(e)?e.stylePaddingLeft:e.stylePaddingRight)||0:e?.stylePaddingBottom||0}function v(e,t){return t&&(h(e)?t.left:t.right)||0}function y(e,t,n,r){return!h(e)||r===void 0||!Number.isFinite(r)?t:Math.max(0,r-t-n)}function b(e,t,n){if(!e||!h(e))return t;let r=d(e,n),i=u(t,r),a=p(e);return a===`negative`?i===0?0:-i:a===`inverted`?r===void 0?i:u(r-i,r):i}function x(e,t,n){if(!h(e))return e.horizontalRTLScrollType=void 0,t;let r=d(e,n);if(t<0)return e.horizontalRTLScrollType=`negative`,u(-t,r);if(r===void 0)return t;let i=t,a=r-t;if(!Number.isFinite(a))return e.horizontalRTLScrollType=`normal`,i;let o=e.horizontalRTLScrollType;if(o===`inverted`)return u(a,r);if(o===`normal`)return u(i,r);if(!e.hasScrolled)return e.horizontalRTLScrollType=f(),u(i,r);let s=e.scroll,c=Math.abs(i-s),l=Math.abs(a-s)+.5<c;return e.horizontalRTLScrollType=l?`inverted`:`normal`,u(l?a:i,r)}var S=e=>e,C=i.createContext(null),w=`\0`,T=0;function E({children:e}){let[t]=i.useState(()=>({animatedScrollY:S(0),columnWrapperStyle:void 0,containerLayoutTriggers:new Map,contextNum:T++,listeners:new Map,mapViewabilityAmountCallbacks:new Map,mapViewabilityAmountValues:new Map,mapViewabilityCallbacks:new Map,mapViewabilityConfigStates:new Map,mapViewabilityValues:new Map,pendingContainerIds:void 0,positionListeners:new Map,scrollAxisGap:0,state:void 0,values:new Map([[`alignItemsAtEndPadding`,0],[`containerLayoutEpoch`,0],[`stylePaddingTop`,0],[`headerSize`,0],[`numContainers`,0],[`activeStickyIndex`,-1],[`isAtEnd`,!1],[`isAtStart`,!1],[`isNearEnd`,!1],[`isNearStart`,!1],[`isWithinMaintainScrollAtEndThreshold`,!1],[`adaptiveRender`,`normal`],[`totalSize`,0],[`scrollAdjustPending`,0]]),viewRefs:new Map}));return i.createElement(C.Provider,{value:t},e)}function D(){return i.useContext(C)}function O(e,t){if(!e){let e=[];return{get:()=>e,subscribe:()=>()=>{}}}let n=[],r=[];return{get:()=>{let i=[],a=!1;for(let n=0;n<t.length;n++){let o=M(e,t[n]);i.push(o),o!==r[n]&&(a=!0)}return r=i,a&&(n=i),n},subscribe:n=>{let r=[];for(let i of t)r.push(j(e,i,n));return()=>{for(let e of r)e()}}}}function k(e){return e.length===1?e[0]:e.join(w)}function A(e){return e.split(w)}function j(e,t,n){let{listeners:r}=e,i=r.get(t);return i||(i=new Set,r.set(t,i)),i.add(n),()=>i.delete(n)}function M(e,t){let{values:n}=e;return n.get(t)}function N(e,t,n){let{listeners:r,values:i}=e;if(i.get(t)!==n){i.set(t,n);let e=r.get(t);if(e)for(let t of e)t(n)}}function P(e,t,n){let{positionListeners:r}=e,i=r.get(t);return i||(i=new Set,r.set(t,i)),i.add(n),()=>i.delete(n)}function ee(e,t,n){let{positionListeners:r}=e,i=r.get(t);if(i)for(let e of i)e(n)}function F(e){let t=i.useContext(C),n=k(e),{subscribe:r,get:o}=i.useMemo(()=>O(t,A(n)),[t,n]);return(0,a.useSyncExternalStore)(r,o,o)}function I(e,t){let n=i.useContext(C),{subscribe:r,get:o}=i.useMemo(()=>O(n,[e]),[n,e]),s=i.useCallback(()=>t(o()[0]),[o,t]);return(0,a.useSyncExternalStore)(r,s,s)}function te(e){return Math.max(0,e??0)}function L(e,t){let n=e.state,{props:r}=n,i=r.horizontal,a=r.contentInset??n.nativeContentInset,o=(i?v(n,a):a?.bottom)||0,s=te(t??r.contentInsetEndAdjustment),c=M(e,`anchoredEndSpaceSize`),l=r.anchoredEndSpace&&c?c:0,u=n.contentInsetOverride??void 0,d=o+s;if(u){let e={bottom:0,left:0,right:0,...a,...u};return Math.max(((i?v(n,e):e.bottom)||0)+s,l)}return Math.max(d,l)}function R(e){let{values:t,state:n}=e,r=n.props.horizontal?n.props.stylePaddingLeft||0:t.get(`stylePaddingTop`)||0,i=n.props.horizontal?n.props.stylePaddingRight||0:n.props.stylePaddingBottom||0,a=t.get(`alignItemsAtEndPadding`)||0,o=t.get(`headerSize`)||0,s=t.get(`footerSize`)||0,c=L(e),l=n.pendingTotalSize??n.totalSize??t.get(`totalSize`),u=Math.max(0,l-(n.props.data.length>0?e.scrollAxisGap:0));return o+s+u+r+a+i+(c||0)}var z=({children:e})=>i.createElement(s,{style:{alignItems:`center`,flexDirection:`row`,justifyContent:`space-between`}},e);i.memo(function(){let e=D(),[t=0,n=0,r=0,a=0,o=0,l=0,u=!1]=F([`totalSize`,`scrollAdjust`,`debugRawScroll`,`debugComputedScroll`,`numContainers`,`numContainersPooled`,`isAtEnd`]),d=R(e),[,f]=(0,i.useReducer)(e=>e+1,0);return ne(()=>{f()},100),i.createElement(s,{pointerEvents:`none`,style:{backgroundColor:`#FFFFFFCC`,borderRadius:4,padding:4,paddingBottom:4,paddingLeft:4,position:`absolute`,right:0,top:0}},i.createElement(z,null,i.createElement(c,null,`TotalSize:`),i.createElement(c,null,t.toFixed(2))),i.createElement(z,null,i.createElement(c,null,`ContentSize:`),i.createElement(c,null,d.toFixed(2))),i.createElement(z,null,i.createElement(c,null,`At end:`),i.createElement(c,null,String(u))),i.createElement(z,null,i.createElement(c,null,`ScrollAdjust:`),i.createElement(c,null,n.toFixed(2))),i.createElement(z,null,i.createElement(c,null,`RawScroll: `),i.createElement(c,null,r.toFixed(2))),i.createElement(z,null,i.createElement(c,null,`ComputedScroll: `),i.createElement(c,null,a.toFixed(2))))});function ne(e,t){(0,i.useEffect)(()=>{let n=setInterval(e,t);return()=>clearInterval(n)},[t])}var re=!0,ie=new WeakMap;function B(e){return ie.get(e)}function ae(e,t){ie.set(e,t)}var oe=typeof __DEV__<`u`?__DEV__:void 0,V=typeof process<`u`?`production`:void 0,H=(typeof V==`string`?V.toLowerCase()!==`production`:void 0)??oe??!1,se=-1e7,ce=1,le=H&&!1,ue=H&&!1;function de({scheduledWork:e}){e.cancel(`checkFinishedScrollFrame`),e.cancel(`checkFinishedScrollRetryFrame`),e.cancel(`checkFinishedScrollFallback`),e.cancel(`platformScrollCompletion`)}function fe(e){let t=e.pendingScrollResolve??e.pendingScrollToEnd?.resolve;e.pendingScrollResolve=void 0,e.pendingScrollToEnd=void 0,t?.()}function pe(e){de(e),e.scheduledWork.cancel(`imperativeScrollReady`),e.scrollingTo=void 0,e.scrollTargetPinnedRange=void 0,fe(e)}function me(e,t,n){return{...t,nativeEvent:{...t.nativeEvent,contentOffset:e.props.horizontal?{x:n,y:0}:{x:0,y:n}}}}function he(e,t){var n,r;let i=e.state,a=i.deferredPublicOnScrollEvent;i.deferredPublicOnScrollEvent=void 0,a&&((r=(n=i.props).onScroll)==null||r.call(n,me(i,a,t??i.scrollPending??i.scroll??0)))}var ge=1;function _e(e){return!!(e?.didDispatchNativeScroll||e?.didRetrySilentInitialScroll||e?.watchdog)}function ve(e){e.initialScrollSession=void 0}function ye(e){let{bootstrap:t,completion:n,kind:r,previousDataLength:i}=e;return r===`offset`?{completion:n,kind:r,previousDataLength:i}:{bootstrap:t,completion:n,kind:r,previousDataLength:i}}function be(e,t=(t=>(t=(t=>(t=e.initialScrollSession)?.kind)())??`bootstrap`)()){var n;return e.initialScrollSession?e.initialScrollSession.kind!==t&&(e.initialScrollSession=ye({bootstrap:e.initialScrollSession.kind===`bootstrap`?e.initialScrollSession.bootstrap:void 0,completion:e.initialScrollSession.completion,kind:t,previousDataLength:e.initialScrollSession.previousDataLength})):e.initialScrollSession=ye({completion:{},kind:t,previousDataLength:0}),(n=e.initialScrollSession).completion??(n.completion={}),e.initialScrollSession.completion}var xe={didDispatchNativeScroll(e){return!!e.initialScrollSession?.completion?.didDispatchNativeScroll},didRetrySilentInitialScroll(e){return!!e.initialScrollSession?.completion?.didRetrySilentInitialScroll},markInitialScrollNativeDispatch(e){be(e).didDispatchNativeScroll=!0},markSilentInitialScrollRetry(e){be(e).didRetrySilentInitialScroll=!0},resetFlags(e){if(!e.initialScrollSession)return;let t=be(e,e.initialScrollSession.kind);t.didDispatchNativeScroll=void 0,t.didRetrySilentInitialScroll=void 0}},U={clear(e){U.set(e,void 0)},didReachTarget(e,t){return Math.abs(e-t.targetOffset)<=ge},get(e){return e.initialScrollSession?.completion?.watchdog},hasNonZeroTargetOffset(e){return e!==void 0&&e>ge},isAtZeroTargetOffset(e){return e<=ge},set(e,t){if(!t&&!e.initialScrollSession?.completion?.watchdog)return;let n=be(e);n.watchdog=t?{startScroll:t.startScroll,targetOffset:t.targetOffset}:void 0}};function W(e,t={}){let n=e.initialScrollSession,r=t.kind??n?.kind,i=n?.completion,a=n?.kind===`bootstrap`?n.bootstrap:void 0,o=r===`bootstrap`?t.bootstrap===null?void 0:t.bootstrap??a:void 0;return!r||!e.initialScroll&&!o&&!_e(i)?ve(e):(e.initialScrollSession=ye({bootstrap:o,completion:i,kind:r,previousDataLength:t.previousDataLength??n?.previousDataLength??0}),e.initialScrollSession)}var Se=1.3;function Ce(e,t,n){let r=Math.abs(e);return!t&&n>0&&r>=n*Se||!t&&n<=0&&r>0}var we=(e,t,n,r,i,a,o,s)=>{let c=t||n>0&&Math.abs(e)<=n,l=()=>{s({atThreshold:t,contentSize:a.contentSize,dataLength:a.dataLength,scrollPosition:a.scrollPosition})};return r?Ce(e,t,n)?(s(void 0),!1):(c&&(!i||i.atThreshold!==t||i.contentSize!==a.contentSize||i.dataLength!==a.dataLength)&&l(),!0):c?(o(e),l(),!0):!1};function Te(e,t){let n=e.state;t===`start`?(n.isStartReached=!1,n.startReachedSnapshot=void 0):(n.isEndReached=!1,n.endReachedSnapshot=void 0)}function Ee(e){let t=e.state;if(!t.edgeReachedGate)return;let n=R(e),r=n-t.scroll-t.scrollLength-L(e),i=n<t.scrollLength,a=t.props.onStartReachedThreshold*t.scrollLength,o=t.props.onEndReachedThreshold*t.scrollLength,s=Ce(t.scroll,!1,a),c=Ce(r,i,o);s&&c&&(t.edgeReachedGate=void 0)}function De(e,t,n,r){return!e.state.edgeReachedGate||n===t||!!r}function Oe(e){e.state.edgeReachedGate=`closed`}function ke(e){e.state.edgeReachedGate&&(e.state.edgeReachedGate=`prepared`)}function G(e,t){let n=e.state;if(n.edgeReachedGate!==`prepared`)return;let r=t<0?`start`:`end`;return n.edgeReachedGate=`closed`,Te(e,r),r}function Ae(e){return!!e?.initialScroll&&!e.didFinishInitialScroll}function je(e,t,n){let r=e.state;if(!r)return;let{queuedInitialLayout:i,scrollLength:a,scroll:o,maintainingScrollAtEnd:s,props:{maintainScrollAtEndThreshold:c,onEndReachedThreshold:l}}=r,u=R(e);if(Ee(e),r.props.data.length===0&&a>0&&u<=a){N(e,`isAtEnd`,!0),N(e,`isNearEnd`,!0),N(e,`isWithinMaintainScrollAtEndThreshold`,!0);return}if(u>0&&i){let i=L(e),d=u-o-a-i,f=u<a;N(e,`isAtEnd`,f||d<=ce),N(e,`isNearEnd`,f||d<=l*a),N(e,`isWithinMaintainScrollAtEndThreshold`,f||d<=c*a||r.pendingMaintainScrollAtEnd||s===`animated`||s===`instant`),Ae(r)||s||(r.isEndReached=we(d,f,l*a,r.isEndReached,r.endReachedSnapshot,{contentSize:u,dataLength:r.props.data?.length,scrollPosition:o},i=>{var a,o;De(e,`end`,t,n)&&(Oe(e),(o=(a=r.props).onEndReached)==null||o.call(a,{distanceFromEnd:i}))},e=>{r.endReachedSnapshot=e}))}}function Me(e,t,n){let r=e?.state;if(!r)return;let{isStartReached:i,props:{data:a,onStartReachedThreshold:o},scroll:s,scrollLength:c,startReachedSnapshot:l,totalSize:u}=r,d=a.length,f=o*c;Ee(e),i&&f>0&&s>f&&l&&(l.contentSize!==u||l.dataLength!==d)&&(r.isStartReached=!1,r.startReachedSnapshot=void 0),N(e,`isAtStart`,s<=ce),N(e,`isNearStart`,s<=f),Ae(r)||r.scrollingTo||(r.isStartReached=we(s,!1,f,r.isStartReached,l,{contentSize:u,dataLength:d,scrollPosition:s},i=>{var a,o;De(e,`start`,t,n)&&(Oe(e),(o=(a=r.props).onStartReached)==null||o.call(a,{distanceFromStart:i}))},e=>{r.startReachedSnapshot=e}))}function Ne(e,t){let n=!e.state.edgeReachedGate;je(e,t,n),Me(e,t,n)}function Pe(e){var t;let n=e.state;n.props?.data&&((t=n.triggerCalculateItemsInView)==null||t.call(n,{forceFullItemPositions:!0})),Ne(e)}var Fe=6,Ie=3,Le=250;function Re(e){e.state.scheduledWork.cancel(`adaptiveRender`)}function ze(e,t){let n=e.state;Re(e),t<=0?Be(e,`normal`,`scroll`):n.scheduledWork.timeout(()=>Be(e,`normal`,`scroll`),t,`adaptiveRender`)}function Be(e,t,n){var r,i;M(e,`adaptiveRender`)!==t&&(N(e,`adaptiveRender`,t),(i=(r=e.state.props.adaptiveRender)?.onChange)==null||i.call(r,t,n))}function Ve(e){Re(e);let t=e.state.props.adaptiveRender?.initialMode??`normal`;M(e,`adaptiveRender`)!==t&&Be(e,t,`initial`)}function He(e,t,n){let r=e.state,i=r.props.adaptiveRender,a=M(e,`adaptiveRender`);if(M(e,`readyToRender`))if(i){let o=i.enterVelocity??Fe,s=i.exitVelocity??Ie,c=i.exitDelay??Le,l=a===`light`?s:o,u=n?.forceLight||Math.abs(t)>l?`light`:`normal`;u!==(r.scheduledWork.has(`adaptiveRender`)?`normal`:a)&&(u===`light`?(Be(e,`light`,`scroll`),ze(e,c)):a===`light`&&ze(e,c))}else Ve(e)}var Ue=50;function We(e,t){let n=e.state.props.drawDistance,r=e.state.initialScroll,i=r!==void 0&&(r.viewPosition??0)>0;return t===`visible-first`||t!==`full`&&!M(e,`readyToRender`)&&!i?Math.min(n,Ue):n}function Ge(e){let{state:t}=e;t.props.drawDistance<=Ue||t.scheduledWork.has(`fullDrawDistancePrewarm`)||t.scheduledWork.frame(()=>t.triggerCalculateItemsInView?.call(t),`fullDrawDistancePrewarm`)}function Ke(e,{resetLayout:t,resetInitialScroll:n}){let{state:r}=e;t&&(r.didContainersLayout=!1,r.queuedInitialLayout=!1),n&&(r.didFinishInitialScroll=!1),N(e,`readyToRender`,!1),Ve(e)}function qe(e,{didLayout:t,didInitialScroll:n}){let{state:r}=e,{loadStartTime:i,props:{onLoad:a}}=r;t&&(r.didContainersLayout=!0),n&&(r.didFinishInitialScroll=!0),r.didContainersLayout&&r.didFinishInitialScroll&&!M(e,`readyToRender`)&&(N(e,`readyToRender`,!0),Be(e,`normal`,`ready`),r.props.drawDistance>Ue&&Ge(e),r.didLoad||(r.didLoad=!0,a&&a({elapsedTimeInMs:Date.now()-i})))}var Je=2e3;function Ye(e,t){e.scroll=t,e.scrollPending=t,e.scrollPrev=t}function Xe(e){e.scheduledWork.cancel(`preservedInitialScroll`)}function Ze(e){Xe(e),e.clearPreservedInitialScrollOnNextFinish=void 0,e.initialScroll=void 0,W(e)}function Qe(e){let t=e.state,n=t.initialScrollSession?.kind===`bootstrap`?t.initialScrollSession.bootstrap:void 0;(t.initialScroll||n||t.scrollingTo?.isInitialScroll)&&(n?.frameHandle!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n.frameHandle),t.scrollingTo?.isInitialScroll&&(de(t),t.scrollingTo=void 0,t.scrollTargetPinnedRange=void 0),xe.resetFlags(t),W(t,{bootstrap:null}),$e(e))}function $e(e,t){var n;let r=e.state;if(t?.resolvedOffset!==void 0)Ye(r,t.resolvedOffset);else if(t?.syncObservedOffset&&r.initialScrollSession?.kind===`offset`){let e=((n=r.refScroller.current)?.getCurrentScrollOffset)?.call(n);typeof e==`number`&&Number.isFinite(e)&&Ye(r,e)}let i=()=>{var n;let i=r.initialScrollSession?.kind===`bootstrap`,a=t?.resolvedOffset??r.scrollPending??r.scroll??0;U.clear(r),t?.preserveTarget&&r.initialScroll?(r.clearPreservedInitialScrollOnNextFinish=void 0,W(r),Xe(r),t?.schedulePreservedTargetClear&&r.scheduledWork.timeout(()=>{!r.didFinishInitialScroll||r.scrollingTo?.isInitialScroll||!r.initialScroll||Ze(r)},Je,`preservedInitialScroll`)):Ze(r),t?.recalculateItems&&Pe(e),qe(e,{didInitialScroll:!0}),i&&he(e,a),(n=t?.onFinished)==null||n.call(t)};if(t?.waitForCompletionFrame){requestAnimationFrame(i);return}i()}function et(e,t){let n=e.state;return t===void 0?0:n.positions[t]||0}function tt(e){let{state:t}=e;return(t.props.horizontal?(h(t)?t.props.stylePaddingRight:t.props.stylePaddingLeft)||0:M(e,`stylePaddingTop`)||0)+(M(e,`alignItemsAtEndPadding`)||0)+(M(e,`headerSize`)||0)}function K(e,t){let{data:n,keyExtractor:r}=e.props;if(!n)return``;let i=t<n.length?r?r(n[t],t):t:null;return e.idCache[t]=i,i}function nt(e){let{state:t,values:n}=e;return(n.get(`headerSize`)||0)+(n.get(`footerSize`)||0)+(t.pendingTotalSize??t.totalSize??n.get(`totalSize`)??0)+(t.props.stylePaddingTop||0)+(t.props.stylePaddingBottom||0)}function rt(e){let{state:t}=e;return t.props.alignItemsAtEndPaddingEnabled&&!t.props.horizontal&&t.props.data.length>0&&t.scrollLength>0?Math.max(0,t.scrollLength-nt(e)-L(e)):0}function it(e){let{state:t}=e,n=M(e,`alignItemsAtEndPadding`)||0,r=rt(e);if(n!==r){let i=t.maintainingScrollAtEnd===`pending-animated`||t.maintainingScrollAtEnd===`animated`,a=t.didContainersLayout&&t.props.maintainScrollAtEnd?.animated&&(i||n>r&&M(e,`isWithinMaintainScrollAtEndThreshold`));a&&!i&&!t.pendingMaintainScrollAtEnd?t.scheduledWork.microtask(()=>{!t.maintainingScrollAtEnd&&!t.pendingMaintainScrollAtEnd&&N(e,`alignItemsAtEndPadding`,rt(e))},`alignItemsAtEndPaddingFallback`):a||N(e,`alignItemsAtEndPadding`,r)}}function at(e,t,n,r=!0){let i=e.state,a=i.totalSize,o=i.totalSize;t===null?(o=n,i.timeoutSetPaddingTop&&=(clearTimeout(i.timeoutSetPaddingTop),void 0)):o+=n,a===o?r&&e.values.get(`totalSize`)!==o&&N(e,`totalSize`,o):(i.pendingTotalSize=void 0,i.totalSize=o,r&&N(e,`totalSize`,o),it(e))}function ot(e,t,n,r=!0){let{sizes:i}=e.state,a=i.get(t),o=a===void 0?n:n-a;o!==0&&at(e,t,o,r),i.set(t,n)}function st(e){return typeof e==`function`}function ct(e){return Array.isArray(e)}var q=new Set;function lt(e,t){H&&!q.has(e)&&(q.add(e),console.warn(`[legend-list] ${t}`))}function ut(e){return Math.floor(e*8)/8}function dt(e){return e==null}function ft(e,t){let n=t===`Left`||t===`Right`?e.paddingHorizontal:e.paddingVertical;return e[`padding${t}`]??n??e.padding??0}function pt(e,t,n){return ft(e,n)+ft(t,n)}function mt(e,t){let n=(e.state?.containerItemKeys)?.get(t);if(n!==void 0)return n;let r=M(e,`numContainers`);for(let n=0;n<r;n++)if(M(e,`containerItemKey${n}`)===t)return n;return-1}function ht(e,t,n,r,i){let a=e.state,{getFixedItemSize:o,getItemType:s}=a.props,c=t?a.sizesKnown.get(t):void 0;if(c===void 0&&t&&o){let l=i?.itemType??(s?s(r,n)??``:``),u=i?.didResolveFixedItemSize?i.fixedItemSize:o(r,n,l);u!==void 0&&(c=u+e.scrollAxisGap,a.sizesKnown.set(t,c))}return c}function J(e,t){return ht(e,K(e.state,t),t,e.state.props.data[t])}function gt(e,t,n){for(let r=t;r<=n;r++)if(J(e,r)===void 0)return!1;return!0}function Y(e,t,n,r,i,a,o,s){let c=e.state,{sizes:l,averageSizes:u,props:{estimatedItemSize:d,getItemType:f},scrollingTo:p}=c,m=c.sizesKnown.get(t);if(m!==void 0)return m;let h,g=l.get(t);if(a&&g!==void 0)return g;if(h=ht(e,t,n,r,s),h!==void 0)return ot(e,t,h,o),h;let _=s?.itemType??(f?f(r,n)??``:``);if(i&&!p){let e=u[_]?.avg;e!==void 0&&(h=ut(e))}if(h===void 0&&g!==void 0)return g;if(h===void 0&&i&&p){let e=p.averageSizeSnapshot?.[_];e!==void 0&&(h=ut(e))}return h===void 0&&(h=d+e.scrollAxisGap),ot(e,t,h,o),h}function _t(e,t){if(!(t===void 0||t<0))return Y(e,K(e.state,t),t,e.state.props.data[t])}function vt(e,t,n){let r=e.state,{index:i,viewOffset:a,viewPosition:o}=n,s=t;if(a&&(s-=a),i!==void 0){let t=tt(e);t&&(s+=t)}if(o!==void 0&&i!==void 0){let t=r.props.data.length;if(t===0)return s;let n=i<0||i>=t,a=r.props.estimatedItemSize??0,c=n?a:Y(e,K(r,i),i,r.props.data[i]),l=Math.max(0,c-(n?0:e.scrollAxisGap)),u=L(e);if(s-=o*(r.scrollLength-u-l),!n&&i===r.props.data.length-1){let t=M(e,`footerSize`)||0;s+=t}}return s}function X(e,t,n){let r=e.state,i=R(e),a=t;if(Number.isFinite(i)&&Number.isFinite(r.scrollLength)&&l.OS!==`android`){let e=Math.max(0,i-r.scrollLength),o=n?.viewOffset,s=e+(typeof o==`number`&&o<0?-o:0);a=Math.min(t,s)}return a=Math.max(0,a),a}function yt(e){let t=e.state;if(t?.scrollingTo){de(t);let n=t.pendingScrollResolve;t.pendingScrollResolve=void 0;let r=t.scrollingTo;if(t.scrollHistory.length=0,t.scrollingTo=void 0,t.scrollTargetPinnedRange=void 0,t.pendingTotalSize!==void 0&&at(e,null,t.pendingTotalSize),t.scrollAdjustHandler.commitPendingAdjust(r),r.isInitialScroll||t.initialScroll){let i=t.initialScrollSession?.kind===`offset`,a=!!r.isInitialScroll&&!t.clearPreservedInitialScrollOnNextFinish&&t.props.data.length>0&&t.initialScroll?.viewPosition===1;$e(e,{onFinished:()=>{n?.()},preserveTarget:i&&t.props.data.length===0||a,recalculateItems:!0,schedulePreservedTargetClear:a,syncObservedOffset:i,waitForCompletionFrame:!!r.waitForInitialScrollCompletionFrame});return}Pe(e),n?.()}}var bt=80,xt=1500,St=320,Ct=1;function wt(e,t){let n=e.state,{animated:r,horizontal:i,offset:a}=t;n.scheduledWork.cancel(`platformScrollCompletion`);let o=n.refScroller.current,s=o?.getScrollableNode();if(!o||!s)return;let c=!!r,l=!!i,u=l?R(e):void 0,d=l?b(n,a,u):0,f=l?0:a;if(o.scrollTo({animated:c,x:d,y:f}),c)Tt(e,{readOffset:()=>o.getCurrentScrollOffset(),target:o.getScrollEventTarget?.call(o)??null,targetOffset:a});else{n.scroll=a;let t=n.scrollingTo;n.scheduledWork.timeout(()=>{t===n.scrollingTo&&yt(e)},100,`platformScrollCompletion`)}}function Tt(e,t){let{readOffset:n,target:r,targetOffset:i}=t;if(!r){yt(e);return}let a=`onscrollend`in r,o,s=!1,{scheduledWork:c,scrollingTo:l}=e.state,u=setTimeout(()=>p(`max`),xt),d=()=>{r.removeEventListener(`scroll`,m),a&&r.removeEventListener(`scrollend`,h),o!==void 0&&clearTimeout(o),clearTimeout(u)},f=()=>{s||(s=!0,d())},p=t=>{if(s)return;if(l!==e.state.scrollingTo){c.cancel(`platformScrollCompletion`);return}let r=n(),a=Math.abs(r-i)<=Ct;t===`scrollend`&&!a||(c.cancel(`platformScrollCompletion`),yt(e))},m=()=>{o!==void 0&&clearTimeout(o),o=setTimeout(()=>p(`idle`),bt)},h=()=>p(`scrollend`);r.addEventListener(`scroll`,m),a?r.addEventListener(`scrollend`,h):o=setTimeout(()=>p(`idle`),St),c.register(`platformScrollCompletion`,f)}function Et(e){if(!e.scrollRequestTracker){let t=0,n=n=>{let r=e.state;r.scheduledWork.cancel(`imperativeScrollReady`);let i=++t;return fe(r),r.pendingScrollResolve=n,i},r=(n,r,i)=>{let a=e.state;n===t&&(!i()||!a.scrollingTo)&&(a.pendingScrollResolve===r&&(a.pendingScrollResolve=void 0),r())};e.scrollRequestTracker={isCurrent:e=>e===t,runNow:r,runNowIfIdle:t=>{let i=e.state;return i.pendingScrollResolve||i.scrollingTo?Promise.resolve():new Promise(e=>{let i=n(e);r(i,e,t)})},start:n}}return e.scrollRequestTracker}function Z(e,t,n){let r=e.state;if(Math.abs(t)>.1){let n=()=>{r.scrollAdjustHandler.requestAdjust(t),r.adjustingFromInitialMount&&r.adjustingFromInitialMount--};r.scroll+=t,r.scrollForNextCalculateItemsInView=void 0,M(e,`readyToRender`)?n():(r.adjustingFromInitialMount=(r.adjustingFromInitialMount||0)+1,requestAnimationFrame(n))}}function Dt(e){var t;let{state:n}=e,r=M(e,`alignItemsAtEndPadding`)||0,i=rt(e);n.maintainingScrollAtEnd=void 0,n.pendingMaintainScrollAtEnd=!1,r!==i&&(N(e,`alignItemsAtEndPadding`,i),n.scrollForNextCalculateItemsInView=void 0,(t=n.triggerCalculateItemsInView)==null||t.call(n,{forceFullItemPositions:!0}),Z(e,X(e,n.scroll+i-r)-n.scroll))}function Q(e){let t=e.state,{didContainersLayout:n,didFinishInitialScroll:r,pendingNativeMVCPAdjust:i,props:{maintainScrollAtEnd:a}}=t,o=M(e,`isWithinMaintainScrollAtEndThreshold`),s=!!t.pendingMaintainScrollAtEnd,c=!!((o||s)&&a&&r);if(c&&!n)return t.pendingMaintainScrollAtEnd=!0,!1;if(i)return t.pendingMaintainScrollAtEnd=c,!1;if(c&&n){if(t.pendingMaintainScrollAtEnd=!1,R(e)<t.scrollLength&&(t.scroll=0),t.maintainingScrollAtEnd)t.pendingMaintainScrollAtEnd=!0;else{let n=a.animated?`pending-animated`:`pending-instant`,r=a.animated?`animated`:`instant`,i=t.scroll;t.maintainingScrollAtEnd=n,requestAnimationFrame(()=>{if(t.maintainingScrollAtEnd!==n)return;let o=M(e,`isWithinMaintainScrollAtEndThreshold`),c=t.scroll!==i;s||o||!c?(t.maintainingScrollAtEnd=r,Et(e).runNowIfIdle(()=>e.scrollToEnd({animated:a.animated})).then(()=>{t.maintainingScrollAtEnd===r&&(t.pendingMaintainScrollAtEnd?(t.maintainingScrollAtEnd=void 0,Q(e)):Dt(e))})):t.maintainingScrollAtEnd===n&&Dt(e)})}return!0}return Dt(e),!1}var $=.1,Ot=300,kt=2,At=1;function jt(e,t,n,r){if(!t){e.mvcpAnchorLock=void 0;return}let i=e.mvcpAnchorLock;if(!i)return;let a=r>i.expiresAt,o=e.indexByKey.get(i.id)===void 0;if(a||o||!n){e.mvcpAnchorLock=void 0;return}return i}function Mt(e,t){{let{anchorId:n,anchorPosition:r,dataChanged:i,now:a,positionDiff:o}=t,s=!!i||!!e.mvcpAnchorLock,c=e.props.maintainVisibleContentPosition.data;if(!s||!c||e.scrollingTo||!n||r===void 0)return;let l=e.mvcpAnchorLock,u=!i&&Math.abs(o)<=$&&l?.id===n?l.quietPasses+1:0;if(!i&&u>=kt){e.mvcpAnchorLock=void 0;return}e.mvcpAnchorLock={expiresAt:a+Ot,id:n,position:r,quietPasses:u}}}function Nt(e,t,n,r,i,a){return!1}function Pt(e,t,n){if(Math.abs(t)<=$)return 0;let r=Math.max(0,n-e.scrollLength)-e.scroll;return t<0?Math.max(t,Math.min(0,r)):t>0?Math.min(t,Math.max(0,r)):0}function Ft(e,t){return e<0?-t:t}function It(e,t,n){let r=e.state;r.pendingNativeMVCPAdjust=void 0;let i=t-n;Math.abs(i)>$&&Z(e,i)}function Lt(e){let t=e.state,n=t.pendingNativeMVCPAdjust;if(!n||Math.abs(n.manualApplied)>$)return;let r=R(e),i=Pt(t,n.amount,r);if(Math.abs(i)<=$)return;let a=n.amount-i;Math.abs(a)<=$||(n.manualApplied=a,Z(e,a),n.furthestProgressTowardAmount=0)}function Rt(e,t){let n=e.state,r=n.pendingNativeMVCPAdjust;if(!r)return!1;let i=r.amount-r.manualApplied,a=t-(r.startScroll+r.manualApplied),o=i<0&&a>$||i>0&&a<-$,s=Ft(i,a);if(Math.abs(i)<=$)return n.pendingNativeMVCPAdjust=void 0,!0;if(o)return n.pendingNativeMVCPAdjust=void 0,!1;if(s+$>=Math.abs(i))return It(e,i,a),!0;let c=Math.max(0,R(e)-n.scrollLength);return Math.abs(t-c)<=At||n.pendingMaintainScrollAtEnd&&M(e,`isWithinMaintainScrollAtEndThreshold`)&&s>$?(It(e,i,a),!0):s>r.furthestProgressTowardAmount+$?(r.furthestProgressTowardAmount=s,!1):(r.furthestProgressTowardAmount>$&&s<r.furthestProgressTowardAmount-$&&(n.pendingNativeMVCPAdjust=void 0),!1)}function zt(e,t,n){let r=e.state,{idsInView:i,positions:a,props:o}=r,{maintainVisibleContentPosition:{data:s,size:c,shouldRestorePosition:l}}=o,u=Date.now(),d=!!t||!!r.mvcpAnchorLock,f=r.scrollingTo;if(t&&r.pendingScrollToEnd&&f===void 0){r.mvcpAnchorLock=void 0;return}let p=jt(r,d,s,u),m,h,g=[],_=f?.index,v=f?.viewPosition,y=_!==void 0&&r.props.data.length>0&&_>=r.props.data.length-1&&(v??0)>0,b=t?s:c,x=r.indexByKey,S=r.scroll;if(R(e),b){if(p&&_===void 0?(h=p.id,m=p.position):_===void 0?i.length>0&&r.didContainersLayout&&!t&&(h=i.find(e=>x.get(e)!==void 0)):h=K(r,_),t&&i.length>0&&r.didContainersLayout)for(let e=0;e<i.length;e++){let t=i[e],n=x.get(t);if(n!==void 0){let e=a[n];e!==void 0&&g.push({id:t,position:e})}}if(h!==void 0&&m===void 0){let e=x.get(h);e!==void 0&&(m=a[e])}return()=>{let n=0,i=p?.id,o,c=!1,d=r.props.data;if(t&&s&&_===void 0&&h!==void 0&&p?.id===h&&l!==void 0&&h!==void 0){let e=x.get(h);if(e!==void 0){let t=d[e];c=t===void 0||!l(t,e,d),c&&p?.id===h&&(r.mvcpAnchorLock=void 0)}}if(t&&s&&_===void 0&&(()=>{if(h===void 0||c)return!0;let e=x.get(h);return e===void 0||a[e]===void 0})())for(let e=0;e<g.length;e++){let{id:t,position:r}=g[e],s=x.get(t);if(s!==void 0&&l){let e=d[s];if(e===void 0||!l(e,s,d))continue}let c=s===void 0?void 0:a[s];if(c!==void 0){n=c-r,i=t,o=c;break}}if(!c&&h!==void 0&&m!==void 0){let t=x.get(h),s=t===void 0?void 0:a[t];if(s!==void 0){let t=R(e),a=s-m;if(a!==0&&y&&r.scroll+r.scrollLength>t)if(a>0)a=Math.max(0,t-r.scroll-r.scrollLength);else{let e=Math.max(0,t-r.scrollLength);r.scroll=e,r.scrollPending=e,a=0}n=a,i=h,o=s}}if(v&&v>0){let t=Y(e,h,_,r.props.data[_]),i=f?.itemSize;if(t!==void 0&&i!==void 0&&t!==i){let e=t-i;e!==0&&(n+=e*v,f.itemSize=t)}}if(Mt(r,{anchorId:i,anchorPosition:o,dataChanged:t,now:u,positionDiff:n}),Nt()){r.pendingNativeMVCPAdjust={amount:n,furthestProgressTowardAmount:0,manualApplied:0,startScroll:S},Lt(e);return}Math.abs(n)>$&&((r.maintainingScrollAtEnd===`pending-animated`||r.maintainingScrollAtEnd===`animated`)&&M(e,`isWithinMaintainScrollAtEndThreshold`)||Z(e,n))}}}var Bt=1e3,Vt=200,Ht=e=>{let{scrollHistory:t}=e,n=t.length-1;if(n<1)return 0;let r=t[n];if(Date.now()-r.time>Bt)return 0;let i=0,a=0,o=0;for(let e=n;e>0;e--){let n=t[e],s=t[e-1],c=n.scroll-s.scroll,l=n.time-s.time,u=Math.sign(c);if(u!==0){if(i===0)i=u;else if(u!==i)break}if(r.time-s.time>Bt)break;if(c===0||l<=0)continue;let d=r.time-n.time,f=Math.exp(-d/Vt);a+=c/l*f,o+=f}return o>0?a/o:0};function Ut(e){let t=e.mvcpAnchorLock;return t?Date.now()>t.expiresAt?(e.mvcpAnchorLock=void 0,!1):!0:!1}function Wt(e){return e.dataChangeNeedsScrollUpdate||Ut(e)}function Gt(e,t,n,r){let i=e.state,{ignoreScrollFromMVCP:a,lastScrollAdjustForHistory:s,scrollAdjustHandler:c,scrollHistory:l,scrollingTo:u}=i,d=i.scroll;r?.markHasScrolled!==!1&&(i.hasScrolled=!0);let f=Date.now();i.lastBatchingAction=f;let p=c.getAdjust(),m=s!==void 0&&Math.abs(p-s)>.1;if(m&&(l.length=0),i.lastScrollAdjustForHistory=p,u===void 0&&(l.length!==0||t!==i.scroll)&&(m||l.push({scroll:t,time:f})),l.length>5&&l.shift(),a&&!u){let{lt:e,gt:n}=a;if(e&&t<e||n&&t>n){i.ignoreScrollFromMVCPIgnored=!0;return}}i.scrollPrev=d,i.scrollPrevTime=i.scrollTime,i.scroll=t,i.scrollTime=f;let h=Math.abs(t-d),g=!!r?.fromNativeScrollEvent&&h>.1&&!m&&u===void 0&&!i.pendingNativeMVCPAdjust,_=g&&t<d&&!!(i.maintainingScrollAtEnd||i.pendingMaintainScrollAtEnd);_&&Dt(e);let v=g?G(e,t-d):void 0,y=Rt(e,t),b=i.scrollLength,x=b>0&&u===void 0&&h>b&&!i.pendingNativeMVCPAdjust,S=Ht(i);He(e,S,{forceLight:x});let C=i.scrollLastCalculate;if(Wt(i)||y||_||v!==void 0||n||C===void 0||Math.abs(i.scroll-C)>2){i.scrollLastCalculate=i.scroll,i.ignoreScrollFromMVCPIgnored=!1,i.lastScrollDelta=h;let t=()=>{var t;let n={doMVCP:u!==void 0,scrollVelocity:S};x&&(n.drawDistanceMode=`visible-first`),(t=i.triggerCalculateItemsInView)==null||t.call(i,n),Ne(e,v)};x?(i.mvcpAnchorLock=void 0,i.pendingNativeMVCPAdjust=void 0,i.userScrollAnchorReset={keys:new Set},i.scheduledWork.cancel(`mvcpRecalculate`),(0,o.flushSync)(t),Ge(e)):t();let n=!!i.pendingMaintainScrollAtEnd||!!i.props.maintainScrollAtEnd?.onDataChange;y&&n&&(i.pendingMaintainScrollAtEnd=!1,Q(e)),i.dataChangeNeedsScrollUpdate=!1,i.lastScrollDelta=0}}function Kt(e){if(Object.keys(e.averageSizes).length===0)return;let t={};for(let n in e.averageSizes)t[n]=e.averageSizes[n].avg;return t}function qt(e,t){let{isInitialScroll:n,requestedOffset:r,targetOffset:i}=t,a=U.get(e),o=!e.didFinishInitialScroll&&(n||!!a)&&U.hasNonZeroTargetOffset(i),s=!e.didFinishInitialScroll&&!!a&&U.isAtZeroTargetOffset(r);if(o){e.hasScrolled=!1,U.set(e,{startScroll:a?.startScroll??e.scroll,targetOffset:i});return}s&&U.clear(e)}function Jt(e,t){let n=e.state,r=n.props.data.length,i=0,a=r-1,o;for(;i<=a;){let e=Math.floor((i+a)/2),r=n.positions[e];r===void 0?a=e-1:r<=t?(o=e,i=e+1):a=e-1}return o}function Yt(e,t){let n=e.state.positions[t];if(n===void 0)return;let r=_t(e,t)??0;return n+(Number.isFinite(r)?r:0)}function Xt(e,t,n){let r=e.state,i=r.props.data.length;if(i===0)return;let a=Math.max(0,t),o=Math.max(a,t+r.scrollLength),s=n===void 0?Jt(e,a):Math.max(0,Math.min(i-1,n));if(s===void 0)return;if(n!==void 0&&r.positions[s]===void 0)return{end:s,start:s};if(n===void 0){let t=Yt(e,s);if(t===void 0||t<=a)return}for(;s>0;){let e=r.positions[s];if(e===void 0||e<=a||r.positions[s-1]===void 0)break;s--}for(;s>0;){let t=Yt(e,s-1);if(t===void 0||t<=a)break;s--}let c=s;for(;c+1<i;){let e=r.positions[c+1];if(e===void 0||e>o)break;c++}return{end:c,start:s}}function Zt(e,t,n){let r=Xt(e,t,n);r?(e.state.scrollTargetPinnedRange=r,e.state.scrollForNextCalculateItemsInView=void 0):e.state.scrollTargetPinnedRange=void 0}function Qt(e,t){var n;let r=e.state,{noScrollingTo:i,forceScroll:a,...o}=t,{animated:s,isInitialScroll:c,offset:u,precomputedWithViewOffset:d,waitForInitialScrollCompletionFrame:f}=o,{props:{horizontal:p}}=r;de(r);let m=d?u:vt(e,u,o),h=!!c&&r.initialScrollSession?.kind===`offset`,g=X(e,m,o),_=h?m:g;if(r.scrollHistory.length=0,!i){c&&xe.resetFlags(r);let t=Kt(r);r.scrollingTo={...o,...t?{averageSizeSnapshot:t}:{},targetOffset:g,waitForInitialScrollCompletionFrame:f},c||Zt(e,g,o.index)}r.scrollPending=g,qt(r,{isInitialScroll:c,requestedOffset:_,targetOffset:g}),!c&&!i&&Math.abs(r.scroll-g)>1&&(s?r.scrollTargetPinnedRange&&((n=r.triggerCalculateItemsInView)==null||n.call(r)):Gt(e,g,!0,{markHasScrolled:!1})),a||!c||l.OS===`android`?wt(e,{animated:s,horizontal:p,offset:_}):r.scroll=_}function $t(e,t){return t<=0?-1:e>=t?t-1:e<0?0:e}function en(e,{index:t,viewOffset:n=0,animated:r=!0,forceScroll:i,isInitialScroll:a,viewPosition:o}){let s=e.state,{data:c}=s.props;t=$t(t,c.length);let l=_t(e,t),u=et(e,t);t===c.length-1&&o===void 0&&(o=1),s.scrollForNextCalculateItemsInView=void 0,Qt(e,{animated:r,forceScroll:i,index:t,isInitialScroll:a,itemSize:l,offset:u,viewOffset:n,viewPosition:o??0})}function tn(e,t){let{forceScroll:n,resolvedOffset:r,target:i,waitForCompletionFrame:a}=t,o=i.index,s=o===void 0?void 0:$t(o,e.state.props.data.length),c=_t(e,s);Qt(e,{animated:!1,forceScroll:n,index:s!==void 0&&s>=0?s:void 0,isInitialScroll:!0,itemSize:c,offset:r,precomputedWithViewOffset:!0,viewOffset:i.viewOffset,viewPosition:i.viewPosition,waitForInitialScrollCompletionFrame:a})}function nn(e,t,n){let{state:r}=e;r.clearPreservedInitialScrollOnNextFinish=void 0,r.scheduledWork.cancel(`preservedInitialScroll`),r.initialScroll=t,n?.resetDidFinish&&Ke(e,{resetInitialScroll:!0}),W(r,{kind:r.initialScrollSession?.kind===`offset`?`offset`:`bootstrap`})}function rn(e,t){return e.state.initialScrollSession?.kind===`offset`?t.contentOffset??0:X(e,vt(e,t.index===void 0?0:et(e,t.index),t),t)}function an(e,t){let{didFinishInitialScroll:n,queuedInitialLayout:r,scrollingTo:i}=e,a=e.initialScroll,o=!!i?.isInitialScroll,s=!!t?.requiresMeasuredLayout&&!r&&!o;if(!(!a||s||n||i&&!o))return{initialScroll:a,isInitialScrollInProgress:o,queuedInitialLayout:r,scrollingTo:i}}function on(e,t){let n=e.state,r=an(n,{requiresMeasuredLayout:!0});if(!r)return!1;let{initialScroll:i,isInitialScrollInProgress:a,queuedInitialLayout:o}=r,s=a?r.scrollingTo:void 0,c=rn(e,i),l=s?s.targetOffset??s.offset:void 0,u=i.contentOffset===void 0||Math.abs(i.contentOffset-c)>1,d=l!==void 0&&Math.abs(l-c)>1,f=l!==void 0&&Math.abs(n.scroll-c)<=1&&Math.abs(n.scrollPending-c)<=1;return!t?.forceScroll&&!u&&a&&!d||t?.forceScroll&&f?!1:(u&&n.initialScrollSession?.kind!==`offset`&&nn(e,{...i,contentOffset:c}),tn(e,{forceScroll:t?.forceScroll??(!!o||a&&u),resolvedOffset:c,target:i}),!0)}function sn(e,t){let n=e.state,r=an(n);if(!r)return!1;let{initialScroll:i,queuedInitialLayout:a}=r,o=i.contentOffset??0,s=Math.abs(n.scroll-o)<=1&&Math.abs(n.scrollPending-o)<=1;if(t?.forceScroll&&s)return!1;let c=!!n.lastLayout&&n.scrollLength>0;return tn(e,{forceScroll:t?.forceScroll??(c||!!a),resolvedOffset:o,target:i}),!0}function cn(e,t){return e.state.initialScrollSession?.kind===`offset`?sn(e,{forceScroll:t?.forceScroll}):on(e,{forceScroll:t?.forceScroll})}function ln(e,t,n){if(t==null||n==null||t<0||n<t)return!1;let r=!1;for(let i of e.containerItemKeys.keys()){let a=e.indexByKey.get(i);if(a!==void 0&&a>=t&&a<=n){r=!0;let t=K(e,a);if(t===void 0||!e.sizesKnown.has(t))return!1}}return r}var un=1,dn=8,fn=24,pn=`LegendList bootstrap initial scroll aborted after exceeding convergence bounds.`;function mn(e){return e.initialScrollSession?.kind===`bootstrap`?e.initialScrollSession.bootstrap:void 0}function hn(e){return e.initialScrollSession?.kind===`offset`}function gn(e,t){if(!e||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function _n(e){let{dataLength:t,getSize:n,offset:r,positions:i,scrollLength:a,startIndex:o}=e,s=r+a,c=[],l=o===void 0?0:Math.max(0,Math.min(t-1,o));for(;l>0;){let e=l-1,t=i[e];if(t===void 0){l=e;continue}let a=n(e);if(a===void 0){l=e;continue}if(t+a<=r)break;l=e}for(;l<t;l++){let e=i[l];if(e===void 0)continue;let t=n(l);if(t!==void 0){if(e<s&&e+t>r)c.push(l);else if(c.length>0&&e>=s)break}}return c}function vn(e){let{mountFrameCount:t,maxFrames:n=dn,maxPasses:r=fn,passCount:i}=e;return t>=n||i>=r}function yn(e,t){return vn(t)?(H&&console.warn(pn),Kn(e),!0):!1}function bn(e){let t=mn(e),n=t?.frameHandle;n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t&&(t.frameHandle=void 0),W(e,{bootstrap:null,kind:e.initialScrollSession?.kind})}function xn(e,t){let n=mn(e);W(e,{bootstrap:{frameHandle:n?.frameHandle,mountFrameCount:n?.mountFrameCount??0,passCount:0,previousResolvedOffset:void 0,scroll:t.scroll,seedContentOffset:t.seedContentOffset??n?.seedContentOffset??t.scroll,targetIndexSeed:t.targetIndexSeed,visibleIndices:void 0},kind:`bootstrap`})}function Sn(e,t){let n=mn(e);n?(n.passCount=0,n.previousResolvedOffset=void 0,n.scroll=t?.scroll??n.scroll,n.seedContentOffset=t?.seedContentOffset??n.seedContentOffset,n.targetIndexSeed=t?.targetIndexSeed??n.targetIndexSeed,n.visibleIndices=void 0,W(e,{bootstrap:n,kind:`bootstrap`})):t?.scroll!==void 0&&xn(e,{scroll:t.scroll,seedContentOffset:t.seedContentOffset,targetIndexSeed:t.targetIndexSeed})}function Cn(e){requestAnimationFrame(()=>{var t;mn(e)&&((t=e.triggerCalculateItemsInView)==null||t.call(e,{forceFullItemPositions:!0}))})}function wn(e){let t=e.state,n=mn(t);!n||n.frameHandle!==void 0||(n.frameHandle=requestAnimationFrame(()=>{let n=mn(t);n&&(n.frameHandle=void 0,n.mountFrameCount+=1,!yn(e,{mountFrameCount:n.mountFrameCount,passCount:n.passCount})&&wn(e))}))}function Tn(e,t){Sn(e.state,t),wn(e),Cn(e.state)}function En(e){let{dataLength:t,footerSize:n,preserveForFooterLayout:r,stylePaddingEnd:i}=e;return{contentOffset:void 0,index:Math.max(0,t-1),preserveForBottomPadding:!0,preserveForFooterLayout:r,viewOffset:-i-n,viewPosition:1}}function Dn(e){return!!e?.preserveForBottomPadding}function On(e){return!!e?.preserveForFooterLayout}function kn(e){return!!(e&&e.viewPosition===1&&(Dn(e)||On(e)))}function An(e){let{dataLength:t,footerSize:n,initialScrollAtEnd:r,stylePaddingEnd:i,target:a}=e,o=On(a);return{...a,contentOffset:void 0,index:r?Math.max(0,t-1):a.index,preserveForBottomPadding:!0,preserveForFooterLayout:o,viewOffset:-i-(o?n:0),viewPosition:1}}function jn(e,t){return e.index===t.index&&e.preserveForBottomPadding===t.preserveForBottomPadding&&e.preserveForFooterLayout===t.preserveForFooterLayout&&e.viewOffset===t.viewOffset&&e.viewPosition===t.viewPosition}function Mn(e,t){let{dataLength:n,stylePaddingEnd:r,target:i}=t;On(i)&&nn(e,En({dataLength:n,footerSize:0,preserveForFooterLayout:void 0,stylePaddingEnd:r}))}function Nn(e){Ze(e)}function Pn(e,t,n=un){let r=e.state;if(!r.didFinishInitialScroll)return!1;let i=Fn(r);return Math.abs(i-rn(e,t))>n}function Fn(e){var t;let n=((t=e.refScroller.current)?.getCurrentScrollOffset)?.call(t);return typeof n==`number`&&Number.isFinite(n)?n:e.scrollPending??e.scroll??0}function In(e){let t=e.state,n=t.initialScroll;if(!t.didFinishInitialScroll||t.scrollingTo?.isInitialScroll||!n||n.viewPosition!==1||t.props.data.length===0||hn(t))return;let r=typeof t.lastNativeScroll==`number`&&Number.isFinite(t.lastNativeScroll)?t.lastNativeScroll:Fn(t);return rn(e,n)-r}function Ln(e){return In(e)!==void 0&&(Rn(e,{}),!0)}function Rn(e,t){let n=e.state;n.preservedEndAnchorCorrection=t,requestAnimationFrame(()=>{let r=n.preservedEndAnchorCorrection;if(r!==t)return;let i=In(e);if(i===void 0||Math.abs(i)<=un){n.preservedEndAnchorCorrection=void 0;return}(!r.lastRequestTime||(n.lastNativeScrollTime??0)>r.lastRequestTime)&&(r.lastRequestTime=Date.now(),Z(e,i)),Rn(e,t)})}function zn(e){let t=e.state,n=t.initialScroll;!t.didFinishInitialScroll||t.scrollingTo?.isInitialScroll||n?.viewPosition!==1||t.preservedEndAnchorCorrection||Pn(e,n)&&(kn(n)&&M(e,`isAtEnd`)||(On(n)?Mn(e,{dataLength:t.props.data.length,stylePaddingEnd:_(t.props),target:n}):Nn(t)))}function Bn(e,t){let{initialScrollAtEnd:n,target:r}=t,i=e.state,a=rn(e,r),o=a===0&&!n&&(hn(i)?Math.abs(r.contentOffset??0)<=1:r.index===0&&(r.viewPosition??0)===0&&Math.abs(r.viewOffset??0)<=1),s=i.props.data.length===0&&r.index!==void 0;o?(bn(i),$e(e,{resolvedOffset:a})):s?(bn(i),$e(e,{preserveTarget:!0,resolvedOffset:a})):(xn(i,{scroll:a,seedContentOffset:0,targetIndexSeed:r.index}),wn(e))}function Vn(e,t){let{dataLength:n,didDataChange:r,initialScrollAtEnd:i,previousDataLength:a,stylePaddingEnd:o}=t,s=e.state,c=s.initialScroll;if(hn(s)||!c)return;let l=!!(s.didFinishInitialScroll&&a===0&&n>0&&c.index!==void 0),u=mn(s);if(!i&&r&&n>0&&s.didFinishInitialScroll&&!u&&!l){Ze(s);return}let d=n>0&&(i||kn(c));if(!(!r&&!l&&!d)){if(d){let t=i?En({dataLength:n,footerSize:M(e,`footerSize`)||0,preserveForFooterLayout:On(c),stylePaddingEnd:o}):An({dataLength:n,footerSize:M(e,`footerSize`)||0,initialScrollAtEnd:i,stylePaddingEnd:o,target:c});if(!l&&Pn(e,c)){Mn(e,{dataLength:n,stylePaddingEnd:o,target:c});return}if(!jn(c,t)||u||l||r){nn(e,t,{resetDidFinish:l}),Tn(e,{scroll:rn(e,t),seedContentOffset:l&&!u?Fn(s):void 0,targetIndexSeed:t.index});return}}r&&(u||l)&&(nn(e,c,{resetDidFinish:l}),Tn(e,{scroll:rn(e,c),seedContentOffset:l&&!u?Fn(s):void 0,targetIndexSeed:c.index}))}}function Hn(e,t){let{dataLength:n,footerSize:r,initialScrollAtEnd:i,stylePaddingEnd:a}=t,o=e.state;if(!i)return;let s=o.initialScroll;if(!(hn(o)||n===0||!s)&&(mn(o)||On(s)))if(Pn(e,s))Mn(e,{dataLength:n,stylePaddingEnd:a,target:s});else{let t=En({dataLength:n,footerSize:r,preserveForFooterLayout:On(s),stylePaddingEnd:a});s.index===t.index&&s.viewPosition===t.viewPosition&&s.viewOffset===t.viewOffset?Mn(e,{dataLength:n,stylePaddingEnd:a,target:s}):(nn(e,t,{resetDidFinish:!!o.didFinishInitialScroll}),Tn(e,{scroll:rn(e,t),targetIndexSeed:t.index}))}}function Un(e){let t=e.state,n=t.initialScroll,r=mn(t);if(n&&t.props.data.length>0&&!hn(t)&&(r||n.viewPosition===1)){let i=rn(e,n),a=t.scrollingTo?.isInitialScroll?t.scrollingTo:void 0;if(!r&&(a||t.didFinishInitialScroll)){let r=i-(a?a.targetOffset??a.offset:Fn(t));Math.abs(r)>un&&(t.didFinishInitialScroll?Ln(e):a&&(t.initialScroll={...n,contentOffset:i},tn(e,{forceScroll:!0,resolvedOffset:i,target:t.initialScroll})))}else Tn(e,{scroll:i,targetIndexSeed:n.index})}}function Wn(e){let t=e.state,n=mn(t),r=t.initialScroll;if(!n||!r||hn(t)||t.scrollingTo?.isInitialScroll||(n.passCount+=1,yn(e,{mountFrameCount:n.mountFrameCount,passCount:n.passCount})))return;r.index!==void 0&&t.startBuffered>=0&&t.endBuffered>=0&&r.index>=t.startBuffered&&r.index<=t.endBuffered&&(n.targetIndexSeed=void 0);let i=rn(e,r),a=ln(t,t.startBuffered,t.endBuffered),o=Math.abs(n.scroll-i)>1,{data:s}=t.props,c=_n({dataLength:s.length,getSize:n=>{let r=t.idCache[n]??K(t,n);return t.sizes.get(r)??Y(e,r,n,s[n])},offset:i,positions:t.positions,scrollLength:t.scrollLength,startIndex:n.targetIndexSeed??(t.startBuffered>=0?t.startBuffered:void 0)}),u=c.length>0&&c.every(e=>{let n=t.idCache[e]??K(t,e);return t.sizesKnown.has(n)}),d=n.previousResolvedOffset,f=n.visibleIndices;if(n.previousResolvedOffset=i,n.visibleIndices=c,o){n.scroll=i,Cn(t);return}if(!(!a||!u)){if(!(d!==void 0&&Math.abs(d-i)<=un&&gn(f,c))){Cn(t);return}bn(t),tn(e,{forceScroll:!0,resolvedOffset:i,target:r,waitForCompletionFrame:l.OS===`web`})}}function Gn(e,t){let n=e.state;bn(n);let r=!n.clearPreservedInitialScrollOnNextFinish&&n.props.data.length>0&&n.initialScroll?.viewPosition===1;$e(e,{preserveTarget:r,recalculateItems:!0,resolvedOffset:t,schedulePreservedTargetClear:r})}function Kn(e){let t=e.state,n=mn(t),r=t.initialScroll;n&&r&&!hn(t)&&t.refScroller.current?(bn(t),tn(e,{forceScroll:!0,resolvedOffset:n.scroll,target:r,waitForCompletionFrame:l.OS===`web`})):Gn(e,mn(t)?.scroll??t.scrollPending??t.scroll??0)}function qn(e,t,n,r){return{data:e.props.data,dataChangeEpoch:e.dataChangeEpoch,getFixedItemSize:e.props.getFixedItemSize,getItemType:e.props.getItemType,itemData:n,itemIndex:t,itemType:r}}function Jn(e,t,n,r,i){let{getItemType:a}=e.props,o=e.containerItemMetadata.get(t);if(o?.dataChangeEpoch===e.dataChangeEpoch&&o.getItemType===a&&o.itemData===r&&o.itemIndex===n)return o;let s=qn(e,n,r,a?a(r,n)??``:void 0);return e.containerItemMetadata.set(t,s),s}function Yn(e,t,n,r){let{getFixedItemSize:i}=e.props,a=Jn(e,t,n,r);return a.getFixedItemSize!==i&&(a.didResolveFixedItemSize=!1,a.fixedItemSize=void 0,a.getFixedItemSize=i),i&&!a.didResolveFixedItemSize&&(a.fixedItemSize=i(r,n,a.itemType??``),a.didResolveFixedItemSize=!0),a}function Xn(e){for(let t of e.containerItemMetadata.values())t.didResolveFixedItemSize=!1,t.fixedItemSize=void 0}var Zn=20,Qn=1,$n=1,er=16;function tr(e,t){let n=e.state.scrollingTo;t?.onlyIfAligned&&(!n?.isInitialScroll||n.animated||!ur(e,n).isAtResolvedTarget)||e.state.scheduledWork.frame(()=>dr(e),`checkFinishedScrollFrame`)}function nr(e,t){let{clampedTargetOffset:n,scrollingTo:r}=t;return!r.isInitialScroll||e.hasScrolled||n<=Qn}function rr(e,t){return!!t?.isInitialScroll&&xe.didDispatchNativeScroll(e)&&!e.hasScrolled}function ir(e){return U.get(e)?.targetOffset}function ar(e){let t=ir(e);return!e.didFinishInitialScroll&&U.hasNonZeroTargetOffset(t)}function or(e,t){if(!t.isInitialScroll||t.animated||!e.didContainersLayout||e.initialScrollSession?.kind===`bootstrap`)return!1;let n=t.targetOffset??t.offset;return U.hasNonZeroTargetOffset(n)&&xe.didDispatchNativeScroll(e)&&!e.hasScrolled||U.isAtZeroTargetOffset(n)||Math.abs(e.scroll-n)>1||Math.abs(e.scrollPending-n)>1?!1:!!t.waitForInitialScrollCompletionFrame||ar(e)}function sr(e){let{state:t}=e;return!!t.scrollingTo?.isInitialScroll&&t.props.data.length>0&&R(e)<=t.scrollLength&&t.scrollPending<=$n}function cr(e,t){return t.index===e.state.props.data.length-1&&t.viewPosition===1}function lr(e,t){let n=t.index;return X(e,cr(e,t)&&n!==void 0?vt(e,et(e,n),t):t.targetOffset??X(e,t.offset-(t.viewOffset||0),t),t)}function ur(e,t){let{state:n}=e,r=n.scrollPending,i=n.scrollAdjustHandler.getAdjust(),a=lr(e,t),o=X(e,r,t),s=Math.abs(r-a),c=a+i,u=Math.abs(r-c),d=!t.animated||l.OS===`ios`;return{clampedTargetOffset:a,isAtResolvedTarget:Math.abs(r-o)<1&&(s<1||d&&u<1)}}function dr(e){let t=e.state.scrollingTo;if(!t)return;let{state:n}=e,r=ur(e,t);r.isAtResolvedTarget&&nr(n,{clampedTargetOffset:r.clampedTargetOffset,scrollingTo:t})&&yt(e)}function fr(e,t){var n;(n=e.state.refScroller.current)==null||n.scrollTo({animated:!1,x:e.state.props.horizontal?t:0,y:e.state.props.horizontal?0:t})}function pr(e){let t=e.state;if(t.scheduledWork.has(`checkFinishedScrollFallback`))return;let n=t.scrollingTo,r=sr(e),i=rr(t,n),a=n!==void 0&&or(t,n),o=n?.isInitialScroll&&!r&&!a||!t.didContainersLayout,s=r||a?0:i?er:o?500:100,c=0,u=e=>{t.scheduledWork.timeout(d,e,`checkFinishedScrollFallback`)},d=()=>{let n=t.scrollingTo;if(n){c++;let r=ar(t)&&!t.hasScrolled,a=i?5:r?Zn:5,o=sr(e),s=or(t,n),d=ur(e,n),f=l.OS===`android`,p=t.hasScrolled&&(!n.isInitialScroll||d.isAtResolvedTarget),m=n.isInitialScroll&&!d.isAtResolvedTarget&&c<=a;o||p||s||f||c>a?yt(e):((r||m)&&c<=a&&fr(e,ir(t)??n.targetOffset??t.scrollPending),u(i?er:100))}};u(s)}function mr(e){let t=e.state,n=t.initialScroll;return t.didFinishInitialScroll?Ln(e):!n||t.initialScrollSession?.kind===`offset`||n.viewPosition!==1||t.props.data.length===0?!1:cn(e,{forceScroll:!0})}function hr(e){if(!e.state.initialScroll)return;let t=()=>cn(e,{forceScroll:!0});t(),e.state.initialScrollSession?.kind!==`offset`&&requestAnimationFrame(t),tr(e,{onlyIfAligned:!0})}function gr(e,t){let{alwaysDispatchInitialScroll:n,dataLength:r,hasFooterComponent:i,initialContentOffset:a,initialScrollAtEnd:o,useBootstrapInitialScroll:s}=t,c=e.state,l=c.initialScroll,u=a??0,d=s&&o&&i;if(l&&(l.contentOffset===void 0||!!l.preserveForFooterLayout!==d&&c.initialScrollSession?.kind!==`offset`)&&nn(e,{...l,contentOffset:u,preserveForFooterLayout:d}),s&&l&&c.initialScrollSession?.kind!==`offset`){Bn(e,{initialScrollAtEnd:o,target:c.initialScroll});return}!n&&!u&&!(l&&r===0&&!(u===0&&!o))&&(l&&!o?$e(e,{resolvedOffset:u}):qe(e,{didInitialScroll:!0}))}function _r(e,t){let{dataLength:n,didDataChange:r,didStartFreshData:i,initialScrollAtEnd:a,latestInitialScroll:o,latestInitialScrollSessionKind:s,stylePaddingEnd:c,useBootstrapInitialScroll:l}=t,u=e.state,d=u.initialScrollSession?.previousDataLength??0,f=n>0&&(!u.hasHadNonEmptyData||i);if(n>0&&(u.hasHadNonEmptyData=!0),f&&(o?(nn(e,o),W(u,{kind:s,previousDataLength:d})):Ze(u)),u.initialScrollSession&&(u.initialScrollSession.previousDataLength=n),W(u),l){Vn(e,{dataLength:n,didDataChange:r,initialScrollAtEnd:a,previousDataLength:d,stylePaddingEnd:c});return}let p=d===0&&n>0&&!!u.initialScroll&&e.state.initialScrollSession?.kind===`offset`&&!!u.didFinishInitialScroll;d!==0||n===0||!u.initialScroll||!u.queuedInitialLayout||u.didFinishInitialScroll&&!p||(p&&Ke(e,{resetInitialScroll:!0}),cn(e))}function vr(e){e.indexByKey.clear(),e.idCache.length=0,e.positions.length=0,e.columns.length=0,e.columnSpans.length=0}function yr(e){let t=e.pendingContainerIds;if(e.pendingContainerIds=void 0,t===void 0)return;let n=e.state,r=t;if(r&&n.userScrollAnchorReset?.keys.size){r=new Set(r);for(let e of n.userScrollAnchorReset.keys){let t=n.containerItemKeys.get(e);t!==void 0&&r.add(t)}}return r}function br(e,t){let n=e.pendingContainerIds!==void 0,r=e.pendingContainerIds;if(t===void 0)e.pendingContainerIds=null;else if(r!==null){let n=r;if(!n)n=typeof t==`number`?new Set([t]):new Set(t);else if(typeof t==`number`)n.add(t);else for(let e of t)n.add(e);e.pendingContainerIds=n}n||N(e,`containerLayoutEpoch`,(M(e,`containerLayoutEpoch`)??0)+1)}function xr(e,t,n,r){let i=e.state,{columns:a,columnSpans:o,positions:s,props:{data:c,itemsAreEqual:l,keyExtractor:u}}=i,d=c[n];if(d===void 0)return{didChangePosition:!1,didRefreshData:!1};let f=i.idCache[n]??K(i,n),p=Jn(i,t,n,d),m=r?.updateLayout??!0,h=!1,g=!1;if(m){let c=s[n];if(c===void 0)return N(e,`containerPosition${t}`,se),{didChangePosition:!1,didRefreshData:!1};let l=y(i,(c||0)-(r?.scrollAdjustPending??0),i.sizes.get(f)??Y(e,f,n,d,void 0,void 0,void 0,p),M(e,`totalSize`)),u=a[n]||1,m=o[n]||1,g=M(e,`containerPosition${t}`),_=M(e,`containerColumn${t}`),v=M(e,`containerSpan${t}`);l>se&&l!==g&&(N(e,`containerPosition${t}`,l),h=!0),u>=0&&u!==_&&N(e,`containerColumn${t}`,u),m!==v&&N(e,`containerSpan${t}`,m)}M(e,`containerItemIndex${t}`)!==n&&N(e,`containerItemIndex${t}`,n);let _=M(e,`containerItemData${t}`),v=()=>{N(e,`containerItemData${t}`,d),g=!0};if(_!==d){let r=(i.pendingDataComparison?.previousData===i.previousData&&i.pendingDataComparison?.nextData===c?i.pendingDataComparison:void 0)?.byIndex[n]??0;if(r===2)v();else if(r!==1){let r=M(e,`containerItemKey${t}`)??f,a=u?.(_,n);if(_===void 0||!u||a!==r)v();else if(!l)v();else{let e=l(_,d,n,c);(!i.pendingDataComparison||i.pendingDataComparison.previousData!==i.previousData||i.pendingDataComparison.nextData!==c)&&i.previousData&&(i.pendingDataComparison={byIndex:[],nextData:c,previousData:i.previousData}),i.pendingDataComparison?.byIndex&&(i.pendingDataComparison.byIndex[n]=e?1:2),e||v()}}}return{didChangePosition:h,didRefreshData:g}}function Sr(e,t,n){let r=e.state,i=M(e,`numColumns`),a=t;r.columns[t]!==1&&(a=Cr(r,i,t));let o=0,s=r.columns[a];if(a>0){let t=a-1;o=(r.positions[t]??0)+wr(e,Cr(r,i,t),t,n)}return{column:s,currentRowTop:o,startIndex:a}}function Cr(e,t,n){if(t<=1)return Math.max(0,n);let r=Math.max(0,n);for(;r>0&&e.columns[r]!==1;)r--;return r}function wr(e,t,n,r){let i=e.state;if(n<t)return 0;let{data:a}=i.props;if(!a)return 0;let o=0;for(let s=t;s<=n;s++){if(s<0||s>=a.length)continue;let t=i.idCache[s],n=Y(e,t,s,a[s],r);n>o&&(o=n)}return o}function Tr(e){let t=e.state,{positions:n,props:{data:r}}=t,i=M(e,`numColumns`)??1;if(r.length===0)at(e,null,0);else{let a=r.length-1,o=K(t,a),s=n[a];if(o!==void 0&&s!==void 0)if(i>1){let n=a;for(;n>0;){let e=t.columns[n];if(e===1||e===void 0)break;--n}let i=0;for(let o=n;o<=a;o++){let n=Y(e,t.idCache[o]??K(t,o),o,r[o]);n>i&&(i=n)}at(e,null,s+i)}else{let t=Y(e,o,a,r[a]);t!==void 0&&at(e,null,s+t)}}}function Er(e){let t=e.state,{props:{snapToIndices:n}}=t,r=t.props.horizontal?R(e):void 0,i=Array(n.length);for(let e=0;e<n.length;e++){let a=n[e];K(t,a);let o=t.positions[a];i[e]=b(t,o,r)}N(e,`snapToOffsets`,i)}function Dr(e,t,{doMVCP:n,forceFullUpdate:r=!1,optimizeForVisibleWindow:i=!1,scrollBottomBuffered:a,scrollVelocity:o,startIndex:s}={doMVCP:!1,forceFullUpdate:!1,optimizeForVisibleWindow:!1,scrollBottomBuffered:-1,startIndex:0}){let c=e.state,l=e.positionListeners.size>0,{columns:u,columnSpans:d,indexByKey:f,positions:p,idCache:m,sizesKnown:h,props:{data:g,overrideItemLayout:_,snapToIndices:v},scrollingTo:y}=c,b=g.length,x=M(e,`numColumns`)??1,S=x>1,C=H?new Map:void 0,w=M(e,`extraData`),T=_?{span:1}:void 0,E=c.lastScrollDelta,D=o??Ht(c),O=!r&&!t&&(i||Math.abs(D)>0||c.scrollLength>0&&E>c.scrollLength),k=a+1e3,A=!n||t||c.scrollAdjustHandler.getAdjust()!==0||(M(e,`scrollAdjustPending`)??0)!==0,j=0,N=1,P=0;if(t&&(d.length=0),S||(u.length&&=0,d.length&&=0),s>0){if(S){let{startIndex:t,currentRowTop:n}=Sr(e,s,!0);s=t,j=n}else if(s<b){let t=s-1,n=K(c,t);j=(p[t]??0)+(h.get(n)??Y(e,n,t,g[t],!0,A,!1))}}let F=t||f.size===0,I=S&&!!_&&!!T,te=!1,L;for(let n=s;n<b;n++){if(O&&L!==void 0&&n>L){te=!0;break}O&&L===void 0&&!y&&!t&&j>k&&(L=n+(S?x:1)+10);let r=m[n]??K(c,n),i=1;if(I){T.span=1,_(T,g[n],n,x,w);let e=T.span;e!==void 0&&Number.isFinite(e)&&(i=Math.max(1,Math.min(x,Math.round(e))))}S&&N+i-1>x&&(j+=P,N=1,P=0);let a=h.get(r),o=a===void 0?Y(e,r,n,g[n],!0,A,!1):a;H&&F&&(C.has(r)&&console.error(`[legend-list] Error: Detected overlapping key (${r}) which causes missing items and gaps and other terrrible things. Check that keyExtractor returns unique values.`),C.set(r,n)),j!==p[n]&&(p[n]=j,l&&ee(e,r,j)),F&&f.set(r,n),S?(u[n]=N,d[n]=i,o>P&&(P=o),N+=i,N>x&&(j+=P,N=1,P=0)):j+=o}te||Tr(e),v&&Er(e)}function Or(e,t){let n=e.mapViewabilityConfigStates;n||(n=new Map,e.mapViewabilityConfigStates=n);let r=n.get(t);return r||(r={end:-1,endBuffered:-1,previousEnd:-1,previousStart:-1,start:-1,startBuffered:-1,viewableItems:[]},n.set(t,r)),r}function kr(e){let{viewabilityConfig:t,viewabilityConfigCallbackPairs:n,onViewableItemsChanged:r}=e;return(t||r)&&(n=[...n||[],{onViewableItemsChanged:r,viewabilityConfig:t||{viewAreaCoveragePercentThreshold:0}}]),n}function Ar(e,t,n,r,i,a,o=i,s=a){let{props:{data:c}}=e;for(let l of n){let n=Or(t,l.viewabilityConfig.id);n.start=i,n.end=a,n.startBuffered=o,n.endBuffered=s,l.viewabilityConfig.minimumViewTime?e.scheduledWork.timeout(()=>jr(c,l,e,t,r),l.viewabilityConfig.minimumViewTime):jr(c,l,e,t,r)}}function jr(e,t,n,r,i){let{viewabilityConfig:a,onViewableItemsChanged:o}=t,s=a.id,c=Or(r,s),{viewableItems:l,start:u,end:d,startBuffered:f,endBuffered:p}=c,m;for(let[e,t]of r.mapViewabilityAmountValues)Nr(n,r,a,e,t.key,i,t.item,t.index).sizeVisible<0&&(m??=[],m.push(e));let h=[],g=new Set;if(l)for(let t of l){g.add(t.key);let o=n.indexByKey.get(t.key),s=o===void 0?void 0:e[o],c=mt(r,t.key),l=!1;o!==void 0&&s!==void 0&&(l=Pr(n,r,a,c,t.key,i,s,o)),l||h.push({...t,index:o??t.index,isViewable:!1,item:s??t.item})}let _=[];for(let t=u;t<=d;t++){let o=e[t];if(o){let e=K(n,t),s=mt(r,e);if(Pr(n,r,a,s,e,i,o,t)){let n={containerId:s,index:t,isViewable:!0,item:o,key:e};_.push(n),g.has(n.key)||h.push(n)}}}if(Object.assign(c,{previousEnd:d,previousStart:u,viewableItems:_}),h.length>0){c.viewableItems=_;for(let e=0;e<h.length;e++){let t=h[e];Fr(r,s,t.containerId,t)}o&&o({changed:h,end:d,endBuffered:p,start:u,startBuffered:f,viewableItems:_})}if(m)for(let e of m){let t=r.mapViewabilityAmountValues.get(e);t&&t.sizeVisible<0&&r.mapViewabilityAmountValues.delete(e)}}function Mr(e,t){return!!e&&e.containerId===t.containerId&&e.index===t.index&&e.isViewable===t.isViewable&&e.item===t.item&&e.key===t.key&&e.percentOfScroller===t.percentOfScroller&&e.percentVisible===t.percentVisible&&e.scrollSize===t.scrollSize&&e.size===t.size&&e.sizeVisible===t.sizeVisible}function Nr(e,t,n,r,i,a,o,s){let{sizes:c,scroll:l}=e,u=(M(t,`stylePaddingTop`)||0)+(M(t,`alignItemsAtEndPadding`)||0)+(M(t,`headerSize`)||0),{itemVisiblePercentThreshold:d,viewAreaCoveragePercentThreshold:f}=n,p=f!=null,m=p?f:d,h=l-u,g=e.positions[s],_=c.get(i)||0;if(g===void 0){let e={containerId:r,index:s,isViewable:!1,item:o,key:i,percentOfScroller:0,percentVisible:0,scrollSize:a,size:_,sizeVisible:-1};if(!Mr(t.mapViewabilityAmountValues.get(r),e)){t.mapViewabilityAmountValues.set(r,e);let n=t.mapViewabilityAmountCallbacks.get(r);n&&n(e)}return e}let v=g-h,y=v+_,b=v>=0&&y<=a&&y>v,x=b?_:Math.min(y,a)-Math.max(v,0),S=_?b?100:x/_*100:0,C=_?x/a*100:0,w={containerId:r,index:s,isViewable:(b?100:p?C:S)>=m,item:o,key:i,percentOfScroller:C,percentVisible:S,scrollSize:a,size:_,sizeVisible:x};if(!Mr(t.mapViewabilityAmountValues.get(r),w)){t.mapViewabilityAmountValues.set(r,w);let e=t.mapViewabilityAmountCallbacks.get(r);e&&e(w)}return w}function Pr(e,t,n,r,i,a,o,s){let c=t.mapViewabilityAmountValues.get(r);return(!c||c.key!==i||c.index!==s)&&(c=Nr(e,t,n,r,i,a,o,s)),c.isViewable}function Fr(e,t,n,r){let i=n+t;e.mapViewabilityValues.set(i,r),e.mapViewabilityCallbacks.get(i)?.(r)}var Ir=o.unstable_batchedUpdates,Lr=typeof Ir==`function`?Ir:e=>e(),Rr=32,zr=64,Br=3;function Vr(e,t){if(e<=0||t<=0)return 0;let n=Math.ceil(t*Br),r=t+zr;return Math.min(Math.max(e,t),Math.max(t,Math.min(n,r),Math.min(e,Rr)))}function Hr(e,t){return e<=0||t<=0?0:Math.min(Math.max(e,t),Math.max(t,Math.ceil(t*1.5)))}function Ur(e,t,n,r,i,a,o){let s=t.length;if(s===0)return[];let c=M(e,`numContainers`),l=e.state,{containerItemMetadata:u,stickyContainerPool:d}=l,f=l.props.recycleItems&&!!l.props.positionComponentInternal,p=i.length>0?new Set(i):void 0,m=t.map((e,t)=>({isSticky:l.props.stickyHeaderIndicesSet.has(e),itemIndex:e,itemType:a?.(e),order:t})),h=m.filter(e=>!e.isSticky),g=m.filter(e=>e.isSticky),_=[],v=[];for(let t=0;t<c;t++){let i=M(e,`containerItemKey${t}`),a=!!p?.has(t);if(!(i&&o?.has(i)&&l.indexByKey.has(i))){if(d.has(t))(i===void 0||a)&&v.push({containerIndex:t,distance:1/0});else if(i===void 0||a)_.push({containerIndex:t,distance:1/0});else if(!f){let e=l.indexByKey.get(i);if(e!==void 0&&(e<n||e>r)){let i=e<n?n-e:e-r;_.push({containerIndex:t,distance:i})}}}}_.sort(Wr);let y=Array(s),b=c,x=!1,S=(e,t)=>{y[e.order]={containerIndex:t,itemIndex:e.itemIndex,itemType:e.itemType},p?.delete(t)&&(x=!0)},C=(e,t,n)=>{for(let r of e){if(y[r.order])continue;let e=t.findIndex(e=>n(u.get(e.containerIndex)?.itemType,r.itemType));if(e!==-1){let[n]=t.splice(e,1);S(r,n.containerIndex)}}},w=(e,t,n)=>{a&&C(e,t,(e,t)=>t!==void 0&&e===t),C(e,t,e=>e===void 0),n&&C(e,t,()=>!0)};w(h,_,!0),w(g,v,!1);for(let e of m){if(y[e.order])continue;let t=b++;e.isSticky&&d.add(t),S(e,t)}if(x&&(i.length=0,p))for(let e of p)i.push(e);if(H){let t=M(e,`numContainersPooled`)??1/0;b>t&&console.warn(`[legend-list] No unused container available, so creating one on demand. This can be a minor performance issue and is likely caused by the estimatedItemSize being too large. Consider decreasing estimatedItemSize.`,{debugInfo:{numContainers:c,numContainersPooled:t,numNeeded:s,stillNeeded:b-c}})}return y}function Wr(e,t){return t.distance-e.distance}function Gr(e){let t=e.state;t.queuedInitialLayout=!0,je(e),qe(e,{didLayout:!0}),t.pendingMaintainScrollAtEnd&&Q(e)}var Kr=4,qr=100;function Jr(e,t){if(t<=0)return 0;let n=Math.min(1,Math.abs(e)/Kr);return Math.sign(e)*t*n}function Yr(e){let t=e.state;t.scheduledWork.timeout(()=>{var e;t.scrollHistory.length=0,(e=t.triggerCalculateItemsInView)==null||e.call(t)},qr,`renderRangeProjection`)}function Xr(e,t,n){let r=n.positions;for(let n=e.length-1;n>=0;n--){let i=r[e[n]];if(i!==void 0&&t>=i)return n}return-1}function Zr(e,t){let n=e.state,r=!1;for(let i of n.stickyContainerPool){let a=M(e,`containerItemKey${i}`);if((a?n.indexByKey.get(a):void 0)===t){r=!0;break}}return r}function Qr(e,t,n,r,i,a,o){let s=e.state;N(e,`activeStickyIndex`,n>=0?t[n]:-1);for(let c=0;c<=1;c++){let l=n-c;if(l<0)continue;let u=t[l];if(Zr(e,u))continue;let d=s.idCache[u]??K(s,u);d&&!s.containerItemKeys.has(d)&&(u<a||u>o)&&!i.has(u)&&(i.add(u),r.push(u))}}function $r(e,t,n,r,i,a,o){let s=e.state;for(let c of s.stickyContainerPool){let l=M(e,`containerItemKey${c}`),u=l?s.indexByKey.get(l):void 0;if(u===void 0||o(u))continue;let d=t.indexOf(u);if(d===-1){s.stickyContainerPool.delete(c),N(e,`containerSticky${c}`,!1);continue}if(d>=i-1&&d<=i+1)continue;let f=t[d+1],p=!1;if(f){let e=s.positions[f];p=e!==void 0&&n>e+r*2}else{let t=s.idCache[u]??K(s,u);if(t){let i=s.positions[u],a=s.sizes.get(t)??Y(e,t,u,s.props.data[u]);p=i!==void 0&&n>i+a+r*3}}p&&a.push(c)}}function ei(e,t,n,r,i,a){let o=!1;return e.startNoBuffer===null&&n+r>i&&(e.startNoBuffer=t),e.firstFullyOnScreenIndex===void 0&&n>=i-10&&n<=a&&(e.firstFullyOnScreenIndex=t),e.startNoBuffer!==null&&(n<=a?e.endNoBuffer=t:o=!0),o}function ti(e,t){let n=[],r=t.firstFullyOnScreenIndex??t.startNoBuffer;if(r!=null&&t.endNoBuffer!==null)for(let i=r;i<=t.endNoBuffer;i++){let t=e.idCache[i]??K(e,i);n.push(t)}return n}function ni(e,t){let n=e.props.onFirstVisibleItemChanged;if(!n||t===null||t<0||t>=e.props.data.length)return;let r=e.idCache[t]??K(e,t),i=e.lastFirstVisibleItemCallback;(i?.index!==t||i.key!==r)&&(e.lastFirstVisibleItemCallback={index:t,key:r},n({index:t,item:e.props.data[t],key:r}))}function ri(e,t){let n=e.state,{endBuffered:r,idCache:i,positions:a,props:{data:o},sizes:s,startBuffered:c}=n;if(c===null||r===null||c<0||r<c)return null;for(let l=c;l<=r&&l<o.length;l++){let r=i[l]??K(n,l),c=s.get(r)??Y(e,r,l,o[l]);if(a[l]+c>t)return l}return null}function ii(e,t,n,r,i){let a=e.state,{endBuffered:o,idCache:s,positions:c,props:{data:l},sizes:u,startBuffered:d}=a;if(d===null||o===null||d<0||o<d)return;let f={endNoBuffer:null,firstFullyOnScreenIndex:void 0,startNoBuffer:null};for(let t=d;t<=o&&t<l.length;t++){let n=s[t]??K(a,t),o=u.get(n)??Y(e,n,t,l[t]),d=c[t];if(ei(f,t,d,o,r,i))break}Object.assign(a,{endNoBuffer:f.endNoBuffer,firstFullyOnScreenIndex:f.firstFullyOnScreenIndex,idsInView:ti(a,f),startNoBuffer:f.startNoBuffer}),ni(a,f.startNoBuffer),f.startNoBuffer!==null&&f.endNoBuffer!==null&&Ar(a,e,t,n,f.startNoBuffer,f.endNoBuffer,d,o)}function ai(e,t={}){let n=e.state;Lr(()=>{var r,i,a;let{columns:o,containerItemKeys:s,enableScrollForNextCalculateItemsInView:c,idCache:l,indexByKey:u,minIndexSizeChanged:d,positions:f,props:{alwaysRenderIndicesArr:p,alwaysRenderIndicesSet:m,getItemType:h,keyExtractor:g,onStickyHeaderChange:_},scrollForNextCalculateItemsInView:v,scrollLength:y,sizes:b,startBufferedId:x,viewabilityConfigCallbackPairs:S}=n,{data:C}=n.props,w=n.props.stickyHeaderIndicesArr||[],T=n.props.stickyHeaderIndicesSet||new Set,E=We(e,t.drawDistanceMode),{dataChanged:D,doMVCP:O,forceFullItemPositions:k,mvcpAdjustmentSource:A}=t,j=n.initialScrollSession?.kind===`bootstrap`?n.initialScrollSession.bootstrap:void 0,P=!!j,ee=M(e,`numContainers`);if(!C||y===0||!ee)return;let F=R(e),I,te=M(e,`stylePaddingTop`)+M(e,`alignItemsAtEndPadding`)+M(e,`headerSize`),L=M(e,`numColumns`),z=t.scrollVelocity??Ht(n),{initialScroll:ne,queuedInitialLayout:ie}=n,B=P?j?.scroll??n.scroll:!ie&&Ae(n)&&ne?rn(e,ne):n.scroll,ae=0,oe=0,V=0,H=0,ce=0,le=0,ue=B,de=t=>{ue=t,ae=M(e,`scrollAdjustPending`)??0,oe=ae-te,V=Math.round(t+0+oe),V+y>F&&(V=Math.max(0,F-y))};de(B);let fe=M(e,`activeStickyIndex`),pe=()=>{let t=w.length>0?Xr(w,V,n):-1,r=t>=0?w[t]:-1,i=fe!==r;return(t>=0||fe>=0)&&N(e,`activeStickyIndex`,r),{currentStickyIdx:t,finishCalculateItemsInView:_&&w.length>0&&i?()=>{let e=C[r];e!==void 0&&_?.({index:r,item:e})}:void 0}},me=D?void 0:pe(),he=E,ge=E;z>0||z===0&&V<Math.max(50,E)?(he=E*.5,ge=E*1.5):(he=E*1.5,ge=E*.5);let _e=!D&&!k&&!P&&!Ae(n)&&!n.scrollingTo&&!n.pendingNativeMVCPAdjust&&M(e,`readyToRender`)?Jr(z,Math.min(he,ge)):0,ve=()=>{let e=Math.max(0,V),t=Math.max(0,-ue);ce=Math.max(e,V+y+t),H=e-he+_e,le=ce+ge+_e};if(ve(),_e!==0&&Yr(e),c&&!P&&!D&&!k&&v){let{top:t,bottom:i}=v;if(t===null&&i===null)n.scrollForNextCalculateItemsInView=void 0;else if((t===null||H>t)&&(i===null||le<i)&&!Wt(n)){S?ii(e,S,y,V,ce):n.props.onFirstVisibleItemChanged&&ni(n,ri(e,V)),(r=me?.finishCalculateItemsInView)==null||r.call(me);return}}let ye=O&&!P?zt(e,D):void 0;D&&vr(n);let be=k||D?0:d??n.startBuffered??0;Dr(e,D,{doMVCP:O,forceFullUpdate:!!k,optimizeForVisibleWindow:!k&&!D&&L>1&&d!==void 0,scrollBottomBuffered:le,scrollVelocity:z,startIndex:be}),F=R(e),d!==void 0&&(n.minIndexSizeChanged=void 0);let xe;if(D&&O&&n.props.maintainVisibleContentPosition.data&&n.didContainersLayout&&n.idsInView.length>0){let e=n.props.maintainVisibleContentPosition.shouldRestorePosition;xe=new Set;for(let t of n.idsInView){let n=u.get(t);n!==void 0&&(e&&!e(C[n],n,C)||xe.add(t))}}let U=n.scroll,W=M(e,`scrollAdjustPending`)??0;ye?.(),ye&&(n.scroll!==U||(M(e,`scrollAdjustPending`)??0)!==W)&&(de(n.scroll),ve()),D&&(me=pe());let Se=null,Ce=null,we=null,Te=(P?j?.targetIndexSeed:void 0)??(!D&&x&&u.get(x)||0);for(let t=Te;t>=0;t--){let r=l[t]??K(n,t);if(f[t]+(b.get(r)??Y(e,r,t,C[t]))>H)Te=t;else break}if(L>1)for(;Te>0;){let e=o[Te];if(e===1||e===void 0)break;--Te}let Ee=!1,De,Oe,ke=0;for(let t=0;t<ee;t++){let n=M(e,`containerItemKey${t}`);if(n!==void 0){let e=u.get(n);ke=Math.max(ke,e)}}let G={endNoBuffer:null,firstFullyOnScreenIndex:void 0,startNoBuffer:null},je=C.length;for(let t=Math.max(0,Te);t<je&&(!Ee||t<=ke);t++){let r=l[t]??K(n,t),i=b.get(r)??Y(e,r,t,C[t]),a=f[t];Ee||(ei(G,t,a,i,V,ce),Se===null&&a+i>H&&(Se=t,Ce=r,De=H<0?null:a),G.startNoBuffer!==null&&(a<=le?(we=t,Oe=le>F?null:a+i):Ee=!0))}Object.assign(n,{endBuffered:we,endNoBuffer:G.endNoBuffer,firstFullyOnScreenIndex:G.firstFullyOnScreenIndex,idsInView:ti(n,G),startBuffered:Se,startBufferedId:Ce,startNoBuffer:G.startNoBuffer}),c&&De!==void 0&&Oe!==void 0&&(n.scrollForNextCalculateItemsInView=dt(De)&&dt(Oe)?void 0:{bottom:Oe,top:De});let Me=ee,Ne=[];if(D)for(let t=0;t<Me;t++){let n=M(e,`containerItemKey${t}`);(!g||n&&u.get(n)===void 0)&&Ne.push(t)}let Pe=n.scrollTargetPinnedRange,Fe=0,Ie=-1;Pe&&(Fe=Math.max(0,Math.min(Pe.start,Pe.end)),Ie=Math.min(je-1,Math.max(Pe.start,Pe.end)));let Le=Fe<=Ie,Re=e=>m.has(e)||Le&&e>=Fe&&e<=Ie;if(Se!==null&&we!==null){let t=[],r=new Set,a=e=>{if(e>=0&&e<je){let i=l[e]??K(n,e),a=s.get(i);a===void 0?!dt(i)&&!r.has(e)&&(r.add(e),t.push(e)):n.stickyContainerPool.add(a)}};for(let e=Se;e<=we;e++){let i=l[e]??K(n,e);s.has(i)||(r.add(e),t.push(e))}for(let e of p)a(e);if(Le)for(let e=Fe;e<=Ie;e++)a(e);if(w.length>0?Qr(e,w,me?.currentStickyIdx??-1,t,r,Se,we):fe!==-1&&N(e,`activeStickyIndex`,-1),t.length>0){let r=Ur(e,t,Se,we,Ne,h?e=>{let t=h(C[e],e);return t===void 0?``:String(t)}:void 0,xe);for(let t of r){let r=t.itemIndex,a=t.containerIndex,o=l[r]??K(n,r),c=M(e,`containerItemKey${a}`);if(c&&c!==o&&s.delete(c),n.containerItemMetadata.set(a,qn(n,r,C[r],t.itemType)),c!==o&&(I??=new Set,I.add(a),n.containerItemGenerations[a]=(n.containerItemGenerations[a]??0)+1,n.props.hideItemsUntilMeasured)){let t=n.sizesKnown.has(o)||Yn(n,a,r,C[r]).fixedItemSize!==void 0;N(e,`containerLayoutReady${a}`,t)}N(e,`containerItemKey${a}`,o),N(e,`containerItemIndex${a}`,r),N(e,`containerItemData${a}`,C[r]),s.set(o,a),(i=n.userScrollAnchorReset)==null||i.keys.add(o);let u=`containerSticky${a}`,d=T.has(r),f=Re(r);d?(N(e,u,!0),n.stickyContainerPool.add(a)):(M(e,u)&&N(e,u,!1),f?n.stickyContainerPool.add(a):n.stickyContainerPool.delete(a)),a>=Me&&(Me=a+1)}Me!==ee&&(N(e,`numContainers`,Me),Me>M(e,`numContainersPooled`)&&N(e,`numContainersPooled`,Hr(je,Me)))}n.userScrollAnchorReset?.keys.size===0&&(n.userScrollAnchorReset=void 0)}n.stickyContainerPool.size>0&&$r(e,w,V,E,me?.currentStickyIdx??-1,Ne,Re);let ze=Ne.length>0?new Set(Ne):void 0,Be=!1;for(let t=0;t<Me;t++){let r=M(e,`containerItemKey${t}`);if(ze?.has(t))r!==void 0&&(s.delete(r),I??=new Set,I.add(t),n.containerItemGenerations[t]=(n.containerItemGenerations[t]??0)+1),n.containerItemMetadata.delete(t),n.stickyContainerPool.has(t)&&(N(e,`containerSticky${t}`,!1),n.stickyContainerPool.delete(t)),N(e,`containerItemKey${t}`,void 0),N(e,`containerItemIndex${t}`,void 0),N(e,`containerItemData${t}`,void 0),N(e,`containerPosition${t}`,se),N(e,`containerColumn${t}`,-1),N(e,`containerSpan${t}`,1);else{let n=u.get(r);n!==void 0&&(Be=xr(e,t,n,{scrollAdjustPending:ae,updateLayout:!0}).didChangePosition||Be)}}if(I&&re&&br(e,I),Be&&N(e,`lastPositionUpdate`,Date.now()),P){Wn(e);return}ni(n,G.startNoBuffer),!ie&&!n.didContainersLayout&&(Ae(n)?ln(n,n.startBuffered,n.endBuffered):ln(n,n.startNoBuffer,n.endNoBuffer)||ln(n,n.startBuffered,n.endBuffered))&&(Gr(e),hr(e)),S&&G.startNoBuffer!==null&&G.endNoBuffer!==null&&Ar(e.state,e,S,y,G.startNoBuffer,G.endNoBuffer,Se??G.startNoBuffer,we??G.endNoBuffer),(a=me?.finishCalculateItemsInView)==null||a.call(me)})}function oi(e){var t,n;let r=e.state,i=r.props.anchoredEndSpace,a=M(e,`anchoredEndSpaceSize`),o=r.anchoredEndSpaceReadyAnchorIndex,s=r.anchoredEndSpaceReadyAnchorKey,c=i?.anchorIndex,l,u=!0,d=0;if(i){let{anchorIndex:t,anchorMaxSize:n,anchorOffset:o=0}=i,{data:s}=r.props;if(t>=0&&t<s.length&&r.scrollLength>0){l=K(r,t);let i=0,c=!1;for(let r=t;r<s.length;r++){let a=J(e,r),o=r===t&&n!==void 0?Math.min(a||0,Math.max(0,n)):a;a===void 0&&(c=!0),o!=null&&o>0&&(i+=o)}i=Math.max(0,i-e.scrollAxisGap),i+=(e.values.get(`footerSize`)||0)+_(r.props),u=!c,d=c?a||0:Math.max(0,r.scrollLength-i-o)}else t>=0&&(u=!1)}let f=a!==d&&(a!==void 0||i!==void 0),p=(a||0)!==d;return u&&(f||o!==c||s!==l)&&(r.anchoredEndSpaceReadyAnchorIndex=c,r.anchoredEndSpaceReadyAnchorKey=l,f&&(N(e,`anchoredEndSpaceSize`,d),(t=i?.onSizeChanged)==null||t.call(i,d)),p&&(it(e),Gt(e,r.scroll,!0,{markHasScrolled:!1})),(n=i?.onReady)==null||n.call(i,{anchorIndex:c,anchorKey:l,size:d})),d}function si(e){let t=e.state;t.userScrollAnchorReset===void 0?t.mvcpAnchorLock?t.scheduledWork.has(`mvcpRecalculate`)||t.scheduledWork.frame(()=>ai(e,{doMVCP:!0,mvcpAdjustmentSource:`item-size`}),`mvcpRecalculate`):(t.scheduledWork.cancel(`mvcpRecalculate`),ai(e,{doMVCP:!0,mvcpAdjustmentSource:`item-size`})):(ai(e),t.userScrollAnchorReset?.keys.size===0&&(t.userScrollAnchorReset=void 0))}function ci(e,t,n){if(e.state.needsOtherAxisSize){let r=n?t.height:t.width,i=M(e,`otherAxisSize`);(!i||r>i)&&N(e,`otherAxisSize`,r)}}var li;function ui(e){let t=li===void 0;li??=new Map;try{e()}finally{if(t){let e=li;li=void 0;for(let[t,n]of e)mi(t,n)}}}function di(e,t){e.didChange||=t.didChange,e.didMeasureUserScrollAnchorResetItem||=t.didMeasureUserScrollAnchorResetItem,e.needsRecalculate||=t.needsRecalculate,e.shouldMaintainScrollAtEnd||=t.shouldMaintainScrollAtEnd}function fi(e,t){let n=e.state;t.needsRecalculate?(n.scrollForNextCalculateItemsInView=void 0,si(e)):t.didMeasureUserScrollAnchorResetItem&&n.userScrollAnchorReset?.keys.size===0&&(n.userScrollAnchorReset=void 0),t.didChange&&oi(e),t.didChange&&t.shouldMaintainScrollAtEnd&&Q(e)}function pi(e,t){if(li){let n=li.get(e);n?n.push(t):li.set(e,[t])}else mi(e,[t])}function mi(e,t){let n=e.state,r={};for(let i of t)if(i.containerId===void 0||M(e,`containerItemKey${i.containerId}`)===i.itemKey){let t=n.indexByKey.get(i.itemKey),a=t===void 0?void 0:n.props.data?.[t],o=i.containerId!==void 0&&t!==void 0&&a!==void 0?Yn(n,i.containerId,t,a):void 0;di(r,hi(e,i.itemKey,i.size,o))}fi(e,r)}function hi(e,t,n,r){let i=e.state,a=!!i.userScrollAnchorReset?.keys.delete(t),{didContainersLayout:o,sizesKnown:s,props:{getFixedItemSize:c,getItemType:l,horizontal:u,onItemSizeChanged:d,data:f,maintainScrollAtEnd:p}}=i;if(!f)return{didMeasureUserScrollAnchorResetItem:a};let m=i.indexByKey.get(t);if(c){if(m===void 0)return{didMeasureUserScrollAnchorResetItem:a};let o=i.props.data[m];if(o===void 0)return{didMeasureUserScrollAnchorResetItem:a};if(!r?.didResolveFixedItemSize){let e=r?.itemType??(l?l(o,m)??``:``);r={didResolveFixedItemSize:!0,fixedItemSize:c(o,m,e),itemType:e}}let d=r.fixedItemSize;if(d!==void 0&&d===s.get(t))return ci(e,n,u),{didMeasureUserScrollAnchorResetItem:a}}let h=!o,g=!1,_,v=i.sizesKnown.get(t),y=gi(e,t,n,r),b=ut(u?n.width:n.height);if(y!==0){_=_===void 0?m:Math.min(_,m);let{startBuffered:e,endBuffered:n}=i;h||=m>=e&&m<=n,!h&&i.containerItemKeys.has(t)&&(h=!0),(v===void 0||Math.abs(v-b)>5)&&(g=!0),d?.({index:m,itemData:i.props.data[m],itemKey:t,previous:b-y,size:b})}if(_!==void 0&&(i.minIndexSizeChanged=i.minIndexSizeChanged===void 0?_:Math.min(i.minIndexSizeChanged,_)),ci(e,n,u),o||ln(i,i.startBuffered,i.endBuffered)){let e=g&&!!p?.onItemLayout;return{didChange:y!==0,didMeasureUserScrollAnchorResetItem:a,needsRecalculate:h,shouldMaintainScrollAtEnd:e}}return{didChange:y!==0,didMeasureUserScrollAnchorResetItem:a}}function gi(e,t,n,r){let{indexByKey:i,sizesKnown:a,averageSizes:o,props:{data:s,horizontal:c,getItemType:l,getFixedItemSize:u}}=e.state;if(!s)return 0;let d=i.get(t),f=s[d],p=r?.itemType,m=r?.fixedItemSize;u&&!r?.didResolveFixedItemSize&&(p=l?l(f,d)??``:``,m=u(f,d,p));let h=Y(e,t,d,f,void 0,void 0,void 0,r?.didResolveFixedItemSize||p!==void 0||m!==void 0?{didResolveFixedItemSize:r?.didResolveFixedItemSize,fixedItemSize:m,itemType:p}:void 0),g=c?n.width:n.height,_=a.get(t),v=Math.round(g);if(a.set(t,v),m===void 0&&v>0){p??=l?l(f,d)??``:``;let e=o[p];e||=o[p]={avg:0,num:0},e.num===0?(e.avg=v,e.num++):_!==void 0&&_>0?e.avg+=(v-_)/e.num:(e.avg=(e.avg*e.num+v)/(e.num+1),e.num++)}return!h||Math.abs(h-v)>.1?(ot(e,t,v),v-h):0}function _i(e,t=null){let n=[],r=t??e.viewRefs.keys();for(let t of r){let r=e.viewRefs.get(t),i=M(e,`containerItemKey${t}`),a=r?.current;if(i!==void 0&&a){let e=a.getBoundingClientRect();ae(a,e),n.push({containerId:t,itemKey:i,size:{height:e.height,width:e.width}})}}n.length>0&&mi(e,n)}var vi=i.forwardRef,yi=i.memo,bi=yi(function({children:e}){let t=D(),[n]=F([`containerLayoutEpoch`]);return i.useLayoutEffect(()=>{{let e=yr(t);e!==void 0&&_i(t,e)}},[t,n]),e}),xi=e=>i.isValidElement(e)?e:e?i.createElement(e,null):null,Si={contain:`paint layout style`,...typeof document<`u`&&document.getElementById(`react-native-stylesheet`)?{display:`flex`,flexDirection:`column`}:{}},Ci=yi(function({id:e,horizontal:t,style:n,refView:r,...a}){let[o=se]=F([`containerPosition${e}`]),s=ct(n)?Object.assign({},...n):n,c=t?{...Si,...s,left:o}:{...Si,...s,top:o},{animatedScrollY:l,onLayout:u,onLayoutChange:d,stickyHeaderConfig:f,...p}=a;return i.createElement(`div`,{ref:r,...p,style:c})}),wi=yi(function({id:e,horizontal:t,style:n,refView:r,animatedScrollY:a,stickyHeaderConfig:o,onLayout:s,onLayoutChange:c,children:l,...u}){let[d=se,f,p]=F([`containerPosition${e}`,`activeStickyIndex`,`containerItemIndex${e}`]),m=i.useMemo(()=>(ct(n)?Object.assign({},...n):n)??{},[n]),h=i.useMemo(()=>{let e={...Si,...m};delete e.transform;let n=o?.offset??0,r=f===p;return e.position=r?`sticky`:`absolute`,e.zIndex=p+1e3,t?e.left=r?n:d:e.top=r?n:d,e},[m,t,d,p,f,o?.offset]),g=i.useMemo(()=>o?.backdropComponent?i.createElement(`div`,{style:{inset:0,pointerEvents:`none`,position:`absolute`}},xi(o.backdropComponent)):null,[o?.backdropComponent]);return i.createElement(`div`,{ref:r,style:h,...u},g,l)}),Ti=Ci;function Ei(e){(0,i.useState)(()=>e())}var Di=(0,i.createContext)(null),Oi=-1;function ki(){return(0,i.useContext)(Di)}function Ai(){let e=ki(),[t]=F([`containerItemKey${e?.containerId??Oi}`]);return I(`lastItemKeys`,n=>e&&!dt(t)&&n?.includes(t)||!1)}function ji({ItemSeparatorComponent:e,leadingItem:t}){return Ai()?null:i.createElement(e,{leadingItem:t})}var Mi=null;function Ni(){return Mi||=new ResizeObserver(e=>{ui(()=>{for(let t of e){let e=Pi.get(t.target);if(e)for(let n of e)n(t)}})}),Mi}var Pi=new WeakMap;function Fi(e,t){if(typeof ResizeObserver>`u`||!e)return()=>{};let n=Ni(),r=Pi.get(e)??new Set;return r.size===0&&(Pi.set(e,r),n.observe(e,{box:`border-box`})),r.add(t),()=>{r.delete(t),r.size===0&&(Pi.delete(e),n.unobserve(e))}}function Ii({ref:e,measureInLayoutEffect:t=!0,onLayoutProp:n,onLayoutChange:r,webLayoutResync:a},o){return(0,i.useLayoutEffect)(()=>{let i=e.current,o=((i?.getScrollableNode)?.call(i)??null)||i;if(!o)return;let s=(e,t)=>{(e.height!==0||e.width!==0)&&(r(e,t),n?.({nativeEvent:{layout:e}}))},c;if(t){let e=o.getBoundingClientRect();s(Li(e),!0),c=e}return Fi(o,e=>{let t=e.target instanceof HTMLElement?e.target:void 0,n=Array.isArray(e.borderBoxSize)?e.borderBoxSize[0]:e.borderBoxSize,r=n?{height:n.blockSize,left:e.contentRect.left,top:e.contentRect.top,width:n.inlineSize}:t?.getBoundingClientRect()??e.contentRect,i=c??B(o),l=i===void 0||r.width!==i.width||r.height!==i.height;c=r;let u=!!a?.();(l||u)&&s(Li(r),!1)})},[t,...o||[]]),{}}function Li(e){return e?{height:e.height,width:e.width,x:e.left,y:e.top}:{height:0,width:0,x:0,y:0}}var Ri=new Map,zi;function Bi(e){Ri.delete(e)}function Vi(e,t){Ri.set(e,t),zi===void 0&&(zi=requestAnimationFrame(()=>{let e=Array.from(Ri.values());Ri.clear(),zi=void 0,ui(()=>{for(let t of e)t()})}))}function Hi({containerId:e,ctx:t,rectangle:n,ref:r,state:i}){let a=t.state,o=i.itemKey;i.didLayout=!0;let s=n,c=i.horizontal?`width`:`height`,l=ut(n[c]);i.lastSize&&ut(i.lastSize[c]);let u=a.sizesKnown.get(o),d=()=>{i.lastSize=s,pi(t,{containerId:e,itemKey:o,size:s})};!Wt(a)&&u!==void 0&&l+1<u?Vi(i,()=>{if(i.itemKey===o){let e=r.current,t=(e?.getBoundingClientRect)?.call(e);t&&(s={height:t.height,width:t.width}),d()}}):(Bi(i),d())}function Ui({containerId:e,ctx:t,horizontal:n,itemKey:r,ref:a}){let o=(0,i.useRef)({didLayout:!1,horizontal:n,itemKey:r});o.current.horizontal=n,o.current.itemKey=r;let[s,c]=(0,i.useState)(0),l=(0,i.useCallback)(n=>{Hi({containerId:e,ctx:t,rectangle:n,ref:a,state:o.current})},[e,t,a]),u=(0,i.useCallback)(()=>{br(t,e)},[e,t]);(0,i.useLayoutEffect)(()=>(t.containerLayoutTriggers.set(e,u),()=>{Bi(o.current),t.containerLayoutTriggers.get(e)===u&&t.containerLayoutTriggers.delete(e)}),[e,t,u]),(0,i.useLayoutEffect)(()=>{br(t,e)});let{onLayout:d}=Ii({measureInLayoutEffect:!re,onLayoutChange:l,ref:a,webLayoutResync:()=>Wt(t.state)},[r,s]);return(0,i.useEffect)(()=>{},[e,t,r]),{onLayout:d,triggerLayout:u}}function Wi({columnWrapperStyle:e,contentContainerAlignItems:t,horizontal:n,hasItemSeparator:r,isHorizontalRTLList:i,numColumns:a,otherAxisPos:o,otherAxisSize:s}){let c;if(e){let{columnGap:t,rowGap:r,gap:i}=e;c=n?{paddingBottom:a>1?(r||i||0)/2:void 0,paddingRight:t||i||void 0,paddingTop:a>1?(r||i||0)/2:void 0}:{paddingBottom:r||i||void 0,paddingLeft:a>1?(t||i||0)/2:void 0,paddingRight:a>1?(t||i||0)/2:void 0}}return n?{bottom:t===`flex-end`&&a===1?0:void 0,boxSizing:c?`border-box`:void 0,direction:i&&l.OS===`web`?`ltr`:void 0,flexDirection:r?`row`:void 0,height:s,left:0,position:`absolute`,top:t===`flex-end`&&a===1?void 0:o,...c||{}}:{boxSizing:c?`border-box`:void 0,left:o,position:`absolute`,right:a>1?null:0,top:0,width:s,...c||{}}}var Gi=yi(function({id:e,itemKey:t,recycleItems:n,horizontal:r,getRenderedItem:a,ItemSeparatorComponent:o,stickyHeaderConfig:s}){let c=D(),{columnWrapperStyle:l,animatedScrollY:u}=c,d=h(c.state),f=c.state.props.positionComponentInternal,p=c.state.props.stickyPositionComponentInternal,[m=0,g=1,_,v=1,y,b]=F([`containerColumn${e}`,`containerSpan${e}`,`containerItemData${e}`,`numColumns`,`extraData`,`containerSticky${e}`]),x=(0,i.useRef)(null),{onLayout:S,triggerLayout:C}=Ui({containerId:e,ctx:c,horizontal:r,itemKey:t,ref:x}),w=m>0?m:1,T=Math.min(Math.max(g||1,1),v),E=v>1?`${(w-1)/v*100}%`:0,O=v>1?`${T/v*100}%`:void 0,k=(0,i.useMemo)(()=>Wi({columnWrapperStyle:l,contentContainerAlignItems:c.state.props.contentContainerAlignItems,hasItemSeparator:!!o,horizontal:r,isHorizontalRTLList:d,numColumns:v,otherAxisPos:E,otherAxisSize:O}),[r,d,E,O,l,c.state.props.contentContainerAlignItems,v,o]),A=(0,i.useMemo)(()=>t===void 0?null:a(t,e),[t,_,y]),{renderedItem:j}=A||{},M=(0,i.useMemo)(()=>(c.viewRefs.set(e,x),{containerId:e,triggerLayout:C}),[e,C]),N=b?p||wi:f||Ti;return i.createElement(N,{animatedScrollY:b?u:void 0,horizontal:r,id:e,key:n?void 0:t,onLayout:S,refView:x,stickyHeaderConfig:s,style:k},i.createElement(Di.Provider,{value:M},j,A&&o&&i.createElement(ji,{ItemSeparatorComponent:o,leadingItem:A.item})))});function Ki({id:e,horizontal:t,recycleItems:n,ItemSeparatorComponent:r,getRenderedItem:a,stickyHeaderConfig:o,ContainerComponent:s=Gi}){let[c]=F([`containerItemKey${e}`]);return c===void 0?null:i.createElement(s,{getRenderedItem:a,horizontal:t,ItemSeparatorComponent:r,id:e,itemKey:c,recycleItems:n,stickyHeaderConfig:o})}var qi=yi(function(e){return i.createElement(Ki,{...e})});function Ji(e,t){let n=Array.from(e.children);if(n.length<=1)return n;let r=n.map(e=>[e,t.get(e)??null]);r.sort((e,t)=>{let n=e[1],r=t[1];return n===null?1:r===null?-1:n-r});let i=new Map;r.forEach((e,t)=>{i.set(e[0],t)});let a=Yi(n.map(e=>i.get(e))),o=new Set(a);for(let t=0;t<r.length;t++){let i=r[t][0],a=n.indexOf(i);if(!o.has(a)){let a=null;for(let e=t+1;e<r.length;e++){let t=r[e][0],i=n.indexOf(t);if(o.has(i)){a=t;break}}a?e.insertBefore(i,a):e.appendChild(i)}}}function Yi(e){let t=e.length,n=[],r=Array(t).fill(-1),i=[];for(let a=0;a<t;a++){let t=e[a],o=0,s=n.length;for(;o<s;){let n=Math.floor((o+s)/2);e[i[n]]<t?o=n+1:s=n}o===n.length?(n.push(t),i.push(a)):(n[o]=t,i[o]=a),o>0&&(r[a]=i[o-1])}let a=[],o=i[i.length-1];for(;o!==-1;)a.unshift(o),o=r[o];return a}function Xi(e){let t=D(),n=(0,i.useRef)(void 0);(0,i.useEffect)(()=>{let r=j(t,`lastPositionUpdate`,()=>{n.current!==void 0&&clearTimeout(n.current),n.current=setTimeout(()=>{let r=e.current;if(r){let e=new Map;for(let[n,r]of t.viewRefs){let i=r.current,a=M(t,`containerItemIndex${n}`);i&&a!==void 0&&e.set(i,a)}Ji(r,e)}n.current=void 0},500)});return()=>{r(),n.current!==void 0&&clearTimeout(n.current)}},[t])}function Zi(e,t){let[n,r]=(0,i.useState)(t),a=n!==t;return(0,i.useLayoutEffect)(()=>{r(t)},[t]),e&&!a}var Qi=yi(function({freshDataTransitionEpoch:e,horizontal:t,numColumns:n,children:r}){let a=(0,i.useRef)(null),o=D(),s=o.columnWrapperStyle,c=h(o.state),[l,u,d]=F([`otherAxisSize`,`readyToRender`,`totalSize`]),f=Zi(!!u,e);Xi(a);let p=t?{direction:c?`ltr`:void 0,flexShrink:0,minHeight:l,opacity:+!!f,position:`relative`,width:d}:{height:d,minWidth:l,opacity:+!!f,position:`relative`};if(f||(p.pointerEvents=`none`),s&&n>1){let{columnGap:e,rowGap:n,gap:r}=s,i=e||r||0,a=n||r||0;t?(a&&(p.marginTop=p.marginBottom=-a/2),i&&(p.marginRight=-i)):a&&(p.marginBottom=-a)}return i.createElement(`div`,{ref:a,style:p},i.createElement(bi,null,r))}),$i=yi(function({freshDataTransitionEpoch:e,horizontal:t,recycleItems:n,ItemSeparatorComponent:r,getRenderedItem:a,stickyHeaderConfig:o}){let[s,c]=F([`numContainersPooled`,`numColumns`]),l=[];for(let e=0;e<s;e++)l.push(i.createElement(qi,{getRenderedItem:a,horizontal:t,ItemSeparatorComponent:r,id:e,key:e,recycleItems:n,stickyHeaderConfig:o}));return i.createElement(Qi,{freshDataTransitionEpoch:e,horizontal:t,numColumns:c},l)});function ea(e){return ct(e)?Object.assign({},...e.filter(Boolean)):e}var ta={create:e=>e,flatten:e=>ea(e)};function na(e){let t=i.useRef(e);return t.current=e,t}function ra(e){let t=na(e),n=(0,i.useRef)(void 0),r=(0,i.useMemo)(()=>({cancel(){n.current!==void 0&&(cancelAnimationFrame(n.current),n.current=void 0)},flush(){r.cancel(),t.current()},schedule(){if(n.current!==void 0)return!1;let e=requestAnimationFrame(()=>{n.current===e&&(n.current=void 0,t.current())});return n.current=e,!0}}),[]);return(0,i.useEffect)(()=>()=>{r.cancel()},[r]),r}var ia=`legend-list-content-container`,aa=`legend-list-scrollbar-x-hidden`,oa=`legend-list-scrollbar-y-hidden`;function sa(){return typeof document>`u`?null:document.scrollingElement||document.documentElement||document.body}function ca(){return typeof window>`u`?{x:0,y:0}:{x:window.scrollX??window.pageXOffset??0,y:window.scrollY??window.pageYOffset??0}}function la(e,t){let n=e?.getBoundingClientRect();return{left:(n?.left??0)+t.x,top:(n?.top??0)+t.y}}function ua(e){return{height:e?.scrollHeight??0,width:e?.scrollWidth??0}}function da(e,t,n){return ua(n?t:e)}function fa(e,t,n){if(t&&typeof window<`u`){let t=e?.getBoundingClientRect();return{height:n?t?.height??e?.clientHeight??window.innerHeight:window.innerHeight,width:n?window.innerWidth:t?.width??e?.clientWidth??window.innerWidth}}return{height:e?.clientHeight??0,width:e?.clientWidth??0}}function pa(e,t){return Math.max(0,Math.min(e,t))}function ma(e,t){return t?e.width:e.height}function ha(e,t,n){return Math.max(0,ma(e,n)-ma(t,n))}function ga(e,t){return t&&sa()||e}function _a(e,t){return t&&typeof window<`u`?window:e}function va(e,t,n){let r=e.getBoundingClientRect(),i=ca();return{height:t&&typeof window<`u`&&!n?window.innerHeight:r.height,width:t&&typeof window<`u`&&n?window.innerWidth:r.width,x:t?r.left+i.x:r.left,y:t?r.top+i.y:r.top}}function ya({clampedOffset:e,horizontal:t,listPos:n,scroll:r}){return{left:t?n.left+e:r.x,top:t?r.y:n.top+e}}var ba=`legend-list-scrollbar-axis-hidden-style`,xa=200,Sa=`.${oa}::-webkit-scrollbar:vertical{width:0;display:none;}.${aa}::-webkit-scrollbar:horizontal{height:0;display:none;}`;function Ca(){if(typeof document>`u`||document.getElementById(ba))return;let e=document.createElement(`style`);e.id=ba,e.textContent=Sa,document.head.appendChild(e)}function wa(e){let t=e.state?.props?.contentInsetEndAdjustment;return Math.max(0,t??0)}function Ta(e){if(!e?.length)return[];let t=[],n=new Set;for(let r of e)Number.isFinite(r)&&!n.has(r)&&(n.add(r),t.push(r));return t}function Ea(e,t){return{height:t?`100%`:1,left:t?e:0,pointerEvents:`none`,position:`absolute`,scrollSnapAlign:`start`,top:t?0:e,width:t?1:`100%`}}var Da=(0,i.forwardRef)(function({children:e,style:t,contentContainerClassName:n,contentContainerStyle:r,horizontal:a=!1,contentOffset:o,maintainVisibleContentPosition:s,onScroll:c,onInternalScrollEnd:l,onMomentumScrollEnd:u,showsHorizontalScrollIndicator:d=!0,showsVerticalScrollIndicator:f=!0,refreshControl:p,useWindowScroll:m=!1,onLayout:h,...g},_){let v=D(),[y]=F([`anchoredEndSpaceSize`]),b=(0,i.useRef)(null),x=(0,i.useRef)(null),S=m,C=(0,i.useCallback)(()=>_a(b.current,S),[S]),w=(0,i.useCallback)(()=>{let e=b.current;return ha(da(e,x.current,S),fa(e,S,a),a)},[a,S]),T=(0,i.useCallback)(()=>{let e=b.current;if(S){let t=w(),n=ca(),r=la(e,n);return pa(a?n.x-r.left:n.y-r.top,t)}return e?a?e.scrollLeft:e.scrollTop:0},[w,a,S]),E=(0,i.useCallback)((e,t)=>{let n=b.current,r=C();if(!r||typeof r.scrollTo!=`function`)return;let i=pa(e,w()),o={behavior:t?`smooth`:`auto`};if(S){let e=ca(),{left:t,top:r}=ya({clampedOffset:i,horizontal:a,listPos:la(n,e),scroll:e});o.left=t,o.top=r}else a?o.left=i:o.top=i;r.scrollTo(o)},[w,C,a,S]);(0,i.useImperativeHandle)(_,()=>({getBoundingClientRect:()=>b.current?.getBoundingClientRect(),getCurrentScrollOffset:T,getScrollableNode:()=>ga(b.current,S),getScrollEventTarget:()=>C(),getScrollResponder:()=>ga(b.current,S),isWindowScroll:()=>S,scrollBy:(e,t)=>{let n=C();!n||typeof n.scrollBy!=`function`||n.scrollBy({behavior:`auto`,left:e,top:t})},scrollTo:e=>{let{x:t=0,y:n=0,animated:r=!0}=e;E(a?t:n,r)},scrollToEnd:(e={})=>{let{animated:t=!0}=e,n=w();E(n,t)},scrollToOffset:e=>{let{offset:t,animated:n=!0}=e;E(t,n)}}),[T,w,C,a,S,E]);let O=ra((0,i.useCallback)(()=>{if(!c||!b.current)return;let e=ua(x.current),t=fa(b.current,S,a),n=T();c({nativeEvent:{contentOffset:{x:a?n:0,y:a?0:n},contentSize:{height:e.height,width:e.width},layoutMeasurement:{height:t.height,width:t.width}}})},[T,a,S,c])),k=(0,i.useRef)(void 0),A=(0,i.useCallback)(()=>{let e=k.current;e!==void 0&&(clearTimeout(e),k.current=void 0),O.flush(),l?.()},[l,O]),j=(0,i.useCallback)(e=>{if(!c)return;let t=v.state;if(t?.scrollingTo||t?.initialScrollSession&&!t.didFinishInitialScroll||t?.initialScroll&&!t.didFinishInitialScroll||t&&Wt(t)?O.flush():O.schedule(),l){let e=k.current;e!==void 0&&clearTimeout(e),k.current=setTimeout(A,xa)}},[v.state,A,l,c,O]);(0,i.useLayoutEffect)(()=>{let e=C();if(e)return e.addEventListener(`scroll`,j,{passive:!0}),`onscrollend`in e&&e.addEventListener(`scrollend`,A),()=>{e.removeEventListener(`scroll`,j),`onscrollend`in e&&e.removeEventListener(`scrollend`,A);let t=k.current;t!==void 0&&(clearTimeout(t),k.current=void 0),O.cancel()}},[A,C,j,O]),(0,i.useEffect)(()=>{let e=()=>{o&&E(a?o.x||0:o.y||0,!1)};e(),requestAnimationFrame(e)},[o?.x,o?.y,a,E]),(0,i.useLayoutEffect)(()=>{if(!h||!b.current)return;let e=b.current,t=()=>{h({nativeEvent:{layout:va(e,S,a)}})};t();let n=new ResizeObserver(()=>{t()});n.observe(e);let r=()=>{t()};return S&&typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`resize`,r),()=>{n.disconnect(),S&&typeof window<`u`&&typeof window.removeEventListener==`function`&&window.removeEventListener(`resize`,r)}},[S,h]);let M=!S&&(a?!d&&aa:!f&&oa);(0,i.useLayoutEffect)(()=>{M&&Ca()},[M]);let N={...S?{}:{overflow:`auto`,overflowX:a||d?`auto`:`hidden`,overflowY:a?f?`auto`:`hidden`:`auto`,WebkitOverflowScrolling:`touch`},...ta.flatten(t),...s?{overflowAnchor:`none`}:{}},P=wa(v),ee=v.state?.props?.anchoredEndSpace&&y?y:0,I=Math.max(0,P-ee),te=I?a?{flexShrink:0,width:I}:{height:I}:void 0,L={display:a?`flex`:`block`,flexDirection:a?`row`:void 0,minHeight:a?void 0:`100%`,minWidth:a?`100%`:void 0,...ta.flatten(r),...s?{overflowAnchor:`none`}:{}},R=n?`${ia} ${n}`:ia,{contentContainerClassName:z,contentInset:ne,scrollEventThrottle:re,ScrollComponent:ie,snapToOffsets:B,useWindowScroll:ae,className:oe,...V}=g,se=S?[]:Ta(B);se.length>0&&(N.scrollSnapType=a?`x mandatory`:`y mandatory`,L.position=L.position??`relative`);let ce=M?oe?`${oe} ${M}`:M:oe;return H&&/(?:^|\s)(?:[a-z0-9_-]+:)*gap(?:-[xy])?-(?:\[[^\]]+\]|[^\s]+)/.test(`${n??``} ${oe??``}`)&&lt(`className-gap`,`className/contentContainerClassName gap classes are not supported in LegendList because it needs to use exact values internally. Use contentContainerStyle={{ gap: ... }} or columnWrapperStyle instead.`),i.createElement(`div`,{className:ce,ref:b,...V,style:N},p,i.createElement(`div`,{className:R,ref:x,style:L},se.map(e=>i.createElement(`div`,{"aria-hidden":!0,"data-legend-list-snap-anchor":e,key:`snap-${e}`,style:Ea(e,a)})),e,te?i.createElement(`div`,{"aria-hidden":!0,style:te}):null))});function Oa({horizontal:e,needsOtherAxisSize:t,otherAxisSize:n}){if(!(!t||!n||n<=0))return e?{height:n}:{width:n}}function ka(e,t){let n=D();(0,i.useLayoutEffect)(()=>j(n,e,e=>{t(e)}),[t,n,e])}function Aa(e){return e?{contentSizeKey:`scrollWidth`,paddingEndProp:`paddingRight`,viewportSizeKey:`clientWidth`,x:1,y:0}:{contentSizeKey:`scrollHeight`,paddingEndProp:`paddingBottom`,viewportSizeKey:`clientHeight`,x:0,y:1}}function ja(e,t){let n=e.state?.refScroller.current,r=(n?.getScrollableNode)?.call(n)??null,i=null;return r&&(i=t?.isConnected&&t.parentElement===r?t:r.querySelector(`:scope > .${ia}`)),r?{contentNode:i,scrollElement:r}:null}function Ma(e,t,n){e.scrollBy({behavior:`auto`,left:t,top:n})}function Na(){let e=D(),t=i.useRef(0),n=i.useRef(0),r=i.useRef(void 0),a=i.useRef(void 0),o=i.useRef(null),s=i.useCallback(()=>{let i=M(e,`scrollAdjust`),s=M(e,`scrollAdjustUserOffset`),c=(i||0)+(s||0);if(c-t.current!==0){let i=ja(e,o.current);if(i){let t=!!e.state.props.horizontal,c=Aa(t),{contentNode:l,scrollElement:u}=i,d=t?u.scrollLeft:u.scrollTop,f=(s||0)-n.current,p=(f===0?e.state.scroll:d+f)-d,m=Math.abs(p)>.01,h=()=>Ma(u,c.x*p,c.y*p);if(o.current=l,m&&l){let t=l[c.contentSizeKey],n=u[c.viewportSizeKey],i=d+p;if(p>0&&!e.state.adjustingFromInitialMount&&t<i+n){let e=l.style[c.paddingEndProp],o=a.current,s=o?.value===e?o.baseline:e,u=(i+n-t)*2,d=`${(Number.parseFloat(window.getComputedStyle(l)[c.paddingEndProp])||0)+u}px`;a.current={baseline:s,value:d},l.style[c.paddingEndProp]=d,l.offsetHeight,h(),r.current!==void 0&&cancelAnimationFrame(r.current),r.current=requestAnimationFrame(()=>{let e=a.current;r.current=void 0,a.current=void 0,l.style[c.paddingEndProp]===e?.value&&(l.style[c.paddingEndProp]=e.baseline)})}else h()}else m&&h()}t.current=c,n.current=s||0}},[e]);return ka(`scrollAdjust`,s),ka(`scrollAdjustUserOffset`,s),null}var Pa=i.forwardRef(function({ScrollComponent:e,...t},n){let[r]=F([`snapToOffsets`]);return i.createElement(e,{...t,ref:n,snapToOffsets:r})}),Fa=.1;function Ia(e,t,n){let r=M(e,t)!==n;return r&&(N(e,t,n),it(e)),r}function La(e,t,n){let{didContainersLayout:r,didFinishInitialScroll:i,props:a,scroll:o,scrollingTo:s}=e.state,c=n-t,l=((a.horizontal?a.stylePaddingLeft:a.stylePaddingTop)||0)+t;return a.maintainVisibleContentPosition.size&&r&&i&&!s&&o>=l-Fa&&Math.abs(c)>Fa}function Ra(e,t){let{state:n}=e,r=M(e,`headerSize`)||0,i=r!==t,a=n.didMeasureHeader||r>Fa;i&&(N(e,`headerSize`,t),it(e),a&&La(e,r,t)&&Z(e,t-r)),n.didMeasureHeader=!0}function za(e,t){let n=Ia(e,`footerSize`,t);return n&&oi(e),n}function Ba(e,t){return(e?.top??0)===(t?.top??0)&&(e?.bottom??0)===(t?.bottom??0)&&(e?.left??0)===(t?.left??0)&&(e?.right??0)===(t?.right??0)}function Va(e,t){let{state:n}=e,r=n.contentInsetOverride,i=t??void 0,a=!Ba(r,i);return n.contentInsetOverride=i,a&&it(e),a}function Ha(e,t){let n=na(e),r=na(t);return i.useMemo(()=>i.forwardRef((e,t)=>n.current?.call(n,r.current(e,t))??null),[r,n])}var Ua=({onLayoutChange:e,refView:t,children:n,...r})=>{let a=(0,i.useRef)(null),o=t??a;return Ii({onLayoutChange:e,ref:o}),i.createElement(`div`,{...r,ref:o},n)},Wa=yi(function({horizontal:e}){let[t=0]=F([`alignItemsAtEndPadding`]);return t<=0?null:i.createElement(s,{style:e?{flexShrink:0,width:t}:{flexShrink:0,height:t}},null)}),Ga=yi(function({canRender:e,freshDataTransitionEpoch:t,style:n,contentContainerStyle:r,horizontal:a,initialContentOffset:o,recycleItems:s,ItemSeparatorComponent:c,alignItemsAtEnd:l,onScroll:u,onLayout:d,ListHeaderComponent:f,ListHeaderComponentStyle:p,ListFooterComponent:m,ListFooterComponentStyle:g,ListEmptyComponent:_,getRenderedItem:v,refScrollView:y,renderScrollComponent:b,onLayoutFooter:x,onInternalScrollBeginDrag:S,onInternalScrollEnd:C,scrollAdjustHandler:w,snapToIndices:T,stickyHeaderConfig:E,stickyHeaderIndices:O,useWindowScroll:k=!1,...A}){let j=D(),M=j.state.props.maintainVisibleContentPosition,[N=0,P=0]=F([`anchoredEndSpaceSize`,`otherAxisSize`]),ee=j.state.props.alignItemsAtEndPaddingEnabled,I=!!j.state.props.anchoredEndSpace&&j.state.props.anchoredEndSpaceOwner===`list`&&N>0,te;if(I){let e=a?h(j.state)?`Left`:`Right`:`Bottom`,t=ta.flatten(r);te={[`padding${e}`]:pt({},t||{},e)+N}}let L=Oa({horizontal:a,needsOtherAxisSize:j.state.needsOtherAxisSize,otherAxisSize:P}),R=Ha(b,(e,t)=>({...e,ref:t})),z=b?R:Da,ne=T?Pa:z,re=(0,i.useCallback)((e,t)=>{let n=za(j,e);t?.(),n&&j.state.props.maintainScrollAtEnd?.onFooterLayout&&Q(j)},[j]);(0,i.useLayoutEffect)(()=>{f||Ra(j,0),m||re(0)},[f,m,j,re]);let ie=(0,i.useCallback)(e=>{let t=e[a?`width`:`height`];Ra(j,t)},[j,a]),B=(0,i.useCallback)((e,t)=>{let n=e[a?`width`:`height`];re(n,()=>{x?.(e,t)})},[a,x,re]);return i.createElement(ne,{...A,...z===Da?{onInternalScrollEnd:C,useWindowScroll:k}:{},contentContainerStyle:[a?{height:`100%`}:{},r,te,{boxSizing:`border-box`}],contentOffset:o===void 0?void 0:a?{x:o,y:0}:{x:0,y:o},horizontal:a,maintainVisibleContentPosition:M.size||M.data?{minIndexForVisible:0}:void 0,onLayout:d,onScroll:u,ref:y,ScrollComponent:T?z:void 0,style:L?[L,n]:n},i.createElement(Na,null),f&&i.createElement(Ua,{onLayoutChange:ie,style:p},xi(f)),_&&xi(_),ee&&i.createElement(Wa,{horizontal:a}),e&&!_&&i.createElement($i,{freshDataTransitionEpoch:t,getRenderedItem:v,horizontal:a,ItemSeparatorComponent:c,recycleItems:s,stickyHeaderConfig:E}),m&&i.createElement(Ua,{onLayoutChange:B,style:g},xi(m)),H&&le)}),Ka=100,qa=.9,Ja=.9;function Ya(e){let t=D(),{anchoredEndSpace:n,childrenMode:r,keyExtractor:a,numColumns:o,renderScrollComponent:s,useWindowScroll:c}=e,l=!!n;(0,i.useEffect)(()=>{l&&(o??1)>1&&lt(`anchoredEndSpaceNumColumns`,`anchoredEndSpace is only supported when numColumns is 1. Using it with multiple columns may produce incorrect anchored spacing.`)},[l,o]),(0,i.useEffect)(()=>{c&&s&&lt(`useWindowScrollRenderScrollComponent`,`useWindowScroll is not supported when renderScrollComponent is provided.`)},[s,c]),(0,i.useEffect)(()=>{!a&&!t.state.isFirst&&t.state.didDataChange&&!r&&lt(`keyExtractor`,`Changing data without a keyExtractor can cause slow performance and resetting scroll. If your list data can change you should use a keyExtractor with a unique id for best performance and behavior.`)},[r,t,a]),(0,i.useEffect)(()=>{let e=t.state,n=e.props.data.length;if(e.props.useWindowScroll||n<Ka)return;let r=()=>{let e=M(t,`readyToRender`),r=M(t,`numContainers`)||0,i=M(t,`totalSize`)||0,a=t.state.scrollLength||0;if(!e||i<=0||a<=0)return;let o=r>=Math.ceil(n*qa),s=a>=i*Ja;o&&s&&lt(`webUnboundedOuterSize`,`LegendList appears to have an unbounded outer height on web, so virtualization is effectively disabled. Set a bounded height or flex: 1 on the list container, or use useWindowScroll.`)};r();let i=[j(t,`numContainers`,r),j(t,`readyToRender`,r),j(t,`totalSize`,r)];return()=>{for(let e of i)e()}},[t])}function Xa(e){}var Za=H?Ya:Xa;function Qa(e,t,{didColumnsChange:n=!1}={}){let r=e.state,{previousData:i}=r,{maintainScrollAtEnd:a}=r.props;if(n){r.sizes.clear(),r.sizesKnown.clear(),Xn(r);for(let e in r.averageSizes)delete r.averageSizes[e];r.minIndexSizeChanged=0,r.scrollForNextCalculateItemsInView=void 0}ai(e,{dataChanged:!0,doMVCP:!0});let o=!n&&a?.onDataChange&&Q(e);!o&&i&&t.length>i.length&&(r.isEndReached=!1),o||Ne(e),delete r.previousData}function $a(e,t,n){if(e.pendingDataComparison=void 0,!n||!t||t.length!==n.length)return!0;let{idCache:r,props:{itemsAreEqual:i,keyExtractor:a}}=e,o;for(let s=0;s<t.length;s++){if(t[s]===n[s])continue;if(!a||(r[s]??a(n[s],s))!==a(t[s],s)||!i)return o&&(e.pendingDataComparison={byIndex:o,nextData:t,previousData:n}),!0;let c=i(n[s],t[s],s,t);if(o??=[],o[s]=c?1:2,!c)return e.pendingDataComparison={byIndex:o,nextData:t,previousData:n},!0}return!1}var eo=`containerLayoutReady`;function to(e){for(let t of e.values.keys())t.startsWith(eo)&&N(e,t,void 0)}function no(e){let t=e.state,{scrollLength:n,props:{data:r,getFixedItemSize:i,getItemType:a,numColumns:o,estimatedItemSize:s}}=t,c=We(e),l=M(e,`numContainers`);if(n>0&&r.length>0&&!l){let l;if(i){let t=0,n=Math.min(20,r.length);for(let o=0;o<n;o++){let n=r[o];if(n!==void 0){let r=a?.(n,o)??``;t+=(i(n,o,r)??s)+e.scrollAxisGap}}l=t/n}else l=s+e.scrollAxisGap;let u=Math.max(1,Math.ceil((n+c*2)/l*o));for(let t=0;t<u;t++)N(e,`containerPosition${t}`,se),N(e,`containerColumn${t}`,-1),N(e,`containerSpan${t}`,1);return N(e,`numContainers`,u),N(e,`numContainersPooled`,Vr(r.length,u)),t.lastLayout&&(t.initialScroll?requestAnimationFrame(()=>{ai(e,{dataChanged:!0,doMVCP:!0})}):ai(e,{dataChanged:!0,doMVCP:!0})),!0}}function ro(){return typeof window>`u`?{height:0,width:0}:{height:window.innerHeight,width:window.innerWidth}}function io(e,t,n){let r=e.state,{maintainScrollAtEnd:i,useWindowScroll:a}=r.props,o=r.props.horizontal?`width`:`height`,s=r.props.horizontal?`height`:`width`,c=t;if(a){let e=ro()[o];c=e>0?{...t,[o]:e}:t}let l=c[o],u=r.scrollLength,d=l>0?l:u,f=c[s],p=!r.lastLayout||d>r.scrollLength||r.lastLayout.x!==c.x||r.lastLayout.y!==c.y;r.lastLayout=c;let m=r.otherAxisSize,h=d!==r.scrollLength||f!==m;h&&(r.scrollLength=d,r.otherAxisSize=f,it(e),r.lastBatchingAction=Date.now(),r.scrollForNextCalculateItemsInView=void 0,d>0&&no(e),p&&ai(e,{doMVCP:!0}),(h||f!==m)&&N(e,`scrollSize`,{height:c.height,width:c.width}),i?.onLayout&&Q(e),Ne(e),r&&(r.needsOtherAxisSize=f-(r.props.horizontal?(r.props.stylePaddingTop||0)+(r.props.stylePaddingBottom||0):(r.props.stylePaddingLeft||0)+(r.props.stylePaddingRight||0))<10),H&&l===0&&lt(`height0`,`List ${r.props.horizontal?`width`:`height`} is 0. You may need to set a style or \`flex: \` for the list, because children are absolutely positioned.`)),n(!0)}function ao(e,t){let n=U.get(e);if(n&&U.didReachTarget(t,n)){U.clear(e);return}n&&(e.hasScrolled=!1,U.set(e,{startScroll:n.startScroll,targetOffset:n.targetOffset}))}function oo(e){return!!e.initialScroll&&e.initialScrollSession?.kind===`bootstrap`&&!e.didFinishInitialScroll}function so(e){return{...e,nativeEvent:{...e.nativeEvent}}}function co(e,t){let n=e.state,{scrollProcessingEnabled:r}=n;if(r===!1||t.nativeEvent?.contentSize?.height===0&&t.nativeEvent.contentSize?.width===0)return;let i=!1;if(t.nativeEvent?.contentInset){let{contentInset:e}=t.nativeEvent,r=n.nativeContentInset;(!r||r.top!==e.top||r.bottom!==e.bottom||r.left!==e.left||r.right!==e.right)&&(n.nativeContentInset=e,i=!0)}let a=t.nativeEvent.contentOffset[n.props.horizontal?`x`:`y`];if(n.props.horizontal&&(a=x(n,a,t.nativeEvent.contentSize?.width)),n.didFinishInitialScroll&&n.initialScroll?.viewPosition===1&&(n.scroll,n.scrollLength),n.lastNativeScroll=a,n.lastNativeScrollTime=Date.now(),n.scrollingTo&&n.scrollingTo.offset>=a){let t=X(e,a,n.scrollingTo);if(a!==t&&Math.abs(a-t)>1){a=t,Qt(e,{forceScroll:!0,isInitialScroll:!0,noScrollingTo:!0,offset:a});return}}n.scrollPending=a,Gt(e,a,i,{fromNativeScrollEvent:!0}),ao(n,a),zn(e),n.scrollingTo&&tr(e),n.props.onScroll&&(oo(n)?n.deferredPublicOnScrollEvent=so(t):n.props.onScroll(t))}var lo=class{constructor(){this.work=new Map}microtask(e,t){let n=this.work.get(t);if(n?.callback)n.callback=e;else{this.cancel(t);let n={callback:e,cancel:()=>{}};this.work.set(t,n),queueMicrotask(()=>{var e;this.work.get(t)===n&&(this.work.delete(t),(e=n.callback)==null||e.call(n))})}}timeout(e,t,n){n&&this.cancel(n);let r={cancel:()=>clearTimeout(i)},i=setTimeout(()=>{let t=n??i;this.work.get(t)===r&&(this.work.delete(t),e())},t);this.work.set(n??i,r)}frame(e,t){this.cancel(t);let n={cancel:()=>cancelAnimationFrame(r)};this.work.set(t,n);let r=requestAnimationFrame(()=>{this.work.get(t)===n&&(this.work.delete(t),e())})}register(e,t){this.cancel(e),this.work.set(e,{cancel:t})}cancel(e){let t=this.work.get(e);t&&(this.work.delete(e),t.cancel())}has(e){return this.work.has(e)}dispose(){for(let e of this.work.values())e.cancel();this.work.clear()}},uo=class{constructor(e){this.appliedAdjust=0,this.pendingAdjust=0,this.ctx=e}requestAdjust(e){let t=this.ctx.state.scrollingTo;t?.animated&&!t.isInitialScroll?(this.pendingAdjust+=e,N(this.ctx,`scrollAdjustPending`,this.pendingAdjust)):(this.appliedAdjust+=e,N(this.ctx,`scrollAdjust`,this.appliedAdjust)),this.ctx.state.scrollingTo&&tr(this.ctx)}getAdjust(){return this.appliedAdjust}commitPendingAdjust(e){{let t=this.ctx.state,n=this.pendingAdjust;if(this.pendingAdjust=0,n!==0){let r;if(e?.index!==void 0){let t=et(this.ctx,e.index);r=vt(this.ctx,t,e),r=X(this.ctx,r,e)}else r=X(this.ctx,t.scroll+n);let i=r-t.scroll;(Math.abs(i)>.1||Math.abs(n)>.1)&&(this.appliedAdjust+=i,t.scroll=r,t.scrollForNextCalculateItemsInView=void 0,N(this.ctx,`scrollAdjust`,this.appliedAdjust)),N(this.ctx,`scrollAdjustPending`,0),ai(this.ctx)}}}};function fo(e,t){let n=e.state,r=n.props.data.length-1;if(r===-1)return!1;let i=n.props.stylePaddingBottom||0,a=M(e,`footerSize`)||0;return en(e,{...t,index:r,viewOffset:-i-a+(t?.viewOffset||0),viewPosition:1}),!0}function po(e,t){let n=e.state,r=L(e,t),i=L(e)-r;if(i!==0){let t=!!M(e,`isWithinMaintainScrollAtEndThreshold`);Gt(e,n.scroll,!0,{markHasScrolled:!1}),!mr(e)&&t&&i>0&&Z(e,i)}}function mo(e){return(0,i.useMemo)(()=>e?(t,n,r)=>t!==void 0&&n!==void 0?e(t,n,r):void 0:void 0,[e])}var ho=(...e)=>(0,i.useCallback)(t=>{for(let n of e)n&&(st(n)?n(t):n.current=t)},e);function go(e){return null}function _o(e,t,n,r){return r}function vo(e){let{gap:t,columnGap:n,rowGap:r}=e;if(t||n||r)return e.gap=void 0,e.columnGap=void 0,e.rowGap=void 0,{columnGap:n,gap:t,rowGap:r}}var yo=`default`;function bo(e){let t={};for(let n in e.averageSizes){let r=e.averageSizes[n];r&&(t[n||yo]={average:r.avg,count:r.num})}return t}function xo(e){br(e)}function So(e,t){let n=e.state,r=Et(e),i=()=>!!n.didDataChange||!!n.didColumnsChange||n.scheduledWork.has(`mvcpRecalculate`)||n.ignoreScrollFromMVCP!==void 0,a=(t,r=!1)=>{let i=n.props,a=i.data.length,o=i.anchoredEndSpace?.anchorIndex;return t<0?r:t>=a?!1:o===void 0||o<0||o>=a||t<o||gt(e,o,a-1)},o=(e,t,a)=>{let o=Date.now(),s=0,c=()=>{if(!r.isCurrent(e))return;i()||!a()?s=0:s+=1;let l=Date.now()-o>=800;if(s>=2||l){t();return}n.scheduledWork.frame(c,`imperativeScrollReady`)};n.scheduledWork.frame(c,`imperativeScrollReady`)},s=(e,t,n,a=()=>!0)=>{let s=()=>r.runNow(e,t,n);i()||!a()?o(e,s,a):s()},c=(t,n=()=>!0)=>new Promise(i=>{let a=r.start(i);Qe(e),s(a,i,t,n)});n.runPendingScrollToEnd=()=>{let t=n.pendingScrollToEnd;t&&(n.pendingScrollToEnd=void 0,r.isCurrent(t.token)&&s(t.token,t.resolve,()=>fo(e,t.options),()=>a(n.props.data.length-1,!0)))};let l=t=>{if(n){let{index:r,...i}=t,{startNoBuffer:a,endNoBuffer:o}=n;if(r<a||r>o){let t=r<a?0:1;return en(e,{...i,index:r,viewPosition:t}),!0}}return!1},u=n.refScroller;return{clearCaches:t=>{var r;let i=t?.mode??`sizes`;n.sizes.clear(),n.sizesKnown.clear(),Xn(n);for(let e in n.averageSizes)delete n.averageSizes[e];n.minIndexSizeChanged=0,n.scrollForNextCalculateItemsInView=void 0,n.pendingTotalSize=void 0,n.totalSize=0,N(e,`totalSize`,0),i===`full`&&(n.indexByKey.clear(),n.idCache.length=0,n.positions.length=0,n.columns.length=0,n.columnSpans.length=0),xo(e),(r=n.triggerCalculateItemsInView)==null||r.call(n,{forceFullItemPositions:!0})},flashScrollIndicators:()=>u.current.flashScrollIndicators(),getAnimatableRef:()=>{var e;return(e=u.current).getNativeScrollRef?.call(e)??u.current},getNativeScrollRef:()=>u.current,getScrollableNode:()=>u.current.getScrollableNode(),getScrollResponder:()=>u.current.getScrollResponder(),getState:()=>({activeStickyIndex:M(e,`activeStickyIndex`),contentLength:R(e),data:n.props.data,elementAtIndex:t=>e.viewRefs.get(mt(e,K(n,t)))?.current,end:n.endNoBuffer,endBuffered:n.endBuffered,getAverageItemSizes:()=>bo(n),indexByKey:e=>n.indexByKey.get(e),isAtEnd:M(e,`isAtEnd`),isAtStart:M(e,`isAtStart`),isEndReached:n.isEndReached,isNearEnd:M(e,`isNearEnd`),isNearStart:M(e,`isNearStart`),isStartReached:n.isStartReached,isWithinMaintainScrollAtEndThreshold:M(e,`isWithinMaintainScrollAtEndThreshold`),listen:(t,n)=>j(e,t,n),listenToPosition:(t,n)=>P(e,t,n),positionAtIndex:e=>n.positions[e],positionByKey:e=>{let t=n.indexByKey.get(e);return t===void 0?void 0:n.positions[t]},scroll:n.scroll,scrollLength:n.scrollLength,scrollVelocity:Ht(n),sizeAtIndex:e=>n.sizesKnown.get(K(n,e)),sizes:n.sizesKnown,start:n.startNoBuffer,startBuffered:n.startBuffered}),reportContentInset:t=>{let r=Va(e,t);Gt(e,n.scroll,!0,{markHasScrolled:!1}),r&&mr(e)},scrollIndexIntoView:e=>c(()=>l(e)),scrollItemIntoView:({item:e,...t})=>c(()=>{let r=n.props.data.indexOf(e);return r!==-1&&(l({index:r,...t}),!0)}),scrollToEnd:i=>new Promise(a=>{var o;let s=r.start(a);n.pendingScrollToEnd={options:i,resolve:a,token:s},t?.(),Qe(e),t||(o=n.runPendingScrollToEnd)==null||o.call(n)}),scrollToIndex:t=>c(()=>(en(e,t),!0),t.index>=0?()=>a(t.index):void 0),scrollToItem:({item:t,...r})=>c(()=>{let i=n.props.data.indexOf(t);return i!==-1&&(en(e,{index:i,...r}),!0)}),scrollToOffset:t=>c(()=>(Qt(e,t),!0)),setItemSize:(t,n)=>{pi(e,{itemKey:t,size:n})},setScrollProcessingEnabled:e=>{n.scrollProcessingEnabled=e},setVisibleContentAnchorOffset:t=>{N(e,`scrollAdjustUserOffset`,st(t)?t(M(e,`scrollAdjustUserOffset`)||0):t)}}}var Co=(e,t)=>e-t,wo=e=>typeof e==`number`&&Number.isFinite(e)?Math.max(0,Math.floor(e)):0,To=(e,t,n)=>{n>=0&&n<t&&e.add(n)};function Eo(e,t,n,r){if(t.length===0)return[];let i=new Set,a=t.length,o=wo(e?.top);if(o>0)for(let e=0;e<Math.min(o,a);e++)To(i,a,e);let s=wo(e?.bottom);if(s>0)for(let e=Math.max(0,a-s);e<a;e++)To(i,a,e);if(e?.indices?.length)for(let t of e.indices)Number.isFinite(t)&&To(i,a,Math.floor(t));if(e?.keys?.length){let r=new Set(e.keys);for(let e=0;e<a&&r.size>0;e++){let o=n(t[e],e);r.has(o)&&(To(i,a,e),r.delete(o))}}if(r!==void 0&&Number.isFinite(r)){let e=Math.floor(r);for(let t=e>=0?e:a;t<a;t++)To(i,a,t)}let c=Array.from(i);return c.sort(Co),c}function Do(e,t,n){let r=e.state;if(!r)return null;let i=r.containerItemMetadata.get(n),a=i&&i.dataChangeEpoch!==r.dataChangeEpoch,{indexByKey:o,props:{data:s,getItemType:c,renderItem:l}}=r,u=a?i.data:s,d=i?.itemIndex??o.get(t);if(d===void 0)return null;let f=null,p=M(e,`extraData`),m=a?i.itemData:u[d];return l&&!dt(m)&&(f=l({data:u,extraData:p,index:d,item:m,type:a?i.itemType??``:c?c(m,d)??``:``})),{index:d,item:m,renderedItem:f}}function Oo(e,t){return{animated:!1,onDataChange:t?e?.dataChange??!1:!0,onFooterLayout:t?e?.footerLayout??!1:!0,onItemLayout:t?e?.itemLayout??!1:!0,onLayout:t?e?.layout??!1:!0}}function ko(e){if(e)return e===!0?{...Oo(void 0,!1),animated:!1}:{...Oo(e.on,`on`in e),animated:e.animated??!1}}function Ao(e){return e===!0?{data:!0,size:!0}:e&&typeof e==`object`?{data:e.data??!1,shouldRestorePosition:e.shouldRestorePosition,size:e.size??!0}:e===!1?{data:!1,size:!1}:{data:!1,size:!0}}function jo(e,{stylePaddingTop:t}){let n=e.state;if(t!==void 0){let r=M(e,`stylePaddingTop`)||0;if(t<r){let t=M(e,`totalSize`)||0;N(e,`totalSize`,t+r),n.timeoutSetPaddingTop=setTimeout(()=>{t=M(e,`totalSize`)||0,N(e,`totalSize`,t-r)},16)}N(e,`stylePaddingTop`,t)}}function Mo(e){let t=(0,i.useRef)(null),n=(0,i.useRef)(0),r=(0,i.useRef)(null),a=()=>{t.current&&=(clearTimeout(t.current),null)};return(0,i.useCallback)((e,i,...o)=>{{let s=Date.now();r.current=o,s-n.current>=i?(n.current=s,e(...o),a()):(a(),t.current=setTimeout(()=>{r.current&&=(n.current=Date.now(),e(...r.current),t.current=null,null)},i-(s-n.current)))}},[e])}function No(e,t){let n=Mo(`throttle`);return r=>n(e,t,{nativeEvent:r.nativeEvent})}var Po=yi(vi(function(e,t){let{children:n,data:r,renderItem:a,...o}=e,s=n!==void 0&&r===void 0?{...o,childrenMode:!0,data:(ct(n)?n:i.Children.toArray(n)).flat(1),renderItem:({item:e})=>e}:{...o,data:r||[],renderItem:a};return i.createElement(E,null,i.createElement(Fo,{...s,ref:t}))})),Fo=vi(function(e,t){let n=(0,i.useCallback)(e=>{},[]);e.recycleItems===void 0&&lt(`recycleItems-omitted`,`recycleItems was not provided, so it defaults to false. Set recycleItems explicitly to true for better performance with recycling-aware rows, or false to preserve remount-on-reuse behavior.`);let{alignItemsAtEnd:r=!1,anchoredEndSpace:a,alwaysRender:o,columnWrapperStyle:s,contentContainerStyle:c,contentInset:u,data:d=[],dataKey:f,dataVersion:p,drawDistance:m=250,contentInsetEndAdjustment:h,estimatedItemSize:v=100,estimatedListSize:y,extraData:b,getFixedItemSize:x,getItemType:S,horizontal:C,rtl:w,estimatedHeaderSize:T,initialScrollAtEnd:E=!1,initialScrollIndex:O,initialScrollOffset:k,experimental_adaptiveRender:A,experimental_hideItemsUntilMeasured:P,itemsAreEqual:ee,keyExtractor:F,ListEmptyComponent:I,ListFooterComponent:te,ListFooterComponentStyle:L,ListHeaderComponent:R,maintainScrollAtEnd:z=!1,maintainScrollAtEndThreshold:ne=.1,maintainVisibleContentPosition:ie,numColumns:B=1,overrideItemLayout:ae,onEndReached:oe,onEndReachedThreshold:V=.5,onItemSizeChanged:se,onMetricsChange:ce,onLayout:le,onLoad:de,onMomentumScrollEnd:fe,onRefresh:me,onScroll:he,onScrollBeginDrag:ge,onStartReached:_e,onStartReachedThreshold:ve=.5,onStickyHeaderChange:ye,onFirstVisibleItemChanged:be,onViewableItemsChanged:xe,progressViewOffset:U,recycleItems:W=!1,refreshControl:Se,refreshing:Ce,refScrollView:we,renderScrollComponent:Te,renderItem:Ee,scrollEventThrottle:De,snapToIndices:Oe,stickyHeaderIndices:G,style:Ae,useWindowScroll:je=!1,viewabilityConfig:Me,viewabilityConfigCallbackPairs:Ne,...Pe}=e,Fe=e.animatedPropsInternal,Ie=e.anchoredEndSpaceOwnerInternal??`list`,Le=e.positionComponentInternal,Re=e.stickyPositionComponentInternal,{anchoredEndSpaceOwnerInternal:ze,positionComponentInternal:Be,stickyPositionComponentInternal:He,...Ue}=Pe,We=ta.flatten(c),Ge=r&&!C&&We?.minHeight==null&&d.length>0,qe=r&&!Ge&&(C?We?.minWidth==null:We?.minHeight==null),Je={...We,...r&&!Ge?{display:`flex`,flexDirection:C?`row`:`column`,...qe?{flexGrow:1}:{},justifyContent:`flex-end`}:{}},Ye={...ta.flatten(Ae)},Xe=pt(Ye,Je,`Top`),Qe=pt(Ye,Je,`Bottom`),$e=pt(Ye,Je,`Left`),et=pt(Ye,Je,`Right`),tt=_({horizontal:C,rtl:w,stylePaddingBottom:Qe,stylePaddingLeft:$e,stylePaddingRight:et}),nt=ko(z),rt=Ao(ie),at=O!=null,ot=k!=null,st=!E&&!at&&!ot&&g({horizontal:C,rtl:w}),ct=!E&&!at&&(ot||st),q=E||at,ut=typeof O==`number`&&!ot&&d.length>1&&O>=d.length-1,dt=E?{index:Math.max(0,d.length-1),preserveForBottomPadding:!0,viewOffset:-tt,viewPosition:1}:at?typeof O==`object`?{index:O.index??0,preserveForBottomPadding:O.viewOffset===void 0&&O.viewPosition===1||void 0,viewOffset:O.viewOffset??(O.viewPosition===1?-tt:0),viewPosition:O.viewPosition??0}:{index:O??0,preserveForBottomPadding:ut?!0:void 0,viewOffset:k??(ut?-tt:0),viewPosition:ut?1:void 0}:ct?{contentOffset:k??0,index:0,viewOffset:0}:void 0,[ft,mt]=i.useState(!re),[,ht]=i.useReducer(e=>e+1,0),J=D();J.columnWrapperStyle=s||(Je?vo(Je):void 0);let gt=C?J.columnWrapperStyle?.columnGap??J.columnWrapperStyle?.gap:J.columnWrapperStyle?.rowGap??J.columnWrapperStyle?.gap,Y=typeof gt==`number`&&Number.isFinite(gt)?gt:0,_t=(0,i.useRef)(null),vt=ho(_t,we),X=F??((e,t)=>t.toString()),yt=G,bt=h,xt=(0,i.useRef)(bt),St=(0,i.useMemo)(()=>{let e=Eo(o,d,X,a?.anchorIndex);return{arr:e,set:new Set(e)}},[a?.anchorIndex,o?.top,o?.bottom,(o?.indices)?.join(`,`),(o?.keys)?.join(`,`),d,f,p,X]),Ct=!!je&&!Te,wt=(0,i.useRef)(void 0),Tt=!!ae,Et=(0,i.useRef)(Tt);if(!wt.current){if(!J.state){let e=(y??{height:0,width:0})[C?`width`:`height`];J.values.set(`adaptiveRender`,A?.initialMode??`normal`),J.state={averageSizes:{},columnSpans:[],columns:[],containerItemGenerations:[],containerItemKeys:new Map,containerItemMetadata:new Map,contentInsetOverride:void 0,dataChangeEpoch:0,dataChangeNeedsScrollUpdate:!1,didColumnsChange:!1,didDataChange:!1,didLoad:!1,enableScrollForNextCalculateItemsInView:!0,endBuffered:-1,endNoBuffer:-1,endReachedSnapshot:void 0,firstFullyOnScreenIndex:-1,freshDataTransitionEpoch:0,hasHadNonEmptyData:d.length>0,idCache:[],idsInView:[],indexByKey:new Map,initialScroll:dt,initialScrollSession:dt?{kind:ct?`offset`:`bootstrap`,previousDataLength:d.length}:void 0,isEndReached:null,isFirst:!0,isStartReached:null,lastBatchingAction:Date.now(),lastLayout:void 0,lastScrollDelta:0,loadStartTime:Date.now(),minIndexSizeChanged:0,nativeContentInset:void 0,nativeMarginTop:0,pendingDataComparison:void 0,pendingNativeMVCPAdjust:void 0,positions:[],props:{},queuedCalculateItemsInView:0,refScroller:{current:null},scheduledWork:new lo,scroll:0,scrollAdjustHandler:new uo(J),scrollForNextCalculateItemsInView:void 0,scrollHistory:[],scrollLength:e,scrollPending:0,scrollPrev:0,scrollPrevTime:0,scrollProcessingEnabled:!0,scrollTime:0,sizes:new Map,sizesKnown:new Map,startBuffered:-1,startNoBuffer:-1,startReachedSnapshot:void 0,stickyContainerPool:new Set,stickyContainers:new Map,totalSize:0,viewabilityConfigCallbackPairs:void 0};let t=J.state;J.scrollToEnd=e=>fo(J,e),t.triggerCalculateItemsInView=e=>ai(J,e),t.reprocessCurrentScroll=()=>Gt(J,t.scroll,!0),N(J,`maintainVisibleContentPosition`,rt),N(J,`extraData`,b),T!==void 0&&N(J,`headerSize`,T)}wt.current=J.state}let Z=wt.current,Q=Z.isFirst,$=Z.props.adaptiveRender,Ot=Z.props.hideItemsUntilMeasured,kt=Z.props.numColumns,At=!Q&&J.scrollAxisGap!==Y;J.scrollAxisGap=Y,Z.didColumnsChange=B!==kt||At;let jt=Z.props.data?.length??0,Mt=Z.props.data!==d,Nt=Z.props.dataKey!==f,Pt=Z.props.dataVersion!==p,Ft=Nt||Pt||Mt&&$a(Z,d,Z.props.data),It=!Q&&Ft&&Z.hasHadNonEmptyData&&(Nt||jt===0)&&d.length>0;Ft&&!E&&Z.didFinishInitialScroll&&Z.initialScroll?.viewPosition===1&&Z.props.data.length>0&&Ze(Z),Ft&&(Z.dataChangeEpoch+=1,Z.dataChangeNeedsScrollUpdate=!0,Z.didDataChange=!0,Z.previousData=Z.props.data),It&&(Z.freshDataTransitionEpoch+=1);let Lt=No(he??n,De??0),Rt=De&&he?Lt:he,zt=!Q&&!Ft&&Z.props.anchoredEndSpace?.anchorIndex!==a?.anchorIndex;Z.props={adaptiveRender:A,alignItemsAtEnd:r,alignItemsAtEndPaddingEnabled:Ge,alwaysRender:o,alwaysRenderIndicesArr:St.arr,alwaysRenderIndicesSet:St.set,anchoredEndSpace:a,anchoredEndSpaceOwner:Ie,animatedProps:Fe,contentContainerAlignItems:Je.alignItems,contentInset:u,contentInsetEndAdjustment:bt,data:d,dataKey:f,dataVersion:p,drawDistance:m,estimatedItemSize:v,getFixedItemSize:mo(x),getItemType:mo(S),hideItemsUntilMeasured:P,horizontal:!!C,itemsAreEqual:ee,keyExtractor:mo(X),maintainScrollAtEnd:nt,maintainScrollAtEndThreshold:ne,maintainVisibleContentPosition:rt,numColumns:B,onEndReached:oe,onEndReachedThreshold:V,onFirstVisibleItemChanged:be,onItemSizeChanged:se,onLoad:de,onMomentumScrollEnd:fe,onScroll:Rt,onScrollBeginDrag:ge,onStartReached:_e,onStartReachedThreshold:ve,onStickyHeaderChange:ye,overrideItemLayout:ae,positionComponentInternal:Le,recycleItems:!!W,renderItem:Ee,rtl:w,snapToIndices:Oe,stickyHeaderIndicesArr:yt??[],stickyHeaderIndicesSet:(0,i.useMemo)(()=>new Set(yt??[]),[yt?.join(`,`)]),stickyPositionComponentInternal:Re,stylePaddingBottom:Qe,stylePaddingLeft:$e,stylePaddingRight:et,stylePaddingTop:Xe,useWindowScroll:Ct},Z.refScroller=_t,!Q&&$&&!A&&Ve(J),!Q&&Ot&&!P&&to(J);let Bt=(0,i.useMemo)(()=>d.length?Array.from({length:Math.min(B,d.length)},(e,t)=>K(Z,d.length-1-t)):[],[d,f,p,B]),Vt=e=>{N(J,`lastItemKeys`,Bt),N(J,`numColumns`,B);let t=M(J,`stylePaddingTop`);jo(J,{stylePaddingTop:Xe}),wt.current.props.stylePaddingBottom=Qe,it(J);let n=Xe-t;e&&rt.size&&n&&t!==void 0&&l.OS};Q&&(Vt(!1),vr(Z),Dr(J,!0));let Ht=(0,i.useMemo)(()=>{let e=Z.initialScroll;if(!e)return;let t=e.contentOffset??rn(J,e);return q&&Z.initialScrollSession?.kind===`bootstrap`&&l.OS===`web`?void 0:t},[q]);(0,i.useLayoutEffect)(()=>{gr(J,{alwaysDispatchInitialScroll:st,dataLength:d.length,hasFooterComponent:!!te,initialContentOffset:Ht,initialScrollAtEnd:E,useBootstrapInitialScroll:q})},[]),(Q||Ft||Z.didColumnsChange)&&(wt.current.lastBatchingAction=Date.now(),!F&&!Q&&Ft&&(wt.current.sizes.clear(),wt.current.positions.length=0,wt.current.totalSize=0,N(J,`totalSize`,0))),H&&Za(e),(0,i.useLayoutEffect)(()=>{It&&Ke(J,{resetInitialScroll:!!dt,resetLayout:!0}),_r(J,{dataLength:d.length,didDataChange:Ft,didStartFreshData:It,initialScrollAtEnd:E,latestInitialScroll:dt,latestInitialScrollSessionKind:ct?`offset`:`bootstrap`,stylePaddingEnd:tt,useBootstrapInitialScroll:q})},[d.length,f,Ft,It,E,tt,q]),(0,i.useLayoutEffect)(()=>{var e;zt&&(Z.scrollForNextCalculateItemsInView=void 0,(e=Z.triggerCalculateItemsInView)==null||e.call(Z)),oi(J)},[J,d,p,a?.anchorIndex,a?.anchorMaxSize,a?.anchorOffset,zt,C,B,w,Qe,$e,et]),(0,i.useLayoutEffect)(()=>{let e=xt.current;xt.current=bt,po(J,e)},[J,bt]);let Ut=(0,i.useCallback)(e=>{q&&Hn(J,{dataLength:d.length,footerSize:e[C?`width`:`height`],initialScrollAtEnd:E,stylePaddingEnd:tt})},[d.length,E,C,tt,q]),{onLayout:Wt}=Ii({onLayoutChange:(0,i.useCallback)((e,t)=>{let n=Z.scrollLength,r=Z.otherAxisSize;io(J,e,mt),oi(J);let i=n!==Z.scrollLength||r!==Z.otherAxisSize;q&&!t&&i&&Un(J),!q&&cn(J)},[d.length,E,tt,q]),onLayoutProp:le,ref:_t});(0,i.useLayoutEffect)(()=>{Oe&&Er(J)},[Oe]),(0,i.useLayoutEffect)(()=>Vt(!0),[f,p,Bt.join(`,`),B,Y,Qe,Xe,Ge]),(0,i.useLayoutEffect)(()=>{let{didColumnsChange:e,didDataChange:t,isFirst:n,props:{data:r}}=Z;!(r.length>0&&no(J))&&!n&&(t||e)&&Qa(J,r,{didColumnsChange:e}),t&&(Z.pendingDataComparison=void 0),Z.didColumnsChange=!1,Z.didDataChange=!1,Z.isFirst=!1},[d,f,p,B,Y]),(0,i.useLayoutEffect)(()=>{var e;N(J,`extraData`,b);let t=Et.current!==Tt;Et.current=Tt,(Tt||t)&&B>1&&((e=Z.triggerCalculateItemsInView)==null||e.call(Z,{forceFullItemPositions:!0}))},[b,Tt,B]),(0,i.useEffect)(()=>{if(!ce)return;let e,t=()=>{let t={footerSize:M(J,`footerSize`)||0,headerSize:M(J,`headerSize`)||0};(!e||t.headerSize!==e.headerSize||t.footerSize!==e.footerSize)&&(e=t,ce(t))};t();let n=[j(J,`headerSize`,t),j(J,`footerSize`,t)];return()=>{for(let e of n)e()}},[J,ce]),(0,i.useEffect)(()=>{let e=kr({onViewableItemsChanged:xe,viewabilityConfig:Me,viewabilityConfigCallbackPairs:Ne});Z.viewabilityConfigCallbackPairs=e,Z.enableScrollForNextCalculateItemsInView=!0,e&&(Z.scrollForNextCalculateItemsInView=void 0)},[Me,Ne,xe]),Ei(()=>{}),(0,i.useImperativeHandle)(t,()=>So(J,ht),[]),(0,i.useEffect)(()=>()=>{pe(Z),Z.scheduledWork.dispose()},[Z]),(0,i.useLayoutEffect)(()=>{var e;(e=Z.runPendingScrollToEnd)==null||e.call(Z)}),(0,i.useEffect)(()=>{q||cn(J)},[J,q]);let Kt=(0,i.useMemo)(()=>({getRenderedItem:(e,t)=>Do(J,e,t),onMomentumScrollEnd:e=>{pr(J),Z.props.onMomentumScrollEnd&&Z.props.onMomentumScrollEnd(e)},onScroll:e=>co(J,e),onScrollBeginDrag:e=>{var t,n;let r=Z.maintainingScrollAtEnd;(r===`animated`||r===`instant`)&&pe(Z),r&&Dt(J),ke(J),(n=(t=Z.props).onScrollBeginDrag)==null||n.call(t,e)},onScrollEnd:()=>ke(J)}),[]),qt=_o(yt,C,J,Kt.onScroll),Jt=Se;return i.createElement(i.Fragment,null,i.createElement(Ga,{...Ue,alignItemsAtEnd:r,canRender:ft,contentContainerStyle:Je,contentInset:u,freshDataTransitionEpoch:Z.freshDataTransitionEpoch,getRenderedItem:Kt.getRenderedItem,horizontal:C,initialContentOffset:Ht,ListEmptyComponent:d.length===0?I:void 0,ListFooterComponent:te,ListFooterComponentStyle:L,ListHeaderComponent:R,onInternalScrollBeginDrag:Kt.onScrollBeginDrag,onInternalScrollEnd:Kt.onScrollEnd,onLayout:Wt,onLayoutFooter:Ut,onMomentumScrollEnd:Kt.onMomentumScrollEnd,onScroll:qt,recycleItems:W,refreshControl:Jt?Xe>0?i.cloneElement(Jt,{progressViewOffset:(Jt.props.progressViewOffset??0)+Xe}):Jt:me&&i.createElement(go,{onRefresh:me,progressViewOffset:(U||0)+Xe,refreshing:!!Ce}),refScrollView:vt,renderScrollComponent:Te,scrollAdjustHandler:wt.current?.scrollAdjustHandler,scrollEventThrottle:0,snapToIndices:Oe,stickyHeaderIndices:yt,style:Ye,useWindowScroll:Ct}),H&&ue)}),Io=Po;export{Io as t};