1const l=e=>{try{return new URL(e,window.location.origin).toString()}catch{return e}},g="valorant-details",k=e=>{const t=new URL(e,window.location.origin);return t.searchParams.set("web_sheet","1"),t.toString()},f=()=>window.self!==window.top&&new URLSearchParams(window.location.search).get("web_sheet")==="1",u=e=>{const t=k(e);if(f()){window.location.replace(t);return}window.dispatchEvent(new CustomEvent("open-web-bottom-sheet",{detail:{name:g,url:t}}))},S=()=>{var t,s,a,n,o,i;const e=window;return!!((t=e.flutter_inappwebview)!=null&&t.callHandler||(s=e.StackBNativeApp)!=null&&s.postMessage||(a=e.ReactNativeWebView)!=null&&a.postMessage||(i=(o=(n=e.webkit)==null?void 0:n.messageHandlers)==null?void 0:o.StackBNativeApp)!=null&&i.postMessage)},N=()=>{var s,a,n,o,i,r;const e=window,t={event:"stack:back"};window.dispatchEvent(new CustomEvent("stack:back",{detail:t})),(s=e.StackBNativeApp)!=null&&s.postMessage&&e.StackBNativeApp.postMessage(JSON.stringify(t)),(a=e.ReactNativeWebView)!=null&&a.postMessage&&e.ReactNativeWebView.postMessage(JSON.stringify(t)),(i=(o=(n=e.webkit)==null?void 0:n.messageHandlers)==null?void 0:o.StackBNativeApp)!=null&&i.postMessage&&e.webkit.messageHandlers.StackBNativeApp.postMessage(t),(r=e.flutter_inappwebview)!=null&&r.callHandler&&e.flutter_inappwebview.callHandler("stack:back",t)},c=(e,t,s)=>{var o,i,r,p,w,d;const a=window,n={event:e,...t};if((o=a.flutter_inappwebview)!=null&&o.callHandler){a.flutter_inappwebview.callHandler(e,t);return}if((p=(r=(i=a.webkit)==null?void 0:i.messageHandlers)==null?void 0:r.StackBNativeApp)!=null&&p.postMessage){a.webkit.messageHandlers.StackBNativeApp.postMessage(n);return}if((w=a.StackBNativeApp)!=null&&w.postMessage){a.StackBNativeApp.postMessage(JSON.stringify(n));return}if((d=a.ReactNativeWebView)!=null&&d.postMessage){a.ReactNativeWebView.postMessage(JSON.stringify(n));return}s&&(window.location.href=s)},M=()=>{c("stackb:profile-updated",{})},B=()=>{c("stackb:clear-cache",{})},m=e=>{c("stackb:open-stack",{url:l(e)},e)},v=(e,t=!1,s)=>{c("stackb:open-sheet",{url:l(e),expanded:t,...s?{theme:s}:{}},e)},h=e=>{c("stackb:open-modal-webview",{url:l(e)},e)},b=e=>{var n,o,i,r,p,w;if(!e)return;const t=window,s={event:"stackb:open-external-browser",url:e};let a=!1;window.dispatchEvent(new CustomEvent("stackb:open-external-browser",{detail:s})),(n=t.StackBNativeApp)!=null&&n.postMessage&&(t.StackBNativeApp.postMessage(JSON.stringify(s)),a=!0),(o=t.ReactNativeWebView)!=null&&o.postMessage&&(t.ReactNativeWebView.postMessage(JSON.stringify(s)),a=!0),(p=(r=(i=t.webkit)==null?void 0:i.messageHandlers)==null?void 0:r.StackBNativeApp)!=null&&p.postMessage&&(t.webkit.messageHandlers.StackBNativeApp.postMessage(s),a=!0),(w=t.flutter_inappwebview)!=null&&w.callHandler&&(t.flutter_inappwebview.callHandler("stackb:open-external-browser",{url:e}),a=!0),a||window.open(e,"_blank","noopener")},A=e=>{e&&u(`/valorant/item/${e}`)},H=e=>{e&&u(`/knowledge/valorant/bundles/${e}`)},E=()=>{v("/plus",!0,"dark")},V=()=>{var s,a;const e=window,t={event:"restore-purchase"};window.dispatchEvent(new CustomEvent("vusquad:restore-purchase",{detail:t})),(s=e.flutter_inappwebview)!=null&&s.callHandler&&e.flutter_inappwebview.callHandler("restore-purchase",t),(a=e.VuSquadIap)!=null&&a.postMessage&&e.VuSquadIap.postMessage(JSON.stringify(t))};window.openValorantItem=A;window.openValorantBundle=H;window.openSquadPlus=E;window.vusquadRestorePurchase=V;window.stackbOpenExternalBrowser=window.stackbOpenExternalBrowser??b;window.StackBNative={openStack:m,openSheet:v,openModalWebview:h,openExternalBrowser:b,emitNativeBack:N,profileUpdated:M,clearCache:B,isNativeApp:S};export{N as e};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.