@seatlayer/core 0.92.1 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ar-ALH3NJ5S.js +1 -0
- package/dist/be-L2ARGVAN.js +1 -0
- package/dist/bg-7664YNCK.js +1 -0
- package/dist/ca-FAFWDJLI.js +1 -0
- package/dist/{chunk-6FTHCEJW.js → chunk-A3ZL3R75.js} +1 -1
- package/dist/{chunk-S4H34KCG.js → chunk-CEIVHWRB.js} +1 -1
- package/dist/chunk-F7TP67LK.js +1 -0
- package/dist/{chunk-NKJS7MLW.js → chunk-M5X6G7FD.js} +1 -1
- package/dist/{chunk-K42NW62J.js → chunk-O3DGXAIC.js} +1 -1
- package/dist/{chunk-TXF2XAK4.js → chunk-TKYTTEJ2.js} +1 -1
- package/dist/{chunk-LQKUHEL6.js → chunk-U7CVRE4P.js} +1 -1
- package/dist/chunk-ZDETFCDH.js +1 -0
- package/dist/{chunk-NRZY5UXV.js → chunk-ZFWHAKAI.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +1 -1
- package/dist/core/layout/index.d.ts +1 -1
- package/dist/core/layout/index.js +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.js +1 -1
- package/dist/cs-X2R3ZSIS.js +1 -0
- package/dist/cy-TZAP42PI.js +1 -0
- package/dist/da-TXXYTHRV.js +1 -0
- package/dist/de-QTBBGD7H.js +1 -0
- package/dist/el-D5FP7YYV.js +1 -0
- package/dist/es-WBASDRVC.js +1 -0
- package/dist/et-DI4AFGPJ.js +1 -0
- package/dist/fa-475UAFRJ.js +1 -0
- package/dist/fi-VLWI3PVM.js +1 -0
- package/dist/fr-RIEQP5R4.js +1 -0
- package/dist/he-LMIQFGT5.js +1 -0
- package/dist/hr-HWWXJXMT.js +1 -0
- package/dist/hu-EGRPKEMV.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +26 -2
- package/dist/index.d.ts +26 -2
- package/dist/index.js +1 -1
- package/dist/it-QU2BONLV.js +1 -0
- package/dist/ja-GTPGN7AW.js +1 -0
- package/dist/ku-Q3XMN7GH.js +1 -0
- package/dist/localeLoaders-X2DDK7KL.js +1 -0
- package/dist/lt-ZGTEWYU4.js +1 -0
- package/dist/lv-3SV4YW2L.js +1 -0
- package/dist/nl-ALCHLVP2.js +1 -0
- package/dist/no-WRBQJCLX.js +1 -0
- package/dist/pl-4G6VEQZ3.js +1 -0
- package/dist/pt-OLA6ELAW.js +1 -0
- package/dist/ro-H5GU4DVI.js +1 -0
- package/dist/ru-BM3TYI5V.js +1 -0
- package/dist/sk-VU45GJYV.js +1 -0
- package/dist/sl-SYNAWIPU.js +1 -0
- package/dist/sr-6ZNE7HDN.js +1 -0
- package/dist/sv-52BO3IXQ.js +1 -0
- package/dist/{tableSizing-DUSD6Ksr.d.cts → tableSizing-Blb9Z_Tt.d.cts} +13 -1
- package/dist/{tableSizing-D7dXthik.d.ts → tableSizing-DmZYe2v2.d.ts} +13 -1
- package/dist/tr-SZJCCTGR.js +1 -0
- package/dist/uk-OSWQK4LA.js +1 -0
- package/dist/view3d/index.cjs +25 -25
- package/dist/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-JK2SPHB6.js +1 -0
- package/dist/zh-Hant-BYGBT56E.js +1 -0
- package/package.json +1 -1
- package/dist/ar-LFWD2QGQ.js +0 -1
- package/dist/be-EY5C4G3N.js +0 -1
- package/dist/bg-6K4MZR3F.js +0 -1
- package/dist/ca-EGP235FX.js +0 -1
- package/dist/chunk-D5ZLXZYU.js +0 -1
- package/dist/chunk-F45ZMLCU.js +0 -1
- package/dist/cs-ORLEKMIX.js +0 -1
- package/dist/cy-SOQ75PTT.js +0 -1
- package/dist/da-BQXNFQLH.js +0 -1
- package/dist/de-7NCFMKDX.js +0 -1
- package/dist/el-JRLNLFPD.js +0 -1
- package/dist/es-455FQSU3.js +0 -1
- package/dist/et-IZPVLXOT.js +0 -1
- package/dist/fa-7KW5P7GS.js +0 -1
- package/dist/fi-3GCPHLRX.js +0 -1
- package/dist/fr-JE2JHWLO.js +0 -1
- package/dist/he-SNAWKC2D.js +0 -1
- package/dist/hr-FBMQPEHL.js +0 -1
- package/dist/hu-5FA6YSLJ.js +0 -1
- package/dist/it-G7TVMSBG.js +0 -1
- package/dist/ja-XXFS7KXR.js +0 -1
- package/dist/ku-XNGWDNKF.js +0 -1
- package/dist/localeLoaders-KBBW44XO.js +0 -1
- package/dist/lt-UCSVRFCM.js +0 -1
- package/dist/lv-X4XMSWYY.js +0 -1
- package/dist/nl-5JRN5T6V.js +0 -1
- package/dist/no-LVSMOB3V.js +0 -1
- package/dist/pl-DQDXCKWT.js +0 -1
- package/dist/pt-5TKDH5QJ.js +0 -1
- package/dist/ro-2YAMHGG7.js +0 -1
- package/dist/ru-N5NY4PAA.js +0 -1
- package/dist/sk-KM77X2PZ.js +0 -1
- package/dist/sl-YSUPL47R.js +0 -1
- package/dist/sr-E75S6KSN.js +0 -1
- package/dist/sv-EXVTCWZ6.js +0 -1
- package/dist/tr-TPKRTGQO.js +0 -1
- package/dist/uk-TAQIY6K6.js +0 -1
- package/dist/zh-Hans-FP67ACQK.js +0 -1
- package/dist/zh-Hant-54CHKXAP.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ut,b as pt,c as ft,d as mt,e as yt,f as dt,g as ht,h as bt,i as xt,j as Mt,k as gt,l as wt}from"../../chunk-
|
|
1
|
+
import{a as ut,b as pt,c as ft,d as mt,e as yt,f as dt,g as ht,h as bt,i as xt,j as Mt,k as gt,l as wt}from"../../chunk-O3DGXAIC.js";import{a as Ct,b as vt,c as Rt,d as Ot,e as St,f as B,h as N}from"../../chunk-ZDETFCDH.js";import"../../chunk-TKYTTEJ2.js";import"../../chunk-HC3U5BWH.js";import"../../chunk-TQN2VWQO.js";import"../../chunk-5BMXWOE7.js";import{a as et,b as ot,c as rt,d as nt,e as at,f as it,g as st,h as ct,i as lt}from"../../chunk-CEIVHWRB.js";import"../../chunk-M5X6G7FD.js";import"../../chunk-4I2VWFJY.js";import{B as R,Ba as v,Ca as P,Ea as j,Fa as _,La as I,M as O,d as H,e as V,f as Z,g as tt,za as S}from"../../chunk-F7TP67LK.js";import"../../chunk-5ITK5236.js";import"../../chunk-JBOTRSMY.js";import"../../chunk-CRCGO52K.js";function g(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function k(t){return g(t).reduce((e,r)=>r.type==="row"?e+S(r):r.type==="table"?e+j(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function Bt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,n)=>{n>0&&(e[o]=(e[o]??0)+n)};for(let o of g(t))if(o.type==="row")for(let n of v(o))r(n.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let n of _(o))r(n.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function z(t){if(!t.template)return null;let e=g(t),r=e.filter(u=>u.type==="row"||u.type==="table"||u.type==="gaArea");if(!r.length)return null;let n=e.filter(u=>u.type==="booth").length+r.reduce((u,f)=>u+(f.type==="table"?2:1),0),i=k(t),c=Math.max(n+1,Math.min(5e4,i*4)),l=[.5,1,1.5,2].map(u=>O(Math.round(i*u),n,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,u=>u.toUpperCase()),min:n,max:c,presets:["S","M","L","XL"].map((u,f)=>({size:u,seats:l[f]}))}}function A(t){let e=v(t);return e.length?R(e):{...t.origin}}function Nt(t,e){let r=z(t);if(!r)return structuredClone(t);let o=structuredClone(t),n=g(o),i=n.filter(a=>a.type==="row"||a.type==="table"||a.type==="gaArea"),c=n.filter(a=>a.type==="booth").length,l=Math.max(r.min,Math.min(r.max,Math.round(e))),u=l-c,f=i.map((a,s)=>{let m=a.type==="gaArea"?Math.max(0,Math.floor(a.capacity)):a.seatCount,x=a.type==="table"?2:1;return{object:a,index:s,current:m,minimum:x,value:x,fraction:0}}),K=f.reduce((a,s)=>a+s.minimum,0),w=Math.max(0,u-K),L=f.reduce((a,s)=>a+Math.max(1,s.current-s.minimum),0);for(let a of f){let s=w*Math.max(1,a.current-a.minimum)/L,m=Math.floor(s);a.value+=m,a.fraction=s-m}w=u-f.reduce((a,s)=>a+s.value,0),f.sort((a,s)=>s.fraction-a.fraction||a.index-s.index);for(let a=0;a<w;a++)f[a%f.length].value++;f.sort((a,s)=>a.index-s.index);for(let a of f)if(a.object.type==="row"){let s=A(a.object);a.object.seatCount=a.value;let m=A(a.object);a.object.origin.x+=s.x-m.x,a.object.origin.y+=s.y-m.y}else if(a.object.type==="table"){let s=a.object;if(s.seatCountsBySide){let m=["top","bottom","left","right"],x=P(s),F=m.reduce((p,y)=>p+x[y],0)||1,d=m.map((p,y)=>{let C=a.value*x[p]/F;return{side:p,index:y,value:Math.floor(C),fraction:C-Math.floor(C)}}),X=a.value-d.reduce((p,y)=>p+y.value,0);d.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<X;p++)d[p%d.length].value+=1;d.sort((p,y)=>p.index-y.index),s.seatCountsBySide={top:d[0].value,bottom:d[1].value,left:d[2].value,right:d[3].value},s.sides=m.filter(p=>s.seatCountsBySide[p]>0)}s.seatCount=a.value,s.overrides&&(s.overrides=s.overrides.filter(m=>m.index<a.value),s.overrides.length||delete s.overrides)}else a.object.capacity=a.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:l},o=N(o).doc,o.template={family:t.template.family,targetSeats:k(o)},o}var W=1,T=100;function J(t,e){if(!Number.isInteger(e)||e<W||e>T)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},n={x:-o.y,y:o.x};return Array.from({length:e},(i,c)=>{let l=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+n.x*c*t.rowGap+o.x*l,y:t.origin.y+n.y*c*t.rowGap+o.y*l},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function G(t,e=t.rowCount){let r=J(t,e);return r?.length?I(r[r.length-1]):null}function Gt(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=G(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,n={x:-Math.sin(o),y:Math.cos(o)},i=(e.x-r.x)*n.x+(e.y-r.y)*n.y,c=Math.max(W,Math.min(T,Math.round(i/t.rowGap)+1)),l=G(t,c);return l?{rowCount:c,edgePoint:l}:null}function Wt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,n)=>(o.rowBlockGeneration?.rowIndex??1/0)-(n.rowBlockGeneration?.rowIndex??1/0)).every((o,n)=>{let i=o.rowBlockGeneration;return i?.kind==="row-block-v1"&&i.groupId===e.groupId&&i.rowIndex===n&&i.signature===e.signature&&JSON.stringify(i)===JSON.stringify({...e,rowIndex:n})})}var h=1,b=300,D=330;function M(t){return t.seatCount>1?t.curve/(t.seatCount-1):0}function E(t,e){let r=t.rotation*Math.PI/180,o=M(t)*Math.PI/180,n,i;if(Math.abs(o)<1e-9)n=e*t.seatSpacing,i=0;else{let c=t.seatSpacing/(2*Math.sin(Math.abs(o)/2)),l=o*e;n=c*Math.sin(l),i=-c+c*Math.cos(l)}return{x:t.origin.x+n*Math.cos(r)-i*Math.sin(r),y:t.origin.y+n*Math.sin(r)+i*Math.cos(r)}}function Q(t,e,r){let o=(t??[]).map(n=>({...n,index:n.index+e})).filter(n=>n.index>=0&&n.index<r);return o.length?o:void 0}function U(t,e){if(t.path||!Number.isInteger(e)||e<h||e>b)return null;let r=M(t);return{...t,seatCount:e,curve:r*(e-1)}}function Y(t,e){if(t.path||!Number.isInteger(e)||e<h||e>b)return null;let r=M(t),o=t.seatCount-e,n=-o;return{...t,origin:E(t,o),rotation:B(t.rotation-r*o),seatCount:e,curve:r*(e-1),overrides:Q(t.overrides,n,e)}}function $(t,e=t.seatCount){let r=U(t,e);return r?E(r,e-1):null}function q(t,e=t.seatCount){return Y(t,e)?.origin??null}function Et(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=M(t),o=Math.abs(r)<1e-9?b:Math.min(b,Math.floor(D/Math.abs(r))+1),n=null;for(let i=h;i<=Math.max(h,o);i+=1){let c=$(t,i);if(!c)continue;let l=Math.hypot(c.x-e.x,c.y-e.y),u=r*(i-1);(!n||l<n.distance||l===n.distance&&i<n.seatCount)&&(n={seatCount:i,curve:u,endpoint:c,distance:l})}return n}function Kt(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=M(t),o=Math.abs(r)<1e-9?b:Math.min(b,Math.floor(D/Math.abs(r))+1),n=null;for(let i=h;i<=Math.max(h,o);i+=1){let c=q(t,i);if(!c)continue;let l=Math.hypot(c.x-e.x,c.y-e.y),u=r*(i-1);(!n||l<n.distance||l===n.distance&&i<n.seatCount)&&(n={seatCount:i,curve:u,endpoint:c,distance:l})}return n}export{Ct as CATEGORY_INVENTORY_FAMILIES,V as DEFAULT_EVENT_INVENTORY_LIMIT,et as GA_UNIT_LABEL_PREFIX,gt as GroupedTableProjectionError,Z as LARGE_VENUE_INVENTORY_MODULE,D as MAX_DIRECT_ROW_SWEEP,H as MAX_EVENT_INVENTORY,rt as MAX_GA_CAPACITY,T as MAX_ROW_BLOCK_ROWS,b as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,h as MIN_ROW_SEATS,yt as applicableTicketTiers,z as capacityControl,Bt as categoryCapacity,k as chartCapacity,ht as companionSelectionIssue,Ot as describeCategoryInventoryConflict,vt as effectiveSeatOwnerCategoryCounts,tt as eventInventoryLimitFor,lt as gaAreasOf,it as gaInventorySegments,nt as gaUnitLabel,st as gaUnitLabels,wt as groupedTableInventory,ct as growJoinedGAInventory,Rt as inspectCategoryInventoryConflicts,Wt as intactRowBlockMembers,pt as isFullChartDoc,ot as isGaUnitLabel,xt as pickBestAvailable,Mt as pickBestAvailableInventory,St as remediateCategoryInventoryConflicts,Nt as resizeChartCapacity,Gt as resolveRowBlockCount,Kt as resolveRowStartCapacity,Et as resolveRowTerminalCapacity,dt as resolveTicketTierForSeat,G as rowBlockEdgePoint,J as rowBlockPreviewRows,q as rowStartEndpoint,$ as rowTerminalEndpoint,Y as rowWithStartCapacity,U as rowWithTerminalCapacity,ut as strandedSingles,ft as ticketOptionNotApplicableIssue,bt as ticketSelectionIssue,mt as ticketTierAppliesToSeat,at as validGAInventorySegments};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ce=Object.defineProperty;var pt=Object.getOwnPropertyDescriptor;var yt=Object.getOwnPropertyNames;var xt=Object.prototype.hasOwnProperty;var gt=(e,t)=>{for(var n in t)ce(e,n,{get:t[n],enumerable:!0})},Mt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of yt(t))!xt.call(e,r)&&r!==n&&ce(e,r,{get:()=>t[r],enumerable:!(o=pt(t,r))||o.enumerable});return e};var St=e=>Mt(ce({},"__esModule",{value:!0}),e);var Wn={};gt(Wn,{AUTOMATIC_ROUND_TABLE_RADIUS_MAX:()=>Ge,AUTOMATIC_ROUND_TABLE_RADIUS_MIN:()=>Ye,DEFAULT_SEAT_RADIUS:()=>ht,FLOOR_STACK_GAP_RATIO:()=>at,FLOOR_STACK_MIN_SURFACE_PX:()=>dt,TABLE_SEAT_OFFSET:()=>X,TEXT_BACKGROUND_PADDING_MAX:()=>ao,TEXT_BACKGROUND_RADIUS_MAX:()=>lo,TEXT_LETTER_SPACING_MAX:()=>so,TEXT_LETTER_SPACING_MIN:()=>io,TEXT_LINE_HEIGHT_MAX:()=>ro,TEXT_LINE_HEIGHT_MIN:()=>oo,TEXT_OPACITY_MIN:()=>co,TEXT_WIDTH_MAX:()=>no,TEXT_WIDTH_MIN:()=>to,allObjects:()=>st,applyAffine:()=>Fn,automaticRoundTableRadius:()=>rn,buildAisleHoles:()=>It,buildSeatIndex:()=>Gn,buildSectionShell:()=>Pt,chartBounds:()=>$,combinedFloorZoneId:()=>Ie,composeAffine:()=>jn,createPerspectiveCamera:()=>Ln,cubicPoint:()=>q,decomposeAffineLinear:()=>Hn,distanceToRings:()=>Ae,distributeAlongCubic:()=>ae,expandBooth:()=>rt,expandChart:()=>kn,expandRow:()=>tt,expandRowSlots:()=>et,expandTable:()=>ot,expandTableSlots:()=>we,floorObjects:()=>vn,floorStackPlacements:()=>ut,floorsOf:()=>ee,gridStats:()=>$n,hitTest:()=>Kn,initialFloorMode:()=>Dn,invertAffine:()=>Nn,layoutCombinedFloorPlan:()=>_n,layoutFloorStack:()=>An,mainFloorId:()=>ft,nearestWithin:()=>Vn,objectCenter:()=>Pe,owningSectionForObject:()=>it,perspectiveTangentAffine:()=>Bn,pointInPolygon:()=>Se,pointInPolygonWithHoles:()=>z,polygonArea:()=>fe,polygonInscribedAnchor:()=>de,polygonLabelPoint:()=>Pn,polygonNetArea:()=>Et,projectPerspectivePoint:()=>se,queryRect:()=>zn,resolveSegmentedRowGroups:()=>he,rowInventoryCount:()=>Mn,rowSeatPositions:()=>re,segmentedRowComponentSeats:()=>Tt,segmentedRowComponents:()=>Rt,segmentedRowSeatTotal:()=>At,smoothCubicThroughMiddle:()=>wt,stackFloors:()=>Cn,tableInventoryCount:()=>Sn,tableSeatCountsBySide:()=>nt,textLayoutMetrics:()=>le,translateObject:()=>ie});module.exports=St(Wn);var Qn=Math.PI/180;function H(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function F(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function q(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function wt(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function ae(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[q(e,.5)];let o=Array.from({length:n+1},(c,u)=>q(e,u/n)),r=new Float64Array(o.length);for(let c=1;c<o.length;c+=1){let u=o[c].x-o[c-1].x,l=o[c].y-o[c-1].y;r[c]=r[c-1]+Math.hypot(u,l)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],a=1;for(let c=0;c<t;c+=1){let u=i*c/(t-1);for(;a<r.length-1&&r[a]<u;)a+=1;let l=r[a-1],d=r[a],m=d===l?0:(u-l)/(d-l);s.push({x:o[a-1].x+(o[a].x-o[a-1].x)*m,y:o[a-1].y+(o[a].y-o[a-1].y)*m})}return s}function A(e,t){return{x:e.x+t.x,y:e.y+t.y}}function V(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _(e,t){return{x:e.x*t,y:e.y*t}}function Q(e,t=13){return Array.from({length:t},(n,o)=>q(e,o/(t-1)))}function Ce(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return F(e[o],e[o+1],n-o)}function ke(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[Ce(e,o)];for(let s=1;s<e.length-1;s+=1){let a=s/(e.length-1);a>o+1e-9&&a<r-1e-9&&i.push(e[s])}return i.push(Ce(e,r)),i}function Ee(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([m,y],p)=>{let h=H(F(e[m],e[y],.5),t);h<r&&(r=h,o=p)});let i=e[o],s=e[(o+1)%4],a=e[(o+2)%4],c=e[(o+3)%4],u=F(i,s,.5),l=V(t,u),d=Math.max(1e-9,Math.hypot(l.x,l.y));return{p0:i,p1:s,p2:a,p3:c,normal:_(l,1/d),depth:(H(i,c)+H(s,a))/2}}function Oe(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,a=V(n,t),c=V(o,r),u=s*.22,l=s*.12;return{nearPath:{start:t,control1:A(A(t,_(a,1/3)),_(i,u)),control2:A(A(t,_(a,2/3)),_(i,u)),end:n},farPath:{start:o,control1:A(A(r,_(c,2/3)),_(i,l)),control2:A(A(r,_(c,1/3)),_(i,l)),end:r}}}function Pt(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((p,h)=>A(p,h),{x:0,y:0});o.x/=4,o.y/=4;let r=H(e[0],e[1]),i=H(e[0],e[3]),s=n==="auto"?r>i*1.25&&H(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(p=>({...p}))};let a=Ee(e,t),{p0:c,p1:u,p2:l,p3:d}=a;if(s==="tapered")return{mode:s,outline:[A(c,_(V(u,c),.14)),A(c,_(V(u,c),1-.14)),l,d]};let{nearPath:m,farPath:y}=Oe(a);return{mode:s,outline:[...Q(m),...Q(y).slice(1)]}}function It(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=Ee(e,t),{p0:i,p1:s,p2:a,p3:c}=r,u=o==="bezier"?Oe(r):null,l=u?Q(u.nearPath):null,d=u?Q(u.farPath).reverse():null,m=Math.min(.055,.18/(n+1));return Array.from({length:n},(y,p)=>{let h=(p+1)/(n+1),x=h-m/2,M=h+m/2;return l&&d?[...ke(l,x,M),...ke(d,x,M).reverse()]:[F(i,s,x),F(i,s,M),F(c,a,M),F(c,a,x)]})}var to=40,no=1200,oo=.8,ro=3,io=-2,so=20,co=.1,ao=40,lo=40,Re=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function vt(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/Re(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let a of i.split(/\s+/)){let c=a.length;s&&s+1+c<=o?s+=1+c:(r+=Math.max(1,Math.ceil(c/o)),s=c%o)}}return Math.max(1,r)}function le(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(a=>a.length))*Re(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=vt(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function Ct(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function Ae(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=Ct(e,o[i],o[r]);s<n&&(n=s)}return n}function Te(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,a=t[r].x,c=t[r].y;s>e.y!=c>e.y&&e.x<(a-i)*(e.y-s)/(c-s)+i&&(n=!n)}return n}function kt(e,t,n){let o=Te(e,t)&&!n.some(i=>Te(e,i)),r=Ae(e,[t,...n]);return o?r:-r}function Y(e,t,n,o,r){let i=kt({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var ue=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,a=r;if(i<t.length&&t[i].max>t[a].max&&(a=i),s<t.length&&t[s].max>t[a].max&&(a=s),a===r)break;[t[a],t[r]]=[t[r],t[a]],r=a}}return n}};function fe(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function Et(e,t){return Math.max(0,fe(e)-(t??[]).reduce((n,o)=>n+fe(o),0))}function de(e,t){let n=t??[];if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let h=e.reduce((M,P)=>M+P.x,0)/e.length,x=e.reduce((M,P)=>M+P.y,0)/e.length;return{point:{x:h,y:x},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let h of e)h.x<o&&(o=h.x),h.y<r&&(r=h.y),h.x>i&&(i=h.x),h.y>s&&(s=h.y);let a=i-o,c=s-r,u=Math.min(a,c);if(!(u>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let l=Math.max(a,c)/150,d=new ue,m=u/2;for(let h=o;h<i;h+=u)for(let x=r;x<s;x+=u)d.push(Y(h+m,x+m,m,e,n));let y=Y(o+a/2,r+c/2,0,e,n),p=0;for(;d.size;){let h=d.pop();if(!h)break;h.d>y.d&&(y=h),!(h.max-y.d<=l)&&(p>=4e3||(p+=1,m=h.h/2,d.push(Y(h.x-m,h.y-m,m,e,n)),d.push(Y(h.x+m,h.y-m,m,e,n)),d.push(Y(h.x-m,h.y+m,m,e,n)),d.push(Y(h.x+m,h.y+m,m,e,n))))}return{point:{x:y.x,y:y.y},radius:Math.max(0,y.d)}}function Z(e,t,n){return Math.max(t,Math.min(n,e))}function L(e,t,n){return e<t?t:e>n?n:e}var mo=Math.PI*2;function _e(e,t,n){return Ot(e,r=>({x:r.x+t,y:r.y+n}))}function Ot(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var bo=4/3;function Rt(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],a=Math.hypot(s.x-i.x,s.y-i.y);if(a<=0)continue;let c=Math.max(1,Math.round(a/n)),u=a/c,l=Math.atan2(s.y-i.y,s.x-i.x),d=r===0,y=(r>0?t[r-1]:void 0)==="break"?2:1,p=d?{...i}:{x:i.x+Math.cos(l)*u*y,y:i.y+Math.sin(l)*u*y},h=d?c+1:Math.max(1,c-(y-1));o.push({origin:p,rotation:l*180/Math.PI,seatCount:h,seatSpacing:u})}return o}function Tt(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function At(e){return e.reduce((t,n)=>t+n.seatCount,0)}function he(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((m,y)=>m.segmentedRow.componentIndex-y.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,a=i[0]?.segmentedRow;if(!a||!(s>=2&&i.length===s&&a?.boundaryBefore==="start"&&i.every((m,y)=>m.segmentedRow?.kind==="segmented-row-v1"&&m.segmentedRow.groupId===o&&m.segmentedRow.componentCount===s&&m.segmentedRow.componentIndex===y&&m.segmentedRow.repeatLabelOnComponents===a.repeatLabelOnComponents&&(y===0?m.segmentedRow.boundaryBefore==="start":m.segmentedRow.boundaryBefore!=="start")&&m.segmentedRow.displayLabel===a.displayLabel)))continue;let u=i.reduce((m,y)=>m+y.seatCount,0),l=0,d=0;for(let m of i)m.segmentedRow.boundaryBefore==="break"&&(l+=1),t.set(m.id,{groupId:o,adjacencyOffset:l,displayOffset:d,displayLabel:a.displayLabel,totalSeats:u,canonical:i[0],viewFromSeatUrl:a.viewFromSeatUrl,viewFromSeatMeta:a.viewFromSeatMeta,confidenceEvidence:a.confidenceEvidence}),l+=m.seatCount,d+=m.seatCount}return t}var _t="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var Dt="abcdefghijklmnopqrstuvwxyz";function Lt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function me(e,t=!1){let n=t?Dt:_t;return Lt(Math.max(0,Math.floor(e)-1),n)}var Ft=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function De(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of Ft)for(;t>=o;)n+=r,t-=o;return n}function Nt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function J(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",a=e.seatNumbering?.endAt,c=e.seatCount;if(i==="updown"||i==="updown-descending"){let y=Math.ceil(c/2),p=i==="updown"?t<y?n+2*t:n-1+2*(c-t):t<y?n+2*(y-1-t):n+1+2*(t-y);return`${s}${p}`}let u=i==="odd"||i==="even"?2:r,l=a!=null&&Number.isFinite(a)?a-(c-1)*u:n,d=o==="center"?Nt(c)[t]:o==="rtl"?c-1-t:t,m;switch(i){case"odd":{let y=l%2===1?l:l+1;m=String(y+d*2);break}case"even":{let y=l%2===0?l:l+1;m=String(y+d*2);break}case"roman":m=De(l+d*r);break;case"letters-upper":m=me(l+d*r,!1);break;case"letters-lower":m=me(l+d*r,!0);break;default:m=String(l+d*r);break}return`${s}${m}`}function jt(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Le(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${J(e,t)}`}function be(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return J(e,t);if(!n)return`${e.displayLabel||e.label}-${J(e,t)}`;let r=jt(n),i=n.displayOffset+t;return`${n.displayLabel}-${J(r,i)}`}var G=.02291666666666667,So=1/G,Bt=58,Ht=Bt*G;var Xt=3,Fe=0,pe=120,Ut=0,Yt=45,Gt=7,K=1.2;function ye(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function Kt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Gt?e:Xt}function Ne(e,t={}){let n=ye(t.floorBaseHeightM,Fe,pe,0),o=Math.min(pe,n+Kt(e.elevation)*Ht),r=e.height===void 0?o:ye(e.height,Fe,pe,o),i=ye(e.rake,Ut,Yt,0);return{height:r,rake:i}}function je(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Be(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],a=s.x-i.x,c=s.y-i.y,u=a*a+c*c,l=u>1e-12?((t-i.x)*a+(n-i.y)*c)/u:0;l<0?l=0:l>1&&(l=1);let d=t-(i.x+l*a),m=n-(i.y+l*c);if(Math.abs(d)>=o||Math.abs(m)>=o)continue;let y=Math.hypot(d,m);y<o&&(o=y)}return o}function Vt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function He(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function xe(e,t){let n=1/0;for(let o of je(e)){let r=Be(t,o.x,o.y);r<n&&(n=r)}for(let o of je(t)){let r=Be(e,o.x,o.y);r<n&&(n=r)}return n}function zt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let l of e)n+=l.x,o+=l.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let l of e){let d=Math.hypot(l.x-n,l.y-o);d>r&&(r=d,i=l)}let s=i.x-n,a=i.y-o,c=Math.hypot(s,a);c>1e-9?(s/=c,a/=c):(s=1,a=0);let u=e.map((l,d)=>({p:l,i:d,t:(l.x-n)*s+(l.y-o)*a})).sort((l,d)=>l.t-d.t);return{pts:u.map(l=>l.p),seatIndices:u.map(l=>t[l.i])}}function $t(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let P of e)n+=P.x,o+=P.y;n/=t,o/=t;let r=0,i=0,s=0,a=0,c=0,u=0,l=0;for(let P of e){let C=P.x-n,v=P.y-o;r+=C*C,s+=v*v,i+=C*v,a+=C*C*C,c+=v*v*v,u+=C*v*v,l+=v*C*C}let d=r*s-i*i;if(Math.abs(d)<1e-9)return null;let m=(a+u)/2,y=(c+l)/2,p=(m*s-y*i)/d,h=(y*r-m*i)/d,x=p+n,M=h+o;return!Number.isFinite(x)||!Number.isFinite(M)?null:{cx:x,cy:M}}var Wt=.15;function qt(e){if(e.length<2)return null;let t=e.map(P=>{let C=0,v=0;for(let w of P.pts)C+=w.x,v+=w.y;return{x:C/P.pts.length,y:v/P.pts.length}}),n=0,o=0;for(let P of t)n+=P.x,o+=P.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let P of t){let C=P.x-n,v=P.y-o;r+=C*C,i+=C*v,s+=v*v}let a=r+s,c=r*s-i*i,u=a/2+Math.sqrt(Math.max(0,a*a/4-c)),l,d;Math.abs(i)>1e-12?(l=u-s,d=i):r>=s?(l=1,d=0):(l=0,d=1);let m=Math.hypot(l,d);if(!(m>1e-12))return null;l/=m,d/=m;let y=1/0,p=-1/0,h=[];for(let P of e){let C=1/0,v=-1/0;for(let w of P.pts){let f=w.x*l+w.y*d;f<C&&(C=f),f>v&&(v=f),f<y&&(y=f),f>p&&(p=f)}h.push(v-C)}let x=p-y;return x>1e-9?(h.sort((P,C)=>P-C),h[Math.min(h.length-1,Math.floor(h.length*.9))]/x<=Qt?{x:l,y:d}:null):null}var Qt=.35;function Xe(e,t,n,o){let r=new Map;for(let f of n){let b=t[f],S=b.rowId||`__seat-${f}`,g=r.get(S);g||(g={pts:[],idx:[]},r.set(S,g)),g.pts.push({x:b.x,y:b.y}),g.idx.push(f)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[f,b]of r){let S=zt(b.pts,b.idx),g=0;for(let I of S.pts)g+=Math.hypot(I.x-o.x,I.y-o.y);i.push({id:f,pts:S.pts,seatIndices:S.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/S.pts.length})}let s=i.map(f=>Vt(f.pts)),a=i.length<=256?i.length*(i.length-1)/2:0,c=a?new Float64Array(a):null;c?.fill(Number.NaN);let u=c?new Map(i.map((f,b)=>[f,b])):null,l=(f,b)=>(f>b&&([f,b]=[b,f]),f*(2*i.length-f-1)/2+(b-f-1)),d=(f,b)=>{if(!c)return xe(i[f].pts,i[b].pts);let S=l(f,b),g=c[S];if(!Number.isNaN(g))return g;let I=xe(i[f].pts,i[b].pts);return c[S]=I,I},m=(f,b)=>u?d(u.get(f),u.get(b)):xe(f.pts,b.pts),y=[];for(let f=0;f<i.length;f++){let b=1/0;for(let S=0;S<i.length;S++){if(f===S||He(s[f],s[S])>=b)continue;let g=d(f,S);g<b&&(b=g)}Number.isFinite(b)&&y.push(b)}y.sort((f,b)=>f-b);let p=y.length?y[Math.floor(y.length/2)]:1,h=Math.max(p*1.8,1e-6),x=i.map(()=>[]);for(let f=0;f<i.length;f++)for(let b=f+1;b<i.length;b++)He(s[f],s[b])>h||d(f,b)<=h&&(x[f].push(b),x[b].push(f));let M=0;for(let f=0;f<i.length;f++){if(i[f].blockId!==-1)continue;let b=M++,S=[f];for(i[f].blockId=b;S.length;){let g=S.pop();for(let I of x[g])i[I].blockId===-1&&(i[I].blockId=b,S.push(I))}}let P=new Map;for(let f of i){let b=P.get(f.blockId)??[];b.push(f),P.set(f.blockId,b)}let C=[];for(let f of i){if(f.pts.length<4)continue;let b=$t(f.pts);b&&(!Number.isFinite(b.cx)||!Number.isFinite(b.cy)||C.push({x:b.cx,y:b.cy}))}let v=C.length>=2?(()=>{let f=C.map(g=>g.x).sort((g,I)=>g-I),b=C.map(g=>g.y).sort((g,I)=>g-I),S=Math.floor(C.length/2);return{cx:f[S],cy:b[S]}})():null;if(v){let f=k=>Math.hypot(k.x-v.cx,k.y-v.cy),b=1/0,S=-1/0,g=[];for(let k of i){let E=1/0,O=-1/0;for(let N of k.pts){let j=f(N);j<E&&(E=j),j>O&&(O=j)}g.push(O-E),E<b&&(b=E),O>S&&(S=O)}let I=S-b;g.sort((k,E)=>k-E);let T=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(I>1e-9&&T/I<=Wt){let k=i.map(R=>{let W=0;for(let bt of R.pts)W+=f(bt);return{row:R,radius:W/R.pts.length}}),E=0,O=0;for(let R of k)E+=R.radius,O+=R.row.focalDistance;E/=k.length,O/=k.length;let N=0;for(let R of k)N+=(R.radius-E)*(R.row.focalDistance-O);if(N<0)for(let R of k)R.radius=-R.radius;let B=1/0;for(let R of k)R.radius<B&&(B=R.radius);k.sort((R,W)=>R.radius-W.radius);let D=-1,U=-1/0,mt=I/Math.max(1,k.length)*.5,ve=[];for(let R of k)R.radius-U>mt&&(D++,U=R.radius),R.row.ordinal=D,R.row.blockDepth=R.radius-B,ve.push(R.row);return{sectionId:e,rows:ve,blockCount:M}}}let w=[];for(let[,f]of P){let b=qt(f);if(b){let S=I=>{let T=0;for(let k of I.pts)T+=k.x*b.x+k.y*b.y;return T/I.pts.length};f.sort((I,T)=>S(I)-S(T)),f.length>=2&&f[0].focalDistance>f[f.length-1].focalDistance&&f.reverse();let g=0;for(let I=0;I<f.length;I++)I>0&&(g+=m(f[I-1],f[I])),f[I].ordinal=I,f[I].blockDepth=g,w.push(f[I])}else{let S=1/0;for(let g of f)g.focalDistance<S&&(S=g.focalDistance);f.sort((g,I)=>g.focalDistance-I.focalDistance);for(let g=0;g<f.length;g++)f[g].ordinal=g,f[g].blockDepth=Math.max(0,f[g].focalDistance-S),w.push(f[g])}}return{sectionId:e,rows:w,blockCount:M}}var Zt=/^\d{4}-\d{2}-\d{2}$/;function Jt(e){let t=Date.parse(e);return Number.isFinite(t)?Zt.test(e)?t+864e5:t:null}function en(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=Jt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function tn(e,t,n){return!(e.eventConfigurationId&&e.eventConfigurationId!==t||e.eventConfigurationVersion!==void 0&&e.eventConfigurationVersion!==n)}function nn(e){return e.status!=="draft"&&e.status!=="retracted"}function on(e,t){return e.status===void 0?t===void 0:e.status!=="approved"?!0:typeof t=="string"&&typeof e.basisSha256=="string"&&e.basisSha256===t}function Ue(e,t={}){return!!e&&nn(e)&&tn(e,t.activeConfigurationId,t.activeConfigurationVersion)&&on(e,t.activeBasisSha256)&&en(e,t.now)}var Ye=36,Ge=160;function rn(e,t=360){let n=Z(Math.round(Number.isFinite(e)?e:1),1,40),o=Z(Number.isFinite(t)?t:360,120,360);return Math.round(Z(n*4*(360/o),Ye,Ge))}var ko=Math.PI*2;function Ke(e){return e==="pitch-football"||e==="rink-hockey"||e==="track-athletics"||e==="oval-cricket"}function sn(e){if((e.kind==="polygon"||e.kind==="polyline"||e.kind==="line")&&e.points&&e.points.length>=2)return e.points;if(e.x==null||e.y==null||e.width==null||e.height==null)return null;let t=e.x,n=e.y,o=e.width,r=e.height;return[{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r},{x:t,y:n+r}]}function cn(e,t,n){let o=n*Math.PI/180,r=Math.cos(o),i=Math.sin(o),s=e.x-t.x,a=e.y-t.y;return{x:t.x+s*r-a*i,y:t.y+s*i+a*r}}function Ve(e){let t=sn(e);if(!t||t.length<2)return null;let n=e.rotation??0,o=Math.abs(n)<1e-6?t:t.map(c=>cn(c,{x:t.reduce((u,l)=>u+l.x,0)/t.length,y:t.reduce((u,l)=>u+l.y,0)/t.length},n)),r=1/0,i=1/0,s=-1/0,a=-1/0;for(let c of o)r=Math.min(r,c.x),i=Math.min(i,c.y),s=Math.max(s,c.x),a=Math.max(a,c.y);return!Number.isFinite(r)||s-r<1e-6||a-i<1e-6?null:{minX:r,minY:i,maxX:s,maxY:a}}var an=5,ln=3,un=.92,fn=1.9,dn=2,hn=.6,mn=1,bn=.06;function pn(e){return e.heightM!==void 0?e.heightM:Ke(e.stageKind)?bn:mn}function ze(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=-1/0;for(let s of ee(e)){let a=s.baseHeightM??0;for(let c of s.objects){if(c.type!=="shape"||c.role!=="stage")continue;let u=Ve(c);u&&(t=Math.min(t,u.minX),n=Math.min(n,u.minY),o=Math.max(o,u.maxX),r=Math.max(r,u.maxY),i=Math.max(i,a+pn(c)))}}return!Number.isFinite(t)||!Number.isFinite(i)?null:{minX:t,minY:n,maxX:o,maxY:r,deckTopM:i}}function yn(e,t,n,o){let r=1/0,i=1/0,s=-1/0,a=-1/0;for(let y of e)Number.isFinite(y.eyeHeightM)&&(r=Math.min(r,y.x),s=Math.max(s,y.x),i=Math.min(i,y.y),a=Math.max(a,y.y));if(!Number.isFinite(r))return null;let c=r*t,u=i*t,l=Math.max(1,Math.ceil((s-r)*t/n)+1),d=Math.max(1,Math.ceil((a-i)*t/n)+1),m=new Float64Array(l*d).fill(-1/0);for(let y of e){if(!Number.isFinite(y.eyeHeightM))continue;let p=y.eyeHeightM-K,h=Math.min(l-1,Math.max(0,Math.floor((y.x*t-c)/n))),M=Math.min(d-1,Math.max(0,Math.floor((y.y*t-u)/n)))*l+h,P=p+o;P>m[M]&&(m[M]=P)}return{cellM:n,minX:c,minY:u,cols:l,rows:d,top:m}}function xn(e,t,n){let o=Math.floor((t-e.minX)/e.cellM),r=Math.floor((n-e.minY)/e.cellM);return o<0||r<0||o>=e.cols||r>=e.rows?-1/0:e.top[r*e.cols+o]}function $e(e,t,n={}){let o=new Map;if(!t||!e.length)return o;let r=n.metresPerChartUnit??G,i=n.cellM??hn,s=n.chairBackM??un,a=n.selfRowSkipM??dn,c=n.clearThreshold??.9,u=n.partialThreshold??.25,l=Math.max(1,n.columns??an),d=Math.max(1,n.rows??ln),m=yn(e,r,i,s);if(!m)return o;let y=(t.maxX-t.minX)*r,p=(t.maxY-t.minY)*r,h=y>=p,x=(t.minX+t.maxX)/2*r,M=(t.minY+t.maxY)/2*r,P=[];for(let v=0;v<l;v++){let w=(v+.5)/l-.5,f=h?x+w*y:x,b=h?M:M+w*p;for(let S=0;S<d;S++){let g=t.deckTopM+(d===1?0:S/(d-1)*fn);P.push({x:f,y:b,z:g})}}let C=i/2;for(let v of e){if(!Number.isFinite(v.eyeHeightM))continue;let w=v.x*r,f=v.y*r,b=v.eyeHeightM,S=0,g=1/0;for(let T of P){let k=T.x-w,E=T.y-f,O=Math.hypot(k,E);if(!(O>a)){S++;continue}let N=k/O,j=E/O,B=0;for(let D=a;D<O;D+=C){let U=xn(m,w+N*D,f+j*D);if(!(!Number.isFinite(U)||U>=b)&&U>b+(T.z-b)*D/O){B=D;break}}B?g=Math.min(g,B):S++}let I=S/P.length;I>=c||o.set(v.id,{seatId:v.id,mark:I<u?"obstructedView":"restrictedView",visibleFraction:I,totalRays:P.length,atDistanceM:Number.isFinite(g)?g:0})}return o}function We(e,t){if(!t.size)return 0;let n=0;for(let o of e){let r=t.get(o.id);if(!r)continue;let i=o.commercial;i?.restrictedView!==void 0||i?.obstructedView!==void 0||(o.commercial={...i,[r.mark]:!0},n++)}return n}function ge(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var oe=Math.PI/180,gn=9,X=16;function Me(e,t,n,o){let r=n*oe,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function re(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return ae(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let u=0;u<t;u++)s.push(Me(u*n,0,r,i));return s}let a=o/(t-1)*oe,c=n/(2*Math.sin(Math.abs(a)/2));for(let u=0;u<t;u++){let l=u*a,d=c*Math.sin(l),m=-c+c*Math.cos(l);s.push(Me(d,m,r,i))}return s}function Je(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function Mn(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function et(e,t){let n=Je(e);return re(e).map((o,r)=>{let i=n.get(r),s=ge(i),a=Le(e,r,i),c={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:a,displayLabel:be(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(c).some(u=>u!==void 0&&u!==!1&&u!=="")?c:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function tt(e){let t=[];for(let n of et(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function nt(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function we(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(l=>[l.index,l])),r=(l,d,m,y)=>{let p=o.get(l),h=ge(p),x=p?.label??`${e.label}-${l+1}`,M=e.displayLabel??e.label;return{index:l,label:x,displayLabel:p?.displayLabel??`${M}-${l+1}`,x:d+(p?.dx??0),y:m+(p?.dy??0),categoryKey:p?.categoryKey??e.categoryKey,skipped:!!p?.skip,accessible:h.length>0,accessibility:h,wheelchairSpaceType:p?.wheelchairSpaceType,commercial:p?.commercial,glyph:p?.glyph,viewUrl:p?.viewFromSeatUrl,viewMeta:p?.viewFromSeatUrl?p.viewFromSeatMeta:void 0,labelStyle:p?.labelStyle,...y?{side:y}:{}}};if(e.shape==="round"){let l=(e.radius??40)+X,d=e.rotation*oe,m=Math.max(0,Math.min(360,e.seatArc??360));if(m>=360||n===1){for(let x=0;x<n;x++){let M=d+x/n*2*Math.PI;t.push(r(x,e.center.x+l*Math.cos(M),e.center.y+l*Math.sin(M)))}return t}let y=m*oe,p=(2*Math.PI-y)/2,h=d+p;for(let x=0;x<n;x++){let M=h+x/(n-1)*y;t.push(r(x,e.center.x+l*Math.cos(M),e.center.y+l*Math.sin(M)))}return t}let i=e.width??80,s=e.height??50,a=nt(e),c=["top","bottom","left","right"],u=0;for(let l of c){let d=a[l];for(let m=0;m<d;m++){let y,p;l==="top"?(y=-i/2+(m+.5)*i/d,p=-s/2-X):l==="bottom"?(y=-i/2+(m+.5)*i/d,p=s/2+X):l==="left"?(y=-i/2-X,p=-s/2+(m+.5)*s/d):(y=i/2+X,p=-s/2+(m+.5)*s/d);let h=Me(y,p,e.rotation,e.center);t.push(r(u++,h.x,h.y,l))}}return t}function Sn(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):we(e).filter(t=>!t.skipped).length}function ot(e){return we(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function rt(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function Se(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,a=t[r].x,c=t[r].y;s>e.y!=c>e.y&&e.x<(a-i)*(e.y-s)/(c-s)+i&&(n=!n)}return n}function wn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),a=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=a+1e-7})}function z(e,t,n){return Se(e,t)&&!(n??[]).some(o=>Se(e,o)||wn(e,o))}function Pn(e,t){return de(e,t).point}function ne(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function Pe(e){switch(e.type){case"row":{let t=re(e),n=Je(e),o=0,r=0,i=0;for(let s=0;s<t.length;s++){let a=n.get(s);a?.skip||(o+=t[s].x+(a?.dx??0),r+=t[s].y+(a?.dy??0),i++)}return i?{x:o/i,y:r/i}:{x:e.origin.x,y:e.origin.y}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return ne(e.points);case"section":return ne(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?ne(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function qe(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function In(e,t){if(e.type!=="gaArea"||!qe(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>qe(r,o[i]))}function it(e,t,n=e.filter(r=>r.type==="section"),o=Pe(t)){let r="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0;return(r?n.find(s=>(s.logicalSectionId??s.id)===r&&(In(t,s)||z(o,s.outline,s.holes))):void 0)??n.find(s=>z(o,s.outline,s.holes))}function ee(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function vn(e,t){let n=ee(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function st(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function ie(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:e.holes.map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:_e(e.outlinePath,t,n)}:{},...e.holes?{holes:e.holes.map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function Cn(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:ie(s,0,i))}),{...e,objects:n,floors:void 0}}function Qe(e,t,n,o,r,i,s,a,c){let u=[],l=e.filter(h=>h.type==="section"),d=he(e),m=h=>!h?.eventConfigurationId||h.eventConfigurationId===o&&(h.eventConfigurationVersion===void 0||h.eventConfigurationVersion===c),y=h=>Ue(h,{activeConfigurationId:o,activeConfigurationVersion:c,activeBasisSha256:r,now:a}),p=(h,x)=>y(h)?{...h,coverage:x}:void 0;for(let h of e){let x=[];if(h.type==="row"?x=tt(h):h.type==="table"?x=ot(h):h.type==="booth"&&(x=rt(h)),!x.length)continue;for(let w of x)w.viewUrl&&!m(w.viewMeta)&&(w.viewUrl=void 0,w.viewMeta=void 0);if(h.type==="row"){let w=d.get(h.id);if(w){let f=new Map((h.overrides??[]).map(b=>[b.index,b]));for(let b of x){let S=Number(b.id.slice(b.id.lastIndexOf(":")+1));if(!Number.isInteger(S))continue;b.logicalRowId=w.groupId,b.logicalSeatIndex=w.adjacencyOffset+S,f.get(S)?.displayLabel||(b.displayLabel=be(h,S,w)),!b.viewUrl&&w.viewFromSeatUrl&&m(w.viewFromSeatMeta)&&(b.viewUrl=w.viewFromSeatUrl,b.viewMeta=w.viewFromSeatMeta);let g=f.get(S)?.confidenceEvidence;b.confidenceEvidence=p(g,"exact-seat")??p(h.confidenceEvidence,"row-representative")??p(w.confidenceEvidence,"row-representative")}}}let M=it(e,h,l,h.type==="row"?ne(x):Pe(h)),P=M?.viewFromSeatUrl,v=(M?.zone?t?.find(w=>w.id===M.zone):void 0)?.focalPoint??n;for(let w of x){if(!w.confidenceEvidence){let f=Number(w.id.slice(w.id.lastIndexOf(":")+1)),b=(h.type==="row"||h.type==="table")&&Number.isInteger(f)?h.overrides?.find(S=>S.index===f)?.confidenceEvidence:void 0;w.confidenceEvidence=p(b,"exact-seat")??(h.type==="row"?p(h.confidenceEvidence,"row-representative"):void 0)}w.confidenceEvidence??=p(M?.confidenceEvidence,"section-representative")??(s?p(s.evidence,s.coverage):void 0),!w.viewUrl&&P&&m(M?.viewFromSeatMeta)&&(w.viewUrl=P,w.viewMeta=M?.viewFromSeatMeta),!w.viewUrl&&i&&m(i.meta)&&(w.viewUrl=i.url,w.viewMeta=i.meta),M&&(w.sectionId=M.logicalSectionId??M.id),M?.zone&&(w.zoneId=M.zone),v&&(w.focalPoint={...v})}u.push(...x)}return u}function kn(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,a=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,c=Qe(r.objects,e.zones,i,e.eventConfigurationId,e.confidenceBasisSha256,s,a,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);t.resolveEyeHeights!==!1&&Ze(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,c);for(let u of c)u.floorId=r.id;for(let u of c)o.push(u)}return o}let n=Qe(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.confidenceBasisSha256,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);return t.resolveEyeHeights!==!1&&Ze(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),En(e,n,t)}function En(e,t,n){return!n.deriveRestrictedView||e.derivedRestrictedView===!1||n.resolveEyeHeights===!1||We(t,$e(t,ze(e))),t}function Ze(e,t,n,o){let r=e.filter(d=>d.type==="section"),i=n>0||r.some(d=>d.height!==void 0||d.rake!==void 0||(d.elevation??0)>0);if(!r.length||!i||!t){for(let d of o)d.eyeHeightM=n+K;return}let s=new Array(o.length),a=new Map;for(let d of r)a.has(d.id)||a.set(d.id,d);let c=new Map,u=new Map;for(let d=0;d<o.length;d++){let m=o[d],p=(m.sectionId?a.get(m.sectionId)??r.find(x=>x.logicalSectionId===m.sectionId&&z({x:m.x,y:m.y},x.outline,x.holes)):void 0)??r.find(x=>z({x:m.x,y:m.y},x.outline,x.holes))??null;if(s[d]=p,!p)continue;c.has(p.id)||c.set(p.id,Ne(p,{floorBaseHeightM:n}));let h=u.get(p.id);h?h.push(d):u.set(p.id,[d])}let l=new Array(o.length).fill(void 0);for(let[d,m]of u){let y=c.get(d);if(!y)continue;let p=y.rake>0?Math.tan(y.rake*Math.PI/180):0,h=Xe(d,o,m,t);for(let x of h.rows){let M=x.blockDepth*G*p,P=y.height+M;for(let C of x.seatIndices)l[C]=P}}for(let d=0;d<o.length;d++){let m=o[d],y=s[d];if(!y){m.eyeHeightM=n+K;continue}let p=c.get(y.id);m.eyeHeightM=(l[d]??p.height)+K}}var te=40;function $(e,t){let n=t?.freeText==="exclude",o=1/0,r=1/0,i=-1/0,s=-1/0,a=(c,u)=>{c<o&&(o=c),u<r&&(r=u),c>i&&(i=c),u>s&&(s=u)};for(let c of st(e))if(c.type==="row"){let u=new Map((c.overrides??[]).map(l=>[l.index,l]));re(c).forEach((l,d)=>{let m=u.get(d);m?.skip||a(l.x+(m?.dx??0),l.y+(m?.dy??0))})}else if(c.type==="gaArea")for(let u of c.points)a(u.x,u.y);else if(c.type==="section")for(let u of c.outline)a(u.x,u.y);else if(c.type==="decorImage")a(c.x,c.y),a(c.x+c.width,c.y+c.height);else if(c.type==="shape")if(c.points&&c.points.length)for(let u of c.points)a(u.x,u.y);else c.x!=null&&c.y!=null&&c.width!=null&&c.height!=null&&(a(c.x,c.y),a(c.x+c.width,c.y+c.height));else if(c.type==="table"){let u=X+gn,l=c.shape==="round"?(c.radius??40)+u:Math.max((c.width??80)/2,(c.height??50)/2)+u;a(c.center.x-l,c.center.y-l),a(c.center.x+l,c.center.y+l)}else if(c.type==="booth"){let u=Math.max(c.width,c.height)/2;a(c.center.x-u,c.center.y-u),a(c.center.x+u,c.center.y+u)}else if(c.type==="text"){if(n)continue;let u=le(c);a(c.position.x,c.position.y),a(c.position.x+u.width,c.position.y+u.height)}for(let c of[e.referenceImage,e.backgroundImage]){if(!c)continue;let{center:u,width:l}=c,d=l*3/4;a(u.x-l/2,u.y-d/2),a(u.x+l/2,u.y+d/2)}if(!isFinite(o)){let c=e.focalPoint??{x:0,y:0};return{x:c.x-200,y:c.y-200,width:400,height:400}}return{x:o-te,y:r-te,width:i-o+te*2,height:s-r+te*2}}function ct(e){let t=e.backgroundImage;return t?.url&&!t.assetId?t:void 0}var at=.08,On=.045;function Ie(e){return`__floor__:${encodeURIComponent(e)}`}function lt(e,t,n){return{...e,objects:t,floors:void 0,...n?{focalPoint:n}:{},referenceImage:void 0,backgroundImage:void 0}}function Rn(e,t,n){let o=e.focalPoint??t.focalPoint;return o?o.x:n.x+n.width/2}function ut(e){let t=e.floors??[];if(!t.length)return[];let n=t.map(s=>$(lt(e,s.objects,s.focalPoint),{freeText:"exclude"})),r=Math.max(1,...n.map(s=>s.width))*at,i=0;return t.map((s,a)=>{let c=n[a],u=i-(c.y+c.height);return i-=c.height+r,{floorId:s.id,label:s.name??s.id,level:a,levelBadge:a===0?"G":String(a),translation:{x:-Rn(s,e,c),y:u},bounds:c}})}function Tn(e,t,n,o){let r=t==="name"?e.label:e.levelBadge;if(!r)return[];let i=Math.max(1,n*On),s=e.bounds.x+e.translation.x,a=e.bounds.y+e.translation.y+i*.4,c=`floor-level-${e.floorId}`,u={type:"text",id:`${c}-text`,text:r,position:{x:s,y:a},fontSize:i,rotation:0,color:o,bold:!0};if(t==="name")return[u];let l=i*.95;return[{type:"shape",id:`${c}-badge`,kind:"ellipse",x:s-l*.35,y:a-l*.3,width:l*2,height:l*2,fill:"transparent",stroke:{color:o,width:Math.max(1,i*.09)},opacity:.8},u]}function An(e,t={}){let n=e.floors;if(!n||n.length<2)return e;let o=ut(e),r=[];n.forEach((u,l)=>{let{x:d,y:m}=o[l].translation;for(let y of u.objects)l>0&&y.type==="shape"&&y.role==="stage"||r.push(ie(y,d,m))});let i={...e,objects:r,floors:void 0},s=$(i,{freeText:"exclude"}),a=Math.max(1,s.width,s.height),c=e.theme?.textColor??"#94a3b8";for(let u of o)r.push(...Tn(u,t.labelStyle??"number",a,c));return{...i,objects:r,referenceImage:void 0,backgroundImage:void 0}}function _n(e){if(!e.floors||e.floors.length<2)return e;let t=!e.zones?.length,n=new Set,o=e.floors.flatMap(i=>i.objects.flatMap(s=>{if(s.type==="shape"&&s.role==="stage"){let a=JSON.stringify([s.kind,s.x,s.y,s.width,s.height,s.points,s.rotation??0,s.label,s.heightM,s.eventConfigurationIds]);if(n.has(a))return[];n.add(a)}return t&&s.type==="section"?[{...s,zone:Ie(i.id)}]:[s]})),r=t?e.floors.map(i=>({id:Ie(i.id),label:i.name,focalPoint:{...i.focalPoint}})):e.zones;return{...e,objects:o,zones:r,floors:void 0,referenceImage:void 0,backgroundImage:ct(e)}}function ft(e){let t=e.floors;if(!t?.length)return null;let n=t.find(i=>i.objects.some(s=>s.type==="shape"&&s.role==="stage"));if(n)return n.id;let o=t[0],r=-1;for(let i of t){let s=$(lt(e,i.objects,i.focalPoint),{freeText:"exclude"}),a=s.width*s.height;a>r&&(r=a,o=i)}return o.id}var dt=640;function Dn(e,t){return(e.floors?.length??0)<2?null:e.floorOverview==="combined"||!Number.isFinite(t)||t<=0||t>=dt?"all":ft(e)}function Ln(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function se(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),a=o*i-r*s,u=o*s+r*i-e.distance,l=n-e.height,d=Math.hypot(e.distance,e.height),m=(-e.distance*u-e.height*l)/d,y=(-e.height*u+e.distance*l)/d,p=Math.max(d*.08,m),h=e.focalLength/p;return{x:e.target.x+a*h,y:e.target.y-y*h,depth:p,scale:h}}function Fn(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Nn(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function jn(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function Bn(e,t,n=()=>0){let o=se(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=se(e,r,n(r)),a=se(e,i,n(i)),c=s.x-o.x,u=s.y-o.y,l=a.x-o.x,d=a.y-o.y;return{a:c,b:u,c:l,d,e:o.x-c*t.x-l*t.y,f:o.y-u*t.x-d*t.y}}function Hn(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var ht=9;function Xn(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function Un(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,a=r;if(i){let c=-i*Math.PI/180,u=Math.cos(c),l=Math.sin(c);s=o*u-r*l,a=o*l+r*u}return Math.abs(s)<=e.shape.width/2&&Math.abs(a)<=e.shape.height/2}function Yn(e,t,n,o,r){if(e.shape.kind==="circle"){let p=Math.min(Math.max(e.seat.x,t),o),h=Math.min(Math.max(e.seat.y,n),r),x=e.seat.x-p,M=e.seat.y-h;return x*x+M*M<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,a=Math.cos(s),c=Math.sin(s),u=e.shape.width/2,l=e.shape.height/2,d=[[-u,-l],[u,-l],[u,l],[-u,l]].map(([p,h])=>[e.seat.x+p*a-h*c,e.seat.y+p*c+h*a]),m=[[t,n],[o,n],[o,r],[t,r]],y=[[1,0],[0,1],[a,c],[-c,a]];for(let[p,h]of y){let x=1/0,M=-1/0;for(let[v,w]of d){let f=v*p+w*h;f<x&&(x=f),f>M&&(M=f)}let P=1/0,C=-1/0;for(let[v,w]of m){let f=v*p+w*h;f<P&&(P=f),f>C&&(C=f)}if(M<P||C<x)return!1}return!0}function Gn(e,t={}){let n=t.seatRadius??ht,o=e.length,r=new Array(o),i=1/0,s=1/0,a=-1/0,c=-1/0,u=0;for(let f=0;f<o;f++){let b=e[f],S=t.shapeOf?.(b)??{kind:"circle",r:n},{hx:g,hy:I}=Xn(S);r[f]={seat:b,shape:S,hx:g,hy:I},b.x-g<i&&(i=b.x-g),b.y-I<s&&(s=b.y-I),b.x+g>a&&(a=b.x+g),b.y+I>c&&(c=b.y+I),g>u&&(u=g),I>u&&(u=I)}o===0&&(i=0,s=0,a=0,c=0);let l=u>0?u*4:1,d=Math.max(a-i,0),m=Math.max(c-s,0),y=Math.max(64,t.maxCells??o*4),p=l,h=Math.max(1,Math.ceil(d/p)||1),x=Math.max(1,Math.ceil(m/p)||1);for(;h*x>y&&(h>1||x>1);)p*=2,h=Math.max(1,Math.ceil(d/p)||1),x=Math.max(1,Math.ceil(m/p)||1);let M=h*x,P=new Int32Array(M+1),C=0;for(let f=0;f<o;f++){let b=r[f],S=L(Math.floor((b.seat.x-b.hx-i)/p),0,h-1),g=L(Math.floor((b.seat.x+b.hx-i)/p),0,h-1),I=L(Math.floor((b.seat.y-b.hy-s)/p),0,x-1),T=L(Math.floor((b.seat.y+b.hy-s)/p),0,x-1);for(let k=I;k<=T;k++)for(let E=S;E<=g;E++)P[k*h+E+1]++,C++}for(let f=0;f<M;f++)P[f+1]+=P[f];let v=new Int32Array(C),w=P.slice(0,M);for(let f=0;f<o;f++){let b=r[f],S=L(Math.floor((b.seat.x-b.hx-i)/p),0,h-1),g=L(Math.floor((b.seat.x+b.hx-i)/p),0,h-1),I=L(Math.floor((b.seat.y-b.hy-s)/p),0,x-1),T=L(Math.floor((b.seat.y+b.hy-s)/p),0,x-1);for(let k=I;k<=T;k++)for(let E=S;E<=g;E++){let O=k*h+E;v[w[O]++]=f}}return{seats:e,entries:r,minX:i,minY:s,cell:p,cols:h,rows:x,cellStart:P,items:v,stamp:new Int32Array(o),epoch:0}}function Kn(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:a,cellStart:c,items:u,entries:l}=e,d=Math.floor((t.x-s)/i),m=Math.floor((t.y-a)/i);if(d<0||m<0||d>=o||m>=r)return null;let y=m*o+d,p=c[y+1],h=-1,x=1/0;for(let M=c[y];M<p;M++){let P=u[M],C=l[P];if(n.filter&&!n.filter(C.seat.id,C.seat)||!Un(C,t.x,t.y))continue;let v=t.x-C.seat.x,w=t.y-C.seat.y,f=v*v+w*w;(f<x||f===x&&P<h)&&(x=f,h=P)}return h<0?null:l[h].seat.id}function Vn(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:a,minY:c,cellStart:u,items:l,entries:d}=e,m=Math.max(0,Math.floor((t.x-n-a)/s)),y=Math.min(r-1,Math.floor((t.x+n-a)/s)),p=Math.max(0,Math.floor((t.y-n-c)/s)),h=Math.min(i-1,Math.floor((t.y+n-c)/s));if(m>y||p>h)return null;let x=-1,M=n*n,P=e.stamp,C=++e.epoch;for(let v=p;v<=h;v++){let w=v*r;for(let f=m;f<=y;f++){let b=w+f,S=u[b+1];for(let g=u[b];g<S;g++){let I=l[g];if(P[I]===C)continue;P[I]=C;let T=d[I];if(o.filter&&!o.filter(T.seat.id,T.seat))continue;let k=t.x-T.seat.x,E=t.y-T.seat.y,O=k*k+E*E;(O<M||O===M&&I<x)&&(M=O,x=I)}}}return x<0?null:d[x].seat.id}function zn(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),a=n.mode??"center",{cols:c,rows:u,cell:l,minX:d,minY:m,cellStart:y,items:p,entries:h}=e,x=Math.max(0,Math.floor((o-d)/l)),M=Math.min(c-1,Math.floor((r-d)/l)),P=Math.max(0,Math.floor((i-m)/l)),C=Math.min(u-1,Math.floor((s-m)/l));if(x>M||P>C)return[];let v=[],w=e.stamp,f=++e.epoch;for(let b=P;b<=C;b++){let S=b*c;for(let g=x;g<=M;g++){let I=S+g,T=y[I+1];for(let k=y[I];k<T;k++){let E=p[k];if(w[E]===f)continue;w[E]=f;let O=h[E];if(n.filter&&!n.filter(O.seat.id,O.seat))continue;(a==="center"?O.seat.x>=o&&O.seat.x<=r&&O.seat.y>=i&&O.seat.y<=s:Yn(O,o,i,r,s))&&v.push(E)}}}return v.sort((b,S)=>b-S),v.map(b=>h[b].seat.id)}function $n(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={AUTOMATIC_ROUND_TABLE_RADIUS_MAX,AUTOMATIC_ROUND_TABLE_RADIUS_MIN,DEFAULT_SEAT_RADIUS,FLOOR_STACK_GAP_RATIO,FLOOR_STACK_MIN_SURFACE_PX,TABLE_SEAT_OFFSET,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,automaticRoundTableRadius,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,combinedFloorZoneId,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorStackPlacements,floorsOf,gridStats,hitTest,initialFloorMode,invertAffine,layoutCombinedFloorPlan,layoutFloorStack,mainFloorId,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject});
|
|
1
|
+
"use strict";var ae=Object.defineProperty;var xt=Object.getOwnPropertyDescriptor;var gt=Object.getOwnPropertyNames;var Mt=Object.prototype.hasOwnProperty;var St=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},wt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of gt(t))!Mt.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=xt(t,r))||o.enumerable});return e};var Pt=e=>wt(ae({},"__esModule",{value:!0}),e);var Qn={};St(Qn,{AUTOMATIC_ROUND_TABLE_RADIUS_MAX:()=>Ve,AUTOMATIC_ROUND_TABLE_RADIUS_MIN:()=>Ke,DEFAULT_SEAT_RADIUS:()=>bt,FLOOR_STACK_GAP_RATIO:()=>ut,FLOOR_STACK_MIN_SURFACE_PX:()=>mt,TABLE_SEAT_OFFSET:()=>X,TEXT_BACKGROUND_PADDING_MAX:()=>uo,TEXT_BACKGROUND_RADIUS_MAX:()=>fo,TEXT_LETTER_SPACING_MAX:()=>ao,TEXT_LETTER_SPACING_MIN:()=>co,TEXT_LINE_HEIGHT_MAX:()=>so,TEXT_LINE_HEIGHT_MIN:()=>io,TEXT_OPACITY_MIN:()=>lo,TEXT_WIDTH_MAX:()=>ro,TEXT_WIDTH_MIN:()=>oo,allObjects:()=>at,applyAffine:()=>jn,automaticRoundTableRadius:()=>cn,buildAisleHoles:()=>Ct,buildSeatIndex:()=>Vn,buildSectionShell:()=>vt,chartBounds:()=>W,combinedFloorZoneId:()=>ve,composeAffine:()=>Hn,createPerspectiveCamera:()=>Nn,cubicPoint:()=>Q,decomposeAffineLinear:()=>Un,distanceToRings:()=>_e,distributeAlongCubic:()=>le,expandBooth:()=>st,expandChart:()=>On,expandRow:()=>ot,expandRowSlots:()=>nt,expandTable:()=>it,expandTableSlots:()=>Pe,floorObjects:()=>kn,floorStackPlacements:()=>dt,floorsOf:()=>te,gridStats:()=>qn,hitTest:()=>zn,initialFloorMode:()=>Fn,invertAffine:()=>Bn,layoutCombinedFloorPlan:()=>Ln,layoutFloorStack:()=>Dn,mainFloorId:()=>ht,nearestWithin:()=>$n,objectCenter:()=>Ie,owningSectionForObject:()=>ct,perspectiveTangentAffine:()=>Xn,pointInPolygon:()=>we,pointInPolygonWithHoles:()=>$,polygonArea:()=>de,polygonInscribedAnchor:()=>he,polygonLabelPoint:()=>vn,polygonNetArea:()=>Rt,projectPerspectivePoint:()=>ce,queryRect:()=>Wn,resolveSegmentedRowGroups:()=>me,rowInventoryCount:()=>wn,rowSeatPositions:()=>ie,segmentedRowComponentSeats:()=>_t,segmentedRowComponents:()=>Tt,segmentedRowSeatTotal:()=>Dt,smoothCubicThroughMiddle:()=>It,stackFloors:()=>En,tableInventoryCount:()=>Pn,tableSeatCountsBySide:()=>rt,textLayoutMetrics:()=>ue,translateObject:()=>se,usableHoles:()=>V});module.exports=Pt(Qn);var Jn=Math.PI/180;function H(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function F(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}function Q(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function It(e,t,n){let o={x:(e.x+t.x)/2,y:(e.y+t.y)/2},r={x:(n.x-o.x)*4/3,y:(n.y-o.y)*4/3};return{start:{...e},control1:{x:e.x+(t.x-e.x)/3+r.x,y:e.y+(t.y-e.y)/3+r.y},control2:{x:e.x+(t.x-e.x)*2/3+r.x,y:e.y+(t.y-e.y)*2/3+r.y},end:{...t}}}function le(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[Q(e,.5)];let o=Array.from({length:n+1},(u,c)=>Q(e,c/n)),r=new Float64Array(o.length);for(let u=1;u<o.length;u+=1){let c=o[u].x-o[u-1].x,a=o[u].y-o[u-1].y;r[u]=r[u-1]+Math.hypot(c,a)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],l=1;for(let u=0;u<t;u+=1){let c=i*u/(t-1);for(;l<r.length-1&&r[l]<c;)l+=1;let a=r[l-1],f=r[l],m=f===a?0:(c-a)/(f-a);s.push({x:o[l-1].x+(o[l].x-o[l-1].x)*m,y:o[l-1].y+(o[l].y-o[l-1].y)*m})}return s}function T(e,t){return{x:e.x+t.x,y:e.y+t.y}}function z(e,t){return{x:e.x-t.x,y:e.y-t.y}}function _(e,t){return{x:e.x*t,y:e.y*t}}function Z(e,t=13){return Array.from({length:t},(n,o)=>Q(e,o/(t-1)))}function ke(e,t){let n=Math.max(0,Math.min(1,t))*(e.length-1),o=Math.min(e.length-2,Math.floor(n));return F(e[o],e[o+1],n-o)}function Ee(e,t,n){let o=Math.max(0,Math.min(1,t)),r=Math.max(o,Math.min(1,n)),i=[ke(e,o)];for(let s=1;s<e.length-1;s+=1){let l=s/(e.length-1);l>o+1e-9&&l<r-1e-9&&i.push(e[s])}return i.push(ke(e,r)),i}function Oe(e,t){let n=[[0,1],[1,2],[2,3],[3,0]],o=0,r=Number.POSITIVE_INFINITY;n.forEach(([m,p],y)=>{let h=H(F(e[m],e[p],.5),t);h<r&&(r=h,o=y)});let i=e[o],s=e[(o+1)%4],l=e[(o+2)%4],u=e[(o+3)%4],c=F(i,s,.5),a=z(t,c),f=Math.max(1e-9,Math.hypot(a.x,a.y));return{p0:i,p1:s,p2:l,p3:u,normal:_(a,1/f),depth:(H(i,u)+H(s,l))/2}}function Re(e){let{p0:t,p1:n,p2:o,p3:r,normal:i,depth:s}=e,l=z(n,t),u=z(o,r),c=s*.22,a=s*.12;return{nearPath:{start:t,control1:T(T(t,_(l,1/3)),_(i,c)),control2:T(T(t,_(l,2/3)),_(i,c)),end:n},farPath:{start:o,control1:T(T(r,_(u,2/3)),_(i,a)),control2:T(T(r,_(u,1/3)),_(i,a)),end:r}}}function vt(e,t,n){if(e.length!==4)throw new Error("A section shell requires four mapped bounds corners");let o=e.reduce((y,h)=>T(y,h),{x:0,y:0});o.x/=4,o.y/=4;let r=H(e[0],e[1]),i=H(e[0],e[3]),s=n==="auto"?r>i*1.25&&H(o,t)>i?"bezier":"tapered":n;if(s==="rectangle")return{mode:s,outline:e.map(y=>({...y}))};let l=Oe(e,t),{p0:u,p1:c,p2:a,p3:f}=l;if(s==="tapered")return{mode:s,outline:[T(u,_(z(c,u),.14)),T(u,_(z(c,u),1-.14)),a,f]};let{nearPath:m,farPath:p}=Re(l);return{mode:s,outline:[...Z(m),...Z(p).slice(1)]}}function Ct(e,t,n,o){if(e.length!==4)throw new Error("Aisle generation requires four mapped bounds corners");if(!Number.isInteger(n)||n<0||n>3)throw new Error("Aisle count must be an integer from 0 to 3");if(n===0)return[];let r=Oe(e,t),{p0:i,p1:s,p2:l,p3:u}=r,c=o==="bezier"?Re(r):null,a=c?Z(c.nearPath):null,f=c?Z(c.farPath).reverse():null,m=Math.min(.055,.18/(n+1));return Array.from({length:n},(p,y)=>{let h=(y+1)/(n+1),x=h-m/2,M=h+m/2;return a&&f?[...Ee(a,x,M),...Ee(f,x,M).reverse()]:[F(i,s,x),F(i,s,M),F(u,l,M),F(u,l,x)]})}var oo=40,ro=1200,io=.8,so=3,co=-2,ao=20,lo=.1,uo=40,fo=40,Ae=e=>Math.max(1,e.fontSize*.6+(e.letterSpacing??0));function kt(e,t){let n=e.text.split(/\r?\n/);if(!e.width)return Math.max(1,n.length);let o=Math.max(1,Math.floor(t/Ae(e))),r=0;for(let i of n){if(!i.length){r+=1;continue}let s=0;for(let l of i.split(/\s+/)){let u=l.length;s&&s+1+u<=o?s+=1+u:(r+=Math.max(1,Math.ceil(u/o)),s=u%o)}}return Math.max(1,r)}function ue(e){let t=e.background?.padding??0,n=e.text.split(/\r?\n/),o=Math.max(1,...n.map(l=>l.length))*Ae(e),r=e.width??o+t*2,i=Math.max(1,r-t*2),s=kt(e,i);return{width:r,height:s*e.fontSize*(e.lineHeight??1.2)+t*2,lineCount:s,padding:t}}function Et(e,t,n){let o=n.x-t.x,r=n.y-t.y,i=o*o+r*r,s=i?Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*r)/i)):0;return Math.hypot(e.x-(t.x+s*o),e.y-(t.y+s*r))}function _e(e,t){let n=1/0;for(let o of t)if(!(o.length<2))for(let r=0,i=o.length-1;r<o.length;i=r++){let s=Et(e,o[i],o[r]);s<n&&(n=s)}return n}function Te(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,l=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(l-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function De(e){return Array.isArray(e)?e.filter(t=>Array.isArray(t)&&t.length>=3):[]}function Ot(e,t,n){let o=Te(e,t)&&!n.some(i=>Te(e,i)),r=_e(e,[t,...n]);return o?r:-r}function Y(e,t,n,o,r){let i=Ot({x:e,y:t},o,r);return{x:e,y:t,h:n,d:i,max:i+n*Math.SQRT2}}var fe=class{constructor(){this.items=[]}get size(){return this.items.length}push(t){let n=this.items;n.push(t);let o=n.length-1;for(;o>0;){let r=o-1>>1;if(n[r].max>=n[o].max)break;[n[r],n[o]]=[n[o],n[r]],o=r}}pop(){let t=this.items,n=t[0],o=t.pop();if(t.length&&o){t[0]=o;let r=0;for(;;){let i=r*2+1,s=i+1,l=r;if(i<t.length&&t[i].max>t[l].max&&(l=i),s<t.length&&t[s].max>t[l].max&&(l=s),l===r)break;[t[l],t[r]]=[t[r],t[l]],r=l}}return n}};function de(e){if(e.length<3)return 0;let t=0;for(let n=0,o=e.length-1;n<e.length;o=n++)t+=(e[o].x+e[n].x)*(e[o].y-e[n].y);return Math.abs(t)/2}function Rt(e,t){return Math.max(0,de(e)-De(t).reduce((n,o)=>n+de(o),0))}function he(e,t){let n=De(t);if(!e.length)return{point:{x:0,y:0},radius:0};if(e.length<3){let h=e.reduce((M,P)=>M+P.x,0)/e.length,x=e.reduce((M,P)=>M+P.y,0)/e.length;return{point:{x:h,y:x},radius:0}}let o=1/0,r=1/0,i=-1/0,s=-1/0;for(let h of e)h.x<o&&(o=h.x),h.y<r&&(r=h.y),h.x>i&&(i=h.x),h.y>s&&(s=h.y);let l=i-o,u=s-r,c=Math.min(l,u);if(!(c>0))return{point:{x:(o+i)/2,y:(r+s)/2},radius:0};let a=Math.max(l,u)/150,f=new fe,m=c/2;for(let h=o;h<i;h+=c)for(let x=r;x<s;x+=c)f.push(Y(h+m,x+m,m,e,n));let p=Y(o+l/2,r+u/2,0,e,n),y=0;for(;f.size;){let h=f.pop();if(!h)break;h.d>p.d&&(p=h),!(h.max-p.d<=a)&&(y>=4e3||(y+=1,m=h.h/2,f.push(Y(h.x-m,h.y-m,m,e,n)),f.push(Y(h.x+m,h.y-m,m,e,n)),f.push(Y(h.x-m,h.y+m,m,e,n)),f.push(Y(h.x+m,h.y+m,m,e,n))))}return{point:{x:p.x,y:p.y},radius:Math.max(0,p.d)}}function J(e,t,n){return Math.max(t,Math.min(n,e))}function L(e,t,n){return e<t?t:e>n?n:e}var po=Math.PI*2;function Le(e,t,n){return At(e,r=>({x:r.x+t,y:r.y+n}))}function At(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var yo=4/3;function Tt(e,t,n){let o=[];for(let r=0;r<e.length-1;r+=1){let i=e[r],s=e[r+1],l=Math.hypot(s.x-i.x,s.y-i.y);if(l<=0)continue;let u=Math.max(1,Math.round(l/n)),c=l/u,a=Math.atan2(s.y-i.y,s.x-i.x),f=r===0,p=(r>0?t[r-1]:void 0)==="break"?2:1,y=f?{...i}:{x:i.x+Math.cos(a)*c*p,y:i.y+Math.sin(a)*c*p},h=f?u+1:Math.max(1,u-(p-1));o.push({origin:y,rotation:a*180/Math.PI,seatCount:h,seatSpacing:c})}return o}function _t(e){let t=e.rotation*Math.PI/180,n={x:Math.cos(t),y:Math.sin(t)};return Array.from({length:e.seatCount},(o,r)=>({x:e.origin.x+n.x*r*e.seatSpacing,y:e.origin.y+n.y*r*e.seatSpacing}))}function Dt(e){return e.reduce((t,n)=>t+n.seatCount,0)}function me(e){let t=new Map,n=new Map;for(let o of e){if(o.type!=="row"||!o.segmentedRow)continue;let r=n.get(o.segmentedRow.groupId)??[];r.push(o),n.set(o.segmentedRow.groupId,r)}for(let[o,r]of n){let i=r.slice().sort((m,p)=>m.segmentedRow.componentIndex-p.segmentedRow.componentIndex),s=i[0]?.segmentedRow?.componentCount??0,l=i[0]?.segmentedRow;if(!l||!(s>=2&&i.length===s&&l?.boundaryBefore==="start"&&i.every((m,p)=>m.segmentedRow?.kind==="segmented-row-v1"&&m.segmentedRow.groupId===o&&m.segmentedRow.componentCount===s&&m.segmentedRow.componentIndex===p&&m.segmentedRow.repeatLabelOnComponents===l.repeatLabelOnComponents&&(p===0?m.segmentedRow.boundaryBefore==="start":m.segmentedRow.boundaryBefore!=="start")&&m.segmentedRow.displayLabel===l.displayLabel)))continue;let c=i.reduce((m,p)=>m+p.seatCount,0),a=0,f=0;for(let m of i)m.segmentedRow.boundaryBefore==="break"&&(a+=1),t.set(m.id,{groupId:o,adjacencyOffset:a,displayOffset:f,displayLabel:l.displayLabel,totalSeats:c,canonical:i[0],viewFromSeatUrl:l.viewFromSeatUrl,viewFromSeatMeta:l.viewFromSeatMeta,confidenceEvidence:l.confidenceEvidence}),a+=m.seatCount,f+=m.seatCount}return t}var Lt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var Ft="abcdefghijklmnopqrstuvwxyz";function Nt(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function be(e,t=!1){let n=t?Ft:Lt;return Nt(Math.max(0,Math.floor(e)-1),n)}var jt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function Fe(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of jt)for(;t>=o;)n+=r,t-=o;return n}function Bt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function ee(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",l=e.seatNumbering?.endAt,u=e.seatCount;if(i==="updown"||i==="updown-descending"){let p=Math.ceil(u/2),y=i==="updown"?t<p?n+2*t:n-1+2*(u-t):t<p?n+2*(p-1-t):n+1+2*(t-p);return`${s}${y}`}let c=i==="odd"||i==="even"?2:r,a=l!=null&&Number.isFinite(l)?l-(u-1)*c:n,f=o==="center"?Bt(u)[t]:o==="rtl"?u-1-t:t,m;switch(i){case"odd":{let p=a%2===1?a:a+1;m=String(p+f*2);break}case"even":{let p=a%2===0?a:a+1;m=String(p+f*2);break}case"roman":m=Fe(a+f*r);break;case"letters-upper":m=be(a+f*r,!1);break;case"letters-lower":m=be(a+f*r,!0);break;default:m=String(a+f*r);break}return`${s}${m}`}function Ht(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function Ne(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${ee(e,t)}`}function pe(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return ee(e,t);if(!n)return`${e.displayLabel||e.label}-${ee(e,t)}`;let r=Ht(n),i=n.displayOffset+t;return`${n.displayLabel}-${ee(r,i)}`}var G=.02291666666666667,Po=1/G,Xt=58,Ut=Xt*G;var Yt=3,je=0,ye=120,Gt=0,Kt=45,Vt=7,K=1.2;function xe(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function zt(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=Vt?e:Yt}function Be(e,t={}){let n=xe(t.floorBaseHeightM,je,ye,0),o=Math.min(ye,n+zt(e.elevation)*Ut),r=e.height===void 0?o:xe(e.height,je,ye,o),i=xe(e.rake,Gt,Kt,0);return{height:r,rake:i}}function He(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function Xe(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],l=s.x-i.x,u=s.y-i.y,c=l*l+u*u,a=c>1e-12?((t-i.x)*l+(n-i.y)*u)/c:0;a<0?a=0:a>1&&(a=1);let f=t-(i.x+a*l),m=n-(i.y+a*u);if(Math.abs(f)>=o||Math.abs(m)>=o)continue;let p=Math.hypot(f,m);p<o&&(o=p)}return o}function $t(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ue(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function ge(e,t){let n=1/0;for(let o of He(e)){let r=Xe(t,o.x,o.y);r<n&&(n=r)}for(let o of He(t)){let r=Xe(e,o.x,o.y);r<n&&(n=r)}return n}function Wt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let a of e)n+=a.x,o+=a.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let a of e){let f=Math.hypot(a.x-n,a.y-o);f>r&&(r=f,i=a)}let s=i.x-n,l=i.y-o,u=Math.hypot(s,l);u>1e-9?(s/=u,l/=u):(s=1,l=0);let c=e.map((a,f)=>({p:a,i:f,t:(a.x-n)*s+(a.y-o)*l})).sort((a,f)=>a.t-f.t);return{pts:c.map(a=>a.p),seatIndices:c.map(a=>t[a.i])}}function qt(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let P of e)n+=P.x,o+=P.y;n/=t,o/=t;let r=0,i=0,s=0,l=0,u=0,c=0,a=0;for(let P of e){let C=P.x-n,v=P.y-o;r+=C*C,s+=v*v,i+=C*v,l+=C*C*C,u+=v*v*v,c+=C*v*v,a+=v*C*C}let f=r*s-i*i;if(Math.abs(f)<1e-9)return null;let m=(l+c)/2,p=(u+a)/2,y=(m*s-p*i)/f,h=(p*r-m*i)/f,x=y+n,M=h+o;return!Number.isFinite(x)||!Number.isFinite(M)?null:{cx:x,cy:M}}var Qt=.15;function Zt(e){if(e.length<2)return null;let t=e.map(P=>{let C=0,v=0;for(let w of P.pts)C+=w.x,v+=w.y;return{x:C/P.pts.length,y:v/P.pts.length}}),n=0,o=0;for(let P of t)n+=P.x,o+=P.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let P of t){let C=P.x-n,v=P.y-o;r+=C*C,i+=C*v,s+=v*v}let l=r+s,u=r*s-i*i,c=l/2+Math.sqrt(Math.max(0,l*l/4-u)),a,f;Math.abs(i)>1e-12?(a=c-s,f=i):r>=s?(a=1,f=0):(a=0,f=1);let m=Math.hypot(a,f);if(!(m>1e-12))return null;a/=m,f/=m;let p=1/0,y=-1/0,h=[];for(let P of e){let C=1/0,v=-1/0;for(let w of P.pts){let d=w.x*a+w.y*f;d<C&&(C=d),d>v&&(v=d),d<p&&(p=d),d>y&&(y=d)}h.push(v-C)}let x=y-p;return x>1e-9?(h.sort((P,C)=>P-C),h[Math.min(h.length-1,Math.floor(h.length*.9))]/x<=Jt?{x:a,y:f}:null):null}var Jt=.35;function Ye(e,t,n,o){let r=new Map;for(let d of n){let b=t[d],S=b.rowId||`__seat-${d}`,g=r.get(S);g||(g={pts:[],idx:[]},r.set(S,g)),g.pts.push({x:b.x,y:b.y}),g.idx.push(d)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[d,b]of r){let S=Wt(b.pts,b.idx),g=0;for(let I of S.pts)g+=Math.hypot(I.x-o.x,I.y-o.y);i.push({id:d,pts:S.pts,seatIndices:S.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/S.pts.length})}let s=i.map(d=>$t(d.pts)),l=i.length<=256?i.length*(i.length-1)/2:0,u=l?new Float64Array(l):null;u?.fill(Number.NaN);let c=u?new Map(i.map((d,b)=>[d,b])):null,a=(d,b)=>(d>b&&([d,b]=[b,d]),d*(2*i.length-d-1)/2+(b-d-1)),f=(d,b)=>{if(!u)return ge(i[d].pts,i[b].pts);let S=a(d,b),g=u[S];if(!Number.isNaN(g))return g;let I=ge(i[d].pts,i[b].pts);return u[S]=I,I},m=(d,b)=>c?f(c.get(d),c.get(b)):ge(d.pts,b.pts),p=[];for(let d=0;d<i.length;d++){let b=1/0;for(let S=0;S<i.length;S++){if(d===S||Ue(s[d],s[S])>=b)continue;let g=f(d,S);g<b&&(b=g)}Number.isFinite(b)&&p.push(b)}p.sort((d,b)=>d-b);let y=p.length?p[Math.floor(p.length/2)]:1,h=Math.max(y*1.8,1e-6),x=i.map(()=>[]);for(let d=0;d<i.length;d++)for(let b=d+1;b<i.length;b++)Ue(s[d],s[b])>h||f(d,b)<=h&&(x[d].push(b),x[b].push(d));let M=0;for(let d=0;d<i.length;d++){if(i[d].blockId!==-1)continue;let b=M++,S=[d];for(i[d].blockId=b;S.length;){let g=S.pop();for(let I of x[g])i[I].blockId===-1&&(i[I].blockId=b,S.push(I))}}let P=new Map;for(let d of i){let b=P.get(d.blockId)??[];b.push(d),P.set(d.blockId,b)}let C=[];for(let d of i){if(d.pts.length<4)continue;let b=qt(d.pts);b&&(!Number.isFinite(b.cx)||!Number.isFinite(b.cy)||C.push({x:b.cx,y:b.cy}))}let v=C.length>=2?(()=>{let d=C.map(g=>g.x).sort((g,I)=>g-I),b=C.map(g=>g.y).sort((g,I)=>g-I),S=Math.floor(C.length/2);return{cx:d[S],cy:b[S]}})():null;if(v){let d=k=>Math.hypot(k.x-v.cx,k.y-v.cy),b=1/0,S=-1/0,g=[];for(let k of i){let E=1/0,O=-1/0;for(let N of k.pts){let j=d(N);j<E&&(E=j),j>O&&(O=j)}g.push(O-E),E<b&&(b=E),O>S&&(S=O)}let I=S-b;g.sort((k,E)=>k-E);let A=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(I>1e-9&&A/I<=Qt){let k=i.map(R=>{let q=0;for(let yt of R.pts)q+=d(yt);return{row:R,radius:q/R.pts.length}}),E=0,O=0;for(let R of k)E+=R.radius,O+=R.row.focalDistance;E/=k.length,O/=k.length;let N=0;for(let R of k)N+=(R.radius-E)*(R.row.focalDistance-O);if(N<0)for(let R of k)R.radius=-R.radius;let B=1/0;for(let R of k)R.radius<B&&(B=R.radius);k.sort((R,q)=>R.radius-q.radius);let D=-1,U=-1/0,pt=I/Math.max(1,k.length)*.5,Ce=[];for(let R of k)R.radius-U>pt&&(D++,U=R.radius),R.row.ordinal=D,R.row.blockDepth=R.radius-B,Ce.push(R.row);return{sectionId:e,rows:Ce,blockCount:M}}}let w=[];for(let[,d]of P){let b=Zt(d);if(b){let S=I=>{let A=0;for(let k of I.pts)A+=k.x*b.x+k.y*b.y;return A/I.pts.length};d.sort((I,A)=>S(I)-S(A)),d.length>=2&&d[0].focalDistance>d[d.length-1].focalDistance&&d.reverse();let g=0;for(let I=0;I<d.length;I++)I>0&&(g+=m(d[I-1],d[I])),d[I].ordinal=I,d[I].blockDepth=g,w.push(d[I])}else{let S=1/0;for(let g of d)g.focalDistance<S&&(S=g.focalDistance);d.sort((g,I)=>g.focalDistance-I.focalDistance);for(let g=0;g<d.length;g++)d[g].ordinal=g,d[g].blockDepth=Math.max(0,d[g].focalDistance-S),w.push(d[g])}}return{sectionId:e,rows:w,blockCount:M}}var en=/^\d{4}-\d{2}-\d{2}$/;function tn(e){let t=Date.parse(e);return Number.isFinite(t)?en.test(e)?t+864e5:t:null}function nn(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=tn(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function on(e,t,n){return!(e.eventConfigurationId&&e.eventConfigurationId!==t||e.eventConfigurationVersion!==void 0&&e.eventConfigurationVersion!==n)}function rn(e){return e.status!=="draft"&&e.status!=="retracted"}function sn(e,t){return e.status===void 0?t===void 0:e.status!=="approved"?!0:typeof t=="string"&&typeof e.basisSha256=="string"&&e.basisSha256===t}function Ge(e,t={}){return!!e&&rn(e)&&on(e,t.activeConfigurationId,t.activeConfigurationVersion)&&sn(e,t.activeBasisSha256)&&nn(e,t.now)}var Ke=36,Ve=160;function cn(e,t=360){let n=J(Math.round(Number.isFinite(e)?e:1),1,40),o=J(Number.isFinite(t)?t:360,120,360);return Math.round(J(n*4*(360/o),Ke,Ve))}var Oo=Math.PI*2;function ze(e){return e==="pitch-football"||e==="rink-hockey"||e==="track-athletics"||e==="oval-cricket"}function an(e){if((e.kind==="polygon"||e.kind==="polyline"||e.kind==="line")&&e.points&&e.points.length>=2)return e.points;if(e.x==null||e.y==null||e.width==null||e.height==null)return null;let t=e.x,n=e.y,o=e.width,r=e.height;return[{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r},{x:t,y:n+r}]}function ln(e,t,n){let o=n*Math.PI/180,r=Math.cos(o),i=Math.sin(o),s=e.x-t.x,l=e.y-t.y;return{x:t.x+s*r-l*i,y:t.y+s*i+l*r}}function $e(e){let t=an(e);if(!t||t.length<2)return null;let n=e.rotation??0,o=Math.abs(n)<1e-6?t:t.map(u=>ln(u,{x:t.reduce((c,a)=>c+a.x,0)/t.length,y:t.reduce((c,a)=>c+a.y,0)/t.length},n)),r=1/0,i=1/0,s=-1/0,l=-1/0;for(let u of o)r=Math.min(r,u.x),i=Math.min(i,u.y),s=Math.max(s,u.x),l=Math.max(l,u.y);return!Number.isFinite(r)||s-r<1e-6||l-i<1e-6?null:{minX:r,minY:i,maxX:s,maxY:l}}var un=5,fn=3,dn=.92,hn=1.9,mn=2,bn=.6,pn=1,yn=.06;function xn(e){return e.heightM!==void 0?e.heightM:ze(e.stageKind)?yn:pn}function We(e){let t=1/0,n=1/0,o=-1/0,r=-1/0,i=-1/0;for(let s of te(e)){let l=s.baseHeightM??0;for(let u of s.objects){if(u.type!=="shape"||u.role!=="stage")continue;let c=$e(u);c&&(t=Math.min(t,c.minX),n=Math.min(n,c.minY),o=Math.max(o,c.maxX),r=Math.max(r,c.maxY),i=Math.max(i,l+xn(u)))}}return!Number.isFinite(t)||!Number.isFinite(i)?null:{minX:t,minY:n,maxX:o,maxY:r,deckTopM:i}}function gn(e,t,n,o){let r=1/0,i=1/0,s=-1/0,l=-1/0;for(let p of e)Number.isFinite(p.eyeHeightM)&&(r=Math.min(r,p.x),s=Math.max(s,p.x),i=Math.min(i,p.y),l=Math.max(l,p.y));if(!Number.isFinite(r))return null;let u=r*t,c=i*t,a=Math.max(1,Math.ceil((s-r)*t/n)+1),f=Math.max(1,Math.ceil((l-i)*t/n)+1),m=new Float64Array(a*f).fill(-1/0);for(let p of e){if(!Number.isFinite(p.eyeHeightM))continue;let y=p.eyeHeightM-K,h=Math.min(a-1,Math.max(0,Math.floor((p.x*t-u)/n))),M=Math.min(f-1,Math.max(0,Math.floor((p.y*t-c)/n)))*a+h,P=y+o;P>m[M]&&(m[M]=P)}return{cellM:n,minX:u,minY:c,cols:a,rows:f,top:m}}function Mn(e,t,n){let o=Math.floor((t-e.minX)/e.cellM),r=Math.floor((n-e.minY)/e.cellM);return o<0||r<0||o>=e.cols||r>=e.rows?-1/0:e.top[r*e.cols+o]}function qe(e,t,n={}){let o=new Map;if(!t||!e.length)return o;let r=n.metresPerChartUnit??G,i=n.cellM??bn,s=n.chairBackM??dn,l=n.selfRowSkipM??mn,u=n.clearThreshold??.9,c=n.partialThreshold??.25,a=Math.max(1,n.columns??un),f=Math.max(1,n.rows??fn),m=gn(e,r,i,s);if(!m)return o;let p=(t.maxX-t.minX)*r,y=(t.maxY-t.minY)*r,h=p>=y,x=(t.minX+t.maxX)/2*r,M=(t.minY+t.maxY)/2*r,P=[];for(let v=0;v<a;v++){let w=(v+.5)/a-.5,d=h?x+w*p:x,b=h?M:M+w*y;for(let S=0;S<f;S++){let g=t.deckTopM+(f===1?0:S/(f-1)*hn);P.push({x:d,y:b,z:g})}}let C=i/2;for(let v of e){if(!Number.isFinite(v.eyeHeightM))continue;let w=v.x*r,d=v.y*r,b=v.eyeHeightM,S=0,g=1/0;for(let A of P){let k=A.x-w,E=A.y-d,O=Math.hypot(k,E);if(!(O>l)){S++;continue}let N=k/O,j=E/O,B=0;for(let D=l;D<O;D+=C){let U=Mn(m,w+N*D,d+j*D);if(!(!Number.isFinite(U)||U>=b)&&U>b+(A.z-b)*D/O){B=D;break}}B?g=Math.min(g,B):S++}let I=S/P.length;I>=u||o.set(v.id,{seatId:v.id,mark:I<c?"obstructedView":"restrictedView",visibleFraction:I,totalRays:P.length,atDistanceM:Number.isFinite(g)?g:0})}return o}function Qe(e,t){if(!t.size)return 0;let n=0;for(let o of e){let r=t.get(o.id);if(!r)continue;let i=o.commercial;i?.restrictedView!==void 0||i?.obstructedView!==void 0||(o.commercial={...i,[r.mark]:!0},n++)}return n}function Me(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var re=Math.PI/180,Sn=9,X=16;function Se(e,t,n,o){let r=n*re,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function ie(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return le(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let c=0;c<t;c++)s.push(Se(c*n,0,r,i));return s}let l=o/(t-1)*re,u=n/(2*Math.sin(Math.abs(l)/2));for(let c=0;c<t;c++){let a=c*l,f=u*Math.sin(a),m=-u+u*Math.cos(a);s.push(Se(f,m,r,i))}return s}function tt(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function wn(e){let t=new Set((e.overrides??[]).filter(n=>n.skip&&Number.isInteger(n.index)&&n.index>=0&&n.index<e.seatCount).map(n=>n.index));return Math.max(0,e.seatCount-t.size)}function nt(e,t){let n=tt(e);return ie(e).map((o,r)=>{let i=n.get(r),s=Me(i),l=Ne(e,r,i),u={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:l,displayLabel:pe(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(u).some(c=>c!==void 0&&c!==!1&&c!=="")?u:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function ot(e){let t=[];for(let n of nt(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function rt(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function Pe(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(a=>[a.index,a])),r=(a,f,m,p)=>{let y=o.get(a),h=Me(y),x=y?.label??`${e.label}-${a+1}`,M=e.displayLabel??e.label;return{index:a,label:x,displayLabel:y?.displayLabel??`${M}-${a+1}`,x:f+(y?.dx??0),y:m+(y?.dy??0),categoryKey:y?.categoryKey??e.categoryKey,skipped:!!y?.skip,accessible:h.length>0,accessibility:h,wheelchairSpaceType:y?.wheelchairSpaceType,commercial:y?.commercial,glyph:y?.glyph,viewUrl:y?.viewFromSeatUrl,viewMeta:y?.viewFromSeatUrl?y.viewFromSeatMeta:void 0,labelStyle:y?.labelStyle,...p?{side:p}:{}}};if(e.shape==="round"){let a=(e.radius??40)+X,f=e.rotation*re,m=Math.max(0,Math.min(360,e.seatArc??360));if(m>=360||n===1){for(let x=0;x<n;x++){let M=f+x/n*2*Math.PI;t.push(r(x,e.center.x+a*Math.cos(M),e.center.y+a*Math.sin(M)))}return t}let p=m*re,y=(2*Math.PI-p)/2,h=f+y;for(let x=0;x<n;x++){let M=h+x/(n-1)*p;t.push(r(x,e.center.x+a*Math.cos(M),e.center.y+a*Math.sin(M)))}return t}let i=e.width??80,s=e.height??50,l=rt(e),u=["top","bottom","left","right"],c=0;for(let a of u){let f=l[a];for(let m=0;m<f;m++){let p,y;a==="top"?(p=-i/2+(m+.5)*i/f,y=-s/2-X):a==="bottom"?(p=-i/2+(m+.5)*i/f,y=s/2+X):a==="left"?(p=-i/2-X,y=-s/2+(m+.5)*s/f):(p=i/2+X,y=-s/2+(m+.5)*s/f);let h=Se(p,y,e.rotation,e.center);t.push(r(c++,h.x,h.y,a))}}return t}function Pn(e){return e.bookAsWhole||e.variableOccupancy?Math.max(0,Math.round(e.seatCount)):Pe(e).filter(t=>!t.skipped).length}function it(e){return Pe(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function st(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function we(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,l=t[r].x,u=t[r].y;s>e.y!=u>e.y&&e.x<(l-i)*(e.y-s)/(u-s)+i&&(n=!n)}return n}function In(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),l=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=l+1e-7})}function V(e){return Array.isArray(e)?e.filter(t=>Array.isArray(t)&&t.length>=3):[]}function $(e,t,n){return we(e,t)&&!V(n).some(o=>we(e,o)||In(e,o))}function vn(e,t){return he(e,t).point}function oe(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function Ie(e){switch(e.type){case"row":{let t=ie(e),n=tt(e),o=0,r=0,i=0;for(let s=0;s<t.length;s++){let l=n.get(s);l?.skip||(o+=t[s].x+(l?.dx??0),r+=t[s].y+(l?.dy??0),i++)}return i?{x:o/i,y:r/i}:{x:e.origin.x,y:e.origin.y}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return oe(e.points);case"section":return oe(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?oe(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Ze(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function Cn(e,t){if(e.type!=="gaArea"||!Ze(e.points,t.outline))return!1;let n=V(e.holes),o=V(t.holes);return n.length===o.length&&n.every((r,i)=>Ze(r,o[i]))}function ct(e,t,n=e.filter(r=>r.type==="section"),o=Ie(t)){let r="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0;return(r?n.find(s=>(s.logicalSectionId??s.id)===r&&(Cn(t,s)||$(o,s.outline,s.holes))):void 0)??n.find(s=>$(o,s.outline,s.holes))}function te(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function kn(e,t){let n=te(e);return(t?n.find(o=>o.id===t):n[0])?.objects??[]}function at(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}function se(e,t,n){let o=i=>({x:i.x+t,y:i.y+n}),r=i=>i.map(o);switch(e.type){case"row":return{...e,origin:o(e.origin)};case"table":case"booth":return{...e,center:o(e.center)};case"gaArea":return{...e,points:r(e.points),...e.holes?{holes:V(e.holes).map(r)}:{}};case"section":return{...e,outline:r(e.outline),...e.outlinePath?{outlinePath:Le(e.outlinePath,t,n)}:{},...e.holes?{holes:V(e.holes).map(r)}:{}};case"text":return{...e,position:o(e.position)};case"shape":return{...e,...e.points?{points:r(e.points)}:{},...e.x!=null?{x:e.x+t}:{},...e.y!=null?{y:e.y+n}:{}};case"decorImage":return{...e,x:e.x+t,y:e.y+n}}}function En(e,t=900){if(!e.floors||e.floors.length<2)return e;let n=[];return e.floors.forEach((o,r)=>{let i=-r*t;for(let s of o.objects)n.push(i===0?s:se(s,0,i))}),{...e,objects:n,floors:void 0}}function Je(e,t,n,o,r,i,s,l,u){let c=[],a=e.filter(h=>h.type==="section"),f=me(e),m=h=>!h?.eventConfigurationId||h.eventConfigurationId===o&&(h.eventConfigurationVersion===void 0||h.eventConfigurationVersion===u),p=h=>Ge(h,{activeConfigurationId:o,activeConfigurationVersion:u,activeBasisSha256:r,now:l}),y=(h,x)=>p(h)?{...h,coverage:x}:void 0;for(let h of e){let x=[];if(h.type==="row"?x=ot(h):h.type==="table"?x=it(h):h.type==="booth"&&(x=st(h)),!x.length)continue;for(let w of x)w.viewUrl&&!m(w.viewMeta)&&(w.viewUrl=void 0,w.viewMeta=void 0);if(h.type==="row"){let w=f.get(h.id);if(w){let d=new Map((h.overrides??[]).map(b=>[b.index,b]));for(let b of x){let S=Number(b.id.slice(b.id.lastIndexOf(":")+1));if(!Number.isInteger(S))continue;b.logicalRowId=w.groupId,b.logicalSeatIndex=w.adjacencyOffset+S,d.get(S)?.displayLabel||(b.displayLabel=pe(h,S,w)),!b.viewUrl&&w.viewFromSeatUrl&&m(w.viewFromSeatMeta)&&(b.viewUrl=w.viewFromSeatUrl,b.viewMeta=w.viewFromSeatMeta);let g=d.get(S)?.confidenceEvidence;b.confidenceEvidence=y(g,"exact-seat")??y(h.confidenceEvidence,"row-representative")??y(w.confidenceEvidence,"row-representative")}}}let M=ct(e,h,a,h.type==="row"?oe(x):Ie(h)),P=M?.viewFromSeatUrl,v=(M?.zone?t?.find(w=>w.id===M.zone):void 0)?.focalPoint??n;for(let w of x){if(!w.confidenceEvidence){let d=Number(w.id.slice(w.id.lastIndexOf(":")+1)),b=(h.type==="row"||h.type==="table")&&Number.isInteger(d)?h.overrides?.find(S=>S.index===d)?.confidenceEvidence:void 0;w.confidenceEvidence=y(b,"exact-seat")??(h.type==="row"?y(h.confidenceEvidence,"row-representative"):void 0)}w.confidenceEvidence??=y(M?.confidenceEvidence,"section-representative")??(s?y(s.evidence,s.coverage):void 0),!w.viewUrl&&P&&m(M?.viewFromSeatMeta)&&(w.viewUrl=P,w.viewMeta=M?.viewFromSeatMeta),!w.viewUrl&&i&&m(i.meta)&&(w.viewUrl=i.url,w.viewMeta=i.meta),M&&(w.sectionId=M.logicalSectionId??M.id),M?.zone&&(w.zoneId=M.zone),v&&(w.focalPoint={...v})}c.push(...x)}return c}function On(e,t={}){if(e.floors?.length){let o=[];for(let r of e.floors){let i=r.focalPoint??e.focalPoint,s=r.viewFromSeatUrl?{url:r.viewFromSeatUrl,meta:r.viewFromSeatMeta}:e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,l=r.confidenceEvidence?{evidence:r.confidenceEvidence,coverage:"floor-representative"}:e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,u=Je(r.objects,e.zones,i,e.eventConfigurationId,e.confidenceBasisSha256,s,l,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);t.resolveEyeHeights!==!1&&et(r.objects,r.focalPoint??e.focalPoint,r.baseHeightM??0,u);for(let c of u)c.floorId=r.id;for(let c of u)o.push(c)}return o}let n=Je(e.objects,e.zones,e.focalPoint,e.eventConfigurationId,e.confidenceBasisSha256,e.viewFromSeatUrl?{url:e.viewFromSeatUrl,meta:e.viewFromSeatMeta}:void 0,e.confidenceEvidence?{evidence:e.confidenceEvidence,coverage:"venue-representative"}:void 0,t.now,t.eventConfigurationVersion??e.eventConfigurationVersion);return t.resolveEyeHeights!==!1&&et(e.objects,e.focalPoint,t.floorBaseHeightM??0,n),Rn(e,n,t)}function Rn(e,t,n){return!n.deriveRestrictedView||e.derivedRestrictedView===!1||n.resolveEyeHeights===!1||Qe(t,qe(t,We(e))),t}function et(e,t,n,o){let r=e.filter(f=>f.type==="section"),i=n>0||r.some(f=>f.height!==void 0||f.rake!==void 0||(f.elevation??0)>0);if(!r.length||!i||!t){for(let f of o)f.eyeHeightM=n+K;return}let s=new Array(o.length),l=new Map;for(let f of r)l.has(f.id)||l.set(f.id,f);let u=new Map,c=new Map;for(let f=0;f<o.length;f++){let m=o[f],y=(m.sectionId?l.get(m.sectionId)??r.find(x=>x.logicalSectionId===m.sectionId&&$({x:m.x,y:m.y},x.outline,x.holes)):void 0)??r.find(x=>$({x:m.x,y:m.y},x.outline,x.holes))??null;if(s[f]=y,!y)continue;u.has(y.id)||u.set(y.id,Be(y,{floorBaseHeightM:n}));let h=c.get(y.id);h?h.push(f):c.set(y.id,[f])}let a=new Array(o.length).fill(void 0);for(let[f,m]of c){let p=u.get(f);if(!p)continue;let y=p.rake>0?Math.tan(p.rake*Math.PI/180):0,h=Ye(f,o,m,t);for(let x of h.rows){let M=x.blockDepth*G*y,P=p.height+M;for(let C of x.seatIndices)a[C]=P}}for(let f=0;f<o.length;f++){let m=o[f],p=s[f];if(!p){m.eyeHeightM=n+K;continue}let y=u.get(p.id);m.eyeHeightM=(a[f]??y.height)+K}}var ne=40;function W(e,t){let n=t?.freeText==="exclude",o=1/0,r=1/0,i=-1/0,s=-1/0,l=(c,a)=>{c<o&&(o=c),a<r&&(r=a),c>i&&(i=c),a>s&&(s=a)},u=c=>{if(Array.isArray(c))for(let a of c)!a||typeof a!="object"||l(a.x,a.y)};for(let c of at(e))if(c.type==="row"){let a=new Map((c.overrides??[]).map(f=>[f.index,f]));ie(c).forEach((f,m)=>{let p=a.get(m);p?.skip||l(f.x+(p?.dx??0),f.y+(p?.dy??0))})}else if(c.type==="gaArea")u(c.points);else if(c.type==="section")u(c.outline);else if(c.type==="decorImage")l(c.x,c.y),l(c.x+c.width,c.y+c.height);else if(c.type==="shape")c.points&&c.points.length?u(c.points):c.x!=null&&c.y!=null&&c.width!=null&&c.height!=null&&(l(c.x,c.y),l(c.x+c.width,c.y+c.height));else if(c.type==="table"){let a=X+Sn,f=c.shape==="round"?(c.radius??40)+a:Math.max((c.width??80)/2,(c.height??50)/2)+a;l(c.center.x-f,c.center.y-f),l(c.center.x+f,c.center.y+f)}else if(c.type==="booth"){let a=Math.max(c.width,c.height)/2;l(c.center.x-a,c.center.y-a),l(c.center.x+a,c.center.y+a)}else if(c.type==="text"){if(n)continue;let a=ue(c);l(c.position.x,c.position.y),l(c.position.x+a.width,c.position.y+a.height)}for(let c of[e.referenceImage,e.backgroundImage]){if(!c)continue;let{center:a,width:f}=c;if(!a||!Number.isFinite(a.x)||!Number.isFinite(a.y)||!Number.isFinite(f))continue;let m=f*3/4;l(a.x-f/2,a.y-m/2),l(a.x+f/2,a.y+m/2)}if(!isFinite(o)){let c=e.focalPoint??{x:0,y:0};return{x:c.x-200,y:c.y-200,width:400,height:400}}return{x:o-ne,y:r-ne,width:i-o+ne*2,height:s-r+ne*2}}function lt(e){let t=e.backgroundImage;return t?.url&&!t.assetId?t:void 0}var ut=.08,An=.045;function ve(e){return`__floor__:${encodeURIComponent(e)}`}function ft(e,t,n){return{...e,objects:t,floors:void 0,...n?{focalPoint:n}:{},referenceImage:void 0,backgroundImage:void 0}}function Tn(e,t,n){let o=e.focalPoint??t.focalPoint;return o?o.x:n.x+n.width/2}function dt(e){let t=e.floors??[];if(!t.length)return[];let n=t.map(s=>W(ft(e,s.objects,s.focalPoint),{freeText:"exclude"})),r=Math.max(1,...n.map(s=>s.width))*ut,i=0;return t.map((s,l)=>{let u=n[l],c=i-(u.y+u.height);return i-=u.height+r,{floorId:s.id,label:s.name??s.id,level:l,levelBadge:l===0?"G":String(l),translation:{x:-Tn(s,e,u),y:c},bounds:u}})}function _n(e,t,n,o){let r=t==="name"?e.label:e.levelBadge;if(!r)return[];let i=Math.max(1,n*An),s=e.bounds.x+e.translation.x,l=e.bounds.y+e.translation.y+i*.4,u=`floor-level-${e.floorId}`,c={type:"text",id:`${u}-text`,text:r,position:{x:s,y:l},fontSize:i,rotation:0,color:o,bold:!0};if(t==="name")return[c];let a=i*.95;return[{type:"shape",id:`${u}-badge`,kind:"ellipse",x:s-a*.35,y:l-a*.3,width:a*2,height:a*2,fill:"transparent",stroke:{color:o,width:Math.max(1,i*.09)},opacity:.8},c]}function Dn(e,t={}){let n=e.floors;if(!n||n.length<2)return e;let o=dt(e),r=[];n.forEach((c,a)=>{let{x:f,y:m}=o[a].translation;for(let p of c.objects)a>0&&p.type==="shape"&&p.role==="stage"||r.push(se(p,f,m))});let i={...e,objects:r,floors:void 0},s=W(i,{freeText:"exclude"}),l=Math.max(1,s.width,s.height),u=e.theme?.textColor??"#94a3b8";for(let c of o)r.push(..._n(c,t.labelStyle??"number",l,u));return{...i,objects:r,referenceImage:void 0,backgroundImage:void 0}}function Ln(e){if(!e.floors||e.floors.length<2)return e;let t=!e.zones?.length,n=new Set,o=e.floors.flatMap(i=>i.objects.flatMap(s=>{if(s.type==="shape"&&s.role==="stage"){let l=JSON.stringify([s.kind,s.x,s.y,s.width,s.height,s.points,s.rotation??0,s.label,s.heightM,s.eventConfigurationIds]);if(n.has(l))return[];n.add(l)}return t&&s.type==="section"?[{...s,zone:ve(i.id)}]:[s]})),r=t?e.floors.map(i=>({id:ve(i.id),label:i.name,focalPoint:{...i.focalPoint}})):e.zones;return{...e,objects:o,zones:r,floors:void 0,referenceImage:void 0,backgroundImage:lt(e)}}function ht(e){let t=e.floors;if(!t?.length)return null;let n=t.find(i=>i.objects.some(s=>s.type==="shape"&&s.role==="stage"));if(n)return n.id;let o=t[0],r=-1;for(let i of t){let s=W(ft(e,i.objects,i.focalPoint),{freeText:"exclude"}),l=s.width*s.height;l>r&&(r=l,o=i)}return o.id}var mt=640;function Fn(e,t){return(e.floors?.length??0)<2?null:e.floorOverview==="combined"||!Number.isFinite(t)||t<=0||t>=mt?"all":ht(e)}function Nn(e,t=0){let n=Math.max(1,e.width,e.height),o={x:e.x+e.width/2,y:e.y+e.height/2},r=n*1.55,i=Math.max(n*.82,Math.max(0,t)+n*.45);return{target:o,distance:r,height:i,focalLength:Math.hypot(r,i),yawRad:-8*Math.PI/180}}function ce(e,t,n=0){let o=t.x-e.target.x,r=t.y-e.target.y,i=Math.cos(e.yawRad),s=Math.sin(e.yawRad),l=o*i-r*s,c=o*s+r*i-e.distance,a=n-e.height,f=Math.hypot(e.distance,e.height),m=(-e.distance*c-e.height*a)/f,p=(-e.height*c+e.distance*a)/f,y=Math.max(f*.08,m),h=e.focalLength/y;return{x:e.target.x+l*h,y:e.target.y-p*h,depth:y,scale:h}}function jn(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function Bn(e){let t=e.a*e.d-e.b*e.c;if(!Number.isFinite(t)||Math.abs(t)<1e-9)throw new Error("perspective projection produced a singular affine");let n=e.d/t,o=-e.b/t,r=-e.c/t,i=e.a/t;return{a:n,b:o,c:r,d:i,e:-(n*e.e+r*e.f),f:-(o*e.e+i*e.f)}}function Hn(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function Xn(e,t,n=()=>0){let o=ce(e,t,n(t)),r={x:t.x+1,y:t.y},i={x:t.x,y:t.y+1},s=ce(e,r,n(r)),l=ce(e,i,n(i)),u=s.x-o.x,c=s.y-o.y,a=l.x-o.x,f=l.y-o.y;return{a:u,b:c,c:a,d:f,e:o.x-u*t.x-a*t.y,f:o.y-c*t.x-f*t.y}}function Un(e){let t=Math.hypot(e.a,e.b),n=e.a*e.d-e.b*e.c;return{rotationDeg:Math.atan2(e.b,e.a)*180/Math.PI,scaleX:t,scaleY:n/Math.max(t,1e-9),skewX:(e.a*e.c+e.b*e.d)/Math.max(n,1e-9)}}var bt=9;function Yn(e){if(e.kind==="circle")return{hx:e.r,hy:e.r};let t=e.width/2,n=e.height/2,o=e.rotation??0;if(!o)return{hx:t,hy:n};let r=o*Math.PI/180,i=Math.abs(Math.cos(r)),s=Math.abs(Math.sin(r));return{hx:t*i+n*s,hy:t*s+n*i}}function Gn(e,t,n){let o=t-e.seat.x,r=n-e.seat.y;if(e.shape.kind==="circle")return o*o+r*r<=e.shape.r*e.shape.r;let i=e.shape.rotation??0,s=o,l=r;if(i){let u=-i*Math.PI/180,c=Math.cos(u),a=Math.sin(u);s=o*c-r*a,l=o*a+r*c}return Math.abs(s)<=e.shape.width/2&&Math.abs(l)<=e.shape.height/2}function Kn(e,t,n,o,r){if(e.shape.kind==="circle"){let y=Math.min(Math.max(e.seat.x,t),o),h=Math.min(Math.max(e.seat.y,n),r),x=e.seat.x-y,M=e.seat.y-h;return x*x+M*M<=e.shape.r*e.shape.r}let i=e.shape.rotation??0;if(!i)return e.seat.x-e.hx<=o&&e.seat.x+e.hx>=t&&e.seat.y-e.hy<=r&&e.seat.y+e.hy>=n;let s=i*Math.PI/180,l=Math.cos(s),u=Math.sin(s),c=e.shape.width/2,a=e.shape.height/2,f=[[-c,-a],[c,-a],[c,a],[-c,a]].map(([y,h])=>[e.seat.x+y*l-h*u,e.seat.y+y*u+h*l]),m=[[t,n],[o,n],[o,r],[t,r]],p=[[1,0],[0,1],[l,u],[-u,l]];for(let[y,h]of p){let x=1/0,M=-1/0;for(let[v,w]of f){let d=v*y+w*h;d<x&&(x=d),d>M&&(M=d)}let P=1/0,C=-1/0;for(let[v,w]of m){let d=v*y+w*h;d<P&&(P=d),d>C&&(C=d)}if(M<P||C<x)return!1}return!0}function Vn(e,t={}){let n=t.seatRadius??bt,o=e.length,r=new Array(o),i=1/0,s=1/0,l=-1/0,u=-1/0,c=0;for(let d=0;d<o;d++){let b=e[d],S=t.shapeOf?.(b)??{kind:"circle",r:n},{hx:g,hy:I}=Yn(S);r[d]={seat:b,shape:S,hx:g,hy:I},b.x-g<i&&(i=b.x-g),b.y-I<s&&(s=b.y-I),b.x+g>l&&(l=b.x+g),b.y+I>u&&(u=b.y+I),g>c&&(c=g),I>c&&(c=I)}o===0&&(i=0,s=0,l=0,u=0);let a=c>0?c*4:1,f=Math.max(l-i,0),m=Math.max(u-s,0),p=Math.max(64,t.maxCells??o*4),y=a,h=Math.max(1,Math.ceil(f/y)||1),x=Math.max(1,Math.ceil(m/y)||1);for(;h*x>p&&(h>1||x>1);)y*=2,h=Math.max(1,Math.ceil(f/y)||1),x=Math.max(1,Math.ceil(m/y)||1);let M=h*x,P=new Int32Array(M+1),C=0;for(let d=0;d<o;d++){let b=r[d],S=L(Math.floor((b.seat.x-b.hx-i)/y),0,h-1),g=L(Math.floor((b.seat.x+b.hx-i)/y),0,h-1),I=L(Math.floor((b.seat.y-b.hy-s)/y),0,x-1),A=L(Math.floor((b.seat.y+b.hy-s)/y),0,x-1);for(let k=I;k<=A;k++)for(let E=S;E<=g;E++)P[k*h+E+1]++,C++}for(let d=0;d<M;d++)P[d+1]+=P[d];let v=new Int32Array(C),w=P.slice(0,M);for(let d=0;d<o;d++){let b=r[d],S=L(Math.floor((b.seat.x-b.hx-i)/y),0,h-1),g=L(Math.floor((b.seat.x+b.hx-i)/y),0,h-1),I=L(Math.floor((b.seat.y-b.hy-s)/y),0,x-1),A=L(Math.floor((b.seat.y+b.hy-s)/y),0,x-1);for(let k=I;k<=A;k++)for(let E=S;E<=g;E++){let O=k*h+E;v[w[O]++]=d}}return{seats:e,entries:r,minX:i,minY:s,cell:y,cols:h,rows:x,cellStart:P,items:v,stamp:new Int32Array(o),epoch:0}}function zn(e,t,n={}){let{cols:o,rows:r,cell:i,minX:s,minY:l,cellStart:u,items:c,entries:a}=e,f=Math.floor((t.x-s)/i),m=Math.floor((t.y-l)/i);if(f<0||m<0||f>=o||m>=r)return null;let p=m*o+f,y=u[p+1],h=-1,x=1/0;for(let M=u[p];M<y;M++){let P=c[M],C=a[P];if(n.filter&&!n.filter(C.seat.id,C.seat)||!Gn(C,t.x,t.y))continue;let v=t.x-C.seat.x,w=t.y-C.seat.y,d=v*v+w*w;(d<x||d===x&&P<h)&&(x=d,h=P)}return h<0?null:a[h].seat.id}function $n(e,t,n,o={}){if(!(n>0))return null;let{cols:r,rows:i,cell:s,minX:l,minY:u,cellStart:c,items:a,entries:f}=e,m=Math.max(0,Math.floor((t.x-n-l)/s)),p=Math.min(r-1,Math.floor((t.x+n-l)/s)),y=Math.max(0,Math.floor((t.y-n-u)/s)),h=Math.min(i-1,Math.floor((t.y+n-u)/s));if(m>p||y>h)return null;let x=-1,M=n*n,P=e.stamp,C=++e.epoch;for(let v=y;v<=h;v++){let w=v*r;for(let d=m;d<=p;d++){let b=w+d,S=c[b+1];for(let g=c[b];g<S;g++){let I=a[g];if(P[I]===C)continue;P[I]=C;let A=f[I];if(o.filter&&!o.filter(A.seat.id,A.seat))continue;let k=t.x-A.seat.x,E=t.y-A.seat.y,O=k*k+E*E;(O<M||O===M&&I<x)&&(M=O,x=I)}}}return x<0?null:f[x].seat.id}function Wn(e,t,n={}){let o=Math.min(t.x,t.x+t.width),r=Math.max(t.x,t.x+t.width),i=Math.min(t.y,t.y+t.height),s=Math.max(t.y,t.y+t.height),l=n.mode??"center",{cols:u,rows:c,cell:a,minX:f,minY:m,cellStart:p,items:y,entries:h}=e,x=Math.max(0,Math.floor((o-f)/a)),M=Math.min(u-1,Math.floor((r-f)/a)),P=Math.max(0,Math.floor((i-m)/a)),C=Math.min(c-1,Math.floor((s-m)/a));if(x>M||P>C)return[];let v=[],w=e.stamp,d=++e.epoch;for(let b=P;b<=C;b++){let S=b*u;for(let g=x;g<=M;g++){let I=S+g,A=p[I+1];for(let k=p[I];k<A;k++){let E=y[k];if(w[E]===d)continue;w[E]=d;let O=h[E];if(n.filter&&!n.filter(O.seat.id,O.seat))continue;(l==="center"?O.seat.x>=o&&O.seat.x<=r&&O.seat.y>=i&&O.seat.y<=s:Kn(O,o,i,r,s))&&v.push(E)}}}return v.sort((b,S)=>b-S),v.map(b=>h[b].seat.id)}function qn(e){let t=e.cols*e.rows,n=0,o=0;for(let i=0;i<t;i++){let s=e.cellStart[i+1]-e.cellStart[i];s>0&&n++,s>o&&(o=s)}let r=e.items.length;return{cell:e.cell,cols:e.cols,rows:e.rows,cells:t,occupiedCells:n,refs:r,maxPerCell:o,meanPerOccupiedCell:n?r/n:0}}0&&(module.exports={AUTOMATIC_ROUND_TABLE_RADIUS_MAX,AUTOMATIC_ROUND_TABLE_RADIUS_MIN,DEFAULT_SEAT_RADIUS,FLOOR_STACK_GAP_RATIO,FLOOR_STACK_MIN_SURFACE_PX,TABLE_SEAT_OFFSET,TEXT_BACKGROUND_PADDING_MAX,TEXT_BACKGROUND_RADIUS_MAX,TEXT_LETTER_SPACING_MAX,TEXT_LETTER_SPACING_MIN,TEXT_LINE_HEIGHT_MAX,TEXT_LINE_HEIGHT_MIN,TEXT_OPACITY_MIN,TEXT_WIDTH_MAX,TEXT_WIDTH_MIN,allObjects,applyAffine,automaticRoundTableRadius,buildAisleHoles,buildSeatIndex,buildSectionShell,chartBounds,combinedFloorZoneId,composeAffine,createPerspectiveCamera,cubicPoint,decomposeAffineLinear,distanceToRings,distributeAlongCubic,expandBooth,expandChart,expandRow,expandRowSlots,expandTable,expandTableSlots,floorObjects,floorStackPlacements,floorsOf,gridStats,hitTest,initialFloorMode,invertAffine,layoutCombinedFloorPlan,layoutFloorStack,mainFloorId,nearestWithin,objectCenter,owningSectionForObject,perspectiveTangentAffine,pointInPolygon,pointInPolygonWithHoles,polygonArea,polygonInscribedAnchor,polygonLabelPoint,polygonNetArea,projectPerspectivePoint,queryRect,resolveSegmentedRowGroups,rowInventoryCount,rowSeatPositions,segmentedRowComponentSeats,segmentedRowComponents,segmentedRowSeatTotal,smoothCubicThroughMiddle,stackFloors,tableInventoryCount,tableSeatCountsBySide,textLayoutMetrics,translateObject,usableHoles});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { P as Point, t as CubicPath, u as TextObject } from '../../types-BbqhOJ5L.cjs';
|
|
2
2
|
export { F as FloorLabelStyle } from '../../types-BbqhOJ5L.cjs';
|
|
3
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-
|
|
3
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject, L as usableHoles } from '../../tableSizing-Blb9Z_Tt.cjs';
|
|
4
4
|
export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-BbHdWqJy.cjs';
|
|
5
5
|
import { E as ExpandedSeat } from '../../renderer-BePADdjE.cjs';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { P as Point, t as CubicPath, u as TextObject } from '../../types-BbqhOJ5L.js';
|
|
2
2
|
export { F as FloorLabelStyle } from '../../types-BbqhOJ5L.js';
|
|
3
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-
|
|
3
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject, L as usableHoles } from '../../tableSizing-DmZYe2v2.js';
|
|
4
4
|
export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-oVUtwW87.js';
|
|
5
5
|
import { E as ExpandedSeat } from '../../renderer-B7IrAGHP.js';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as U,b as V,c as W,d as X,e as Y,f as Z,g as _,h as $,i as fo,j as mo,k as po,l as to,m as xo,n as ao,o as bo,p as co,q as go,r as ho,s as io,t as jo,u as ko}from"../../chunk-A3ZL3R75.js";import{a as oo,b as ro,c as eo}from"../../chunk-TKYTTEJ2.js";import"../../chunk-5BMXWOE7.js";import{$ as u,Aa as A,Ba as B,Ca as C,D as c,Da as D,E as d,Ea as E,F as g,Fa as F,G as h,Ga as G,H as i,Ha as H,I as j,Ia as I,J as k,Ja as J,K as l,Ka as K,L as n,La as L,Ma as M,Na as N,Oa as O,Pa as P,Qa as Q,Ra as R,Sa as S,Ta as T,Z as q,_ as s,aa as v,q as o,r,s as e,t as f,u as m,v as p,w as t,x,xa as w,y as a,ya as y,z as b,za as z}from"../../chunk-F7TP67LK.js";import"../../chunk-5ITK5236.js";import"../../chunk-CRCGO52K.js";export{ro as AUTOMATIC_ROUND_TABLE_RADIUS_MAX,oo as AUTOMATIC_ROUND_TABLE_RADIUS_MIN,fo as DEFAULT_SEAT_RADIUS,U as FLOOR_STACK_GAP_RATIO,_ as FLOOR_STACK_MIN_SURFACE_PX,w as TABLE_SEAT_OFFSET,x as TEXT_BACKGROUND_PADDING_MAX,a as TEXT_BACKGROUND_RADIUS_MAX,p as TEXT_LETTER_SPACING_MAX,m as TEXT_LETTER_SPACING_MIN,f as TEXT_LINE_HEIGHT_MAX,e as TEXT_LINE_HEIGHT_MIN,t as TEXT_OPACITY_MIN,r as TEXT_WIDTH_MAX,o as TEXT_WIDTH_MIN,P as allObjects,go as applyAffine,eo as automaticRoundTableRadius,i as buildAisleHoles,mo as buildSeatIndex,h as buildSectionShell,T as chartBounds,V as combinedFloorZoneId,io as composeAffine,bo as createPerspectiveCamera,c as cubicPoint,ko as decomposeAffineLinear,j as distanceToRings,g as distributeAlongCubic,G as expandBooth,S as expandChart,B as expandRow,A as expandRowSlots,F as expandTable,D as expandTableSlots,O as floorObjects,W as floorStackPlacements,N as floorsOf,ao as gridStats,po as hitTest,$ as initialFloorMode,ho as invertAffine,Y as layoutCombinedFloorPlan,X as layoutFloorStack,Z as mainFloorId,to as nearestWithin,L as objectCenter,M as owningSectionForObject,jo as perspectiveTangentAffine,H as pointInPolygon,J as pointInPolygonWithHoles,k as polygonArea,n as polygonInscribedAnchor,K as polygonLabelPoint,l as polygonNetArea,co as projectPerspectivePoint,xo as queryRect,v as resolveSegmentedRowGroups,z as rowInventoryCount,y as rowSeatPositions,s as segmentedRowComponentSeats,q as segmentedRowComponents,u as segmentedRowSeatTotal,d as smoothCubicThroughMiddle,R as stackFloors,E as tableInventoryCount,C as tableSeatCountsBySide,b as textLayoutMetrics,Q as translateObject,I as usableHoles};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ae=Object.defineProperty;var ht=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var mt=Object.prototype.hasOwnProperty;var yt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},xt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of bt(t))!mt.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=ht(t,r))||o.enumerable});return e};var gt=e=>xt(ae({},"__esModule",{value:!0}),e);var Tn={};yt(Tn,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>Ve,MAX_EDGE_SAGITTA_RATIO:()=>ze,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>On,arcLevelAt:()=>_t,bearingDeg:()=>Te,buildSectionRake:()=>Ut,computeSections:()=>En,computeSectionsPerFloor:()=>ft,cornerSmoothingThresholdDeg:()=>He,distanceToPolyline:()=>ue,fitBowlProfile:()=>Tt,fitCircle:()=>te,hiddenObjectIds:()=>pt,indexLabel:()=>Le,isSectionHidden:()=>dt,logicalNumberingRow:()=>je,relabelRows:()=>Nt,resolveSection:()=>Pt,reverseSectionOutlinePath:()=>ln,sampleSectionOutlinePath:()=>tn,seatConfidenceDisclosure:()=>Xt,seatDisplayLabel:()=>he,seatInventoryLabel:()=>pe,seatLabelPart:()=>Z,sectionCornerSmoothingPath:()=>sn,sectionGeometry:()=>qe,sectionIdentitiesById:()=>Re,sectionLabelsById:()=>Cn,sectionOutlinePathFrom:()=>$e,sectionOwnersByObject:()=>lt,sectionPathSegmentEnd:()=>Zt,toBijectiveBase:()=>fe,toLetters:()=>re,toRoman:()=>de,transformSectionOutlinePath:()=>Ue,translateSectionOutlinePath:()=>nn,validSectionOutlinePath:()=>ye});module.exports=gt(Tn);function Ce(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],u=s.x-i.x,l=s.y-i.y,b=u*u+l*l,c=b>1e-12?((t-i.x)*u+(n-i.y)*l)/b:0;c<0?c=0:c>1&&(c=1);let p=t-(i.x+c*u),d=n-(i.y+c*l);if(Math.abs(p)>=o||Math.abs(d)>=o)continue;let f=Math.hypot(p,d);f<o&&(o=f)}return o}function St(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Ee(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of Ce(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ce(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function wt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let p=Math.hypot(c.x-n,c.y-o);p>r&&(r=p,i=c)}let s=i.x-n,u=i.y-o,l=Math.hypot(s,u);l>1e-9?(s/=l,u/=l):(s=1,u=0);let b=e.map((c,p)=>({p:c,i:p,t:(c.x-n)*s+(c.y-o)*u})).sort((c,p)=>c.t-p.t);return{pts:b.map(c=>c.p),seatIndices:b.map(c=>t[c.i])}}function te(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let E of e)n+=E.x,o+=E.y;n/=t,o/=t;let r=0,i=0,s=0,u=0,l=0,b=0,c=0;for(let E of e){let P=E.x-n,m=E.y-o;r+=P*P,s+=m*m,i+=P*m,u+=P*P*P,l+=m*m*m,b+=P*m*m,c+=m*P*P}let p=r*s-i*i;if(Math.abs(p)<1e-9)return null;let d=(u+b)/2,f=(l+c)/2,h=(d*s-f*i)/p,R=(f*r-d*i)/p,v=h+n,T=R+o;return!Number.isFinite(v)||!Number.isFinite(T)?null:{cx:v,cy:T}}var Mt=.15;function vt(e){if(e.length<2)return null;let t=e.map(E=>{let P=0,m=0;for(let C of E.pts)P+=C.x,m+=C.y;return{x:P/E.pts.length,y:m/E.pts.length}}),n=0,o=0;for(let E of t)n+=E.x,o+=E.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let E of t){let P=E.x-n,m=E.y-o;r+=P*P,i+=P*m,s+=m*m}let u=r+s,l=r*s-i*i,b=u/2+Math.sqrt(Math.max(0,u*u/4-l)),c,p;Math.abs(i)>1e-12?(c=b-s,p=i):r>=s?(c=1,p=0):(c=0,p=1);let d=Math.hypot(c,p);if(!(d>1e-12))return null;c/=d,p/=d;let f=1/0,h=-1/0,R=[];for(let E of e){let P=1/0,m=-1/0;for(let C of E.pts){let a=C.x*c+C.y*p;a<P&&(P=a),a>m&&(m=a),a<f&&(f=a),a>h&&(h=a)}R.push(m-P)}let v=h-f;return v>1e-9?(R.sort((E,P)=>E-P),R[Math.min(R.length-1,Math.floor(R.length*.9))]/v<=It?{x:c,y:p}:null):null}var It=.35;function Pt(e,t,n,o){let r=new Map;for(let a of n){let y=t[a],M=y.rowId||`__seat-${a}`,g=r.get(M);g||(g={pts:[],idx:[]},r.set(M,g)),g.pts.push({x:y.x,y:y.y}),g.idx.push(a)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[a,y]of r){let M=wt(y.pts,y.idx),g=0;for(let A of M.pts)g+=Math.hypot(A.x-o.x,A.y-o.y);i.push({id:a,pts:M.pts,seatIndices:M.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/M.pts.length})}let s=i.map(a=>St(a.pts)),u=i.length<=256?i.length*(i.length-1)/2:0,l=u?new Float64Array(u):null;l?.fill(Number.NaN);let b=l?new Map(i.map((a,y)=>[a,y])):null,c=(a,y)=>(a>y&&([a,y]=[y,a]),a*(2*i.length-a-1)/2+(y-a-1)),p=(a,y)=>{if(!l)return le(i[a].pts,i[y].pts);let M=c(a,y),g=l[M];if(!Number.isNaN(g))return g;let A=le(i[a].pts,i[y].pts);return l[M]=A,A},d=(a,y)=>b?p(b.get(a),b.get(y)):le(a.pts,y.pts),f=[];for(let a=0;a<i.length;a++){let y=1/0;for(let M=0;M<i.length;M++){if(a===M||Ee(s[a],s[M])>=y)continue;let g=p(a,M);g<y&&(y=g)}Number.isFinite(y)&&f.push(y)}f.sort((a,y)=>a-y);let h=f.length?f[Math.floor(f.length/2)]:1,R=Math.max(h*1.8,1e-6),v=i.map(()=>[]);for(let a=0;a<i.length;a++)for(let y=a+1;y<i.length;y++)Ee(s[a],s[y])>R||p(a,y)<=R&&(v[a].push(y),v[y].push(a));let T=0;for(let a=0;a<i.length;a++){if(i[a].blockId!==-1)continue;let y=T++,M=[a];for(i[a].blockId=y;M.length;){let g=M.pop();for(let A of v[g])i[A].blockId===-1&&(i[A].blockId=y,M.push(A))}}let E=new Map;for(let a of i){let y=E.get(a.blockId)??[];y.push(a),E.set(a.blockId,y)}let P=[];for(let a of i){if(a.pts.length<4)continue;let y=te(a.pts);y&&(!Number.isFinite(y.cx)||!Number.isFinite(y.cy)||P.push({x:y.cx,y:y.cy}))}let m=P.length>=2?(()=>{let a=P.map(g=>g.x).sort((g,A)=>g-A),y=P.map(g=>g.y).sort((g,A)=>g-A),M=Math.floor(P.length/2);return{cx:a[M],cy:y[M]}})():null;if(m){let a=N=>Math.hypot(N.x-m.cx,N.y-m.cy),y=1/0,M=-1/0,g=[];for(let N of i){let x=1/0,w=-1/0;for(let _ of N.pts){let D=a(_);D<x&&(x=D),D>w&&(w=D)}g.push(w-x),x<y&&(y=x),w>M&&(M=w)}let A=M-y;g.sort((N,x)=>N-x);let V=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(A>1e-9&&V/A<=Mt){let N=i.map(I=>{let j=0;for(let $ of I.pts)j+=a($);return{row:I,radius:j/I.pts.length}}),x=0,w=0;for(let I of N)x+=I.radius,w+=I.row.focalDistance;x/=N.length,w/=N.length;let _=0;for(let I of N)_+=(I.radius-x)*(I.row.focalDistance-w);if(_<0)for(let I of N)I.radius=-I.radius;let B=1/0;for(let I of N)I.radius<B&&(B=I.radius);N.sort((I,j)=>I.radius-j.radius);let z=-1,O=-1/0,H=A/Math.max(1,N.length)*.5,G=[];for(let I of N)I.radius-O>H&&(z++,O=I.radius),I.row.ordinal=z,I.row.blockDepth=I.radius-B,G.push(I.row);return{sectionId:e,rows:G,blockCount:T}}}let C=[];for(let[,a]of E){let y=vt(a);if(y){let M=A=>{let V=0;for(let N of A.pts)V+=N.x*y.x+N.y*y.y;return V/A.pts.length};a.sort((A,V)=>M(A)-M(V)),a.length>=2&&a[0].focalDistance>a[a.length-1].focalDistance&&a.reverse();let g=0;for(let A=0;A<a.length;A++)A>0&&(g+=d(a[A-1],a[A])),a[A].ordinal=A,a[A].blockDepth=g,C.push(a[A])}else{let M=1/0;for(let g of a)g.focalDistance<M&&(M=g.focalDistance);a.sort((g,A)=>g.focalDistance-A.focalDistance);for(let g=0;g<a.length;g++)a[g].ordinal=g,a[g].blockDepth=Math.max(0,a[g].focalDistance-M),C.push(a[g])}}return{sectionId:e,rows:C,blockCount:T}}var At=Math.PI/180,L=96,Rt=6,Ct=60,Et=150,Oe=.2,Ot=.35;function Te(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/At;return n<0?n+360:n}function ne(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function oe(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,u=0;for(let l=-n;l<=n;l++){let b=i+l;if(t)b=(b%o+o)%o;else if(b<0||b>=o)continue;s+=e[b],u++}r[i]=s/u}return r}function Tt(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let f of d.rows){for(let h of f.pts)r+=h.x,i+=h.y,s++;if(f.pts.length>=4){let h=te(f.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let u={x:r/s,y:i/s},l=u;if(o.length>=8){let d=ne(o.map(T=>T.x)),f=ne(o.map(T=>T.y)),h=0;for(let T of n)for(let E of T.rows)for(let P of E.pts){let m=Math.hypot(P.x-u.x,P.y-u.y);m>h&&(h=m)}let R=0,v=h*.2;for(let T of n)for(let E of T.rows)for(let P of E.pts)Math.hypot(P.x-d,P.y-f)<v&&R++;Math.hypot(d-u.x,f-u.y)<=h&&R/s<.01&&(l={x:d,y:f})}let b=[];for(let d of n){let f={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let R of h.pts){let v=Math.hypot(R.x-l.x,R.y-l.y),T=Math.min(L-1,Math.floor(Te(l,R)/(360/L)));f.samples.push({r:v,bin:T,levelM:h.levelM}),v<f.rMin&&(f.rMin=v),v>f.rMax&&(f.rMax=v)}f.samples.length&&b.push(f)}if(!b.length)return null;b.sort((d,f)=>d.rMin+d.rMax-(f.rMin+f.rMax));let c=[];for(let d of b){let f=!1;for(let h of c){let R=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),v=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(v>1e-9&&R>=Ot*v){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),f=!0;break}}f||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let p=[];for(let d of c){let f=new Array(L).fill(null);for(let x of d.members)for(let w of x.samples){let _=f[w.bin];_||(_={samples:[]},f[w.bin]=_),_.samples.push({r:w.r,levelM:w.levelM})}let h=f.map(x=>!!x);if(!h.filter(Boolean).length)continue;let v=[],T=[];for(let x of f){if(!x)continue;let w=1/0,_=-1/0;for(let D of x.samples)D.r<w&&(w=D.r),D.r>_&&(_=D.r);v.push(w),T.push(_)}let E=ne(v),P=ne(T);if(!(E>=Oe*P)||!(P>0))continue;let m=[...v].sort((x,w)=>x-w);if(!(m[Math.floor(m.length*.1)]>=Oe*P))continue;let a=f.map(x=>{if(!x)return null;let w=[...x.samples].sort((I,j)=>I.r-j.r),_=w[0].r,D=w[w.length-1].r,B=w[0].levelM,z=-1/0;for(let I of w)I.levelM>z&&(z=I.levelM);let O=[];for(let I of w){let j={r:I.r,l:I.levelM};for(;O.length&&Math.abs(O[O.length-1].r-j.r)<1e-9;){if(O[O.length-1].l<=j.l){j.skip=!0;break}O.pop()}if(!j.skip){for(;O.length>=2;){let $=O[O.length-2],W=O[O.length-1];if((W.r-$.r)*(j.l-$.l)-(W.l-$.l)*(j.r-$.r)<=0)O.pop();else break}O.push(j)}}let H=O.map(I=>I.r),G=O.map(I=>I.l);return{inner:_,outer:D,front:B,top:z,profile:{rs:H,ls:G}}}),y=h.slice();for(let x=0;x<L;x++){if(y[x])continue;let w=-1,_=-1,D=0;for(let S=1;S<=L;S++){let k=(x-S+L*2)%L;if(y[k]){w=k;break}}for(let S=1;S<=L;S++){let k=(x+S)%L;if(y[k]){_=k,D=S;break}}if(w<0||_<0)continue;let B=0;for(let S=1;S<=L;S++){let k=(x-S+L*2)%L;if(h[k]){B=S;break}}if(B-1+D>Rt)continue;let O=a[w],H=a[_],G=B/(B+D),I=O.inner+(H.inner-O.inner)*G,j=O.outer+(H.outer-O.outer)*G,$=O.front+(H.front-O.front)*G,W=O.top+(H.top-O.top)*G;a[x]={inner:I,outer:j,front:$,top:W,profile:{rs:[I,j],ls:[$,W]}}}for(let x=0;x<L;x++)a[x]&&(y[x]=!0);let M=360/L,g=[],A=y.filter(Boolean).length,V=[];if(A===L)V.push({start:0,len:L});else{let x=0;for(;y[x];)x=(x+1)%L;let w=-1;for(let _=0;_<=L;_++){let D=(x+_)%L,B=_<L&&y[D];if(B&&w<0)w=D;else if(!B&&w>=0){let z=(D-w+L)%L||L;V.push({start:w,len:z}),w=-1}}}for(let x of V){if(x.len*M<Ct&&x.len<L)continue;let w=x.len===L,_=new Float64Array(x.len),D=new Float64Array(x.len),B=new Float64Array(x.len),z=new Float64Array(x.len),O=[];for(let S=0;S<x.len;S++){let k=a[(x.start+S)%L];_[S]=k.inner,D[S]=k.outer,B[S]=k.front,z[S]=k.top,O.push(k.profile??{rs:[k.inner,k.outer],ls:[k.front,k.top]})}let H=oe(_,w),G=oe(D,w),I=oe(B,w),j=oe(z,w);for(let S=0;S<x.len;S++)H[S]>_[S]&&(H[S]=_[S]),G[S]<D[S]&&(G[S]=D[S]),H[S]>G[S]-1e-6&&(H[S]=Math.max(0,G[S]-1e-6)),j[S]<I[S]&&(j[S]=I[S]);let $={startBin:x.start,binCount:x.len,closed:w,innerR:H,outerR:G,frontLevelM:I,topLevelM:j,profiles:O},W=(S,k,U)=>{let Q=O[S],X=Q.rs,K=Q.ls;if(k<=X[0]){K[0]>U&&(K[0]=U);return}if(k>=X[X.length-1]){K[K.length-1]>U&&(K[K.length-1]=U);return}for(let Y=0;Y+1<X.length;Y++)if(k<=X[Y+1]){K[Y]>U&&(K[Y]=U),K[Y+1]>U&&(K[Y+1]=U);return}};for(let S=0;S<x.len;S++){let k=f[(x.start+S)%L];if(k)for(let U of k.samples){W(S,U.r,U.levelM);let Q=w?(S-1+x.len)%x.len:S-1,X=w?(S+1)%x.len:S+1;Q>=0&&W(Q,U.r,U.levelM),X<x.len&&W(X,U.r,U.levelM)}}g.push($)}g.reduce((x,w)=>x+w.binCount*M,0)<Et||p.push({arcs:g,sectionIds:d.members.map(x=>x.sectionId),innerRMedian:E,outerRMedian:P})}if(!p.length)return null;if(p.sort((d,f)=>d.innerRMedian-f.innerRMedian),t){let d=p[p.length-1].outerRMedian;if(Math.hypot(t.x-l.x,t.y-l.y)>.9*d)return null}return{centre:l,binCount:L,binStepDeg:360/L,rings:p}}function _t(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),l=i-s,b=c=>{let p=t.profiles[c],d=p.rs,f=p.ls;if(o<=d[0])return f[0];if(o>=d[d.length-1])return f[f.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let R=d[h+1]-d[h],v=R>1e-9?(o-d[h])/R:0;return f[h]+(f[h+1]-f[h])*v}return f[f.length-1]};return b(s)*(1-l)+b(u)*l}var _e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",Lt="ABCDEFGHJKLMNPQRSTUVWXYZ",Dt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function Le(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?Lt:_e;return fe(o,r)}function re(e,t=!1){let n=t?Dt:_e;return fe(Math.max(0,Math.floor(e)-1),n)}var kt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of kt)for(;t>=o;)n+=r,t-=o;return n}function Nt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:Le(i,t)}})}function jt(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function Ft(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let f of e)n+=f.x,o+=f.y,r+=Math.hypot(f.x-t.x,f.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],u=-1;for(let f of e){let h=Math.hypot(f.x-n,f.y-o);h>u&&(u=h,s=f)}let l=s.x-n,b=s.y-o,c=Math.hypot(l,b);c>1e-9?(l/=c,b/=c):(l=1,b=0);let p=[...e].sort((f,h)=>(f.x-n)*l+(f.y-o)*b-((h.x-n)*l+(h.y-o)*b)),d=0;for(let f of p){let h=Math.hypot(f.x-n,f.y-o);h>d&&(d=h)}return{pts:p,cx:n,cy:o,radius:d,depth:r}}function De(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],u=o[i+1],l=u.x-s.x,b=u.y-s.y,c=l*l+b*b,p=c>1e-12?((t-s.x)*l+(n-s.y)*b)/c:0;p<0?p=0:p>1&&(p=1);let d=Math.hypot(t-(s.x+p*l),n-(s.y+p*b));d<r&&(r=d)}return r}var ie=8;function Bt(e,t,n){let o=new Array(ie).fill(1/0),r=new Array(ie).fill(-1);for(let c=0;c<e.length;c++){let p=e[c],d=Math.hypot(t-p.cx,n-p.cy)-p.radius;for(let f=0;f<ie;f++)if(d<o[f]){for(let h=ie-1;h>f;h--)o[h]=o[h-1],r[h]=r[h-1];o[f]=d,r[f]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let p=De(e[c],t,n);for(let d=0;d<3;d++)if(p<i[d]){for(let f=2;f>d;f--)i[f]=i[f-1],s[f]=s[f-1];i[d]=p,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let u=i[0]*2.2,l=0,b=0;for(let c=0;c<3;c++){let p=s[c];if(p<0||i[c]>u)continue;let d=1/(i[c]*i[c]);l+=d*e[p].depth,b+=d}return b>0?l/b:e[s[0]].depth}function Gt(e){let t=(o,r)=>Bt(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let l=e[u];if(Math.hypot(o-l.cx,r-l.cy)-l.radius>=i)continue;let b=De(l,o,r);b<i&&(i=b,s=u)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function Ut(e,t){let n=[];for(let o of e){let r=Ft(o.points,t);r&&n.push(r)}return n.length<2?jt(t):(n.sort((o,r)=>o.depth-r.depth),Gt(n))}var Vt=/^\d{4}-\d{2}-\d{2}$/;function Ht(e){let t=Date.parse(e);return Number.isFinite(t)?Vt.test(e)?t+864e5:t:null}function ke(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=Ht(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function Ne(e){return e.status!=="draft"&&e.status!=="retracted"}function zt(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function $t(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Kt(){return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Wt(e){let t=$t(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Xt(e,t={}){if(!e||!Ne(e)||!ke(e,t.now))return Kt();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:zt(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Wt(e),limitations:s,...u?{modeledTarget:u}:{}}}function Yt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function Z(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",u=e.seatNumbering?.endAt,l=e.seatCount;if(i==="updown"||i==="updown-descending"){let f=Math.ceil(l/2),h=i==="updown"?t<f?n+2*t:n-1+2*(l-t):t<f?n+2*(f-1-t):n+1+2*(t-f);return`${s}${h}`}let b=i==="odd"||i==="even"?2:r,c=u!=null&&Number.isFinite(u)?u-(l-1)*b:n,p=o==="center"?Yt(l)[t]:o==="rtl"?l-1-t:t,d;switch(i){case"odd":{let f=c%2===1?c:c+1;d=String(f+p*2);break}case"even":{let f=c%2===0?c:c+1;d=String(f+p*2);break}case"roman":d=de(c+p*r);break;case"letters-upper":d=re(c+p*r,!1);break;case"letters-lower":d=re(c+p*r,!0);break;default:d=String(c+p*r);break}return`${s}${d}`}function je(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function pe(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${Z(e,t)}`}function he(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return Z(e,t);if(!n)return`${e.displayLabel||e.label}-${Z(e,t)}`;let r=je(n),i=n.displayOffset+t;return`${n.displayLabel}-${Z(r,i)}`}function qt(e,t,n){return Math.max(t,Math.min(n,e))}function Jt(e){return qt(e,0,1)}function Fe(e){let t=Jt(e);return t*t*(3-2*t)}var zn=Math.PI/180;function F(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function be(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var q=Math.PI*2;function J(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Qt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=q;for(;o>=q;)o-=q}else{for(;o>0;)o-=q;for(;o<=-q;)o+=q}return o}function Zt(e){return e.end}function ye(e){if(e.version!==1||e.closed!==!0||!J(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!J(n.end))return!1;if(n.kind==="line"){if(F(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!J(n.control1)||!J(n.control2)||F(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!J(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(F(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(F(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||F(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return F(t,e.start)<=1e-4}function en(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function tn(e,t=2){if(!ye(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),l=Qt(s,u,i.clockwise),b=Math.max(2,Math.ceil(Math.abs(l)*i.radius/n));for(let c=1;c<=b;c+=1){let p=s+l*c/b;o.push({x:i.center.x+Math.cos(p)*i.radius,y:i.center.y+Math.sin(p)*i.radius})}}else{let s=F(r,i.control1)+F(i.control1,i.control2)+F(i.control2,i.end),u=Math.max(2,Math.ceil(s/n));for(let l=1;l<=u;l+=1)o.push(en(r,i,l/u))}r=i.end}return F(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function nn(e,t,n){return Ue(e,r=>({x:r.x+t,y:r.y+n}))}function Ue(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var Ve=45,me=150,on=60;function He(e){let t=Ve/100;if(e<=t)return me;let n=Math.min(1,(e-t)/(1-t));return me-n*(me-on)}var Be=.5523;function Ge(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function rn(e){let t=[],n=[];for(e.forEach((o,r)=>{J(o)&&(t.length&&Ge(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Ge(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function sn(e,t,n){return $e(e,{cornerSmoothing:t,...n})}var ze=.5,cn=4/3;function an(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,u=o/i,l=n*cn;return{kind:"bezier",control1:{x:e.x+o/3+s*l,y:e.y+r/3+u*l},control2:{x:e.x+o*2/3+s*l,y:e.y+r*2/3+u*l},end:{...t}}}function $e(e,t){let{points:n,sourceIndex:o}=rn(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let m=0;m<r;m+=1){let C=s[o[m]];u[m]=Number.isFinite(C)?Math.min(100,Math.max(-100,C))/100:0}let l=u.some(m=>Math.abs(m)>1e-6);if(i<=0&&!l)return null;let b=t.wideAngleThresholdDeg??He(i),c=[];for(let m=0;m<r;m+=1)c[m]=F(n[m],n[(m+1)%r]);let p=new Array(r).fill(0);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r],M={x:C.x-a.x,y:C.y-a.y},g={x:y.x-a.x,y:y.y-a.y},A=Math.hypot(M.x,M.y),V=Math.hypot(g.x,g.y);if(A<=1e-9||V<=1e-9)continue;let N=Math.min(1,Math.max(-1,(M.x*g.x+M.y*g.y)/(A*V))),x=Math.acos(N)*180/Math.PI;if(x<b)continue;let w=Fe((x-b)/(180-b));p[m]=i*w*.5*Math.min(A,V)}for(let m=0;m<r;m+=1){let C=(m+1)%r,a=p[m]+p[C];if(a>c[m]&&a>1e-9){let y=c[m]/a;p[m]*=y,p[C]*=y}}let d=new Array(r),f=new Array(r);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r];if(p[m]<=1e-6){d[m]={...a},f[m]={...a};continue}let M=F(a,C)||1,g=F(a,y)||1;d[m]={x:a.x+(C.x-a.x)/M*p[m],y:a.y+(C.y-a.y)/M*p[m]},f[m]={x:a.x+(y.x-a.x)/g*p[m],y:a.y+(y.y-a.y)/g*p[m]}}if(p.every(m=>m<=1e-6)&&!l)return null;let h=[],R={...f[0]},v=R,T=(m,C)=>{if(F(v,m)<=1e-9)return;let a=u[C];Math.abs(a)>1e-6?h.push(an(v,m,a*ze*c[C])):h.push({kind:"line",end:{...m}}),v=m};for(let m=1;m<=r;m+=1){let C=m%r,a=n[C];T(d[C],(m-1)%r),p[C]>1e-6&&F(d[C],f[C])>1e-9&&(h.push({kind:"bezier",control1:be(d[C],a,Be),control2:be(f[C],a,Be),end:{...f[C]}}),v=f[C])}if(!h.length)return null;let E=h[h.length-1];F(E.end,R)>1e-9&&(E.kind==="line"?E.end={...R}:h.push({kind:"line",end:{...R}}));let P={version:1,closed:!0,start:R,segments:h};return ye(P)?P:null}function ln(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function Ke(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function We(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[Ke(e,.5)];let o=Array.from({length:n+1},(l,b)=>Ke(e,b/n)),r=new Float64Array(o.length);for(let l=1;l<o.length;l+=1){let b=o[l].x-o[l-1].x,c=o[l].y-o[l-1].y;r[l]=r[l-1]+Math.hypot(b,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let l=0;l<t;l+=1){let b=i*l/(t-1);for(;u<r.length-1&&r[u]<b;)u+=1;let c=r[u-1],p=r[u],d=p===c?0:(b-c)/(p-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var Ye=.02291666666666667,qn=1/Ye,un=58,Se=un*Ye;var fn=3,Xe=0,xe=120,dn=0,pn=45,hn=7;function ge(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function bn(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=hn?e:fn}function qe(e,t={}){let n=ge(t.floorBaseHeightM,Xe,xe,0),o=Math.min(xe,n+bn(e.elevation)*Se),r=e.height===void 0?o:ge(e.height,Xe,xe,o),i=ge(e.rake,dn,pn,0);return{height:r,rake:i}}function we(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var ee=16;function ve(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function et(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return We(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let b=0;b<t;b++)s.push(ve(b*n,0,r,i));return s}let u=o/(t-1)*se,l=n/(2*Math.sin(Math.abs(u)/2));for(let b=0;b<t;b++){let c=b*u,p=l*Math.sin(c),d=-l+l*Math.cos(c);s.push(ve(p,d,r,i))}return s}function tt(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function mn(e,t){let n=tt(e);return et(e).map((o,r)=>{let i=n.get(r),s=we(i),u=pe(e,r,i),l={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,displayLabel:he(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(l).some(b=>b!==void 0&&b!==!1&&b!=="")?l:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function nt(e){let t=[];for(let n of mn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function yn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function xn(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,p,d,f)=>{let h=o.get(c),R=we(h),v=h?.label??`${e.label}-${c+1}`,T=e.displayLabel??e.label;return{index:c,label:v,displayLabel:h?.displayLabel??`${T}-${c+1}`,x:p+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:R.length>0,accessibility:R,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,glyph:h?.glyph,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...f?{side:f}:{}}};if(e.shape==="round"){let c=(e.radius??40)+ee,p=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let v=0;v<n;v++){let T=p+v/n*2*Math.PI;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let f=d*se,h=(2*Math.PI-f)/2,R=p+h;for(let v=0;v<n;v++){let T=R+v/(n-1)*f;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let i=e.width??80,s=e.height??50,u=yn(e),l=["top","bottom","left","right"],b=0;for(let c of l){let p=u[c];for(let d=0;d<p;d++){let f,h;c==="top"?(f=-i/2+(d+.5)*i/p,h=-s/2-ee):c==="bottom"?(f=-i/2+(d+.5)*i/p,h=s/2+ee):c==="left"?(f=-i/2-ee,h=-s/2+(d+.5)*s/p):(f=i/2+ee,h=-s/2+(d+.5)*s/p);let R=ve(f,h,e.rotation,e.center);t.push(r(b++,R.x,R.y,c))}}return t}function ot(e){return xn(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function rt(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function Je(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,u=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(u-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function gn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function Qe(e,t,n){return Je(e,t)&&!(n??[]).some(o=>Je(e,o)||gn(e,o))}function Me(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function Sn(e){switch(e.type){case"row":{let t=et(e),n=tt(e),o=0,r=0,i=0;for(let s=0;s<t.length;s++){let u=n.get(s);u?.skip||(o+=t[s].x+(u?.dx??0),r+=t[s].y+(u?.dy??0),i++)}return i?{x:o/i,y:r/i}:{x:e.origin.x,y:e.origin.y}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Me(e.points);case"section":return Me(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Me(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function Ze(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function wn(e,t){if(e.type!=="gaArea"||!Ze(e.points,t.outline))return!1;let n=e.holes??[],o=t.holes??[];return n.length===o.length&&n.every((r,i)=>Ze(r,o[i]))}function Ie(e,t,n=e.filter(r=>r.type==="section"),o=Sn(t)){let r="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0;return(r?n.find(s=>(s.logicalSectionId??s.id)===r&&(wn(t,s)||Qe(o,s.outline,s.holes))):void 0)??n.find(s=>Qe(o,s.outline,s.holes))}function it(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Pe(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var st="__sl_ga__";var Mn=st,Ae=1e5;function vn(e,t){return`${Mn}${encodeURIComponent(e)}__${t+1}`}function In(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Ae||(n+=r.count,n>Ae))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function Pn(e){let t=Math.min(Ae,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:In(e)?e.inventorySegments.map(n=>({...n})):[]}function ct(e){return Pn(e).flatMap(t=>Array.from({length:t.count},(n,o)=>vn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function An(e){return e.type==="row"?nt(e).map(t=>t.label):e.type==="table"?ot(e).map(t=>t.label):e.type==="booth"?rt(e).map(t=>t.label):e.type==="gaArea"?ct(e):[]}function at(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Rn(e){return e.displayLabel||e.label||"Section"}function Re(e){let t=new Map;for(let n of Pe(e)){if(n.type!=="section")continue;let o=n.logicalSectionId??n.id;t.has(o)||t.set(o,{id:o,label:Rn(n),zone:n.zone})}return t}function Cn(e){let t=new Map;for(let[n,o]of Re(e))t.set(n,o.label);return t}function lt(e){let t=new Map;for(let n of it(e)){let o=n.objects.filter(r=>r.type==="section");if(o.length)for(let r of n.objects){if(!at(r))continue;let i=Ie(n.objects,r,o);i&&t.set(r.id,i.logicalSectionId??i.id)}}return t}function ut(e,t){let n=Pe(e),o=n.filter(u=>u.type==="section"),r=new Map;for(let[u,l]of Re(e))r.set(u,{id:u,label:l.label,zone:l.zone,seatCount:0,objectIds:[],seatLabels:[]});let i={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},s=new Map;for(let u of n){if(!at(u))continue;let l=An(u);if(l.length===0)continue;let b;if(t)b=t.get(u.id);else{let p=Ie(n,u,o);b=p?p.logicalSectionId??p.id:void 0}let c=b?r.get(b):i;c.seatCount+=l.length,c.objectIds.push(u.id),c.seatLabels.push(...l),s.set(u.id,c.id)}return{sections:[...r.values()],ungrouped:i.objectIds.length?i:null,objectToSection:s}}function En(e){return ut(e,null)}function ft(e){return ut(e,lt(e))}function dt(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function pt(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=ft(e),s=new Set,u=new Map(o.map(b=>[b.id,b.zone]));for(let b of o){let c=u.get(b.id);(t.has(b.id)||c&&t.has(c))&&s.add(b.id)}let l=!!r&&t.has(ce);for(let[b,c]of i)(s.has(c)||l&&c===ce)&&n.add(b);return n}function On(e,t){if(!t.size)return e;let n=pt(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&dt(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(l=>{let b=l.objects.filter(r);return b.length!==l.objects.length&&(s=!0),b.length===l.objects.length?l:{...l,objects:b}});return s?{...e,floors:u,objects:u[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,computeSectionsPerFloor,cornerSmoothingThresholdDeg,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionIdentitiesById,sectionLabelsById,sectionOutlinePathFrom,sectionOwnersByObject,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
|
|
1
|
+
"use strict";var ae=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var yt=Object.prototype.hasOwnProperty;var xt=(e,t)=>{for(var n in t)ae(e,n,{get:t[n],enumerable:!0})},gt=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of mt(t))!yt.call(e,r)&&r!==n&&ae(e,r,{get:()=>t[r],enumerable:!(o=bt(t,r))||o.enumerable});return e};var St=e=>gt(ae({},"__esModule",{value:!0}),e);var _n={};xt(_n,{DEFAULT_SECTION_CORNER_SMOOTHING:()=>He,MAX_EDGE_SAGITTA_RATIO:()=>$e,TIER_HEIGHT_M:()=>Se,UNGROUPED_ID:()=>ce,applyHidden:()=>Tn,arcLevelAt:()=>Lt,bearingDeg:()=>_e,buildSectionRake:()=>Vt,computeSections:()=>On,computeSectionsPerFloor:()=>dt,cornerSmoothingThresholdDeg:()=>ze,distanceToPolyline:()=>ue,fitBowlProfile:()=>_t,fitCircle:()=>te,hiddenObjectIds:()=>ht,indexLabel:()=>ke,isSectionHidden:()=>pt,logicalNumberingRow:()=>Fe,relabelRows:()=>jt,resolveSection:()=>At,reverseSectionOutlinePath:()=>un,sampleSectionOutlinePath:()=>nn,seatConfidenceDisclosure:()=>Yt,seatDisplayLabel:()=>he,seatInventoryLabel:()=>pe,seatLabelPart:()=>Z,sectionCornerSmoothingPath:()=>cn,sectionGeometry:()=>Je,sectionIdentitiesById:()=>Ce,sectionLabelsById:()=>En,sectionOutlinePathFrom:()=>Ke,sectionOwnersByObject:()=>ut,sectionPathSegmentEnd:()=>en,toBijectiveBase:()=>fe,toLetters:()=>re,toRoman:()=>de,transformSectionOutlinePath:()=>Ve,translateSectionOutlinePath:()=>on,validSectionOutlinePath:()=>ye});module.exports=St(_n);function Ee(e){let t=e.length;return t<=3?[...e]:[e[Math.floor(t*.25)],e[Math.floor(t*.5)],e[Math.floor(t*.75)]]}function ue(e,t,n){if(!e.length)return 1/0;if(e.length===1)return Math.hypot(t-e[0].x,n-e[0].y);let o=1/0;for(let r=0;r+1<e.length;r++){let i=e[r],s=e[r+1],u=s.x-i.x,l=s.y-i.y,b=u*u+l*l,c=b>1e-12?((t-i.x)*u+(n-i.y)*l)/b:0;c<0?c=0:c>1&&(c=1);let p=t-(i.x+c*u),d=n-(i.y+c*l);if(Math.abs(p)>=o||Math.abs(d)>=o)continue;let f=Math.hypot(p,d);f<o&&(o=f)}return o}function wt(e){let t=0,n=0;for(let i of e)t+=i.x,n+=i.y;let o=e.length||1;t/=o,n/=o;let r=0;for(let i of e){let s=Math.hypot(i.x-t,i.y-n);s>r&&(r=s)}return{cx:t,cy:n,r}}function Oe(e,t){return Math.hypot(e.cx-t.cx,e.cy-t.cy)-e.r-t.r}function le(e,t){let n=1/0;for(let o of Ee(e)){let r=ue(t,o.x,o.y);r<n&&(n=r)}for(let o of Ee(t)){let r=ue(e,o.x,o.y);r<n&&(n=r)}return n}function Mt(e,t){if(e.length<3)return{pts:e,seatIndices:t};let n=0,o=0;for(let c of e)n+=c.x,o+=c.y;n/=e.length,o/=e.length;let r=-1,i=e[0];for(let c of e){let p=Math.hypot(c.x-n,c.y-o);p>r&&(r=p,i=c)}let s=i.x-n,u=i.y-o,l=Math.hypot(s,u);l>1e-9?(s/=l,u/=l):(s=1,u=0);let b=e.map((c,p)=>({p:c,i:p,t:(c.x-n)*s+(c.y-o)*u})).sort((c,p)=>c.t-p.t);return{pts:b.map(c=>c.p),seatIndices:b.map(c=>t[c.i])}}function te(e){let t=e.length;if(t<3)return null;let n=0,o=0;for(let E of e)n+=E.x,o+=E.y;n/=t,o/=t;let r=0,i=0,s=0,u=0,l=0,b=0,c=0;for(let E of e){let I=E.x-n,m=E.y-o;r+=I*I,s+=m*m,i+=I*m,u+=I*I*I,l+=m*m*m,b+=I*m*m,c+=m*I*I}let p=r*s-i*i;if(Math.abs(p)<1e-9)return null;let d=(u+b)/2,f=(l+c)/2,h=(d*s-f*i)/p,R=(f*r-d*i)/p,v=h+n,T=R+o;return!Number.isFinite(v)||!Number.isFinite(T)?null:{cx:v,cy:T}}var vt=.15;function Pt(e){if(e.length<2)return null;let t=e.map(E=>{let I=0,m=0;for(let C of E.pts)I+=C.x,m+=C.y;return{x:I/E.pts.length,y:m/E.pts.length}}),n=0,o=0;for(let E of t)n+=E.x,o+=E.y;n/=t.length,o/=t.length;let r=0,i=0,s=0;for(let E of t){let I=E.x-n,m=E.y-o;r+=I*I,i+=I*m,s+=m*m}let u=r+s,l=r*s-i*i,b=u/2+Math.sqrt(Math.max(0,u*u/4-l)),c,p;Math.abs(i)>1e-12?(c=b-s,p=i):r>=s?(c=1,p=0):(c=0,p=1);let d=Math.hypot(c,p);if(!(d>1e-12))return null;c/=d,p/=d;let f=1/0,h=-1/0,R=[];for(let E of e){let I=1/0,m=-1/0;for(let C of E.pts){let a=C.x*c+C.y*p;a<I&&(I=a),a>m&&(m=a),a<f&&(f=a),a>h&&(h=a)}R.push(m-I)}let v=h-f;return v>1e-9?(R.sort((E,I)=>E-I),R[Math.min(R.length-1,Math.floor(R.length*.9))]/v<=It?{x:c,y:p}:null):null}var It=.35;function At(e,t,n,o){let r=new Map;for(let a of n){let y=t[a],M=y.rowId||`__seat-${a}`,g=r.get(M);g||(g={pts:[],idx:[]},r.set(M,g)),g.pts.push({x:y.x,y:y.y}),g.idx.push(a)}if(!r.size)return{sectionId:e,rows:[],blockCount:0};let i=[];for(let[a,y]of r){let M=Mt(y.pts,y.idx),g=0;for(let A of M.pts)g+=Math.hypot(A.x-o.x,A.y-o.y);i.push({id:a,pts:M.pts,seatIndices:M.seatIndices,blockId:-1,ordinal:0,blockDepth:0,focalDistance:g/M.pts.length})}let s=i.map(a=>wt(a.pts)),u=i.length<=256?i.length*(i.length-1)/2:0,l=u?new Float64Array(u):null;l?.fill(Number.NaN);let b=l?new Map(i.map((a,y)=>[a,y])):null,c=(a,y)=>(a>y&&([a,y]=[y,a]),a*(2*i.length-a-1)/2+(y-a-1)),p=(a,y)=>{if(!l)return le(i[a].pts,i[y].pts);let M=c(a,y),g=l[M];if(!Number.isNaN(g))return g;let A=le(i[a].pts,i[y].pts);return l[M]=A,A},d=(a,y)=>b?p(b.get(a),b.get(y)):le(a.pts,y.pts),f=[];for(let a=0;a<i.length;a++){let y=1/0;for(let M=0;M<i.length;M++){if(a===M||Oe(s[a],s[M])>=y)continue;let g=p(a,M);g<y&&(y=g)}Number.isFinite(y)&&f.push(y)}f.sort((a,y)=>a-y);let h=f.length?f[Math.floor(f.length/2)]:1,R=Math.max(h*1.8,1e-6),v=i.map(()=>[]);for(let a=0;a<i.length;a++)for(let y=a+1;y<i.length;y++)Oe(s[a],s[y])>R||p(a,y)<=R&&(v[a].push(y),v[y].push(a));let T=0;for(let a=0;a<i.length;a++){if(i[a].blockId!==-1)continue;let y=T++,M=[a];for(i[a].blockId=y;M.length;){let g=M.pop();for(let A of v[g])i[A].blockId===-1&&(i[A].blockId=y,M.push(A))}}let E=new Map;for(let a of i){let y=E.get(a.blockId)??[];y.push(a),E.set(a.blockId,y)}let I=[];for(let a of i){if(a.pts.length<4)continue;let y=te(a.pts);y&&(!Number.isFinite(y.cx)||!Number.isFinite(y.cy)||I.push({x:y.cx,y:y.cy}))}let m=I.length>=2?(()=>{let a=I.map(g=>g.x).sort((g,A)=>g-A),y=I.map(g=>g.y).sort((g,A)=>g-A),M=Math.floor(I.length/2);return{cx:a[M],cy:y[M]}})():null;if(m){let a=N=>Math.hypot(N.x-m.cx,N.y-m.cy),y=1/0,M=-1/0,g=[];for(let N of i){let x=1/0,w=-1/0;for(let _ of N.pts){let k=a(_);k<x&&(x=k),k>w&&(w=k)}g.push(w-x),x<y&&(y=x),w>M&&(M=w)}let A=M-y;g.sort((N,x)=>N-x);let V=g[Math.min(g.length-1,Math.floor(g.length*.9))];if(A>1e-9&&V/A<=vt){let N=i.map(P=>{let j=0;for(let $ of P.pts)j+=a($);return{row:P,radius:j/P.pts.length}}),x=0,w=0;for(let P of N)x+=P.radius,w+=P.row.focalDistance;x/=N.length,w/=N.length;let _=0;for(let P of N)_+=(P.radius-x)*(P.row.focalDistance-w);if(_<0)for(let P of N)P.radius=-P.radius;let B=1/0;for(let P of N)P.radius<B&&(B=P.radius);N.sort((P,j)=>P.radius-j.radius);let z=-1,O=-1/0,H=A/Math.max(1,N.length)*.5,G=[];for(let P of N)P.radius-O>H&&(z++,O=P.radius),P.row.ordinal=z,P.row.blockDepth=P.radius-B,G.push(P.row);return{sectionId:e,rows:G,blockCount:T}}}let C=[];for(let[,a]of E){let y=Pt(a);if(y){let M=A=>{let V=0;for(let N of A.pts)V+=N.x*y.x+N.y*y.y;return V/A.pts.length};a.sort((A,V)=>M(A)-M(V)),a.length>=2&&a[0].focalDistance>a[a.length-1].focalDistance&&a.reverse();let g=0;for(let A=0;A<a.length;A++)A>0&&(g+=d(a[A-1],a[A])),a[A].ordinal=A,a[A].blockDepth=g,C.push(a[A])}else{let M=1/0;for(let g of a)g.focalDistance<M&&(M=g.focalDistance);a.sort((g,A)=>g.focalDistance-A.focalDistance);for(let g=0;g<a.length;g++)a[g].ordinal=g,a[g].blockDepth=Math.max(0,a[g].focalDistance-M),C.push(a[g])}}return{sectionId:e,rows:C,blockCount:T}}var Rt=Math.PI/180,L=96,Ct=6,Et=60,Ot=150,Te=.2,Tt=.35;function _e(e,t){let n=Math.atan2(t.x-e.x,t.y-e.y)/Rt;return n<0?n+360:n}function ne(e){if(!e.length)return NaN;let t=[...e].sort((n,o)=>n-o);return t[Math.floor(t.length/2)]}function oe(e,t,n=2){let o=e.length,r=new Float64Array(o);for(let i=0;i<o;i++){let s=0,u=0;for(let l=-n;l<=n;l++){let b=i+l;if(t)b=(b%o+o)%o;else if(b<0||b>=o)continue;s+=e[b],u++}r[i]=s/u}return r}function _t(e,t){let n=e.filter(d=>d.rows.length>=1);if(n.length<1)return null;let o=[],r=0,i=0,s=0;for(let d of n)for(let f of d.rows){for(let h of f.pts)r+=h.x,i+=h.y,s++;if(f.pts.length>=4){let h=te(f.pts);h&&Number.isFinite(h.cx)&&Number.isFinite(h.cy)&&o.push({x:h.cx,y:h.cy})}}if(!s)return null;let u={x:r/s,y:i/s},l=u;if(o.length>=8){let d=ne(o.map(T=>T.x)),f=ne(o.map(T=>T.y)),h=0;for(let T of n)for(let E of T.rows)for(let I of E.pts){let m=Math.hypot(I.x-u.x,I.y-u.y);m>h&&(h=m)}let R=0,v=h*.2;for(let T of n)for(let E of T.rows)for(let I of E.pts)Math.hypot(I.x-d,I.y-f)<v&&R++;Math.hypot(d-u.x,f-u.y)<=h&&R/s<.01&&(l={x:d,y:f})}let b=[];for(let d of n){let f={sectionId:d.sectionId,rMin:1/0,rMax:-1/0,samples:[]};for(let h of d.rows)for(let R of h.pts){let v=Math.hypot(R.x-l.x,R.y-l.y),T=Math.min(L-1,Math.floor(_e(l,R)/(360/L)));f.samples.push({r:v,bin:T,levelM:h.levelM}),v<f.rMin&&(f.rMin=v),v>f.rMax&&(f.rMax=v)}f.samples.length&&b.push(f)}if(!b.length)return null;b.sort((d,f)=>d.rMin+d.rMax-(f.rMin+f.rMax));let c=[];for(let d of b){let f=!1;for(let h of c){let R=Math.min(d.rMax,h.rMax)-Math.max(d.rMin,h.rMin),v=Math.min(d.rMax-d.rMin,h.rMax-h.rMin);if(v>1e-9&&R>=Tt*v){h.members.push(d),h.rMin=Math.min(h.rMin,d.rMin),h.rMax=Math.max(h.rMax,d.rMax),f=!0;break}}f||c.push({members:[d],rMin:d.rMin,rMax:d.rMax})}let p=[];for(let d of c){let f=new Array(L).fill(null);for(let x of d.members)for(let w of x.samples){let _=f[w.bin];_||(_={samples:[]},f[w.bin]=_),_.samples.push({r:w.r,levelM:w.levelM})}let h=f.map(x=>!!x);if(!h.filter(Boolean).length)continue;let v=[],T=[];for(let x of f){if(!x)continue;let w=1/0,_=-1/0;for(let k of x.samples)k.r<w&&(w=k.r),k.r>_&&(_=k.r);v.push(w),T.push(_)}let E=ne(v),I=ne(T);if(!(E>=Te*I)||!(I>0))continue;let m=[...v].sort((x,w)=>x-w);if(!(m[Math.floor(m.length*.1)]>=Te*I))continue;let a=f.map(x=>{if(!x)return null;let w=[...x.samples].sort((P,j)=>P.r-j.r),_=w[0].r,k=w[w.length-1].r,B=w[0].levelM,z=-1/0;for(let P of w)P.levelM>z&&(z=P.levelM);let O=[];for(let P of w){let j={r:P.r,l:P.levelM};for(;O.length&&Math.abs(O[O.length-1].r-j.r)<1e-9;){if(O[O.length-1].l<=j.l){j.skip=!0;break}O.pop()}if(!j.skip){for(;O.length>=2;){let $=O[O.length-2],W=O[O.length-1];if((W.r-$.r)*(j.l-$.l)-(W.l-$.l)*(j.r-$.r)<=0)O.pop();else break}O.push(j)}}let H=O.map(P=>P.r),G=O.map(P=>P.l);return{inner:_,outer:k,front:B,top:z,profile:{rs:H,ls:G}}}),y=h.slice();for(let x=0;x<L;x++){if(y[x])continue;let w=-1,_=-1,k=0;for(let S=1;S<=L;S++){let D=(x-S+L*2)%L;if(y[D]){w=D;break}}for(let S=1;S<=L;S++){let D=(x+S)%L;if(y[D]){_=D,k=S;break}}if(w<0||_<0)continue;let B=0;for(let S=1;S<=L;S++){let D=(x-S+L*2)%L;if(h[D]){B=S;break}}if(B-1+k>Ct)continue;let O=a[w],H=a[_],G=B/(B+k),P=O.inner+(H.inner-O.inner)*G,j=O.outer+(H.outer-O.outer)*G,$=O.front+(H.front-O.front)*G,W=O.top+(H.top-O.top)*G;a[x]={inner:P,outer:j,front:$,top:W,profile:{rs:[P,j],ls:[$,W]}}}for(let x=0;x<L;x++)a[x]&&(y[x]=!0);let M=360/L,g=[],A=y.filter(Boolean).length,V=[];if(A===L)V.push({start:0,len:L});else{let x=0;for(;y[x];)x=(x+1)%L;let w=-1;for(let _=0;_<=L;_++){let k=(x+_)%L,B=_<L&&y[k];if(B&&w<0)w=k;else if(!B&&w>=0){let z=(k-w+L)%L||L;V.push({start:w,len:z}),w=-1}}}for(let x of V){if(x.len*M<Et&&x.len<L)continue;let w=x.len===L,_=new Float64Array(x.len),k=new Float64Array(x.len),B=new Float64Array(x.len),z=new Float64Array(x.len),O=[];for(let S=0;S<x.len;S++){let D=a[(x.start+S)%L];_[S]=D.inner,k[S]=D.outer,B[S]=D.front,z[S]=D.top,O.push(D.profile??{rs:[D.inner,D.outer],ls:[D.front,D.top]})}let H=oe(_,w),G=oe(k,w),P=oe(B,w),j=oe(z,w);for(let S=0;S<x.len;S++)H[S]>_[S]&&(H[S]=_[S]),G[S]<k[S]&&(G[S]=k[S]),H[S]>G[S]-1e-6&&(H[S]=Math.max(0,G[S]-1e-6)),j[S]<P[S]&&(j[S]=P[S]);let $={startBin:x.start,binCount:x.len,closed:w,innerR:H,outerR:G,frontLevelM:P,topLevelM:j,profiles:O},W=(S,D,U)=>{let Q=O[S],X=Q.rs,K=Q.ls;if(D<=X[0]){K[0]>U&&(K[0]=U);return}if(D>=X[X.length-1]){K[K.length-1]>U&&(K[K.length-1]=U);return}for(let Y=0;Y+1<X.length;Y++)if(D<=X[Y+1]){K[Y]>U&&(K[Y]=U),K[Y+1]>U&&(K[Y+1]=U);return}};for(let S=0;S<x.len;S++){let D=f[(x.start+S)%L];if(D)for(let U of D.samples){W(S,U.r,U.levelM);let Q=w?(S-1+x.len)%x.len:S-1,X=w?(S+1)%x.len:S+1;Q>=0&&W(Q,U.r,U.levelM),X<x.len&&W(X,U.r,U.levelM)}}g.push($)}g.reduce((x,w)=>x+w.binCount*M,0)<Ot||p.push({arcs:g,sectionIds:d.members.map(x=>x.sectionId),innerRMedian:E,outerRMedian:I})}if(!p.length)return null;if(p.sort((d,f)=>d.innerRMedian-f.innerRMedian),t){let d=p[p.length-1].outerRMedian;if(Math.hypot(t.x-l.x,t.y-l.y)>.9*d)return null}return{centre:l,binCount:L,binStepDeg:360/L,rings:p}}function Lt(e,t,n,o){let r=e.binStepDeg,i=n/r-.5-t.startBin;i=(i%e.binCount+e.binCount)%e.binCount,i>t.binCount-1&&(t.closed?i=i-t.binCount<t.binCount-i?0:t.binCount-1:i=i-(t.binCount-1)<e.binCount-i?t.binCount-1:0);let s=Math.floor(i),u=t.closed?(s+1)%t.binCount:Math.min(t.binCount-1,s+1),l=i-s,b=c=>{let p=t.profiles[c],d=p.rs,f=p.ls;if(o<=d[0])return f[0];if(o>=d[d.length-1])return f[f.length-1];for(let h=0;h+1<d.length;h++)if(o<=d[h+1]){let R=d[h+1]-d[h],v=R>1e-9?(o-d[h])/R:0;return f[h]+(f[h+1]-f[h])*v}return f[f.length-1]};return b(s)*(1-l)+b(u)*l}var Le="ABCDEFGHIJKLMNOPQRSTUVWXYZ",kt="ABCDEFGHJKLMNPQRSTUVWXYZ",Dt="abcdefghijklmnopqrstuvwxyz";function fe(e,t){let n=t.length,o=e+1,r="";for(;o>0;){o-=1;let i=o%n;r=t[i]+r,o=Math.floor(o/n)}return r}function ke(e,t){let n=t.startAt-1,o=e+n;if(t.scheme==="numbers")return String(o+1);let r=t.skipAmbiguous?kt:Le;return fe(o,r)}function re(e,t=!1){let n=t?Dt:Le;return fe(Math.max(0,Math.floor(e)-1),n)}var Nt=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function de(e){if(!Number.isFinite(e)||e<=0)return String(e);let t=Math.floor(e),n="";for(let[o,r]of Nt)for(;t>=o;)n+=r,t-=o;return n}function jt(e,t){let n=e.length;return e.map((o,r)=>{let i=t.reverse?n-1-r:r;return{...o,label:ke(i,t)}})}function Ft(e){return{kind:"radial",rowCount:0,rows:[],nearestRow:()=>-1,depthAt:(t,n)=>Math.hypot(t-e.x,n-e.y),gradientAt:(t,n)=>{let o=t-e.x,r=n-e.y,i=Math.hypot(o,r);return i<1e-9?[0,0]:[o/i,r/i]}}}function Bt(e,t){if(!e.length)return null;let n=0,o=0,r=0;for(let f of e)n+=f.x,o+=f.y,r+=Math.hypot(f.x-t.x,f.y-t.y);let i=e.length;n/=i,o/=i,r/=i;let s=e[0],u=-1;for(let f of e){let h=Math.hypot(f.x-n,f.y-o);h>u&&(u=h,s=f)}let l=s.x-n,b=s.y-o,c=Math.hypot(l,b);c>1e-9?(l/=c,b/=c):(l=1,b=0);let p=[...e].sort((f,h)=>(f.x-n)*l+(f.y-o)*b-((h.x-n)*l+(h.y-o)*b)),d=0;for(let f of p){let h=Math.hypot(f.x-n,f.y-o);h>d&&(d=h)}return{pts:p,cx:n,cy:o,radius:d,depth:r}}function De(e,t,n){let o=e.pts;if(o.length===1)return Math.hypot(t-o[0].x,n-o[0].y);let r=1/0;for(let i=0;i+1<o.length;i++){let s=o[i],u=o[i+1],l=u.x-s.x,b=u.y-s.y,c=l*l+b*b,p=c>1e-12?((t-s.x)*l+(n-s.y)*b)/c:0;p<0?p=0:p>1&&(p=1);let d=Math.hypot(t-(s.x+p*l),n-(s.y+p*b));d<r&&(r=d)}return r}var ie=8;function Gt(e,t,n){let o=new Array(ie).fill(1/0),r=new Array(ie).fill(-1);for(let c=0;c<e.length;c++){let p=e[c],d=Math.hypot(t-p.cx,n-p.cy)-p.radius;for(let f=0;f<ie;f++)if(d<o[f]){for(let h=ie-1;h>f;h--)o[h]=o[h-1],r[h]=r[h-1];o[f]=d,r[f]=c;break}}let i=new Array(3).fill(1/0),s=new Array(3).fill(-1);for(let c of r){if(c<0)continue;let p=De(e[c],t,n);for(let d=0;d<3;d++)if(p<i[d]){for(let f=2;f>d;f--)i[f]=i[f-1],s[f]=s[f-1];i[d]=p,s[d]=c;break}}if(s[0]<0)return 0;if(i[0]<1e-6)return e[s[0]].depth;let u=i[0]*2.2,l=0,b=0;for(let c=0;c<3;c++){let p=s[c];if(p<0||i[c]>u)continue;let d=1/(i[c]*i[c]);l+=d*e[p].depth,b+=d}return b>0?l/b:e[s[0]].depth}function Ut(e){let t=(o,r)=>Gt(e,o,r),n=(o,r)=>{let i=1/0,s=-1;for(let u=0;u<e.length;u++){let l=e[u];if(Math.hypot(o-l.cx,r-l.cy)-l.radius>=i)continue;let b=De(l,o,r);b<i&&(i=b,s=u)}return s};return{kind:"rows",rowCount:e.length,rows:e,nearestRow:n,depthAt:t,gradientAt:(o,r)=>{let i=(t(o+.5,r)-t(o-.5,r))/1,s=(t(o,r+.5)-t(o,r-.5))/(2*.5),u=Math.hypot(i,s);return u<1e-9?[0,0]:[i/u,s/u]}}}function Vt(e,t){let n=[];for(let o of e){let r=Bt(o.points,t);r&&n.push(r)}return n.length<2?Ft(t):(n.sort((o,r)=>o.depth-r.depth),Ut(n))}var Ht=/^\d{4}-\d{2}-\d{2}$/;function zt(e){let t=Date.parse(e);return Number.isFinite(t)?Ht.test(e)?t+864e5:t:null}function Ne(e,t=Date.now()){if(e.validUntil===void 0){if(e.status!=="approved")return!0;let o=e.assessedAt?Date.parse(e.assessedAt):Number.NaN;return Number.isFinite(o)&&(t instanceof Date?t.getTime():t)<=o+366*864e5}let n=zt(e.validUntil);return n===null?!1:(t instanceof Date?t.getTime():t)<n}function je(e){return e.status!=="draft"&&e.status!=="retracted"}function $t(e){return e==="exact-seat"?"Exact seat in the model":e==="row-representative"?"Representative row evidence":e==="section-representative"?"Representative section evidence":e==="floor-representative"?"Representative floor evidence":"Representative venue evidence"}function Kt(e){if(!e)return"No assessment date supplied";let t=new Date(e);return Number.isFinite(t.getTime())?`Assessed ${t.toISOString().slice(0,10)}`:"No assessment date supplied"}function Wt(){return{headline:"Generated view \xB7 unverified",model:"No geometry or event-configuration verification supplied",reality:"No real-world check supplied",coverage:"Selected chart seat",provenance:"Chart-derived model",freshness:"No current organizer-approved evidence matches this Event, venue revision, or renewal window",limitations:["Generated view is not surveyed sightline truth."]}}function Xt(e){let t=Kt(e.assessedAt);if(!e.validUntil)return t;let n=Date.parse(e.validUntil);return Number.isFinite(n)?`${t} \xB7 valid until ${e.validUntil.slice(0,10)}`:t}function Yt(e,t={}){if(!e||!je(e)||!Ne(e,t.now))return Wt();let n=e.evidenceKind==="synthetic-model",o=e.modelLevel==="configuration-verified"?"Event configuration verified":e.modelLevel==="geometry-verified"?"Venue geometry verified":n?"Versioned synthetic model":"Generated model \xB7 not verified",r=e.realityLevel==="actual-build-checked"?"Actual event build reality checked":e.realityLevel==="comparable-build-reference"?"Comparable-build reference only":"No real-world check supplied",i=n?"Synthetic model evidence":e.modelLevel==="configuration-verified"?"Configuration verified":e.modelLevel==="geometry-verified"?"Geometry verified":"Generated view \xB7 unverified",s=[...e.limitations??[],...n?["Synthetic demo; not surveyed or venue-certified."]:[]],u=e.modeledTarget?`${e.modeledTarget.label} \xB7 ${e.modeledTarget.clearRayCount}/${e.modeledTarget.totalRayCount} target rays clear \xB7 ${e.modeledTarget.classification} in bounded model \xB7 ${e.modeledTarget.methodLabel}`+(e.modeledTarget.occluderLabels?.length?` \xB7 modeled occluders: ${e.modeledTarget.occluderLabels.join(", ")}`:""):void 0;return u&&s.push("Modeled target is not a percentage of the show visible."),{headline:i,model:o,reality:r,coverage:$t(e.coverage),provenance:e.sourceLabel??e.approvedByRole??"Source not supplied",freshness:Xt(e),limitations:s,...u?{modeledTarget:u}:{}}}function qt(e){let t=new Array(e);return Array.from({length:e},(n,o)=>o).sort((n,o)=>Math.abs(2*n-(e-1))-Math.abs(2*o-(e-1))||n-o).forEach((n,o)=>t[n]=o),t}function Z(e,t){let n=e.seatLabelStart??1,o=e.seatNumbering?.direction??"ltr",r=e.seatNumbering?.step??1,i=e.seatNumbering?.scheme??"decimal",s=e.seatNumbering?.prefix??"",u=e.seatNumbering?.endAt,l=e.seatCount;if(i==="updown"||i==="updown-descending"){let f=Math.ceil(l/2),h=i==="updown"?t<f?n+2*t:n-1+2*(l-t):t<f?n+2*(f-1-t):n+1+2*(t-f);return`${s}${h}`}let b=i==="odd"||i==="even"?2:r,c=u!=null&&Number.isFinite(u)?u-(l-1)*b:n,p=o==="center"?qt(l)[t]:o==="rtl"?l-1-t:t,d;switch(i){case"odd":{let f=c%2===1?c:c+1;d=String(f+p*2);break}case"even":{let f=c%2===0?c:c+1;d=String(f+p*2);break}case"roman":d=de(c+p*r);break;case"letters-upper":d=re(c+p*r,!1);break;case"letters-lower":d=re(c+p*r,!0);break;default:d=String(c+p*r);break}return`${s}${d}`}function Fe(e){return{...e.canonical,seatCount:e.totalSeats,label:e.displayLabel,displayLabel:e.displayLabel}}function pe(e,t,n){return n?.label??`${e.seatLabelBase??e.label}-${Z(e,t)}`}function he(e,t,n,o){if(o?.displayLabel)return o.displayLabel;if(e.seatDisplayLabelMode==="number")return Z(e,t);if(!n)return`${e.displayLabel||e.label}-${Z(e,t)}`;let r=Fe(n),i=n.displayOffset+t;return`${n.displayLabel}-${Z(r,i)}`}function Jt(e,t,n){return Math.max(t,Math.min(n,e))}function Qt(e){return Jt(e,0,1)}function Be(e){let t=Qt(e);return t*t*(3-2*t)}var $n=Math.PI/180;function F(e,t){return Math.hypot(e.x-t.x,e.y-t.y)}function be(e,t,n){return{x:e.x+(t.x-e.x)*n,y:e.y+(t.y-e.y)*n}}var q=Math.PI*2;function J(e){return Number.isFinite(e.x)&&Number.isFinite(e.y)}function Zt(e,t,n){let o=t-e;if(n){for(;o<0;)o+=q;for(;o>=q;)o-=q}else{for(;o>0;)o-=q;for(;o<=-q;)o+=q}return o}function en(e){return e.end}function ye(e){if(e.version!==1||e.closed!==!0||!J(e.start)||!Array.isArray(e.segments)||e.segments.length<2||e.segments.length>512)return!1;let t=e.start;for(let n of e.segments){if(!n||!J(n.end))return!1;if(n.kind==="line"){if(F(t,n.end)<=1e-9)return!1}else if(n.kind==="bezier"){if(!J(n.control1)||!J(n.control2)||F(t,n.end)<=1e-9)return!1}else if(n.kind==="arc"){if(!J(n.center)||!Number.isFinite(n.radius)||n.radius<=1e-6||Math.abs(F(t,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||Math.abs(F(n.end,n.center)-n.radius)>Math.max(1e-4,n.radius*1e-4)||F(t,n.end)<=1e-9)return!1}else return!1;t=n.end}return F(t,e.start)<=1e-4}function tn(e,t,n){let o=1-n;return{x:o**3*e.x+3*o**2*n*t.control1.x+3*o*n**2*t.control2.x+n**3*t.end.x,y:o**3*e.y+3*o**2*n*t.control1.y+3*o*n**2*t.control2.y+n**3*t.end.y}}function nn(e,t=2){if(!ye(e))throw new Error("Section outline path is invalid");let n=Math.max(.25,t),o=[{...e.start}],r=e.start;for(let i of e.segments){if(i.kind==="line")o.push({...i.end});else if(i.kind==="arc"){let s=Math.atan2(r.y-i.center.y,r.x-i.center.x),u=Math.atan2(i.end.y-i.center.y,i.end.x-i.center.x),l=Zt(s,u,i.clockwise),b=Math.max(2,Math.ceil(Math.abs(l)*i.radius/n));for(let c=1;c<=b;c+=1){let p=s+l*c/b;o.push({x:i.center.x+Math.cos(p)*i.radius,y:i.center.y+Math.sin(p)*i.radius})}}else{let s=F(r,i.control1)+F(i.control1,i.control2)+F(i.control2,i.end),u=Math.max(2,Math.ceil(s/n));for(let l=1;l<=u;l+=1)o.push(tn(r,i,l/u))}r=i.end}return F(o[o.length-1],o[0])<=1e-4&&o.pop(),o}function on(e,t,n){return Ve(e,r=>({x:r.x+t,y:r.y+n}))}function Ve(e,t,n=1,o=!1){return{...e,start:t(e.start),segments:e.segments.map(r=>r.kind==="line"?{...r,end:t(r.end)}:r.kind==="arc"?{...r,center:t(r.center),radius:r.radius*Math.abs(n),clockwise:o?!r.clockwise:r.clockwise,end:t(r.end)}:{...r,control1:t(r.control1),control2:t(r.control2),end:t(r.end)})}}var He=45,me=150,rn=60;function ze(e){let t=He/100;if(e<=t)return me;let n=Math.min(1,(e-t)/(1-t));return me-n*(me-rn)}var Ge=.5523;function Ue(e,t){return Math.abs(e.x-t.x)<=1e-6&&Math.abs(e.y-t.y)<=1e-6}function sn(e){let t=[],n=[];for(e.forEach((o,r)=>{J(o)&&(t.length&&Ue(t[t.length-1],o)||(t.push({x:o.x,y:o.y}),n.push(r)))});t.length>1&&Ue(t[0],t[t.length-1]);)t.pop(),n.pop();return{points:t,sourceIndex:n}}function cn(e,t,n){return Ke(e,{cornerSmoothing:t,...n})}var $e=.5,an=4/3;function ln(e,t,n){let o=t.x-e.x,r=t.y-e.y,i=Math.hypot(o,r);if(i<=1e-9)return{kind:"line",end:{...t}};let s=-r/i,u=o/i,l=n*an;return{kind:"bezier",control1:{x:e.x+o/3+s*l,y:e.y+r/3+u*l},control2:{x:e.x+o*2/3+s*l,y:e.y+r*2/3+u*l},end:{...t}}}function Ke(e,t){let{points:n,sourceIndex:o}=sn(e),r=n.length;if(r<3)return null;let i=Math.min(100,Math.max(0,t.cornerSmoothing??0))/100,s=t.edgeCurvature,u=new Array(r).fill(0);if(s?.length)for(let m=0;m<r;m+=1){let C=s[o[m]];u[m]=Number.isFinite(C)?Math.min(100,Math.max(-100,C))/100:0}let l=u.some(m=>Math.abs(m)>1e-6);if(i<=0&&!l)return null;let b=t.wideAngleThresholdDeg??ze(i),c=[];for(let m=0;m<r;m+=1)c[m]=F(n[m],n[(m+1)%r]);let p=new Array(r).fill(0);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r],M={x:C.x-a.x,y:C.y-a.y},g={x:y.x-a.x,y:y.y-a.y},A=Math.hypot(M.x,M.y),V=Math.hypot(g.x,g.y);if(A<=1e-9||V<=1e-9)continue;let N=Math.min(1,Math.max(-1,(M.x*g.x+M.y*g.y)/(A*V))),x=Math.acos(N)*180/Math.PI;if(x<b)continue;let w=Be((x-b)/(180-b));p[m]=i*w*.5*Math.min(A,V)}for(let m=0;m<r;m+=1){let C=(m+1)%r,a=p[m]+p[C];if(a>c[m]&&a>1e-9){let y=c[m]/a;p[m]*=y,p[C]*=y}}let d=new Array(r),f=new Array(r);for(let m=0;m<r;m+=1){let C=n[(m-1+r)%r],a=n[m],y=n[(m+1)%r];if(p[m]<=1e-6){d[m]={...a},f[m]={...a};continue}let M=F(a,C)||1,g=F(a,y)||1;d[m]={x:a.x+(C.x-a.x)/M*p[m],y:a.y+(C.y-a.y)/M*p[m]},f[m]={x:a.x+(y.x-a.x)/g*p[m],y:a.y+(y.y-a.y)/g*p[m]}}if(p.every(m=>m<=1e-6)&&!l)return null;let h=[],R={...f[0]},v=R,T=(m,C)=>{if(F(v,m)<=1e-9)return;let a=u[C];Math.abs(a)>1e-6?h.push(ln(v,m,a*$e*c[C])):h.push({kind:"line",end:{...m}}),v=m};for(let m=1;m<=r;m+=1){let C=m%r,a=n[C];T(d[C],(m-1)%r),p[C]>1e-6&&F(d[C],f[C])>1e-9&&(h.push({kind:"bezier",control1:be(d[C],a,Ge),control2:be(f[C],a,Ge),end:{...f[C]}}),v=f[C])}if(!h.length)return null;let E=h[h.length-1];F(E.end,R)>1e-9&&(E.kind==="line"?E.end={...R}:h.push({kind:"line",end:{...R}}));let I={version:1,closed:!0,start:R,segments:h};return ye(I)?I:null}function un(e){let t=[],n=e.start;for(let r of e.segments)t.push(n),n=r.end;let o=[];for(let r=e.segments.length-1;r>=0;r-=1){let i=e.segments[r],s=t[r];i.kind==="line"?o.push({kind:"line",end:{...s}}):i.kind==="arc"?o.push({kind:"arc",center:{...i.center},radius:i.radius,clockwise:!i.clockwise,end:{...s}}):o.push({kind:"bezier",control1:{...i.control2},control2:{...i.control1},end:{...s}})}return{version:1,closed:!0,start:{...e.start},segments:o}}function We(e,t){let n=1-t,o=n*n*n,r=3*n*n*t,i=3*n*t*t,s=t*t*t;return{x:o*e.start.x+r*e.control1.x+i*e.control2.x+s*e.end.x,y:o*e.start.y+r*e.control1.y+i*e.control2.y+s*e.end.y}}function Xe(e,t,n=192){if(!Number.isInteger(t)||t<1)throw new Error("Path point count must be a positive integer");if(t===1)return[We(e,.5)];let o=Array.from({length:n+1},(l,b)=>We(e,b/n)),r=new Float64Array(o.length);for(let l=1;l<o.length;l+=1){let b=o[l].x-o[l-1].x,c=o[l].y-o[l-1].y;r[l]=r[l-1]+Math.hypot(b,c)}let i=r[r.length-1];if(i<=1e-9)return Array.from({length:t},()=>({...e.start}));let s=[],u=1;for(let l=0;l<t;l+=1){let b=i*l/(t-1);for(;u<r.length-1&&r[u]<b;)u+=1;let c=r[u-1],p=r[u],d=p===c?0:(b-c)/(p-c);s.push({x:o[u-1].x+(o[u].x-o[u-1].x)*d,y:o[u-1].y+(o[u].y-o[u-1].y)*d})}return s}var qe=.02291666666666667,Jn=1/qe,fn=58,Se=fn*qe;var dn=3,Ye=0,xe=120,pn=0,hn=45,bn=7;function ge(e,t,n,o){return Number.isFinite(e)?Math.max(t,Math.min(n,e)):o}function mn(e){return!Number.isFinite(e)||!Number.isInteger(e)||e<0?0:e<=bn?e:dn}function Je(e,t={}){let n=ge(t.floorBaseHeightM,Ye,xe,0),o=Math.min(xe,n+mn(e.elevation)*Se),r=e.height===void 0?o:ge(e.height,Ye,xe,o),i=ge(e.rake,pn,hn,0);return{height:r,rake:i}}function we(e){return e?e.accessibility?.length?e.wheelchairSpaceType&&!e.accessibility.includes("wheelchair")?["wheelchair",...e.accessibility]:e.accessibility:e.wheelchairSpaceType?["wheelchair"]:e.accessible?["wheelchair"]:[]:[]}var se=Math.PI/180;var ee=16;function ve(e,t,n,o){let r=n*se,i=Math.cos(r),s=Math.sin(r);return{x:o.x+e*i-t*s,y:o.y+e*s+t*i}}function tt(e){let{seatCount:t,seatSpacing:n,curve:o,rotation:r,origin:i}=e,s=[];if(e.path)return Xe(e.path,t);if(t<=1)return t===1&&s.push({x:i.x,y:i.y}),s;if(o===0){for(let b=0;b<t;b++)s.push(ve(b*n,0,r,i));return s}let u=o/(t-1)*se,l=n/(2*Math.sin(Math.abs(u)/2));for(let b=0;b<t;b++){let c=b*u,p=l*Math.sin(c),d=-l+l*Math.cos(c);s.push(ve(p,d,r,i))}return s}function nt(e){let t=new Map;if(e.overrides)for(let n of e.overrides)t.set(n.index,n);return t}function yn(e,t){let n=nt(e);return tt(e).map((o,r)=>{let i=n.get(r),s=we(i),u=pe(e,r,i),l={...e.commercial,...i?.commercial};return{index:r,x:o.x+(i?.dx??0),y:o.y+(i?.dy??0),label:u,displayLabel:he(e,r,t,i),categoryKey:i?.categoryKey??e.categoryKey,skipped:!!i?.skip,accessible:s.length>0,accessibility:s,wheelchairSpaceType:i?.wheelchairSpaceType,commercial:Object.values(l).some(b=>b!==void 0&&b!==!1&&b!=="")?l:void 0,glyph:i?.glyph,viewUrl:i?.viewFromSeatUrl??e.viewFromSeatUrl,viewMeta:i?.viewFromSeatUrl?i.viewFromSeatMeta:e.viewFromSeatMeta,labelStyle:i?.labelStyle??e.seatLabelStyle}})}function ot(e){let t=[];for(let n of yn(e))n.skipped||t.push({id:`${e.id}:${n.index}`,label:n.label,displayLabel:n.displayLabel===n.label?void 0:n.displayLabel,x:n.x,y:n.y,rowId:e.id,categoryKey:n.categoryKey,accessible:n.accessible||void 0,accessibility:n.accessibility.length?n.accessibility:void 0,wheelchairSpaceType:n.wheelchairSpaceType,commercial:n.commercial,glyph:n.glyph,viewUrl:n.viewUrl,viewMeta:n.viewMeta,labelStyle:n.labelStyle});return t}function xn(e){if(e.seatCountsBySide)return{...e.seatCountsBySide};let t=e.sides&&e.sides.length?e.sides:["top","bottom"],n=["top","bottom","left","right"].filter(i=>t.includes(i)),o={top:0,bottom:0,left:0,right:0};if(!n.length)return o;let r=Math.max(0,Math.round(e.seatCount));for(let i=0;i<r;i++)o[n[i%n.length]]+=1;return o}function gn(e){let t=[],n=Math.max(0,Math.round(e.seatCount));if(n===0)return t;let o=new Map((e.overrides??[]).map(c=>[c.index,c])),r=(c,p,d,f)=>{let h=o.get(c),R=we(h),v=h?.label??`${e.label}-${c+1}`,T=e.displayLabel??e.label;return{index:c,label:v,displayLabel:h?.displayLabel??`${T}-${c+1}`,x:p+(h?.dx??0),y:d+(h?.dy??0),categoryKey:h?.categoryKey??e.categoryKey,skipped:!!h?.skip,accessible:R.length>0,accessibility:R,wheelchairSpaceType:h?.wheelchairSpaceType,commercial:h?.commercial,glyph:h?.glyph,viewUrl:h?.viewFromSeatUrl,viewMeta:h?.viewFromSeatUrl?h.viewFromSeatMeta:void 0,labelStyle:h?.labelStyle,...f?{side:f}:{}}};if(e.shape==="round"){let c=(e.radius??40)+ee,p=e.rotation*se,d=Math.max(0,Math.min(360,e.seatArc??360));if(d>=360||n===1){for(let v=0;v<n;v++){let T=p+v/n*2*Math.PI;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let f=d*se,h=(2*Math.PI-f)/2,R=p+h;for(let v=0;v<n;v++){let T=R+v/(n-1)*f;t.push(r(v,e.center.x+c*Math.cos(T),e.center.y+c*Math.sin(T)))}return t}let i=e.width??80,s=e.height??50,u=xn(e),l=["top","bottom","left","right"],b=0;for(let c of l){let p=u[c];for(let d=0;d<p;d++){let f,h;c==="top"?(f=-i/2+(d+.5)*i/p,h=-s/2-ee):c==="bottom"?(f=-i/2+(d+.5)*i/p,h=s/2+ee):c==="left"?(f=-i/2-ee,h=-s/2+(d+.5)*s/p):(f=i/2+ee,h=-s/2+(d+.5)*s/p);let R=ve(f,h,e.rotation,e.center);t.push(r(b++,R.x,R.y,c))}}return t}function rt(e){return gn(e).filter(t=>!t.skipped).map(t=>({id:`${e.id}:${t.index}`,label:t.label,...t.displayLabel!==t.label?{displayLabel:t.displayLabel}:{},x:t.x,y:t.y,rowId:e.id,categoryKey:t.categoryKey,...t.accessible?{accessible:!0}:{},...t.accessibility.length?{accessibility:t.accessibility}:{},...t.wheelchairSpaceType?{wheelchairSpaceType:t.wheelchairSpaceType}:{},...t.commercial?{commercial:t.commercial}:{},...t.glyph?{glyph:t.glyph}:{},...t.viewUrl?{viewUrl:t.viewUrl}:{},...t.viewUrl&&t.viewMeta?{viewMeta:t.viewMeta}:{},...t.labelStyle?{labelStyle:t.labelStyle}:{}}))}function it(e){return[{id:`${e.id}:0`,label:e.label,...e.displayLabel&&e.displayLabel!==e.label?{displayLabel:e.displayLabel}:{},x:e.center.x,y:e.center.y,rowId:e.id,categoryKey:e.categoryKey,kind:"booth"}]}function Qe(e,t){let n=!1;for(let o=0,r=t.length-1;o<t.length;r=o++){let i=t[o].x,s=t[o].y,u=t[r].x,l=t[r].y;s>e.y!=l>e.y&&e.x<(u-i)*(e.y-s)/(l-s)+i&&(n=!n)}return n}function Sn(e,t){return t.some((n,o)=>{let r=t[(o+1)%t.length],i=(e.y-n.y)*(r.x-n.x)-(e.x-n.x)*(r.y-n.y);if(Math.abs(i)>1e-7)return!1;let s=(e.x-n.x)*(r.x-n.x)+(e.y-n.y)*(r.y-n.y),u=(r.x-n.x)**2+(r.y-n.y)**2;return s>=-1e-7&&s<=u+1e-7})}function Pe(e){return Array.isArray(e)?e.filter(t=>Array.isArray(t)&&t.length>=3):[]}function Ze(e,t,n){return Qe(e,t)&&!Pe(n).some(o=>Qe(e,o)||Sn(e,o))}function Me(e){if(!e.length)return{x:0,y:0};let t=0,n=0;for(let o of e)t+=o.x,n+=o.y;return{x:t/e.length,y:n/e.length}}function wn(e){switch(e.type){case"row":{let t=tt(e),n=nt(e),o=0,r=0,i=0;for(let s=0;s<t.length;s++){let u=n.get(s);u?.skip||(o+=t[s].x+(u?.dx??0),r+=t[s].y+(u?.dy??0),i++)}return i?{x:o/i,y:r/i}:{x:e.origin.x,y:e.origin.y}}case"table":case"booth":return{x:e.center.x,y:e.center.y};case"gaArea":return Me(e.points);case"section":return Me(e.outline);case"text":return{x:e.position.x,y:e.position.y};case"shape":return e.points&&e.points.length?Me(e.points):e.x!=null&&e.y!=null&&e.width!=null&&e.height!=null?{x:e.x+e.width/2,y:e.y+e.height/2}:{x:e.x??0,y:e.y??0};case"decorImage":return{x:e.x+e.width/2,y:e.y+e.height/2}}}function et(e,t){return e.length===t.length&&e.every((n,o)=>n.x===t[o].x&&n.y===t[o].y)}function Mn(e,t){if(e.type!=="gaArea"||!et(e.points,t.outline))return!1;let n=Pe(e.holes),o=Pe(t.holes);return n.length===o.length&&n.every((r,i)=>et(r,o[i]))}function Ie(e,t,n=e.filter(r=>r.type==="section"),o=wn(t)){let r="referenceInventorySource"in t?t.referenceInventorySource?.logicalSectionId:void 0;return(r?n.find(s=>(s.logicalSectionId??s.id)===r&&(Mn(t,s)||Ze(o,s.outline,s.holes))):void 0)??n.find(s=>Ze(o,s.outline,s.holes))}function st(e){return e.floors&&e.floors.length?e.floors:[{id:"floor-0",name:"Main",objects:e.objects,focalPoint:e.focalPoint,referenceImage:e.referenceImage,backgroundImage:e.backgroundImage}]}function Ae(e){return e.floors&&e.floors.length?e.floors.flatMap(t=>t.objects):e.objects}var ct="__sl_ga__";var vn=ct,Re=1e5;function Pn(e,t){return`${vn}${encodeURIComponent(e)}__${t+1}`}function In(e){let t=e.inventorySegments;if(t===void 0)return!0;if(!Array.isArray(t)||t.length<1||t.length>256)return!1;let n=0,o=new Map;for(let r of t){if(!r||typeof r.sourceAreaId!="string"||!r.sourceAreaId.trim()||r.sourceAreaId.length>160||!Number.isInteger(r.startIndex)||r.startIndex<0||!Number.isInteger(r.count)||r.count<1||r.startIndex+r.count>Re||(n+=r.count,n>Re))return!1;let i=o.get(r.sourceAreaId)??[],s=r.startIndex+r.count;if(i.some(u=>r.startIndex<u.end&&s>u.start))return!1;i.push({start:r.startIndex,end:s}),o.set(r.sourceAreaId,i)}return n===e.capacity}function An(e){let t=Math.min(Re,Math.max(0,Math.floor(e.capacity)));return e.inventorySegments===void 0?t?[{sourceAreaId:e.id,startIndex:0,count:t}]:[]:In(e)?e.inventorySegments.map(n=>({...n})):[]}function at(e){return An(e).flatMap(t=>Array.from({length:t.count},(n,o)=>Pn(t.sourceAreaId,t.startIndex+o)))}var ce="__ungrouped__";function Rn(e){return e.type==="row"?ot(e).map(t=>t.label):e.type==="table"?rt(e).map(t=>t.label):e.type==="booth"?it(e).map(t=>t.label):e.type==="gaArea"?at(e):[]}function lt(e){return e.type==="row"||e.type==="table"||e.type==="booth"||e.type==="gaArea"}function Cn(e){return e.displayLabel||e.label||"Section"}function Ce(e){let t=new Map;for(let n of Ae(e)){if(n.type!=="section")continue;let o=n.logicalSectionId??n.id;t.has(o)||t.set(o,{id:o,label:Cn(n),zone:n.zone})}return t}function En(e){let t=new Map;for(let[n,o]of Ce(e))t.set(n,o.label);return t}function ut(e){let t=new Map;for(let n of st(e)){let o=n.objects.filter(r=>r.type==="section");if(o.length)for(let r of n.objects){if(!lt(r))continue;let i=Ie(n.objects,r,o);i&&t.set(r.id,i.logicalSectionId??i.id)}}return t}function ft(e,t){let n=Ae(e),o=n.filter(u=>u.type==="section"),r=new Map;for(let[u,l]of Ce(e))r.set(u,{id:u,label:l.label,zone:l.zone,seatCount:0,objectIds:[],seatLabels:[]});let i={id:ce,label:"Other seats",seatCount:0,objectIds:[],seatLabels:[]},s=new Map;for(let u of n){if(!lt(u))continue;let l=Rn(u);if(l.length===0)continue;let b;if(t)b=t.get(u.id);else{let p=Ie(n,u,o);b=p?p.logicalSectionId??p.id:void 0}let c=b?r.get(b):i;c.seatCount+=l.length,c.objectIds.push(u.id),c.seatLabels.push(...l),s.set(u.id,c.id)}return{sections:[...r.values()],ungrouped:i.objectIds.length?i:null,objectToSection:s}}function On(e){return ft(e,null)}function dt(e){return ft(e,ut(e))}function pt(e,t){return t.has(e.id)||!!e.logicalSectionId&&t.has(e.logicalSectionId)||!!e.zone&&t.has(e.zone)}function ht(e,t){let n=new Set;if(!t.size)return n;let{sections:o,ungrouped:r,objectToSection:i}=dt(e),s=new Set,u=new Map(o.map(b=>[b.id,b.zone]));for(let b of o){let c=u.get(b.id);(t.has(b.id)||c&&t.has(c))&&s.add(b.id)}let l=!!r&&t.has(ce);for(let[b,c]of i)(s.has(c)||l&&c===ce)&&n.add(b);return n}function Tn(e,t){if(!t.size)return e;let n=ht(e,t),o=t instanceof Set?t:new Set(t),r=s=>!(n.has(s.id)||s.type==="section"&&pt(s,o));if(e.floors&&e.floors.length){let s=!1,u=e.floors.map(l=>{let b=l.objects.filter(r);return b.length!==l.objects.length&&(s=!0),b.length===l.objects.length?l:{...l,objects:b}});return s?{...e,floors:u,objects:u[0].objects}:e}let i=e.objects.filter(r);return i.length===e.objects.length?e:{...e,objects:i}}0&&(module.exports={DEFAULT_SECTION_CORNER_SMOOTHING,MAX_EDGE_SAGITTA_RATIO,TIER_HEIGHT_M,UNGROUPED_ID,applyHidden,arcLevelAt,bearingDeg,buildSectionRake,computeSections,computeSectionsPerFloor,cornerSmoothingThresholdDeg,distanceToPolyline,fitBowlProfile,fitCircle,hiddenObjectIds,indexLabel,isSectionHidden,logicalNumberingRow,relabelRows,resolveSection,reverseSectionOutlinePath,sampleSectionOutlinePath,seatConfidenceDisclosure,seatDisplayLabel,seatInventoryLabel,seatLabelPart,sectionCornerSmoothingPath,sectionGeometry,sectionIdentitiesById,sectionLabelsById,sectionOutlinePathFrom,sectionOwnersByObject,sectionPathSegmentEnd,toBijectiveBase,toLetters,toRoman,transformSectionOutlinePath,translateSectionOutlinePath,validSectionOutlinePath});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as I}from"../../chunk-Y2J55NLS.js";import{a as J,b as K,c as L,d as M}from"../../chunk-
|
|
1
|
+
import{a as I}from"../../chunk-Y2J55NLS.js";import{a as J,b as K,c as L,d as M}from"../../chunk-U7CVRE4P.js";import{j as z,k as A,l as B,m as C,n as D,o as E,p as F,q as G,r as H}from"../../chunk-CEIVHWRB.js";import{O as o,P as r,Q as e,R as f,S as m,T as p,U as t,V as x,W as a,X as b,Y as c,da as s,na as u,oa as v,pa as w,qa as y}from"../../chunk-F7TP67LK.js";import{a as d,b as g,c as h,d as i,e as j,f as k,g as l,h as n,i as q}from"../../chunk-5ITK5236.js";import"../../chunk-CRCGO52K.js";export{p as DEFAULT_SECTION_CORNER_SMOOTHING,a as MAX_EDGE_SAGITTA_RATIO,s as TIER_HEIGHT_M,z as UNGROUPED_ID,H as applyHidden,M as arcLevelAt,K as bearingDeg,J as buildSectionRake,D as computeSections,E as computeSectionsPerFloor,t as cornerSmoothingThresholdDeg,v as distanceToPolyline,L as fitBowlProfile,w as fitCircle,G as hiddenObjectIds,g as indexLabel,F as isSectionHidden,l as logicalNumberingRow,j as relabelRows,y as resolveSection,c as reverseSectionOutlinePath,e as sampleSectionOutlinePath,I as seatConfidenceDisclosure,q as seatDisplayLabel,n as seatInventoryLabel,k as seatLabelPart,x as sectionCornerSmoothingPath,u as sectionGeometry,A as sectionIdentitiesById,B as sectionLabelsById,b as sectionOutlinePathFrom,C as sectionOwnersByObject,o as sectionPathSegmentEnd,d as toBijectiveBase,h as toLetters,i as toRoman,m as transformSectionOutlinePath,f as translateSectionOutlinePath,r as validSectionOutlinePath};
|