PageSourceSearch

https://dattala.co.jp/_next/static/chunks/39ri0-sd541ff.js

js dattala.co.jp collected 2026-10-04 19:24:14 UTC 225,570 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,6078,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n={default:function(){return d},getImageProps:function(){return u}};for(var s in n)Object.defineProperty(i,s,{enumerable:!0,get:n[s]});let a=e.r(81258),r=e.r(93065),o=e.r(87225),l=a._(e.r(26277));function u(e){let{props:t}=(0,r.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,i]of Object.entries(t))void 0===i&&delete t[e];return{props:t}}let d=o.Image},96276,(e,t,i)=>{t.exports=e.r(6078)},71829,e=>{"use strict";let t={hero:{eyebrow:"AIソリューション開発",title1:"業務を変え、",title2:"現場で動く、",title3:"AIソリューション開発",description1:"機械学習・LLM・生成AIを、現場の業務プロセスに合わせて設計。",description2:"実証実験で終わらせず、本番運用まで見据えたAIソリューションを開発します。",image:"/images/service-heroes/solutions.jpg",imageAlt:"AIソリューション開発のイメージ"},ctaBand:{heading1:"AIソリューションを、",heading2:"業務の成果に変える。",sub:"自社の業務に合わせたAI実装・業務エージェント開発のご相談はこちらから。",image:"/images/service-ctas/solutions-tight.jpg"},about:{label:"・ABOUT",heading:"AIソリューション開発とは?",description1:"機械学習・LLM・生成AIを企業固有の業務に合わせて設計し、",description2:"PoCで終わらせない本番運用までを一貫して支援します。",checks:["アルゴリズム設計と業務統合の両輪","PoC止まりにしない本番運用設計","現場プロセスへの組み込み伴走"],ctaLabel:"資料ダウンロード",image:"/images/solutions/about.jpg"},industries:{label:"・INDUSTRIES",heading:"業界別ソリューション",tabs:[{slug:"developer-construction",name:"デベロッパー・建設",nameEn:"Developer & Construction",catch:"都市データと設計知をAIで統合し、開発と施工を最適化",thumbnail:"/images/services-banners/platform.jpg",lead:"3D都市データ・地盤・災害リスク・周辺需要を統合した評価ソリューションと、過去設計知を RAG化することで、開発計画から設計・施工までの精度を高めます。",items:[{category:"EVALUATION",title:"立地・開発計画 評価ソリューション",desc:"3D 都市データ・地盤・災害リスク・周辺需要を統合し、新規開発地の評価と開発計画策定を支援。ステークホルダー合意形成にも活用可能なシミュレーション基盤。",image:"/images/solutions/industries/devcon-evaluation.jpg"},{category:"RAG",title:"設計・施工ナレッジ RAG",desc:"過去設計図書・仕様書・トラブル対応事例を統合 RAG 化。設計レビュー、若手技術者の業務支援、見積精度向上を実現する。",image:"/images/solutions/industries/devcon-rag.jpg"}]},{slug:"medical-emergency",name:"医療・ヘルスケア",nameEn:"Medical & Healthcare",catch:"映像解析と院内ナレッジで医療技能と判断を支える",thumbnail:"/images/services/dataanalysis.jpg",lead:"手術・診察映像の解析による技能評価と、院内ナレッジ統合RAGによる即時参照を組み合わせ、研修医教育からベテラン技能の継承までを支援します。",items:[{category:"EVALUATION",title:"手術・診察技能評価システム",desc:"手術映像・診察動画から手技・所要時間・標準手順との差分を AI が解析。研修医・若手医師の技能評価と教育、ベテラン技能の継承を支援する。",image:"/images/solutions/industries/medical-evaluation.jpg"},{category:"RAG",title:"院内ナレッジ検索 RAG",desc:"診療ガイドライン・院内プロトコル・薬剤情報・過去症例を統合した RAG(ローカル LLM 構成も対応)。臨床現場での素早い情報参照と、研修医教育を支援する。",image:"/images/solutions/industries/medical-rag.jpg"}]},{slug:"care",name:"介護",nameEn:"Care",catch:"記録・研修ナレッジで対人ケアの時間を最大化",thumbnail:"/images/services/consulting.jpg",lead:"介護現場の文書作成負荷を生成AIで軽減し、現場の対人ケア時間を確保。新人オンボーディングやå
1®¶æ—èª¬æ˜Žã‚‚、統合ナレッジで素早く参照できる体制へ。",items:[{category:"AI AGENT",title:"介護記録・ケアプラン作成支援 AI エージェント",desc:"日々のケア記録、アセスメント、ケアプラン作成を生成 AI でサポート。職員の文書作成負荷を軽減し、現場の対人ケア時間を確保する。",image:"/images/solutions/industries/care-agent.jpg"},{category:"RAG",title:"業務ナレッジ・研修支援 RAG",desc:"介護保険制度・施設運営マニュアル・研修コンテンツを統合した RAG。新人職員のオンボーディング、加算算定の確認、家族説明の素早い参照を支援する。",image:"/images/solutions/industries/care-rag.jpg"}]},{slug:"manufacturing",name:"製造",nameEn:"Manufacturing",catch:"ベテラン技能とセンサーデータをAIで継承・予知",thumbnail:"/images/services-banners/develop.jpg",lead:"図面・仕様書・ベテラン技能の RAG化と、設備ログ・センサーデータの継続監視を組み合わせ、人手不足の中でも生産現場の品質と稼働を維持します。",items:[{category:"RAG",title:"技術ナレッジ継承 RAG",desc:"図面・仕様書・トラブル記録・ベテラン技能を統合 RAG 化。若手への継承を AI が支援し、「人に紐づく知」を「組織の知」へ変換する。",image:"/images/solutions/industries/manufacturing-rag.jpg"},{category:"AI AGENT",title:"設備異常検知・予知保全 AI エージェント",desc:"設備ログ・センサーデータ・点検記録を AI エージェントが継続監視し、異常予兆を検知。保全計画の自動生成と現場への通知で、人手不足を補完する。",image:"/images/solutions/industries/manufacturing-agent.jpg"}]},{slug:"retail",name:"小売",nameEn:"Retail",catch:"AIエージェントとRAGで店舗オペレーションを再設計",thumbnail:"/images/services/marketing.jpg",lead:"人手不足と業務集中が進む店舗現場で、店長業務の自動化と接客ナレッジの即時参照を実現。属人化を解消し、接客と意思決定に集中できる体制を構築します。",items:[{category:"AI AGENT",title:"店舗運営支援 AI エージェント",desc:"店長業務(発注判断・シフト調整・本部報告・トラブル対応)を AI エージェントで自動化。LLM による判断補助で現場の作業負荷を抑え、接客と意思決定に集中できる体制を構築。",image:"/images/solutions/industries/retail-agent.jpg"},{category:"RAG",title:"業務ナレッジ・接客支援 RAG",desc:"店舗マニュアル・接客対応事例・商品情報を統合した RAG。スタッフ教育、トラブル対応、商品問い合わせの即時応答を実現し、属人化を解消。",image:"/images/solutions/industries/retail-rag.jpg"}]}]},feature:{label:"・FEATURE",heading:"機能別ソリューション",lead:"業界を横断して提供している主要機能カテゴリです。AI エージェント・RAG・評価予測の3軸で、業務の自動化とナレッジ活用、意思決定支援を実現します。",items:[{category:"AI AGENT",title:"AI エージェント(業務自動化)",desc:"店舗運営、ケアプラン作成、設備保全などの業務オペレーションを AI エージェントで自動化。LLM による判断補助とアクション実行を組み合わせ、現場の作業負荷を抑え、付加価値業務に集中できる体制を構築します。",image:"/images/solutions/feature-agent.jpg"},{category:"RAG / KNOWLEDGE",title:"RAG ナレッジ統合",desc:"マニュアル・事例・ガイドライン・過去文書を統合した RAG。新人教育、トラブル対応、即時参照を支援し、属人化した知見を組織知へ転換。ローカル LLM 構成にも対応します。",image:"/images/solutions/feature-rag.jpg"},{category:"EVALUATION & PREDICTION",title:"評価・予測ソリューション",desc:"都市データ・センサーデータ・映像データを統合し、立地評価・技能評価・異常予知などを実現。意思決定の精度向上と、リスクの早期検知を支援します。",image:"/images/solutions/feature-evaluation.jpg"}]}
1,problem:{label:"・CHALLENGES",heading:"解決するビジネス課題",sub:"AI導入で多くの企業が直面する課題に対して、ダッタラ独自のアプローチで応えます。",items:[{problem:"システム導入・運営が「多重伝言ゲーム」化",problemDesc:"経営と現場、IT部門と事業部門の認識ズレが大きく、成果が出にくい。",solution:"事業の全体像を把握し、円滑にシステム導入",solutionDesc:"ビジョンと業務プロセスの両面を理解し、真の課題特定と事業成長に寄与するソリューションを提案します。"},{problem:"属人化した暗黙知の共有・継承が急務",problemDesc:"熟練者の判断基準を形式知化し、社内での共有・活用を進める必要がある。",solution:"企業内での智慧の共有を実現する開発実績",solutionDesc:"自然言語処理・音声認識と生成AIを柔軟に組み合わせ、企業内の智慧を見える化・共有化します。"},{problem:"システムの分断やデータサイロ化が発生",problemDesc:"部門ごとのシステム連携やレガシー資産との接続が、全社最適を阻む。",solution:"一気通貫の実装力でデータ活用を支援",solutionDesc:"既存システムとの連携とカスタマイズ開発を組み合わせ、企業の多様なシステムニーズに対応します。"}]},steps:{label:"・STEPS",heading:"導入ステップ",sub:"お問い合わせから本番運用まで、共創パートナーとして伴走します。",items:[{num:"01",name:"お問い合わせ",desc:"WEBフォームから現在の課題と検討状況をご相談ください。"},{num:"02",name:"ヒアリング",desc:"業務プロセスと目指す姿を伺い、AI活用ポイントを共に整理します。"},{num:"03",name:"提案・設計",desc:"技術選定・データ要件・スケジュールを含む具体的な提案をご提示。"},{num:"04",name:"検証導入",desc:"実データを用いた検証導入で、技術的成立性と運用効果を確認します。"},{num:"05",name:"本実装・運用",desc:"本番システムへの統合・運用ルール設計・継続改善まで一貫して支援します。"}]}},i={hero:{eyebrow:"SOLUTIONS",title1:"Transform operations.",title2:"Run in the field.",title3:"AI Solutions Engineering.",description1:"Machine learning, LLMs, and generative AI shaped around real workflows.",description2:"From proof of concept to production, dattala builds AI solutions that keep working.",image:"/images/service-heroes/solutions.jpg",imageAlt:"AI Solutions Engineering by dattala"},ctaBand:{heading1:"Turn AI solutions",heading2:"into operational outcomes.",sub:"Talk to us about AI implementation and business-agent development shaped around your work.",image:"/images/service-ctas/solutions-tight.jpg"},about:{label:"・ABOUT",heading:"What is AI Solutions Engineering?",description1:"Machine learning, LLMs, and generative AI are designed around each company's specific operations,",description2:"with end-to-end support from proof of concept through production deployment.",checks:["Algorithm design and operational integration in one team","Production-grade architecture beyond the PoC stage","Hands-on partnership through workflow embedding"],ctaLabel:"Download",image:"/images/solutions/about.jpg"},industries:{label:"・INDUSTRIES",heading:"Solutions by industry",tabs:[{slug:"developer-construction",name:"Developer & Construction",nameEn:"Developer & Construction",catch:"Urban data and design knowledge unified by AI, optimizing development and construction",thumbnail:"/images/services-banners/platform.jpg",lead:"A site-evaluation solution that unifies 3D urban data, geology, disaster risk, and surrounding demand, combined with RAG-based historical design knowledge, raises precision from planning through construction.",items:[{category:"EVALUATION",title:"Site & development-plan evaluation",desc:"3D urban data, geology, disaster risk, and surrounding demand are unified to support evaluation and planning of new development sites. A simulation foundation that also serves stakeholder consensus-building.",image:"/images/solutions/industries/dev
1con-evaluation.jpg"},{category:"RAG",title:"Design & construction knowledge RAG",desc:"Historical design documents, specifications, and incident records are unified as RAG. Design review, junior-engineer support, and estimate accuracy improve in tandem.",image:"/images/solutions/industries/devcon-rag.jpg"}]},{slug:"medical-emergency",name:"Medical & Healthcare",nameEn:"Medical & Healthcare",catch:"Video analytics and in-hospital knowledge support clinical skills and judgment",thumbnail:"/images/services/dataanalysis.jpg",lead:"Surgery and exam video analytics for skill evaluation, combined with in-hospital knowledge RAG for instant reference, supports the path from resident education to veteran skill transfer.",items:[{category:"EVALUATION",title:"Surgical & examination skill evaluation",desc:"AI analyzes surgical video and examination footage to assess techniques, duration, and deviation from standard procedures. Resident and junior physician evaluation, education, and veteran skill transfer all advance.",image:"/images/solutions/industries/medical-evaluation.jpg"},{category:"RAG",title:"In-hospital knowledge search RAG",desc:"Clinical guidelines, in-hospital protocols, drug information, and past cases are unified into one RAG (local LLM deployment supported). Fast clinical reference and resident education are supported.",image:"/images/solutions/industries/medical-rag.jpg"}]},{slug:"care",name:"Care",nameEn:"Care",catch:"Records and training knowledge maximize time for direct care",thumbnail:"/images/services/consulting.jpg",lead:"Documentation workload in care settings is eased by generative AI, returning time to direct care. Onboarding and family explanations also gain quick access through unified knowledge.",items:[{category:"AI AGENT",title:"Care-record & care-plan AI agent",desc:"Daily care records, assessments, and care-plan creation are supported by generative AI. Staff documentation workload is reduced, preserving time for direct care on-site.",image:"/images/solutions/industries/care-agent.jpg"},{category:"RAG",title:"Operations & training RAG",desc:"Long-term care insurance rules, facility operation manuals, and training content are unified into one RAG. Onboarding, billing verification, and quick fam
1ily explanations are supported.",image:"/images/solutions/industries/care-rag.jpg"}]},{slug:"manufacturing",name:"Manufacturing",nameEn:"Manufacturing",catch:"Veteran skills and sensor data transferred and predicted by AI",thumbnail:"/images/services-banners/develop.jpg",lead:"RAG-based knowledge transfer from drawings, specifications, and veteran expertise combines with continuous sensor monitoring to sustain quality and uptime amid labor shortages.",items:[{category:"RAG",title:"Technical knowledge transfer RAG",desc:'Drawings, specifications, incident records, and veteran skills are unified as RAG. AI supports transfer to junior staff, turning "person-bound knowledge" into "organizational knowledge".',image:"/images/solutions/industries/manufacturing-rag.jpg"},{category:"AI AGENT",title:"Equipment anomaly detection & predictive maintenance AI agent",desc:"Equipment logs, sensor data, and inspection records are continuously monitored by an AI agent to detect anomaly precursors. Automatic maintenance planning and on-site notification compensate for labor shortages.",image:"/images/solutions/industries/manufacturing-agent.jpg"}]},{slug:"retail",name:"Retail",nameEn:"Retail",catch:"AI agents and RAG redesign in-store operations",thumbnail:"/images/services/marketing.jpg",lead:"In stores facing labor shortages and operational overload, store-manager workflows are automated and customer-facing knowledge becomes instantly accessible — replacing tacit reliance with shared capability.",items:[{category:"AI AGENT",title:"Store-operations AI agent",desc:"Store-manager workflows (ordering decisions, scheduling, HQ reporting, incident response) are automated by an AI agent. LLM-assisted judgment reduces the on-site workload, freeing time for service and decision-making.",image:"/images/solutions/industries/retail-agent.jpg"},{category:"RAG",title:"Operations & customer-service RAG",desc:"Store manuals, customer-response cases, and product information are unified into one RAG. Staff training, incident handling, and instant responses to product inquiries are supported, resolving knowledge silos.",image:"/images/solutions/industries/retail-rag.jpg"}]}]},feature:{label:"・FEATURE",heading:"Solutions by function",lead:"Three core capability categories applied across industries: AI agents, RAG, and evaluation/prediction. Workflows automate, knowledge activates, and decisions improve.",items:[{category:"AI AGENT",title:"AI agents (workflow automation)",desc:"Store operations, care-plan creation, equipment maintenance, and similar workflows are automated by AI agents. LLM-assisted judgment combined with action execution reduces on-site workload, freeing time for higher-value work.",image:"/images/solutions/feature-agent.jpg"},{category:"RAG / KNOWLEDGE",title:"RAG knowledge integration",desc:"Manuals, cases, guidelines, and historical documents unify into one RAG. Onboarding, incident response, and instant reference become routine, turning tacit expertise into organizational knowledge. Local LLM deployment is supported.",image:"/images/solutions/feature-rag.jpg"},{category:"EVALUATION & PREDICTION",title:"Evaluation & prediction solutions",desc:"Urban data, sensor data, and video data unify to deliver site evaluation, skill assessment, and anomaly forecasting. Decision precision improves and risks surface earlier.",image:"/images/solutions/feature-evaluation.jpg"}]},problem:{label:"・CHALLENGES",heading:"Business challenges we solve",sub:"For the common challenges companies face when adopting AI, dattala's approach delivers concrete answers.",items:[{problem:"System rollouts turn into a game of telephone",problemDesc:"Misalignment between leadership and the field, or between IT and business units, makes meaningful outcomes hard to achieve.",solution:"Smooth implementation grounded in the whole business",solutionDesc:"Vision and operational process are understood together, identifying real problems and proposing solutions that contribute to business growth."},{problem:"Tacit expertise needs to be shared and inherited",problemDesc:"Expert judgment must be made explicit and put into circulation across the organization to stay competitive.",solution:"Proven track record turning institutional knowledge into shared knowledge",solutionDesc:"Natural language processing, speech recognition, and generative AI combine to make institutional knowledge visible and shareable."},{problem:"Disconnected systems and siloed data",problemDesc:"Department-specific systems and legacy integrations block enterprise-wide data activation and optimization.",solution:"End-to-end implementation that connects data into action",solutionDesc:"System integration and custom development combine to meet the diverse system needs across the enterprise."}]},steps:{label:"・STEPS",heading:"Implementation steps",sub:"From first inquiry through production, dattala partners alongside the team as a co-creation partner.",items:[{num:"01",name:"Inquiry",desc:"Share the current challenges and considerations through the web form."},{num:"02",name:"Discovery",desc:"Operational processes and target outcomes are heard, with AI o
1pportunities mapped together."},{num:"03",name:"Proposal & design",desc:"A concrete proposal covers technology selection, data requirements, and schedule."},{num:"04",name:"Validation",desc:"Validation on real data confirms technical feasibility and operational fit."},{num:"05",name:"Production & operations",desc:"Integration into production systems, operational governance, and continuous improvement are supported end-to-end."}]}};e.s(["ADVISORY_BAND",0,{slug:"advisory",name:"ADVISORY",nameJa:"AI事業開発コンサル",catch:"AIで事業を増幅する",summary:"AI時代の事業開発コンサル",description:"AIで事業を増幅するAI時代の事業開発コンサル。事業全体のAI再設計と、必要に応じた新規領域の立ち上げを、事業開発の現場で同時に進めます。",image:"/images/service-thumbs/advisory.jpg",menuImage:"/images/service-menu/advisory.jpg",href:"/advisory"},"ADVISORY_BAND_EN",0,{nameJa:"AI Business Development Advisory",catch:"Runs alongside the business",summary:"AI business development / business partnership",description:"A board-side partner that amplifies the business with AI — redesigning the business as a whole and launching new ventures where useful, beside the team that runs it."},"ADVISORY_PAGE",0,{hero:{eyebrow:"AI事業開発コンサル",title1:"AIで、事業をつくる",title2:"AIで、事業を伸ばす",title3:"AI時代の事業開発コンサル",description1:"戦略立案から実装まで、AIを前提に事業開発を支援します。",description2:"",image:"/images/service-heroes/advisory.jpg",imageAlt:"AI事業開発コンサルのイメージ"},about:{label:"・ABOUT",heading:"AI事業開発コンサルとは?",description1:"AIを前提に事業を設計し直すこと——それがAI時代の事業開発の本質です。AIを組み込んだ事業は、立ち上げ速度・運用効率・打ち手の幅が、従来の延長線上にはない水準で変わります。",description2:"本サービスは、AIを前提に事業をどう設計するか/業務をどう再構築するかを、事業開発の現場で言語化し、実装まで一緒に進めるコンサルティングサービスです。",checks:["AIネイティブな視点で、事業全体を再設計","事業を立ち上げ、売上化するまでのスピードを、AIで圧縮","顧問型の壁打ちからプロジェクト参画型の実装支援まで、柔軟な関わり方"],ctaLabel:"資料ダウンロード"},problem:{heading1:"事業開発の現場で、",heading2:"こんな課題はありませんか?",items:["AIに張りたいが、自社の事業に落ちる解像度がない","新規事業はやりたいが、人を増やす前提で止まっている","生成AIを試したが、業務と成果に繋がっていない","戦略・開発・組織のどれかで止まり、事業が前に進まない"]},lead:{pre:"その停滞、",highlight:"AI事業開発コンサル",post:"が、事業を前に動かします。",sub1:"戦略立案だけのアドバイザーでも、開発だけのベンダーでもありません。",sub2:"AI時代の事業設計を、事業開発の現場と同じ目線で考え、事業推進を支援します。"},feature:{label:"・FEATURE",heading:"AI事業開発コンサルの3つの特徴",items:[{num:"01",titleLine1:"事業の意思決定に、",titleLine2:"AIを組み込む。",desc1:"事業ロードマップの策定、新規テーマの選定、既存業務の見直し——主要な意思決定の場に、「AIで何をどこまで任せられるか/どの工程を再設計するか」の評価を組み込みます。",desc2:"業務のAI実装と、新規領域の仮説検証を同じ顧問関係の中で並列に進め、現場で得た知見を意思決定に逆流させる回路をつくります。",image:"/images/advisory/feature-decision.jpg"},{num:"02",titleLine1:"技術と事業、",titleLine2:"両方の解像度で判断する。",desc1:"AI戦略の判断には、技術の現在地(できること・できないこと・コスト)と、事業の文脈(誰に・どんな価値で・どう収益化するか)を同時に見られる解像度が必要となります。",desc2:"ダッタラはデータサイエンス・AI実装と事業開発を専門領域として併せ持ち、技術と事業の両面から意思決定を支援します。",image:"/images/advisory/feature-restructure.jpg"},{num:"03",titleLine1:"事業開発を、",titleLine2:"AIで推進する。",desc1:"市場調査、仮説設定、MVP開発、初期検証——新規事業を立ち上げて売上にするまでに必要な工程を、生成AIと事業開発の知見で同時並行に走らせます。",desc2:"çµ
1µã‚’描いて終わるアドバイザーではなく、調査・実装・検証を同じ顧問関係の中で進め、事業を形にするところまで支援します。",image:"/images/advisory/feature-venture.jpg"}]},programs:{label:"・PROGRAM",heading:"3つの関わり方",items:[{num:"01",tag:"ENTRY",tabName:"ミニマム顧問型",flagship:!1,name:"ミニマム顧問型支援",catch:"AI時代の事業判断を、隔週の壁打ちから整える。",format:"隔週オンライン壁打ち",target:"事業責任者・経営者",period:"3ヶ月〜",pointsLabel:"提供内容",points:["事業課題のヒアリングと、現状のAI活用余地マッピング","AI戦略・新規事業テーマに関する施策提案","隔週の定例壁打ちセッション(オンライン)"],image:"/images/advisory/program-minimum.jpg"},{num:"02",tag:"CORE",tabName:"アドバイザー型",flagship:!0,name:"アドバイザー型支援",catch:"戦略立案から日常の意思決定まで、AI事業開発の参謀役として手を動かす。",format:"週次セッション + Slack/Teams 常駐",target:"事業責任者・経営者・新規事業オーナー",period:"3ヶ月〜",pointsLabel:"提供内容",points:["新規事業・マーケティング・採用などの戦略立案と施策設計","週次の施策レビューと次アクション策定","Slack / Teams を介した日常コミュニケーション","ミニマム顧問型のすべての内容を含む"],image:"/images/advisory/program-advisor.jpg"},{num:"03",tag:"PARTNER",tabName:"パートナー型",flagship:!1,name:"パートナー型支援",catch:"調査から実装まで参画し、AIで事業を立ち上げ切るところまで。",format:"個別プロジェクト参画",target:"新規事業や中期事業計画を本格化するフェーズの企業",period:"3ヶ月〜",pointsLabel:"提供内容",points:["各事業開発プロジェクトに参画し、調査・計画策定・実行支援を一体で実施","事業計画・中期事業計画の策定","AIを前提とした組織・KPI設計","アドバイザー型のすべての内容を含む"],image:"/images/advisory/program-partner.jpg"}]},faq:{label:"・FAQ",heading:"よくある質問",items:[{q:"進め方の基本ステップを教えてください",a:"ヒアリングと現状分析からはじまり、AI戦略・事業計画の策定、実行支援・仮説検証へと段階的に進めます。プランごとにどこまで踏み込むかが異なりますので、現状フェーズに合わせて最適な進め方をご提案します。"},{q:"担当者がAIに詳しくなくても依頼できますか?",a:"はい、むしろ「AIで何ができるかの解像度を社内で上げたい」というフェーズで活用しやすいサービスです。コードの読み書きは前提にしません。AIで増幅できる領域を一緒に言語化し、意思決定の手前から手を動かしていきます。"},{q:"プラン間の移行はできますか?",a:"3ヶ月単位の更新タイミングで、ミニマム顧問型・アドバイザー型・パートナー型を柔軟に行き来できます。現状フェーズに合わせて組み替えてください。"}]},steps:{label:"・STEPS",heading:"導入ステップ",sub:"ご相談から事業推進まで、ボードサイドのパートナーとして伴走します。",items:[{num:"01",name:"お問い合わせ",desc:"WEBフォームから事業課題やAI活用の構想をご相談ください。"},{num:"02",name:"ヒアリング",desc:"事業戦略・組織体制・既存資産を多角的に把握し、論点を整理します。"},{num:"03",name:"顧問契約・初期設計",desc:"関与範囲・体制・成果指標を合意し、進行設計を行います。"},{num:"04",name:"事業推進・伴走",desc:"戦略立案から実装支援まで、現場で並走しながら推進します。"},{num:"05",name:"成長・拡張",desc:"新規領域の立ち上げや次フェーズへの展開を継続的に支援します。"}]},ctaBand:{heading1:"AIで増幅する事業を、",heading2:"事業開発の現場で、形にする。",sub:"AI事業開発コンサルサービスのご相談・お問い合わせはこちらから承っております。",image:"/images/service-ctas/advisory.jpg"}}
1,"ADVISORY_PAGE_EN",0,{hero:{eyebrow:"ADVISORY",title1:"Launch with AI.",title2:"Scale with AI.",title3:"Advisory built for the AI era.",description1:"From strategy to implementation — business development designed around AI.",description2:"",image:"/images/service-heroes/advisory.jpg",imageAlt:"AI Business Development Advisory"},about:{label:"・ABOUT",heading:"What is AI Business Development Advisory?",description1:'Even small teams can scale a business now, and the dynamic is shifting from "hire more people" to "amplify with AI."',description2:"The advisory runs alongside business leaders to put words to how the business should be designed for AI — and to support the redesign and the build, not just the slide deck.",checks:["Redesign the business as a whole, from an AI-native standpoint","Shorten the distance from idea to MVP to revenue with AI","Flexible engagement — from advisory sparring to embedded project delivery"],ctaLabel:"Download"},problem:{heading1:"Sound familiar on the",heading2:"business floor?",items:["AI feels strategic, but its fit to our business stays out of focus.","New ventures stall because they still assume hiring as the path.","Generative AI was tried, yet operational and P&L impact never landed.","Strategy, build, or org — something breaks and the business stops moving."]},lead:{pre:"That is where the ",highlight:"AI Business Development Advisory",post:" picks the work back up.",sub1:"Not an advisor that hands over a deck, not a vendor that only builds —",sub2:"business design for the AI era, thought through and executed alongside the team that runs the business."},feature:{label:"・FEATURE",heading:"Three reasons this consulting is different",items:[{num:"01",titleLine1:"Build AI into the",titleLine2:"business decision itself.",desc1:"Redesigning with AI is not a side project; it is a choice that belongs inside the way the business itself is decided.",desc2:"AI inside today's operations and, where useful, hypothesis-driven new ventures run inside one engagement, so insight flows both ways.",image:"/images/advisory/feature-decision.jpg"},{num:"02",titleLine1:"Before hiring, decide",titleLine2:"what AI takes on.",desc1:"Sorting out which tasks AI can take on, which processes to redesign, and which roles AI can amplify clarifies what the right hires and outsourcing actually look like.",desc2:"Loosen the default of stacking headcount, and redesign the structure of operations and roles around AI-first assumptions.",image:"/images/advisory/feature-restructure.jpg"},{num:"03",titleLine1:"Tighten the loop",titleLine2:"from idea to revenue.",desc1:"With generative AI in the loop, the path from idea to MVP to revenue runs shorter than it used to.",desc2:"Research, hypothesis setting, MVP build, and early validation run side by side, on a design that lets the validation loop spin faster.",image:"/images/advisory/feature-venture.jpg"}]},programs:{label:"・PROGRAM",heading:"Three engagement tiers",items:[{num:"01",tag:"ENTRY",tabName:"Minimum Advisory",flagship:!1,name:"Minimum Advisory",catch:"Strategic sparring for the AI era, every other week.",format:"Biweekly online sparring",target:"Executives, business leads",period:"3-month term",pointsLabel:"What is included",points:["Discovery of business priorities and AI activation surface mapping","Recommendations on AI strategy and new business themes","Biweekly online sparring sessions","Centered on STEP 1 — Discovery & current-state analysis (one month)"],image:"/images/advisory/program-minimum.jpg"},{num:"02",tag:"CORE",tabName:"Advisor Tier",flagship:!0,name:"Advisor Tier",catch:"A strategic counterpart for AI business development — from strategy to daily decisions.",format:"Weekly sessions plus Slack / Teams presence",target:"Executives, business leads, new venture owners",period:"3-month term",pointsLabel:"What is included",points:["Strategy and initiatives across new business, marketing, and hiring","Weekly review of initiatives and the next action set","Day-to-day collaboration over Slack / Teams","Everything included in Minimum Advisory","Runs STEP 1 Discovery through STEP 2 Planning (one month each)"],image:"/images/advisory/program-advisor.jpg"},{num:"03",tag:"PARTNER",tabName:"Partner Tier",flagship:!1,name:"Partner Tier",catch:"Embedded delivery — from research to execution — to actually ship the venture.",format:"Embedded project delivery plus offsites",target:"Companies entering serious new-venture or mid-term planning phases",period:"3-month term",pointsLabel:"What is included",points:["Embedded delivery across research, planning, and execution for each business initiative","Business plan and mid-term management plan authoring","AI-first organization and KPI design","Everything included in Advisor Tier","STEP 1 → STEP 2 → STEP 3 Execution & validation (one month onward) end-to-e
1nd"],image:"/images/advisory/program-partner.jpg"}]},faq:{label:"・FAQ",heading:"Frequently asked questions",items:[{q:"What does the engagement flow look like?",a:"A three-step rhythm. Step 1 (one month) is discovery and current-state analysis, delivered as a discovery report. Step 2 (one month) sets the hypotheses, business model, and KPIs, delivered as a draft business plan. Step 3 (one month onward) is execution support and validation against an action plan, with the business plan and strategy reports updated continuously."},{q:"Does the team need to be AI-literate to start?",a:"No — this is exactly the phase where the engagement creates the most value. Coding is not assumed. The work is to put words to what AI can actually amplify in the business, well before any tooling decision."},{q:"Can companies move between tiers?",a:"Yes — at each three-month renewal, companies move between Minimum, Advisor, and Partner tiers freely, matched to the current phase."}]},steps:{label:"・STEPS",heading:"Implementation steps",sub:"From the first conversation through ongoing business momentum, dattala stays beside the board as a partner.",items:[{num:"01",name:"Inquiry",desc:"Share business challenges and AI ambitions through the web form."},{num:"02",name:"Discovery",desc:"Business strategy, organizational structure, and existing assets are mapped from multiple angles."},{num:"03",name:"Engagement design",desc:"Scope, team setup, and success metrics are agreed and operationalized."},{num:"04",name:"Business execution",desc:"From strategy formulation through implementation support, momentum is built on the ground."},{num:"05",name:"Growth & expansion",desc:"New venture launches and next-phase transitions are guided forward continuously."}]},ctaBand:{heading1:"AI-amplified operations,",heading2:"shaped beside the team that runs it.",sub:"Reach the team about AI Business Development Advisory here.",image:"/images/service-ctas/advisory.jpg"}},"COMPANY",0,{items:[{label:"会社名",value:"ダッタラ株式会社(dattala Co., Ltd.)"},{label:"所在地",value:"広島本社\n〒730-0053\n広島市中区東千田町1丁目1番61号\nhitoto広島ナレッジスクエア1F\n\n大阪支社\n〒530-0017\n大阪府大阪市北区角田町8番47号\n阪急グランドビル26階 FUTRWORKS"},{label:"代表",value:"石原 裕輝"},{label:"設立",value:"2025å¹´4月"},{label:"資本金",value:"100万円"},{label:"事業内容",value:"AI人材・組織開発事業\nAIソリューション開発事業\nAIプラットフォーム事業\nAI事業開発コンサル事業\nメディアプロデュース/DATA WORLD"}]},"CONTACT_CTA",0,{title:"お問い合わせ",description1:"データ分析・ソフトウェア開発に関するお悩みを解決します。",description2:"お気軽にお問い合わせください。",youtube:"https://www.youtube.com/embed/R0uQV2suepA"},"CTA_SECTION",0,{heading:"データで、未来を切り拓く。",description1:"先端技術で、ビジネスの新たな可能性を。",description2:"まずはお気軽にご相談ください。",buttons:[{label:"Download",href:"/download"},{label:"Contact",href:"/contact"}]},"DATA_WORLD",0,{title:"AI・データメディア「DATA WORLD / データワールド」",url:"https://dataworld.one/",image:"/images/dataworld-thumb.png"},"FOUNDER",0,{role:"代表取締役",name:"石原 裕輝",tags:["ソフトウェア開発","機械学習","産学連携","デジタルコンテンツ"],bio:"2015年から広島大学とWestern Norway University of Applied Sciences(ノルウェー)の大学院に進学し、メンタルヘルスの研究に従事。2021年よりXR・メタバース業界のスタートアップに入社し、メタバースシステムやVR/MRシミュレータの開発に従事する。2022年にはビジネス部門の部長に就任し、ディレクション・マーケティング・アライアンス等ビジネス全般を統括する。2023年には同社の取締役COOとして経営に携わり、世界各国のXR企業や全国の大学とのアライアンス連携に従事。2024年にはITコンサルティング企業に転職し、シニアコンサルタントとして自治体DX・AI事業のプロジェクトを担当する。2025å¹´4月にダッタラ株式会社を創業し、代表取締役に就任する。",image:"/images/founder.jpg"},"FOUNDER_EN",0,{role:"Founder & CEO",name:"Yuki Ishihara",tags:["Software Development","Machine Learning","Industry-Academia","Digital Content"],bio:"Founded dattala in April 2025 to bring advanced technology closer to the problems that matter. A software engineer and machine learning practitioner by training, he started in graduate research on mental health at Hiroshima University and Western Norway University of Applied Sciences — then moved into industry at a metaverse startup, taking on product direction, marketing, and partnership development while filing two patents for medical VR simulators. As COO, he built the company's global network — partnerships with XR companies worldwide and universities across Japan. A subsequent move to a major IT consulting firm as Senior Consultant brought him into digital transformation projects for local government. dattala is the product of all of it: data science, hands-on engineering, and a conviction that technology should deliver measurable outcomes."},"HERO",0,{titleLine1:"人とデータを繋ぎ、",titleLine2:"テクノロジーで世界をデザインする",subtitle:"Digitizing your world",description1:"AIとデータを、解く力と伝える力に。",description2:"企業の課題解決から発信まで、一気通貫で支援します。",cta:{label:"Service",href:"#services"}},"LEARNING_PAGE",0,{hero:{eyebrow:"AI人材・組織開発",title1:"実務で活きる",title2:"AIデータ研修",title3:"ワークショップ",description1:"専門知識ゼロからOK。",description2:"現場の業務から始められる、AI人材・組織開発サービス。",imageAlt:"AI人材・組織開発プログラムの様子"},about:{label:"・ABOUT",heading:"AI人材・組織開発とは?",description1:"専門知識がã
1ªãã¦ã‚‚大丈夫。日々の業務をそのまま題材に始められる、AI人材・組織開発サービスです。",description2:"プログラム受講により、業務の高度化と現場テーマの実行化を実現します。",checks:["データサイエンスの専門性と実装経験に裏打ちされたカリキュラム","専門知識ゼロからOK、今あるデータで始められる","学びで終わらせない、業務適用までの伴走"],ctaLabel:"資料ダウンロード"},problem:{heading1:"御社で",heading2:"こんなお悩みありませんか?",items:["学んだが現場で使われない","ChatGPT講習が自社業務に繋がらない","推進担当者が孤立しテーマが出ない","学びが成果物と実行計画に落ちない"]},lead:{pre:"そのお悩み、",highlight:"AI人材・組織開発",post:"が解決します!",sub1:"企業様個別の課題に寄り添い、",sub2:"現場の業務と保有データを起点に、AI活用を業務適用まで推進できる体制づくりをサポートします。"},feature:{label:"・FEATURE",heading:"『AI人材・組織開発』サービスの特徴",items:[{num:"01",titleLine1:"机上の学びで終わらない、",titleLine2:"専門性と実装経験を基にしたプログラム設計",desc1:"当社の人材・組織開発プログラムは、機械学習・データサイエンスの専門性と、AI ソリューション開発の現場で培った実装経験を基に設計されています。",desc2:"机上の知識にとどまらず、現場の業務から AI 活用テーマを生み出すアプローチを身につけられます。",image:"/images/training/feature-01.jpg"},{num:"02",titleLine1:"日々の業務から、",titleLine2:"すぐに始められる実践設計",desc1:"当社のプログラムでは、日々取り組んでいる業務や現場で扱うデータをそのまま教材として活用します。新しい準備や難しい前提知識は不要なので、最初の一歩を踏み出しやすい設計です。",desc2:"プログラム中に作る成果物がそのまま「次に何を実行するか」の意思決定材料になり、受講後すぐ業務テーマに着手できる状態を目指します。",image:"/images/training/feature-02.jpg"},{num:"03",titleLine1:"学びで終わらせない、",titleLine2:"業務適用までの伴走体制",desc1:"人材・組織開発プログラムは、多くの企業のデータ活用と AI 導入を伴走してきた経験を基に、プログラム後の実装フェーズへの接続を前提に設計されています。",desc2:"座学で終わらず、受講後すぐ業務で活用できる実用的かつ効果的なスキルの習得と、推進体制の構築を目指します。",image:"/images/training/feature-03.jpg"}]},programs:{label:"・PROGRAM",heading:"3つの提供プログラム",items:[{num:"01",tag:"ENTRY",tabName:"入門セミナー/WS",flagship:!1,name:"AIデータ活用 入門セミナー/ワークショップ",catch:"ツール理解から現場適用まで、選べる入門メニュー",duration:"30〜120分 / 半日",format:"オンライン or 対面",target:"経営層・部門責任者・推進担当者",pointsLabel:"プログラム内容",points:["ChatGPT・Copilot活用 入門セミナー","身近な業務データで動かす プロンプトワークショップ","AIエージェント業務活用 入門ワークショップ"],outputs:[],image:"/images/training/program-01.jpg"},{num:"02",tag:"CORE",tabName:"実践プログラム/WS",flagship:!1,name:"AIデータ実践プログラム/ワークショップ",catch:"現場の業務と課題から、業務変革テーマを生み出す",duration:"全4回",format:"ハイブリッド伴走型",target:"推進担当者・現場メンバー・部門責任者",pointsLabel:"全4回カリキュラム",points:["第1回 業務棚卸しと課題マッピング ― 現場業務と保有データをAI観点で見直す","第2回 AIユースケース創出と優先順位づけ ― インパクト×実現性で取り組みテーマを決める","第3回 PoC設計とプロンプト/ツール ハンズオン ― 検証計画とAIの実装を体験する","第4回 業務適用ワークショップ (Apply Lab) ― ROI試算・推進体制・着手プランを固める"],outputs:[],image:"/images/training/program-02.jpg?v=20260523"},{num:"03",tag:"EXECUTIVE",tabName:"役員向け戦略WS",flagship:!1,name:"経営層のための 生成AI戦略ブリーフィング",catch:"経営層のAI戦略を、データ起点で言語化する",duration:"1ヶ月間",format:"クローズドセッション",target:"経営層・役員",pointsLabel:"プログラム内容",points:["AI活用のグランドデザインと事業インパクト整理","優先投資領域と意思決定基準の言語化","推進体制とKPI設計"],outputs:[],image:"/images/training/program-03.jpg"}]},faq:{label:"・FAQ",heading:"よくある質問",items:[{q:"プログラムではどのようなツールを使用しますか?",a:"生成AI(ChatGPT, Copilot, Gemini, Claude等)と、Excel・SQL等の業務分析ツールを組み合わせて使用します。受講企業の保有環境に応じて柔軟に調整いたします。"},{q:"ITリテラシーが高くない社員でも参加可能でしょうか?",a:"はい、AI初心者でも参加可能なカリキュラム設計です。事前ヒアリングで受講者のスキルレベルを確認し、内容を最適化します。"},{q:"プログラムの期間・頻度を教えてください",a:"入門セミナー/ワークショップは30〜120分または半日。実践プログラム/ワークショップは全4回(隔週〜月1回ペースが一般的)。経営層向け戦略ブリーフィングは1ヶ月間のクローズドセッションです。貴社のスケジュールに合わせた柔軟な対応ã
1Œå¯èƒ½ã§ã™ã€‚"},{q:"対面・オンラインどちらに対応していますか?",a:"オンライン・対面・ハイブリッドのいずれにも対応します。広島本社・大阪支社からの出張対応も可能です。"},{q:"助成金は活用できますか?",a:"人材開発支援助成金などの活用余地があります。要件や手続きは制度の改定もあるため、最新の情報をご確認のうえご検討ください。"},{q:"費用感を教えてください",a:"プログラム規模・期間・対象人数によって変動するため、まずは30分無料相談で内容を伺った上で個別にお見積りいたします。"},{q:"実施に向けて準備するものは?",a:"対象部門、解きたい課題、保有データのイメージがあると効果的です。詳細は事前ヒアリングで一緒に整理します。"}]},steps:{label:"・STEPS",heading:"導入ステップ",sub:"お問い合わせから業務適用まで、現場に根づく研修を共に設計します。",items:[{num:"01",name:"お問い合わせ",desc:"WEBフォームから現状の課題と研修ニーズをご相談ください。"},{num:"02",name:"ヒアリング",desc:"現場の業務・課題・育成目標を整理し、研修方針の論点を明確化します。"},{num:"03",name:"カリキュラム設計",desc:"内容・期間・対象者を含むプログラムを具体化してご提案します。"},{num:"04",name:"研修実施",desc:"講義・演習・ワークショップを通じ、実務に直結するスキルを習得。"},{num:"05",name:"業務適用支援",desc:"ご希望に応じて、研修後の実務適用までフォローし、組織への
1定着を支援することも可能です。"}]},ctaBand:{heading1:"学んで終わらせない、",heading2:"AIデータで現場を変える。",sub:"人材・組織開発サービスのお問い合わせはこちらより承っております",image:"/images/training/cta-band.jpg"}},"LEARNING_PAGE_EN",0,{hero:{eyebrow:"AI Talent & Organization Development",title1:"AI & Data that works",title2:"in your business —",title3:"put into practice.",description1:"No prior expertise required.",description2:'Start right from the work your team already does — that is "AI Talent & Organization Development".',imageAlt:"AI Talent & Organization Development program"},about:{label:"・ABOUT",heading:"What is AI Talent & Organization Development?",description1:"No prior expertise required — a hands-on service that uses your team's everyday work as the starting point.",description2:"Designed to advance core operations and turn field themes into executable plans.",checks:["Curriculum grounded in deep expertise and hands-on implementation","Starts from the work and data already on hand — no prerequisites","Walked through to operational adoption — not a one-off lecture"],ctaLabel:"Download"},problem:{heading1:"Sound familiar in",heading2:"your organization?",items:["Learning happened. Use never followed.","ChatGPT lessons miss the business.","Champions go it alone — themes never emerge.","Learning never lands as a plan."]},lead:{pre:"That is what ",highlight:"AI Talent & Organization Development",post:" is here to solve.",sub1:"Tailored to each client, we walk alongside the team —",sub2:"starting from your team's everyday work and on-hand data, all the way to AI use cases and operational adoption."},feature:{label:"・FEATURE",heading:"What makes AI Talent & Organization Development different",items:[{num:"01",titleLine1:"Beyond classroom theory —",titleLine2:"grounded in deep expertise and implementation.",desc1:"Programs grounded in machine-learning expertise and the operational engineering experience built through AI solution delivery.",desc2:"Participants learn hands-on approaches to surface AI use cases directly from everyday operations — turning theory into application.",image:"/images/training/feature-01.jpg"},{num:"02",titleLine1:"Start right from",titleLine2:"your team's everyday work.",desc1:"Everyday operations and on-hand data become the curriculum itself. With no new prerequisites or extra preparation required, the first step is easy to take.",desc2:"The artifacts produced during the program become the basis for the next decision — and a runway to start operational themes immediately after.",image:"/images/training/feature-02.jpg"},{num:"03",titleLine1:"Past the classroom,",titleLine2:"into operations.",desc1:"Programs are designed for what comes next — informed by experience walking many organizations from learning into implementation.",desc2:"Practical, immediately applicable skills, plus the operating model needed to keep the work moving after the program ends.",image:"/images/training/feature-03.jpg"}]},programs:{label:"・PROGRAM",heading:"Three programs",items:[{num:"01",tag:"ENTRY",tabName:"Intro Seminar / WS",flagship:!1,name:"AI & Data Intro Seminar / Workshop",catch:"From tool basics to workplace application — pick the intro that fits.",duration:"30–120 min / half-day",format:"Online or onsite",target:"Executives, division heads, program leads",pointsLabel:"Program content",points:["ChatGPT & Copilot Intro Seminar","Prompt-in-Practice Workshop with workplace data","AI Agent Adoption Intro Workshop"],outputs:[],image:"/images/training/program-01.jpg"},{num:"02",tag:"CORE",tabName:"Practical Program / WS",flagship:!1,name:"AI & Data Practical Program / Workshop",catch:"Turn everyday work and field challenges into transformation themes.",duration:"Four sessions",format:"Hybrid, hands-on co-delivery",target:"Program leads, frontline staff, division heads",pointsLabel:"Four-session curriculum",points:["S1. Operational inventory and problem mapping — review fieldwork and on-hand data through an AI lens","S2. AI use case generation and prioritization — pick themes by impact and feasibility","S3. PoC design and prompt / tool hands-on — design validation and experience AI in action","S4. Apply Lab — finalize ROI, operating model, and the day-one execution plan"],outputs:[],image:"/images/training/program-02.jpg?v=20260523"},{num:"03",tag:"EXECUTIVE",tabName:"Executive Strategy WS",flagship:!1,name:"Executive Briefing on Generative AI Strategy",catch:"Put the leadership AI strategy into words — grounded in data.",duration:"One-month engagement",format:"Closed-door session",target:"Executives and board members",pointsLabel:"Program content",points:["AI grand design and business-impact framing","Investment priorities and decision criteria","Operating model and KPI design"],outputs:[],image:"/images/training/program-03.jpg"}]},faq:{label:"・FAQ",heading:"Frequently asked questions",items:[{q:"Which tools are used in the program?",a:"Generative AI (ChatGPT, Copilot, Gemini, Claude) combined with workflow tools such as Excel and SQL — adapted to the client environment."},{q:"Can less tech-savvy staff still join?",a:"Yes. The curriculum is designed for AI newcomers, with content calibrated to participant levels during the discovery interview."}
1,{q:"How long is the program?",a:"The intro seminar / workshop runs 30–120 minutes or half-day. The Practical Program / Workshop is four sessions (typically biweekly to monthly). The Executive Briefing on Generative AI Strategy is a one-month closed-door engagement — calibrated to your calendar."},{q:"Onsite or online?",a:"Both, plus hybrid. Onsite delivery from our Hiroshima HQ and Osaka Branch is available across Japan."},{q:"Are subsidies available?",a:"Japan’s Human Resources Development Subsidies and similar schemes can often apply. Requirements change periodically — please confirm the latest details before applying."},{q:"What does it cost?",a:"Pricing depends on scope, duration, and headcount. A 30-minute consultation is the fastest way to receive a tailored estimate."},{q:"What should we prepare?",a:"A sense of the target functions, problems worth solving, and the data on hand. Anything missing gets sorted in the discovery interview."}]},steps:{label:"・STEPS",heading:"Implementation steps",sub:"From inquiry through workplace adoption, dattala designs training that takes root in day-to-day work.",items:[{num:"01",name:"Inquiry",desc:"Share current challenges and training needs through the web form."},{num:"02",name:"Discovery",desc:"Operational challenges, day-to-day work, and development goals are mapped into clear priorities."},{num:"03",name:"Curriculum design",desc:"Content, duration, and target participants are formalized into a concrete program proposal."},{num:"04",name:"Training delivery",desc:"Lectures, exercises, and workshops build skills that translate directly into the work."},{num:"05",name:"Workplace adoption",desc:"If desired, post-training follow-through can be added to support application in the field and lasting organizational uptake."}]},ctaBand:{heading1:"Past the classroom —",heading2:"AI & Data that changes the front line.",sub:"Reach the team about the learning program here.",image:"/images/training/cta-band.jpg"}},"MEDIA_BAND",0,{slug:"media",name:"MEDIA",nameJa:"メディアプロデュース",catch:"伝わる形に、翻訳する",summary:"DATA WORLD / 編集・発信パートナー",description:"データ×AIメディア「DATA WORLD」を自ら運営する編集チームが、企業の価値を伝わる形に翻訳。取材・編集から映像・記事・Web・SNSの制作、継続発信まで一気通貫で支援します。",image:"/images/media/source-session.jpg",menuImage:"/images/media/source-session.jpg",href:"/media"},"MEDIA_BAND_EN",0,{nameJa:"Media & Content Services",catch:"Translated until it gets through",summary:"DATA WORLD / editorial & distribution partner",description:"An editorial team that runs DATA WORLD, dattala's own data-and-AI media, translates company value into film, articles, web, and social — from first interview to ongoing distribution."},"MEDIA_PAGE",0,{hero:{eyebrow:"TALENT & MEDIA",eyebrowJa:"メディアプロデュース",title1:"伝わったとき、",title2Pre:"テクノロジーは",title2Em:"動き出す",title2Post:"。",description1:"事業も、技術も、\n社会に伝わってはじめて動き出す。",description2:"データ×AIメディア「DATA WORLD」を自ら運営する編集チームが、\n企業の価値を“伝わる形”に翻訳します。",ctaPrimary:"相談してみる",ctaSecondary:"DATA WORLD / データワールドを見る",ticker:["取材","EDITORIAL","翻訳","YOUTUBE","ドキュメンタリー","記事","SHORT MOVIE","映像","SNS","BRANDING"]},media:{label:"OWNED MEDIA",heading1:"世界は、データで見ると",heading2:"もっと面白い。",lead:"DATA WORLD / データワールドは、ダッタラのメディアプロデュースの中核。AI、宇宙、都市、海洋——世界を動かす技術とデータを、Web記事とYouTubeで面白く、わかりやすく届ける知的エンターテインメントメディアです。",cardLabel:"EDITORS × ENGINEERS",cardTitle:"技術がわかる、編集部。",cardBody:"データ分析も、取材も、映像編集も、同じチームの中にある。技術の難しさの正体がわかるから、どã
1‚“な事業でも、面白く翻訳できる。",rowLabel:"DATA WORLDのコンテンツから",videoLabel:"YouTubeで公開中の番組から",videoTitle:"AIはすべてを食らいつくす? 電力とデータを巡る「次の競争」",videoDuration:"17:36",videoId:"v92vTkRaoO4",videoPoster:"/images/media/yt-ai-eats.webp",playLabel:"動画を再生する",linkSite:"DATA WORLD / データワールドを見る",linkYoutube:"YouTube @dataworldjp",covers:[{src:"/images/media/covers/ai-hungry.webp",title:"AIは賢くなるほど腹が減る?",href:"https://dataworld.one/articles/ai-hunger-power-data-context"},{src:"/images/media/covers/typhoon.webp",title:"台風情報、結局どこを見ればいい?",href:"https://dataworld.one/articles/typhoon-okinawa-forecast-data"},{src:"/images/media/covers/chatgpt.webp",title:"ChatGPT、みんな何に使ってる?",href:"https://dataworld.one/"},{src:"/images/media/covers/shigodeki.webp",title:"AIはもう“シゴデキ”なのか?",href:"https://dataworld.one/"},{src:"/images/media/covers/egypt.webp",title:"古代エジプトを支えた“細かすぎるデータベース”",href:"https://dataworld.one/"},{src:"/images/media/covers/argo.webp",title:"海の中に4,000台のロボット“Argo”",href:"https://dataworld.one/"},{src:"/images/media/covers/copernicus.webp",title:"地球を丸ごとデータ化? Copernicus",href:"https://dataworld.one/"},{src:"/images/media/covers/plateau.webp",title:"3D都市モデル「PLATEAU」の現在地",href:"https://dataworld.one/articles/plateau-3d-city-model-hands-on"},{src:"/images/media/covers/minamitorishima.webp",title:"南鳥島のレアアースがひらく可能性",href:"https://dataworld.one/"},{src:"/images/media/covers/world-models.webp",title:"ロボットはワールドモデルの夢を見るか",href:"https://dataworld.one/"},{src:"/images/media/covers/geoai.webp",title:"GIS×AIは産業用地選びを楽にできるか",href:"https://dataworld.one/"},{src:"/images/media/covers/forest.webp",title:"森の重さを宇宙から測る?",href:"https://dataworld.one/"}]},problem:{label:"ISSUE",heading:"「すごいのに、伝わらない」を、なくしたい。",sub:"技術系に限らず、多くの企業が抱えている課題です。",items:[{num:"01",tone:"blue",title:"技術やサービスの価値を、うまく説明できない",desc:"難しい内容ほど、言葉と構成の整理が必要です。",image:"/images/media/evidence-analysis.jpg",imageAlt:"オフィスでデータを分析する担当者"},{num:"02",tone:"violet",title:"採用ページだけでは、人と現場が見えない",desc:"候補者は、入社後のイメージを求めています。",image:"/images/media/issue-team.jpg",imageAlt:"オフィスで一緒に働くチームの様子"},{num:"03",tone:"pink",title:"動画やSNSまで、手が回らない",desc:"企画・制作の時間も、ノウハウも足りない。",image:"/images/media/evidence-editing.jpg",imageAlt:"映像編集を行うクリエイター"},{num:"04",tone:"orange",title:"作った資産が、単発で終わる",desc:"発信は、続けてこそ積み上がります。",image:"/images/media/editorial-interview.jpg",imageAlt:"カメラのモニター越しに撮影するオフィスの様子"}],note:"だから、翻訳から配信までを一気通貫で引き受けます。"},services:{label:"WHAT WE DO",heading:"企画・取材・制作・運用を、ひとつのチームで。",sub:"動画だけ、記事だけでも対応可能です。採用・営業・広報の目的に合わせて、必要な制作物を組み合わせます。",items:[{num:"01",tone:"blue",tag:"PLANNING & INTERVIEW",title:"企画・取材",desc:"誰に何を伝えるかを決め、事業や技術の要点を取材で引き出します。",points:["事業・サービスの整理","経営者・技術者・社員への取材","コンテンツ企画・構成"],image:"/images/media/service-planning.jpg",imageAlt:"プロ用カメラでインタビューを撮影する様子"},{num:"02",tone:"violet",tag:"CONTENT PRODUCTION",title:"動画ãƒ
1»è¨˜äº‹ãƒ»Web制作",desc:"取材・撮影素材から、用途に合わせたコンテンツを制作します。",points:["会社・事業紹介動画、インタビュー動画","記事・採用コンテンツ","LP・採用ページ・営業資料・SNS素材"],image:"/images/media/service-production.jpg",imageAlt:"スタジオで映像を制作する撮影チーム"},{num:"03",tone:"pink",tag:"PUBLISHING & OPERATION",title:"公開・運用",desc:"公開先を整え、継続発信と改善まで支援します。",points:["YouTube・SNS・オウンドメディアの設計","定期取材・継続発信","反応の確認と再編集"],image:"/images/media/service-operation.jpg",imageAlt:"分析画面を見ながら運用を話し合うチーム"}],cocreate:{label:"WITH DATA WORLD",title:"DATA WORLDでのタイアップ・共同企画",desc:"AI・データ・ものづくり・都市・宇宙などのテーマは、DATA WORLD本体での企画・取材・発信にも対応します。",points:["取材記事・解説動画","企業・自治体との共同企画","研究・技術テーマの情報発信"]}},assets:{label:"ONE SOURCE, MULTI USE",heading:"一度の取材を、複数の発信資産へ。",sub:"取材で得た言葉・写真・映像を、採用・営業・広報の目的に合わせて展開します。",source:{tag:"取材・撮影",title:"事業と人の魅力を深掘り",desc:"経営者・技術者・社員の言葉。仕事の風景、写真、映像素材。",
1image:"/images/media/source-session.jpg",imageAlt:"映像制作現場のモニターと撮影機材"},outputs:[{title:"事業・技術紹介記事",desc:"仕組みと価値を、根拠とともに整理"},{title:"インタビュー動画",desc:"人の言葉と表情から魅力を伝える"},{title:"採用専用ページ",desc:"仕事・技術・人をひとつに整理"},{title:"Short動画",desc:"本編素材を短く再編集し、SNSの接点に"},{title:"SNS投稿",desc:"要点を投稿へ展開し、継続的な認知を"},{title:"営業・説明資料",desc:"事業・実績を再構成し、提案・展示会で活用"}]},steps:{label:"PROCESS",heading:"制作の進め方",sub:"ご相談から公開まで、シンプルに進めます。",items:[{num:"1",name:"相談する",desc:"目的・対象・課題を整理します。"},{num:"2",name:"企画する",desc:"伝える内容と見せ方を設計します。"},{num:"3",name:"つくる",desc:"取材・撮影・編集までまとめて対応します。"},{num:"4",name:"届ける",desc:"公開・活用まで見据えて仕上げます。"}],note:"標準的な進行期間は4〜6週間程度。案件内容に応じて柔軟に対応します。"},cta:{heading1:"まずは、",headingEm:"“伝えたい価値”",heading2:"の話から。",sub:"会社・事業・採用・技術——目的に応じてご提案します。オンライン相談可。",chips:["事業・サービスの発信","採用・チームの発信","技術・研究の発信"],button:"お問い合わせ"}},"MEDIA_PAGE_EN",0,{hero:{eyebrow:"TALENT & MEDIA",eyebrowJa:"Media & Content Services",title1:"When it gets through,",title2Pre:"technology ",title2Em:"starts to move",title2Post:".",description1:"Business and technology alike\nbegin to move only once they get through to society.",description2:"An editorial team that runs DATA WORLD, its own data-and-AI media, translates company value into a form that carries.",ctaPrimary:"Start a conversation",ctaSecondary:"Visit DATA WORLD",ticker:["INTERVIEW","EDITORIAL","TRANSLATION","YOUTUBE","DOCUMENTARY","ARTICLES","SHORT MOVIE","FILM","SOCIAL","BRANDING"]},media:{label:"OWNED MEDIA",heading1:"Seen through data,",heading2:"the world gets more interesting.",lead:"DATA WORLD sits at the core of the media business — an intellectual-entertainment brand on data and AI. Space, cities, oceans, machines: the technologies moving the world, delivered through web articles and YouTube in a form anyone can enjoy.",cardLabel:"EDITORS × ENGINEERS",cardTitle:"An editorial team that speaks technology.",cardBody:"Data analysis, interviews, and film editing live on one team. Knowing why technology is hard is exactly what makes any business translatable — and genuinely interesting.",rowLabel:"From DATA WORLD (Japanese)",videoLabel:"Now playing on YouTube",videoTitle:"Will AI devour everything? The next race for power and data",videoDuration:"17:36",videoId:"v92vTkRaoO4",videoPoster:"/images/media/yt-ai-eats.webp",playLabel:"Play video",linkSite:"Visit dataworld.one",linkYoutube:"YouTube @dataworldjp",covers:[{src:"/images/media/covers/ai-hungry.webp",title:"AIは賢くなるほど腹が減る?",href:"https://dataworld.one/articles/ai-hunger-power-data-context"},{src:"/images/media/covers/typhoon.webp",title:"台風情報、結局どこを見ればいい?",href:"https://dataworld.one/articles/typhoon-okinawa-forecast-data"},{src:"/images/media/covers/chatgpt.webp",title:"ChatGPT、みんな何に使ってる?",href:"https://dataworld.one/"},{src:"/images/media/covers/shigodeki.webp",title:"AIはもう“シゴデキ”なのか?",href:"https://dataworld.one/"},{src:"/images/media/covers/egypt.webp",title:"古代エジプトを支えた“細かすぎるデータベース”",href:"https://dataworld.one/"},{src:"/images/media/covers/argo.webp",title:"海の中に4,000台のロボット“Argo”",href:"https://dataworld.one/"},{src:"/images/media/covers/copernicus.webp",title:"地球を丸ごとデータ化? Copernicus",href:"https://dataworld.one/"},{src:"/images/media/covers/plateau.webp",title:"3D都市モデル「PLATEAU」の現å
1œ¨åœ°",href:"https://dataworld.one/articles/plateau-3d-city-model-hands-on"},{src:"/images/media/covers/minamitorishima.webp",title:"南鳥島のレアアースがひらく可能性",href:"https://dataworld.one/"},{src:"/images/media/covers/world-models.webp",title:"ロボットはワールドモデルの夢を見るか",href:"https://dataworld.one/"},{src:"/images/media/covers/geoai.webp",title:"GIS×AIは産業用地選びを楽にできるか",href:"https://dataworld.one/"},{src:"/images/media/covers/forest.webp",title:"森の重さを宇宙から測る?",href:"https://dataworld.one/"}]},problem:{label:"ISSUE",heading:"Brilliant work, still not getting through.",sub:"A challenge shared by far more than tech companies.",items:[{num:"01",tone:"blue",title:"The value of the product never quite gets explained",desc:"The harder the subject, the more it needs structure and words.",image:"/images/media/evidence-analysis.jpg",imageAlt:"A professional analyzing data in an office"},{num:"02",tone:"violet",title:"The careers page shows the job, not the people",desc:"Candidates want to picture life after joining.",image:"/images/media/issue-team.jpg",imageAlt:"A team working together in a modern office"},{num:"03",tone:"pink",title:"Video and social never reach the top of the list",desc:"Planning and production both need hours that do not exist.",image:"/images/media/evidence-editing.jpg",imageAlt:"A creator editing video at a workstation"},{num:"04",tone:"orange",title:"Deliverables get used once, then sit in a folder",desc:"Distribution compounds only when it continues.",image:"/images/media/editorial-interview.jpg",imageAlt:"An office shoot seen through a camera monitor"}],note:"So the work runs end to end — from translation to distribution."},services:{label:"WHAT WE DO",heading:"Planning, interviews, production, and operation — one team.",sub:"A single video or article is welcome. The right mix of deliverables is built around recruiting, sales, or communications goals.",items:[{num:"01",tone:"blue",tag:"PLANNING & INTERVIEW",title:"Planning & interviews",desc:"Define the audience and message, then surface the essential details through interviews.",points:["Business and service framing","Founder, engineer, and team interviews","Content planning and structure"],image:"/images/media/service-planning.jpg",imageAlt:"A professional camera filming an interview"},{num:"02",tone:"violet",tag:"CONTENT PRODUCTION",title:"Video, articles & web",desc:"Interview and filming material becomes content matched to each use.",points:["Company films, product films, and interviews","Articles and recruiting content","Landing pages, careers pages, sales decks, and social assets"],image:"/images/media/service-production.jpg",imageAlt:"A film crew producing content in a studio"},{num:"03",tone:"pink",tag:"PUBLISHING & OPERATION",title:"Publishing & operation",desc:"Publishing channels are set up for steady output and improvement.",points:["YouTube, social, and owned-media planning","Regular interviews and publishing","Response review and re-editing"],image:"/images/media/service-operation.jpg",imageAlt:"A team reviewing analytics around a laptop"}],cocreate:{label:"WITH DATA WORLD",title:"Sponsored and collaborative projects on DATA WORLD",desc:"AI, data, manufacturing, cities, and space can also become original projects, coverage, and distribution on DATA WORLD itself.",points:["Feature articles and explainer videos","Collaborative projects with companies and municipalities","Research and technology communications"]}},assets:{label:"ONE SOURCE, MULTI USE",heading:"One interview, many assets.",sub:"Words, photos, and footage from a single session, deployed across hiring, sales, and PR.",source:{tag:"Interview & Shoot",title:"Dig into the business and its people",desc:"Founder, engineer, and team voices — plus the workplace on camera.",image:"/images/media/source-session.jpg",imageAlt:"A production monitor and camera equipment on set"},outputs:[{title:"Feature articles",desc:"Structure and value, laid out with evidence"},{title:"Interview videos",desc:"Personality carries the appeal"},{title:"Careers pages",desc:"Work, tech, and people in one place"}
1,{title:"Short-form video",desc:"Recut highlights for social reach"},{title:"Social posts",desc:"Key points, published on a rhythm"},{title:"Sales & intro decks",desc:"Rebuilt for proposals and expos"}]},steps:{label:"PROCESS",heading:"How production runs",sub:"From first conversation to launch, the path stays simple.",items:[{num:"1",name:"Talk",desc:"Sort out goals, audience, and issues."},{num:"2",name:"Plan",desc:"Design the story and the format."},{num:"3",name:"Make",desc:"Interviews, filming, and editing in one flow."},{num:"4",name:"Deliver",desc:"Finished with publication and usage in mind."}],note:"A typical engagement runs four to six weeks, flexed to the project."},cta:{heading1:"Start with the ",headingEm:"value worth telling",heading2:".",sub:"Company, business, recruiting, technology — proposals shaped to the goal. Online consultations welcome.",chips:["Business & service stories","Recruiting & team stories","Tech & research stories"],button:"Contact"}},"MISSION",0,{paragraph1:"私たちは「人とデータを繋ぎ、テクノロジーで世界をデザインする」をミッションに、最新のAI、デジタルツイン、因果推論など先端技術を駆使し、企業や社会が抱える複雑な課題に対して論理的かつ実証的な解決策を提供しています。堅実なデータ分析と緻密な戦略に基づいた意思決定支援を通じ、持続可能な成長と社会全体の革新を実現することを目指します。"},"NAV_ITEMS",0,[{label:"News",href:"/news"},{label:"Service",href:"/#services"},{label:"Founder",href:"/#founder"},{label:"About",href:"/#about"}],"PLATFORM_PAGE",0,{hero:{eyebrow:"AIプラットフォーム",title1:"データ活用を",title2:"業務に根付かせる",title3:"AIプラットフォーム",description1:"組織や分野を越えてデータをつなぎ、業務での活用を加速する。",description2:"ダッタラが提供する、データ活用プラットフォームのご紹介です。",image:"/images/service-heroes/platform.jpg",imageAlt:"AIプラットフォーム Fractale のイメージ"},ctaBand:{heading1:"データ活用を、",heading2:"業務に根付かせる。",sub:"先端技術を活用したビジネスの新たな可能性を。",image:"/images/service-ctas/platform.jpg"},main:{tag:"・PRODUCT",catch:"世界のオープンデータを、つなぐ。",name:"Fractale",nameSub:"フラクタル",description:"国内外のオープンデータを横断的に検索・活用できる、次世代データ連携基盤。観光・交通・防災・人口動態などを分野を越えて結びつけ、分析と意思決定を加速します。",metas:[{label:"カテゴリ",value:"オープンデータ"},{label:"対象",value:"自治体・研究者・開発者"},{label:"提供形態",value:"クローズドα版(招待制)"}],image:"/images/fractale-thumb.jpg",ctaLabel:"詳しく見る",ctaHref:"https://prtimes.jp/main/html/rd/p/000000005.000161362.html"},subs:{label:"関連サービス",title:"Fractale を取り巻く、ダッタラのサービス",sub:"基盤を導入して終わりにしないために。学び、共創、伴走の3層で、データ活用を組織に定着させます。",items:[{slug:"learning",name:"TALENT",nameJa:"AI人材・組織開発",catch:"使える人を、組織に増やす。",description:"体験から実践、業務適用、内製化まで段階的に育成する伴走型プログラム。",image:"/images/services/consulting.jpg",href:"/talent"},{slug:"solutions",name:"SOLUTIONS",nameJa:"AIソリューション開発",catch:"AIを実装する。",description:"機械学習・LLM・生成AIで業務プロセスの自動化と分析の高精度化を実現。実証から本番運用まで一気通貫で支援します。",image:"/images/services/ai-solutions.jpg",href:"/solutions"},{slug:"advisory",name:"ADVISORY",nameJa:"AI事業開発コンサル",catch:"AIで事業を増幅する、AI時代の事業開発コンサル。",description:"事業全体のAI再設計と、必要に応じた新規領域の立ち上げを、事業開発の現場で同時に進めるコンサルティングサービスです。",image:"/images/services/marketing.jpg",href:"/advisory"}]},banners:[],cta:{title:"資料ダウンロード / お問い合わせ",cards:[{kind:"download",title:"サービス資料ダウンロード",desc:"各サービスの詳細、ソリューション・プロダクトの全体像をご紹介。",button:"今すぐダウンロード",href:"/download"},{kind:"contact",title:"ご相談・お見積り",desc:"「Fractale を試したい」「自社課題で相談したい」など、お気軽にお問合せください。",button:"お問い合わせ",href:"/contact"}]}},"PLATFORM_PAGE_EN",0,{hero:{eyebrow:"PLATFORM",title1:"A platform that makes",title2:"data activation",title3:"take root in o
1perations.",description1:"Link data across organizations and domains to accelerate use in the field.",description2:"An introduction to the data activation platform dattala provides.",image:"/images/service-heroes/platform.jpg",imageAlt:"Fractale, dattala's AI platform"},ctaBand:{heading1:"Make data activation",heading2:"take root in operations.",sub:"Unlock new possibilities for your business with advanced technology.",image:"/images/service-ctas/platform.jpg"},main:{tag:"・PRODUCT",catch:"Connect the world's open data.",name:"Fractale",nameSub:"",description:"A next-generation data infrastructure that searches and activates open data across borders and disciplines. Tourism, transit, disaster response, population dynamics: link the silos and accelerate decisions.",metas:[{label:"Category",value:"Open data platform"},{label:"For",value:"Municipalities, researchers, developers"},{label:"Availability",value:"Closed alpha (invitation-only)"}],image:"/images/fractale-thumb.jpg",ctaLabel:"See the release",ctaHref:"https://prtimes.jp/main/html/rd/p/000000005.000161362.html"},subs:{label:"Related services",title:"The services around Fractale",sub:"Foundations need momentum. Learning, build, and advisory — three layers that make data activation stick in the organization.",items:[{slug:"learning",name:"TALENT",nameJa:"AI Talent & Organization Development",catch:"Grow the people who use it.",description:"A hands-on program that scales from first experience to operational adoption and in-house ownership.",image:"/images/services/consulting.jpg",href:"/en/talent"},{slug:"solutions",name:"SOLUTIONS",nameJa:"AI Solutions Engineering",catch:"Build AI that works in production.",description:"Machine learning, LLMs, and generative AI applied to automate workflows and sharpen analytics — from PoC to production.",image:"/images/services/ai-solutions.jpg",href:"/en/solutions"},{slug:"advisory",name:"ADVISORY",nameJa:"AI Business Development Advisory",catch:"A board-side partner that amplifies the business with AI.",description:"Redesigning the business with AI and launching new ventures where useful — driven side by side with the team that runs it.",image:"/images/services/marketing.jpg",href:"/en/advisory"}]},banners:[],cta:{title:"Materials / Inquiry",cards:[{kind:"download",title:"Download service materials",desc:"A walkthrough of dattala's services, solutions, and products.",button:"Download now",href:"/en/download"},{kind:"contact",title:"Talk to us",desc:"Want a Fractale trial, or have a specific challenge to discuss? Reach out anytime.",button:"Contact",href:"/en/contact"}]}},"SERVICES_SECTION",0,{lead:"最先端のAIとデータサイエンス、デジタル技術を駆使し、企業や組織が抱える課題を根本から解決し、新たな価値を生み出します。"},"SERVICES_SECTION_EN",0,{lead:"Advanced AI, data science, and digital technology — applied to dissolve root causes and create new value."},"SERVICE_GROUPS",0,[{key:"solve",tagJa:"解く力",tagEn:"SOLVE",nameJa:"ソリューション&プロダクト",nameEn:"Solutions & Products",members:[{slug:"solutions"},{slug:"platform"},{slug:"advisory"}]},{key:"tell",tagJa:"伝える力",tagEn:"TELL",nameJa:"タレント&メディア",nameEn:"Talent & Media",members:[{slug:"media"},{slug:"learning"}]}],"SERVICE_LAYERS",0,[{slug:"learning",name:"TALENT",nameJa:"AI人材・組織開発",catch:"学ぶ・継続する",summary:"AI人材・組織開発 / 伴走プログラム",description:"AI/データを実務で使える人材を育成する伴走型プログラム。体験から実践、業務適用、内製化まで段階的に設計し、現場での活用と継続的な成長を支援します。",image:"/images/training/cta-band.jpg",href:"/talent"},{slug:"solutions",name:"SOLUTIONS",nameJa:"AIソリューション開発",catch:"AIを実装する",summary:"AIソリューション / 業務エージェント",description:"機械学習・LLM・生成AIを核に、業務プロセスの自動化や分析の高精度化を実現するAIソリューションと業務AIエージェントを開発ã€
1‚実証から本番運用まで一気通貫で支援します。",image:"/images/service-thumbs/solutions-tight.jpg",menuImage:"/images/service-menu/solutions.jpg",href:"/solutions"},{slug:"platform",name:"PLATFORM",nameJa:"AIプラットフォーム",catch:"活用を根付かせる",summary:"AI活用基盤 / データ連携・運用",description:"社内外のデータとAIをひとつの基盤で扱い、業務に合わせた活用と継続運用を支援。データの整理・分析から改善までをつなぎ、組織に根付くAI活用環境を構築します。",image:"/images/service-thumbs/platform.jpg",menuImage:"/images/service-menu/platform.jpg",href:"/platform"}],"SERVICE_LAYERS_EN",0,{TALENT:{nameJa:"AI Talent & Organization Development",catch:"Learn and sustain",summary:"AI talent & organization development",description:"Hands-on programs that turn AI and data into operational skills. A staged design — from first exposure to embedded practice — builds in-house capability that lasts."},SOLUTIONS:{nameJa:"AI Solutions Engineering",catch:"Implement AI",summary:"AI solutions / business agents",description:"Custom AI solutions and business agents — machine learning, LLMs, and generative AI applied to automate workflows and sharpen analysis. Delivered end-to-end, from proof of concept to production."},PLATFORM:{nameJa:"AI Platforms",catch:"Make AI operational",summary:"AI operations / data foundation",description:"A unified foundation brings data and AI together for practical, sustained use. From data organization and analysis to ongoing improvement, it creates an environment teams can operate and grow."}},"SERVICE_LINEUP",0,{carouselLabel:"・SERVICE LINEUP",carouselHeading:"AIデータを、組織に根付かせる5つの方法。",carouselSub:"ダッタラは「学ぶ → 創る → 業務適用 → 事業に効かせる → 伝える」の5軸で、AI実装を組織の能力に変えていきます。",crossSellLabel:"・NEXT STEP",crossSellHeading:"学びの次は、業務適用へ。",crossSellSub:"実装・運用・事業開発まで、3層のサービスで一気通貫に支援します。",cardCurrentBadge:"現在のページ",cardCta:"詳しく見る",items:[{slug:"learning",name:"TALENT",nameJa:"AI人材・組織開発",catch:"学ぶ・継続する",summary:"AI人材・組織開発 / 伴走プログラム",description:"体験から実践、業務適用、内製化まで段階的に設計する伴走型プログラム。現場での活用と継続的な成長を支援します。",image:"/images/services-cross/training.jpg",banner:"/images/services-banners/training.jpg",href:"/talent"},{slug:"solutions",name:"SOLUTIONS",nameJa:"AIソリューション開発",catch:"AIを実装する",summary:"AIソリューション / 業務エージェント",description:"機械学習・LLM・生成AIで業務プロセスの自動化と分析の高精度化を実現。実証から本番運用まで一気通貫で支援します。",image:"/images/services-cross/develop.jpg",banner:"/images/services-banners/develop.jpg",href:"/solutions"},{slug:"platform",name:"PLATFORM",nameJa:"AIプラットフォーム",catch:"活用を根付かせる",summary:"AI活用基盤 / データ連携・運用",description:"社内外のデータとAIをひとつの基盤で扱い、業務に合わせた活用と継続運用を支援。データの整理・分析から改善までをつなぎ、組織に根付くAI活用環境を構築します。",image:"/images/services-cross/platform.jpg",banner:"/images/services-banners/platform.jpg",href:"/platform"},{slug:"advisory",name:"ADVISORY",nameJa:"AI事業開発コンサル",catch:"AIで事業を増幅する",summary:"AI時代の事業開発コンサル",description:"AIで事業を増幅するAI時代の事業開発コンサル。事業全体のAI再設計と、必要に応じた新規領域の立ち上げを、事業開発の現場で同時に進めます。",image:"/images/services-cross/advisory.jpg",banner:"/images/services-banners/advisory.jpg",href:"/advisory"},{slug:"media",name:"MEDIA",nameJa:"メディアプロデュース",catch:"伝わる形に、翻訳する",summary:"DATA WORLD / 編集・発信パートナー",description:"データ×AIメディア「DATA WORLD」を自ら運営する編集チームが、企業の価値を伝わる形に翻訳。取材・編集から制作・継続発信まで一気通貫で支援します。",image:"/images/media/source-session.jpg",banner:"/images/services-banners/media.jpg",href:"/media"}]}
1,"SERVICE_LINEUP_EN",0,{carouselLabel:"・SERVICE LINEUP",carouselHeading:"Five ways to embed AI and data into your organization.",carouselSub:"Learn, build, embed, advise, and communicate — five axes that turn AI implementation into lasting organizational capability.",crossSellLabel:"・NEXT STEP",crossSellHeading:"After learning, take it into production.",crossSellSub:"From implementation and operations to executive advisory — three layers that support the whole journey.",cardCurrentBadge:"Current page",cardCta:"Learn more",items:[{slug:"learning",name:"TALENT",nameJa:"AI Talent & Organization Development",catch:"Learn and sustain",summary:"AI talent & organization development",description:"Hands-on programs that move from first exposure to embedded practice, building in-house capability that lasts.",image:"/images/services-cross/training.jpg",banner:"/images/services-banners/training.jpg",href:"/en/talent"},{slug:"solutions",name:"SOLUTIONS",nameJa:"AI Solutions Engineering",catch:"Implement AI",summary:"AI solutions / business agents",description:"Custom AI solutions and business agents — machine learning, LLMs, and generative AI delivered end-to-end, from proof of concept to production.",image:"/images/services-cross/develop.jpg",banner:"/images/services-banners/develop.jpg",href:"/en/solutions"},{slug:"platform",name:"PLATFORM",nameJa:"AI Platforms",catch:"Make AI operational",summary:"AI operations / data foundation",description:"A unified foundation brings data and AI together for practical, sustained use — from data organization and analysis to ongoing improvement.",image:"/images/services-cross/platform.jpg",banner:"/images/services-banners/platform.jpg",href:"/en/platform"},{slug:"advisory",name:"ADVISORY",nameJa:"AI Business Development Advisory",catch:"Runs alongside the business",summary:"AI business development / business partnership",description:"A board-side partner that amplifies the business with AI — redesigning the business as a whole and launching new ventures where useful, beside the team that runs it.",image:"/images/services-cross/advisory.jpg",banner:"/images/services-banners/advisory.jpg",href:"/en/advisory"},{slug:"media",name:"MEDIA",nameJa:"Media & Content Services",catch:"Translated until it gets through",summary:"DATA WORLD / editorial & distribution partner",description:"An editorial team that runs the DATA WORLD media brand translates company value into film, articles, web, and social — from first interview to ongoing distribution.",image:"/images/media/source-session.jpg",banner:"/images/services-banners/media.jpg",href:"/en/media"}]},"SITE",0,{name:"ダッタラ株式会社",nameEn:"dattala Co., Ltd.",url:"https://dattala.co.jp",email:"[email protected]",address:{offices:[{label:"広島本社",labelEn:"Hiroshima Head Office",zip:"〒730-0053",zipEn:"730-0053",street:"東千田町1丁目1番61号 hitoto広島ナレッジスクエア1F",city:"広島市",region:"広島県",full:"広島市中区東千田町1丁目1番61号 hitoto広島ナレッジスクエア1F",footerAddressLines:["広島市中区東千田町1丁目1番61号","hitoto広島ナレッジスクエア1F"],streetEn:"1-1-61 Higashisenda-cho, Naka-ku, hitoto Hiroshima Knowledge Square 1F",cityEn:"Hiroshima",regionEn:"Hiroshima",fullEn:"1-1-61 Higashisenda-cho, Naka-ku, Hiroshima 730-0053, Japan, hitoto Hiroshima Knowledge Square 1F",footerAddressLinesEn:["1-1-61 Higashisenda-cho, Naka-ku, Hiroshima","hitoto Hiroshima Knowledge Square 1F"]},{label:"大阪支社",labelEn:"Osaka Branch",zip:"〒530-0017",zipEn:"530-0017",street:"角田町8番47号 阪急グランドビル26階 FUTRWORKS",city:"大阪市北区",region:"大阪府",full:"大阪府大阪市北区角田町8番47号 阪急グランドビル26階 FUTRWORKS",footerAddressLines:["大阪府大阪市北区角田町8番47号","阪急グランドビル26階 FUTRWORKS"],streetEn:"8-47 Kakuda-cho, Kita-ku, Hankyu Grand Building 26F FUTRWORKS",cityEn:"Osaka",regionEn:"Osaka",fullEn:"8-47 Kakuda-cho, Kita-ku, Osaka 530-0017, Japan, Hankyu Grand Building 26F FUTRWORKS",footerAddressLinesEn:["8-47 Kakuda-cho, Kita-ku, Osaka","Hankyu Grand Building 26F FUTRWORKS"]}]},youtube:"https://www.youtube.com/watch?v=R0uQV2suepA"},"SOLUTIONS_PAGE",0,t,"SOLUTIONS_PAGE_EN",0,i,"VALUE_DATA",0,{items:[{label:"VALUE",number:"01",title:"最先端のテクノロジー",description:"最新のAI、データ解析、そしてデジタル技術を活用し、ビジネスの可能性を最大化。業務の効率化だけでなく、競争力の向上と新たな価値創出をサポートします。"},{label:"VALUE",number:"02",title:"トータルサポート力",description:"初期計画から導入、運用までの全過程を一貫してサポート。プロジェクトの成功に向けて、お客様の課題に応じた最適な提案とサポートを提供します。"},{label:"VALUE",number:"03",title:"幅広い経験に基づく知見",description:"多様な業界での豊富なプロジェクト経験を通じて培った知見を駆使し、最も効果的な解決策を提供。業界の特性に合わせた実践的なアプローチで成果を導きます。"},{label:"VALUE",number:"04",title:"運用サポート",description:"導入後も安定した運用を実現するために継続的なサポートを提供。システムの最適化やトラブル対応を通じて、持続的なパフォーマンスと安心をお届けします。"}],verticalText1:"最先端データ×デジタル技術の",verticalText2:"社会実装を導きます。"}])},27725,24032,93858,19496,31388,9138,69844,33795,29289,27684,36585,11920,26809,82466,70919,26490,94907,67682,69379,90692,57307,96457,19058,87120,68741,96402,31772,28301,60926,81142,5110,90932,27139,57798,21692,2915,91363,86843,16919,21280,20460,34907,61560,96819,88599,19563,48971,4445,70820,39068,35629,45744,42917,64646,61417,56731,79514,6637,e=>{"use strict";let t,i,n=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],s=new Set(n);e.s(["transformPropOrder",0,n,"transformProps",0,s],24032);let a=(e,t,i)=>i>t?t:i<e?e:i;e.s(["clamp",0,a],93858);let r={test:e=>"number"==typeof e,parse:parseFloat,transform:e=>e},o={...r,transform:e=>a(0,1,e)},l={...r,default:1},u=e=>Math.round(1e5*e)/1e5,d=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,h=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,c=(e,t)=>i=>!!("string"==typeof i&&h.test(i)&&i.startsWith(e)||t&&null!=i&&Object.prototype.hasOwnProperty.call(i,t)),m=(e,t,i)=>n=>{if("string"!=typeof n)return n;let[s,a,r,o]=n.match(d);return{[e]:parseFloat(s),[t]:parseFloat(a),[i]:parseFloat(r),alpha:void 0!==o?parseFloat(o):1}},p={...r,transform:e=>Math.round(a(0,255,e))},g={test:c("rgb","red"),parse:m("red","green","blue"),transform:({red:e,green:t,blue:i,alpha:n=1})=>"rgba("+p.transform(e)+", "+p.transform(t)+", "+p.transform(i)+", "+u(o.transform(n))+")"};e.s(["rgba",0,g],19496);let f={test:c("#"),parse:function(e){let t="",i="",n="",s="";return e.length>5?(t=e.substring(1,3),i=e.substring(3,5),n=e.substring(5,7),s=e.substring(7,9)):(t=e.substring(1,2),i=e.substring(2,3),n=e.substring(3,4),s=e.substring(4,5),t+=t,i+=i,n+=n,s+=s),{red:parseInt(t,16),green:parseInt(i,16),blue:parseInt(n,16),alph
1a:s?parseInt(s,16)/255:1}},transform:g.transform};e.s(["hex",0,f],31388);let v=e=>({test:t=>"string"==typeof t&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>`${t}${e}`}),y=v("deg"),b=v("%"),A=v("px"),w=v("vh"),T=v("vw"),x={...b,parse:e=>b.parse(e)/100,transform:e=>b.transform(100*e)};e.s(["degrees",0,y,"percent",0,b,"progressPercentage",0,x,"px",0,A,"vh",0,w,"vw",0,T],9138);let S={test:c("hsl","hue"),parse:m("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:i,alpha:n=1})=>"hsla("+Math.round(e)+", "+b.transform(u(t))+", "+b.transform(u(i))+", "+u(o.transform(n))+")"};e.s(["hsla",0,S],69844);let I={test:e=>g.test(e)||f.test(e)||S.test(e),parse:e=>g.test(e)?g.parse(e):S.test(e)?S.parse(e):f.parse(e),transform:e=>"string"==typeof e?e:e.hasOwnProperty("red")?g.transform(e):S.transform(e),getAnimatableNone:e=>{let t=I.parse(e);return t.alpha=0,I.transform(t)}};e.s(["color",0,I],33795);let E=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,P="number",D="color",R=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function k(e){let t=e.toString(),i=[],n={color:[],number:[],var:[]},s=[],a=0,r=t.replace(R,e=>(I.test(e)?(n.color.push(a),s.push(D),i.push(I.parse(e))):e.startsWith("var(")?(n.var.push(a),s.push("var"),i.push(e)):(n.number.push(a),s.push(P),i.push(parseFloat(e))),++a,"${}")).split("${}");return{values:i,split:r,indexes:n,types:s}}function L({split:e,types:t}){let i=e.length;return n=>{let s="";for(let a=0;a<i;a++)if(s+=e[a],void 0!==n[a]){let e=t[a];e===P?s+=u(n[a]):e===D?s+=I.transform(n[a]):s+=n[a]}return s}}let M={test:function(e){return isNaN(e)&&"string"==typeof e&&(e.match(d)?.length||0)+(e.match(E)?.length||0)>0},parse:function(e){return k(e).values},createTransformer:function(e){return L(k(e))},getAnimatableNone:function(e){let t=k(e);return L(t)(t.values.map((e,i)=>((e,t)=>"number"==typeof e?t?.trim().endsWith("/")?e:0:"number"==typeof e?0:I.test(e)?I.getAnimatableNone(e):e)(e,t.split[i])))}};e.s(["analyseComplexValue",0,k,"complex",0,M],29289);let C=new Set(["brightness","contrast","saturate","opacity"]);function V(e){let[t,i]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;let[n]=i.match(d)||[];if(!n)return e;let s=i.replace(n,""),a=+!!C.has(t);return n!==i&&(a*=100),t+"("+a+s+")"}let j=/\b([a-z-]*)\(.*?\)/gu,O={...M,getAnimatableNone:e=>{let t=e.match(j);return t?t.map(V).join(" "):e}},B={...M,getAnimatableNone:e=>{let t=M.parse(e);return M.createTransformer(e)(t.map(e=>"number"==typeof e?0:"object"==typeof e?{...e,alpha:1}:e))}},F={...r,transform:Math.round},N={borderWidth:A,borderTopWidth:A,borderRightWidth:A,borderBottomWidth:A,borderLeftWidth:A,borderRadius:A,borderTopLeftRadius:A,borderTopRightRadius:A,borderBottomRightRadius:A,borderBottomLeftRadius:A,width:A,maxWidth:A,height:A,maxHeight:A,top:A,right:A,bottom:A,left:A,inset:A,insetBlock:A,insetBlockStart:A,insetBlockEnd:A,insetInline:A,insetInlineStart:A,insetInlineEnd:A,padding:A,paddingTop:A,paddingRight:A,paddingBottom:A,paddingLeft:A,paddingBlock:A,paddingBlockStart:A,paddingBlockEnd:A,paddingInline:A,paddingInlineStart:A,paddingInlineEnd:A,margin:A,marginTop:A,marginRight:A,marginBottom:A,marginLeft:A,marginBlock:A,marginBlockStart:A,marginBlockEnd:A,marginInline:A,marginInlineStart:A,marginInlineEnd:A,fontSize:A,backgroundPositionX:A,backgroundPositionY:A,rotate:y,rotateX:y,rotateY:y,rotateZ:y,scale:l,scaleX:l,scaleY:l,scaleZ:l,skew:y,skewX:y,skewY:y,distance:A,translateX:A,translateY:A,translateZ:A,x:A,y:A,z:A,perspective:A,transformPerspective:A,opacity:o,originX:x,originY:x,originZ:A,zIndex:F,fillOpacity:o,strokeOpacity:o,numOctaves:F},G={...N,color:I,backgroundColor:I,outlineColor:I,fill:I,stroke:I,borderColor:I,borderTopColor:I,borderRightColor:I,borderBottomColor:I,borderLeftColor:I,filter:O,WebkitFilter:O,mask:B,WebkitMask:B},U=e=>G[e],W=()=>({translate:0,scale:1,origin:0,originPoint:0}),H=()=>({min:0,max:0}),z=()=>({x:H(),y:H()});e.s(["createBox",0,z,"createDelta",0,()=>({x:W(),y:W()})],27684);let q=e=>!!(e&&e.getVelocity);e.s(["isMotionValue",0,q],36585);let Y=new Set(["width","height","top","left","right","bottom",...n]);e.s(["positionalKeys",0,Y],11920);let K=e=>t=>t.test(e),$=[r,A,b,y,T,w,{test:e=>"auto"===e,parse:e=>e}],_=e=>$.find(K(e));var X=e.i(80277);let J=()=>{};X.default,e.s(["invariant",0,J,"warning",0,()=>{}],26809);let Z=e=>t=>"string"==typeof t&&t.startsWith(e),Q=Z("--"),ee=Z("var(--"),et=e=>!!ee(e)&&ei.test(e.split("/*")[0].trim()),ei=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function en(e){return"string"==typeof e&&e.split("/*")[0].includes("var(--")}e.s(["containsCSSVariable",0,en,"isCSSVariableName",0,Q,"isCSSVariableToken",0,et],82466);let es=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,ea=e=>180*e/Math.PI,er=e=>el(ea(Math.atan2(e[1],e[0]))),eo={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:er,rotateZ:er,skewX:e=>ea(Math.atan(e[1])),skewY:e=>ea(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},el=e=>((e%=360)<0&&(e+=360),e),eu=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),ed=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),eh={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:eu,scaleY:ed,scale:e=>(eu(e)+ed(e))/2,rotateX:e=>el(ea(Math.atan2(e[6],e[5]))),rotateY:e=>el(ea(Math.atan2(-e[2],e[0]))),rotateZ:er,rotate:er,skewX:e=>ea(Math.atan(e[4])),skewY:e=>ea(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ec(e){return+!!e.includes("scale")}function em(e,t){let i,n;if(!e||"none"===e)return ec(t);let s=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(s)i=eh,n=s;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=eo,n=t}if(!n)return ec(t);let a=i[t],r=n[1].split(",").map(ep);return"function"==typeof a?a(r):r[a]}function ep(e){return parseFloat(e.trim())}let eg=e=>e===r||e===A,ef=new Set(["x","y","z"]),ev=n.filter(e=>!ef.has(e)),ey={width:({x:e},{paddingLeft:t="0",paddingRight:i="0",boxSizing:n})=>{let s=e.max-e.min;return"border-box"===n?s:s-parseFloat(t)-parseFloat(i)},height:({y:e},{paddingTop:t="0",paddingBottom:i="0",boxSizing:n})=>{let s=e.max-e.min;return"border-box"===n?s:s-parseFloat(t)-parseFloat(i)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>em(t,"x"),y:(e,{transform:t})=>em(t,"y")};ey.translateX=ey.x,ey.translateY=ey.y;let eb=e=>e;e.s(["noop",0,eb],70919);let eA={};e.s(["MotionGlobalConfig",0,eA],26490);let ew=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"],eT={value:null,addProjectionMetrics:null};function ex(e,t){let i=!1,n=!0,s={delta:0,timestamp:0,isProcessing:!1},a=()=>i=!0,r=ew.reduce((e,i)=>(e[i]=function(e,t){let i=new Set,n=new Set,s=!1,a=!1,r=new WeakSet,o={delta:0,timestamp:0,isProcessing:!1},l=0;
1function u(t){r.has(t)&&(d.schedule(t),e()),l++,t(o)}let d={schedule:(e,t=!1,a=!1)=>{let o=a&&s?i:n;return t&&r.add(e),o.add(e),e},cancel:e=>{n.delete(e),r.delete(e)},process:e=>{if(o=e,s){a=!0;return}s=!0;let r=i;i=n,n=r,i.forEach(u),t&&eT.value&&eT.value.frameloop[t].push(l),l=0,i.clear(),s=!1,a&&(a=!1,d.process(e))}};return d}(a,t?i:void 0),e),{}),{setup:o,read:l,resolveKeyframes:u,preUpdate:d,update:h,preRender:c,render:m,postRender:p}=r,g=()=>{let a=eA.useManualTiming,r=a?s.timestamp:performance.now();i=!1,a||(s.delta=n?1e3/60:Math.max(Math.min(r-s.timestamp,40),1)),s.timestamp=r,s.isProcessing=!0,o.process(s),l.process(s),u.process(s),d.process(s),h.process(s),c.process(s),m.process(s),p.process(s),s.isProcessing=!1,i&&t&&(n=!1,e(g))};return{schedule:ew.reduce((t,a)=>{let o=r[a];return t[a]=(t,a=!1,r=!1)=>(!i&&(i=!0,n=!0,s.isProcessing||e(g)),o.schedule(t,a,r)),t},{}),cancel:e=>{for(let t=0;t<ew.length;t++)r[ew[t]].cancel(e)},state:s,steps:r}}e.s(["statsBuffer",0,eT],94907);let{schedule:eS,cancel:eI,state:eE,steps:eP}=ex("u">typeof requestAnimationFrame?requestAnimationFrame:eb,!0);e.s(["cancelFrame",0,eI,"frame",0,eS,"frameData",0,eE,"frameSteps",0,eP],67682);let eD=new Set,eR=!1,ek=!1,eL=!1;function eM(){if(ek){let e=Array.from(eD).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),i=new Map;t.forEach(e=>{let t,n=(t=[],ev.forEach(i=>{let n=e.getValue(i);void 0!==n&&(t.push([i,n.get()]),n.set(+!!i.startsWith("scale")))}),t);n.length&&(i.set(e,n),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=i.get(e);t&&t.forEach(([t,i])=>{e.getValue(t)?.set(i)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{void 0!==e.suspendedScrollY&&window.scrollTo(0,e.suspendedScrollY)})}ek=!1,eR=!1,eD.forEach(e=>e.complete(eL)),eD.clear()}function eC(){eD.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(ek=!0)})}class eV{constructor(e,t,i,n,s,a=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=i,this.motionValue=n,this.element=s,this.isAsync=a}scheduleResolve(){this.state="scheduled",this.isAsync?(eD.add(this),eR||(eR=!0,eS.read(eC),eS.resolveKeyframes(eM))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:i,motionValue:n}=this;if(null===e[0]){let s=n?.get(),a=e[e.length-1];if(void 0!==s)e[0]=s;else if(i&&t){let n=i.readValue(t,a);null!=n&&(e[0]=n)}void 0===e[0]&&(e[0]=a),n&&void 0===s&&n.set(e[0])}for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),eD.delete(this)}cancel(){"scheduled"===this.state&&(eD.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}e.s(["KeyframeResolver",0,eV,"flushKeyframeResolvers",0,function(){eL=!0,eC(),eM(),eL=!1}],69379);let ej=new Set([O,B]);function eO(e,t){let i=U(e);return ej.has(i)||(i=M),i.getAnimatableNone?i.getAnimatableNone(t):void 0}let eB=new Set(["auto","none","0"]);class eF extends eV{constructor(e,t,i,n,s){super(e,t,i,n,s,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:i}=this;if(!t||!t.current)return;super.readKeyframes();for(let i=0;i<e.length;i++){let n=e[i];if("string"==typeof n&&et(n=n.trim())){let s=function e(t,i,n=1){J(n<=4,`Max CSS variable fallback depth detected in property "${t}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[s,a]=function(e){let t=es.exec(e);if(!t)return[,];let[,i,n,s]=t;return[`--${i??n}`,s]}(t);if(!s)return;let r=window.getComputedStyle(i).getPropertyValue(s);if(r){let e=r.trim();return/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e)?parseFloat(e):e}return et(a)?e(a,i,n+1):a}(n,t.current);void 0!==s&&(e[i]=s),i===e.length-1&&(this.finalKeyframe=n)}}if(this.resolveNoneKeyframes(),!Y.has(i)||2!==e.length)return;let[n,s]=e,a=_(n),r=_(s);if(en(n)!==en(s)&&ey[i]){this.needsMeasurement=!0;return}if(a!==r)if(eg(a)&&eg(r))for(let t=0;t<e.length;t++){let i=e[t];"string"==typeof i&&(e[t]=parseFloat(i))}else ey[i]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,i=[];for(let t=0;t<e.length;t++)(null===e[t]||function(e){if("number"==typeof e)return 0===e;if(null===e)return!0;return"none"===e||"0"===e||/^0[^.\s]+$/u.test(e)}(e[t]))&&i.push(t);i.length&&function(e,t,i){let n,s=0;for(;s<e.length&&!n;){let t=e[s];"string"==typeof t&&!eB.has(t)&&k(t).values.length&&(n=e[s]),s++}if(n&&i)for(let s of t)e[s]=eO(i,n)}(e,i,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:i}=this;if(!e||!e.current)return;"height"===i&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=ey[i](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let n=t[t.length-1];void 0!==n&&e.getValue(i,n).jump(n,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:i}=this;if(!e||!e.current)return;let n=e.getValue(t);n&&n.jump(this.measuredOrigin,!1);let s=i.length-1,a=i[s];i[s]=ey[t](e.measureViewportBox(),window.getComputedStyle(e.current)),null!==a&&void 0===this.finalKeyframe&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEac
1h(([t,i])=>{e.getValue(t).set(i)}),this.resolveNoneKeyframes()}}let eN=e=>1e3*e,eG=e=>e/1e3;function eU(e,t){-1===e.indexOf(t)&&e.push(t)}function eW(e,t){let i=e.indexOf(t);i>-1&&e.splice(i,1)}e.s(["millisecondsToSeconds",0,eG,"secondsToMilliseconds",0,eN],90692),e.s(["addUniqueItem",0,eU,"removeItem",0,eW],57307);class eH{constructor(){this.subscriptions=[]}add(e){return eU(this.subscriptions,e),()=>eW(this.subscriptions,e)}notify(e,t,i){let n=this.subscriptions.length;if(n)if(1===n)this.subscriptions[0](e,t,i);else for(let s=0;s<n;s++){let n=this.subscriptions[s];n&&n(e,t,i)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function ez(e,t,i){t.startsWith("--")?e.style.setProperty(t,i):e.style[t]=i}function eq(e){let t;return()=>(void 0===t&&(t=e()),t)}e.s(["SubscriptionManager",0,eH],96457),e.s(["setStyle",0,ez],19058),e.s(["memo",0,eq],87120);let eY={};function eK(e,t){let i=eq(e);return()=>eY[t]??i()}let e$=eK(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),e_=e=>null!==e;function eX(e,{repeat:t,repeatType:i="loop"},n,s=1){let a=e.filter(e_),r=s<0||t&&"loop"!==i&&t%2==1?0:a.length-1;return r&&void 0!==n?n:a[r]}e.s(["getFinalKeyframe",0,eX],68741);class eJ{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}}e.s(["WithPromise",0,eJ],96402);let eZ={layout:0,mainThread:0,waapi:0};e.s(["activeAnimations",0,eZ],31772);let eQ=e=>Array.isArray(e)&&"number"==typeof e[0];e.s(["isBezierDefinition",0,eQ],28301);let e0=eK(()=>{try{document.createElement("div").animate({opacity:0}
1,{easing:"linear(0, 1)"})}catch(e){return!1}return!0},"linearEasing"),e1=(e,t,i=10)=>{let n="",s=Math.max(Math.round(t/i),2);for(let t=0;t<s;t++)n+=Math.round(1e4*e(t/(s-1)))/1e4+", ";return`linear(${n.substring(0,n.length-2)})`};e.s(["generateLinearEasing",0,e1],60926);let e2=([e,t,i,n])=>`cubic-bezier(${e}, ${t}, ${i}, ${n})`,e3={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:e2([0,.65,.55,1]),circOut:e2([.55,0,1,.45]),backIn:e2([.31,.01,.66,-.59]),backOut:e2([.33,1.53,.69,.99])};function e6(e){return"function"==typeof e&&"applyToOptions"in e}e.s(["isGenerator",0,e6],81142);class e9 extends eJ{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;const{element:t,name:i,keyframes:n,pseudoElement:s,allowFlatten:a=!1,finalKeyframe:r,onComplete:o}=e;this.isPseudoElement=!!s,this.allowFlatten=a,this.options=e,J("string"!=typeof e.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:e,...t}){return e6(e)&&e0()?e.applyToOptions(t):(t.duration??(t.duration=300),t.ease??(t.ease="easeOut"),t)}(e);this.animation=function(e,t,i,{delay:n=0,duration:s=300,repeat:a=0,repeatType:r="loop",ease:o="easeOut",times:l}={},u){let d={[t]:i};l&&(d.offset=l);let h=function e(t,i){if(t)return"function"==typeof t?e0()?e1(t,i):"ease-out":eQ(t)?e2(t):Array.isArray(t)?t.map(t=>e(t,i)||e3.easeOut):e3[t]}(o,s);Array.isArray(h)&&(d.easing=h),eT.value&&eZ.waapi++;let c={delay:n,duration:s,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:a+1,direction:"reverse"===r?"alternate":"normal"};u&&(c.pseudoElement=u);let m=e.animate(d,c);return eT.value&&m.finished.finally(()=>{eZ.waapi--}),m}(t,i,n,l,s),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){let e=eX(n,this.options,r,this.speed);this.updateMotionValue&&this.updateMotionValue(e),ez(t,i,e),this.animation.cancel()}o?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(e){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;"idle"!==e&&"finished"!==e&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){return eG(Number(this.animation.effect?.getComputedTiming?.().duration||0))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+eG(e)}get time(){return eG(Number(this.animation.currentTime)||0)}set time(e){let t=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=eN(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:i,observe:n}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,e&&e$())?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),i&&(this.animation.rangeEnd=i),eb):n(this)}}e.s(["NativeAnimation",0,e9],5110);let e5=new Set(["opacity","clipPath","filter","transform"]);e.s(["acceleratedValues",0,e5],90932);let{schedule:e4}=ex(queueMicrotask,!1);function e7(){i=void 0}e.s(["microtask",0,e4],27139);let e8={now:()=>(void 0===i&&e8.set(eE.isProcessing||eA.useManualTiming?eE.timestamp:performance.now()),i),set:e=>{i=e,queueMicrotask(e7)}};function te(e,t){return t?1e3/t*e:0}e.s(["time",0,e8],57798),e.s(["velocityPerSecond",0,te],21692);class tt{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=e8.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=e8.now(),null===this.canTrackVelocity&&void 0!==e&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new eH);let i=this.events[e].add(t);return"change"===e?()=>{i(),eS.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,i){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-i}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||(this.dependents=new Set),this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return t&&t.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=e8.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||e-this.updatedAt>30)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,30);return te(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ti(e,t){return new tt(e,t)}e.s(["motionValue",0,ti],2915);let tn=[...$,I,M],ts=new WeakMap;function ta(e){return null!==e&&"object"==typeof e&&"function"==typeof e.start}function tr(e){return"string"==typeof e||Array.isArray(e)}e.s(["isAnimationControls",0,ta],91363),e.s(["isVariantLabel",0,tr],86843);let to=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],tl=["initial",...to];function tu(e){return ta(e.animate)||tl.some(t=>tr(e[t]))}function td(e){return!!(tu(e)||e.variants)}e.s(["variantPriorityOrder",0,to,"variantProps",0,tl],16919),e.s(["isControllingVariants",0,tu,"isVariantNode",0,td],21280);let th={current:null},tc={current:!1};e.s(["hasReducedMotionListener",0,tc,"prefersReducedMotion",0,th],20460);let tm="u">typeof window;function tp(){if(tc.current=!0,tm)if(window.matchMedia){let e=window.matchMedia("(prefers-reduced-motion)"),t=()=>th.current=e.matches;e.addEventListener("change",t),t()}else th.current=!1}function tg(e){let t=[{},{}];
1return e?.values.forEach((e,i)=>{t[0][i]=e.get(),t[1][i]=e.getVelocity()}),t}function tf(e,t,i,n){if("function"==typeof t){let[s,a]=tg(n);t=t(void 0!==i?i:e.custom,s,a)}if("string"==typeof t&&(t=e.variants&&e.variants[t]),"function"==typeof t){let[s,a]=tg(n);t=t(void 0!==i?i:e.custom,s,a)}return t}e.s(["initPrefersReducedMotion",0,tp],34907),e.s(["resolveVariantFromProps",0,tf],61560);let tv=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],ty={};class tb{scrapeMotionValuesFromProps(e,t,i){return{}}constructor({parent:e,props:t,presenceContext:i,reducedMotionConfig:n,skipAnimations:s,blockInitialAnimation:a,visualState:r},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=eV,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=e8.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,eS.render(this.render,!1,!0))};const{latestValues:l,renderState:u}=r;this.latestValues=l,this.baseTarget={...l},this.initialValues=t.initial?{...l}:{},this.renderState=u,this.parent=e,this.props=t,this.presenceContext=i,this.depth=e?e.depth+1:0,this.reducedMotionConfig=n,this.skipAnimationsConfig=s,this.options=o,this.blockInitialAnimation=!!a,this.isControllingVariants=tu(t),this.isVariantNode=td(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:d,...h}=this.scrapeMotionValuesFromProps(t,{},this);for(const e in h){const t=h[e];void 0!==l[e]&&q(t)&&t.set(l[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,ts.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(tc.current||tp(),this.shouldReduceMotion=th.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let e in this.projection&&this.projection.unmount(),eI(this.notifyUpdate),eI(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){let i;if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&e5.has(e)&&this.current instanceof HTMLElement){let{factory:i,keyframes:n,times:s,ease:a,duration:r}=t.accelerate,o=new e9({element:this.current,name:e,keyframes:n,times:s,ease:a,duration:eN(r)}),l=i(o);this.valueSubscriptions.set(e,()=>{l(),o.cancel()});return}let n=s.has(e);n&&this.onBindTransform&&this.onBindTransform();let a=t.on("change",t=>{this.latestValues[e]=t,this.props.onUpdate&&eS.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{a(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}updateFeatures(){let e="animation";for(e in ty){let t=ty[e];if(!t)continue;let{isEnabled:i,Feature:n}=t;if(!this.features[e]&&n&&i(this.props)&&(this.features[e]=new n(this)),this.features[e]){let t=this.features[e];
1t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):z()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<tv.length;t++){let i=tv[t];this.propEventSubscriptions[i]&&(this.propEventSubscriptions[i](),delete this.propEventSubscriptions[i]);let n=e["on"+i];n&&(this.propEventSubscriptions[i]=this.on(i,n))}this.prevMotionValues=function(e,t,i){for(let n in t){let s=t[n],a=i[n];if(q(s))e.addValue(n,s);else if(q(a))e.addValue(n,ti(s,{owner:e}));else if(a!==s)if(e.hasValue(n)){let t=e.getValue(n);!0===t.liveStyle?t.jump(s):t.hasAnimated||t.set(s)}else{let t=e.getStaticValue(n);e.addValue(n,ti(void 0!==t?t:s,{owner:e}))}}for(let n in i)void 0===t[n]&&e.removeValue(n);return t}(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let i=this.values.get(e);t!==i&&(i&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let i=this.values.get(e);return void 0===i&&void 0!==t&&(i=ti(null===t?void 0:t,{owner:this}),this.addValue(e,i)),i}readValue(e,t){let i=void 0===this.latestValues[e]&&this.current?this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options):this.latestValues[e];if(null!=i){let n,s;if("string"==typeof i&&(n=i,/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n)||(s=i,/^0[^.\s]+$/u.test(s))))i=parseFloat(i);else{let n;n=i,!tn.find(K(n))&&M.test(t)&&(i=eO(e,t))}this.setBaseTarget(e,q(i)?i.get():i)}return q(i)?i.get():i}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let t,{initial:i}=this.props;if("string"==typeof i||"object"==typeof i){let n=tf(this.props,i,this.presenceContext?.custom);n&&(t=n[e])}if(i&&void 0!==t)return t;let n=this.getBaseTargetFromProps(this.props,e);return void 0===n||q(n)?void 0!==this.initialValues[e]&&void 0===t?void 0:this.baseTarget[e]:n}on(e,t){return this.events[e]||(this.events[e]=new eH),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){e4.render(this.render)}}e.s(["VisualElement",0,tb,"getFeatureDefinitions",0,function(){return ty},"setFeatureDefinitions",0,function(e){ty=e}],96819);class tA extends tb{constructor(){super(...arguments),this.KeyframeResolver=eF}sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){let i=e.style;return i?i[t]:void 0}removeValueFromRenderState(e,{vars:t,style:i}){delete t[e],delete i[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;q(e)&&(this.childSubscription=e.on("change",e=>{this.current&&(this.current.textContent=`${e}`)}))}}function tw(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}e.s(["camelToDash",0,tw],88599);let tT=(e,t)=>t&&"number"==typeof e?t.transform(e):e,tx={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},tS=n.length;function tI(e,t,i){let{style:a,vars:r,transformOrigin:o}=e,l=!1,u=!1;for(let e in t){let i=t[e];if(s.has(e)){l=!0;continue}if(Q(e)){r[e]=i;continue}{let t=tT(i,N[e]);e.startsWith("origin")?(u=!0,o[e]=t):a[e]=t}}if(!t.transform&&(l||i?a.transform=function(e,t,i){let s="",a=!0;for(let r=0;r<tS;r++){let o=n[r],l=e[o];if(void 0===l)continue;let u=!0;
1if("number"==typeof l)u=l===+!!o.startsWith("scale");else{let e=parseFloat(l);u=o.startsWith("scale")?1===e:0===e}if(!u||i){let e=tT(l,N[o]);if(!u){a=!1;let t=tx[o]||o;s+=`${t}(${e}) `}i&&(t[o]=e)}}return s=s.trim(),i?s=i(t,a?"":s):a&&(s="none"),s}(t,e.transform,i):a.transform&&(a.transform="none")),u){let{originX:e="50%",originY:t="50%",originZ:i=0}=o;a.transformOrigin=`${e} ${t} ${i}`}}e.s(["buildHTMLStyles",0,tI],19563);let tE={offset:"stroke-dashoffset",array:"stroke-dasharray"},tP={offset:"strokeDashoffset",array:"strokeDasharray"},tD=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function tR(e,{attrX:t,attrY:i,attrScale:n,pathLength:s,pathSpacing:a=1,pathOffset:r=0,...o},l,u,d){if(tI(e,o,u),l){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:h,style:c}=e;for(let e of(h.transform&&(c.transform=h.transform,delete h.transform),(c.transform||h.transformOrigin)&&(c.transformOrigin=h.transformOrigin??"50% 50%",delete h.transformOrigin),c.transform&&(c.transformBox=d?.transformBox??"fill-box",delete h.transformBox),tD))void 0!==h[e]&&(c[e]=
1h[e],delete h[e]);void 0!==t&&(h.x=t),void 0!==i&&(h.y=i),void 0!==n&&(h.scale=n),void 0!==s&&function(e,t,i=1,n=0,s=!0){e.pathLength=1;let a=s?tE:tP;e[a.offset]=`${-n}`,e[a.array]=`${t} ${i}`}(h,s,a,r,!1)}e.s(["buildSVGAttrs",0,tR],48971);let tk=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]),tL=e=>"string"==typeof e&&"svg"===e.toLowerCase();function tM(e,{style:t,vars:i},n,s){let a,r=e.style;for(a in t)r[a]=t[a];for(a in s?.applyProjectionStyles(r,n),i)r.setProperty(a,i[a])}function tC(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}e.s(["isSVGTag",0,tL],4445);let tV={correct:(e,t)=>{if(!t.target)return e;if("string"==typeof e)if(!A.test(e))return e;else e=parseFloat(e);let i=tC(e,t.target.x),n=tC(e,t.target.y);return`${i}% ${n}%`}},tj=(e,t,i)=>e+(t-e)*i;e.s(["mixNumber",0,tj],70820);let tO={borderRadius:{...tV,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:tV,borderTopRightRadius:tV,borderBottomLeftRadius:tV,borderBottomRightRadius:tV,boxShadow:{correct:(e,{treeScale:t,projectionDelta:i})=>{let n=M.parse(e);if(n.length>5)return e;let s=M.createTransformer(e),a=+("number"!=typeof n[0]),r=i.x.scale*t.x,o=i.y.scale*t.y;n[0+a]/=r,n[1+a]/=o;let l=tj(r,o,.5);return"number"==typeof n[2+a]&&(n[2+a]/=l),"number"==typeof n[3+a]&&(n[3+a]/=l),s(n)}}};function tB(e,{layout:t,layoutId:i}){return s.has(e)||e.startsWith("origin")||(t||void 0!==i)&&(!!tO[e]||"opacity"===e)}function tF(e,t,i){let n=e.style,s=t?.style,a={};if(!n)return a;for(let t in n)(q(n[t])||s&&q(s[t])||tB(t,e)||i?.getValue(t)?.liveStyle!==void 0)&&(a[t]=n[t]);return a}function tN(e,t,i){let s=tF(e,t,i);for(let i in e)(q(e[i])||q(t[i]))&&(s[-1!==n.indexOf(i)?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i]=e[i]);return s}e.s(["scaleCorrectors",0,tO],39068),e.s(["isForcedMotionValue",0,tB],35629),e.s(["scrapeMotionValuesFromProps",0,tF],45744),e.s(["scrapeMotionValuesFromProps",0,tN],42917);class tG extends tA{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=z}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(s.has(t)){let e=U(t);return e&&e.default||0}return t=tk.has(t)?t:tw(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,i){return tN(e,t,i)}build(e,t,i){tR(e,t,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(e,t,i,n){for(let i in tM(e,t,void 0,n),t.attrs)e.setAttribute(tk.has(i)?i:tw(i),t.attrs[i])}mount(e){this.isSVGTag=tL(e.tagName),super.mount(e)}}function tU({top:e,left:t,right:i,bottom:n}){return{x:{min:t,max:i},y:{min:e,max:n}}}function tW(e,t){if(!t)return e;let i=t({x:e.left,y:e.top}),n=t({x:e.right,y:e.bottom});return{top:i.y,left:i.x,bottom:n.y,right:n.x}}function tH(e){return void 0===e||1===e}function tz({scale:e,scaleX:t,scaleY:i}){return!tH(e)||!tH(t)||!tH(i)}function tq(e){return tz(e)||tY(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function tY(e){var t,i;return(t=e.x)&&"0%"!==t||(i=e.y)&&"0%"!==i}function tK(e,t,i){return i+t*(e-i)}function t$(e,t,i,n,s){return void 0!==s&&(e=tK(e,s,n)),tK(e,i,n)+t}function t_(e,t=0,i=1,n,s){e.min=t$(e.min,t,i,n,s),e.max=t$(e.max,t,i,n,s)}function tX(e,{x:t,y:i}){t_(e.x,t.translate,t.scale,t.originPoint),t_(e.y,i.translate,i.scale,i.originPoint)}function tJ(e,t){e.min+=t,e.max+=t}function tZ(e,t,i,n,s=.5){let a=tj(e.min,e.max,s);t_(e,t,i,a,n)}function tQ(e,t){return"string"==typeof e?parseFloat(e)/100*(t.max-t.min):e}function t0(e,t,i){let n=i??e;tZ(e.x,tQ(t.x,n.x),t.scaleX,t.scale,t.originX),tZ(e.y,tQ(t.y,n.y),t.scaleY,t.scale,t.originY)}function t1(e,t){return tU(tW(e.getBoundingClientRect(),t))}e.s(["convertBoundingBoxToBox",0,tU,"convertBoxToBoundingBox",0,function({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}},"transformBoxPoints",0,tW],64646),e.s(["has2DTranslate",0,tY,"hasScale",0,tz,"hasTransform",0,tq],614
117),e.s(["applyBoxDelta",0,tX,"applyTreeDeltas",0,function(e,t,i,n=!1){let s,a,r=i.length;if(r){t.x=t.y=1;for(let o=0;o<r;o++){a=(s=i[o]).projectionDelta;let{visualElement:r}=s.options;(!r||!r.props.style||"contents"!==r.props.style.display)&&(n&&s.options.layoutScroll&&s.scroll&&s!==s.root&&(tJ(e.x,-s.scroll.offset.x),tJ(e.y,-s.scroll.offset.y)),a&&(t.x*=a.x.scale,t.y*=a.y.scale,tX(e,a)),n&&tq(s.latestValues)&&t0(e,s.latestValues,s.layout?.layoutBox))}t.x<1.0000000000001&&t.x>.999999999999&&(t.x=1),t.y<1.0000000000001&&t.y>.999999999999&&(t.y=1)}},"scalePoint",0,tK,"transformBox",0,t0,"translateAxis",0,tJ],56731),e.s(["measurePageBox",0,function(e,t,i){let n=t1(e,i),{scroll:s}=t;return s&&(tJ(n.x,s.offset.x),tJ(n.y,s.offset.y)),n},"measureViewportBox",0,t1],79514);class t2 extends tA{constructor(){super(...arguments),this.type="html",this.renderInstance=tM}readValueFromInstance(e,t){if(s.has(t))return this.projection?.isProjecting?ec(t):((e,t)=>{let{transform:i="none"}=getComputedStyle(e);return em(i,t)})(e,t);{let i=window.getComputedStyle(e),n=(Q(t)?i.getPropertyValue(t):i[t])||0;return"string"==typeof n?n.trim():n}}measureInstanceViewportBox(e,{transformPagePoint:t}){return t1(e,t)}build(e,t,i){tI(e,t,i.transformTemplate)}scrapeMotionValuesFromProps(e,t,i){return tF(e,t,i)}}var t3=e.i(29647);let t6=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function t9(e){if("string"!=typeof e||e.includes("-"));else if(t6.indexOf(e)>-1||/[A-Z]/u.test(e))return!0;return!1}e.s(["isSVGComponent",0,t9],6637),e.s(["createDomVisualElement",0,(e,t)=>t.isSVG??t9(e)?new tG(t):new t2(t,{allowProjection:e!==t3.Fragment})],27725)},32685,e=>{"use strict";let t=(0,e.i(29647).createContext)({});e.s(["LayoutGroupContext",0,t])},6666,e=>{"use strict";let t=(0,e.i(29647).createContext)({strict:!1});e.s(["LazyContext",0,t])},48159,e=>{"use strict";let t=(0,e.i(29647).createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"});e.s(["MotionConfigContext",0,t])},19343,73551,83155,26876,31902,30525,91945,e=>{"use strict";var t,i=e.i(29647);let n=(0,i.createContext)({});e.s(["MotionContext",0,n],19343);var s=e.i(21280),a=e.i(86843);function r(e){return Array.isArray(e)?e.join(" "):e}e.s(["useCreateMotionContext",0,function(e){let{initial:t,animate:o}=function(e,t){if((0,s.isControllingVariants)(e)){let{initial:t,animate:i}=e;return{initial:!1===t||(0,a.isVariantLabel)(t)?t:void 0,animate:(0,a.isVariantLabel)(i)?i:void 0}}return!1!==e.inherit?t:{}}(e,(0,i.useContext)(n));return(0,i.useMemo)(()=>({initial:t,animate:o}),[r(t),r(o)])}],73551);var o=e.i(36585),l=e.i(35629),u=e.i(19563);let d=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function h(e,t,i){for(let n in t)(0,o.isMotionValue)(t[n])||(0,l.isForcedMotionValue)(n,i)||(e[n]=t[n])}e.s(["createHtmlRenderState",0,d],83155);var c=e.i(48971),m=e.i(4445);let p=()=>({...d(),attrs:{}});e.s(["createSvgRenderState",0,p],26876);let g=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function f(e){return e.startsWith("while")||e.startsWith("drag")&&"draggable"!==e||e.startsWith("layout")||e.startsWith("onTap")||e.startsWith("onPan")||e.startsWith("onLayout")||g.has(e)}let v=e=>!f(e);try{t=(()=>{let e=Error("Cannot find module '@emotion/is-prop-valid'");throw e.code="MODULE_NOT_FOUND",e})().default,"function"==typeof t&&(v=e=>e.startsWith("on")?!f(e):t(e))}catch{}var y=e.i(6637);e.s(["useRender",0,function(e,t,n,{latestValues:s},a,r=!1,l){let g=(l??(0,y.isSVGComponent)(e)?function(e,t,n,s){let a=(0,i.useMemo)(()=>{let i=p();return(0,c.buildSVGAttrs)(i,t,(0,m.isSVGTag)(s),e.transformTemplate,e.style),{...i.attrs,style:{...i.style}}},[t]);if(e.style){let t={};h(t,e.style,e),a.style={...t,...a.style}}return a}:function(e,t){let n,s,a={},r=(n=e.style||{},h(s={},n,e),Object.assign(s,function({transformTemplate:e},t){return(0,i.useMemo)(()=>{let i=d();return(0,u.buildHTMLStyles)(i,t,e),Object.assign({},i.vars,i.style)},[t])}(e,t)),s);return e.drag&&!1!==e.dragListener&&(a.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=!0===e.drag?"none":`pan-${"x"===e.drag?"y":"x"}
1`),void 0===e.tabIndex&&(e.onTap||e.onTapStart||e.whileTap)&&(a.tabIndex=0),a.style=r,a})(t,s,a,e),b=function(e,t,i){let n={};for(let s in e)("values"!==s||"object"!=typeof e.values)&&!(0,o.isMotionValue)(e[s])&&(v(s)||!0===i&&f(s)||!t&&!f(s)||e.draggable&&s.startsWith("onDrag"))&&(n[s]=e[s]);return n}(t,"string"==typeof e,r),A=e!==i.Fragment?{...b,...g,ref:n}:{},{children:w}=t,T=(0,i.useMemo)(()=>(0,o.isMotionValue)(w)?w.get():w,[w]);return(0,i.createElement)(e,{...A,children:T})}],31902);var b=e.i(45744);e.s(["scrapeHTMLMotionValuesFromProps",()=>b.scrapeMotionValuesFromProps],30525),e.s(["resolveMotionValue",0,function(e){return(0,o.isMotionValue)(e)?e.get():e}],91945)},63044,e=>{"use strict";let t=(0,e.i(29647).createContext)(null);e.s(["PresenceContext",0,t])},29767,e=>{"use strict";var t=e.i(29647);e.s(["useConstant",0,function(e){let i=(0,t.useRef)(null);return null===i.current&&(i.current=e()),i.current}])},16847,1500,61496,24025,38249,37941,29957,13703,61046,e=>{"use strict";var t=e.i(30525),i=e.i(91945),n=e.i(21280),s=e.i(91363),a=e.i(61560),r=e.i(29647),o=e.i(19343),l=e.i(63044),u=e.i(29767);let d=e=>(t,d)=>{let h=(0,r.useContext)(o.MotionContext),c=(0,r.useContext)(l.PresenceContext),m=()=>(function({scrapeMotionValuesFromProps:e,createRenderState:t},r,o,l){return{latestValues:function(e,t,r,o){let l={},u=o(e,{});for(let e in u)l[e]=(0,i.resolveMotionValue)(u[e]);let{initial:d,animate:h}=e,c=(0,n.isControllingVariants)(e),m=(0,n.isVariantNode)(e);t&&m&&!c&&!1!==e.inherit&&(void 0===d&&(d=t.initial),void 0===h&&(h=t.animate));let p=!!r&&!1===r.initial,g=(p=p||!1===d)?h:d;if(g&&"boolean"!=typeof g&&!(0,s.isAnimationControls)(g)){let t=Array.isArray(g)?g:[g];for(let i=0;i<t.length;i++){let n=(0,a.resolveVariantFromProps)(e,t[i]);if(n){let{transitionEnd:e,transition:t,...i}=n;for(let e in i){let t=i[e];if(Array.isArray(t)){let e=p?t.length-1:0;t=t[e]}null!==t&&(l[e]=t)}for(let t in e)l[t]=e[t]}}}return l}(r,o,l,e),renderState:t()}})(e,t,h,c);return d?m():(0,u.useConstant)(m)};var h=e.i(83155);let c=d({scrapeMotionValuesFromProps:t.scrapeHTMLMotionValuesFromProps,createRenderState:h.createHtmlRenderState});e.s(["useHTMLVisualState",0,c],16847);var m=e.i(42917),m=m,p=e.i(26876);let g=d({scrapeMotionValuesFromProps:m.scrapeMotionValuesFromProps,createRenderState:p.createSvgRenderState});e.s(["useSVGVisualState",0,g],1500);var f=e.i(96819);let v={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},y=!1;function b(){return!function(){if(y)return;let e={};for(let t in v)e[t]={isEnabled:e=>v[t].some(t=>!!e[t])};(0,f.setFeatureDefinitions)(e),y=!0}(),(0,f.getFeatureDefinitions)()}e.s(["getInitializedFeatureDefinitions",0,b],61496),e.s(["loadFeatures",0,function(e){let t=b();for(let i in e)t[i]={...t[i],...e[i]};(0,f.setFeatureDefinitions)(t)}],24025);let A=Symbol.for("motionComponentSymbol");e.s(["motionComponentSymbol",0,A],38249),e.s(["useMotionRef",0,function(e,t,i){let n=(0,r.useRef)(i);(0,r.useInsertionEffect)(()=>{n.current=i});let s=(0,r.useRef)(null);return(0,r.useCallback)(i=>{i&&e.onMount?.(i);let a=n.current;if("function"==typeof a)if(i){let e=a(i);"function"==typeof e&&(s.current=e)}else s.current?(s.current(),s.current=null):a(i);else a&&(a.current=i);t&&(i?t.mount(i):t.unmount())},[t])}],37941);let w="data-"+(0,e.i(88599).camelToDash)("framerAppearId");e.s(["optimizedAppearDataAttribute",0,w],29957);let T=(0,r.createContext)({});e.s(["SwitchLayoutGroupContext",0,T],13703),e.s(["isRefObject",0,function(e){return e&&"object"==typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}],61046)},8172,e=>{"use strict";var t=e.i(29647);let i="u">typeof window?t.useLayoutEffect:t.useEffect;e.s(["useIsomorphicLayoutEffect",0,i],8172)},51521,36656,38526,50669,30017,92727,71559,41058,2225,28201,92672,65869,97719,57318,13316,e=>{"use strict";e.i(80277);var t=e.i(4417),i=e.i(29647),n=e.i(32685),s=e.i(6666),a=e.i(48159),r=e.i(19343),o=e.i(73551),l=e.i(31902),u=e.i(6637),d=e.i(16847),h=e.i(1500),c=e.i(61496),m=e.i(24025),p=e.i(38249),g=e.i(37941),f=e.i(29957),v=e.i(63044),y=e.i(13703),b=e.i(6104
16),A=e.i(8172);function w(e,{forwardMotionProps:T=!1,type:x}={},S,I){S&&(0,m.loadFeatures)(S);let E=x?"svg"===x:(0,u.isSVGComponent)(e),P=E?h.useSVGVisualState:d.useHTMLVisualState;function D(u,d){let h,m={...(0,i.useContext)(a.MotionConfigContext),...u,layoutId:function({layoutId:e}){let t=(0,i.useContext)(n.LayoutGroupContext).id;return t&&void 0!==e?t+"-"+e:e}(u)},{isStatic:p}=m,w=(0,o.useCreateMotionContext)(u),x=P(u,p);if(!p&&"u">typeof window){(0,i.useContext)(s.LazyContext).strict;let t=function(e){let{drag:t,layout:i}=(0,c.getInitializedFeatureDefinitions)();if(!t&&!i)return{};let n={...t,...i};return{MeasureLayout:t?.isEnabled(e)||i?.isEnabled(e)?n.MeasureLayout:void 0,ProjectionNode:n.ProjectionNode}}(m);h=t.MeasureLayout,w.visualElement=function(e,t,n,o,l,u){let{visualElement:d}=(0,i.useContext)(r.MotionContext),h=(0,i.useContext)(s.LazyContext),c=(0,i.useContext)(v.PresenceContext),m=(0,i.useContext)(a.MotionConfigContext),p=m.reducedMotion,g=m.skipAnimations,w=(0,i.useRef)(null),T=(0,i.useRef)(!1);o=o||h.renderer,!w.current&&o&&(w.current=o(e,{visualState:t,parent:d,props:n,presenceContext:c,blockInitialAnimation:!!c&&!1===c.initial,reducedMotionConfig:p,skipAnimations:g,isSVG:u}),T.current&&w.current&&(w.current.manuallyAnimateOnMount=!0));let x=w.current,S=(0,i.useContext)(y.SwitchLayoutGroupContext);x&&!x.projection&&l&&("html"===x.type||"svg"===x.type)&&function(e,t,i,n){let{layoutId:s,layout:a,drag:r,dragConstraints:o,layoutScroll:l,layoutRoot:u,layoutAnchor:d,layoutCrossfade:h}=t;e.projection=new i(e.latestValues,t["data-framer-portal-id"]?void 0:function e(t){if(t)return!1!==t.options.allowProjection?t.projection:e(t.parent)}(e.parent)),e.projection.setOptions({layoutId:s,layout:a,alwaysMeasureLayout:!!r||o&&(0,b.isRefObject)(o),visualElement:e,animationType:"string"==typeof a?a:"both",initialPromotionConfig:n,crossfade:h,layoutScroll:l,layoutRoot:u,layoutAnchor:d})}(w.current,n,l,S);let I=(0,i.useRef)(!1);(0,i.useInsertionEffect)(()=>{x&&I.current&&x.update(n,c)});let E=n[f.optimizedAppearDataAttribute],P=(0,i.useRef)(!!E&&"u">typeof window&&!window.MotionHandoffIsComplete?.(E)&&window.MotionHasOptimisedAnimation?.(E));return(0,A.useIsomorphicLayoutEffect)(()=>{T.current=!0,x&&(I.current=!0,window.MotionIsMounted=!0,x.updateFeatures(),x.scheduleRenderMicrotask(),P.current&&x.animationState&&x.animationState.animateChanges())}),(0,i.useEffect)(()=>{x&&(!P.current&&x.animationState&&x.animationState.animateChanges(),P.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(E)}),P.current=!1),x.enteringChildren=void 0)}),x}(e,x,m,I,t.ProjectionNode,E)}return(0,t.jsxs)(r.MotionContext.Provider,{value:w,children:[h&&w.visualElement?(0,t.jsx)(h,{visualElement:w.visualElement,...m}):null,(0,l.useRender)(e,u,(0,g.useMotionRef)(x,w.visualElement,d),x,p,T,E)]})}D.displayName=`motion.${"string"==typeof e?e:`create(${e.displayName??e.name??""})`}`;let R=(0,i.forwardRef)(D);return R[p.motionComponentSymbol]=e,R}e.s(["createMotionProxy",0,function(e,t){if("u"<typeof Proxy)return w;let i=new Map,n=(i,n)=>w(i,n,e,t);return new Proxy((e,t)=>n(e,t),{get:(s,a)=>"create"===a?n:(i.has(a)||i.set(a,w(a,void 0,e,t)),i.get(a))})}],51521);class T{constructor(e){this.isMounted=!1,this.node=e}update(){}}e.s(["Feature",0,T],36656);var x=e.i(61560);function S(e,t,i){let n=e.getProps();return(0,x.resolveVariantFromProps)(n,t,void 0!==i?i:n.custom,e)}function I(e,t){if(e?.inherit&&t){let{inherit:i,...n}=e;return{...t,...n}}return e}function E(e,t){let i=e?.[t]??e?.default??e;return i!==e?I(i,e):i}e.s(["getValueTransition",0,E],38526);var P=e.i(11920),D=e.i(2915);let R=e=>Array.isArray(e);var k=e.i(26490),L=e.i(36585);function M(e,t){let i=e.getValue("willChange");if((0,L.isMotionValue)(i)&&i.add)return i.add(t);if(!i&&k.MotionGlobalConfig.WillChange){let i=new k.MotionGlobalConfig.WillChange("auto");e.addValue("willChange",i),i.add(t)}}function C(e){return e.props[f.optimizedAppearDataAttribute]}e.s(["addValueToWillChange",0,M],50669),e.s(["getOptimisedAppearId",0,C],30017);var V=e.i(90692),j=e.i(70919),O=e.i(57798);let B=(e,t)=>i=>t(e(i)),F=(...e)=>e.reduce(B);e.s(["pipe",0,F],92727);var N=e.i(93858),G=e.i(31772),U=e.i(26809),W=e.i(82466),H=e.i(33795),z=e.i(29289),q=e.i(31388),Y=e.i(69844);function K(e,t,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?e+(t-e)*6*i:i<.5?t:i<2/3?e+(t-e)*(2/3-i)*6:e}var $=e.i(19496);function _(e,t){return i=>i>0?t:e}var X=e.i(70820);let J=(e,t,i)=>{let n=e*e,s=i*(t*t-n)+n;return s<0?0:Math.sqrt(s)},Z=[q.hex,$.rgba,Y.hsla];function Q(e){let t=Z.find(t=>t.test(e));if((0,U.warning)(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!t)return!1;let i=t.parse(e);return t===Y.hsla&&(i=function({hue:e,saturation:t,lightness:i,alpha:n}){e/=360,i/=100;let s=0,a=0,r=0;if(t/=100){let n=i<.5?i*(1+t):i+t-i*t,o=2*i-n;
1s=K(o,n,e+1/3),a=K(o,n,e),r=K(o,n,e-1/3)}else s=a=r=i;return{red:Math.round(255*s),green:Math.round(255*a),blue:Math.round(255*r),alpha:n}}(i)),i}let ee=(e,t)=>{let i=Q(e),n=Q(t);if(!i||!n)return _(e,t);let s={...i};return e=>(s.red=J(i.red,n.red,e),s.green=J(i.green,n.green,e),s.blue=J(i.blue,n.blue,e),s.alpha=(0,X.mixNumber)(i.alpha,n.alpha,e),$.rgba.transform(s))},et=new Set(["none","hidden"]);function ei(e,t){return i=>(0,X.mixNumber)(e,t,i)}function en(e){return"number"==typeof e?ei:"string"==typeof e?(0,W.isCSSVariableToken)(e)?_:H.color.test(e)?ee:er:Array.isArray(e)?es:"object"==typeof e?H.color.test(e)?ee:ea:_}function es(e,t){let i=[...e],n=i.length,s=e.map((e,i)=>en(e)(e,t[i]));return e=>{for(let t=0;t<n;t++)i[t]=s[t](e);return i}}function ea(e,t){let i={...e,...t},n={};for(let s in i)void 0!==e[s]&&void 0!==t[s]&&(n[s]=en(e[s])(e[s],t[s]));return e=>{for(let t in n)i[t]=n[t](e);return i}}let er=(e,t)=>{let i=z.complex.createTransformer(t),n=(0,z.analyseComplexValue)(e),s=(0,z.analyseComplexValue)(t);if(!(n.indexes.var.length===s.indexes.var.length&&n.indexes.color.length===s.indexes.color.length&&n.indexes.number.length>=s.indexes.number.length))return(0,U.warning)(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),_(e,t);if(et.has(e)&&!s.values.length||et.has(t)&&!n.values.length)return et.has(e)?i=>i<=0?e:t:i=>i>=1?t:e;return F(es(function(e,t){let i=[],n={color:0,var:0,number:0};for(let s=0;s<t.values.length;s++){let a=t.types[s],r=e.indexes[a][n[a]],o=e.values[r]??0;i[s]=o,n[a]++}return i}(n,s),s.values),i)};function eo(e,t,i){return"number"==typeof e&&"number"==typeof t&&"number"==typeof i?(0,X.mixNumber)(e,t,i):en(e)(e,t)}var el=e.i(67682);let eu=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>el.frame.update(t,e),stop:()=>(0,el.cancelFrame)(t),now:()=>el.frameData.isProcessing?el.frameData.timestamp:O.time.now()}};var ed=e.i(60926);function eh(e){let t=0,i=e.next(t);for(;!i.done&&t<2e4;)t+=50,i=e.next(t);return t>=2e4?1/0:t}let ec=.01,em=2,ep=.005,eg=.5;function ef(e,t){return e*Math.sqrt(1-t*t)}let ev=["duration","bounce"],ey=["stiffness","damping","mass"];function eb(e,t){return t.some(t=>void 0!==e[t])}function eA(e=.3,t=.3){let i,n,s,a,r,o,l="object"!=typeof e?{visualDuration:e,keyframes:[0,1],bounce:t}:e,{restSpeed:u,restDelta:d}=l,h=l.keyframes[0],c=l.keyframes[l.keyframes.length-1],m={done:!1,value:h},{stiffness:p,damping:g,mass:f,duration:v,velocity:y,isResolvedFromDuration:b}=function(e){let t={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...e};if(!eb(e,ey)&&eb(e,ev))if(t.velocity=0,e.visualDuration){let i=2*Math.PI/(1.2*e.visualDuration),n=i*i,s=2*(0,N.clamp)(.05,1,1-(e.bounce||0))*Math.sqrt(n);t={...t,mass:1,stiffness:n,damping:s}}else{let i=function({duration:e=800,bounce:t=.3,velocity:i=0,mass:n=1}){let s,a;(0,U.warning)(e<=(0,V.secondsToMilliseconds)(10),"Spring duration must be 10 seconds or less","spring-duration-limit");let r=1-t;r=(0,N.clamp)(.05,1,r),e=(0,N.clamp)(.01,10,(0,V.millisecondsToSeconds)(e)),r<1?(s=t=>{let n=t*r,s=n*e;return .001-(n-i)/ef(t,r)*Math.exp(-s)},a=t=>{let n=t*r*e,a=Math.pow(r,2)*Math.pow(t,2)*e,o=Math.exp(-n),l=ef(Math.pow(t,2),r);return(n*i+i-a)*o*(-s(t)+.001>0?-1:1)/l}):(s=t=>-.001+Math.exp(-t*e)*((t-i)*e+1),a=t=>e*e*(i-t)*Math.exp(-t*e));let o=function(e,t,i){let n=i;for(let i=1;i<12;i++)n-=e(n)/t(n);return n}(s,a,5/e);if(e=(0,V.secondsToMilliseconds)(e),isNaN(o))return{stiffness:100,damping:10,duration:e};{let t=Math.pow(o,2)*n;return{stiffness:t,damping:2*r*Math.sqrt(n*t),duration:e}}}({...e,velocity:0});(t={...t,...i,mass:1}).isResolvedFromDuration=!0}return t}({...l,velocity:-(0,V.millisecondsToSeconds)(l.velocity||0)}),A=y||0,w=g/(2*Math.sqrt(p*f)),T=c-h,x=(0,V.millisecondsToSeconds)(Math.sqrt(p/f)),S=5>Math.abs(T);if(u||(u=S?ec:em),d||(d=S?ep:eg),w<1)s=ef(x,w),a=(A+w*x*T)/s,i=e=>c-Math.exp(-w*x*e)*(a*Math.sin(s*e)+T*Math.cos(s*e)),r=w*x*a+T*s,o=w*x*T-a*s,n=e=>Math.exp(-w*x*e)*(r*Math.sin(s*e)+o*Math.cos(s*e));else if(1===w){i=e=>
1c-Math.exp(-x*e)*(T+(A+x*T)*e);let e=A+x*T;n=t=>Math.exp(-x*t)*(x*e*t-A)}else{let e=x*Math.sqrt(w*w-1);i=t=>{let i=Math.exp(-w*x*t),n=Math.min(e*t,300);return c-i*((A+w*x*T)*Math.sinh(n)+e*T*Math.cosh(n))/e};let t=(A+w*x*T)/e,s=w*x*t-T*e,a=w*x*T-t*e;n=t=>{let i=Math.exp(-w*x*t),n=Math.min(e*t,300);return i*(s*Math.sinh(n)+a*Math.cosh(n))}}let I={calculatedDuration:b&&v||null,velocity:e=>(0,V.secondsToMilliseconds)(n(e)),next:e=>{if(!b&&w<1){let t=Math.exp(-w*x*e),i=Math.sin(s*e),n=Math.cos(s*e),l=c-t*(a*i+T*n);return m.done=Math.abs((0,V.secondsToMilliseconds)(t*(r*i+o*n)))<=u&&Math.abs(c-l)<=d,m.value=m.done?c:l,m}let t=i(e);return b?m.done=e>=v:m.done=Math.abs((0,V.secondsToMilliseconds)(n(e)))<=u&&Math.abs(c-t)<=d,m.value=m.done?c:t,m},toString:()=>{let e=Math.min(eh(I),2e4),t=(0,ed.generateLinearEasing)(t=>I.next(e*t).value,e,30);return e+"ms "+t},toTransition:()=>{}};return I}eA.applyToOptions=e=>{let t=function(e,t=100,i){let n=i({...e,keyframes:[0,t]}),s=Math.min(eh(n),2e4);return{type:"keyframes",ease:e=>n.next(s*e).value/t,duration:(0,V.millisecondsToSeconds)(s)}}(e,100,eA);return e.ease=t.ease,e.duration=(0,V.secondsToMilliseconds)(t.duration),e.type="keyframes",e};var ew=e.i(21692);function eT(e,t,i){let n=Math.max(t-5,0);return(0,ew.velocityPerSecond)(i-e(n),t-n)}function ex({keyframes:e,velocity:t=0,power:i=.8,timeConstant:n=325,bounceDamping:s=10,bounceStiffness:a=500,modifyTarget:r,min:o,max:l,restDelta:u=.5,restSpeed:d}){let h,c,m=e[0],p={done:!1,value:m},g=i*t,f=m+g,v=void 0===r?f:r(f);v!==f&&(g=v-m);let y=e=>-g*Math.exp(-e/n),b=e=>v+y(e),A=e=>{let t=y(e),i=b(e);p.done=Math.abs(t)<=u,p.value=p.done?v:i},w=e=>{let t;if(t=p.value,void 0!==o&&t<o||void 0!==l&&t>l){var i;h=e,c=eA({keyframes:[p.value,(i=p.value,void 0===o?l:void 0===l||Math.abs(o-i)<Math.abs(l-i)?o:l)],velocity:eT(b,e,p.value),damping:s,stiffness:a,restDelta:u,restSpeed:d})}};return w(0),{calculatedDuration:null,next:e=>{let t=!1;return(c||void 0!==h||(t=!0,A(e),w(e)),void 0!==h&&e>=h)?c.next(e-h):(t||A(e),p)}}}let eS=(e,t,i)=>(((1-3*i+3*t)*e+(3*i-6*t))*e+3*t)*e;function eI(e,t,i,n){return e===t&&i===n?j.noop:s=>0===s||1===s?s:eS(function(e,t,i,n,s){let a,r,o=0;do(a=eS(r=t+(i-t)/2,n,s)-e)>0?i=r:t=r;while(Math.abs(a)>1e-7&&++o<12)return r}(s,0,1,e,i),t,n)}let eE=eI(.42,0,1,1),eP=eI(0,0,.58,1),eD=eI(.42,0,.58,1),eR=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,ek=e=>t=>1-e(1-t),eL=eI(.33,1.53,.69,.99),eM=ek(eL),eC=eR(eM),eV=e=>e>=1?1:(e*=2)<1?.5*eM(e):.5*(2-Math.pow(2,-10*(e-1))),ej=e=>1-Math.sin(Math.acos(e)),eO=ek(ej),eB=eR(ej);e.s(["circIn",0,ej,"circInOut",0,eB,"circOut",0,eO],71559);var eF=e.i(28301);let eN={linear:j.noop,easeIn:eE,easeInOut:eD,easeOut:eP,circIn:ej,circInOut:eB,circOut:eO,backIn:eM,backInOut:eC,backOut:eL,anticipate:eV},eG=e=>{if((0,eF.isBezierDefinition)(e)){(0,U.invariant)(4===e.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[t,i,n,s]=e;return eI(t,i,n,s)}return"string"==typeof e?((0,U.invariant)(void 0!==eN[e],`Invalid easing type '${e}'`,"invalid-easing-type"),eN[e]):e},eU=(e,t,i)=>{let n=t-e;return 0===n?1:(i-e)/n};function eW({duration:e=300,keyframes:t,times:i,ease:n="easeInOut"}){var s;let a,r=Array.isArray(n)&&"number"!=typeof n[0]?n.map(eG):eG(n),o={done:!1,value:t[0]},l=function(e,t,{clamp:i=!0,ease:n,mixer:s}={}){let a=e.length;if((0,U.invariant)(a===t.length,"Both input and output ranges must be the same length","range-length"),1===a)return()=>t[0];if(2===a&&t[0]===t[1])return()=>t[1];let r=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let o=function(e,t,i){let n=[],s=i||k.MotionGlobalConfig.mix||eo,a=e.length-1;for(let i=0;i<a;i++){let a=s(e[i],e[i+1]);t&&(a=F(Array.isArray(t)?t[i]||j.noop:t,a)),n.push(a)}return n}(t,n,s),l=o.length,u=i=>{if(r&&i<e[0])return t[0];let n=0;if(l>1)for(;n<e.length-2&&!(i<e[n+1]);n++);let s=eU(e[n],e[n+1],i);return o[n](s)};return i?t=>u((0,N.clamp)(e[0],e[a-1],t)):u}((s=i&&i.length===t.length?i:(!function(e,t){let i=e[e.length-1];for(let n=1;n<=t;n++){let s=eU(0,t,n);e.push((0,X.mixNumber)(i,1,s))}}(a=[0],t.length-1),a),s.map(t=>t*e)),t,{ease:Array.isArray(r)?r:t.map(()=>r||eD).splice(0,t.length-1)});return{calculatedDuration:e,next:t=>(o.value=l(t),o.done=t>=e,o)}}e.s(["progress",0,eU],41058);var eH=e.i(68741);let ez={decay:ex,inertia:ex,tween:eW,keyframes:eW,spring:eA};function eq(e){"string"==typeof e.type&&(e.type=ez[e.type])}var eY=e.i(96402);let eK=e=>e/100;class e$ extends eY.WithPromise{constructor(e){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==O.time.now()&&this.tick(O.time.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},G.activeAnimations.mainThread++,this.options=e,this.initAnimation(),this.play(),!1===e.autoplay&&this.pause()}initAnimation(){let{options:e}=this;eq(e);let{type:t=eW,repeat:i=0,repeatDelay:n=0,repeatType:s,velocity:a=0}=e,{keyframes:r}=e,o=t||eW;o!==eW&&"number"!=typeof r[0]&&(this.mixKeyframes=F(eK,eo(r[0],r[1])),r=[0,100]);let l=o({...e,keyframes:r});"mirror"===s&&(this.mirroredGenerator=o({...e,keyframes:[...r].reverse(),velocity:-a})),null===l.calculatedDuration&&(l.calculatedDuration=eh(l));let{calculatedDuration:u}=l;this.calculatedDuration=u,this.resolvedDuration=u+n,this.totalDuration=this.resolvedDuration*(i+1)-n,this.generator=l}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=t}tick(e,t=!1){let i,{generator:n,totalDuration:s,mixKeyframes:a,mirroredGenerator:r,resolvedDuration:o,calculatedDuration:l}=this;if(null===this.startTime)return n.next(0);let{delay:u=0,keyframes:d,repeat:h,repeatType:c,repeatDelay:m,type:p,onUpdate:g,finalKeyframe:f}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-s/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let v=this.currentTime-u*(this.playbackSpeed>=0?1:-1),y=this.playbackSpeed>=0?v<0:v>s;this.currentTime=Math.max(v,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=s);let b=this.currentTime,A=n;if(h){let e=Math.min(this.currentTime,s)/o,t=Math.floor(e),i=e%1;!i&&e>=1&&(i=1),1===i&&t--,(t=Math.min(t,h+1))%2&&("reverse"===c?(i=1-i,m&&(i-=m/o)):"mirror"===c&&(A=r)),b=(0,N.clamp)(0,1,i)*o}y?(this.delayState.value=d[0],i=this.delayState):i=A.next(b),a&&!y&&(i.value=a(i.value));let{done:w}=i;y||null===l||(w=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);let T=null===this.holdTime&&("finished"===this.state||"running"===this.state&&w);return T&&p!==ex&&(i.value=(0,eH.getFinalKeyframe)(d,this.options,f,this.speed)),g&&g(i.value),T&&this.finish(),i}then(e,t){return this.finished.then(e,t)}get duration(){return(0,V.millisecondsToSeconds)(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+(0,V.millisecondsToSeconds)(e)}get time(){return(0,V.millisecondsToSeconds)(this.currentTime)}set time(e){e=(0,V.secondsToMilliseconds)(e),this.currentTime=e,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return eT(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(O.time.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=(0,V.millisecondsToSeconds)(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=eu,startTime:t}=this.options;this.driver||(this.driver=e(e=>this.tick(e))),this.options.onPlay?.();let i=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=i):null!==this.holdTime?this.startTime=i-this.holdTime:this.startTime||(this.startTime=t??i),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(O.time.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,G.activeAnimations.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),e.observe(this)}}var e_=e.i(69379),eX=e.i(19058),eJ=e.i(5110);let eZ={anticipate:eV,backInOut:eC,circInOut:eB};class eQ extends eJ.NativeAnimation{constructor(e){!function(e){"string"==typeof e.ease&&e.ease in eZ&&(e.ease=eZ[e.ease])}(e),eq(e),super(e),void 0!==e.startTime&&!1!==e.autoplay&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:i,onComplete:n,element:s,...a}=this.options;if(!t)return;if(void 0!==e)return void t.set(e);let r=new e$({...a,autoplay:!1}),o=Math.max(10,O.time.now()-this.startTime),l=(0,N.clamp)(0,10,o-10),u=r.sample(o).value,{name:d}=this.options;s&&d&&(0,eX.setStyle)(s,d,u),t.setWithVelocity(r.sample(Math.max(0,o-l)).value,u,l),r.stop()}}var e0=e.i(81142);let e1=(e,t)=>"zIndex"!==t&&!!("number"==typeof e||Array.isArray(e)||"string"==typeof e&&(z.complex.test(e)||"0"===e)&&!e.startsWith("url("));function e2(e){e.duration=0,e.type="keyframes"}var e3=eY,e6=e.i(87120),e9=e.i(90932);let e5=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,e4=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),e7=(0,e6.memo)(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class e8 extends e3.WithPromise{constructor({autoplay:e=!0,delay:t=0,type:i="keyframes",repeat:n=0,repeatDelay:s=0,repeatType:a="loop",keyframes:r,name:o,motionValue:l,element:u,...d}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=O.time.now();const h={autoplay:e,delay:t,type:i,repeat:n,repeatDelay:s,repeatType:a,name:o,motionValue:l,element:u,...d},c=u?.KeyframeResolver||e_.KeyframeResolver;this.keyframeResolver=new c(r,(e,t,i)=>this.onKeyframesResolved(e,t,h,!i),o,l,u),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,i,n){let s;this.keyframeResolver=void 0;let{name:a,type:r,velocity:o,delay:l,isHandoff:u,onUpdate:d}=i;this.resolvedAt=O.time.now();let h=!0;!function(e,t,i,n){let s=e[0];if(null===s)return!1;if("display"===t||"visibility"===t)return!0;let a=e[e.length-1],r=e1(s,t),o=e1(a,t);return(0,U.warning)(r===o,`You are trying to animate ${t} from "${s}" to "${a}". "${r?a:s}" is not an animatable value.`,"value-not-animatable"),!!r&&!!o&&(function(e){let t=e[0];if(1===e.length)return!0;for(let i=0;i<e.length;i++)if(e[i]!==t)return!0}(e)||("spring"===i||(0,e0.isGenerator)(i))&&n)}(e,a,r,o)&&(h=!1,(k.MotionGlobalConfig.instantAnimations||!l)&&d?.((0,eH.getFinalKeyframe)(e,i,t)),e[0]=e[e.length-1],e2(i),i.repeat=0);let c={startTime:n?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...i,keyframes:e},m=h&&!u&&function(e){let{motionValue:t,name:i,repeatDelay:n,repeatType:s,damping:a,type:r,keyframes:o}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;
1let{onUpdate:l,transformTemplate:u}=t.owner.getProps();return e7()&&i&&(e9.acceleratedValues.has(i)||e4.has(i)&&function(e){for(let t=0;t<e.length;t++)if("string"==typeof e[t]&&e5.test(e[t]))return!0;return!1}(o))&&("transform"!==i||!u)&&!l&&!n&&"mirror"!==s&&0!==a&&"inertia"!==r}(c),p=c.motionValue?.owner?.current;if(m)try{s=new eQ({...c,element:p})}catch{s=new e$(c)}else s=new e$(c);s.finished.then(()=>{this.notifyFinished()}).catch(j.noop),this.pendingTimeline&&(this.stopTimeline=s.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=s}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),(0,e_.flushKeyframeResolvers)()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}var te=e.i(24032);let tt={type:"spring",stiffness:500,damping:25,restSpeed:10},ti={type:"keyframes",duration:.8},tn={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},ts=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),ta=(e,t,i,n={},s,a)=>r=>{let o=E(n,e)||{},l=o.delay||n.delay||0,{elapsed:u=0}=n;u-=(0,V.secondsToMilliseconds)(l);let d={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:t.getVelocity(),...o,delay:-u,onUpdate:e=>{t.set(e),o.onUpdate&&o.onUpdate(e)},onComplete:()=>{r(),o.onComplete&&o.onComplete()},name:e,motionValue:t,element:a?void 0:s};!function(e){for(let t in e)if(!ts.has(t))return!0;return!1}(o)&&Object.assign(d,((e,{keyframes:t})=>t.length>2?ti:te.transformProps.has(e)?e.startsWith("scale")?{type:"spring",stiffness:550,damping:0===t[1]?2*Math.sqrt(550):30,restSpeed:10}:tt:tn)(e,d)),d.duration&&(d.duration=(0,V.secondsToMilliseconds)(d.duration)),d.repeatDelay&&(d.repeatDelay=(0,V.secondsToMilliseconds)(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let h=!1;if(!1!==d.type&&(0!==d.duration||d.repeatDelay)||(e2(d),0===d.delay&&(h=!0)),(k.MotionGlobalConfig.instantAnimations||k.MotionGlobalConfig.skipAnimations||s?.shouldSkipAnimations)&&(h=!0,e2(d),d.delay=0),d.allowFlatten=!o.type&&!o.ease,h&&!a&&void 0!==t.get()){let e=(0,eH.getFinalKeyframe)(d.keyframes,o);if(void 0!==e)return void el.frame.update(()=>{d.onUpdate(e),d.onComplete()})}return o.isSync?new e$(d):new e8(d)};function tr(e,t,{delay:i=0,transitionOverride:n,type:s}={}){let{transition:a,transitionEnd:r,...o}=t,l=e.getDefaultTransition();a=a?I(a,l):l;let u=a?.reduceMotion;n&&(a=n);let d=[],h=s&&e.animationState&&e.animationState.getState()[s];for(let t in o){let n=e.getValue(t,e.latestValues[t]??null),s=o[t];if(void 0===s||h&&function({protectedKeys:e,needsAnimating:t},i){let n=e.hasOwnProperty(i)&&!0!==t[i];return t[i]=!1,n}(h,t))continue;let r={delay:i,...E(a||{},t)},l=n.get();if(void 0!==l&&!n.isAnimating()&&!Array.isArray(s)&&s===l&&!r.velocity){el.frame.update(()=>n.set(s));continue}let c=!1;if(window.MotionHandoffAnimation){let i=C(e);if(i){let e=window.MotionHandoffAnimation(i,t,el.frame);null!==e&&(r.startTime=e,c=!0)}}M(e,t);let m=u??e.shouldReduceMotion;n.start(ta(t,n,s,m&&P.positionalKeys.has(t)?{type:!1}:r,e,c));let p=n.animation;p&&d.push(p)}if(r){let t=()=>el.frame.update(()=>{r&&function(e,t){let{transitionEnd:i={},transition:n={},...s}=S(e,t)||{};for(let t in s={...s,...i}){var a;let i=R(a=s[t])?a[a.length-1]||0:a;e.hasValue(t)?e.getValue(t).set(i):e.addValue(t,(0,D.motionValue)(i))}}(e,r)});d.length?Promise.all(d).then(t):t()}return d}function to(e,t,i,n=0,s=1){let a=Array.from(e).sort((e,t)=>
1e.sortNodePosition(t)).indexOf(t),r=e.size,o=(r-1)*n;return"function"==typeof i?i(a,r):1===s?a*n:o-a*n}function tl(e,t,i={}){let n=S(e,t,"exit"===i.type?e.presenceContext?.custom:void 0),{transition:s=e.getDefaultTransition()||{}}=n||{};i.transitionOverride&&(s=i.transitionOverride);let a=n?()=>Promise.all(tr(e,n,i)):()=>Promise.resolve(),r=e.variantChildren&&e.variantChildren.size?(n=0)=>{let{delayChildren:a=0,staggerChildren:r,staggerDirection:o}=s;return function(e,t,i=0,n=0,s=0,a=1,r){let o=[];for(let l of e.variantChildren)l.notify("AnimationStart",t),o.push(tl(l,t,{...r,delay:i+("function"==typeof n?0:n)+to(e.variantChildren,l,n,s,a)}).then(()=>l.notify("AnimationComplete",t)));return Promise.all(o)}(e,t,n,a,r,o,i)}:()=>Promise.resolve(),{when:o}=s;if(!o)return Promise.all([a(),r(i.delay)]);{let[e,t]="beforeChildren"===o?[a,r]:[r,a];return e().then(()=>t())}}e.s(["animateMotionValue",0,ta],2225);var tu=e.i(86843),td=e.i(16919);let th=td.variantProps.length;var tc=e.i(91363);function tm(e,t){if(!Array.isArray(t))return!1;let i=t.length;if(i!==e.length)return!1;for(let n=0;n<i;n++)if(t[n]!==e[n])return!1;return!0}let tp=[...td.variantPriorityOrder].reverse(),tg=td.variantPriorityOrder.length;function tf(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function tv(){return{animate:tf(!0),whileInView:tf(),whileHover:tf(),whileTap:tf(),whileDrag:tf(),whileFocus:tf(),exit:tf()}}let ty=0;e.s(["animations",0,{animation:{Feature:class extends T{constructor(e){super(e),e.animationState||(e.animationState=function(e){let t=t=>Promise.all(t.map(({animation:t,options:i})=>(function(e,t,i={}){let n;if(e.notify("AnimationStart",t),Array.isArray(t))n=Promise.all(t.map(t=>tl(e,t,i)));else if("string"==typeof t)n=tl(e,t,i);else{let s="function"==typeof t?S(e,t,i.custom):t;n=Promise.all(tr(e,s,i))}return n.then(()=>{e.notify("AnimationComplete",t)})})(e,t,i))),i=tv(),n=!0,s=!1,a=t=>(i,n)=>{let s=S(e,n,"exit"===t?e.presenceContext?.custom:void 0);if(s){let{transition:e,transitionEnd:t,...n}=s;i={...i,...n,...t}}return i};function r(r){let{props:o}=e,l=function e(t){if(!t)return;if(!t.isControllingVariants){let i=t.parent&&e(t.parent)||{};return void 0!==t.props.initial&&(i.initial=t.props.initial),i}let i={};for(let e=0;e<th;e++){let n=td.variantProps[e],s=t.props[n];((0,tu.isVariantLabel)(s)||!1===s)&&(i[n]=s)}return i}(e.parent)||{},u=[],d=new Set,h={},c=1/0;for(let t=0;t<tg;t++){var m,p;let g=tp[t],f=i[g],v=void 0!==o[g]?o[g]:l[g],y=(0,tu.isVariantLabel)(v),b=g===r?f.isActive:null;!1===b&&(c=t);let A=v===l[g]&&v!==o[g]&&y;if(A&&(n||s)&&e.manuallyAnimateOnMount&&(A=!1),f.protectedKeys={...h},!f.isActive&&null===b||!v&&!f.prevProp||(0,tc.isAnimationControls)(v)||"boolean"==typeof v)continue;if("exit"===g&&f.isActive&&!0!==b){f.prevResolvedValues&&(h={...h,...f.prevResolvedValues});continue}let w=(m=f.prevProp,"string"==typeof(p=v)?p!==m:!!Array.isArray(p)&&!tm(p,m)),T=w||g===r&&f.isActive&&!A&&y||t>c&&y,x=!1,I=Array.isArray(v)?v:[v],E=I.reduce(a(g),{});!1===b&&(E={});let{prevResolvedValues:P={}}=f,D={...P,...E},k=t=>{T=!0,d.has(t)&&(x=!0,d.delete(t)),f.needsAnimating[t]=!0;let i=e.getValue(t);i&&(i.liveStyle=!1)};for(let e in D){let t=E[e],i=P[e];if(!h.hasOwnProperty(e))(R(t)&&R(i)?tm(t,i):t===i)?void 0!==t&&d.has(e)?k(e):f.protectedKeys[e]=!0:null!=t?k(e):d.add(e)}f.prevProp=v,f.prevResolvedValues=E,f.isActive&&(h={...h,...E}),(n||s)&&e.blockInitialAnimation&&(T=!1);let L=A&&w,M=!L||x;T&&M&&u.push(...I.map(t=>{let i={type:g};if("string"==typeof t&&(n||s)&&!L&&e.manuallyAnimateOnMount&&e.parent){let{parent:n}=e,s=S(n,t);if(n.enteringChildren&&s){let{delayChildren:t}=s.transition||{};i.delay=to(n.enteringChildren,e,t)}}return{animation:t,options:i}}))}if(d.size){let t={};if("boolean"!=typeof o.initial){let i=S(e,Array.isArray(o.initial)?o.initial[0]:o.initial);i&&i.transition&&(t.transition=i.transition)}d.forEach(i=>{let n=e.getBaseTarget(i),s=e.getValue(i);s&&(s.liveStyle=!0),t[i]=n??null}),u.push({animation:t})}let g=!!u.length;return n&&(!1===o.initial||o.initial===o.animate)&&!e.manuallyAnimateOnMount&&(g=!1),n=!1,s=!1,g?t(u):Promise.resolve()}return{animateChanges:r,setActive:function(t,n){if(i[t].isActive===n)return Promise.resolve();
1e.variantChildren?.forEach(e=>e.animationState?.setActive(t,n)),i[t].isActive=n;let s=r(t);for(let e in i)i[e].protectedKeys={};return s},setAnimateFunction:function(i){t=i(e)},getState:()=>i,reset:()=>{i=tv(),s=!0}}}(e))}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();(0,tc.isAnimationControls)(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}},exit:{Feature:class extends T{constructor(){super(...arguments),this.id=ty++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===i)return;if(e&&!1===i){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if("string"==typeof e){let i=S(this.node,e,t);if(i){let{transition:e,transitionEnd:t,...n}=i;for(let e in n)this.node.getValue(e)?.jump(n[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let n=this.node.animationState.setActive("exit",!e);t&&!e&&n.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}}],28201),e.s(["eachAxis",0,function(e){return[e("x"),e("y")]}],92672),e.s(["addDomEvent",0,function(e,t,i,n={passive:!0}){return e.addEventListener(t,i,n),()=>e.removeEventListener(t,i)}],65869);let tb={x:!1,y:!1};e.s(["isDragActive",0,function(){return tb.x||tb.y},"isDragging",0,tb],97719),e.s(["setDragLock",0,function(e){if("x"===e||"y"===e)if(tb[e])return null;else return tb[e]=!0,()=>{tb[e]=!1};return tb.x||tb.y?null:(tb.x=tb.y=!0,()=>{tb.x=tb.y=!1})}],57318);function tA(e){return e.max-e.min}function tw(e,t,i,n=.5){e.origin=n,e.originPoint=(0,X.mixNumber)(t.min,t.max,e.origin),e.scale=tA(i)/tA(t),e.translate=(0,X.mixNumber)(i.min,i.max,e.origin)-e.originPoint,(e.scale>=.9999&&e.scale<=1.0001||isNaN(e.scale))&&(e.scale=1),(e.translate>=-.01&&e.translate<=.01||isNaN(e.translate))&&(e.translate=0)}function tT(e,t,i,n=0){e.min=(n?(0,X.mixNumber)(i.min,i.max,n):i.min)+t.min,e.max=e.min+tA(t)}function tx(e,t,i,n=0){let s=n?(0,X.mixNumber)(i.min,i.max,n):i.min;e.min=t.min-s,e.max=e.min+tA(t)}e.s(["calcBoxDelta",0,function(e,t,i,n){tw(e.x,t.x,i.x,n?n.originX:void 0),tw(e.y,t.y,i.y,n?n.originY:void 0)},"calcLength",0,tA,"calcRelativeBox",0,function(e,t,i,n){tT(e.x,t.x,i.x,n?.x),tT(e.y,t.y,i.y,n?.y)},"calcRelativePosition",0,function(e,t,i,n){tx(e.x,t.x,i.x,n?.x),tx(e.y,t.y,i.y,n?.y)},"isNear",0,function(e,t,i){return Math.abs(e-t)<=i}],13316)},21496,e=>{"use strict";e.s(["isObject",0,function(e){return"object"==typeof e&&null!==e}])},50977,90273,27772,53422,94801,56264,81103,24785,e=>{"use strict";let t,i;var n=e.i(36656),s=e.i(70919),a=e.i(27684),r=e.i(67682),o=e.i(92672),l=e.i(79514),u=e.i(64646),d=e.i(50669),h=e.i(2225),c=e.i(70820),m=e.i(65869),p=e.i(57318),g=e.i(9138),f=e.i(13316),v=e.i(21496);function y(e){return(0,v.isObject)(e)&&"ownerSVGElement"in e}function b(e,t,i){if(null==e)return[];if(e instanceof EventTarget)return[e];if("string"==typeof e){let n=document;t&&(n=t.current);let s=i?.[e]??n.querySelectorAll(e);return s?Array.from(s):[]}return Array.from(e).filter(e=>null!=e)}e.s(["isSVGElement",0,y],90273),e.s(["resolveElements",0,b],27772);let A=new WeakMap,w=(e,t,i)=>(n,s)=>s&&s[0]?s[0][e+"Size"]:y(n)&&"getBBox"in n?n.getBBox()[t]:n[i],T=w("inline","width","offsetWidth"),x=w("block","height","offsetHeight");function S({target:e,borderBoxSize:t}){A.get(e)?.forEach(i=>{i(e,{get width(){return T(e,t)},get height(){return x(e,t)}})})}function I(e){e.forEach(S)}let E=new Set;function P(e,n){let s;return"function"==typeof e?(E.add(e),i||(i=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};
1E.forEach(t=>t(e))},window.addEventListener("resize",i)),()=>{E.delete(e),E.size||"function"!=typeof i||(window.removeEventListener("resize",i),i=void 0)}):(!t&&"u">typeof ResizeObserver&&(t=new ResizeObserver(I)),(s=b(e)).forEach(e=>{let i=A.get(e);i||(i=new Set,A.set(e,i)),i.add(n),t?.observe(e)}),()=>{s.forEach(e=>{let i=A.get(e);i?.delete(n),i?.size||t?.unobserve(e)})})}let D=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),R=new Set(["INPUT","SELECT","TEXTAREA"]);function k(e){return R.has(e.tagName)||!0===e.isContentEditable}e.s(["isElementKeyboardAccessible",0,function(e){return D.has(e.tagName)||!0===e.isContentEditable},"isElementTextInput",0,k],53422);var L=e.i(26809);let M=e=>"mouse"===e.pointerType?"number"!=typeof e.button||e.button<=0:!1!==e.isPrimary;function C(e){return{point:{x:e.pageX,y:e.pageY}}}e.s(["isPrimaryPointer",0,M],94801);let V=e=>t=>M(t)&&e(t,C(t));function j(e,t,i,n){return(0,m.addDomEvent)(e,t,V(i),n)}e.s(["addPointerInfo",0,V,"extractEventInfo",0,C],56264);let O=({current:e})=>e?e.ownerDocument.defaultView:null;var B=e.i(61046),F=e.i(92727),N=e.i(90692);let G=(e,t)=>Math.abs(e-t),U=new Set(["auto","scroll"]);class W{constructor(e,t,{transformPagePoint:i,contextWindow:n=window,dragSnapToOrigin:s=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{var e,t;if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=H(this.lastRawMoveEventInfo,this.transformPagePoint));let i=q(this.lastMoveEventInfo,this.history),n=null!==this.startEvent,s=(e=i.offset,t={x:0,y:0},Math.sqrt(G(e.x,t.x)**2+G(e.y,t.y)**2)>=this.distanceThreshold);if(!n&&!s)return;let{point:a}=i,{timestamp:o}=r.frameData;this.history.push({...a,timestamp:o});let{onStart:l,onMove:u}=this.handlers;n||(l&&l(this.lastMoveEvent,i),this.startEvent=this.lastMoveEvent),u&&u(this.lastMoveEvent,i)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=H(t,this.transformPagePoint),r.frame.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:i,onSessionEnd:n,resumeAnimation:s}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&s&&s(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=q("pointercancel"===e.type?this.lastMoveEventInfo:H(t,this.transformPagePoint),this.history);this.startEvent&&i&&i(e,a),n&&n(e,a)},!M(e))return;this.dragSnapToOrigin=s,this.handlers=t,this.transformPagePoint=i,this.distanceThreshold=a,this.contextWindow=n||window;const l=H(C(e),this.transformPagePoint),{point:u}=l,{timestamp:d}=r.frameData;this.history=[{...u,timestamp:d}];const{onSessionStart:h}=t;h&&h(e,q(l,this.history)),this.removeListeners=(0,F.pipe)(j(this.contextWindow,"pointermove",this.handlePointerMove),j(this.contextWindow,"pointerup",this.handlePointerUp),j(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(U.has(e.overflowX)||U.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let i=e===window,n=i?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},s={x:n.x-t.x,y:n.y-t.y};(0!==s.x||0!==s.y)&&(i?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=s.x,this.lastMoveEventInfo.point.y+=s.y):this.history.length>0&&(this.history[0].x-=s.x,this.history[0].y-=s.y),this.scrollPositions.set(e,n),r.frame.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),(0,r.cancelFrame)(this.updatePoint)}}function H(e,t){return t?{point:t(e.point)}:e}function z(e,t){return{x:e.x-t.x,y:e.y-t.y}}function q({point:e},t){return{point:e,delta:z(e,Y(t)),offset:z(e,t[0]),velocity:function(e){if(e.length<2)return{x:0,y:0};let t=e.length-1,i=null,n=Y(e);for(;t>=0&&(i=e[t],!(n.timestamp-i.timestamp>(0,N.secondsToMilliseconds)(.1)));)t--;if(!i)return{x:0,y:0};i===e[0]&&e.length>2&&n.timestamp-i.timestamp>
12*(0,N.secondsToMilliseconds)(.1)&&(i=e[1]);let s=(0,N.millisecondsToSeconds)(n.timestamp-i.timestamp);if(0===s)return{x:0,y:0};let a={x:(n.x-i.x)/s,y:(n.y-i.y)/s};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}(t)}}function Y(e){return e[e.length-1]}var K=e.i(41058),$=e.i(93858);function _(e,t,i){return{min:void 0!==t?e.min+t:void 0,max:void 0!==i?e.max+i-(e.max-e.min):void 0}}function X(e,t){let i=t.min-e.min,n=t.max-e.max;return t.max-t.min<e.max-e.min&&([i,n]=[n,i]),{min:i,max:n}}function J(e,t,i){return{min:Z(e,t),max:Z(e,i)}}function Z(e,t){return"number"==typeof e?e:e[t]||0}let Q=new WeakMap;class ee{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=(0,a.createBox)(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:i}={}){let{presenceContext:n}=this.visualElement;if(n&&!1===n.isPresent)return;let s=e=>{t&&this.snapToCursor(C(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:i,dragPropagation:n,onDragStart:s}=this.getProps();if(i&&!n&&(this.openDragLock&&this.openDragLock(),this.openDragLock=(0,p.setDragLock)(i),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),(0,o.eachAxis)(e=>{let t=this.getAxisMotionValue(e).get()||0;if(g.percent.test(t)){let{projection:i}=this.visualElement;if(i&&i.layout){let n=i.layout.layoutBox[e];n&&(t=(0,f.calcLength)(n)*(parseFloat(t)/100))}}this.originPoint[e]=t}),s&&r.frame.update(()=>s(e,t),!1,!0),(0,d.addValueToWillChange)(this.visualElement,"transform");let{animationState:a}=this.visualElement;a&&a.setActive("whileDrag",!0)},l=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:i,dragDirectionLock:n,onDirectionLock:s,onDrag:a}=this.getProps();if(!i&&!this.openDragLock)return;let{offset:o}=t;if(n&&null===this.currentDirection){this.currentDirection=function(e,t=10){let i=null;return Math.abs(e.y)>t?i="y":Math.abs(e.x)>t&&(i="x"),i}(o),null!==this.currentDirection&&s&&s(this.currentDirection);return}this.updateAxis("x",t.point,o),this.updateAxis("y",t.point,o),this.visualElement.render(),a&&r.frame.update(()=>a(e,t),!1,!0)},u=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},h=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:c}=this.getProps();this.panSession=new W(e,{onSessionStart:s,onStart:a,onMove:l,onSessionEnd:u,resumeAnimation:h},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:c,distanceThreshold:i,contextWindow:O(this.visualElement),element:this.visualElement.current})}stop(e,t){let i=e||this.latestPointerEvent,n=t||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!n||!i)return;let{velocity:a}=n;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&r.frame.postRender(()=>o(i,n))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,i){let{drag:n}=this.getProps();if(!i||!ei(e,n,this.currentDirection))return;let s=this.getAxisMotionValue(e),a=this.originPoint[e]+i[e];this.constraints&&this.constraints[e]&&(a=function(e,{min:t,max:i},n){return void 0!==t&&e<t?e=n?(0,c.mixNumber)(t,e,n.min):Math.max(e,t):void 0!==i&&e>i&&(e=n?(0,c.mixNumber)(i,e,n.max):Math.min(e,i)),e}(a,this.constraints[e],this.elastic[e])),s.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,n=this.constraints;e&&(0,B.isRefObject)(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):e&&i?this.constraints=function(e,{top:t,left:i,bottom:n,right:s}){return{x:_(e.x,i,s),y:_(e.y,t,n)}}(i.layoutBox,e):this.constraints=!1,this.elastic=function(e=.35){return!1===e?e=0:!0===e&&(e=.35),{x:J(e,"left","right"),y:J(e,"top","bottom")}}(t),n!==this.constraints&&!(0,B.isRefObject)(e)&&i&&this.constraints&&!this.hasMutatedConstraints&&(0,o.eachAxis)(e=>{var t,n;let s;!1!==this.constraints&&this.getAxisMotionValue(e)&&(this.constraints[e]=(t=i.layoutBox[e],n=this.constraints[e],s={},void 0!==n.min&&(s.min=n.min-t.min),void 0!==n.max&&(s.max=n.max-t.min),s))})}resolveRefConstraints(){var e;let{dragConstraints:t,onMeasureDragConstraints:i}=this.getProps();if(!t||!(0,B.isRefObject)(t))return!1;let n=t.current;(0,L.invariant)(null!==n,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:s}=this.visualElement;if(!s||!s.layout)return!1;let a=(0,l.measurePageBox)(n,s.root,this.visualElement.getTransformPagePoint()),r=(e=s.layout.layoutBox,{x:X(e.x,a.x),y:X(e.y,a.y)});if(i){let e=i((0,u.convertBoxToBoundingBox)(r));this.hasMutatedConstraints=!!e,e&&(r=(0,u.convertBoundingBoxToBox)(e))}return r}startAnimation(e){let{drag:t,dragMomentum:i,dragElastic:n,dragTransition:s,dragSnapToOrigin:a,onDragTransitionEnd:r}=this.getProps(),l=this.constraints||{};return Promise.all((0,o.eachAxis)(r=>{if(!ei(r,t,this.currentDirection))return;let o=l&&l[r]||{};(!0===a||a===r)&&(o={min:0,max:0});let u={type:"inertia",velocity:i?e[r]:0,bounceStiffness:n?200:1e6,bounceDamping:n?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...s,...o};return this.startAxisValueAnimation(r,u)})).then(r)}startAxisValueAnimation(e,t){let i=this.getAxisMotionValue(e);return(0,d.addValueToWillChange)(this.visualElement,e),i.start((0,h.animateMotionValue)(e,i,0,t,this.visualElement,!1))}stopAnimation(){(0,o.eachAxis)(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,i=this.visualElement.getProps();return i[t]||this.visualElement.getValue(e,(i.initial?i.initial[e]:void 0)||0)}snapToCursor(e){(0,o.eachAxis)(t=>{let{drag:i}=this.getProps();if(!ei(t,i,this.currentDirection))return;let{projection:n}=this.visualElement,s=this.getAxisMotionValue(t);if(n&&n.layout){let{min:i,max:a}=n.layout.layoutBox[t],r=s.get()||0;s.set(e[t]-(0,c.mixNumber)(i,a,.5)+r)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:i}=this.visualElement;if(!(0,B.isRefObject)(t)||!i||!this.constraints)return;this.stopAnimation();let n={x:0,y:0};(0,o.eachAxis)(e=>{let t=this.getAxisMotionValue(e);if(t&&!1!==this.constraints){var i,s;let a,r,o,l=t.get();n[e]=(i={min:l,max:l},s=this.constraints[e],a=.5,r=(0,f.calcLength)(i),(o=(0,f.calcLength)(s))>r?a=(0,K.progress)(s.min,s.max-r,i.min):r>o&&(a=(0,K.progress)(i.min,i.max-o,s.min)),(0,$.clamp)(0,1,a))}});let{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.constraints=!1,this.resolveConstraints(),(0,o.eachAxis)(t=>{if(!ei(t,e,null))return;let i=this.getAxisMotionValue(t),{min:s,max:a}=this.constraints[t];i.set((0,c.mixNumber)(s,a,n[t]))}),this.visualElement.render()}addListeners(){let e;if(!this.visualElement.current)return;Q.set(this.visualElement,this);let t=this.visualElement.current,i=j(t,"pointerdown",e=>{let{drag:i,dragListener:n=!0}
1=this.getProps(),s=e.target,a=s!==t&&k(s);i&&n&&!a&&this.start(e)}),n=()=>{var i,n,s;let a,r,{dragConstraints:o}=this.getProps();(0,B.isRefObject)(o)&&o.current&&(this.constraints=this.resolveRefConstraints(),e||(i=t,n=o.current,a=P(i,et(s=()=>this.scalePositionWithinConstraints())),r=P(n,et(s)),e=()=>{a(),r()}))},{projection:s}=this.visualElement,a=s.addEventListener("measure",n);s&&!s.layout&&(s.root&&s.root.updateScroll(),s.updateLayout()),r.frame.read(n);let l=(0,m.addDomEvent)(window,"resize",()=>this.scalePositionWithinConstraints()),u=s.addEventListener("didUpdate",({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&((0,o.eachAxis)(t=>{let i=this.getAxisMotionValue(t);i&&(this.originPoint[t]+=e[t].translate,i.set(i.get()+e[t].translate))}),this.visualElement.render())});return()=>{l(),i(),a(),u&&u(),e&&e()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:i=!1,dragPropagation:n=!1,dragConstraints:s=!1,dragElastic:a=.35,dragMomentum:r=!0}=e;return{...e,drag:t,dragDirectionLock:i,dragPropagation:n,dragConstraints:s,dragElastic:a,dragMomentum:r}}}function et(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function ei(e,t,i){return(!0===t||t===e)&&(null===i||i===e)}class en extends n.Feature{constructor(e){super(e),this.removeGroupControls=s.noop,this.removeListeners=s.noop,this.controls=new ee(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||s.noop}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}}e.s(["DragGesture",0,en],50977);var es=n;let ea=e=>(t,i)=>{e&&r.frame.update(()=>e(t,i),!1,!0)};class er extends es.Feature{constructor(){super(...arguments),this.removePointerDownListener=s.noop}onPointerDown(e){this.session=new W(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:O(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:i,onPanEnd:n}=this.node.getProps();return{onSessionStart:ea(e),onStart:ea(t),onMove:ea(i),onEnd:(e,t)=>{delete this.session,n&&r.frame.postRender(()=>n(e,t))}}}mount(){this.removePointerDownListener=j(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}e.s(["PanGesture",0,er],81103),e.s(["globalProjectionState",0,{hasAnimatedSinceResize:!0,hasEverUpdated:!1}],24785)},45575,e=>{"use strict";var t=e.i(29647),i=e.i(63044);e.s(["usePresence",0,function(e=!0){let n=(0,t.useContext)(i.PresenceContext);if(null===n)return[!0,null];let{isPresent:s,onExitComplete:a,register:r}=n,o=(0,t.useId)();(0,t.useEffect)(()=>{if(e)return r(o)},[e]);let l=(0,t.useCallback)(()=>e&&a&&a(o),[o,a,e]);return!s&&a?[!1,l]:[!0]}])},82685,48777,49921,28437,26142,44312,e=>{"use strict";var t=e.i(50977),i=e.i(81103),n=e.i(4417),s=e.i(24785),a=e.i(67682),r=e.i(27139),o=e.i(29647),l=e.i(45575),u=e.i(32685),d=e.i(13703);let h=!1;class c extends o.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:i,layoutId:n}=this.props,{projection:a}=e;a&&(t.group&&t.group.add(a),i&&i.register&&n&&i.register(a),h&&a.root.didUpdate(),a.addEventListener("animationComplete",()=>{this.safeToRemove()}),a.setOptions({...a.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),s.globalProjectionState.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:i,drag:n,isPresent:s}=this.props,{projection:r}=i;return r&&(r.isPresent=s,e.layoutDependency!==t&&r.setOptions({...r.options,layoutDependency:t}),h=!0,n||e.layoutDependency!==t||void 0===t||e.isPresent!==s?r.willUpdate():this.safeToRemove(),e.isPresent!==s&&(s?r.promote():r.relegate()||a.frame.postRender(()=>{let e=r.getStack();e&&e.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:i}=e;i&&(i.options.layoutAnchor=t,i.root.didUpdate(),r.microtask.postRender(()=>{!i.currentAnimation&&i.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:i}=this.props,{projection:n}=e;h=!0,n&&(n.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(n),i&&i.deregister&&i.deregister(n))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}}function m(e){let[t,i]=(0,l.usePresence)(),s=(0,o.useContext)(u.LayoutGroupContext);return(0,n.jsx)(c,{...e,layoutGroup:s,switchLayoutGroup:(0,o.useContext)(d.SwitchLayoutGroupContext),isPresent:t,safeToRemove:i})}e.s(["MeasureLayout",0,m],48777);var p=e.i(96457),g=e.i(93858),f=e.i(70919),v=e.i(2225),y=e.i(2915),b=e.i(36585),A=e.i(30017),w=e.i(38526),T=e.i(57798),x=e.i(39068),S=e.i(31772),I=e.i(94907);e.i(90692);var E=e.i(90273),P=e.i(70820),D=e.i(91945),R=e.i(9138),k=e.i(41058),L=e.i(71559);let M=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],C=M.length,V=e=>"string"==typeof e?parseFloat(e):e,j=e=>"number"==typeof e||R.px.test(e);function O(e,t){return void 0!==e[t]?e[t]:e.borderRadius}let B=N(0,.5,L.circOut),F=N(.5,.95,f.noop);function N(e,t,i){return n=>n<e?0:n>
1t?1:i((0,k.progress)(e,t,n))}function G(e,t){e.min=t.min,e.max=t.max}function U(e,t){G(e.x,t.x),G(e.y,t.y)}function W(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var H=e.i(56731),z=e.i(13316);function q(e,t,i,n,s){return e-=t,e=(0,H.scalePoint)(e,1/i,n),void 0!==s&&(e=(0,H.scalePoint)(e,1/s,n)),e}function Y(e,t,[i,n,s],a,r){!function(e,t=0,i=1,n=.5,s,a=e,r=e){if(R.percent.test(t)&&(t=parseFloat(t),t=(0,P.mixNumber)(r.min,r.max,t/100)-r.min),"number"!=typeof t)return;let o=(0,P.mixNumber)(a.min,a.max,n);e===a&&(o-=t),e.min=q(e.min,t,i,o,s),e.max=q(e.max,t,i,o,s)}(e,t[i],t[n],t[s],t.scale,a,r)}let K=["x","scaleX","originX"],$=["y","scaleY","originY"];function _(e,t,i,n){Y(e.x,t,K,i?i.x:void 0,n?n.x:void 0),Y(e.y,t,$,i?i.y:void 0,n?n.y:void 0)}var X=e.i(27684);function J(e){return 0===e.translate&&1===e.scale}function Z(e){return J(e.x)&&J(e.y)}function Q(e,t){return e.min===t.min&&e.max===t.max}function ee(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function et(e,t){return ee(e.x,t.x)&&ee(e.y,t.y)}function ei(e){return(0,z.calcLength)(e.x)/(0,z.calcLength)(e.y)}function en(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}var es=e.i(57307);class ea{constructor(){this.members=[]}add(e){(0,es.addUniqueItem)(this.members,e);for(let t=this.members.length-1;t>=0;t--){let i=this.members[t];if(i===e||i===this.lead||i===this.prevLead)continue;let n=i.instance;n&&!1!==n.isConnected||i.snapshot||((0,es.removeItem)(this.members,i),i.unmount())}e.scheduleRender()}remove(e){if((0,es.removeItem)(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(!1!==e.isPresent&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let i=this.lead;if(e!==i&&(this.prevLead=i,this.lead=e,e.show(),i)){i.updateSnapshot(),e.scheduleRender();let{layoutDependency:n}=i.options,{layoutDependency:s}=e.options;(void 0===n||n!==s)&&(e.resumeFrom=i,t&&(i.preserveOpacity=!0),i.snapshot&&(e.snapshot=i.snapshot,e.snapshot.latestValues=i.animationValues||i.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),!1===e.options.crossfade&&i.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}var er=e.i(92672);let eo=(e,t)=>e.depth-t.depth;class el{constructor(){this.children=[],this.isDirty=!1}add(e){(0,es.addUniqueItem)(this.children,e),this.isDirty=!0}remove(e){(0,es.removeItem)(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(eo),this.isDirty=!1,this.children.forEach(e)}}var eu=e.i(61417);let ed={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},eh=["","X","Y","Z"],ec=0;function em(e,t,i,n){let{latestValues:s}=t;s[e]&&(i[e]=s[e],t.setStaticValue(e,0),n&&(n[e]=0))}function ep({attachResizeListener:e,defaultParent:t,measureScroll:i,checkIsScrollRoot:n,resetTransform:o}){return class{constructor(e={},i=t?.()){this.id=ec++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,I.statsBuffer.value&&(ed.nodes=ed.calculatedTargetDeltas=ed.calculatedProjections=0),this.nodes.forEac
1h(ev),this.nodes.forEach(eE),this.nodes.forEach(eP),this.nodes.forEach(ey),I.statsBuffer.addProjectionMetrics&&I.statsBuffer.addProjectionMetrics(ed)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=i?i.root||i:this,this.path=i?[...i.path,i]:[],this.parent=i,this.depth=i?i.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new el)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new p.SubscriptionManager),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let i=this.eventHandlers.get(e);i&&i.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=(0,E.isSVGElement)(t)&&(!(0,E.isSVGElement)(t)||"svg"!==t.tagName),this.instance=t;let{layoutId:i,layout:n,visualElement:r}=this.options;if(r&&!r.current&&r.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(n||i)&&(this.isLayoutDirty=!0),e){let i,n=0,r=()=>this.root.updateBlockedByResize=!1;a.frame.read(()=>{n=window.innerWidth}),e(t,()=>{let e=window.innerWidth;if(e!==n){let t,o;n=e,this.root.updateBlockedByResize=!0,i&&i(),t=T.time.now(),o=({timestamp:e})=>{let i=e-t;i>=250&&((0,a.cancelFrame)(o),r(i-250))},a.frame.setup(o,!0),i=()=>(0,a.cancelFrame)(o),s.globalProjectionState.hasAnimatedSinceResize&&(s.globalProjectionState.hasAnimatedSinceResize=!1,this.nodes.forEach(eI))}})}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&r&&(i||n)&&this.addEventListener("didUpdate",({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:i,layout:n})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let s=this.options.transition||r.getDefaultTransition()||eC,{onLayoutAnimationStart:a,onLayoutAnimationComplete:o}=r.getProps(),l=!this.targetLayout||!et(this.targetLayout,n),u=!t&&i;if(this.options.layoutRoot||this.resumeFrom||u||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...(0,w.getValueTransition)(s,"layout"),onPlay:a,onComplete:o};(r.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,u)}else t||eI(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=n})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),(0,a.cancelFrame)(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(eD),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function e(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;let{visualElement:i}=t.options;if(!i)return;let n=(0,A.getOptimisedAppearId)(i);if(window.MotionHasOptimisedAnimation(n,"transform")){let{layout:e,layoutId:i}=t.options;window.MotionCancelOptimisedAnimation(n,"transform",a.frame,!(e||i))}let{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&e(s)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,("string"==typeof t.latestValues.x||"string"==typeof t.latestValues.y)&&(t.isLayoutDirty=!0),t.updateScroll("snapshot"),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:i}=this.options;if(void 0===t&&!i)return;let n=this.getTransformTemplate();this.prevTransformTemplateValue=n?n(this.latestValues,""):void 0,this.updateSnapshot(),e&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEac
1h(ew),this.nodes.forEach(eA);return}if(this.animationId<=this.animationCommitId)return void this.nodes.forEach(eT);this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(ex),this.nodes.forEach(eS),this.nodes.forEach(eg),this.nodes.forEach(ef)):this.nodes.forEach(eT),this.clearAllSnapshots();let e=T.time.now();a.frameData.delta=(0,g.clamp)(0,1e3/60,e-a.frameData.timestamp),a.frameData.timestamp=e,a.frameData.isProcessing=!0,a.frameSteps.update.process(a.frameData),a.frameSteps.preRender.process(a.frameData),a.frameSteps.render.process(a.frameData),a.frameData.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,r.microtask.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(eb),this.sharedNodes.forEach(eR)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,a.frame.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){a.frame.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||(0,z.calcLength)(this.snapshot.measuredBox.x)||(0,z.calcLength)(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||(this.layoutCorrected=(0,X.createBox)()),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify("LayoutMeasure",this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e="measure"){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=n(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:i(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!o)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!Z(this.projectionDelta),i=this.getTransformTemplate(),n=i?i(this.latestValues,""):void 0,s=n!==this.prevTransformTemplateValue;e&&this.instance&&(t||(0,eu.hasTransform)(this.latestValues)||s)&&(o(this.instance,n),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){var t;let i=this.measurePageBox(),n=this.removeElementScroll(i);return e&&(n=this.removeTransform(n)),eO((t=n).x),eO(t.y),{animationId:this.root.animationId,measuredBox:i,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return(0,X.createBox)();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(eF))){let{scroll:e}=this.root;e&&((0,H.translateAxis)(t.x,e.offset.x),(0,H.translateAxis)(t.y,e.offset.y))}return t}removeElementScroll(e){let t=(0,X.createBox)();if(U(t,e),this.scroll?.wasRoot)return t;for(let i=0;i<this.path.length;i++){let n=this.path[i],{scroll:s,options:a}=n;n!==this.root&&s&&a.layoutScroll&&(s.wasRoot&&U(t,e),(0,H.translateAxis)(t.x,s.offset.x),(0,H.translateAxis)(t.y,s.offset.y))}return t}applyTransform(e,t=!1,i){let n=i||(0,X.createBox)();U(n,e);for(let e=0;e<this.path.length;e++){let i=this.path[e];!t&&i.options.layoutScroll&&i.scroll&&i!==i.root&&((0,H.translateAxis)(n.x,-i.scroll.offset.x),(0,H.translateAxis)(n.y,-i.scroll.offset.y)),(0,eu.hasTransform)(i.latestValues)&&(0,H.transformBox)(n,i.latestValues,i.layout?.layoutBox)}return(0,eu.hasTransform)(this.latestValues)&&(0,H.transformBox)(n,this.latestValues,this.layout?.layoutBox),n}removeTransform(e){let t=(0,X.createBox)();U(t,e);for(let e=0;e<this.path.length;e++){let i,n=this.path[e];(0,eu.hasTransform)(n.latestValues)&&(n.instance&&((0,eu.hasScale)(n.latestValues)&&n.updateSnapshot(),U(i=(0,X.createBox)(),n.measurePageBox())),_(t,n.latestValues,n.snapshot?.layoutBox,i))}return(0,eu.hasTransform)(this.latestValues)&&_(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:void 0===e.crossfade||e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==a.frameData.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=t.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=t.
1isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=t.isSharedProjectionDirty);let i=!!this.resumingFrom||this!==t;if(!(e||i&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:n,layoutId:s}=this.options;if(!this.layout||!(n||s))return;this.resolvedRelativeTargetAt=a.frameData.timestamp;let r=this.getClosestProjectingParent();r&&this.linkedParentVersion!==r.layoutVersion&&!r.options.layoutRoot&&this.removeRelativeTarget(),this.targetDelta||this.relativeTarget||(!1!==this.options.layoutAnchor&&r&&r.layout?this.createRelativeTarget(r,this.layout.layoutBox,r.layout.layoutBox):this.removeRelativeTarget()),(this.relativeTarget||this.targetDelta)&&(this.target||(this.target=(0,X.createBox)(),this.targetWithTransforms=(0,X.createBox)()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),(0,z.calcRelativeBox)(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):U(this.target,this.layout.layoutBox),(0,H.applyBoxDelta)(this.target,this.targetDelta)):U(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,!1!==this.options.layoutAnchor&&r&&!!r.resumingFrom==!!this.resumingFrom&&!r.options.layoutScroll&&r.target&&1!==this.animationProgress?this.createRelativeTarget(r,this.target,r.target):this.relativeParent=this.relativeTarget=void 0),I.statsBuffer.value&&ed.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||(0,eu.hasScale)(this.parent.latestValues)||(0,eu.has2DTranslate)(this.parent.latestValues)))if(this.parent.isProjecting())return this.parent;else return this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,i){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=(0,X.createBox)(),this.relativeTargetOrigin=(0,X.createBox)(),(0,z.calcRelativePosition)(this.relativeTargetOrigin,t,i,this.options.layoutAnchor||void 0),U(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,i=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(i=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(i=!1),this.resolvedRelativeTargetAt===a.frameData.timestamp&&(i=!1),i)return;let{layout:n,layoutId:s}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(n||s))return;U(this.layoutCorrected,this.layout.layoutBox);let r=this.treeScale.x,o=this.treeScale.y;(0,H.applyTreeDeltas)(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=(0,X.createBox)());let{target:l}=e;if(!l){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(W(this.prevProjectionDelta.x,this.projectionDelta.x),W(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),(0,z.calcBoxDelta)(this.projectionDelta,this.layoutCorrected,l,this.latestValues),this.treeScale.x===r&&this.treeScale.y===o&&en(this.projectionDelta.x,this.prevProjectionDelta.x)&&en(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",l)),I.statsBuffer.value&&ed.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=(0,X.createDelta)(),this.projectionDelta=(0,X.createDelta)(),this.projectionDeltaWithTransform=(0,X.createDelta)()}setAnimationOrigin(e,t=!1){let i,n=this.snapshot,s=n?n.latestValues:{},a={...this.latestValues},r=(0,X.createDelta)();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=(0,X.createBox)(),l=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),u=this.getStack(),d=!u||u.members.length<=1,h=!!(l&&!d&&!0===this.options.crossfade&&!this.path.some(eM));this.animationProgress=0,this.mixTargetDelta=t=>{let n=t/1e3;if(ek(r.x,e.x,n),ek(r.y,e.y,n),this.setTargetDelta(r),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var u,c,m,p,g,f;(0,z.calcRelativePosition)(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),m=this.relativeTarget,p=this.relativeTargetOrigin,g=o,f=n,eL(m.x,p.x,g.x,f),eL(m.y,p.y,g.y,f),i&&(u=this.relativeTarget,c=i,Q(u.x,c.x)&&Q(u.y,c.y))&&(this.isProjectionDirty=!1),i||(i=(0,X.createBox)()),U(i,this.relativeTarget)}l&&(this.animationValues=a,function(e,t,i,n,s,a){s?(e.opacity=(0,P.mixNumber)(0,i.opacity??1,B(n)),e.opacityExit=(0,P.mixNumber)(t.o
1pacity??1,0,F(n))):a&&(e.opacity=(0,P.mixNumber)(t.opacity??1,i.opacity??1,n));for(let s=0;s<C;s++){let a=M[s],r=O(t,a),o=O(i,a);(void 0!==r||void 0!==o)&&(r||(r=0),o||(o=0),0===r||0===o||j(r)===j(o)?(e[a]=Math.max((0,P.mixNumber)(V(r),V(o),n),0),(R.percent.test(o)||R.percent.test(r))&&(e[a]+="%")):e[a]=o)}(t.rotate||i.rotate)&&(e.rotate=(0,P.mixNumber)(t.rotate||0,i.rotate||0,n))}(a,s,this.latestValues,n,h,d)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(1e3*!!this.options.layoutRoot)}startAnimation(e){this.notifyListeners("animationStart"),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&((0,a.cancelFrame)(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=a.frame.update(()=>{var t,i,n;let a;s.globalProjectionState.hasAnimatedSinceResize=!0,S.activeAnimations.layout++,this.motionValue||(this.motionValue=(0,y.motionValue)(0)),this.motionValue.jump(0,!1),this.currentAnimation=(t=this.motionValue,i=[0,1e3],n={...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{S.activeAnimations.layout--},onComplete:()=>{S.activeAnimations.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}},(a=(0,b.isMotionValue)(t)?t:(0,y.motionValue)(t)).start((0,v.animateMotionValue)("",a,i,n)),a.animation),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:i,layout:n,latestValues:s}=e;if(t&&i&&n){if(this!==e&&this.layout&&n&&eB(this.options.animationType,this.layout.layoutBox,n.layoutBox)){i=this.target||(0,X.createBox)();let t=(0,z.calcLength)(this.layout.layoutBox.x);i.x.min=e.target.x.min,i.x.max=i.x.min+t;let n=(0,z.calcLength)(this.layout.layoutBox.y);i.y.min=e.target.y.min,i.y.max=i.y.min+n}U(t,i),(0,H.transformBox)(t,s),(0,z.calcBoxDelta)(this.projectionDeltaWithTransform,this.layoutCorrected,t,s)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new ea),this.sharedNodes.get(e).add(t);let i=t.options.initialPromotionConfig;t.promote({transition:i?i.transition:void 0,preserveFollowOpacity:i&&i.shouldPreserveFollowOpacity?i.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return!e||e.lead===this}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:i}={}){let n=this.getStack();n&&n.promote(this,i),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return!!e&&e.relegate(this)}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:i}=e;if((i.z||i.rotate||i.rotateX||i.rotateY||i.rotateZ||i.skewX||i.skewY)&&(t=!0),!t)return;let n={};i.z&&em("z",e,n,this.animationValues);for(let t=0;t<eh.length;t++)em(`rotate${eh[t]}`,e,n,this.animationValues),em(`skew${eh[t]}`,e,n,this.animationValues);for(let t in e.render(),n)e.setStaticValue(t,n[t]),this.animationValues&&(this.animationValues[t]=n[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility="hidden";return}let i=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility="",e.opacity="",e.pointerEvents=(0,D.resolveMotionValue)(t?.pointerEvents)||"",e.transform=i?i(this.latestValues,""):"none";return}let n=this.getLead();if(!this.projectionDelta||!this.layout||!n.target){this.options.layoutId&&(e.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,e.pointerEvents=(0,D.resolveMotionValue)(t?.pointerEvents)||""),this.hasProjected&&!(0,eu.hasTransform)(this.latestValues)&&(e.transform=i?i({},""):"none",this.hasProjected=!1);return}e.visibility="";let s=n.animationValues||n.latestValues;this.applyTransformsToTarget();let a=function(e,t,i){let n="",s=e.x.translate/t.x,a=e.y.translate/t.y,r=i?.z||0;if((s||a||r)&&(n=`translate3d(${s}px, ${a}px, ${r}px) `),(1!==t.x||1!==t.y)&&(n+=`scale(${1/t.x}, ${1/t.y}) `),i){let{transformPerspective:e,rotate:t,rotateX:s,rotateY:a,skewX:r,skewY:o}=i;e&&(n=`perspective(${e}px) ${n}`),t&&(n+=`rotate(${t}deg) `),s&&(n+=`rotateX(${s}deg) `),a&&(n+=`rotateY(${a}deg) `),r&&(n+=`skewX(${r}deg) `),o&&(n+=`skewY(${o}deg) `)}let o=e.x.scale*t.x,l=e.y.scale*t.y;return(1!==o||1!==l)&&(n+=`scale(${o}, ${l})`),n||"none"}(this.projectionDeltaWithTransform,this.treeScale,s);i&&(a=i(s,a)),e.transform=a;let{x:r,y:o}=this.projectionDelta;for(let t in e.transformOrigin=`${100*r.origin}% ${100*o.origin}% 0`,n.animationValues?e.opacity=n===this?s.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:s.opacityExit:e.opacity=n===this?void 0!==s.opacity?s.opacity:"":void 0!==s.opacityExit?s.opacityExit:0,x.scaleCorrectors){if
1(void 0===s[t])continue;let{correct:i,applyTo:r,isCSSVariable:o}=x.scaleCorrectors[t],l="none"===a?s[t]:i(s[t],n);if(r){let t=r.length;for(let i=0;i<t;i++)e[r[i]]=l}else o?this.options.visualElement.renderState.vars[t]=l:e[t]=l}this.options.layoutId&&(e.pointerEvents=n===this?(0,D.resolveMotionValue)(t?.pointerEvents)||"":"none")}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(eA),this.root.sharedNodes.clear()}}}function eg(e){e.updateLayout()}function ef(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners("didUpdate")){let{layoutBox:i,measuredBox:n}=e.layout,{animationType:s}=e.options,a=t.source!==e.layout.source;if("size"===s)(0,er.eachAxis)(e=>{let n=a?t.measuredBox[e]:t.layoutBox[e],s=(0,z.calcLength)(n);n.min=i[e].min,n.max=n.min+s});else if("x"===s||"y"===s){let e="x"===s?"y":"x";G(a?t.measuredBox[e]:t.layoutBox[e],i[e])}else eB(s,t.layoutBox,i)&&(0,er.eachAxis)(n=>{let s=a?t.measuredBox[n]:t.layoutBox[n],r=(0,z.calcLength)(i[n]);s.max=s.min+r,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[n].max=e.relativeTarget[n].min+r)});let r=(0,X.createDelta)();(0,z.calcBoxDelta)(r,i,t.layoutBox);let o=(0,X.createDelta)();a?(0,z.calcBoxDelta)(o,e.applyTransform(n,!0),t.measuredBox):(0,z.calcBoxDelta)(o,i,t.layoutBox);let l=!Z(r),u=!1;if(!e.resumeFrom){let n=e.getClosestProjectingParent();if(n&&!n.resumeFrom){let{snapshot:s,layout:a}=n;
1if(s&&a){let r=e.options.layoutAnchor||void 0,o=(0,X.createBox)();(0,z.calcRelativePosition)(o,t.layoutBox,s.layoutBox,r);let l=(0,X.createBox)();(0,z.calcRelativePosition)(l,i,a.layoutBox,r),et(o,l)||(u=!0),n.options.layoutRoot&&(e.relativeTarget=l,e.relativeTargetOrigin=o,e.relativeParent=n)}}}e.notifyListeners("didUpdate",{layout:i,snapshot:t,delta:o,layoutDelta:r,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function ev(e){I.statsBuffer.value&&ed.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||(e.isSharedProjectionDirty=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=e.parent.isTransformDirty))}function ey(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function eb(e){e.clearSnapshot()}function eA(e){e.clearMeasurements()}function ew(e){e.isLayoutDirty=!0,e.updateLayout()}function eT(e){e.isLayoutDirty=!1}function ex(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function eS(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function eI(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function eE(e){e.resolveTargetDelta()}function eP(e){e.calcProjection()}function eD(e){e.resetSkewAndRotation()}function eR(e){e.removeLeadSnapshot()}function ek(e,t,i){e.translate=(0,P.mixNumber)(t.translate,0,i),e.scale=(0,P.mixNumber)(t.scale,1,i),e.origin=t.origin,e.originPoint=t.originPoint}function eL(e,t,i,n){e.min=(0,P.mixNumber)(t.min,i.min,n),e.max=(0,P.mixNumber)(t.max,i.max,n)}function eM(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}let eC={duration:.45,ease:[.4,0,.1,1]},eV=e=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),ej=eV("applewebkit/")&&!eV("chrome/")?Math.round:f.noop;function eO(e){e.min=ej(e.min),e.max=ej(e.max)}function eB(e,t,i){return"position"===e||"preserve-aspect"===e&&!(0,z.isNear)(ei(t),ei(i),.2)}function eF(e){return e!==e.root&&e.scroll?.wasRoot}var eN=e.i(65869);let eG=ep({attachResizeListener:(e,t)=>(0,eN.addDomEvent)(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),eU={current:void 0},eW=ep({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!eU.current){let e=new eG({});e.mount(window),e.setOptions({layoutScroll:!0}),eU.current=e}return eU.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>"fixed"===window.getComputedStyle(e).position});e.s(["HTMLProjectionNode",0,eW],49921);let eH={pan:{Feature:i.PanGesture},drag:{Feature:t.DragGesture,ProjectionNode:eW,MeasureLayout:m}};e.s(["drag",0,eH],82685);var ez=e.i(36656),eq=e.i(97719),eY=e.i(27772);function eK(e,t){let i=(0,eY.resolveElements)(e),n=new AbortController;return[i,{passive:!0,...t,signal:n.signal},()=>n.abort()]}e.s(["setupGesture",0,eK],28437);var e$=e.i(56264);function e_(e,t,i){let{props:n}=e;e.animationState&&n.whileHover&&e.animationState.setActive("whileHover","Start"===i);let s=n["onHover"+i];s&&a.frame.postRender(()=>s(t,(0,e$.extractEventInfo)(t)))}class eX extends ez.Feature{mount(){let{current:e}=this.node;e&&(this.unmount=function(e,t,i={}){let[n,s,a]=eK(e,i);return n.forEach(e=>{let i,n=!1,a=!1,r=t=>{i&&(i(t),i=void 0),e.removeEventListener("pointerleave",l)},o=e=>{n=!1,window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",o),a&&(a=!1,r(e))},l=e=>{if("touch"!==e.pointerType){if(n){a=!0;return}r(e)}};e.addEventListener("pointerenter",n=>{if("touch"===n.pointerType||(0,eq.isDragActive)())return;a=!1;let r=t(e,n);"function"==typeof r&&(i=r,e.addEventListener("pointerleave",l,s))},s),e.addEventListener("pointerdown",()=>{n=!0,window.addEventListener("pointerup",o,s),window.addEventListener("pointercancel",o,s)},s)}),a}(e,(e,t)=>(e_(this.node,t,"Start"),e=>e_(this.node,e,"End"))))}unmount(){}}e.s(["HoverGesture",0,eX],26142);var eJ=ez,eZ=e.i(92727);class eQ extends eJ.Feature{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch(t){e=!0}e&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=(0,eZ.pipe)((0,eN.addDomEvent)(this.node.current,"focus",()=>this.onFocus()),(0,eN.addDomEvent)(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}e.s(["FocusGesture",0,eQ],44312)},50438,e=>{"use strict";var t=e.i(21496);e.s(["isHTMLElement",0,function(e){return(0,t.isObject)(e)&&"offsetHeight"in e&&!("ownerSVGElement"in e)}])},57047,e=>{"use strict";var t=e.i(27725),i=e.i(51521),n=e.i(28201),s=e.i(82685),a=e.i(26142),r=e.i(44312),o=e.i(36656),l=e.i(50438),u=e.i(97719);let d=(e,t)=>!!t&&(e===t||d(e,t.parentElement));var h=e.i(94801),c=e.i(28437),m=e.i(53422);let p=new WeakSet;function g(e){return t=>{"Enter"===t.key&&e(t)}}function f(e,t){e.dispatchEvent(new PointerEvent("pointer"+t,{isPrimary:!0,bubbles:!0}))}function v(e){return(0,h.isPrimaryPointer)(e)&&!(0,u.isDragActive)()}let y=new WeakSet;var b=e.i(67682),A=e.i(56264);function w(e,t,i){let{props:n}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&n.whileTap&&e.animationState.setActive("whileTap","Start"===i);let s=n["onTap"+("End"===i?"":i)];s&&b.frame.postRender(()=>s(t,(0,A.extractEventInfo)(t)))}class T extends o.Feature{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:i}=this.node.props;this.unmount=function(e,t,i={}){let[n,s,a]=(0,c.setupGesture)(e,i),r=e=>{let n=e.currentTarget;if(!v(e)||y.has(e))return;p.add(n),i.stopPropagation&&y.add(e);let a=t(n,e),r=(e,t)=>{window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",l),p.has(n)&&p.delete(n),v(e)&&"function"==typeof a&&a(e,{success:t})},o=e=>{r(e,n===window||n===document||i.useGlobalTarget||d(n,e.target))},l=e=>{r(e,!1)};window.addEventListener("pointerup",o,s),window.addEventListener("pointercancel",l,s)};
1return n.forEach(e=>{(i.useGlobalTarget?window:e).addEventListener("pointerdown",r,s),(0,l.isHTMLElement)(e)&&(e.addEventListener("focus",e=>((e,t)=>{let i=e.currentTarget;if(!i)return;let n=g(()=>{if(p.has(i))return;f(i,"down");let e=g(()=>{f(i,"up")});i.addEventListener("keyup",e,t),i.addEventListener("blur",()=>f(i,"cancel"),t)});i.addEventListener("keydown",n,t),i.addEventListener("blur",()=>i.removeEventListener("keydown",n),t)})(e,s)),(0,m.isElementKeyboardAccessible)(e)||e.hasAttribute("tabindex")||(e.tabIndex=0))}),a}(e,(e,t)=>(w(this.node,t,"Start"),(e,{success:t})=>w(this.node,e,t?"End":"Cancel")),{useGlobalTarget:t,stopPropagation:i?.tap===!1})}unmount(){}}var x=o;let S=new WeakMap,I=new WeakMap,E=e=>{let t=S.get(e.target);t&&t(e)},P=e=>{e.forEach(E)},D={some:0,all:1};class R extends x.Feature{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var e;let t;this.stopObserver?.();let{viewport:i={}}=this.node.getProps(),{root:n,margin:s,amount:a="some",once:r}=i,o={root:n?n.current:void 0,rootMargin:s,threshold:"number"==typeof a?a:D[a]},l=e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,r&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",t);let{onViewportEnter:i,onViewportLeave:n}=this.node.getProps(),s=t?i:n;s&&s(e)};this.stopObserver=(e=this.node.current,t=function({root:e,...t}){let i=e||document;I.has(i)||I.set(i,{});let n=I.get(i),s=JSON.stringify(t);return n[s]||(n[s]=new IntersectionObserver(P,{root:e,...t})),n[s]}(o),S.set(e,l),t.observe(e),()=>{S.delete(e),t.unobserve(e)})}mount(){this.startObserver()}update(){if("u"<typeof IntersectionObserver)return;let{props:e,prevProps:t}=this.node;["amount","margin","root"].some(function({viewport:e={}},{viewport:t={}}={}){return i=>e[i]!==t[i]}(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}let k={inView:{Feature:R},tap:{Feature:T},focus:{Feature:r.FocusGesture},hover:{Feature:a.HoverGesture}};var L=e.i(49921),M=e.i(48777);let C={layout:{ProjectionNode:L.HTMLProjectionNode,MeasureLayout:M.MeasureLayout}},V={...n.animations,...k,...s.drag,...C},j=(0,i.createMotionProxy)(V,t.createDomVisualElement);e.s(["motion",0,j],57047)},2797,e=>{"use strict";var t=e.i(4417),i=e.i(29647),n=e.i(48240);let s=(0,i.createContext)(!1);e.s(["RevisitProvider",0,function({children:e}){let a=(0,n.usePathname)(),[r,o]=(0,i.useState)(!1);return(0,i.useLayoutEffect)(()=>{document.documentElement.removeAttribute("data-revisit");try{let e=`visited-${a}`;sessionStorage.getItem(e)?(document.documentElement.setAttribute("data-revisit",""),o(!0)):o(!1),sessionStorage.setItem(e,"1")}catch{}return()=>{document.documentElement.removeAttribute("data-revisit")}},[a]),(0,t.jsx)(s.Provider,{value:r,children:e})},"useIsRevisit",0,function(){return(0,i.useContext)(s)}])}]);

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.