@mlightcad/data-model 1.7.33 → 1.7.34

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.
@@ -5,4 +5,4 @@
5
5
  `),s=[],r=[];let a=null;return i.forEach((o,h)=>{const c=h+1,d=this.stripInlineComment(o).trim();if(!d)return;if(d.startsWith("*")){this.flushCurrentPattern(a,s,r);const p=this.parseHeader(d.slice(1));if(!p){r.push({line:c,message:"Invalid pattern header.",source:o}),a=null;return}a={pattern:{name:p.name,description:p.description,lines:[]},headerLine:c};return}if(!a){r.push({line:c,message:"Line descriptor appears before any pattern header.",source:o});return}const u=this.parseLineDescriptor(d,c);if(!u){r.push({line:c,message:"Invalid line descriptor. Expect: angle,x-origin,y-origin,delta-x,delta-y[,dash-1,...].",source:o});return}a.pattern.lines.push(u)}),this.flushCurrentPattern(a,s,r),{patterns:s,issues:r}}static parse(e){return new kr().parse(e)}normalizeLineEndings(e){return e.replace(/\r\n/g,`
6
6
  `).replace(/\r/g,`
7
7
  `)}stripInlineComment(e){const t=e.indexOf(";");return t<0?e:e.slice(0,t)}parseHeader(e){const t=e.indexOf(",");if(t<0){const r=e.trim();return r?{name:r,description:""}:null}const i=e.slice(0,t).trim(),s=e.slice(t+1).trim();return i?{name:i,description:s}:null}parseNumber(e){const t=Number(e.trim());return Number.isFinite(t)?t:null}parseLineDescriptor(e,t){const i=e.split(",").map(u=>u.trim()).filter(u=>u.length>0);if(i.length<5)return null;const s=this.parseNumber(i[0]),r=this.parseNumber(i[1]),a=this.parseNumber(i[2]),o=this.parseNumber(i[3]),h=this.parseNumber(i[4]);if(s==null||r==null||a==null||o==null||h==null)return null;const c=i.slice(5),d=[];for(const u of c){const p=this.parseNumber(u);if(p==null)return null;d.push(p)}return{angle:s,originX:r,originY:a,deltaX:o,deltaY:h,dashes:d,sourceLine:t}}flushCurrentPattern(e,t,i){e&&(e.pattern.lines.length===0&&i.push({line:e.headerLine,message:`Pattern "${e.pattern.name}" has no line descriptor.`,source:""}),t.push(e.pattern))}}const F=class F{static nextGradientId(e){return F.gradientIdCounter+=1,`acdb-pat-gradient-${e.toLowerCase()}-${F.gradientIdCounter}`}static packedRgbToCss(e){return`#${(e&16777215).toString(16).padStart(6,"0")}`}static gradientColorToCss(e,t){return typeof e=="number"?F.packedRgbToCss(e):e??t}static applyShadeTint(e,t){const i=k.clamp(t,0,1),s=i<.5?0:16777215,r=i<.5?1-i*2:i*2-1,a=e>>16&255,o=e>>8&255,h=e&255,c=s>>16&255,d=s>>8&255,u=s&255;return Math.round(a+(c-a)*r)*65536+Math.round(o+(d-o)*r)*256+Math.round(h+(u-h)*r)}static resolveGradientColors(e){const t="#2563eb",i="#f8fafc",s=F.gradientColorToCss(e.startColor,t);if(e.oneColorMode&&e.endColor==null){if(typeof e.startColor=="number"){const r=F.applyShadeTint(e.startColor,e.shadeTintValue??.5);return{start:s,end:F.packedRgbToCss(r)}}return{start:s,end:(e.shadeTintValue??.5)<.5?"#000000":"#ffffff"}}return{start:s,end:F.gradientColorToCss(e.endColor,i)}}static renderGradientStops(e){return e.map(t=>`<stop offset="${(k.clamp(t.offset,0,1)*100).toFixed(2)}%" stop-color="${t.color}" />`).join("")}static getGradientVector(e){return{x:Math.cos(e),y:-Math.sin(e)}}static isSolidPattern(e){return e.name.trim().toUpperCase()===ti}static renderBackground(e,t,i){return`<rect x="${-e/2}" y="${-t/2}" width="${e}" height="${t}" fill="${i}" />`}static estimateUnitScale(e){const t=[];for(const r of e.lines){t.push(Math.abs(r.deltaX),Math.abs(r.deltaY));for(const a of r.dashes)t.push(Math.abs(a))}const i=t.filter(r=>r>F.EPSILON);if(i.length===0)return 1;const s=i.sort((r,a)=>r-a);return s[Math.floor(s.length/2)]||1}static segmentToSvgPath(e){return`M ${e.x1.toFixed(2)} ${(-e.y1).toFixed(2)} L ${e.x2.toFixed(2)} ${(-e.y2).toFixed(2)}`}static buildDashSegments(e,t,i,s,r,a,o){const h=e.dashes;if(h.length===0)return[{x1:s+a*t,y1:r+o*t,x2:s+a*i,y2:r+o*i}];const c=h.reduce((g,m)=>g+Math.abs(m),0);if(c<=F.EPSILON)return[{x1:s+a*t,y1:r+o*t,x2:s+a*i,y2:r+o*i}];const d=[],u=Math.ceil((i-t)/c)+2;let p=t-c;for(let g=0;g<u;g++){let m=p;for(const y of h){const _=Math.abs(y),f=m+_;if(y>0||y===0){const S=k.clamp(m,t,i),L=k.clamp(f,t,i);L>S?d.push({x1:s+a*S,y1:r+o*S,x2:s+a*L,y2:r+o*L}):y===0&&S>=t&&S<=i&&d.push({x1:s+a*(S-.35),y1:r+o*(S-.35),x2:s+a*(S+.35),y2:r+o*(S+.35)})}m=f}p+=c}return d}static renderFamily(e,t){const i=k.degToRad(e.angle),s=Math.cos(i),r=Math.sin(i),a=-r,o=s,h=s*e.deltaX+a*e.deltaY,c=r*e.deltaX+o*e.deltaY,d=Math.hypot(h,c),u=d<=F.EPSILON?1:Math.max(1,Math.ceil(t*2/d)+1),p=Math.floor(u/2),g=-t*1.5,m=t*1.5,y=[];for(let _=-p;_<=p;_++){const f=e.originX+h*_,S=e.originY+c*_,L=F.buildDashSegments(e,g,m,f,S,s,r);for(const M of L)y.push(F.segmentToSvgPath(M))}return`<path d="${y.join(" ")}" fill="none" />`}static renderLinearGradientDef(e,t,i,s,r){const a=F.getGradientVector(t),o=k.clamp(i,-1,1)*s*.5,h=a.x*o,c=a.y*o;return[`<linearGradient id="${e}" gradientUnits="userSpaceOnUse"`,` x1="${(-a.x*s+h).toFixed(2)}"`,` y1="${(-a.y*s+c).toFixed(2)}"`,` x2="${(a.x*s+h).toFixed(2)}"`,` y2="${(a.y*s+c).toFixed(2)}">`,F.renderGradientStops(r),"</linearGradient>"].join("")}static renderRadialGradientDef(e,t,i,s,r){return[`<radialGradient id="${e}" gradientUnits="userSpaceOnUse"`,` cx="${t.toFixed(2)}" cy="${i.toFixed(2)}" r="${s.toFixed(2)}"`,` fx="${t.toFixed(2)}" fy="${i.toFixed(2)}">`,F.renderGradientStops(r),"</radialGradient>"].join("")}static renderGradientDef(e,t,i,s,r,a,o){const h=t.toUpperCase(),c=h.startsWith("INV"),d=h.replace(/^INV/,""),u=c?i.end:i.start,p=c?i.start:i.end,g=Math.hypot(a,o)/2,m=F.getGradientVector(s),y=k.clamp(r,-1,1),_=m.x*y*a*.25,f=m.y*y*o*.25;switch(d){case"CYLINDER":{const S=k.clamp(.5+y*.45,.05,.95);return F.renderLinearGradientDef(e,s,0,g,[{offset:0,color:u},{offset:S,color:p},{offset:1,color:u}])}case"SPHERICAL":return F.renderRadialGradientDef(e,_,f,g,[{offset:0,color:p},{offset:1,color:u}]);case"HEMISPHERICAL":return F.renderRadialGradientDef(e,_+m.x*a*.18,f+m.y*o*.18,g*.92,[{offset:0,color:p},{offset:.72,color:u},{offset:1,color:u}]);case"CURVED":return F.renderRadialGradientDef(e,-m.x*a*.95+_,-m.y*o*.95+f,g*1.65,[{offset:0,color:u},{offset:.55,color:u},{offset:1,color:p}]);case"LINEAR":default:return F.renderLinearGradientDef(e,s,r,g,[{offset:0,color:u},{offset:1,color:p}])}}renderPattern(e,t={}){const i=t.width??260,s=t.height??160,r=t.stroke??"#1f2937",a=t.strokeWidth??1.3,o=t.background??"#ffffff",h=`${-i/2} ${-s/2} ${i} ${s}`;if(F.isSolidPattern(e))return[`<svg xmlns="http://www.w3.org/2000/svg" viewBox="${h}" width="${i}" height="${s}">`,F.renderBackground(i,s,o),`<rect x="${-i/2}" y="${-s/2}" width="${i}" height="${s}" fill="${r}" />`,"</svg>"].join("");const c=F.estimateUnitScale(e),u=Math.min(i,s)*.18/Math.max(c,F.EPSILON),p={...e,lines:e.lines.map(y=>({...y,originX:y.originX*u,originY:y.originY*u,deltaX:y.deltaX*u,deltaY:y.deltaY*u,dashes:y.dashes.map(_=>_*u)}))},g=Math.hypot(i,s)*.75,m=p.lines.map(y=>F.renderFamily(y,g)).join("");return[`<svg xmlns="http://www.w3.org/2000/svg" viewBox="${h}" width="${i}" height="${s}">`,F.renderBackground(i,s,o),`<g stroke="${r}" stroke-width="${a.toFixed(2)}" stroke-linecap="round">`,m,"</g>","</svg>"].join("")}renderGradient(e,t={}){const i=t.width??260,s=t.height??160,r=t.background??"#ffffff",a=t.angle??0,o=t.shift??0,h=`${-i/2} ${-s/2} ${i} ${s}`,c=F.nextGradientId(e),d=F.resolveGradientColors(t),u=F.renderGradientDef(c,e,d,a,o,i,s);return[`<svg xmlns="http://www.w3.org/2000/svg" viewBox="${h}" width="${i}" height="${s}">`,F.renderBackground(i,s,r),"<defs>",u,"</defs>",`<rect x="${-i/2}" y="${-s/2}" width="${i}" height="${s}" fill="url(#${c})" />`,"</svg>"].join("")}};F.EPSILON=1e-9,F.gradientIdCounter=0;let Qs=F;class _t extends De{constructor(e){super(),this.database=e,this.objectId=e.generateHandle(),this.ownerId=e.objectId,this._recordsByName=new Map,this._recordsById=new Map}get numEntries(){return this._recordsByName.size}add(e){e.database=this.database,e.ownerId=this.objectId,this.database.commitObjectHandle(e,i=>this.hasId(i));const t=this.normalizeName(e.name);this._recordsByName.set(t,e),this._recordsById.set(e.objectId,e)}remove(e){const t=this.normalizeName(e),i=this._recordsByName.get(t);return i?(this._recordsById.delete(i.objectId),this._recordsByName.delete(t),!0):!1}removeId(e){const t=this._recordsById.get(e);return t?(this._recordsByName.delete(this.normalizeName(t.name)),this._recordsById.delete(e),!0):!1}removeAll(){this._recordsByName.clear(),this._recordsById.clear()}has(e){const t=this.normalizeName(e);return this._recordsByName.has(t)}hasId(e){return this._recordsById.has(e)}getAt(e){const t=this.normalizeName(e);return this._recordsByName.get(t)}getIdAt(e){return this._recordsById.get(e)}getOwnerIdAt(e){return this._recordsById.get(e)}newIterator(){return new ln(this._recordsByName)}normalizeName(e){return e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbSymbolTable"),e.writeInt16(70,this.numEntries),this}}class Pl extends _t{constructor(e){super(e)}get modelSpace(){let e=this.getAt(ie.MODEL_SPACE_NAME);return e||(e=new ie,e.name=ie.MODEL_SPACE_NAME,this.add(e)),e}getEntityById(e){for(const t of this.database.tables.blockTable.newIterator()){const i=t.getIdAt(e);if(i)return i}}removeEntity(e){let t=!1;for(const i of this.database.tables.blockTable.newIterator())if(i.removeEntity(e)){t=!0;break}return t}normalizeName(e){let t=e;if(ie.isModelSapceName(e))t=ie.MODEL_SPACE_NAME;else if(ie.isPaperSapceName(e)){const i=ie.PAPER_SPACE_NAME_PREFIX,s=e.substring(i.length);t=i+s}return t}}class El extends _t{constructor(e){super(e)}}var Tl=(n=>(n[n.Center=0]="Center",n[n.Left=1]="Left",n[n.Right=2]="Right",n[n.OverFirst=3]="OverFirst",n[n.OverSecond=4]="OverSecond",n))(Tl||{}),Ml=(n=>(n[n.Center=0]="Center",n[n.Above=1]="Above",n[n.Outside=2]="Outside",n[n.JIS=3]="JIS",n[n.Below=4]="Below",n))(Ml||{}),kl=(n=>(n[n.Feet=0]="Feet",n[n.None=1]="None",n[n.Inch=2]="Inch",n[n.FeetAndInch=3]="FeetAndInch",n[n.Leading=4]="Leading",n[n.Trailing=8]="Trailing",n[n.LeadingAndTrailing=12]="LeadingAndTrailing",n))(kl||{}),Cl=(n=>(n[n.None=0]="None",n[n.Leading=1]="Leading",n[n.Trailing=2]="Trailing",n[n.LeadingAndTrailing=3]="LeadingAndTrailing",n))(Cl||{}),vl=(n=>(n[n.Bottom=0]="Bottom",n[n.Middle=1]="Middle",n[n.Top=2]="Top",n))(vl||{});const ms=class ms extends vt{constructor(e,t){e=e||{},tn(e,ms.DEFAULT_DIM_VALUES),super(e,t)}get dimpost(){return this.getAttr("dimpost")}set dimpost(e){this.setAttr("dimpost",e)}get dimapost(){return this.getAttr("dimapost")}set dimapost(e){this.setAttr("dimapost",e)}get dimscale(){return this.getAttr("dimscale")}set dimscale(e){this.setAttr("dimscale",e)}get dimasz(){return this.getAttr("dimasz")}set dimasz(e){this.setAttr("dimasz",e)}get dimexo(){return this.getAttr("dimexo")}set dimexo(e){this.setAttr("dimexo",e)}get dimdli(){return this.getAttr("dimdli")}set dimdli(e){this.setAttr("dimdli",e)}get dimexe(){return this.getAttr("dimexe")}set dimexe(e){this.setAttr("dimexe",e)}get dimrnd(){return this.getAttr("dimrnd")}set dimrnd(e){this.setAttr("dimrnd",e)}get dimdle(){return this.getAttr("dimdle")}set dimdle(e){this.setAttr("dimdle",e)}get dimtp(){return this.getAttr("dimtp")}set dimtp(e){this.setAttr("dimtp",e)}get dimtm(){return this.getAttr("dimtm")}set dimtm(e){this.setAttr("dimtm",e)}get dimtxt(){return this.getAttr("dimtxt")}set dimtxt(e){this.setAttr("dimtxt",e)}get dimcen(){return this.getAttr("dimcen")}set dimcen(e){this.setAttr("dimcen",e)}get dimtsz(){return this.getAttr("dimtsz")}set dimtsz(e){this.setAttr("dimtsz",e)}get dimaltf(){return this.getAttr("dimaltf")}set dimaltf(e){this.setAttr("dimaltf",e)}get dimlfac(){return this.getAttr("dimlfac")}set dimlfac(e){this.setAttr("dimlfac",e)}get dimtvp(){return this.getAttr("dimtvp")}set dimtvp(e){this.setAttr("dimtvp",e)}get dimtfac(){return this.getAttr("dimtfac")}set dimtfac(e){this.setAttr("dimtfac",e)}get dimgap(){return this.getAttr("dimgap")}set dimgap(e){this.setAttr("dimgap",e)}get dimaltrnd(){return this.getAttr("dimaltrnd")}set dimaltrnd(e){this.setAttr("dimaltrnd",e)}get dimtol(){return this.getAttr("dimtol")}set dimtol(e){this.setAttr("dimtol",e)}get dimlim(){return this.getAttr("dimlim")}set dimlim(e){this.setAttr("dimlim",e)}get dimtih(){return this.getAttr("dimtih")}set dimtih(e){this.setAttr("dimtih",e)}get dimtoh(){return this.getAttr("dimtoh")}set dimtoh(e){this.setAttr("dimtoh",e)}get dimse1(){return this.getAttr("dimse1")}set dimse1(e){this.setAttr("dimse1",e)}get dimse2(){return this.getAttr("dimse2")}set dimse2(e){this.setAttr("dimse2",e)}get dimtad(){return this.getAttr("dimtad")}set dimtad(e){this.setAttr("dimtad",e)}get dimzin(){return this.getAttr("dimzin")}set dimzin(e){this.setAttr("dimzin",e)}get dimazin(){return this.getAttr("dimazin")}set dimazin(e){this.setAttr("dimazin",e)}get dimalt(){return this.getAttr("dimalt")}set dimalt(e){this.setAttr("dimalt",e)}get dimaltd(){return this.getAttr("dimaltd")}set dimaltd(e){this.setAttr("dimaltd",e)}get dimtofl(){return this.getAttr("dimtofl")}set dimtofl(e){this.setAttr("dimtofl",e)}get dimsah(){return this.getAttr("dimsah")}set dimsah(e){this.setAttr("dimsah",e)}get dimtix(){return this.getAttr("dimtix")}set dimtix(e){this.setAttr("dimtix",e)}get dimsoxd(){return this.getAttr("dimsoxd")}set dimsoxd(e){this.setAttr("dimsoxd",e)}get dimclrd(){return this.getAttr("dimclrd")}set dimclrd(e){this.setAttr("dimclrd",e)}get dimclre(){return this.getAttr("dimclre")}set dimclre(e){this.setAttr("dimclre",e)}get dimclrt(){return this.getAttr("dimclrt")}set dimclrt(e){this.setAttr("dimclrt",e)}get dimadec(){return this.getAttr("dimadec")}set dimadec(e){this.setAttr("dimadec",e)}get dimunit(){return this.getAttr("dimunit")}set dimunit(e){this.setAttr("dimunit",e)}get dimdec(){return this.getAttr("dimdec")}set dimdec(e){this.setAttr("dimdec",e)}get dimtdec(){return this.getAttr("dimtdec")}set dimtdec(e){this.setAttr("dimtdec",e)}get dimaltu(){return this.getAttr("dimaltu")}set dimaltu(e){this.setAttr("dimaltu",e)}get dimalttd(){return this.getAttr("dimalttd")}set dimalttd(e){this.setAttr("dimalttd",e)}get dimaunit(){return this.getAttr("dimaunit")}set dimaunit(e){this.setAttr("dimaunit",e)}get dimfrac(){return this.getAttr("dimfrac")}set dimfrac(e){this.setAttr("dimfrac",e)}get dimlunit(){return this.getAttr("dimlunit")}set dimlunit(e){this.setAttr("dimlunit",e)}get dimdsep(){return this.getAttr("dimdsep")}set dimdsep(e){this.setAttr("dimdsep",e)}get dimtmove(){return this.getAttr("dimtmove")}set dimtmove(e){this.setAttr("dimtmove",e)}get dimjust(){return this.getAttr("dimjust")}set dimjust(e){this.setAttr("dimjust",e)}get dimsd1(){return this.getAttr("dimsd1")}set dimsd1(e){this.setAttr("dimsd1",e)}get dimsd2(){return this.getAttr("dimsd2")}set dimsd2(e){this.setAttr("dimsd2",e)}get dimtolj(){return this.getAttr("dimtolj")}set dimtolj(e){this.setAttr("dimtolj",e)}get dimtzin(){return this.getAttr("dimtzin")}set dimtzin(e){this.setAttr("dimtzin",e)}get dimaltz(){return this.getAttr("dimaltz")}set dimaltz(e){this.setAttr("dimaltz",e)}get dimalttz(){return this.getAttr("dimalttz")}set dimalttz(e){this.setAttr("dimalttz",e)}get dimfit(){return this.getAttr("dimfit")}set dimfit(e){this.setAttr("dimfit",e)}get dimupt(){return this.getAttr("dimupt")}set dimupt(e){this.setAttr("dimupt",e)}get dimatfit(){return this.getAttr("dimatfit")}set dimatfit(e){this.setAttr("dimatfit",e)}get dimtxsty(){return this.getAttr("dimtxsty")}set dimtxsty(e){this.setAttr("dimtxsty",e)}get dimldrblk(){return this.getAttr("dimldrblk")}set dimldrblk(e){this.setAttr("dimldrblk",e)}get dimblk(){return this.getAttr("dimblk")}set dimblk(e){this.setAttr("dimblk",e)}get dimblk1(){return this.getAttr("dimblk1")}set dimblk1(e){this.setAttr("dimblk1",e)}get dimblk2(){return this.getAttr("dimblk2")}set dimblk2(e){this.setAttr("dimblk2",e)}get dimlwd(){return this.getAttr("dimlwd")}set dimlwd(e){this.setAttr("dimlwd",e)}get dimlwe(){return this.getAttr("dimlwe")}set dimlwe(e){this.setAttr("dimlwe",e)}dxfOutFields(e){super.dxfOutFields(e);const t=this.database.tables.textStyleTable.getAt(this.dimtxsty),i=this.database.tables.blockTable.getAt(this.dimldrblk),s=this.database.tables.blockTable.getAt(this.dimblk),r=this.database.tables.blockTable.getAt(this.dimblk1),a=this.database.tables.blockTable.getAt(this.dimblk2);return e.writeSubclassMarker("AcDbDimStyleTableRecord"),e.writeString(2,this.name),e.writeInt16(70,0),e.writeString(3,this.dimpost),e.writeString(4,this.dimapost),e.writeDouble(40,this.dimscale),e.writeDouble(41,this.dimasz),e.writeDouble(42,this.dimexo),e.writeDouble(43,this.dimdli),e.writeDouble(44,this.dimexe),e.writeDouble(140,this.dimtxt),e.writeDouble(147,this.dimgap),e.writeInt16(170,this.dimalt),e.writeInt16(171,this.dimtol),e.writeInt16(172,this.dimlim),e.writeInt16(173,this.dimtih),e.writeInt16(174,this.dimtoh),e.writeObjectId(340,t==null?void 0:t.objectId),e.writeObjectId(341,i==null?void 0:i.objectId),e.writeObjectId(342,s==null?void 0:s.objectId),e.writeObjectId(343,r==null?void 0:r.objectId),e.writeObjectId(344,a==null?void 0:a.objectId),e.writeInt16(371,this.dimlwd),e.writeInt16(372,this.dimlwe),this}};ms.DEFAULT_DIM_VALUES={name:"",dimpost:"",dimapost:"",dimscale:1,dimasz:2.5,dimexo:.625,dimdli:.38,dimexe:.18,dimrnd:0,dimdle:0,dimtp:0,dimtm:0,dimtxt:2.5,dimcen:2.5,dimtsz:0,dimaltf:0,dimlfac:1,dimtvp:0,dimtfac:1,dimgap:1,dimaltrnd:0,dimtol:0,dimlim:0,dimtih:0,dimtoh:0,dimse1:0,dimse2:0,dimtad:0,dimzin:0,dimazin:0,dimalt:0,dimaltd:2,dimtofl:0,dimsah:0,dimtix:0,dimsoxd:0,dimclrd:0,dimclre:0,dimclrt:0,dimadec:0,dimunit:2,dimdec:4,dimtdec:4,dimaltu:2,dimalttd:2,dimaunit:0,dimfrac:0,dimlunit:2,dimdsep:".",dimtmove:0,dimjust:0,dimsd1:0,dimsd2:0,dimtolj:0,dimtzin:0,dimaltz:0,dimalttz:0,dimfit:0,dimupt:0,dimatfit:3,dimtxsty:Q,dimldrblk:"",dimblk:"",dimblk1:"",dimblk2:"",dimlwd:-2,dimlwe:-2};let si=ms;class Nl extends _t{constructor(e){super(e)}add(e){super.add(e),this.database.events.layerAppended.dispatch({database:this.database,layer:e})}}class _s extends vt{constructor(e,t){e=e||{},tn(e,{color:new X,description:"",standardFlags:0,isHidden:!1,isInUse:!0,isOff:!1,isPlottable:!0,transparency:new J,linetype:"",lineWeight:1,materialId:-1}),super(e,t),this.attrs.events.attrChanged.addEventListener(i=>{this.database.events.layerModified.dispatch({database:this.database,layer:this,changes:i.object.changedAttributes()})})}get color(){return this.getAttr("color")}set color(e){this.setAttr("color",e.clone())}get description(){return this.getAttr("description")}set description(e){this.setAttr("description",e)}get standardFlags(){return this.getAttr("standardFlags")}set standardFlags(e){this.setAttr("standardFlags",e)}get isFrozen(){return(this.standardFlags&1)==1}set isFrozen(e){const t=e?1:0;this.standardFlags=this.standardFlags|t}get isHidden(){return this.getAttr("isHidden")}set isHidden(e){this.setAttr("isHidden",e)}get isInUse(){return this.getAttr("isInUse")}set isInUse(e){this.setAttr("isInUse",e)}get isLocked(){return(this.standardFlags&4)==4}set isLocked(e){const t=e?4:0;this.standardFlags=this.standardFlags|t}get isOff(){return this.getAttr("isOff")}set isOff(e){this.setAttr("isOff",e)}get isPlottable(){return this.getAttr("isPlottable")}set isPlottable(e){this.setAttr("isPlottable",e)}get transparency(){return this.getAttr("transparency")}set transparency(e){this.setAttr("transparency",e.clone())}get linetype(){return this.getAttr("linetype")}set linetype(e){this.setAttr("linetype",e)}get lineStyle(){var t;const e=(t=this.database)==null?void 0:t.tables.linetypeTable.getAt(this.linetype);if(e)return{type:"UserSpecified",...e.linetype}}get lineWeight(){return this.getAttr("lineWeight")}set lineWeight(e){this.setAttr("lineWeight",e)}get materialId(){return this.getAttr("materialId")}set materialId(e){this.setAttr("materialId",e)}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbLayerTableRecord"),e.writeString(2,this.name),e.writeInt16(70,this.standardFlags),e.writeCmColor(this.color),e.writeString(6,this.linetype),e.writeInt16(290,this.isPlottable?1:0),e.writeInt16(370,this.lineWeight),e.writeTransparency(this.transparency),this.description&&e.writeString(4,this.description),this}}class Ol extends _t{constructor(e){super(e)}}class Et extends vt{constructor(e){super(),this.name=e.name,this._linetype=e}get numDashes(){return this._linetype.pattern?this._linetype.pattern.length:0}get patternLength(){return this._linetype.totalPatternLength}get comments(){return this._linetype.description}get linetype(){return this._linetype}dashLengthAt(e){if(e<0||e>=this.numDashes)throw new Error('Index must be greater than or equal to zero, but less than the value of property "numDashes".');return this._linetype.pattern[e].elementLength}toPreviewSvgString(e){const t=Math.max((e==null?void 0:e.width)??220,1),i=Math.max((e==null?void 0:e.height)??36,1),s=Math.min(Math.max((e==null?void 0:e.padding)??8,0),Math.floor(t/2)),r=Math.max((e==null?void 0:e.strokeWidth)??2,.5),a=this.escapeSvgAttribute((e==null?void 0:e.stroke)??"currentColor"),o=Math.max((e==null?void 0:e.repeats)??4,1),h=i/2,c=s,d=Math.max(t-s,c+1),u=d-c,p=this._linetype.pattern??[];if(p.length===0||this.patternLength<=0||!p.some(L=>L.elementLength!==0))return this.buildSvgString({width:t,height:i,stroke:a,strokeWidth:r,lineSegments:[[c,d]],dots:[],y:h});const g=[],m=[],y=u/(this.patternLength*o),_=.5,f=Math.max(r*2,2);let S=c;for(;S<d;)for(const L of p){if(S>=d)break;const M=L.elementLength;if(M===0){m.push(S),S=Math.min(S+f,d);continue}const I=Math.max(Math.abs(M)*y,_),W=Math.min(S+I,d);M>0&&W>S&&g.push([S,W]),S=W}return this.buildSvgString({width:t,height:i,stroke:a,strokeWidth:r,lineSegments:g,dots:m,y:h})}buildSvgString(e){const{width:t,height:i,stroke:s,strokeWidth:r,lineSegments:a,dots:o,y:h}=e,c=a.map(([u,p])=>`<line x1="${u.toFixed(2)}" y1="${h.toFixed(2)}" x2="${p.toFixed(2)}" y2="${h.toFixed(2)}" stroke="${s}" stroke-width="${r.toFixed(2)}" stroke-linecap="round" />`).join(""),d=o.map(u=>`<circle cx="${u.toFixed(2)}" cy="${h.toFixed(2)}" r="${(r/2).toFixed(2)}" fill="${s}" />`).join("");return`<svg xmlns="http://www.w3.org/2000/svg" width="${t}" height="${i}" viewBox="0 0 ${t} ${i}" role="img" aria-label="${this.escapeSvgAttribute(this.name)} linetype preview">${c}${d}</svg>`}escapeSvgAttribute(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;")}dxfOutFields(e){super.dxfOutFields(e),e.writeSubclassMarker("AcDbLinetypeTableRecord"),e.writeString(2,this.name),e.writeInt16(70,this.linetype.standardFlag),e.writeString(3,this.comments),e.writeInt16(72,65),e.writeInt16(73,this.numDashes),e.writeDouble(40,this.patternLength);for(const t of this.linetype.pattern??[])e.writeDouble(49,t.elementLength),e.writeInt16(74,t.elementTypeFlag);return this}}class Yl extends _t{constructor(e){super(e)}get fonts(){const e=new Set,t=s=>{if(s){const r=s.lastIndexOf(".");if(r>=0){const a=s.substring(0,r).toLowerCase();e.add(a)}else e.add(s.toLowerCase())}},i=this.newIterator();for(const s of i)t(s.fileName),t(s.bigFontFileName);return Array.from(e)}}class fs extends vt{constructor(e){super(),this.name=e.name,this._textStyle=e,this._textStyle.font=this.getFileNameWithoutExtension(this._textStyle.font||this._textStyle.extendedFont||this.name),this._isVertical=!1}get obliquingAngle(){return this._textStyle.obliqueAngle}set obliquingAngle(e){this._textStyle.obliqueAngle=e}get priorSize(){return this._textStyle.lastHeight}set priorSize(e){this._textStyle.lastHeight=e}get textSize(){return this._textStyle.fixedTextHeight}set textSize(e){this._textStyle.fixedTextHeight=e}get xScale(){return this._textStyle.widthFactor}set xScale(e){this._textStyle.widthFactor=e}get isVertical(){return this._isVertical}set isVertical(e){this._isVertical=e}get fileName(){return this._textStyle.font}set fileName(e){this._textStyle.font=e}get bigFontFileName(){return this._textStyle.bigFont}set bigFontFileName(e){this._textStyle.bigFont=e}get textStyle(){return this._textStyle}getFileNameWithoutExtension(e){const t=e.split("/").pop();if(t){const i=t.lastIndexOf(".");return i===-1?t:t.substring(0,i)}return e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbTextStyleTableRecord"),e.writeString(2,this.name),e.writeInt16(70,this.textStyle.standardFlag),e.writeDouble(40,this.textSize),e.writeDouble(41,this.xScale),e.writeAngle(50,this.obliquingAngle),e.writeInt16(71,this.isVertical?4:this.textStyle.textGenerationFlag),e.writeDouble(42,this.priorSize),e.writeString(3,this.fileName),e.writeString(4,this.bigFontFileName),this}}class Xl extends _t{constructor(e){super(e)}}class Rl extends _t{constructor(e){super(e)}}const sd=()=>({center:new v,viewDirectionFromTarget:new w(0,0,1),viewTarget:new w(0,0,0),lensLength:500,frontClippingPlane:0,backClippingPlane:0,viewHeight:1e3,viewTwistAngle:0,frozenLayers:[],styleSheet:"",renderMode:wr.OPTIMIZED_2D,viewMode:0,ucsIconSetting:0,ucsOrigin:new w(0,0,0),ucsXAxis:new w(1,0,0),ucsYAxis:new w(0,1,0),orthographicType:br.TOP,shadePlotSetting:0,shadePlotObjectId:void 0,visualStyleObjectId:void 0,isDefaultLightingOn:!1,defaultLightingType:Lr.ONE_DISTANT_LIGHT,brightness:0,contrast:0,ambientColor:void 0});class Cr extends vt{constructor(){super(),this._gsView=sd(),this._centerPoint=this._gsView.center}get gsView(){return this._gsView}get centerPoint(){return this._centerPoint}set centerPoint(e){this._centerPoint.copy(e)}get viewDirectionFromTarget(){return this._gsView.viewDirectionFromTarget}set viewDirectionFromTarget(e){this._gsView.viewDirectionFromTarget.copy(e)}get viewTarget(){return this._gsView.viewTarget}set viewTarget(e){this._gsView.viewTarget.copy(e)}get viewHeight(){return this._gsView.viewHeight}set viewHeight(e){this._gsView.viewHeight=e}get viewTwistAngle(){return this._gsView.viewTwistAngle}set viewTwistAngle(e){this._gsView.viewTwistAngle=e}get lensLength(){return this._gsView.lensLength}set lensLength(e){this._gsView.lensLength=e}get frontClippingPlane(){return this._gsView.frontClippingPlane}set frontClippingPlane(e){this._gsView.frontClippingPlane=e}get backClippingPlane(){return this._gsView.backClippingPlane}set backClippingPlane(e){this._gsView.backClippingPlane=e}get renderMode(){return this._gsView.renderMode}set renderMode(e){this._gsView.renderMode=e}get viewMode(){return this._gsView.viewMode}set viewMode(e){this._gsView.viewMode=e}get ucsIconSetting(){return this._gsView.ucsIconSetting}set ucsIconSetting(e){this._gsView.ucsIconSetting=e}get ucsOrigin(){return this._gsView.ucsOrigin}set ucsOrigin(e){this._gsView.ucsOrigin.copy(e)}get ucsXAxis(){return this._gsView.ucsXAxis}set ucsXAxis(e){this._gsView.ucsXAxis.copy(e)}get ucsYAxis(){return this._gsView.ucsYAxis}set ucsYAxis(e){this._gsView.ucsYAxis.copy(e)}get orthographicType(){return this._gsView.orthographicType}set orthographicType(e){this._gsView.orthographicType=e}get shadePlotSetting(){return this._gsView.shadePlotSetting}set shadePlotSetting(e){this._gsView.shadePlotSetting=e}get shadePlotObjectId(){return this._gsView.shadePlotObjectId}set shadePlotObjectId(e){this._gsView.shadePlotObjectId=e}get visualStyleObjectId(){return this._gsView.visualStyleObjectId}set visualStyleObjectId(e){this._gsView.visualStyleObjectId=e}get isDefaultLightingOn(){return this._gsView.isDefaultLightingOn}set isDefaultLightingOn(e){this._gsView.isDefaultLightingOn=e}get defaultLightingType(){return this._gsView.defaultLightingType}set defaultLightingType(e){this._gsView.defaultLightingType=e}get brightness(){return this._gsView.brightness}set brightness(e){this._gsView.brightness=e}get contrast(){return this._gsView.contrast}set contrast(e){this._gsView.contrast=e}get ambientColor(){return this._gsView.ambientColor}set ambientColor(e){this._gsView.ambientColor=e}}class vr extends Cr{constructor(){super(),this._circleSides=100,this._lowerLeftCorner=new v(0,0),this._upperRightCorner=new v(1,1),this._snapBase=new v(0,0),this._snapAngle=0,this._snapSpacing=new v(0,0),this._standardFlag=0,this._gridSpacing=new v,this._gridMajor=10}get circleSides(){return this._circleSides}set circleSides(e){this._circleSides=e}get center(){return this.centerPoint}set center(e){this.centerPoint=e}get lowerLeftCorner(){return this._lowerLeftCorner}set lowerLeftCorner(e){this._lowerLeftCorner.copy(e)}get upperRightCorner(){return this._upperRightCorner}set upperRightCorner(e){this._upperRightCorner.copy(e)}get snapBase(){return this._snapBase}set snapBase(e){this._snapBase.copy(e)}get snapAngle(){return this._snapAngle}set snapAngle(e){this._snapAngle=e}get snapIncrements(){return this._snapSpacing}set snapIncrements(e){this._snapSpacing.copy(e)}get gridMajor(){return this._gridMajor}set gridMajor(e){this._gridMajor=e}get gridIncrements(){return this._gridSpacing}set gridIncrements(e){this._gridSpacing.copy(e)}get standardFlag(){return this._standardFlag}set standardFlag(e){this._standardFlag=e}get snapEnabled(){return!!(this._standardFlag&256)}get backgroundObjectId(){return this._backgroundObjectId}set backgroundObjectId(e){this._backgroundObjectId=e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbViewportTableRecord"),e.writeString(2,this.name),e.writeDouble(45,this.gsView.viewHeight),e.writePoint2d(10,this.lowerLeftCorner),e.writePoint2d(11,this.upperRightCorner),e.writePoint2d(12,this.center),e.writePoint2d(13,this.snapBase),e.writePoint2d(14,this.snapIncrements),e.writePoint2d(15,this.gridIncrements),e.writeInt16(70,this.standardFlag),e.writeInt16(71,this.circleSides),e.writeDouble(42,this.gsView.lensLength),e.writePoint3d(16,this.gsView.viewDirectionFromTarget),e.writePoint3d(17,this.gsView.viewTarget),e.writeAngle(50,this.snapAngle),e.writeAngle(51,this.gsView.viewTwistAngle),e.writeInt16(61,this.gridMajor),e.writeInt16(281,this.backgroundObjectId?1:0),e.writeObjectId(332,this.backgroundObjectId),this}}class Bl extends _t{constructor(e){super(e)}}class Js extends vt{constructor(e){super(),this.name=e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbRegAppTableRecord"),e.writeString(2,this.name),e.writeInt16(70,0),this}}class rd extends De{constructor(){super({objectId:"0"}),this.events={dictObjetSet:new te,dictObjectErased:new te,entityAppended:new te,entityModified:new te,entityErased:new te,layerAppended:new te,layerModified:new te,layerErased:new te,openProgress:new te},this._version=new ve("AC1014"),this._angBase=0,this._angDir=0,this._aunits=ar.DecimalDegrees,this._celtscale=1,this._cecolor=new X,this._celtype=pe,this._celweight=ii.ByLayer,this._cetransparency=new J,this._clayer="0",this._cmlstyle=gt,this._cmlscale=1,this._cmleaderstyle=pt,this._hpbackgroundcolor=new X(P.None),this._hpcolor=this._cecolor.clone(),this._hplayer=".",this._hptransparency=new J,this._textstyle=Q,this._extents=new Y,this._insunits=Mr.Millimeters,this._ltscale=1,this._lwdisplay=!1,this._pdmode=0,this._pdsize=0,this._osmode=0,this._maxHandle=0,this._tables={appIdTable:new Bl(this),blockTable:new Pl(this),dimStyleTable:new El(this),linetypeTable:new Ol(this),textStyleTable:new Yl(this),viewTable:new Xl(this),layerTable:new Nl(this),viewportTable:new Rl(this)},this._objects={dictionary:new Jt(this),imageDefinition:new Jt(this),layout:new fl(this),mleaderStyle:new Jt(this),mlineStyle:new Jt(this),xrecord:new Jt(this)}}get tables(){return this._tables}get objects(){return this._objects}generateHandle(){return this._maxHandle++,this._maxHandle.toString(16).toUpperCase()}updateMaxHandle(e){const t=parseInt(e,16);!isNaN(t)&&t>this._maxHandle&&(this._maxHandle=t)}commitObjectHandle(e,t){const i=e.getAttrWithoutException("objectId");!i||e.isTemp||t&&t(i)?e.objectId=this.generateHandle():this.updateMaxHandle(i)}get currentSpaceId(){return this._currentSpace||(this._currentSpace=this._tables.blockTable.modelSpace),this._currentSpace.objectId}set currentSpaceId(e){const t=this.tables.blockTable.getIdAt(e);if(t==null)throw new Error(`[AcDbDatabase] The specified block table record id '${e}' doesn't exist in the drawing database!`);this._currentSpace=t}get aunits(){return this._aunits}set aunits(e){this.updateSysVar(A.AUNITS,this._aunits,e??0,t=>{this._aunits=t})}get version(){return this._version}set version(e){this.updateSysVar(A.ACADVER,this._version,new ve(e),t=>{this._version=t})}get insunits(){return this._insunits}set insunits(e){this.updateSysVar(A.INSUNITS,this._insunits,e??4,t=>{this._insunits=t})}get ltscale(){return this._ltscale}set ltscale(e){this.updateSysVar(A.LTSCALE,this._ltscale,e??1,t=>{this._ltscale=t})}get lwdisplay(){return this._lwdisplay}set lwdisplay(e){this.updateSysVar(A.LWDISPLAY,this._lwdisplay,e??!1,t=>{this._lwdisplay=t})}get cecolor(){return this._cecolor}set cecolor(e){this.updateSysVar(A.CECOLOR,this._cecolor,e||0,t=>{this._cecolor=t.clone()})}get celtscale(){return this._celtscale}set celtscale(e){this.updateSysVar(A.CELTSCALE,this._celtscale,e??1,t=>{this._celtscale=t})}get celtype(){return this._celtype}set celtype(e){const t=this.normalizeLinetypeName(e??pe);this.updateSysVar(A.CELTYPE,this._celtype,t,i=>{this._celtype=i})}get celweight(){return this._celweight}set celweight(e){this.updateSysVar(A.CELWEIGHT,this._celweight,e??ii.ByLayer,t=>{this._celweight=t})}get cetransparency(){return this._cetransparency}set cetransparency(e){this.updateSysVar(A.CETRANSPARENCY,this._cetransparency,e??new J,t=>{this._cetransparency=t.clone()})}get clayer(){return this._clayer}set clayer(e){this.updateSysVar(A.CLAYER,this._clayer,e??"0",t=>{this._clayer=t})}get cmlstyle(){return this._cmlstyle}set cmlstyle(e){this.updateSysVar(A.CMLSTYLE,this._cmlstyle,e??gt,t=>{this._cmlstyle=t})}get cmlscale(){return this._cmlscale}set cmlscale(e){this.updateSysVar(A.CMLSCALE,this._cmlscale,e??1,t=>{this._cmlscale=t})}get cmleaderstyle(){return this._cmleaderstyle}set cmleaderstyle(e){this.updateSysVar(A.CMLEADERSTYLE,this._cmleaderstyle,e??pt,t=>{this._cmleaderstyle=t})}get hpbackgroundcolor(){return this._hpbackgroundcolor}set hpbackgroundcolor(e){this.updateSysVar(A.HPBACKGROUNDCOLOR,this._hpbackgroundcolor,e??new X(P.None),t=>{this._hpbackgroundcolor=t.clone()})}get hpcolor(){return this._hpcolor}set hpcolor(e){this.updateSysVar(A.HPCOLOR,this._hpcolor,e??this._cecolor,t=>{this._hpcolor=t.clone()})}get hplayer(){return this._hplayer}set hplayer(e){this.updateSysVar(A.HPLAYER,this._hplayer,e??".",t=>{this._hplayer=t})}get hptransparency(){return this._hptransparency}set hptransparency(e){this.updateSysVar(A.HPTRANSPARENCY,this._hptransparency,e??new J,t=>{this._hptransparency=t.clone()})}get textstyle(){return this._textstyle}set textstyle(e){this.updateSysVar(A.TEXTSTYLE,this._textstyle,e??Q,t=>{this._textstyle=t})}get angBase(){return this._angBase}set angBase(e){this.updateSysVar(A.ANGBASE,this._angBase,e??0,t=>{this._angBase=t})}get angDir(){return this._angDir}set angDir(e){this.updateSysVar(A.ANGDIR,this._angDir,e??0,t=>{this._angDir=t})}get extmax(){return this._extents.max}set extmax(e){if(e){const t=this._extents.max.clone();this._extents.expandByPoint(e),this._extents.max.equals(t)||this.triggerSysVarChangedEvent(A.EXTMAX,t,this._extents.max)}}get extmin(){return this._extents.min}set extmin(e){if(e){const t=this._extents.min.clone();this._extents.expandByPoint(e),this._extents.min.equals(t)||this.triggerSysVarChangedEvent(A.EXTMIN,t,this._extents.min)}}get extents(){return this._extents}get pdmode(){return this._pdmode}set pdmode(e){this.updateSysVar(A.PDMODE,this._pdmode,e??0,t=>{this._pdmode=t})}get pdsize(){return this._pdsize}set pdsize(e){this.updateSysVar(A.PDSIZE,this._pdsize,e??0,t=>{this._pdsize=t})}get osmode(){return this._osmode}set osmode(e){this.updateSysVar(A.OSMODE,this._osmode,e??0,t=>{this._osmode=t})}async read(e,t,i=Ri.DXF){const s=He.instance.get(i);if(s==null)throw new Error(`Database converter for file type '${i}' isn't registered and can can't read this file!`);this.clear(),await s.read(e,this,t&&t.minimumChunkSize||10,async(r,a,o,h)=>{if(this.events.openProgress.dispatch({database:this,percentage:r,stage:"CONVERSION",subStage:a,subStageStatus:o,data:h}),t&&t.fontLoader&&a=="FONT"&&o=="END"){const c=h||this.tables.textStyleTable.fonts;await t.fontLoader.load(c)}},t==null?void 0:t.timeout,t==null?void 0:t.sysVars),this.ensureDatabaseDefaults()}async openUri(e,t){var g;this.events.openProgress.dispatch({database:this,percentage:0,stage:"FETCH_FILE",subStageStatus:"START"});const i=await fetch(e);if(!i.ok)throw this.events.openProgress.dispatch({database:this,percentage:100,stage:"FETCH_FILE",subStageStatus:"ERROR"}),new Error(`Failed to fetch file '${e}' with HTTP status code '${i.status}'!`);const s=i.headers.get("content-length"),r=s?parseInt(s,10):null;let a=0;const o=(g=i.body)==null?void 0:g.getReader();if(!o)throw new Error("Failed to get response reader");const h=[];for(;;){const{done:m,value:y}=await o.read();if(m)break;if(h.push(y),a+=y.length,r!==null){const _=Math.round(a/r*100);this.events.openProgress.dispatch({database:this,percentage:_,stage:"FETCH_FILE",subStageStatus:"IN-PROGRESS"})}}const c=new Uint8Array(a);let d=0;for(const m of h)c.set(m,d),d+=m.length;const p=this.getFileNameFromUri(e).toLowerCase().split(".").pop();p==="dwg"?await this.read(c.buffer,t,Ri.DWG):p==="dxf"?await this.read(c.buffer,t,Ri.DXF):await this.read(c.buffer,t,p),this.events.openProgress.dispatch({database:this,percentage:100,stage:"FETCH_FILE",subStageStatus:"END"})}dxfOut(e,t=16,i=this.version.name,s=!1){this.ensureDatabaseDefaults();const r=i instanceof ve?i:new ve(i),a=new io({database:this,precision:t,version:r});return this.writeDxfHeaderSection(a),this.writeDxfTablesSection(a,r),this.writeDxfBlocksSection(a),this.writeDxfEntitiesSection(a),this.writeDxfObjectsSection(a),a.writeStart("EOF"),a.toString()}async regen(){await new rc(this).read(null,this,500,async(t,i,s,r)=>{this.events.openProgress.dispatch({database:this,percentage:t,stage:"CONVERSION",subStage:i,subStageStatus:s,data:r})})}createDefaultData(e={layer:!0,lineType:!0,textStyle:!0,dimStyle:!0,layout:!0}){const t=new Sl(this);e.layer&&t.createDefaultLayer(),e.lineType&&t.createDefaultLineType(),e.textStyle&&t.createDefaultTextStyle(),e.dimStyle&&t.createDefaultDimStyle(),e.layout&&t.createDefaultLayout()}ensureEntityStyleDefaults(e){var t;if(e.dxfTypeName==="MLINE"){this.ensureMLineStyle(this._cmlstyle||gt);return}if(e.dxfTypeName==="MULTILEADER"){this.ensureMLeaderStyle(this._cmleaderstyle||pt);return}if(e.dxfTypeName==="HATCH"){const i=e;(t=i.applyPatternDefaultsFromSysVars)==null||t.call(i,this)}}ensureDatabaseDefaults(){if(!this.tables.layerTable.has("0")){const t=new X;t.colorIndex=7,this.tables.layerTable.add(new _s({name:"0",standardFlags:0,linetype:It,lineWeight:0,isOff:!1,color:t,isPlottable:!0}))}if(this.tables.linetypeTable.has(At)||this.tables.linetypeTable.add(new Et({name:At,standardFlag:0,description:"",totalPatternLength:0})),this.tables.linetypeTable.has(pe)||this.tables.linetypeTable.add(new Et({name:pe,standardFlag:0,description:"",totalPatternLength:0})),this.tables.linetypeTable.has(It)||this.tables.linetypeTable.add(new Et({name:It,standardFlag:0,description:"Solid line",totalPatternLength:0})),this.tables.textStyleTable.has(Q)||this.tables.textStyleTable.add(new fs({name:Q,standardFlag:0,fixedTextHeight:0,widthFactor:1,obliqueAngle:0,textGenerationFlag:0,lastHeight:.2,font:"SimKai",bigFont:"",extendedFont:"SimKai"})),this.tables.dimStyleTable.has(Q)||this.tables.dimStyleTable.add(new si({name:Q,dimtxsty:Q})),!this.tables.viewportTable.has("*Active")){const t=new vr;t.name="*Active",this.tables.viewportTable.add(t)}this.ensureMLineStyle(this._cmlstyle||gt),this.ensureMLeaderStyle(this._cmleaderstyle||pt);const e=this.tables.blockTable.modelSpace;if(!this.objects.layout.getAt("Model")){const t=new on;t.layoutName="Model",t.tabOrder=0,t.blockTableRecordId=e.objectId,t.limits.min.copy({x:0,y:0}),t.limits.max.copy({x:1e6,y:1e6}),t.extents.min.copy({x:0,y:0,z:0}),t.extents.max.copy({x:1e6,y:1e6,z:0}),this.objects.layout.setAt(t.layoutName,t),e.layoutId=t.objectId}this.tables.appIdTable.has(Ds)||this.tables.appIdTable.add(new Js(Ds)),this.tables.appIdTable.has(Fs)||this.tables.appIdTable.add(new Js(Fs))}ensureMLineStyle(e){const t=this.objects.mlineStyle,i=e.trim();if(!i||t.getAt(i))return;for(const[r,a]of t.entries())if(r.toUpperCase()===i.toUpperCase()||a.styleName.toUpperCase()===i.toUpperCase())return;const s=new Ir;s.styleName=i,s.elements=[{offset:.5,color:new X().setByLayer(),lineType:pe},{offset:-.5,color:new X().setByLayer(),lineType:pe}],t.setAt(i,s)}ensureMLeaderStyle(e){const t=this.objects.mleaderStyle,i=e.trim();if(!i||t.getAt(i))return;for(const[o]of t.entries())if(o.toUpperCase()===i.toUpperCase())return;const s=new Ar;s.unknown1=2,s.maxLeaderSegmentsPoints=2,s.leaderLineColor=new X().setByBlock(),s.textColor=new X().setByBlock(),s.blockColor=new X().setByBlock(),s.alignSpace=4,s.breakSize=3.75,s.enableBlockRotation=!0,s.unknown2=!1;const r=this.tables.linetypeTable.getAt(At);s.leaderLineTypeId=r==null?void 0:r.objectId;const a=this.tables.textStyleTable.getAt(Q);s.textStyleId=a==null?void 0:a.objectId,t.setAt(i,s)}writeDxfHeaderSection(e){var t;e.startSection("HEADER"),e.writeString(9,"$ACADVER"),e.writeString(1,((t=e.version)==null?void 0:t.name)??this.version.name),e.writeString(9,"$HANDSEED"),e.writeString(5,e.nextHandle.toString(16).toUpperCase()),e.version!=null&&e.version.value>=27&&(e.writeString(9,"$DWGCODEPAGE"),e.writeString(3,"UTF-8")),e.writeString(9,"$INSUNITS"),e.writeInt16(70,this.insunits),e.writeString(9,"$LTSCALE"),e.writeDouble(40,this.ltscale),e.writeString(9,"$LWDISPLAY"),e.writeInt16(70,this.lwdisplay?1:0),e.writeString(9,"$CLAYER"),e.writeString(8,this.clayer),e.writeString(9,"$CELTYPE"),e.writeString(6,this.celtype),this.cetransparency.isInvalid||(e.writeString(9,"$CETRANSPARENCY"),e.writeTransparency(this.cetransparency)),e.writeString(9,"$CMLSTYLE"),e.writeString(2,this.cmlstyle),e.writeString(9,"$CMLSCALE"),e.writeDouble(40,this.cmlscale),e.writeString(9,"$CMLEADERSTYLE"),e.writeString(2,this.cmleaderstyle),this.hpcolor.colorMethod!==P.None&&(e.writeString(9,"$HPCOLOR"),e.writeCmColor(this.hpcolor,2)),this.hpbackgroundcolor.colorMethod!==P.None&&(e.writeString(9,"$HPBACKGROUNDCOLOR"),e.writeCmColor(this.hpbackgroundcolor,2)),e.writeString(9,"$HPLAYER"),e.writeString(8,this.hplayer),this.hptransparency.isInvalid||(e.writeString(9,"$HPTRANSPARENCY"),e.writeTransparency(this.hptransparency)),e.writeString(9,"$TEXTSTYLE"),e.writeString(7,this.textstyle),e.writeString(9,"$ANGBASE"),e.writeAngle(50,this.angBase),e.writeString(9,"$ANGDIR"),e.writeInt16(70,this.angDir),e.writeString(9,"$EXTMIN"),e.writePoint3d(10,this.extmin),e.writeString(9,"$EXTMAX"),e.writePoint3d(10,this.extmax),e.writeString(9,"$PDMODE"),e.writeInt32(70,this.pdmode),e.writeString(9,"$PDSIZE"),e.writeDouble(40,this.pdsize),e.writeString(9,"$OSMODE"),e.writeInt32(70,this.osmode),e.endSection()}writeDxfTablesSection(e,t){e.startSection("TABLES"),this.writeDxfTable(e,"VPORT",this.tables.viewportTable,this.tables.viewportTable.newIterator(),"VPORT"),this.writeDxfTable(e,"VIEW",this.tables.viewTable,this.tables.viewTable.newIterator(),"VIEW"),this.writeDxfTable(e,"LTYPE",this.tables.linetypeTable,this.tables.linetypeTable.newIterator(),"LTYPE"),this.writeDxfTable(e,"LAYER",this.tables.layerTable,this.tables.layerTable.newIterator(),"LAYER"),this.writeDxfTable(e,"STYLE",this.tables.textStyleTable,this.tables.textStyleTable.newIterator(),"STYLE"),this.writeDxfTable(e,"APPID",this.tables.appIdTable,this.tables.appIdTable.newIterator(),"APPID"),this.writeDxfTable(e,"DIMSTYLE",this.tables.dimStyleTable,this.tables.dimStyleTable.newIterator(),"DIMSTYLE"),t.value>=19&&this.writeDxfTable(e,"BLOCK_RECORD",this.tables.blockTable,this.tables.blockTable.newIterator(),"BLOCK_RECORD"),e.endSection()}writeDxfBlocksSection(e){e.startSection("BLOCKS");for(const t of this.tables.blockTable.newIterator()){if(t.dxfOutBlockBegin(e),!t.isModelSapce&&!t.isPaperSapce)for(const i of t.newIterator())this.writeDxfEntity(e,i);t.dxfOutBlockEnd(e)}e.endSection()}writeDxfEntitiesSection(e){e.startSection("ENTITIES");for(const t of this.tables.blockTable.newIterator())if(!(!t.isModelSapce&&!t.isPaperSapce))for(const i of t.newIterator())this.writeDxfEntity(e,i);e.endSection()}writeDxfObjectsSection(e){e.startSection("OBJECTS");const t=this.objects.dictionary;t.ownerId="0";const i=a=>{e.writeStart("DICTIONARY"),a.dxfOut(e)},s=(a,o)=>{t.getAt(a)!==o&&t.setAt(a,o)},r=a=>{t.getAt(a)&&t.remove(a)};s("ACAD_LAYOUT",this.objects.layout),this.objects.mleaderStyle.numEntries>0?s("ACAD_MLEADERSTYLE",this.objects.mleaderStyle):r("ACAD_MLEADERSTYLE"),this.objects.mlineStyle.numEntries>0?s("ACAD_MLINESTYLE",this.objects.mlineStyle):r("ACAD_MLINESTYLE"),this.objects.imageDefinition.numEntries>0?s("ISM_RASTER_IMAGE_DICT",this.objects.imageDefinition):r("ISM_RASTER_IMAGE_DICT"),this.objects.xrecord.numEntries>0?s("MLIGHT_XRECORD",this.objects.xrecord):r("MLIGHT_XRECORD"),i(t),i(this.objects.layout),this.objects.mleaderStyle.numEntries>0&&i(this.objects.mleaderStyle),this.objects.mlineStyle.numEntries>0&&i(this.objects.mlineStyle),this.objects.imageDefinition.numEntries>0&&i(this.objects.imageDefinition),this.objects.xrecord.numEntries>0&&i(this.objects.xrecord);for(const[a,o]of this.objects.layout.entries())e.writeStart("LAYOUT"),o.dxfOut(e);for(const[a,o]of this.objects.imageDefinition.entries())e.writeStart("IMAGEDEF"),o.dxfOut(e);for(const[a,o]of this.objects.mleaderStyle.entries())e.writeStart("MLEADERSTYLE"),o.dxfOut(e);for(const[a,o]of this.objects.mlineStyle.entries())e.writeStart("MLINESTYLE"),o.dxfOut(e);for(const[a,o]of this.objects.xrecord.entries())e.writeStart("XRECORD"),o.dxfOut(e);e.endSection()}writeDxfTable(e,t,i,s,r){const a=[...s];e.startTable(t),i.dxfOut(e);for(const o of a){if(r==="BLOCK_RECORD"&&o instanceof ie){o.dxfOutBlockRecord(e);continue}e.writeStart(r),o.dxfOut(e)}e.endTable()}writeDxfEntity(e,t){e.writeStart(t.dxfTypeName),t.dxfOut(e)}clear(){this._tables.blockTable.removeAll(),this._tables.dimStyleTable.removeAll(),this._tables.linetypeTable.removeAll(),this._tables.textStyleTable.removeAll(),this._tables.viewTable.removeAll(),this._tables.layerTable.removeAll(),this._tables.viewportTable.removeAll(),this._objects.layout.removeAll(),this._objects.imageDefinition.removeAll(),this._objects.mleaderStyle.removeAll(),this._objects.mlineStyle.removeAll(),this._objects.xrecord.removeAll(),this._currentSpace=void 0,this._extents.makeEmpty()}updateSysVar(e,t,i,s){this.hasSysVarValueChanged(t,i)&&(s(i),this.triggerSysVarChangedEvent(e,t,i))}hasSysVarValueChanged(e,t){return e instanceof X&&t instanceof X||e instanceof J&&t instanceof J?!e.equals(t):e instanceof ve&&t instanceof ve?e.value!==t.value:!Object.is(e,t)}normalizeLinetypeName(e){const t=e.trim();return t.toUpperCase()==="BYLAYER"?pe:t.toUpperCase()==="BYBLOCK"?At:t}triggerSysVarChangedEvent(e,t,i){const s=Ne.instance(),r=e.toLowerCase();s.getDescriptor(r)!=null&&s.events.sysVarChanged.dispatch({database:this,name:r,oldVal:t,newVal:i})}getFileNameFromUri(e){try{const i=new URL(e).pathname.split("/");return i[i.length-1]||""}catch{return""}}}const Fl="Load Database",Fa=3e4,ad=12e4,od=1024*1024;class we extends Qa{constructor(e,t){super(e.stage),this.data=e,this.progress=t}async run(e){const t=ir.getInstance().getEntry(Fl),i=Date.now();this.progress&&await this.progress(this.data.progress.value,this.data.stage,"START");const s=await this.data.task(e);return this.progress&&(await this.progress(this.data.progress.value,this.data.stage,"END",s?s.data:null),this.data.progress.value+=this.data.step,this.data.progress.value>100&&(this.data.progress.value=100)),t&&(t.data[this.name]=Date.now()-i),s}}class Nr{constructor(e={}){this.config=e}async read(e,t,i,s,r,a){const o={name:Fl,data:{total:0},format(){let u="";return Object.keys(this.data).forEach(p=>{p!=="total"&&(u+=`- ${p}: ${this.data[p]} ms
8
- `)}),u+=`- total: ${this.data.total} ms`,u}};ir.getInstance().collect(o),this.progress=s;const h={value:0},c=new Ja;c.setCompleteCallback(()=>this.onFinished()),c.setErrorCallback(u=>this.onError(u)),c.addTask(new we({stage:"START",step:1,progress:h,task:async u=>u},s)),c.addTask(new we({stage:"PARSE",step:5,progress:h,task:async u=>await this.parse(u,r)},s)),c.addTask(new we({stage:"FONT",step:5,progress:h,task:async u=>{const p=this.getFonts(u.model);return{model:u.model,data:p}}},s)),c.addTask(new we({stage:"LTYPE",step:1,progress:h,task:async u=>(this.processLineTypes(u.model,t),u)},s)),c.addTask(new we({stage:"STYLE",step:1,progress:h,task:async u=>(this.processTextStyles(u.model,t),u)},s)),c.addTask(new we({stage:"DIMSTYLE",step:1,progress:h,task:async u=>(this.processDimStyles(u.model,t),u)},s)),c.addTask(new we({stage:"LAYER",step:1,progress:h,task:async u=>(this.processLayers(u.model,t),t.tables.layerTable.numEntries===0&&t.createDefaultData({layer:!0}),u)},s)),c.addTask(new we({stage:"VPORT",step:1,progress:h,task:async u=>(this.processViewports(u.model,t),u)},s)),c.addTask(new we({stage:"HEADER",step:1,progress:h,task:async u=>{if(this.processHeader(u.model,t),a){const p=Ne.instance();for(const[g,m]of Object.entries(a))p.setVar(g,m,t)}return u}},s)),c.addTask(new we({stage:"BLOCK_RECORD",step:5,progress:h,task:async u=>(this.processBlockTables(u.model,t),u)},s)),c.addTask(new we({stage:"OBJECT",step:5,progress:h,task:async u=>(this.processObjects(u.model,t),t.objects.layout.numEntries===0&&t.createDefaultData({layout:!0}),u)},s)),c.addTask(new we({stage:"BLOCK",step:5,progress:h,task:async u=>(await this.processBlocks(u.model,t),u)},s)),c.addTask(new we({stage:"ENTITY",step:100,progress:h,task:async u=>(await this.processEntities(u.model,t,i,h,s),u)},s)),c.addTask(new we({stage:"END",step:0,progress:h,task:async u=>u},s));const d=Date.now();await c.run(e),o.data.total=Date.now()-d}onError(e){if(this.progress){const t=e.task;this.progress(t.data.progress.value,t.data.stage,"ERROR",void 0,e)}return e.task.name==="ENTITY"?!1:(this.onFinished(),!0)}onFinished(){this.progress&&(this.progress(100,"END","END"),ri.instance.clear())}getParserWorkerTimeout(e,t){const i=t??this.config.timeout;if(i!=null)return i;const s=Math.ceil(e.byteLength/od),r=Fa+s*1e3;return Math.min(ad,Math.max(Fa,r))}async parse(e,t){throw new Error("Not impelemented yet!")}getFonts(e){throw new Error("Not impelemented yet!")}processLineTypes(e,t){throw new Error("Not impelemented yet!")}processTextStyles(e,t){throw new Error("Not impelemented yet!")}processDimStyles(e,t){throw new Error("Not impelemented yet!")}processLayers(e,t){throw new Error("Not impelemented yet!")}processViewports(e,t){throw new Error("Not impelemented yet!")}processHeader(e,t){throw new Error("Not impelemented yet!")}processBlockTables(e,t){throw new Error("Not impelemented yet!")}processObjects(e,t){throw new Error("Not impelemented yet!")}processBlocks(e,t){throw new Error("Not impelemented yet!")}processEntities(e,t,i,s,r){throw new Error("Not impelemented yet!")}}class ld extends Cr{constructor(){super(),this._standardFlags=0,this._viewWidth=this.viewHeight,this._ucsAssociated=!1,this._cameraPlottable=!1,this._ucsElevation=0}get standardFlags(){return this._standardFlags}set standardFlags(e){this._standardFlags=e}get viewWidth(){return this._viewWidth}set viewWidth(e){this._viewWidth=e}get ucsAssociated(){return this._ucsAssociated}set ucsAssociated(e){this._ucsAssociated=e}get cameraPlottable(){return this._cameraPlottable}set cameraPlottable(e){this._cameraPlottable=e}get ucsElevation(){return this._ucsElevation}set ucsElevation(e){this._ucsElevation=e}get ucsObjectId(){return this._ucsObjectId}set ucsObjectId(e){this._ucsObjectId=e}get ucsBaseObjectId(){return this._ucsBaseObjectId}set ucsBaseObjectId(e){this._ucsBaseObjectId=e}get backgroundObjectId(){return this._backgroundObjectId}set backgroundObjectId(e){this._backgroundObjectId=e}get liveSectionObjectId(){return this._liveSectionObjectId}set liveSectionObjectId(e){this._liveSectionObjectId=e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbViewTableRecord"),e.writeString(2,this.name),e.writeInt16(70,this.standardFlags),e.writeDouble(40,this.gsView.viewHeight),e.writePoint2d(10,this.centerPoint),e.writeDouble(41,this.viewWidth),e.writePoint3d(11,this.gsView.viewDirectionFromTarget),e.writePoint3d(12,this.gsView.viewTarget),e.writeDouble(42,this.gsView.lensLength),e.writeDouble(43,this.gsView.frontClippingPlane),e.writeDouble(44,this.gsView.backClippingPlane),e.writeAngle(50,this.gsView.viewTwistAngle),e.writeInt16(71,this.gsView.viewMode),e.writeInt16(281,this.gsView.renderMode),e.writeInt16(72,this.ucsAssociated?1:0),e.writeInt16(73,this.cameraPlottable?1:0),e.writeObjectId(332,this.backgroundObjectId),e.writeObjectId(334,this.liveSectionObjectId),e.writeObjectId(348,this.gsView.visualStyleObjectId),this.ucsAssociated&&(e.writePoint3d(110,this.gsView.ucsOrigin),e.writePoint3d(111,this.gsView.ucsXAxis),e.writePoint3d(112,this.gsView.ucsYAxis),e.writeInt16(79,this.gsView.orthographicType),e.writeDouble(146,this.ucsElevation),e.writeObjectId(345,this.ucsObjectId),e.writeObjectId(346,this.ucsBaseObjectId)),this}}var re,yi,Z,ee,_i,Ye,Xt,Ke,me,Ze,Xe,Rt,Bt,Ft,Se,Qe,fi,xi,Dt,Vt,wi,bi,Li,Ae,Je,U,zt,Si,N,ye,Ai,_e,Ii,et,j,Pi,tt,Ht,Ts,Ms,Re,Ei,jt,Ie,it,nt,st,Ti,Mi,rt,Wt,Gt,ks,ki,Ut,at,$t,ae,ot,Pe,Cs,oe,vs,lt,Ee,qt,Ci,Kt,Te,ht,Me,ct,Ns,Zt,ke;(re={})[re.None=0]="None",re[re.Anonymous=1]="Anonymous",re[re.NonConstant=2]="NonConstant",re[re.Xref=4]="Xref",re[re.XrefOverlay=8]="XrefOverlay",re[re.ExternallyDependent=16]="ExternallyDependent",re[re.ResolvedOrDependent=32]="ResolvedOrDependent",re[re.ReferencedXref=64]="ReferencedXref";(yi={})[yi.BYBLOCK=0]="BYBLOCK",yi[yi.BYLAYER=256]="BYLAYER";(Z={})[Z.Rotated=0]="Rotated",Z[Z.Aligned=1]="Aligned",Z[Z.Angular=2]="Angular",Z[Z.Diameter=3]="Diameter",Z[Z.Radius=4]="Radius",Z[Z.Angular3Point=5]="Angular3Point",Z[Z.Ordinate=6]="Ordinate",Z[Z.ReferenceIsExclusive=32]="ReferenceIsExclusive",Z[Z.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",Z[Z.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag";(ee={})[ee.TopLeft=1]="TopLeft",ee[ee.TopCenter=2]="TopCenter",ee[ee.TopRight=3]="TopRight",ee[ee.MiddleLeft=4]="MiddleLeft",ee[ee.MiddleCenter=5]="MiddleCenter",ee[ee.MiddleRight=6]="MiddleRight",ee[ee.BottomLeft=7]="BottomLeft",ee[ee.BottomCenter=8]="BottomCenter",ee[ee.BottomRight=9]="BottomRight";(_i={})[_i.AtLeast=1]="AtLeast",_i[_i.Exact=2]="Exact";var Da=((Ye={})[Ye.Center=0]="Center",Ye[Ye.Above=1]="Above",Ye[Ye.Outside=2]="Outside",Ye[Ye.JIS=3]="JIS",Ye[Ye.Below=4]="Below",Ye);(Xt={})[Xt.WithDimension=0]="WithDimension",Xt[Xt.AddLeader=1]="AddLeader",Xt[Xt.Independent=2]="Independent";(Ke={})[Ke.BothOutside=0]="BothOutside",Ke[Ke.ArrowFirst=1]="ArrowFirst",Ke[Ke.TextFirst=2]="TextFirst",Ke[Ke.Auto=3]="Auto";var li=((me={})[me.Feet=0]="Feet",me[me.None=1]="None",me[me.Inch=2]="Inch",me[me.FeetAndInch=3]="FeetAndInch",me[me.Leading=4]="Leading",me[me.Trailing=8]="Trailing",me[me.LeadingAndTrailing=12]="LeadingAndTrailing",me),hd=((Ze={})[Ze.None=0]="None",Ze[Ze.Leading=1]="Leading",Ze[Ze.Trailing=2]="Trailing",Ze[Ze.LeadingAndTrailing=3]="LeadingAndTrailing",Ze),cd=((Xe={})[Xe.Center=0]="Center",Xe[Xe.First=1]="First",Xe[Xe.Second=2]="Second",Xe[Xe.OverFirst=3]="OverFirst",Xe[Xe.OverSecond=4]="OverSecond",Xe),dd=((Rt={})[Rt.Bottom=0]="Bottom",Rt[Rt.Center=1]="Center",Rt[Rt.Top=2]="Top",Rt);(Bt={})[Bt.None=0]="None",Bt[Bt.UseDrawingBackground=1]="UseDrawingBackground",Bt[Bt.Custom=2]="Custom";(Ft={})[Ft.Horizontal=0]="Horizontal",Ft[Ft.Diagonal=1]="Diagonal",Ft[Ft.NotStacked=2]="NotStacked";(Se={})[Se.Scientific=1]="Scientific",Se[Se.Decimal=2]="Decimal",Se[Se.Engineering=3]="Engineering",Se[Se.Architectural=4]="Architectural",Se[Se.Fractional=5]="Fractional",Se[Se.WindowDesktop=6]="WindowDesktop";(Qe={})[Qe.Decimal=0]="Decimal",Qe[Qe.DegreesMinutesSecond=1]="DegreesMinutesSecond",Qe[Qe.Gradian=2]="Gradian",Qe[Qe.Radian=3]="Radian";var ud=((fi={})[fi.PatternFill=0]="PatternFill",fi[fi.SolidFill=1]="SolidFill",fi);(xi={})[xi.NonAssociative=0]="NonAssociative",xi[xi.Associative=1]="Associative";(Dt={})[Dt.Normal=0]="Normal",Dt[Dt.Outer=1]="Outer",Dt[Dt.Ignore=2]="Ignore";(Vt={})[Vt.UserDefined=0]="UserDefined",Vt[Vt.Predefined=1]="Predefined",Vt[Vt.Custom=2]="Custom";(wi={})[wi.NotAnnotated=0]="NotAnnotated",wi[wi.Annotated=1]="Annotated";(bi={})[bi.Solid=0]="Solid",bi[bi.Gradient=1]="Gradient";(Li={})[Li.TwoColor=0]="TwoColor",Li[Li.OneColor=1]="OneColor";var gd=((Ae={})[Ae.Default=0]="Default",Ae[Ae.External=1]="External",Ae[Ae.Polyline=2]="Polyline",Ae[Ae.Derived=4]="Derived",Ae[Ae.Textbox=8]="Textbox",Ae[Ae.Outermost=16]="Outermost",Ae),Sn=((Je={})[Je.Line=1]="Line",Je[Je.Circular=2]="Circular",Je[Je.Elliptic=3]="Elliptic",Je[Je.Spline=4]="Spline",Je),pd=((U={})[U.Off=0]="Off",U[U.Solid=1]="Solid",U[U.Dashed=2]="Dashed",U[U.Dotted=3]="Dotted",U[U.ShotDash=4]="ShotDash",U[U.MediumDash=5]="MediumDash",U[U.LongDash=6]="LongDash",U[U.DoubleShortDash=7]="DoubleShortDash",U[U.DoubleMediumDash=8]="DoubleMediumDash",U[U.DoubleLongDash=9]="DoubleLongDash",U[U.DoubleMediumLongDash=10]="DoubleMediumLongDash",U[U.SparseDot=11]="SparseDot",U);pd.Off;(zt={})[zt.Standard=-3]="Standard",zt[zt.ByLayer=-2]="ByLayer",zt[zt.ByBlock=-1]="ByBlock";(Si={})[Si.English=0]="English",Si[Si.Metric=1]="Metric";(N={})[N.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",N[N.FRONT_CLIPPING=2]="FRONT_CLIPPING",N[N.BACK_CLIPPING=4]="BACK_CLIPPING",N[N.UCS_FOLLOW=8]="UCS_FOLLOW",N[N.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",N[N.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",N[N.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",N[N.FAST_ZOOM=128]="FAST_ZOOM",N[N.SNAP_MODE=256]="SNAP_MODE",N[N.GRID_MODE=512]="GRID_MODE",N[N.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",N[N.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",N[N.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",N[N.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",N[N.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",N[N.UNUSED=32768]="UNUSED",N[N.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",N[N.VIEWPORT_OFF=131072]="VIEWPORT_OFF",N[N.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",N[N.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",N[N.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",N[N.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE";(ye={})[ye.OPTIMIZED_2D=0]="OPTIMIZED_2D",ye[ye.WIREFRAME=1]="WIREFRAME",ye[ye.HIDDEN_LINE=2]="HIDDEN_LINE",ye[ye.FLAT_SHADED=3]="FLAT_SHADED",ye[ye.GOURAUD_SHADED=4]="GOURAUD_SHADED",ye[ye.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",ye[ye.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME";(Ai={})[Ai.UCS_UNCHANGED=0]="UCS_UNCHANGED",Ai[Ai.HAS_OWN_UCS=1]="HAS_OWN_UCS";(_e={})[_e.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",_e[_e.TOP=1]="TOP",_e[_e.BOTTOM=2]="BOTTOM",_e[_e.FRONT=3]="FRONT",_e[_e.BACK=4]="BACK",_e[_e.LEFT=5]="LEFT",_e[_e.RIGHT=6]="RIGHT";(Ii={})[Ii.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",Ii[Ii.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS";(et={})[et.ByLayer=0]="ByLayer",et[et.ByBlock=1]="ByBlock",et[et.ByDictionaryDefault=2]="ByDictionaryDefault",et[et.ByObject=3]="ByObject";(j={})[j.NotAllowed=0]="NotAllowed",j[j.AllowErase=1]="AllowErase",j[j.AllowTransform=2]="AllowTransform",j[j.AllowChangeColor=4]="AllowChangeColor",j[j.AllowChangeLayer=8]="AllowChangeLayer",j[j.AllowChangeLinetype=16]="AllowChangeLinetype",j[j.AllowChangeLinetypeScale=32]="AllowChangeLinetypeScale",j[j.AllowChangeVisibility=64]="AllowChangeVisibility",j[j.AllowClone=128]="AllowClone",j[j.AllowChangeLineweight=256]="AllowChangeLineweight",j[j.AllowChangePlotStyleName=512]="AllowChangePlotStyleName",j[j.AllowAllExceptClone=895]="AllowAllExceptClone",j[j.AllowAll=1023]="AllowAll",j[j.DisableProxyWarning=1024]="DisableProxyWarning",j[j.R13FormatProxy=32768]="R13FormatProxy";function O(n,e,t){return n.code===e&&(t==null||n.value===t)}function Ct(n){let e={};n.rewind();let t=n.next(),i=t.code;if(e.x=t.value,(t=n.next()).code!==i+10)throw Error("Expected code for point value to be 20 but got "+t.code+".");return e.y=t.value,(t=n.next()).code!==i+20?n.rewind():e.z=t.value,e}let hn=Symbol();function T(n,e){return(t,i,s)=>{let r=function(h,c=!1){return h.reduce((d,u)=>{u.pushContext&&d.push({});let p=d[d.length-1];for(let g of typeof u.code=="number"?[u.code]:u.code){let m=p[g]??(p[g]=[]);u.isMultiple&&m.length,m.push(u)}return d},[{}])}(n,i.debug),a=!1,o=r.length-1;for(;!O(t,0,"EOF");){let h=function(_,f,S){return _.find((L,M)=>{var I;return M>=S&&((I=L[f])==null?void 0:I.length)})}(r,t.code,o),c=h==null?void 0:h[t.code],d=c==null?void 0:c[c.length-1];if(!h||!d){i.rewind();break}d.isMultiple||h[t.code].pop();let{name:u,parser:p,isMultiple:g,isReducible:m}=d,y=p==null?void 0:p(t,i,s);if(y===hn){i.rewind();break}if(u){let[_,f]=md(s,u);g&&!m?(Object.prototype.hasOwnProperty.call(_,f)||(_[f]=[]),_[f].push(y)):_[f]=y}d.pushContext&&(o-=1),a=!0,t=i.next()}return e&&Object.setPrototypeOf(s,e),a}}function md(n,e){let t=e.split(".");if(!t.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let i=n;for(let s=0;s<t.length-1;++s){let r=Os(t[s]),a=Os(t[s+1]);Object.prototype.hasOwnProperty.call(i,r)||(typeof a=="number"?i[r]=[]:i[r]={}),i=i[r]}return[i,Os(t[t.length-1])]}function Os(n){let e=Number.parseInt(n);return Number.isNaN(e)?n:e}function l({value:n}){return n}function b(n,e){return Ct(e)}function E({value:n}){return!!n}function yd({value:n}){return n.trim()}let _d=[{code:281,name:"isEntity",parser:E},{code:280,name:"wasProxy",parser:E},{code:91,name:"instanceCount",parser:l},{code:90,name:"proxyFlag",parser:l},{code:3,name:"appName",parser:l},{code:2,name:"cppClassName",parser:l},{code:1,name:"name",parser:l}],fd=T(_d),xd=[{code:0,name:"classes",isMultiple:!0,parser(n,e){if(n.value!=="CLASS")return hn;n=e.next();let t={};return fd(n,e,t),t}}],wd=T(xd);(Pi={})[Pi.RayTrace=0]="RayTrace",Pi[Pi.ShadowMap=1]="ShadowMap";function $e(n,e,t){for(;O(n,102);){var i;let s=n.value;if(n=e.next(),!s.startsWith("{")){e.debug,function(a,o){for(;!O(a,102)&&!O(a,0,"EOF");)a=o.next()}(n,e),n=e.next();continue}let r=s.slice(1).trim();t.extensions??(t.extensions={}),(i=t.extensions)[r]??(i[r]=[]),function(a,o,h){for(;!O(a,102,"}")&&!O(a,0,"EOF");)h.push(a),a=o.next()}(n,e,t.extensions[r]),n=e.next()}e.rewind()}let bd=[{code:1001,name:"xdata",isMultiple:!0,parser:Dl}],Ld=new Set([1010,1011,1012,1013]);function Dl(n,e){var s;if(!O(n,1001))throw Error("XData must starts with code 1001");let t={appName:n.value,value:[]};n=e.next();let i=[t.value];for(;!O(n,0,"EOF")&&!O(n,1001)&&n.code>=1e3;){let r=i[i.length-1];if(n.code===1002){n.value==="{"?i.push([]):(i.pop(),(s=i[i.length-1])==null||s.push(r)),n=e.next();continue}Ld.has(n.code)?r.push(Ct(e)):r.push(n.value),n=e.next()}return e.rewind(),t}(tt={})[tt.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",tt[tt.CAST=1]="CAST",tt[tt.RECEIVE=2]="RECEIVE",tt[tt.IGNORE=3]="IGNORE";let V=[...bd,{code:284,name:"shadowMode",parser:l},{code:390,name:"plotStyleHardId",parser:l},{code:380,name:"plotStyleType",parser:l},{code:440,name:"transparency",parser:l},{code:430,name:"colorName",parser:l},{code:420,name:"color",parser:l},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(n,e,t)=>(t.proxyEntity??"")+n.value},{code:[92,160],name:"proxyByte",parser:l},{code:60,name:"isVisible",parser:E},{code:48,name:"lineTypeScale",parser:l},{code:370,name:"lineweight",parser:l},{code:62,name:"colorIndex",parser:l},{code:347,name:"materialObjectHardId",parser:l},{code:6,name:"lineType",parser:l},{code:8,name:"layer",parser:l},{code:410,name:"layoutTabName",parser:l},{code:67,name:"isInPaperSpace",parser:E},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:5,name:"handle",parser:l}];function xs(n){return[{code:3,name:n,parser:(e,t,i)=>(i._code3text=(i._code3text??"")+e.value,i._code3text+(i._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:n,parser:(e,t,i)=>(i._code1text=e.value,(i._code3text??"")+i._code1text)}]}function Vl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Sd={extrusionDirection:{x:0,y:0,z:1}},Ad=[{code:210,name:"extrusionDirection",parser:b},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:100,name:"subclassMarker",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b},{code:39,name:"thickness",parser:l},{code:100},...V];class zl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Vl(this,"parser",T(Ad,Sd))}}Vl(zl,"ForEntityName","ARC");(Ht={})[Ht.BeforeText=0]="BeforeText",Ht[Ht.AboveText=1]="AboveText",Ht[Ht.None=2]="None";let Or=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4,defaultValue:""},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMJOGANG",code:50,defaultValue:45},{name:"DIMTFILL",code:69,defaultValue:0},{name:"DIMTFILLCLR",code:70,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:Da.Above,defaultValueImperial:Da.Center},{name:"DIMZIN",code:78,defaultValue:li.Trailing,defaultValueImperial:li.Feet},{name:"DIMAZIN",code:79,defaultValue:hd.None},{name:"DIMARCSYM",code:90,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179,defaultValue:0},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:3,defaultValueImperial:2},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:44,defaultValueImperial:46},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:cd.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:dd.Center},{name:"DIMTZIN",code:284,defaultValue:li.Trailing,defaultValueImperial:li.Feet},{name:"DIMALTZ",code:285,defaultValue:li.Trailing},{name:"DIMALTTZ",code:286,defaultValue:li.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMTXTDIRECTION",code:294,defaultValue:0},{name:"DIMTXSTY",code:340,defaultValue:"Standard"},{name:"DIMLDRBLK",code:341,defaultValue:""},{name:"DIMBLK",code:342,defaultValue:""},{name:"DIMBLK1",code:343,defaultValue:""},{name:"DIMBLK2",code:344,defaultValue:""},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWE",code:372,defaultValue:-2}],Hl=[{code:3,name:"styleName",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:51,name:"ocsRotation",parser:l},{code:53,name:"textRotation",parser:l},{code:1,name:"text",parser:l},{code:42,name:"measurement",parser:l},{code:72,name:"textLineSpacingStyle",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:70,name:"dimensionType",parser:l},{code:11,name:"textPoint",parser:b},{code:10,name:"definitionPoint",parser:b},{code:2,name:"name",parser:l},{code:280,name:"version",parser:l},{code:100}],Id=[{code:100},{code:52,name:"obliqueAngle",parser:l},{code:50,name:"rotationAngle",parser:l},{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:12,name:"insertionPoint",parser:b},{code:100,name:"subclassMarker",parser:l}],Pd=[{code:16,name:"arcPoint",parser:b},{code:15,name:"centerPoint",parser:b},{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:100,name:"subclassMarker",parser:l}],Ed=[{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:100,name:"subclassMarker",parser:l}],Td=[{code:40,name:"leaderLength",parser:l},{code:15,name:"subDefinitionPoint",parser:b},{code:100,name:"subclassMarker",parser:l}],Md=[{code:100,parser(n,e,t){let i=function(s){switch(s){case"AcDbAlignedDimension":return T(Id);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return T(Pd);case"AcDbOrdinateDimension":return T(Ed);case"AcDbRadialDimension":case"AcDbDiametricDimension":return T(Td)}return null}(n.value);if(!i)return hn;i(n,e,t)},pushContext:!0},...Or.map(n=>({...n,parser:l})),...Hl,...V];class Cn{parseEntity(e,t){let i={};return T(Md)(t,e,i),i}}(Ts="ForEntityName")in Cn?Object.defineProperty(Cn,Ts,{value:"DIMENSION",enumerable:!0,configurable:!0,writable:!0}):Cn[Ts]="DIMENSION";let kd=[{code:73},{code:17,name:"leaderEnd",parser:b},{code:16,name:"leaderStart",parser:b},{code:71,name:"hasLeader",parser:E},{code:41,name:"endAngle",parser:l},{code:40,name:"startAngle",parser:l},{code:70,name:"isPartial",parser:E},{code:15,name:"centerPoint",parser:b},{code:14,name:"xline2Point",parser:b},{code:13,name:"xline1Point",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...Or.map(n=>({...n,parser:l})),...Hl,...V];class vn{parseEntity(e,t){let i={};return T(kd)(t,e,i),i}}(Ms="ForEntityName")in vn?Object.defineProperty(vn,Ms,{value:"ARC_DIMENSION",enumerable:!0,configurable:!0,writable:!0}):vn[Ms]="ARC_DIMENSION";(Re={})[Re.NONE=0]="NONE",Re[Re.INVISIBLE=1]="INVISIBLE",Re[Re.CONSTANT=2]="CONSTANT",Re[Re.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",Re[Re.PRESET=8]="PRESET";(Ei={})[Ei.MULTILINE=2]="MULTILINE",Ei[Ei.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE";(jt={})[jt.NONE=0]="NONE",jt[jt.MIRRORED_X=2]="MIRRORED_X",jt[jt.MIRRORED_Y=4]="MIRRORED_Y";var Cd=((Ie={})[Ie.LEFT=0]="LEFT",Ie[Ie.CENTER=1]="CENTER",Ie[Ie.RIGHT=2]="RIGHT",Ie[Ie.ALIGNED=3]="ALIGNED",Ie[Ie.MIDDLE=4]="MIDDLE",Ie[Ie.FIT=5]="FIT",Ie),vd=((it={})[it.BASELINE=0]="BASELINE",it[it.BOTTOM=1]="BOTTOM",it[it.MIDDLE=2]="MIDDLE",it[it.TOP=3]="TOP",it);function jl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Wl={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:Cd.LEFT,valign:vd.BASELINE,extrusionDirection:{x:0,y:0,z:1}},Gl=[{code:73,name:"valign",parser:l},{code:100},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"endPoint",parser:b},{code:72,name:"valign",parser:l},{code:72,name:"halign",parser:l},{code:71,name:"generationFlag",parser:l},{code:7,name:"styleName",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"xScale",parser:l},{code:50,name:"rotation",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Ul{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){jl(this,"parser",T(Gl,Wl))}}function $l(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}jl(Ul,"ForEntityName","TEXT");let Nd={...Wl},Od=[{code:2},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:b},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:E},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedRecord",parser:E},{code:100},{code:280,name:"isLocked",parser:E},{code:74,name:"valign",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:3,name:"prompt",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},...Gl.slice(2)];class ql{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){$l(this,"parser",T(Od,Nd))}}function Yd(n,e){let t={};for(let i of n){let s=e(i);s!=null&&(t[s]??(t[s]=[]),t[s].push(i))}return t}function*us(n,e=1/0,t=1){for(let i=n;i!==e;i+=t)yield i}function er(n){return{x:n.x??0,y:n.y??0,z:n.z??0}}$l(ql,"ForEntityName","ATTDEF");var Xd=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function Rd(n){return Xd[n]}function Bd(n){n.rewind();let e=n.next();if(e.code!==101)throw Error("Bad call for skipEmbeddedObject()");do e=n.next();while(e.code!==0);n.rewind()}function Fd(n,e,t){if(O(e,102))return $e(e,t,n),!0;switch(e.code){case 0:n.type=e.value;break;case 5:n.handle=e.value;break;case 330:n.ownerBlockRecordSoftId=e.value;break;case 67:n.isInPaperSpace=!!e.value;break;case 8:n.layer=e.value;break;case 6:n.lineType=e.value;break;case 347:n.materialObjectHardId=e.value;break;case 62:n.colorIndex=e.value,n.color=Rd(Math.abs(e.value));break;case 370:n.lineweight=e.value;break;case 48:n.lineTypeScale=e.value;break;case 60:n.isVisible=!!e.value;break;case 92:n.proxyByte=e.value;break;case 310:n.proxyEntity=e.value;break;case 100:break;case 420:n.color=e.value;break;case 430:n.transparency=e.value;break;case 390:n.plotStyleHardId=e.value;break;case 284:n.shadowMode=e.value;break;case 1001:(n.xdata??(n.xdata=[])).push(Dl(e,t));break;default:return!1}return!0}function Kl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Dd={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},Nn=[{code:46,name:"annotationHeight",parser:l},{code:101,parser(n,e){Bd(e)}},{code:50,name:"columnHeight",parser:l},{code:49,name:"columnGutter",parser:l},{code:48,name:"columnWidth",parser:l},{code:79,name:"columnAutoHeight",parser:l},{code:78,name:"columnFlowReversed",parser:l},{code:76,name:"columnCount",parser:l},{code:75,name:"columnType",parser:l},{code:441,name:"backgroundFillTransparency",parser:l},{code:63,name:"backgroundFillColor",parser:l},{code:45,name:"fillBoxScale",parser:l},{code:[...us(430,440)],name:"backgroundColor",parser:l},{code:[...us(420,430)],name:"backgroundColor",parser:l},{code:90,name:"backgroundFill",parser:l},{code:44,name:"lineSpacing",parser:l},{code:73,name:"lineSpacingStyle",parser:l},{code:50,name:"rotation",parser:l},{code:43},{code:42},{code:11,name:"direction",parser:b},{code:210,name:"extrusionDirection",parser:b},{code:7,name:"styleName",parser:l},...xs("text"),{code:72,name:"drawingDirection",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:10,name:"insertionPoint",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Zl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Kl(this,"parser",T(Nn,Dd))}}function Ql(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kl(Zl,"ForEntityName","MTEXT");let Vd={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},zd=[...Nn.slice(Nn.findIndex(({name:n})=>n==="columnType"),Nn.findIndex(({name:n})=>n==="subclassMarker")+1),{code:100},{code:0,parser(n){if(!O(n,0,"MTEXT"))return hn}},{code:2,name:"definitionTag",parser:l},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:b},{code:340,name:"secondaryAttributesHardId",parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:E},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedEntriesKeep",parser:E},{code:100},{code:280,name:"lockPositionFlag",parser:E},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"alignmentPoint",parser:b},{code:74,name:"verticalJustification",parser:l},{code:72,name:"horizontalJustification",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:7,name:"textStyle",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"scale",parser:l},{code:50,name:"rotation",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100},...V];class Jl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Ql(this,"parser",T(zd,Vd))}}function eh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Ql(Jl,"ForEntityName","ATTRIB");let Hd=[...xs("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class th{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){eh(this,"parser",T(Hd))}}function ih(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}eh(th,"ForEntityName","BODY");let jd={thickness:0,extrusionDirection:{x:0,y:0,z:1}},Wd=[{code:210,name:"extrusionDirection",parser:b},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class nh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){ih(this,"parser",T(Wd,jd))}}function sh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}ih(nh,"ForEntityName","CIRCLE");let Gd={extrusionDirection:{x:0,y:0,z:1}},Ud=[{code:42,name:"endAngle",parser:l},{code:41,name:"startAngle",parser:l},{code:40,name:"axisRatio",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"majorAxisEndPoint",parser:b},{code:10,name:"center",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class rh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){sh(this,"parser",T(Ud,Gd))}}function ah(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}sh(rh,"ForEntityName","ELLIPSE");let $d=[{code:13,name:"vertices.3",parser:b},{code:12,name:"vertices.2",parser:b},{code:11,name:"vertices.1",parser:b},{code:10,name:"vertices.0",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class oh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){ah(this,"parser",T($d))}}ah(oh,"ForEntityName","3DFACE");(nt={})[nt.First=1]="First",nt[nt.Second=2]="Second",nt[nt.Third=4]="Third",nt[nt.Fourth=8]="Fourth";let lh=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],qd=[{code:11,name:"end",parser:b},{code:10,name:"start",parser:b}],Kd=[{code:73,name:"isCCW",parser:E},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b}],Zd=[{code:73,name:"isCCW",parser:E},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"lengthOfMinorAxis",parser:l},{code:11,name:"end",parser:b},{code:10,name:"center",parser:b}],Qd=[{code:13,name:"endTangent",parser:b},{code:12,name:"startTangent",parser:b},{code:11,name:"fitDatum",isMultiple:!0,parser:b},{code:97,name:"numberOfFitData",parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser(n,e){let t={...Ct(e),weight:1};return(n=e.next()).code===42?t.weight=n.value:e.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:l},{code:96,name:"numberOfControlPoints",parser:l},{code:95,name:"numberOfKnots",parser:l},{code:74,name:"isPeriodic",parser:E},{code:73,name:"splineFlag",parser:l},{code:94,name:"degree",parser:l}],Jd={[Sn.Line]:qd,[Sn.Circular]:Kd,[Sn.Elliptic]:Zd,[Sn.Spline]:Qd},eu=[...lh,{code:72,name:"edges",parser(n,e){let t={type:n.value},i=T(Jd[t.type]);if(!i)throw Error(`Invalid edge type ${t.type}`);return i(n=e.next(),e,t),t},isMultiple:!0},{code:93,name:"numberOfEdges",parser:l}],tu=[...lh,{code:10,name:"vertices",parser(n,e){let t={...Ct(e),bulge:0};return(n=e.next()).code===42?t.bulge=n.value:e.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:l},{code:73,name:"isClosed",parser:E},{code:72,name:"hasBulge",parser:E}];function iu(n,e){let t={boundaryPathTypeFlag:n.value},i=t.boundaryPathTypeFlag&gd.Polyline;return n=e.next(),i?T(tu)(n,e,t):T(eu)(n,e,t),t}let nu=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:Va},{code:43,name:"base",parser:Va},{code:53,name:"angle",parser:l}];function Va(n,e){let t=n.code+1,i={x:n.value,y:1};return(n=e.next()).code===t?i.y=n.value:e.rewind(),i}function su(n,e){let t={};return T(nu)(n,e,t),t}function ru(n,e){let t=[];for(;n.code===463;){let i={reservedField:n.value};if((n=e.next()).code===63&&(i.colorIndex=n.value,n=e.next()),n.code===421)i.rgb=n.value,t.push(i),n=e.next();else{e.rewind();break}}return n.code!==463&&t.length>0&&e.rewind(),t}function hh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let au={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},ou=[{code:470,name:"gradientName",parser:l},{code:463,name:"gradientColors",parser:ru},{code:462,name:"colorTint",parser:l},{code:461,name:"gradientDefinition",parser:l},{code:460,name:"gradientRotation",parser:l},{code:453,name:"numberOfColors",parser:l},{code:452,name:"gradientColorFlag",parser:l},{code:451},{code:450,name:"gradientFlag",parser:l},{code:10,name:"seedPoints",parser:b,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:b},{code:98,name:"numberOfSeedPoints",parser:l},{code:47,name:"pixelSize",parser:l},{code:53,name:"definitionLines",parser:su,isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:l},{code:77,name:"isDouble",parser:E},{code:73,name:"isAnnotated",parser:E},{code:41,name:"patternScale",parser:l},{code:52,name:"patternAngle",parser:l},{code:76,name:"patternType",parser:l},{code:75,name:"hatchStyle",parser:l},{code:92,name:"boundaryPaths",parser:iu,isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:l},{code:71,name:"associativity",parser:l},{code:63,name:"patternFillColor",parser:l},{code:70,name:"solidFill",parser:l},{code:2,name:"patternName",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:10,name:"elevationPoint",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class ch{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){hh(this,"parser",T(ou,au))}}function dh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}hh(ch,"ForEntityName","HATCH");let lu={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},hu=[{code:290,name:"clipMode",parser:l},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:b},{code:91,name:"countBoundaryPoints",parser:l},{code:71,name:"clippingBoundaryType",parser:l},{code:360,name:"imageDefReactorHandle",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipped",parser:E},{code:70,name:"flags",parser:l},{code:340,name:"imageDefHandle",parser:l},{code:13,name:"imageSize",parser:b},{code:12,name:"vPixel",parser:b},{code:11,name:"uPixel",parser:b},{code:10,name:"position",parser:b},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class uh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){dh(this,"parser",T(hu,lu))}}dh(uh,"ForEntityName","IMAGE");(st={})[st.ShowImage=1]="ShowImage",st[st.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",st[st.UseClippingBoundary=4]="UseClippingBoundary",st[st.TransparencyIsOn=8]="TransparencyIsOn";(Ti={})[Ti.Rectangular=1]="Rectangular",Ti[Ti.Polygonal=2]="Polygonal";(Mi={})[Mi.Outside=0]="Outside",Mi[Mi.Inside=1]="Inside";function gh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let cu={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},du=[{code:210,name:"extrusionDirection",parser:b},{code:45,name:"rowSpacing",parser:l},{code:44,name:"columnSpacing",parser:l},{code:71,name:"rowCount",parser:l},{code:70,name:"columnCount",parser:l},{code:50,name:"rotation",parser:l},{code:43,name:"zScale",parser:l},{code:42,name:"yScale",parser:l},{code:41,name:"xScale",parser:l},{code:10,name:"insertionPoint",parser:b},{code:2,name:"name",parser:l},{code:66,name:"isVariableAttributes",parser:E},{code:100,name:"subclassMarker",parser:l},...V];class ph{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){gh(this,"parser",T(du,cu))}}function mh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}gh(ph,"ForEntityName","INSERT");let uu={isArrowheadEnabled:!0},gu=[{code:213,name:"offsetFromAnnotation",parser:b},{code:212,name:"offsetFromBlock",parser:b},{code:211,name:"horizontalDirection",parser:b},{code:210,name:"normal",parser:b},{code:340,name:"associatedAnnotation",parser:l},{code:77,name:"byBlockColor",parser:l},{code:10,name:"vertices",parser:b,isMultiple:!0},{code:76,name:"numberOfVertices",parser:l},{code:41,name:"textWidth",parser:l},{code:40,name:"textHeight",parser:l},{code:75,name:"isHooklineExists",parser:E},{code:74,name:"isHooklineSameDirection",parser:E},{code:73,name:"leaderCreationFlag",parser:l},{code:72,name:"isSpline",parser:E},{code:71,name:"isArrowheadEnabled",parser:E},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class yh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){mh(this,"parser",T(gu,uu))}}mh(yh,"ForEntityName","LEADER");(rt={})[rt.TextAnnotation=0]="TextAnnotation",rt[rt.ToleranceAnnotation=1]="ToleranceAnnotation",rt[rt.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",rt[rt.NoAnnotation=3]="NoAnnotation";function _h(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let pu={thickness:0,extrusionDirection:{x:0,y:0,z:1}},mu=[{code:210,name:"extrusionDirection",parser:b},{code:11,name:"endPoint",parser:b},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class fh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){_h(this,"parser",T(mu,pu))}}function xh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}_h(fh,"ForEntityName","LINE");let yu=[{code:280,name:"shadowMapSoftness",parser:l},{code:91,name:"shadowMapSize",parser:l},{code:73,name:"shadowType",parser:l},{code:293,name:"isShadowCast",parser:E},{code:51,name:"falloffAngle",parser:l},{code:50,name:"hotspotAngle",parser:l},{code:42,name:"limitEnd",parser:l},{code:41,name:"limitStart",parser:l},{code:292,name:"isAttenuationLimited",parser:E},{code:72,name:"attenuationType",parser:l},{code:11,name:"target",parser:b},{code:10,name:"position",parser:b},{code:40,name:"intensity",parser:l},{code:291,name:"isPlotGlyph",parser:E},{code:290,name:"isOn",parser:E},{code:421,name:"lightColorInstance",parser:l},{code:63,name:"lightColorIndex",parser:l},{code:70,name:"lightType",parser:l},{code:1,name:"name",parser:l},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class wh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){xh(this,"parser",T(yu))}}xh(wh,"ForEntityName","LIGHT");(Wt={})[Wt.Distant=1]="Distant",Wt[Wt.Point=2]="Point",Wt[Wt.Spot=3]="Spot";(Gt={})[Gt.None=0]="None",Gt[Gt.InverseLinear=1]="InverseLinear",Gt[Gt.InverseSquare=2]="InverseSquare";let _u={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},fu={bulge:0},xu=[{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:91,name:"id",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l}],wu=[{code:210,name:"extrusionDirection",parser:b},{code:10,name:"vertices",isMultiple:!0,parser(n,e){let t={};return T(xu,fu)(n,e,t),t}},{code:39,name:"thickness",parser:l},{code:38,name:"elevation",parser:l},{code:43,name:"constantWidth",parser:l},{code:70,name:"flag",parser:l},{code:90,name:"numberOfVertices",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class On{parseEntity(e,t){let i={};return T(wu,_u)(t,e,i),i}}(ks="ForEntityName")in On?Object.defineProperty(On,ks,{value:"LWPOLYLINE",enumerable:!0,configurable:!0,writable:!0}):On[ks]="LWPOLYLINE";(ki={})[ki.IS_CLOSED=1]="IS_CLOSED",ki[ki.PLINE_GEN=128]="PLINE_GEN";function bh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let bu=[{code:90,name:"overridenSubEntityCount",parser:l},{code:140,name:"edgeCreaseWeights",parser:l,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:l},{code:94,parser(n,e,t){t.edgeCount=n.value,t.edgeIndices=[];for(let i=0;i<t.edgeCount;++i){let s=[];n=e.next(),s[0]=n.value,n=e.next(),s[1]=n.value,t.edgeIndices.push(s)}}},{code:93,parser(n,e,t){t.totalFaceIndices=n.value,t.faceIndices=[];let i=[];for(let r=0;r<t.totalFaceIndices&&!O(n,0);++r)n=e.next(),i.push(n.value);let s=0;for(;s<i.length;){let r=i[s++],a=[];for(let o=0;o<r;++o)a.push(i[s++]);t.faceIndices.push(a)}}},{code:10,name:"vertices",parser:b,isMultiple:!0},{code:92,name:"verticesCount",parser:l},{code:91,name:"subdivisionLevel",parser:l},{code:40,name:"blendCrease",parser:l},{code:72,name:"isBlendCreased",parser:E},{code:71,name:"version",parser:l},{code:100,name:"subclassMarker",parser:yd,pushContext:!0},...V];class Lh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){bh(this,"parser",T(bu))}}function Sh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}bh(Lh,"ForEntityName","MESH");let Lu=[{code:42,name:"fillParameters",parser:l,isMultiple:!0},{code:75,name:"fillCount",parser:l},{code:41,name:"parameters",parser:l,isMultiple:!0},{code:74,name:"parameterCount",parser:l}],Su=[{code:[74,41,75,42],name:"elements",parser(n,e){let t=T(Lu),i={};return t(n,e,i),i},isMultiple:!0},{code:13,name:"miterDirection",parser:b},{code:12,name:"direction",parser:b},{code:11,name:"position",parser:b}],Au=[{code:[11,12,13],name:"segments",parser(n,e){let t=T(Su),i={};return t(n,e,i),i},isMultiple:!0},{code:210,name:"extrusionDirection",parser:b},{code:10,name:"startPosition",parser:b},{code:73,name:"styleCount",parser:l},{code:72,name:"vertexCount",parser:l},{code:71,name:"flags",parser:l},{code:70,name:"justification",parser:l},{code:40,name:"scale",parser:l},{code:340,name:"styleObjectHandle",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class Ah{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Sh(this,"parser",T(Au))}}Sh(Ah,"ForEntityName","MLINE");(Ut={})[Ut.Top=0]="Top",Ut[Ut.Zero=1]="Zero",Ut[Ut.Bottom=2]="Bottom";(at={})[at.HasVertex=1]="HasVertex",at[at.Closed=2]="Closed",at[at.SuppressStartCaps=4]="SuppressStartCaps",at[at.SuppressEndCaps=8]="SuppressEndCaps";($t={})[$t.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",$t[$t.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",$t[$t.BY_STYLE=5]="BY_STYLE";function Ih(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Iu={},Pu=[{code:300,parser:function(n,e,t){var r;let i;if(n.value==="CONTEXT_DATA{")for(;e.hasNext();){var s;if((i=e.next()).code===301)break;switch(i.code){case 10:t.contentBasePosition=le(i,e);break;case 11:t.normal=le(i,e);break;case 12:t.textAnchor=le(i,e);break;case 13:t.textDirection=le(i,e);break;case 14:dt(t).normal=le(i,e);break;case 15:dt(t).position=le(i,e);break;case 16:dt(t).scale=le(i,e);break;case 40:t.contentScale=i.value;break;case 41:case 44:t.textHeight=i.value;break;case 42:t.textRotation=i.value;break;case 43:t.textWidth=i.value;break;case 45:t.textLineSpacingFactor=i.value;break;case 46:dt(t).rotation=i.value;break;case 47:(s=dt(t)).transformationMatrix??(s.transformationMatrix=[]),(r=dt(t).transformationMatrix)==null||r.push(i.value);break;case 90:t.textColor=i.value;break;case 91:t.textBackgroundColor=i.value;break;case 92:t.textBackgroundTransparency=i.value;break;case 93:dt(t).color=i.value;break;case 110:t.planeOrigin=le(i,e);break;case 111:t.planeXAxisDirection=le(i,e);break;case 112:t.planeYAxisDirection=le(i,e);break;case 140:t.arrowheadSize=i.value;break;case 141:t.textBackgroundScaleFactor=i.value;break;case 142:t.textColumnWidth=i.value;break;case 143:t.textColumnGutterWidth=i.value;break;case 144:t.textColumnHeight=i.value;break;case 145:t.landingGap=i.value;break;case 170:t.textLineSpacingStyle=i.value;break;case 171:t.textAttachment=i.value;break;case 172:t.textFlowDirection=i.value;break;case 173:t.textColumnType=i.value;break;case 290:t.hasMText=i.value;break;case 291:t.textBackgroundColorOn=i.value;break;case 292:t.textFillOn=i.value;break;case 293:t.textUseAutoHeight=i.value;break;case 294:t.textColumnFlowReversed=i.value;break;case 295:t.textUseWordBreak=i.value;break;case 296:t.hasBlock=i.value;break;case 297:t.planeNormalReversed=i.value;break;case 302:i.value==="LEADER{"&&(t.leaderSections??(t.leaderSections=[]),t.leaderSections.push(function(a,o){let h,c;if(a.value!=="LEADER{")return{leaderLines:[]};let d={leaderLines:[]};for(;o.hasNext();){if((c=o.next()).code===303){An(d,h);break}switch(c.code){case 290:d.lastLeaderLinePointSet=c.value;break;case 291:d.doglegVectorSet=c.value;break;case 10:d.lastLeaderLinePoint=le(c,o);break;case 11:d.doglegVector=le(c,o);break;case 12:h??(h={}),h.start=le(c,o);break;case 13:h??(h={}),h.end=le(c,o),An(d,h),h=void 0;break;case 90:d.leaderBranchIndex=c.value;break;case 40:d.doglegLength=c.value;break;case 304:c.value==="LEADER_LINE{"&&d.leaderLines.push(function(u,p){let g,m;if(u.value!=="LEADER_LINE{")return{vertices:[]};let y={vertices:[]};for(;p.hasNext();){if((m=p.next()).code===305){An(y,g);break}switch(m.code){case 10:y.vertices.push(le(m,p));break;case 11:g??(g={}),g.start=le(m,p);break;case 12:g??(g={}),g.end=le(m,p),An(y,g),g=void 0;break;case 90:y.breakPointIndexes??(y.breakPointIndexes=[]),y.breakPointIndexes.push(m.value),g??(g={}),g.index=m.value;break;case 91:y.leaderLineIndex=m.value}}return y}(c,o))}}return d}(i,e)));break;case 304:i.value!=="LEADER_LINE{"&&(t.textContent=i.value,t.contentType??(t.contentType=2));break;case 340:t.textStyleId=i.value;break;case 341:t.blockContentId=i.value,dt(t).blockContentId=i.value}}}},{code:270,name:"version",parser:l},{code:340,name:"leaderStyleId",parser:l},{code:90,name:"propertyOverrideFlag",parser:l},{code:170,name:"leaderLineType",parser:l},{code:91,name:"leaderLineColor",parser:l},{code:341,name:"leaderLineTypeId",parser:l},{code:171,name:"leaderLineWeight",parser:l},{code:290,name:"landingEnabled",parser:E},{code:291,name:"doglegEnabled",parser:E},{code:[40,41],name:"doglegLength",parser:l},{code:342,name:"arrowheadId",parser:l},{code:42,name:"arrowheadSize",parser:l},{code:172,name:"contentType",parser:l},{code:343,name:"textStyleId",parser:l},{code:173,name:"textLeftAttachmentType",parser:l},{code:95,name:"textRightAttachmentType",parser:l},{code:174,name:"textAngleType",parser:l},{code:175,name:"textAlignmentType",parser:l},{code:92,name:"textColor",parser:l},{code:292,name:"textFrameEnabled",parser:E},{code:344,parser:function(n,e,t){t.blockContentId=n.value,dt(t).blockContentId=n.value}},{code:93,name:"blockContentColor",parser:l},{code:10,name:"blockContentScale",parser:b},{code:43,name:"blockContentRotation",parser:l},{code:176,name:"blockContentConnectionType",parser:l},{code:293,name:"annotativeScaleEnabled",parser:E},{code:94,parser:function(n,e,t){t.arrowheadOverrides??(t.arrowheadOverrides=[]),t.arrowheadOverrides.push({index:n.value})},isMultiple:!0},{code:345,parser:function(n,e,t){var i;((i=t).arrowheadOverrides??(i.arrowheadOverrides=[]),i.arrowheadOverrides.length||i.arrowheadOverrides.push({}),i.arrowheadOverrides[i.arrowheadOverrides.length-1]).handle=n.value},isMultiple:!0},{code:330,parser:function(n,e,t){t.blockAttributes??(t.blockAttributes=[]),t.blockAttributes.push({id:n.value})},isMultiple:!0},{code:177,parser:function(n,e,t){Ys(t).index=n.value},isMultiple:!0},{code:44,parser:function(n,e,t){Ys(t).width=n.value},isMultiple:!0},{code:302,parser:function(n,e,t){Ys(t).text=n.value},isMultiple:!0},{code:294,name:"textDirectionNegative",parser:E},{code:178,name:"textAlignInIPE",parser:l},{code:179,name:"textAttachmentPoint",parser:l},{code:271,name:"textAttachmentDirection",parser:l},{code:272,name:"bottomTextAttachmentDirection",parser:l},{code:273,name:"topTextAttachmentDirection",parser:l},{code:100,name:"subclassMarker",parser:l},...V];function le(n,e){return er(b(n,e))}function An(n,e){(e!=null&&e.start||e!=null&&e.end)&&(n.breaks??(n.breaks=[]),n.breaks.push(e))}function dt(n){return n.blockContent??(n.blockContent={})}function Ys(n){return n.blockAttributes??(n.blockAttributes=[]),n.blockAttributes.length||n.blockAttributes.push({}),n.blockAttributes[n.blockAttributes.length-1]}class Ph{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Ih(this,"parser",T(Pu,Iu))}}function Eh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Ih(Ph,"ForEntityName","MULTILEADER");let Eu={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},Tu=[{code:50,name:"angle",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:39,name:"thickness",parser:l},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Th{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Eh(this,"parser",T(Tu,Eu))}}function Mh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Eh(Th,"ForEntityName","POINT");let Mu={startWidth:0,endWidth:0,bulge:0},ku=[{code:91,name:"id",parser:l},{code:[...us(71,75)],name:"faces",isMultiple:!0,parser:l},{code:50,name:"tangentDirection",parser:l},{code:70,name:"flag",parser:l},{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:30,name:"z",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...V];class Yr{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Mh(this,"parser",T(ku,Mu))}}function kh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Mh(Yr,"ForEntityName","VERTEX");let Cu={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},vu=[{code:0,name:"vertices",isMultiple:!0,parser:(n,e)=>O(n,0,"VERTEX")?(n=e.next(),new Yr().parseEntity(e,n)):hn},{code:210,name:"extrusionDirection",parser:b},{code:75,name:"smoothType",parser:l},{code:74,name:"surfaceNDensity",parser:l},{code:73,name:"surfaceMDensity",parser:l},{code:72,name:"meshNVertexCount",parser:l},{code:71,name:"meshMVertexCount",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:70,name:"flag",parser:l},{code:39,name:"thickness",parser:l},{code:30,name:"elevation",parser:l},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:l},...V];class Ch{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){kh(this,"parser",T(vu,Cu))}}kh(Ch,"ForEntityName","POLYLINE");(ae={})[ae.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",ae[ae.CURVE_FIT=2]="CURVE_FIT",ae[ae.SPLINE_FIT=4]="SPLINE_FIT",ae[ae.POLYLINE_3D=8]="POLYLINE_3D",ae[ae.POLYGON_3D=16]="POLYGON_3D",ae[ae.CLOSED_POLYGON=32]="CLOSED_POLYGON",ae[ae.POLYFACE=64]="POLYFACE",ae[ae.CONTINUOUS=128]="CONTINUOUS";var In=((ot={})[ot.NONE=0]="NONE",ot[ot.QUADRATIC=5]="QUADRATIC",ot[ot.CUBIC=6]="CUBIC",ot[ot.BEZIER=8]="BEZIER",ot);function vh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Nu=[{code:11,name:"direction",parser:b},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Nh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){vh(this,"parser",T(Nu))}}function Oh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}vh(Nh,"ForEntityName","RAY");let Ou=[...xs("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Yh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Oh(this,"parser",T(Ou))}}function Xh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Oh(Yh,"ForEntityName","REGION");let Yu={vertices:[],backLineVertices:[]},Xu=[{code:360,name:"geometrySettingHardId",parser:l},{code:12,name:"backLineVertices",isMultiple:!0,parser:b},{code:93,name:"numberOfBackLineVertices",parser:l},{code:11,name:"vertices",isMultiple:!0,parser:b},{code:92,name:"verticesCount",parser:l},{code:[63,411],name:"indicatorColor",parser:l},{code:70,name:"indicatorTransparency",parser:l},{code:41,name:"bottomHeight",parser:l},{code:40,name:"topHeight",parser:l},{code:10,name:"verticalDirection",parser:b},{code:1,name:"name",parser:l},{code:91,name:"flag",parser:l},{code:90,name:"state",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Rh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Xh(this,"parser",T(Xu,Yu))}}function Bh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Xh(Rh,"ForEntityName","SECTION");let Ru={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},Bu=[{code:210,name:"extrusionDirection",parser:b},{code:39,name:"thickness",parser:l},{code:[...us(10,14)],name:"points",isMultiple:!0,parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Fh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Bh(this,"parser",T(Bu,Ru))}}function Dh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Bh(Fh,"ForEntityName","SOLID");let Fu=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...xs("data"),{code:70,name:"version",parser:l},{code:100},...V];class Vh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Dh(this,"parser",T(Fu))}}function zh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dh(Vh,"ForEntityName","3DSOLID");let Du={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},Vu=[{code:11,name:"fitPoints",isMultiple:!0,parser:b},{code:10,name:"controlPoints",isMultiple:!0,parser:b},{code:41,name:"weights",isMultiple:!0,parser:l},{code:40,name:"knots",isMultiple:!0,parser:l},{code:13,name:"endTangent",parser:b},{code:12,name:"startTangent",parser:b},{code:44,name:"fitTolerance",parser:l},{code:43,name:"controlTolerance",parser:l},{code:42,name:"knotTolerance",parser:l},{code:74,name:"numberOfFitPoints",parser:l},{code:73,name:"numberOfControlPoints",parser:l},{code:72,name:"numberOfKnots",parser:l},{code:71,name:"degree",parser:l},{code:70,name:"flag",parser:l},{code:210,name:"normal",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Hh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){zh(this,"parser",T(Vu,Du))}}zh(Hh,"ForEntityName","SPLINE");(Pe={})[Pe.NONE=0]="NONE",Pe[Pe.CLOSED=1]="CLOSED",Pe[Pe.PERIODIC=2]="PERIODIC",Pe[Pe.RATIONAL=4]="RATIONAL",Pe[Pe.PLANAR=8]="PLANAR",Pe[Pe.LINEAR=16]="LINEAR";function jh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let zu=[{code:280,name:"shadowMapSoftness",parser:l},{code:71,name:"shadowMapSize",parser:l},{code:70,name:"shadowType",parser:l},{code:292,name:"isSummerTime",parser:E},{code:92,name:"time",parser:l},{code:91,name:"julianDay",parser:l},{code:291,name:"hasShadow",parser:E},{code:40,name:"intensity",parser:l},{code:421,name:"lightColorInstance",parser:l},{code:63,name:"lightColorIndex",parser:l},{code:290,name:"isOn",parser:E},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V.filter(n=>n.code!==100)];class Wh{parseEntity(e,t){let i={layer:""};return this.parser(t,e,i),i}constructor(){jh(this,"parser",T(zu))}}jh(Wh,"ForEntityName","SUN");class Yn{parseEntity(e,t){let i={};for(;!e.isEOF();){if(t.code===0){e.rewind();break}switch(t.code){case 100:i.subclassMarker=t.value,t=e.next();break;case 2:i.name=t.value,t=e.next();break;case 5:i.handle=t.value,t=e.next();break;case 10:i.startPoint=er(Ct(e)),t=e.lastReadGroup;break;case 11:i.directionVector=er(Ct(e)),t=e.lastReadGroup;break;case 90:i.tableValue=t.value,t=e.next();break;case 91:i.rowCount=t.value,t=e.next();break;case 92:i.columnCount=t.value,t=e.next();break;case 93:i.overrideFlag=t.value,t=e.next();break;case 94:i.borderColorOverrideFlag=t.value,t=e.next();break;case 95:i.borderLineWeightOverrideFlag=t.value,t=e.next();break;case 96:i.borderVisibilityOverrideFlag=t.value,t=e.next();break;case 141:i.rowHeightArr??(i.rowHeightArr=[]),i.rowHeightArr.push(t.value),t=e.next();break;case 142:i.columnWidthArr??(i.columnWidthArr=[]),i.columnWidthArr.push(t.value),t=e.next();break;case 280:i.version=t.value,t=e.next();break;case 310:i.bmpPreview??(i.bmpPreview=""),i.bmpPreview+=t.value,t=e.next();break;case 330:i.ownerBlockRecordSoftId=t.value,t=e.next();break;case 342:i.tableStyleId=t.value,t=e.next();break;case 343:i.blockRecordHandle=t.value,t=e.next();break;case 170:i.attachmentPoint=t.value,t=e.next();break;case 171:i.cells??(i.cells=[]),i.cells.push(function(s,r){let a=!1,o=!1,h={};for(;!s.isEOF()&&r.code!==0&&!o;)switch(r.code){case 171:if(a){o=!0;continue}h.cellType=r.value,a=!0,r=s.next();break;case 172:h.flagValue=r.value,r=s.next();break;case 173:h.mergedValue=r.value,r=s.next();break;case 174:h.autoFit=r.value,r=s.next();break;case 175:h.borderWidth=r.value,r=s.next();break;case 176:h.borderHeight=r.value,r=s.next();break;case 91:h.overrideFlag=r.value,r=s.next();break;case 178:h.virtualEdgeFlag=r.value,r=s.next();break;case 145:h.rotation=r.value,r=s.next();break;case 345:h.fieldObjetId=r.value,r=s.next();break;case 340:h.blockTableRecordId=r.value,r=s.next();break;case 146:h.blockScale=r.value,r=s.next();break;case 177:h.blockAttrNum=r.value,r=s.next();break;case 7:h.textStyle=r.value,r=s.next();break;case 140:h.textHeight=r.value,r=s.next();break;case 170:h.attachmentPoint=r.value,r=s.next();break;case 92:h.extendedCellFlags=r.value,r=s.next();break;case 285:h.rightBorderVisibility=!!(r.value??!0),r=s.next();break;case 286:h.bottomBorderVisibility=!!(r.value??!0),r=s.next();break;case 288:h.leftBorderVisibility=!!(r.value??!0),r=s.next();break;case 289:h.topBorderVisibility=!!(r.value??!0),r=s.next();break;case 301:(function(c,d,u){for(;u.code!==304;)switch(u.code){case 301:case 93:case 90:case 94:u=d.next();break;case 1:c.text=u.value,u=d.next();break;case 300:c.attrText=u.value,u=d.next();break;case 302:c.text=u.value?u.value:c.text,u=d.next();break;default:u=d.next()}})(h,s,r),r=s.next();break;default:return h}return a=!1,o=!1,h}(e,t)),t=e.lastReadGroup;break;default:Fd(i,t,e),t=e.next()}}return i}}function Gh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}(Cs="ForEntityName")in Yn?Object.defineProperty(Yn,Cs,{value:"ACAD_TABLE",enumerable:!0,configurable:!0,writable:!0}):Yn[Cs]="ACAD_TABLE";let Hu=[{code:11,name:"xAxisDirection",parser:b},{code:210,name:"extrusionDirection",parser:b},{code:1,name:"text",parser:l},{code:10,name:"position",parser:b},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Uh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Gh(this,"parser",T(Hu))}}Gh(Uh,"ForEntityName","TOLERANCE");var ju=((oe={})[oe.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",oe[oe.TANGENT_DEFINED=2]="TANGENT_DEFINED",oe[oe.NOT_USED=4]="NOT_USED",oe[oe.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",oe[oe.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",oe[oe.FOR_POLYLINE=32]="FOR_POLYLINE",oe[oe.FOR_POLYGON=64]="FOR_POLYGON",oe[oe.POLYFACE=128]="POLYFACE",oe);let Wu=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:l},{code:361,name:"sunId",parser:l},{code:431,name:"ambientLightColorName",parser:l},{code:421,name:"ambientLightColorInstance",parser:l},{code:63,name:"ambientLightColorIndex",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLighting",parser:E},{code:348,name:"visualStyleId",parser:l},{code:333,name:"shadePlotId",parser:l},{code:332,name:"backgroundId",parser:l},{code:61,name:"majorGridFrequency",parser:l},{code:170,name:"shadePlotMode",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:346,name:"ucsBaseId",parser:l},{code:345,name:"ucsId",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:74,name:"iconFlag",parser:l},{code:71,name:"ucsPerViewport",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"sheetName",parser:l},{code:340,name:"clippingBoundaryId",parser:l},{code:90,name:"statusBitFlags",parser:l},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:l},{code:72,name:"circleZoomPercent",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClipZ",parser:l},{code:43,name:"frontClipZ",parser:l},{code:42,name:"perspectiveLensLength",parser:l},{code:17,name:"targetPoint",parser:b},{code:16,name:"viewDirection",parser:b},{code:15,name:"gridSpacing",parser:b},{code:14,name:"snapSpacing",parser:b},{code:13,name:"snapBase",parser:b},{code:12,name:"displayCenter",parser:b},{code:69,name:"viewportId",parser:l},{code:68,name:"status",parser:l},{code:41,name:"height",parser:l},{code:40,name:"width",parser:l},{code:10,name:"viewportCenter",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class Xn{parseEntity(e,t){let i={};return T(Wu)(t,e,i),i}}function $h(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}(vs="ForEntityName")in Xn?Object.defineProperty(Xn,vs,{value:"VIEWPORT",enumerable:!0,configurable:!0,writable:!0}):Xn[vs]="VIEWPORT";let Gu={brightness:50,constrast:50,fade:0},Uu=[{code:14,name:"boundary",isMultiple:!0,parser:b},{code:91,name:"numberOfVertices",parser:l},{code:71,name:"boundaryType",parser:l},{code:360,name:"imageDefReactorHardId",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipping",parser:E},{code:70,name:"displayFlag",parser:l},{code:340,name:"imageDefHardId",parser:l},{code:13,name:"imageSize",parser:b},{code:12,name:"vDirection",parser:b},{code:11,name:"uDirection",parser:b},{code:10,name:"position",parser:b},{code:90,name:"classVersion",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class qh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){$h(this,"parser",T(Uu,Gu))}}$h(qh,"ForEntityName","WIPEOUT");(lt={})[lt.ShowImage=1]="ShowImage",lt[lt.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",lt[lt.UseClippingBoundary=4]="UseClippingBoundary",lt[lt.Transparency=8]="Transparency";function Kh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let $u=[{code:11,name:"direction",parser:b},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Zh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Kh(this,"parser",T($u))}}Kh(Zh,"ForEntityName","XLINE");let qu=0;function Qh(n){if(!n)throw TypeError("entity cannot be undefined or null");n.handle||(n.handle=qu++)}let Ku=Object.fromEntries([zl,vn,ql,Jl,th,nh,Cn,rh,oh,uh,ph,yh,fh,wh,On,Lh,Ah,Zl,Ph,Th,Ch,Nh,Yh,Rh,Fh,Vh,Hh,Wh,Yn,Ul,Uh,ch,Yr,Xn,qh,Zh].map(n=>[n.ForEntityName,new n]));function Jh(n,e){let t=[];for(;!O(n,0,"EOF");){if(n.code===0){if(n.value==="ENDBLK"||n.value==="ENDSEC"){e.rewind();break}let i=Ku[n.value];if(i){let s=n.value;n=e.next();let r=i.parseEntity(e,n);r.type=s,Qh(r),t.push(r)}else e.debug}n=e.next()}return t}function vi(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class za{next(){if(!this.hasNext())return this._eof?this.debug:this.debug,{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),t=Ha(e,this._data[this._pointer++],this.debug),i={code:e,value:t};return O(i,0,"EOF")&&(this._eof=!0),this.lastReadGroup=i,i}peek(){if(!this.hasNext())throw this._eof?Error("Cannot call 'next' after EOF group has been read"):Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=Ha(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,t=!1){vi(this,"_data",void 0),vi(this,"debug",void 0),vi(this,"_pointer",void 0),vi(this,"_eof",void 0),vi(this,"lastReadGroup",void 0),this._data=e,this.debug=t,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function Ha(n,e,t=!1){var i;let s=(i=e).endsWith("\r")?i.slice(0,-1):i;return n<=9?s:n>=10&&n<=59?parseFloat(e.trim()):n>=60&&n<=99?parseInt(e.trim()):n>=100&&n<=109?s:n>=110&&n<=149?parseFloat(e.trim()):n>=160&&n<=179?parseInt(e.trim()):n>=210&&n<=239?parseFloat(e.trim()):n>=270&&n<=289?parseInt(e.trim()):n>=290&&n<=299?function(r){if(r==="0")return!1;if(r==="1")return!0;throw TypeError("String '"+r+"' cannot be cast to Boolean type")}(e.trim()):n>=300&&n<=369?s:n>=370&&n<=389?parseInt(e.trim()):n>=390&&n<=399?s:n>=400&&n<=409?parseInt(e.trim()):n>=410&&n<=419?s:n>=420&&n<=429?parseInt(e.trim()):n>=430&&n<=439?s:n>=440&&n<=459?parseInt(e.trim()):n>=460&&n<=469?parseFloat(e.trim()):n>=470&&n<=481||n===999||n>=1e3&&n<=1009?s:n>=1010&&n<=1059?parseFloat(e.trim()):n>=1060&&n<=1071?parseInt(e.trim()):s}function Zu(n,e){let t=null,i={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");)n.code===9?t=typeof n.value=="string"?n.value:null:t!=null&&(n.code===10?i[t]=Ct(e):i[t]=n.value),n=e.next();return i}let ft=[{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,isMultiple:!0,parser(n,e){for(;!O(n,0,"EOF")&&!O(n,102,"}");)n=e.next()}},{code:5,name:"handle",parser:l}],Qu=[{code:70,name:"flag",parser:l},{code:2,name:"appName",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],Ju=T(Qu),eg=T([{code:310,name:"bmpPreview",parser:l},{code:281,name:"scalability",parser:l},{code:280,name:"explodability",parser:l},{code:70,name:"insertionUnits",parser:l},{code:340,name:"layoutObjects",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),tg=T([...Or.map(n=>({...n,parser:l})),{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},{code:105,name:"handle",parser:l},...ft.filter(n=>n.code!==5)]),ig=T([{code:347,name:"materialObjectId",parser:l},{code:390,name:"plotStyleNameObjectId",parser:l},{code:370,name:"lineweight",parser:l},{code:290,name:"isPlotting",parser:E},{code:6,name:"lineType",parser:l},{code:62,name:"colorIndex",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),ng=T([{code:9,name:"text",parser:l},{code:45,name:"offsetY",parser:l},{code:44,name:"offsetX",parser:l},{code:50,name:"rotation",parser:l},{code:46,name:"scale",parser:l},{code:340,name:"styleObjectId",parser:l},{code:75,name:"shapeNumber",parser:l},{code:74,name:"elementTypeFlag",parser:l},{code:49,name:"elementLength",parser:l}],{elementTypeFlag:0,elementLength:0}),sg=T([{code:49,name:"pattern",parser(n,e){let t={};return ng(n,e,t),t},isMultiple:!0},{code:40,name:"totalPatternLength",parser:l},{code:73,name:"numberOfLineTypes",parser:l},{code:72,parser:l},{code:3,name:"description",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),rg=T([{code:1e3,name:"extendedFont",parser:l},{code:1001},{code:4,name:"bigFont",parser:l},{code:3,name:"font",parser:l},{code:42,name:"lastHeight",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:50,name:"obliqueAngle",parser:l},{code:41,name:"widthFactor",parser:l},{code:40,name:"fixedTextHeight",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),ag=[{code:13,name:"orthographicOrigin",parser:b},{code:71,name:"orthographicType",parser:l},{code:346,name:"baseUcsHandle",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"isOrthographic",parser:E},{code:12,name:"yAxis",parser:b},{code:11,name:"xAxis",parser:b},{code:10,name:"origin",parser:b},{code:70,name:"flag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],og=T(ag),lg=[{code:346,name:"baseUcsId",parser:l},{code:345,name:"ucsId",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:361,name:"sunHardId",parser:l},{code:348,name:"styleHardId",parser:l},{code:334,name:"liveSectionSoftId",parser:l},{code:332,name:"backgroundSoftId",parser:l},{code:73,name:"isPlottable",parser:E},{code:72,name:"isUcsAssociated",parser:E},{code:281,name:"renderMode",parser:l},{code:71,name:"viewMode",parser:l},{code:50,name:"twistAngle",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:12,name:"target",parser:b},{code:11,name:"direction",parser:b},{code:10,name:"center",parser:b},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:70,name:"flag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],hg=T(lg),cg=T([{code:[63,421,431],name:"ambientColor",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLightingOn",parser:E},{code:348,name:"visualStyleObjectId",parser:l},{code:333,name:"shadePlotObjectId",parser:l},{code:332,name:"backgroundObjectId",parser:l},{code:61,name:"majorGridLines",parser:l},{code:170,name:"shadePlotSetting",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:74,name:"ucsIconSetting",parser:l},{code:71,name:"viewMode",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"styleSheet",parser:l},{code:[331,441],name:"frozenLayers",parser:l,isMultiple:!0},{code:72,name:"circleSides",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapRotationAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:17,name:"viewTarget",parser:b},{code:16,name:"viewDirectionFromTarget",parser:b},{code:15,name:"gridSpacing",parser:b},{code:14,name:"snapSpacing",parser:b},{code:13,name:"snapBasePoint",parser:b},{code:12,name:"center",parser:b},{code:11,name:"upperRightCorner",parser:b},{code:10,name:"lowerLeftCorner",parser:b},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),dg={APPID:Ju,BLOCK_RECORD:eg,DIMSTYLE:tg,LAYER:ig,LTYPE:sg,STYLE:rg,UCS:og,VIEW:hg,VPORT:cg},ug=T([{code:70,name:"maxNumberOfEntries",parser:l},{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:360,isMultiple:!0},{code:5,name:"handle",parser:l},{code:2,name:"name",parser:l}]);function gg(n,e){var i;let t={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");){if(O(n,0,"TABLE")){n=e.next();let s={entries:[]};ug(n,e,s),t[s.name]=s}if(O(n,0)&&!O(n,0,"ENDTAB")){let s=n.value;n=e.next();let r=dg[s];if(!r){e.debug,n=e.next();continue}let a={};r(n,e,a),(i=t[s])==null||i.entries.push(a)}n=e.next()}return t}function pg(n,e){let t={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");){if(O(n,0,"BLOCK")){let i=mg(n=e.next(),e);Qh(i),i.name&&(t[i.name]=i)}n=e.next()}return t}function mg(n,e){let t={};for(;!O(n,0,"EOF");){if(O(n,0,"ENDBLK")){for(n=e.next();!O(n,0,"EOF");){if(O(n,100,"AcDbBlockEnd"))return t;n=e.next()}break}switch(n.code){case 1:t.xrefPath=n.value;break;case 2:t.name=n.value;break;case 3:t.name2=n.value;break;case 5:t.handle=n.value;break;case 8:t.layer=n.value;break;case 10:t.position=Ct(e);break;case 67:t.paperSpace=!!n.value&&n.value==1;break;case 70:n.value!==0&&(t.type=n.value);break;case 100:break;case 330:t.ownerHandle=n.value;break;case 0:t.entities=Jh(n,e)}n=e.next()}return t}let xt=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:5,name:"handle",parser:l}],ec=[{code:333,name:"shadePlotId",parser:l},{code:149,name:"imageOriginY",parser:l},{code:148,name:"imageOriginX",parser:l},{code:147,name:"scaleFactor",parser:l},{code:78,name:"shadePlotCustomDPI",parser:l},{code:77,name:"shadePlotResolution",parser:l},{code:76,name:"shadePlotMode",parser:l},{code:75,name:"standardScaleType",parser:l},{code:7,name:"currentStyleSheet",parser:l},{code:74,name:"plotType",parser:l},{code:73,name:"plotRotation",parser:l},{code:72,name:"plotPaperUnit",parser:l},{code:70,name:"layoutFlag",parser:l},{code:143,name:"printScaleDenominator",parser:l},{code:142,name:"printScaleNumerator",parser:l},{code:141,name:"windowAreaYMax",parser:l},{code:140,name:"windowAreaXMax",parser:l},{code:49,name:"windowAreaYMin",parser:l},{code:48,name:"windowAreaXMin",parser:l},{code:47,name:"plotOriginY",parser:l},{code:46,name:"plotOriginX",parser:l},{code:45,name:"paperHeight",parser:l},{code:44,name:"paperWidth",parser:l},{code:43,name:"marginTop",parser:l},{code:42,name:"marginRight",parser:l},{code:41,name:"marginBottom",parser:l},{code:40,name:"marginLeft",parser:l},{code:6,name:"plotViewName",parser:l},{code:4,name:"paperSize",parser:l},{code:2,name:"configName",parser:l},{code:1,name:"pageSetupName",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],yg=[{code:346,name:"orthographicUcsId",parser:l},{code:345,name:"namedUcsId",parser:l},{code:331,name:"viewportId",parser:l},{code:330,name:"paperSpaceTableId",parser:l},{code:76,name:"orthographicType",parser:l},{code:17,name:"ucsYAxis",parser:b},{code:16,name:"ucsXAxis",parser:b},{code:13,name:"ucsOrigin",parser:b},{code:146,name:"elevation",parser:l},{code:15,name:"maxExtent",parser:b},{code:14,name:"minExtent",parser:b},{code:12,name:"insertionPoint",parser:b},{code:11,name:"maxLimit",parser:b},{code:10,name:"minLimit",parser:b},{code:71,name:"tabOrder",parser:l},{code:70,name:"controlFlag",parser:l},{code:1,name:"layoutName",parser:l},{code:100,name:"subclassMarker",parser:l},...ec],_g=[{code:3,name:"entries",parser:(n,e)=>{let t={name:n.value};return(n=e.next()).code===350?t.objectSoftId=n.value:n.code===360?t.objectHardId=n.value:e.rewind(),t},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:l},{code:280,name:"isHardOwned",parser:E},{code:100,name:"subclassMarker",parser:l},...xt],fg=[{code:40,name:"wcsToOCSTransform",parser:ja},{code:40,name:"ocsToWCSTransform",parser:ja},{code:41,name:"backClippingDistance",parser:l},{code:73,name:"isBackClipping",parser:E,pushContext:!0},{code:40,name:"frontClippingDistance",parser:l},{code:72,name:"isFrontClipping",parser:E,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:E},{code:11,name:"position",parser:b},{code:210,name:"normal",parser:b},{code:10,name:"boundaryVertices",parser:b,isMultiple:!0},{code:70,name:"boundaryCount",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...xt];function ja(n,e){let t=[];for(let i=0;i<3&&O(n,40);++i){let s=[];for(let r=0;r<4&&O(n,40);++r)s.push(n.value),n=e.next();t.push(s)}return e.rewind(),t}let xg=[{code:330,name:"imageDefReactorIdSoft",isMultiple:!0,parser:l},{code:90,name:"version",parser:l},{code:1,name:"fileName",parser:l},{code:10,name:"size",parser:b},{code:11,name:"sizeOfOnePixel",parser:b},{code:280,name:"isLoaded",parser:l},{code:281,name:"resolutionUnits",parser:l},{code:100,name:"subclassMarker",parser:l}],wg=[{code:179,name:"unknown1",parser:l},{code:170,name:"contentType",parser:l},{code:171,name:"drawMLeaderOrderType",parser:l},{code:172,name:"drawLeaderOrderType",parser:l},{code:90,name:"maxLeaderSegmentPoints",parser:l},{code:40,name:"firstSegmentAngleConstraint",parser:l},{code:41,name:"secondSegmentAngleConstraint",parser:l},{code:173,name:"leaderLineType",parser:l},{code:91,name:"leaderLineColor",parser:l},{code:340,name:"leaderLineTypeId",parser:l},{code:92,name:"leaderLineWeight",parser:l},{code:290,name:"landingEnabled",parser:E},{code:42,name:"landingGap",parser:l},{code:291,name:"doglegEnabled",parser:E},{code:43,name:"doglegLength",parser:l},{code:3,name:"description",parser:l},{code:341,name:"arrowheadId",parser:l},{code:44,name:"arrowheadSize",parser:l},{code:300,name:"defaultMTextContents",parser:l},{code:342,name:"textStyleId",parser:l},{code:174,name:"textLeftAttachmentType",parser:l},{code:175,name:"textAngleType",parser:l},{code:176,name:"textAlignmentType",parser:l},{code:178,name:"textRightAttachmentType",parser:l},{code:93,name:"textColor",parser:l},{code:45,name:"textHeight",parser:l},{code:292,name:"textFrameEnabled",parser:E},{code:297,name:"textAlignAlwaysLeft",parser:E},{code:46,name:"alignSpace",parser:l},{code:343,name:"blockContentId",parser:l},{code:94,name:"blockContentColor",parser:l},{code:47,name:"blockContentScale.x",parser:l},{code:49,name:"blockContentScale.y",parser:l},{code:140,name:"blockContentScale.z",parser:l},{code:293,name:"blockContentScaleEnabled",parser:E},{code:141,name:"blockContentRotation",parser:l},{code:294,name:"blockContentRotationEnabled",parser:E},{code:177,name:"blockContentConnectionType",parser:l},{code:142,name:"scale",parser:l},{code:295,name:"overwritePropertyValue",parser:E},{code:296,name:"annotative",parser:E},{code:143,name:"breakGapSize",parser:l},{code:271,name:"textAttachmentDirection",parser:l},{code:272,name:"bottomTextAttachmentDirection",parser:l},{code:273,name:"topTextAttachmentDirection",parser:l},{code:298,name:"unknown2",parser:l},{code:100,name:"subclassMarker",parser:l},...xt];function Pn(n,e,t){n.elements||(n.elements=[]);let i=n.elements.find(s=>s[e]===void 0);if(i){i[e]=t;return}n.elements.push({[e]:t})}let bg=[{code:6,parser:function({value:n},e,t){Pn(t,"lineType",n)},isMultiple:!0},{code:62,parser:function({value:n},e,t){var i;if(t.fillColorIndex===void 0&&!((i=t.elements)!=null&&i.length)){t.fillColorIndex=n;return}Pn(t,"colorIndex",n)},isMultiple:!0},{code:420,parser:function({value:n},e,t){var i;if(t.fillColor===void 0&&!((i=t.elements)!=null&&i.length)){t.fillColor=n;return}Pn(t,"color",n)},isMultiple:!0},{code:49,parser:function({value:n},e,t){Pn(t,"offset",n)},isMultiple:!0},{code:71,name:"elementCount",parser:l},{code:52,name:"endAngle",parser:l},{code:51,name:"startAngle",parser:l},{code:3,name:"description",parser:l},{code:70,name:"flags",parser:l},{code:2,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Lg=[{code:340,name:"entityIds",parser:l,isMultiple:!0},{code:71,name:"isSelectable",parser:E},{code:70,name:"isUnnamed",parser:E},{code:300,name:"description",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Sg=[{code:8,name:"layerNames",parser:l,isMultiple:!0},{code:100,name:"subclassMarker",parser:l},{code:100,name:"filterSubclassMarker",parser:l},...xt],Ag=[{code:90,name:"idBufferEntryCounts",parser:l,isMultiple:!0},{code:360,name:"idBufferIds",parser:l,isMultiple:!0},{code:8,name:"layerNames",parser:l,isMultiple:!0},{code:100,name:"subclassMarker",parser:l},{code:40,name:"timeStamp",parser:l},{code:100,name:"indexSubclassMarker",parser:l},...xt],Ig=[{code:75,name:"hasLastPointRef",parser:E},{code:1,name:"pointRefs",parser:function(n,e){let t={className:n.value};for(;;)switch((n=e.next()).code){case 72:t.objectOsnapType=n.value;continue;case 331:t.mainObjectId=n.value;continue;case 73:t.mainObjectSubentityType=n.value;continue;case 91:t.mainObjectGsMarker=n.value;continue;case 301:t.mainObjectXrefHandle=n.value;continue;case 40:t.nearOsnapGeometryParameter=n.value;continue;case 10:{let i=b(n,e);t.osnapPoint="z"in i?i:{...i,z:0}}continue;case 332:t.intersectionObjectId=n.value;continue;case 74:t.intersectionObjectSubentityType=n.value;continue;case 92:t.intersectionObjectGsMarker=n.value;continue;case 302:t.intersectionObjectXrefHandle=n.value;continue;default:return e.rewind(),t}},isMultiple:!0},{code:71,name:"rotatedDimensionType",parser:l},{code:70,name:"transSpaceFlag",parser:E},{code:90,name:"associativityFlag",parser:l},{code:330,name:"dimensionObjectId",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Pg={LAYOUT:yg,PLOTSETTINGS:ec,DICTIONARY:_g,SPATIAL_FILTER:fg,IMAGEDEF:xg,MLEADERSTYLE:wg,MLINESTYLE:bg,GROUP:Lg,LAYER_FILTER:Sg,LAYER_INDEX:Ag,DIMASSOC:Ig};function Eg(n,e){let t=[];for(;n.code!==0||!["EOF","ENDSEC"].includes(n.value);){let i=n.value,s=Pg[i];if(n.code===0&&(s!=null&&s.length)){let r=T(s),a={name:i};r(n=e.next(),e,a)?(t.push(a),n=e.peek()):n=e.next()}else n=e.next()}return{byName:Yd(t,({name:i})=>i)}}function Hi(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class Tg{constructor(){Hi(this,"encoding","utf-8"),Hi(this,"encodingFailureFatal",!1),Hi(this,"thumbnailImageFormat","base64")}}class Mg extends EventTarget{parseSync(e,t=!1){let i=new za(e.split(/\r\n|\r|\n/g),t);if(!i.hasNext())throw Error("Empty file");return this.parseAll(i)}parseStream(e){let t="",i=this;return new Promise((s,r)=>{e.on("data",a=>{t+=a}),e.on("end",()=>{try{let a=t.split(/\r\n|\r|\n/g),o=new za(a);if(!o.hasNext())throw Error("Empty file");s(i.parseAll(o))}catch(a){r(a)}}),e.on("error",a=>{r(a)})})}async parseFromUrl(e,t){let i=await fetch(e,t);if(!i.body)return null;let s=i.body.getReader(),r="";for(;;){let{done:a,value:o}=await s.read();if(a){r+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}r+=this._decoder.decode(o,{stream:!0})}return this.parseSync(r)}parseAll(e){let t={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},i=e.next();for(;!O(i,0,"EOF");)O(i,0,"SECTION")&&(O(i=e.next(),2,"HEADER")?t.header=Zu(i=e.next(),e):O(i,2,"CLASSES")?wd(i=e.next(),e,t):O(i,2,"BLOCKS")?t.blocks=pg(i=e.next(),e):O(i,2,"ENTITIES")?t.entities=Jh(i=e.next(),e):O(i,2,"TABLES")?t.tables=gg(i=e.next(),e):O(i,2,"OBJECTS")?t.objects=Eg(i=e.next(),e):O(i,2,"THUMBNAILIMAGE")&&(t.thumbnailImage=function(s,r,a="base64"){let o,h="",c=0;for(;!O(s,0,"EOF")&&!O(s,0,"ENDSEC");)s.code===90?c=s.value:s.code===310&&(h+=s.value),s=r.next();if(a==="hex")o=h;else{let d=function(u){let p=u.length/2,g=new Uint8Array(p);for(let m=0;m<p;m++)g[m]=parseInt(u.substr(2*m,2),16);return g}(h);o=a==="buffer"?d:function(u){let p="";for(let g=0;g<u.length;g++)p+=String.fromCharCode(u[g]);return btoa(p)}(d)}return{size:c,data:o}}(i=e.next(),e,this._options.thumbnailImageFormat))),i=e.next();return t}constructor(e={}){super(),Hi(this,"_decoder",void 0),Hi(this,"_options",void 0);let t=new Tg;this._options=Object.assign(t,e),this._decoder=new TextDecoder(this._options.encoding,{fatal:this._options.encodingFailureFatal})}}(Ee={})[Ee.NOT_APPLICABLE=0]="NOT_APPLICABLE",Ee[Ee.KEEP_EXISTING=1]="KEEP_EXISTING",Ee[Ee.USE_CLONE=2]="USE_CLONE",Ee[Ee.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",Ee[Ee.VALUE_NAME=4]="VALUE_NAME",Ee[Ee.UNMANGLE_NAME=5]="UNMANGLE_NAME";(qt={})[qt.NOUNIT=0]="NOUNIT",qt[qt.CENTIMETERS=2]="CENTIMETERS",qt[qt.INCH=5]="INCH";(Ci={})[Ci.PSLTSCALE=1]="PSLTSCALE",Ci[Ci.LIMCHECK=2]="LIMCHECK";(Kt={})[Kt.INCHES=0]="INCHES",Kt[Kt.MILLIMETERS=1]="MILLIMETERS",Kt[Kt.PIXELS=2]="PIXELS";(Te={})[Te.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",Te[Te.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",Te[Te.DRAWING_LIMITS=2]="DRAWING_LIMITS",Te[Te.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",Te[Te.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",Te[Te.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION";(ht={})[ht.AS_DISPLAYED=0]="AS_DISPLAYED",ht[ht.WIREFRAME=1]="WIREFRAME",ht[ht.HIDDEN=2]="HIDDEN",ht[ht.RENDERED=3]="RENDERED";(Me={})[Me.DRAFT=0]="DRAFT",Me[Me.PREVIEW=1]="PREVIEW",Me[Me.NORMAL=2]="NORMAL",Me[Me.PRESENTATION=3]="PRESENTATION",Me[Me.MAXIMUM=4]="MAXIMUM",Me[Me.CUSTOM=5]="CUSTOM";(ct={})[ct.NONE=0]="NONE",ct[ct.AbsoluteRotation=1]="AbsoluteRotation",ct[ct.TextEmbedded=2]="TextEmbedded",ct[ct.ShapeEmbedded=4]="ShapeEmbedded";(Ns={})[Ns.PaperSpace=1]="PaperSpace";(Zt={})[Zt.XrefDependent=16]="XrefDependent",Zt[Zt.XrefResolved=32]="XrefResolved",Zt[Zt.Referenced=64]="Referenced";(ke={})[ke.Off=0]="Off",ke[ke.Perspective=1]="Perspective",ke[ke.ClipFront=2]="ClipFront",ke[ke.ClipBack=4]="ClipBack",ke[ke.UcsFollow=8]="UcsFollow",ke[ke.ClipFrontByFrontZ=16]="ClipFrontByFrontZ";class kg{parse(e){const t=new Mg,i=this.getDxfInfoFromBuffer(e);let s="";return i.version&&i.version.value<=23&&i.encoding?s=new TextDecoder(i.encoding).decode(e):s=new TextDecoder().decode(e),t.parseSync(s)}getDxfInfoFromBuffer(e){var c,d,u;const i=new TextDecoder("utf-8");let s=0,r="",a=null,o=null,h=!1;for(;s<e.byteLength;){const p=Math.min(s+65536,e.byteLength),g=e.slice(s,p);s=p;const y=(r+i.decode(g,{stream:!0})).split(/\r?\n/);r=y.pop()??"";for(let _=0;_<y.length;_++){const f=y[_].trim();if(f==="SECTION"&&((c=y[_+2])==null?void 0:c.trim())==="HEADER")h=!0;else if(f==="ENDSEC"&&h)return{version:a,encoding:o};if(h&&f==="$ACADVER"){const S=(d=y[_+2])==null?void 0:d.trim();S&&(a=new ve(S))}else if(h&&f==="$DWGCODEPAGE"){const S=(u=y[_+2])==null?void 0:u.trim();if(S){const L=or[S];o=oo(L)}}if(a&&o)return{version:a,encoding:o}}}return{version:a,encoding:o}}}class Wa{convert(e){const t=this.createEntity(e);return t&&this.processCommonAttrs(e,t),t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POLYLINE"?this.convertPolyline(e):e.type=="POINT"?this.convertPoint(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):null}convertFace(e){const t=new Wn;return e.vertices.forEach((i,s)=>t.setVertexAt(s,i)),t}convertArc(e){const t=e.extrusionDirection??x.Z_AXIS;return new Dn(Ws(e.center,t),e.radius,k.degToRad(e.startAngle),k.degToRad(e.endAngle),t)}convertAttributeCommon(e,t){t.textString=e.text,t.height=e.textHeight,t.position.copy(e.startPoint);const i=e.alignmentPoint,s=!i||i.x===0&&i.y===0&&(i.z??0)===0;i&&!s?t.alignmentPoint.copy(i):t.alignmentPoint.copy(e.startPoint),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.tag=e.tag,t.fieldLength=0,t.isInvisible=(e.attributeFlag&ne.Invisible)!==0,t.isConst=(e.attributeFlag&ne.Const)!==0,t.isVerifiable=(e.attributeFlag&ne.Verifiable)!==0,t.isPreset=(e.attributeFlag&ne.Preset)!==0,t.isReallyLocked=!!e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&We.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&We.ConstMultiLine)!==0}convertAttribute(e){const t=new zn;return this.convertAttributeCommon(e,t),t.styleName=e.textStyle,t.horizontalMode=e.horizontalJustification,t.verticalMode=e.verticalJustification,t.widthFactor=e.scale??1,t.lockPositionInBlock=e.lockPositionFlag,t}convertAttributeDefinition(e){const t=new Vn;return this.convertAttributeCommon(e,t),t.styleName=e.styleName,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t.prompt=e.prompt,t}convertCirle(e){const t=e.extrusionDirection??x.Z_AXIS;return new Hn(Ws(e.center,t),e.radius,t)}convertEllipse(e){const t=new x(e.majorAxisEndPoint),i=t.length();return new jn(e.center,e.extrusionDirection??x.Z_AXIS,t,i,i*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,i=e.endPoint;return new Ki(new w(t.x,t.y,t.z||0),new w(i.x,i.y,i.z||0))}convertSpline(e){try{if(e.numberOfControlPoints>0&&e.numberOfKnots>0)return new Qi(e.controlPoints,e.knots,e.weights,e.degree,!!(e.flag&1));if(e.numberOfFitPoints>0)return new Qi(e.fitPoints,"Uniform",e.degree,!!(e.flag&1))}catch{}return null}convertPoint(e){const t=new Qn;return t.position=e.position,t}convertSolid(e){const t=new Kn;return e.points.forEach((i,s)=>t.setPointAt(s,i)),t.thickness=e.thickness,t}convertPolyline(e){var d;const t=!!(e.flag&1),i=!!(e.flag&8),s=!!(e.flag&16),r=!!(e.flag&64),a=!!(e.flag&32),o=[],h=[],c=[];if((d=e.vertices)==null||d.map(u=>{u.flag&ju.SPLINE_CONTROL_POINT||(r&&u.flag&128?u.flag&64?(o.push({x:u.x,y:u.y,z:u.z}),h.push(u.bulge??0)):u.faces&&u.faces.length>=3&&c.push([...u.faces]):(o.push({x:u.x,y:u.y,z:u.z}),h.push(u.bulge??0)))}),s){const u=e.meshMVertexCount,p=e.meshNVertexCount;return new ns(u,p,o,t,a)}else{if(r)return new ss(o,c);if(i){let u=Di.SimplePoly;return e.flag&4&&(e.smoothType==In.CUBIC?u=Di.CubicSplinePoly:e.smoothType==In.QUADRATIC&&(u=Di.QuadSplinePoly)),new Fn(u,o,t)}else{let u=hi.SimplePoly;return e.flag&2?u=hi.FitCurvePoly:e.flag&4&&(e.smoothType==In.CUBIC?u=hi.CubicSplinePoly:e.smoothType==In.QUADRATIC&&(u=hi.QuadSplinePoly)),new Bn(u,o,0,t,e.startWidth,e.endWidth,h)}}}convertLWPolyline(e){var s;const t=new Zn;t.closed=!!(e.flag&1);const i=e.constantWidth??-1;return(s=e.vertices)==null||s.forEach((r,a)=>{t.addVertexAt(a,new v(r.x,r.y),r.bulge,r.startWidth??i,r.endWidth??i)}),t}convertHatch(e){var s;const t=new qi;if((s=e.definitionLines)==null||s.forEach(r=>{t.definitionLines.push({angle:k.degToRad(r.angle||0),base:r.base,offset:r.offset,dashLengths:r.numberOfDashLengths>0?r.dashLengths:[]})}),t.isSolidFill=e.solidFill==ud.SolidFill,t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:k.degToRad(e.patternAngle),t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(r=>{if(r.boundaryPathTypeFlag&2){const o=r,h=new ce;h.closed=o.isClosed,o.vertices.forEach((c,d)=>{h.addVertexAt(d,{x:c.x,y:c.y,bulge:c.bulge})}),t.add(h)}else{const o=r,h=[];o.edges.forEach(d=>{if(d.type==1){const u=d;h.push(new Ge(u.start,u.end))}else if(d.type==2){const u=d;h.push(new Mt(u.center,u.radius,k.degToRad(u.startAngle||0),k.degToRad(u.endAngle||0),!u.isCCW))}else if(d.type==3){const u=d;new K().subVectors(u.end,u.center);const g=Math.sqrt(Math.pow(u.end.x,2)+Math.pow(u.end.y,2)),m=g*u.lengthOfMinorAxis;let y=k.degToRad(u.startAngle||0),_=k.degToRad(u.endAngle||0);const f=Math.atan2(u.end.y,u.end.x);u.isCCW||(y=Math.PI*2-y,_=Math.PI*2-_),h.push(new Ui({...u.center,z:0},g,m,y,_,!u.isCCW,f))}else if(d.type==4){const u=d;if(u.numberOfControlPoints>0&&u.numberOfKnots>0){const p=u.controlPoints.map(y=>({x:y.x,y:y.y,z:0}));let g=!0;const m=u.controlPoints.map(y=>(y.weight==null&&(g=!1),y.weight||1));h.push(new Ue(p,u.knots,g?m:void 0))}else if(u.numberOfFitData>0){const p=u.fitDatum.map(g=>({x:g.x,y:g.y,z:0}));h.push(new Ue(p,"Uniform"))}}});const c=$i.buildFromEdges(h);c.length==0&&h.length>0?t.add(new $i(h)):c.forEach(d=>t.add(d))}}),e.gradientFlag){const r=e;if(t.hatchObjectType=Sr.GradientObject,t.gradientName=r.gradientName,t.gradientAngle=r.gradientRotation??0,t.gradientShift=r.gradientDefinition??0,t.gradientOneColorMode=r.gradientColorFlag==1,t.shadeTintValue=r.colorTint??0,r.gradientColors){const a=r.gradientColors.length;a>1?(t.gradientStartColor=r.gradientColors[0].rgb,t.gradientEndColor=r.gradientColors[1].rgb):a>0&&(t.gradientStartColor=r.gradientColors[0].rgb)}}return t}convertTable(e){const t=new qn(e.name,e.rowCount,e.columnCount);return t.tableDataVersion=e.version,t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new x(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((i,s)=>t.setColumnWidth(s,i)),e.rowHeightArr.forEach((i,s)=>t.setRowHeight(s,i)),e.cells.forEach((i,s)=>{t.setCell(s,i)}),t}convertText(e){const t=new pi;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const i=e.endPoint,s=!i||i.x===0&&i.y===0&&(i.z??0)===0;return i&&!s?t.alignmentPoint.copy(i):t.alignmentPoint.copy(e.startPoint),t.rotation=k.degToRad(e.rotation||0),t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertMText(e){const t=new Zi;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.height,t.width=e.width,t.rotation=k.degToRad(e.rotation||0),t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new x(e.direction)),t.drawingDirection=e.drawingDirection,t}convertLeader(e){var i;const t=new Gn;return(i=e.vertices)==null||i.forEach(s=>{t.appendVertex(s)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,t.textHeight=e.textHeight??0,t.textWidth=e.textWidth??0,t.byBlockColor=e.byBlockColor,t.associatedAnnotation=e.associatedAnnotation??"",e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new Un;return t.styleName=e.name||"STANDARD",t.styleObjectHandle=e.styleObjectHandle,t.scale=e.scale,t.justification=e.justification,t.flags=e.flags,t.styleCount=e.styleCount,t.startPosition=e.startPosition,t.normal=e.extrusionDirection??x.Z_AXIS,t.segments=(e.segments??[]).map(i=>{var s;return{position:i.position,direction:i.direction,miterDirection:i.miterDirection,elements:((s=i.elements)==null?void 0:s.map(r=>({parameterCount:r.parameterCount,parameters:r.parameters??[],fillCount:r.fillCount,fillParameters:r.fillParameters??[]})))??[]}}),t}convertMLeader(e){var L,M;const t=new $n,i=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??gi.StraightLeader,t.leaderLineColor=e.leaderLineColor,t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,t.textColor=e.textColor,t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,t.blockContentId=e.blockContentId,t.blockContentColor=e.blockContentColor,t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(I=>({...I})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(I=>({...I})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,t.textBackgroundColor=e.textBackgroundColor,t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new x(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new w().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new w().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new w().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new x(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new x(e.planeYAxisDirection));const s=i.textContent,r=s&&typeof s=="object"?s:void 0,a=typeof s=="string"&&s.length>0||this.readString(r??{},["text","contents"])!=null||this.readString(i,["text","contents","mtext"])!=null,o=e.contentType??(a?mt.MTextContent:e.blockContent?mt.BlockContent:mt.NoneContent);t.contentType=o;const h=this.readPoint(i,["normal","extrusionDirection"]);h&&(t.normal=h);const c=this.readString(r??{},["styleName","textStyleName","textStyle"])??this.readString(i,["textStyleName","textStyle","styleName","textStyleId"]);c&&(t.textStyleName=c);const d=this.readPositiveNumber(r??{},["textHeight","height"])??this.readPositiveNumber(i,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(i,["arrowheadSize","contentScale"]);d!=null&&(t.textHeight=d);const u=this.readPositiveNumber(r??{},["textWidth","width"])??this.readPositiveNumber(i,["textWidth","mtextWidth","textContentWidth"]);u!=null&&(t.textWidth=u),t.textLineSpacingFactor=this.readNumber(r??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(i,["textLineSpacingFactor"])??t.textLineSpacingFactor;const p=this.readNumber(r??{},["textRotation","rotation"])??this.readNumber(i,["textRotation","mtextRotation","textContentRotation"]);p!=null&&(t.textRotation=k.degToRad(p));const g=this.readPoint(i,["textDirection","mtextDirection","textDirectionVector"]);g&&(t.textDirection=g);const m=this.readNumber(i,["textAttachmentPoint","attachmentPoint"]);m!=null&&(t.textAttachmentPoint=m);const y=e.textAttachmentDirection;y!=null&&(t.textAttachmentDirection=y);const _=this.readNumber(i,["textDrawingDirection","drawingDirection"]);_!=null&&(t.textDrawingDirection=_);const f=typeof s=="string"?s:this.readString(r??{},["text","contents"])??this.readString(i,["text","contents","mtext"]),S=this.readPoint(r??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(i,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(f!=null&&S&&(t.mtextContent={text:f,anchorPoint:S}),e.blockContent){const I=e.blockContent;t.blockContent={blockContentId:e.blockContent.blockContentId,normal:this.readPoint(I,["normal"]),position:e.blockContent.position,scale:this.readPoint(I,["scale"]),rotation:this.readNumber(I,["rotation"]),color:this.readNumber(I,["color"]),transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}else e.blockContentId&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:e.blockContentColor,transformationMatrix:[]});return(L=this.readMLeaderLeaders(i))==null||L.forEach(I=>{t.addLeader({lastLeaderLinePoint:I.lastLeaderLinePoint,lastLeaderLinePointSet:I.lastLeaderLinePointSet,doglegVector:I.doglegVector,doglegVectorSet:I.doglegVectorSet,doglegLength:I.doglegLength??e.doglegLength,breaks:I.breaks,leaderBranchIndex:I.leaderBranchIndex,leaderLines:I.leaderLines})}),t.numberOfLeaders===0&&((M=this.readLeaderLineArray(i))==null||M.forEach(I=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,I)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,i=new en(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(i.dimBlockPosition={...t.insertionPoint,z:0}),i.rotation=k.degToRad(t.rotationAngle||0),this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,i=new cs(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(i.dimBlockPosition={...t.insertionPoint,z:0}),i.rotation=k.degToRad(t.rotationAngle||0),this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,i=new as(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,i=new ls(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,i=new hs(t.definitionPoint,t.subDefinitionPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,i=new os(t.definitionPoint,t.subDefinitionPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,i),i}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.isShownClipped=(e.flags|4)>0,t.isImageShown=(e.flags|3)>0,t.isImageTransparent=(e.flags|8)>0,t.imageDefId=e.imageDefHandle,t.isClipped=e.isClipped,e.clippingBoundaryPath.forEach(i=>{t.clipBoundary.push(new v(i))}),t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new Ji;return this.processImage(e,t),t.clipBoundaryType=e.clippingBoundaryType,t}processWipeout(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.isShownClipped=(e.displayFlag|4)>0,t.isImageShown=(e.displayFlag|3)>0,t.isImageTransparent=(e.displayFlag|8)>0,t.imageDefId=e.imageDefHardId,t.isClipped=e.isClipping,e.boundary.forEach(i=>{t.clipBoundary.push(new v(i))}),t.clipBoundaryType=e.boundaryType,t.width=Math.sqrt(e.uDirection.x**2+e.uDirection.y**2+e.uDirection.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vDirection.x**2+e.vDirection.y**2+e.vDirection.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uDirection.y,e.uDirection.x)}convertWipeout(e){const t=new ts;return this.processWipeout(e,t),t}convertViewport(e){const t=new es;return t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,t}convertRay(e){const t=new Jn;return t.basePoint.copy(e.position),t.unitDir.copy(e.direction),t}convertXline(e){const t=new is;return t.basePoint.copy(e.position),t.unitDir.copy(e.direction),t}convertBlockReference(e){const t=new ni(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale||1,t.scaleFactors.y=e.yScale||1,t.scaleFactors.z=e.zScale||1,t.rotation=e.rotation!=null?k.degToRad(e.rotation):0,t.normal.copy(e.extrusionDirection??{x:0,y:0,z:1}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement,t.normal.copy(e.extrusionDirection??{x:0,y:0,z:1})}processCommonAttrs(e,t){t.layer=e.layer||"0",e.handle&&(t.objectId=e.handle.toString()),t.ownerId=e.ownerBlockRecordSoftId||"",e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null&&t.color.setRGBValue(e.color),e.colorIndex!=null&&(t.color.colorIndex=e.colorIndex),e.colorName&&(t.color.colorName=e.colorName),e.isVisible!=null&&(t.visibility=!e.isVisible),e.transparency!=null&&(t.transparency=J.deserialize(e.transparency))}readNumber(e,t){for(const i of t){const s=e[i];if(typeof s=="number"&&Number.isFinite(s))return s}}readPositiveNumber(e,t){const i=this.readNumber(e,t);return i!=null&&i>0?i:void 0}readString(e,t){for(const i of t){const s=e[i];if(typeof s=="string")return s}}readBoolean(e,t){for(const i of t){const s=e[i];if(typeof s=="boolean")return s;if(typeof s=="number")return s!==0}}readPoint(e,t){for(const i of t){const s=e[i];if(this.isPointLike(s))return s;if(Array.isArray(s)&&typeof s[0]=="number"&&typeof s[1]=="number")return{x:s[0],y:s[1],z:s[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(s=>{if(!s||typeof s!="object")return;const r=s.vertices;return Array.isArray(r)?r.filter(a=>this.isPointLike(a)):void 0}).filter(s=>!!s&&s.length>0);const i=e.vertices;if(Array.isArray(i)){const s=i.filter(r=>this.isPointLike(r));return s.length>0?[s]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const i=[];return t.forEach(s=>{if(!s||typeof s!="object")return;const r=s,a=r.leaderLines,o=Array.isArray(a)?a.reduce((m,y)=>{const _=this.readMLeaderLine(y);return _&&m.push(_),m},[]):void 0,h={},c=this.readPoint(r,["lastLeaderLinePoint"]),d=this.readPoint(r,["doglegVector"]),u=this.readNumber(r,["doglegLength"]),p=this.readMLeaderBreaks(r.breaks),g=this.readNumber(r,["leaderBranchIndex"]);c&&(h.lastLeaderLinePoint=c),r.lastLeaderLinePointSet!=null&&(h.lastLeaderLinePointSet=this.readBoolean(r,["lastLeaderLinePointSet"])),d&&(h.doglegVector=d),r.doglegVectorSet!=null&&(h.doglegVectorSet=this.readBoolean(r,["doglegVectorSet"])),u!=null&&(h.doglegLength=u),p&&(h.breaks=p),g!=null&&(h.leaderBranchIndex=g),o&&(h.leaderLines=o),i.push(h)}),i}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,i=t.vertices,s=Array.isArray(i)?i.filter(h=>this.isPointLike(h)):[],r=this.readMLeaderBreaks(t.breaks),a=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(h=>typeof h=="number"):void 0,o=this.readNumber(t,["leaderLineIndex"]);return s.length>0||r&&r.length>0?{vertices:s,breakPointIndexes:a,leaderLineIndex:o,breaks:r}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(i=>{if(!i||typeof i!="object")return;const s=i,r=this.readPoint(s,["start"]),a=this.readPoint(s,["end"]),o=this.readNumber(s,["index"]);if(!r||!a)return;const h={start:r,end:a};return o!=null&&(h.index=o),h}).filter(i=>!!i);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class Cg{convertLayout(e,t){var r,a;const i=new on;i.layoutName=e.layoutName,i.tabOrder=e.tabOrder,i.plotSettingsName=e.pageSetupName,i.plotCfgName=e.configName,i.canonicalMediaName=e.paperSize,i.plotViewName=e.plotViewName,i.currentStyleSheet=e.currentStyleSheet,i.plotPaperMargins={left:e.marginLeft,right:e.marginRight,top:e.marginTop,bottom:e.marginBottom},i.plotPaperSize.copy({x:e.paperWidth,y:e.paperHeight}),i.plotOrigin.copy({x:e.plotOriginX,y:e.plotOriginY}),i.plotWindowArea.min.copy({x:e.windowAreaXMin,y:e.windowAreaYMin}),i.plotWindowArea.max.copy({x:e.windowAreaXMax,y:e.windowAreaYMax}),i.customPrintScale={numerator:e.printScaleNumerator,denominator:e.printScaleDenominator},i.plotPaperUnits=e.plotPaperUnit,i.plotRotation=e.plotRotation,i.plotType=e.plotType,i.stdScaleType=e.standardScaleType,i.shadePlot=(()=>{switch(e.shadePlotMode){case 1:return ci.kWireframe;case 2:return ci.kHidden;case 3:return ci.kRendered;default:return ci.kAsDisplayed}})(),i.shadePlotResLevel=(()=>{switch(e.shadePlotResolution){case 1:return Lt.kPreview;case 2:return Lt.kNormal;case 3:return Lt.kPresentation;case 4:return Lt.kMaximum;case 5:return Lt.kCustom;default:return Lt.kDraft}})(),e.shadePlotCustomDPI!=null&&(i.shadePlotCustomDPI=e.shadePlotCustomDPI),e.shadePlotId&&(i.shadePlotId=e.shadePlotId);const s=e.layoutFlag??0;if(i.plotViewportBorders=(s&1)!==0,i.showPlotStyles=(s&2)!==0,i.plotCentered=(s&4)!==0,i.plotHidden=(s&8)!==0,i.useStandardScale=(s&16)!==0,i.plotPlotStyles=(s&32)!==0,i.scaleLineweights=(s&64)!==0,i.printLineweights=(s&128)!==0,i.drawViewportsFirst=(s&512)!==0,i.modelType=(s&1024)!==0,e.viewportId&&i.viewportArray.push(e.viewportId),e.layoutName==="Model"){const o=ie.MODEL_SPACE_NAME.toUpperCase();(r=t.tables.BLOCK_RECORD)==null||r.entries.some(h=>h.name.toUpperCase()===o?(i.blockTableRecordId=h.handle,!0):!1)}else(a=t.tables.BLOCK_RECORD)==null||a.entries.some(o=>o.layoutObjects===e.handle?(i.blockTableRecordId=o.handle,!0):!1),i.blockTableRecordId||(i.blockTableRecordId=e.paperSpaceTableId);return e.minLimit&&i.limits.min.copy(e.minLimit),e.maxLimit&&i.limits.max.copy(e.maxLimit),e.minExtent&&i.extents.min.copy(e.minExtent),e.maxExtent&&i.extents.max.copy(e.maxExtent),this.processCommonAttrs(e,i),i}convertImageDef(e){const t=new bl;return t.sourceFileName=e.fileName,this.processCommonAttrs(e,t),t}convertMLeaderStyle(e){const t=new Ar;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=zi(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=zi(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=zi(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertMLineStyle(e){var s;const t=new Ir;if(e.styleName!=null&&(t.styleName=e.styleName),e.flags!=null&&(t.flags=e.flags),e.description!=null&&(t.description=e.description),e.fillColor!=null)t.fillColor=new X().setRGBValue(e.fillColor);else if(e.fillColorIndex!=null){const r=new X;r.colorIndex=e.fillColorIndex,t.fillColor=r}e.startAngle!=null&&(t.startAngle=e.startAngle),e.endAngle!=null&&(t.endAngle=e.endAngle);const i=Math.max(e.elementCount??0,((s=e.elements)==null?void 0:s.length)??0);return i>0&&(t.elements=Array.from({length:i},(r,a)=>{var o,h,c,d;return{offset:((h=(o=e.elements)==null?void 0:o[a])==null?void 0:h.offset)??0,color:(()=>{var p,g,m,y;const u=new X;return((g=(p=e.elements)==null?void 0:p[a])==null?void 0:g.color)!=null?u.setRGBValue(e.elements[a].color):u.colorIndex=((y=(m=e.elements)==null?void 0:m[a])==null?void 0:y.colorIndex)??256,u})(),lineType:((d=(c=e.elements)==null?void 0:c[a])==null?void 0:d.lineType)??"BYLAYER"}})),this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}}class tc{constructor(e){this.taskId=0,this.workers=new Map,this.pendingTasks=new Map,this.config={workerUrl:e.workerUrl,timeout:e.timeout??3e4,maxConcurrentWorkers:e.maxConcurrentWorkers??4}}async execute(e,t){const i=Date.now(),s=this.generateTaskId();try{return await this.executeInWorker(s,e,t||this.config.workerUrl)}catch(r){const a=Date.now()-i;return{success:!1,error:r instanceof Error?r.message:String(r),duration:a}}}async executeInWorker(e,t,i){const s=Date.now();return new Promise((r,a)=>{const o=this.getAvailableWorker(i),h=setTimeout(()=>{this.cleanupTask(e),this.releaseWorker(o),a(new Error(`Worker operation timed out after ${this.config.timeout}ms`))},this.config.timeout);this.pendingTasks.set(e,{resolve:u=>{clearTimeout(h),this.releaseWorker(o),r(u)},reject:u=>{clearTimeout(h),this.releaseWorker(o),a(u)},timeout:h});const c=u=>{const{id:p,success:g,data:m,error:y}=u.data;if(p!==e)return;this.cleanupTask(e);const _=Date.now()-s;r(g?{success:!0,data:m,duration:_}:{success:!1,error:y,duration:_})},d=u=>{this.cleanupTask(e),a(new Error(`Worker error: ${u.message}`))};o.addEventListener("message",c),o.addEventListener("error",d),o.postMessage({id:e,input:t})})}cleanupTask(e){const t=this.pendingTasks.get(e);t&&(clearTimeout(t.timeout),this.pendingTasks.delete(e))}generateTaskId(){return`task_${++this.taskId}_${Date.now()}`}detectWorkerSupport(){return typeof Worker<"u"}getAvailableWorker(e){for(const[i,s]of this.workers)if(!s.isBusy)return s.isBusy=!0,s.worker;if(this.workers.size<this.config.maxConcurrentWorkers){const i=new Worker(e,{type:"module"}),s=this.generateWorkerId(),r={worker:i,isBusy:!0,id:s,createdAt:new Date};return this.workers.set(s,r),i}const t=Array.from(this.workers.values()).sort((i,s)=>i.createdAt.getTime()-s.createdAt.getTime())[0];return t.isBusy=!0,t.worker}releaseWorker(e){for(const[t,i]of this.workers)if(i.worker===e){i.isBusy=!1;break}}generateWorkerId(){return`worker_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}getStats(){return{totalWorkers:this.workers.size,busyWorkers:Array.from(this.workers.values()).filter(e=>e.isBusy).length,pendingTasks:this.pendingTasks.size,config:this.config}}destroy(){for(const[e,t]of this.pendingTasks)clearTimeout(t.timeout),t.reject(new Error("Framework destroyed"));this.pendingTasks.clear();for(const[e,t]of this.workers)t.worker.terminate();this.workers.clear()}}class ic{constructor(e){this.framework=new tc(e)}async execute(e,t){return this.framework.execute(e,t)}getStats(){return this.framework.getStats()}destroy(){this.framework.destroy()}}function nc(n){return new ic(n)}class vg{constructor(){this.setupMessageHandler()}setupMessageHandler(){self.onmessage=async e=>{const{id:t,input:i}=e.data;try{const s=await this.executeTask(i);this.sendResponse(t,!0,s)}catch(s){this.sendResponse(t,!1,void 0,s instanceof Error?s.message:String(s))}}}sendResponse(e,t,i,s){const r={id:e,success:t,data:i,error:s};self.postMessage(r)}}class sc extends Nr{constructor(e={}){super(e),e.parserWorkerUrl||(e.parserWorkerUrl="/assets/dxf-parser-worker.js")}async parse(e,t){const i=this.config,s=this.getParserWorkerTimeout(e,t);if(i.useWorker&&i.parserWorkerUrl){const r=nc({workerUrl:i.parserWorkerUrl,timeout:s,maxConcurrentWorkers:1}),a=await r.execute(e);if(r.destroy(),a.success)return{model:a.data,data:{unknownEntityCount:0}};throw new Error(`Failed to parse drawing due to error: '${a.error}'`)}else return{model:new kg().parse(e),data:{unknownEntityCount:0}}}getFonts(e){var r;const t=new Map,i=a=>{if(a){const o=a.lastIndexOf(".");return o>=0?a.substring(0,o).toLowerCase():a.toLowerCase()}};(r=e.tables.STYLE)==null||r.entries.forEach(a=>{const o=[];if(a.font){const h=i(a.font);h&&o.push(h)}if(a.bigFont){const h=i(a.bigFont);h&&o.push(h)}if(a.extendedFont){const h=i(a.extendedFont);h&&o.push(h)}t.set(a.name,o)});const s=new Set;return this.getFontsInBlock(e.entities,e.blocks,t,s),Array.from(s)}getFontsInBlock(e,t,i,s){const r=/\\f(.*?)\|/g;e.forEach(a=>{if(a.type=="MTEXT"){const o=a;[...o.text.matchAll(r)].forEach(d=>{s.add(d[1].toLowerCase())});const c=i.get(o.styleName);c==null||c.forEach(d=>s.add(d))}else if(a.type=="TEXT"){const o=a,h=i.get(o.styleName);h==null||h.forEach(c=>s.add(c))}else if(a.type=="MULTILEADER"||a.type=="MLEADER"){const o=a;[...(typeof o.textContent=="string"?o.textContent:"").matchAll(r)].forEach(u=>{s.add(u[1].toLowerCase())});const c=typeof o.textStyleName=="string"?o.textStyleName:typeof o.styleName=="string"?o.styleName:void 0,d=c?i.get(c):void 0;d==null||d.forEach(u=>s.add(u))}else if(a.type=="INSERT"){const h=t[a.name];h&&h.entities&&this.getFontsInBlock(h.entities,t,i,s)}})}async processEntities(e,t,i,s,r){const a=new Wa;let o=e.entities;const h=o.length,c=new rr(h,100-s.value,i);this.config.convertByEntityType&&(o=this.groupAndFlattenByType(o));const d=new Map;for(let p=0;p<h;p++){const g=o[p];if(g.type==="ATTRIB"){const m=a.convert(g);if(m&&m.ownerId&&m.ownerId!=="0"){let y=d.get(m==null?void 0:m.ownerId);y==null&&(y=[],d.set(m.ownerId,y)),y.push(m)}}}const u=t.tables.blockTable.modelSpace;await c.processChunk(async(p,g)=>{let m=[],y=p<g?o[p].type:"";for(let f=p;f<g;f++){const S=o[f];if(!(S.ownerBlockRecordSoftId&&S.ownerBlockRecordSoftId!==u.objectId)&&S.type!=="ATTRIB"){const L=a.convert(S);if(L){if(this.config.convertByEntityType&&S.type!==y&&(u.appendEntity(m),m=[],y=S.type),S.type==="INSERT"){const M=d.get(L.objectId);M&&M.length>0&&M.forEach(I=>{L.appendAttributes(I)})}m.push(L)}}}u.appendEntity(m);let _=s.value+g/h*(100-s.value);_>100&&(_=100),r&&await r(_,"ENTITY","IN-PROGRESS")})}async processEntitiesInBlock(e,t,i=!1){const s=new Wa,r=e.length,a=[],o=t.objectId,h=[];for(let c=0;c<r;c++){const d=e[c],u=s.convert(d);u&&(d.type==="ATTRIB"?h.push(u):(!i||d.ownerBlockRecordSoftId===o)&&a.push(u))}t.appendEntity(a),h.forEach(c=>{const d=t.getIdAt(c.ownerId);d&&d.appendAttributes(c)})}processBlocks(e,t){const i=e.blocks;for(const[s,r]of Object.entries(i)){let a=t.tables.blockTable.getAt(r.name);a||(a=new ie,a.objectId=r.handle,a.name=s,a.origin.copy(r.position),t.tables.blockTable.add(a)),r.entities?this.processEntitiesInBlock(r.entities,a):a.isPaperSapce&&this.processEntitiesInBlock(e.entities,a,!0)}}processHeader(e,t){const i=e.header;i.$ACADVER&&(t.version=i.$ACADVER),t.cecolor.colorIndex=i.$CECOLOR||256,t.angBase=i.$ANGBASE||0,t.angDir=i.$ANGDIR||0,i.$AUNITS!=null&&(t.aunits=i.$AUNITS),t.celtype=i.$CELTYPE||pe,Ne.instance().setVar(A.CETRANSPARENCY,i.$CETRANSPARENCY||"ByLayer",t),t.celtscale=i.$CELTSCALE||1;const s=this.normalizeHeaderStringValue(i.$CMLSTYLE)||this.normalizeHeaderStringValue(i.CMLSTYLE)||gt;t.cmlstyle=s;const r=i.$CMLSCALE??i.CMLSCALE;typeof r=="number"&&Number.isFinite(r)&&(t.cmlscale=r);const a=this.normalizeHeaderStringValue(i.$CMLEADERSTYLE)||this.normalizeHeaderStringValue(i.CMLEADERSTYLE)||pt;t.cmleaderstyle=a,t.hplayer=this.normalizeHeaderStringValue(i.$HPLAYER)||this.normalizeHeaderStringValue(i.HPLAYER)||".",t.ltscale=i.$LTSCALE||1,i.$EXTMAX&&(t.extmax=i.$EXTMAX),i.$EXTMIN&&(t.extmin=i.$EXTMIN),i.$INSUNITS!=null&&(t.insunits=i.$INSUNITS),t.osmode=i.$OSMODE||0,t.pdmode=i.$PDMODE||0,t.pdsize=i.$PDSIZE||0,t.textstyle=i.$TEXTSTYLE||Q}processBlockTables(e,t){var s;const i=(s=e.tables.BLOCK_RECORD)==null?void 0:s.entries;i&&i.length>0&&(t.tables.blockTable.removeAll(),i.forEach(r=>{const a=new ie;a.objectId=r.handle,a.name=r.name,a.layoutId=r.layoutObjects,a.blockInsertUnits=r.insertionUnits,a.explodability=r.explodability,a.blockScaling=r.scalability,r.bmpPreview&&(a.bmpPreview=r.bmpPreview),t.tables.blockTable.add(a)}))}processObjects(e,t){const i=e.objects.byName,s=new Cg;if("LAYOUT"in i){const r=t.objects.layout;i.LAYOUT.forEach(a=>{const o=s.convertLayout(a,e);r.setAt(o.layoutName,o)})}if("IMAGEDEF"in i){const r=t.objects.imageDefinition;i.IMAGEDEF.forEach(a=>{const o=s.convertImageDef(a);r.setAt(o.objectId,o)})}if("MLEADERSTYLE"in i){const r=t.objects.mleaderStyle;i.MLEADERSTYLE.forEach(a=>{const o=s.convertMLeaderStyle(a);r.setAt(o.objectId,o)})}if("MLINESTYLE"in i){const r=t.objects.mlineStyle;i.MLINESTYLE.forEach(a=>{const o=s.convertMLineStyle(a);r.setAt(o.styleName||o.objectId,o)})}}processViewports(e,t){var s;const i=(s=e.tables)==null?void 0:s.VPORT;if(i){this.processCommonTableAttrs(i,t.tables.viewportTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new vr;this.processCommonTableEntryAttrs(a,o),a.circleSides&&(o.circleSides=a.circleSides),o.standardFlag=a.standardFlag,o.center.copy(a.center),o.lowerLeftCorner.copy(a.lowerLeftCorner),o.upperRightCorner.copy(a.upperRightCorner),a.snapBasePoint&&o.snapBase.copy(a.snapBasePoint),a.snapRotationAngle&&(o.snapAngle=a.snapRotationAngle),a.snapSpacing&&o.snapIncrements.copy(a.snapSpacing),a.majorGridLines&&(o.gridMajor=a.majorGridLines),a.gridSpacing&&o.gridIncrements.copy(a.gridSpacing),a.backgroundObjectId&&(o.backgroundObjectId=a.backgroundObjectId),o.gsView.center.copy(a.center),o.gsView.viewDirectionFromTarget.copy(a.viewDirectionFromTarget),o.gsView.viewTarget.copy(a.viewTarget),a.lensLength&&(o.gsView.lensLength=a.lensLength),a.frontClippingPlane&&(o.gsView.frontClippingPlane=a.frontClippingPlane),a.backClippingPlane&&(o.gsView.backClippingPlane=a.backClippingPlane),a.viewHeight&&(o.gsView.viewHeight=a.viewHeight),a.viewTwistAngle&&(o.gsView.viewTwistAngle=a.viewTwistAngle),a.frozenLayers&&(o.gsView.frozenLayers=a.frozenLayers),a.styleSheet&&(o.gsView.styleSheet=a.styleSheet),a.renderMode&&(o.gsView.renderMode=a.renderMode),a.viewMode&&(o.gsView.viewMode=a.viewMode),a.ucsIconSetting&&(o.gsView.ucsIconSetting=a.ucsIconSetting),a.ucsOrigin&&o.gsView.ucsOrigin.copy(a.ucsOrigin),a.ucsXAxis&&o.gsView.ucsXAxis.copy(a.ucsXAxis),a.ucsYAxis&&o.gsView.ucsYAxis.copy(a.ucsYAxis),a.orthographicType&&(o.gsView.orthographicType=a.orthographicType),a.shadePlotSetting&&(o.gsView.shadePlotSetting=a.shadePlotSetting),a.shadePlotObjectId&&(o.gsView.shadePlotObjectId=a.shadePlotObjectId),a.visualStyleObjectId&&(o.gsView.visualStyleObjectId=a.visualStyleObjectId),a.isDefaultLightingOn&&(o.gsView.isDefaultLightingOn=a.isDefaultLightingOn),a.defaultLightingType&&(o.gsView.defaultLightingType=a.defaultLightingType),a.brightness&&(o.gsView.brightness=a.brightness),a.contrast&&(o.gsView.contrast=a.contrast),a.ambientColor&&(o.gsView.ambientColor=a.ambientColor),t.tables.viewportTable.add(o)})}}processLayers(e,t){var s;const i=(s=e.tables)==null?void 0:s.LAYER;if(i){this.processCommonTableAttrs(i,t.tables.layerTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new X;o.colorIndex=a.colorIndex;const h=new _s({name:a.name,standardFlags:a.standardFlag,linetype:a.lineType,lineWeight:a.lineweight,isOff:a.colorIndex<0,color:o,isPlottable:a.isPlotting});this.processCommonTableEntryAttrs(a,h),t.tables.layerTable.add(h)})}}processLineTypes(e,t){var s;const i=(s=e.tables)==null?void 0:s.LTYPE;if(i){this.processCommonTableAttrs(i,t.tables.linetypeTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new Et(a);this.processCommonTableEntryAttrs(a,o),o.name=a.name,t.tables.linetypeTable.add(o)})}}processTextStyles(e,t){var s;const i=(s=e.tables)==null?void 0:s.STYLE;if(i){this.processCommonTableAttrs(i,t.tables.textStyleTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new fs(a);this.processCommonTableEntryAttrs(a,o),t.tables.textStyleTable.add(o)})}}processDimStyles(e,t){var s;const i=(s=e.tables)==null?void 0:s.DIMSTYLE;if(i){this.processCommonTableAttrs(i,t.tables.dimStyleTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o={name:a.name,ownerId:a.ownerObjectId,dimpost:a.DIMPOST||"",dimapost:a.DIMAPOST||"",dimscale:a.DIMSCALE,dimasz:a.DIMASZ,dimexo:a.DIMEXO,dimdli:a.DIMDLI,dimexe:a.DIMEXE,dimrnd:a.DIMRND,dimdle:a.DIMDLE,dimtp:a.DIMTP,dimtm:a.DIMTM,dimtxt:a.DIMTXT,dimcen:a.DIMCEN,dimtsz:a.DIMTSZ,dimaltf:a.DIMALTF,dimlfac:a.DIMLFAC,dimtvp:a.DIMTVP,dimtfac:a.DIMTFAC,dimgap:a.DIMGAP,dimaltrnd:a.DIMALTRND,dimtol:a.DIMTOL==null||a.DIMTOL==0?0:1,dimlim:a.DIMLIM==null||a.DIMLIM==0?0:1,dimtih:a.DIMTIH==null||a.DIMTIH==0?0:1,dimtoh:a.DIMTOH==null||a.DIMTOH==0?0:1,dimse1:a.DIMSE1==null||a.DIMSE1==0?0:1,dimse2:a.DIMSE2==null||a.DIMSE2==0?0:1,dimtad:a.DIMTAD,dimzin:a.DIMZIN,dimazin:a.DIMAZIN,dimalt:a.DIMALT,dimaltd:a.DIMALTD,dimtofl:a.DIMTOFL,dimsah:a.DIMSAH,dimtix:a.DIMTIX,dimsoxd:a.DIMSOXD,dimclrd:a.DIMCLRD,dimclre:a.DIMCLRE,dimclrt:a.DIMCLRT,dimadec:a.DIMADEC||0,dimunit:a.DIMUNIT||2,dimdec:a.DIMDEC,dimtdec:a.DIMTDEC,dimaltu:a.DIMALTU,dimalttd:a.DIMALTTD,dimaunit:a.DIMAUNIT,dimfrac:a.DIMFRAC,dimlunit:a.DIMLUNIT,dimdsep:a.DIMDSEP?a.DIMDSEP.toString():".",dimtmove:a.DIMTMOVE||0,dimjust:a.DIMJUST,dimsd1:a.DIMSD1,dimsd2:a.DIMSD2,dimtolj:a.DIMTOLJ,dimtzin:a.DIMTZIN,dimaltz:a.DIMALTZ,dimalttz:a.DIMALTTZ,dimfit:a.DIMFIT||0,dimupt:a.DIMUPT,dimatfit:a.DIMATFIT,dimtxsty:a.DIMTXSTY||Q,dimldrblk:a.DIMLDRBLK||"",dimblk:a.DIMBLK||"",dimblk1:a.DIMBLK1||"",dimblk2:a.DIMBLK2||"",dimlwd:a.DIMLWD,dimlwe:a.DIMLWE},h=new si(o);this.processCommonTableEntryAttrs(a,h),t.tables.dimStyleTable.add(h)})}}processCommonTableAttrs(e,t){e.handle!=null&&(t.objectId=e.handle),e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}processCommonTableEntryAttrs(e,t){t.name="name"in e?e.name:"",e.handle!=null&&(t.objectId=e.handle),e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}groupAndFlattenByType(e){const t={},i=[];for(const s of e)t[s.type]||(t[s.type]=[],i.push(s.type)),t[s.type].push(s);return i.flatMap(s=>t[s])}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}class rc extends Nr{constructor(e){super({}),this._database=e}async parse(){return{model:this._database,data:{unknownEntityCount:0}}}getFonts(){return[]}async processEntities(e,t,i,s,r){let a=e.tables.blockTable.modelSpace.newIterator().toArray();const o=a.length,h=new rr(o,100-s.value,i);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const c=t.tables.blockTable.modelSpace;await h.processChunk(async(d,u)=>{let p=[],g=d<u?a[d].type:"";for(let m=d;m<u;m++){const y=a[m];this.config.convertByEntityType&&y.type!==g&&(this.triggerEvents(c,p),p=[],g=y.type),p.push(y)}if(this.triggerEvents(c,p),r){let m=s.value+u/o*(100-s.value);m>100&&(m=100),await r(m,"ENTITY","IN-PROGRESS")}})}processBlocks(){const e=this._database.tables.blockTable.newIterator();for(const t of e){const i=t.newIterator().toArray();this.triggerEvents(t,i)}}processHeader(){}processBlockTables(){}processObjects(){const e=this._database.objects.layout.newIterator();for(const s of e)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.layoutName});const t=this._database.objects.imageDefinition.newIterator();for(const s of t)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.objectId});const i=this._database.objects.mleaderStyle.newIterator();for(const s of i)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.objectId})}processViewports(){}processLayers(){this._database.tables.layerTable.newIterator().toArray().forEach(t=>{this._database.events.layerAppended.dispatch({database:this._database,layer:t})})}processLineTypes(){}processTextStyles(){}processDimStyles(){}groupAndFlattenByType(e){const t={},i=[];for(const s of e)t[s.type]||(t[s.type]=[],i.push(s.type)),t[s.type].push(s);return i.flatMap(s=>t[s])}triggerEvents(e,t){(e.isModelSapce||e.isPaperSapce)&&e.database.events.entityAppended.dispatch({database:e.database,entity:t})}}exports.ACAD_APPID=Ds;exports.AC_DB_SYSTEM_VARIABLE_NAMES=Nc;exports.AcCmColor=X;exports.AcCmColorMethod=P;exports.AcCmColorUtil=bt;exports.AcCmEntityColor=oc;exports.AcCmErrors=be;exports.AcCmEventDispatcher=lc;exports.AcCmEventManager=te;exports.AcCmLoader=yc;exports.AcCmLoadingManager=eo;exports.AcCmObject=Ka;exports.AcCmPerformanceCollector=ir;exports.AcCmTask=Qa;exports.AcCmTaskScheduler=Ja;exports.AcCmTransparency=J;exports.AcCmTransparencyMethod=he;exports.AcDb2dPolyline=Bn;exports.AcDb2dVertex=$s;exports.AcDb2dVertexType=Ko;exports.AcDb3PointAngularDimension=as;exports.AcDb3dPolyline=Fn;exports.AcDb3dVertex=qs;exports.AcDb3dVertexType=Zo;exports.AcDbAbstractViewTableRecord=Cr;exports.AcDbAlignedDimension=en;exports.AcDbAngleUnits=ar;exports.AcDbArc=Dn;exports.AcDbArcDimension=Zs;exports.AcDbAttribute=zn;exports.AcDbAttributeDefinition=Vn;exports.AcDbAttributeFlags=ne;exports.AcDbAttributeMTextFlag=We;exports.AcDbBaseWorker=vg;exports.AcDbBatchProcessing=rr;exports.AcDbBlockReference=ni;exports.AcDbBlockScaling=xl;exports.AcDbBlockTable=Pl;exports.AcDbBlockTableRecord=ie;exports.AcDbCircle=Hn;exports.AcDbCodePage=or;exports.AcDbCurve=ue;exports.AcDbDataGenerator=Sl;exports.AcDbDatabase=rd;exports.AcDbDatabaseConverter=Nr;exports.AcDbDatabaseConverterManager=He;exports.AcDbDiametricDimension=os;exports.AcDbDictionary=Jt;exports.AcDbDimArrowType=Al;exports.AcDbDimStyleTable=El;exports.AcDbDimStyleTableRecord=si;exports.AcDbDimTextHorizontal=Tl;exports.AcDbDimTextVertical=Ml;exports.AcDbDimVerticalJustification=vl;exports.AcDbDimZeroSuppression=kl;exports.AcDbDimZeroSuppressionAngular=Cl;exports.AcDbDimension=yt;exports.AcDbDuplicateRecordCloning=Ll;exports.AcDbDwgVersion=ve;exports.AcDbDxfCode=tr;exports.AcDbDxfConverter=sc;exports.AcDbDxfFiler=io;exports.AcDbEllipse=jn;exports.AcDbEntity=de;exports.AcDbFace=Wn;exports.AcDbFileType=Ri;exports.AcDbGradientPatternType=il;exports.AcDbHatch=qi;exports.AcDbHatchObjectType=Sr;exports.AcDbHatchPatternType=Vi;exports.AcDbHatchStyle=tl;exports.AcDbHostApplicationServices=Rn;exports.AcDbLayerTable=Nl;exports.AcDbLayerTableRecord=_s;exports.AcDbLayout=on;exports.AcDbLayoutDictionary=fl;exports.AcDbLayoutManager=wl;exports.AcDbLeader=Gn;exports.AcDbLeaderAnnotationType=nl;exports.AcDbLine=Ki;exports.AcDbLineSpacingStyle=rs;exports.AcDbLinetypeTable=Ol;exports.AcDbLinetypeTableRecord=Et;exports.AcDbMLeader=$n;exports.AcDbMLeaderContentType=mt;exports.AcDbMLeaderDirectionType=ol;exports.AcDbMLeaderLineType=gi;exports.AcDbMLeaderStyle=Ar;exports.AcDbMLeaderTextAttachmentDirection=al;exports.AcDbMLine=Un;exports.AcDbMLineFlags=rl;exports.AcDbMLineJustification=sl;exports.AcDbMText=Zi;exports.AcDbMlineStyle=Ir;exports.AcDbObject=De;exports.AcDbObjectIterator=ln;exports.AcDbOpenMode=ao;exports.AcDbOrdinateDimension=ls;exports.AcDbOsnapMode=D;exports.AcDbPatParser=kr;exports.AcDbPatSvgRenderer=Qs;exports.AcDbPlotPaperUnits=gl;exports.AcDbPlotRotation=pl;exports.AcDbPlotSettings=_l;exports.AcDbPlotShadePlotResLevel=Lt;exports.AcDbPlotShadePlotType=ci;exports.AcDbPlotStdScaleType=yl;exports.AcDbPlotType=ml;exports.AcDbPoint=Qn;exports.AcDbPoly2dType=hi;exports.AcDbPoly3dType=Di;exports.AcDbPolyFaceMesh=ss;exports.AcDbPolyFaceMeshFace=ul;exports.AcDbPolyFaceMeshVertex=dl;exports.AcDbPolygonMesh=ns;exports.AcDbPolygonMeshVertex=cl;exports.AcDbPolyline=Zn;exports.AcDbPredefinedAcadIsoPat=el;exports.AcDbPredefinedAcadPat=Oc;exports.AcDbRadialDimension=hs;exports.AcDbRasterImage=Ji;exports.AcDbRasterImageClipBoundaryType=ll;exports.AcDbRasterImageDef=bl;exports.AcDbRasterImageImageDisplayOpt=hl;exports.AcDbRay=Jn;exports.AcDbRegAppTable=Bl;exports.AcDbRegAppTableRecord=Js;exports.AcDbRegenerator=rc;exports.AcDbRenderingCache=ri;exports.AcDbResultBuffer=sr;exports.AcDbRotatedDimension=cs;exports.AcDbSpline=Qi;exports.AcDbSymbolTable=_t;exports.AcDbSymbolTableRecord=vt;exports.AcDbSysVarManager=Ne;exports.AcDbSystemVariables=A;exports.AcDbTable=qn;exports.AcDbText=pi;exports.AcDbTextHorizontalMode=Qo;exports.AcDbTextStyleTable=Yl;exports.AcDbTextStyleTableRecord=fs;exports.AcDbTextVerticalMode=Jo;exports.AcDbTrace=Kn;exports.AcDbUnitsValue=Mr;exports.AcDbViewTable=Xl;exports.AcDbViewTableRecord=ld;exports.AcDbViewport=es;exports.AcDbViewportTable=Rl;exports.AcDbViewportTableRecord=vr;exports.AcDbWipeout=ts;exports.AcDbWorkerApi=ic;exports.AcDbWorkerManager=tc;exports.AcDbXline=is;exports.AcDbXrecord=td;exports.AcGeArea2d=Tt;exports.AcGeBox2d=xe;exports.AcGeBox3d=Y;exports.AcGeCatmullRomCurve3d=ys;exports.AcGeCircArc2d=Mt;exports.AcGeCircArc3d=Pt;exports.AcGeCurve2d=mi;exports.AcGeEllipseArc2d=Ui;exports.AcGeEllipseArc3d=ui;exports.AcGeEuler=Ic;exports.AcGeGeometryUtil=Vo;exports.AcGeLine2d=Ge;exports.AcGeLine3d=kt;exports.AcGeLoop2d=$i;exports.AcGeMathUtil=k;exports.AcGeMatrix2d=nn;exports.AcGeMatrix3d=H;exports.AcGeNurbsCurve=Fe;exports.AcGePlane=rn;exports.AcGePoint2d=v;exports.AcGePoint3d=w;exports.AcGePolyline2d=ce;exports.AcGeQuaternion=ai;exports.AcGeShape2d=fr;exports.AcGeSpline3d=Ue;exports.AcGeTol=sn;exports.AcGeVector2d=K;exports.AcGeVector3d=x;exports.AcGiArrowType=xr;exports.AcGiDefaultLightingType=Lr;exports.AcGiLineWeight=ii;exports.AcGiMTextAttachmentPoint=z;exports.AcGiMTextFlowDirection=je;exports.AcGiOrthographicType=br;exports.AcGiRenderMode=wr;exports.AcGiViewport=$o;exports.AcTrStringUtil=mc;exports.ByBlock=At;exports.ByLayer=pe;exports.DEBUG_MODE=gc;exports.DEFAULT_GRADIENT_HATCH_NAME=co;exports.DEFAULT_HATCH_PATTERN_IMPERIAL=xc;exports.DEFAULT_HATCH_PATTERN_METRIC=lo;exports.DEFAULT_LINE_TYPE=It;exports.DEFAULT_MLEADER_STYLE=pt;exports.DEFAULT_MLINE_STYLE=gt;exports.DEFAULT_TEXT_STYLE=Q;exports.DEFAULT_TOL=pr;exports.DEG2RAD=lr;exports.DefaultLoadingManager=to;exports.FLOAT_TOL=Qt;exports.HATCH_PATTERN_SOLID=ti;exports.HATCH_PATTERN_USER=ho;exports.MLIGHTCAD_APPID=Fs;exports.ORIGIN_POINT_2D=wc;exports.ORIGIN_POINT_3D=gr;exports.RAD2DEG=hr;exports.RAW_COLOR_TYPE_ACI=Tr;exports.RAW_COLOR_TYPE_BY_BLOCK=ds;exports.RAW_COLOR_TYPE_BY_LAYER=Pr;exports.RAW_COLOR_TYPE_RGB=Er;exports.RAW_COLOR_TYPE_WINDOW_BG=Il;exports.TAU=G;exports.TEMP_OBJECT_ID_PREFIX=En;exports.acdbDisableOsnapMode=Dc;exports.acdbEnableOsnapMode=Fc;exports.acdbHasOsnapMode=Bc;exports.acdbHostApplicationServices=nr;exports.acdbMaskToOsnapModes=Xc;exports.acdbOsnapModesToMask=Yc;exports.acdbToggleOsnapMode=Rc;exports.basisFunction=Wi;exports.calculateCurveLength=jo;exports.ceilPowerOfTwo=Po;exports.clamp=ut;exports.clone=Ni;exports.computeParameterValues=zo;exports.createWorkerApi=nc;exports.damp=mo;exports.decodeMLeaderStyleRawColor=zi;exports.deepClone=Xs;exports.defaults=tn;exports.degToRad=So;exports.dwgCodePageToEncoding=oo;exports.encodeMLeaderStyleRawColor=kn;exports.euclideanModulo=cr;exports.evaluateNurbsPoint=Fi;exports.floorPowerOfTwo=Eo;exports.generateAveragedKnots=Ho;exports.generateChordKnots=Ec;exports.generateSqrtChordKnots=Tc;exports.generateUUID=uo;exports.generateUniformKnots=Pc;exports.getOcsAngle=Gs;exports.getOcsReferenceVector=_r;exports.has=Ga;exports.intPartLength=ur;exports.interpolateControlPoints=Mc;exports.interpolateNurbsCurve=yr;exports.inverseLerp=po;exports.isBetween=To;exports.isBetweenAngle=Mo;exports.isEmpty=Ua;exports.isEqual=di;exports.isImperialUnits=nd;exports.isMetricUnits=id;exports.isPointInPolygon=mr;exports.isPolygonIntersect=Do;exports.isPowerOfTwo=Io;exports.lerp=dr;exports.log=Xi;exports.mapLinear=go;exports.normalizeAngle=Bi;exports.pingpong=yo;exports.radToDeg=Ao;exports.randFloat=wo;exports.randFloatSpread=bo;exports.randInt=xo;exports.relativeEps=ko;exports.seededRandom=Lo;exports.setAcDbHostApplicationServicesProvider=so;exports.setAcDbLayoutManagerFactory=ro;exports.setLogLevel=pc;exports.smootherstep=fo;exports.smoothstep=_o;exports.transformOcsPointToWcs=Ws;exports.transformWcsPointToOcs=Gi;
8
+ `)}),u+=`- total: ${this.data.total} ms`,u}};ir.getInstance().collect(o),this.progress=s;const h={value:0},c=new Ja;c.setCompleteCallback(()=>this.onFinished()),c.setErrorCallback(u=>this.onError(u)),c.addTask(new we({stage:"START",step:1,progress:h,task:async u=>u},s)),c.addTask(new we({stage:"PARSE",step:5,progress:h,task:async u=>await this.parse(u,r)},s)),c.addTask(new we({stage:"FONT",step:5,progress:h,task:async u=>{const p=this.getFonts(u.model);return{model:u.model,data:p}}},s)),c.addTask(new we({stage:"LTYPE",step:1,progress:h,task:async u=>(this.processLineTypes(u.model,t),u)},s)),c.addTask(new we({stage:"STYLE",step:1,progress:h,task:async u=>(this.processTextStyles(u.model,t),u)},s)),c.addTask(new we({stage:"DIMSTYLE",step:1,progress:h,task:async u=>(this.processDimStyles(u.model,t),u)},s)),c.addTask(new we({stage:"LAYER",step:1,progress:h,task:async u=>(this.processLayers(u.model,t),t.tables.layerTable.numEntries===0&&t.createDefaultData({layer:!0}),u)},s)),c.addTask(new we({stage:"VPORT",step:1,progress:h,task:async u=>(this.processViewports(u.model,t),u)},s)),c.addTask(new we({stage:"HEADER",step:1,progress:h,task:async u=>{if(this.processHeader(u.model,t),a){const p=Ne.instance();for(const[g,m]of Object.entries(a))p.setVar(g,m,t)}return u}},s)),c.addTask(new we({stage:"BLOCK_RECORD",step:5,progress:h,task:async u=>(this.processBlockTables(u.model,t),u)},s)),c.addTask(new we({stage:"OBJECT",step:5,progress:h,task:async u=>(this.processObjects(u.model,t),t.objects.layout.numEntries===0&&t.createDefaultData({layout:!0}),u)},s)),c.addTask(new we({stage:"BLOCK",step:5,progress:h,task:async u=>(await this.processBlocks(u.model,t),u)},s)),c.addTask(new we({stage:"ENTITY",step:100,progress:h,task:async u=>(await this.processEntities(u.model,t,i,h,s),u)},s)),c.addTask(new we({stage:"END",step:0,progress:h,task:async u=>u},s));const d=Date.now();await c.run(e),o.data.total=Date.now()-d}onError(e){if(this.progress){const t=e.task;this.progress(t.data.progress.value,t.data.stage,"ERROR",void 0,e)}return e.task.name==="ENTITY"?!1:(this.onFinished(),!0)}onFinished(){this.progress&&(this.progress(100,"END","END"),ri.instance.clear())}getParserWorkerTimeout(e,t){const i=t??this.config.timeout;if(i!=null)return i;const s=Math.ceil(e.byteLength/od),r=Fa+s*1e3;return Math.min(ad,Math.max(Fa,r))}async parse(e,t){throw new Error("Not impelemented yet!")}getFonts(e){throw new Error("Not impelemented yet!")}processLineTypes(e,t){throw new Error("Not impelemented yet!")}processTextStyles(e,t){throw new Error("Not impelemented yet!")}processDimStyles(e,t){throw new Error("Not impelemented yet!")}processLayers(e,t){throw new Error("Not impelemented yet!")}processViewports(e,t){throw new Error("Not impelemented yet!")}processHeader(e,t){throw new Error("Not impelemented yet!")}processBlockTables(e,t){throw new Error("Not impelemented yet!")}processObjects(e,t){throw new Error("Not impelemented yet!")}processBlocks(e,t){throw new Error("Not impelemented yet!")}processEntities(e,t,i,s,r){throw new Error("Not impelemented yet!")}}class ld extends Cr{constructor(){super(),this._standardFlags=0,this._viewWidth=this.viewHeight,this._ucsAssociated=!1,this._cameraPlottable=!1,this._ucsElevation=0}get standardFlags(){return this._standardFlags}set standardFlags(e){this._standardFlags=e}get viewWidth(){return this._viewWidth}set viewWidth(e){this._viewWidth=e}get ucsAssociated(){return this._ucsAssociated}set ucsAssociated(e){this._ucsAssociated=e}get cameraPlottable(){return this._cameraPlottable}set cameraPlottable(e){this._cameraPlottable=e}get ucsElevation(){return this._ucsElevation}set ucsElevation(e){this._ucsElevation=e}get ucsObjectId(){return this._ucsObjectId}set ucsObjectId(e){this._ucsObjectId=e}get ucsBaseObjectId(){return this._ucsBaseObjectId}set ucsBaseObjectId(e){this._ucsBaseObjectId=e}get backgroundObjectId(){return this._backgroundObjectId}set backgroundObjectId(e){this._backgroundObjectId=e}get liveSectionObjectId(){return this._liveSectionObjectId}set liveSectionObjectId(e){this._liveSectionObjectId=e}dxfOutFields(e){return super.dxfOutFields(e),e.writeSubclassMarker("AcDbViewTableRecord"),e.writeString(2,this.name),e.writeInt16(70,this.standardFlags),e.writeDouble(40,this.gsView.viewHeight),e.writePoint2d(10,this.centerPoint),e.writeDouble(41,this.viewWidth),e.writePoint3d(11,this.gsView.viewDirectionFromTarget),e.writePoint3d(12,this.gsView.viewTarget),e.writeDouble(42,this.gsView.lensLength),e.writeDouble(43,this.gsView.frontClippingPlane),e.writeDouble(44,this.gsView.backClippingPlane),e.writeAngle(50,this.gsView.viewTwistAngle),e.writeInt16(71,this.gsView.viewMode),e.writeInt16(281,this.gsView.renderMode),e.writeInt16(72,this.ucsAssociated?1:0),e.writeInt16(73,this.cameraPlottable?1:0),e.writeObjectId(332,this.backgroundObjectId),e.writeObjectId(334,this.liveSectionObjectId),e.writeObjectId(348,this.gsView.visualStyleObjectId),this.ucsAssociated&&(e.writePoint3d(110,this.gsView.ucsOrigin),e.writePoint3d(111,this.gsView.ucsXAxis),e.writePoint3d(112,this.gsView.ucsYAxis),e.writeInt16(79,this.gsView.orthographicType),e.writeDouble(146,this.ucsElevation),e.writeObjectId(345,this.ucsObjectId),e.writeObjectId(346,this.ucsBaseObjectId)),this}}var re,yi,Z,ee,_i,Ye,Xt,Ke,me,Ze,Xe,Rt,Bt,Ft,Se,Qe,fi,xi,Dt,Vt,wi,bi,Li,Ae,Je,U,zt,Si,N,ye,Ai,_e,Ii,et,j,Pi,tt,Ht,Ts,Ms,Re,Ei,jt,Ie,it,nt,st,Ti,Mi,rt,Wt,Gt,ks,ki,Ut,at,$t,ae,ot,Pe,Cs,oe,vs,lt,Ee,qt,Ci,Kt,Te,ht,Me,ct,Ns,Zt,ke;(re={})[re.None=0]="None",re[re.Anonymous=1]="Anonymous",re[re.NonConstant=2]="NonConstant",re[re.Xref=4]="Xref",re[re.XrefOverlay=8]="XrefOverlay",re[re.ExternallyDependent=16]="ExternallyDependent",re[re.ResolvedOrDependent=32]="ResolvedOrDependent",re[re.ReferencedXref=64]="ReferencedXref";(yi={})[yi.BYBLOCK=0]="BYBLOCK",yi[yi.BYLAYER=256]="BYLAYER";(Z={})[Z.Rotated=0]="Rotated",Z[Z.Aligned=1]="Aligned",Z[Z.Angular=2]="Angular",Z[Z.Diameter=3]="Diameter",Z[Z.Radius=4]="Radius",Z[Z.Angular3Point=5]="Angular3Point",Z[Z.Ordinate=6]="Ordinate",Z[Z.ReferenceIsExclusive=32]="ReferenceIsExclusive",Z[Z.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",Z[Z.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag";(ee={})[ee.TopLeft=1]="TopLeft",ee[ee.TopCenter=2]="TopCenter",ee[ee.TopRight=3]="TopRight",ee[ee.MiddleLeft=4]="MiddleLeft",ee[ee.MiddleCenter=5]="MiddleCenter",ee[ee.MiddleRight=6]="MiddleRight",ee[ee.BottomLeft=7]="BottomLeft",ee[ee.BottomCenter=8]="BottomCenter",ee[ee.BottomRight=9]="BottomRight";(_i={})[_i.AtLeast=1]="AtLeast",_i[_i.Exact=2]="Exact";var Da=((Ye={})[Ye.Center=0]="Center",Ye[Ye.Above=1]="Above",Ye[Ye.Outside=2]="Outside",Ye[Ye.JIS=3]="JIS",Ye[Ye.Below=4]="Below",Ye);(Xt={})[Xt.WithDimension=0]="WithDimension",Xt[Xt.AddLeader=1]="AddLeader",Xt[Xt.Independent=2]="Independent";(Ke={})[Ke.BothOutside=0]="BothOutside",Ke[Ke.ArrowFirst=1]="ArrowFirst",Ke[Ke.TextFirst=2]="TextFirst",Ke[Ke.Auto=3]="Auto";var li=((me={})[me.Feet=0]="Feet",me[me.None=1]="None",me[me.Inch=2]="Inch",me[me.FeetAndInch=3]="FeetAndInch",me[me.Leading=4]="Leading",me[me.Trailing=8]="Trailing",me[me.LeadingAndTrailing=12]="LeadingAndTrailing",me),hd=((Ze={})[Ze.None=0]="None",Ze[Ze.Leading=1]="Leading",Ze[Ze.Trailing=2]="Trailing",Ze[Ze.LeadingAndTrailing=3]="LeadingAndTrailing",Ze),cd=((Xe={})[Xe.Center=0]="Center",Xe[Xe.First=1]="First",Xe[Xe.Second=2]="Second",Xe[Xe.OverFirst=3]="OverFirst",Xe[Xe.OverSecond=4]="OverSecond",Xe),dd=((Rt={})[Rt.Bottom=0]="Bottom",Rt[Rt.Center=1]="Center",Rt[Rt.Top=2]="Top",Rt);(Bt={})[Bt.None=0]="None",Bt[Bt.UseDrawingBackground=1]="UseDrawingBackground",Bt[Bt.Custom=2]="Custom";(Ft={})[Ft.Horizontal=0]="Horizontal",Ft[Ft.Diagonal=1]="Diagonal",Ft[Ft.NotStacked=2]="NotStacked";(Se={})[Se.Scientific=1]="Scientific",Se[Se.Decimal=2]="Decimal",Se[Se.Engineering=3]="Engineering",Se[Se.Architectural=4]="Architectural",Se[Se.Fractional=5]="Fractional",Se[Se.WindowDesktop=6]="WindowDesktop";(Qe={})[Qe.Decimal=0]="Decimal",Qe[Qe.DegreesMinutesSecond=1]="DegreesMinutesSecond",Qe[Qe.Gradian=2]="Gradian",Qe[Qe.Radian=3]="Radian";var ud=((fi={})[fi.PatternFill=0]="PatternFill",fi[fi.SolidFill=1]="SolidFill",fi);(xi={})[xi.NonAssociative=0]="NonAssociative",xi[xi.Associative=1]="Associative";(Dt={})[Dt.Normal=0]="Normal",Dt[Dt.Outer=1]="Outer",Dt[Dt.Ignore=2]="Ignore";(Vt={})[Vt.UserDefined=0]="UserDefined",Vt[Vt.Predefined=1]="Predefined",Vt[Vt.Custom=2]="Custom";(wi={})[wi.NotAnnotated=0]="NotAnnotated",wi[wi.Annotated=1]="Annotated";(bi={})[bi.Solid=0]="Solid",bi[bi.Gradient=1]="Gradient";(Li={})[Li.TwoColor=0]="TwoColor",Li[Li.OneColor=1]="OneColor";var gd=((Ae={})[Ae.Default=0]="Default",Ae[Ae.External=1]="External",Ae[Ae.Polyline=2]="Polyline",Ae[Ae.Derived=4]="Derived",Ae[Ae.Textbox=8]="Textbox",Ae[Ae.Outermost=16]="Outermost",Ae),Sn=((Je={})[Je.Line=1]="Line",Je[Je.Circular=2]="Circular",Je[Je.Elliptic=3]="Elliptic",Je[Je.Spline=4]="Spline",Je),pd=((U={})[U.Off=0]="Off",U[U.Solid=1]="Solid",U[U.Dashed=2]="Dashed",U[U.Dotted=3]="Dotted",U[U.ShotDash=4]="ShotDash",U[U.MediumDash=5]="MediumDash",U[U.LongDash=6]="LongDash",U[U.DoubleShortDash=7]="DoubleShortDash",U[U.DoubleMediumDash=8]="DoubleMediumDash",U[U.DoubleLongDash=9]="DoubleLongDash",U[U.DoubleMediumLongDash=10]="DoubleMediumLongDash",U[U.SparseDot=11]="SparseDot",U);pd.Off;(zt={})[zt.Standard=-3]="Standard",zt[zt.ByLayer=-2]="ByLayer",zt[zt.ByBlock=-1]="ByBlock";(Si={})[Si.English=0]="English",Si[Si.Metric=1]="Metric";(N={})[N.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",N[N.FRONT_CLIPPING=2]="FRONT_CLIPPING",N[N.BACK_CLIPPING=4]="BACK_CLIPPING",N[N.UCS_FOLLOW=8]="UCS_FOLLOW",N[N.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",N[N.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",N[N.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",N[N.FAST_ZOOM=128]="FAST_ZOOM",N[N.SNAP_MODE=256]="SNAP_MODE",N[N.GRID_MODE=512]="GRID_MODE",N[N.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",N[N.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",N[N.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",N[N.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",N[N.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",N[N.UNUSED=32768]="UNUSED",N[N.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",N[N.VIEWPORT_OFF=131072]="VIEWPORT_OFF",N[N.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",N[N.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",N[N.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",N[N.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE";(ye={})[ye.OPTIMIZED_2D=0]="OPTIMIZED_2D",ye[ye.WIREFRAME=1]="WIREFRAME",ye[ye.HIDDEN_LINE=2]="HIDDEN_LINE",ye[ye.FLAT_SHADED=3]="FLAT_SHADED",ye[ye.GOURAUD_SHADED=4]="GOURAUD_SHADED",ye[ye.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",ye[ye.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME";(Ai={})[Ai.UCS_UNCHANGED=0]="UCS_UNCHANGED",Ai[Ai.HAS_OWN_UCS=1]="HAS_OWN_UCS";(_e={})[_e.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",_e[_e.TOP=1]="TOP",_e[_e.BOTTOM=2]="BOTTOM",_e[_e.FRONT=3]="FRONT",_e[_e.BACK=4]="BACK",_e[_e.LEFT=5]="LEFT",_e[_e.RIGHT=6]="RIGHT";(Ii={})[Ii.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",Ii[Ii.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS";(et={})[et.ByLayer=0]="ByLayer",et[et.ByBlock=1]="ByBlock",et[et.ByDictionaryDefault=2]="ByDictionaryDefault",et[et.ByObject=3]="ByObject";(j={})[j.NotAllowed=0]="NotAllowed",j[j.AllowErase=1]="AllowErase",j[j.AllowTransform=2]="AllowTransform",j[j.AllowChangeColor=4]="AllowChangeColor",j[j.AllowChangeLayer=8]="AllowChangeLayer",j[j.AllowChangeLinetype=16]="AllowChangeLinetype",j[j.AllowChangeLinetypeScale=32]="AllowChangeLinetypeScale",j[j.AllowChangeVisibility=64]="AllowChangeVisibility",j[j.AllowClone=128]="AllowClone",j[j.AllowChangeLineweight=256]="AllowChangeLineweight",j[j.AllowChangePlotStyleName=512]="AllowChangePlotStyleName",j[j.AllowAllExceptClone=895]="AllowAllExceptClone",j[j.AllowAll=1023]="AllowAll",j[j.DisableProxyWarning=1024]="DisableProxyWarning",j[j.R13FormatProxy=32768]="R13FormatProxy";function O(n,e,t){return n.code===e&&(t==null||n.value===t)}function Ct(n){let e={};n.rewind();let t=n.next(),i=t.code;if(e.x=t.value,(t=n.next()).code!==i+10)throw Error("Expected code for point value to be 20 but got "+t.code+".");return e.y=t.value,(t=n.next()).code!==i+20?n.rewind():e.z=t.value,e}let hn=Symbol();function T(n,e){return(t,i,s)=>{let r=function(h,c=!1){return h.reduce((d,u)=>{u.pushContext&&d.push({});let p=d[d.length-1];for(let g of typeof u.code=="number"?[u.code]:u.code){let m=p[g]??(p[g]=[]);u.isMultiple&&m.length,m.push(u)}return d},[{}])}(n,i.debug),a=!1,o=r.length-1;for(;!O(t,0,"EOF");){let h=function(_,f,S){return _.find((L,M)=>{var I;return M>=S&&((I=L[f])==null?void 0:I.length)})}(r,t.code,o),c=h==null?void 0:h[t.code],d=c==null?void 0:c[c.length-1];if(!h||!d){i.rewind();break}d.isMultiple||h[t.code].pop();let{name:u,parser:p,isMultiple:g,isReducible:m}=d,y=p==null?void 0:p(t,i,s);if(y===hn){i.rewind();break}if(u){let[_,f]=md(s,u);g&&!m?(Object.prototype.hasOwnProperty.call(_,f)||(_[f]=[]),_[f].push(y)):_[f]=y}d.pushContext&&(o-=1),a=!0,t=i.next()}return e&&Object.setPrototypeOf(s,e),a}}function md(n,e){let t=e.split(".");if(!t.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let i=n;for(let s=0;s<t.length-1;++s){let r=Os(t[s]),a=Os(t[s+1]);Object.prototype.hasOwnProperty.call(i,r)||(typeof a=="number"?i[r]=[]:i[r]={}),i=i[r]}return[i,Os(t[t.length-1])]}function Os(n){let e=Number.parseInt(n);return Number.isNaN(e)?n:e}function l({value:n}){return n}function b(n,e){return Ct(e)}function E({value:n}){return!!n}function yd({value:n}){return n.trim()}let _d=[{code:281,name:"isEntity",parser:E},{code:280,name:"wasProxy",parser:E},{code:91,name:"instanceCount",parser:l},{code:90,name:"proxyFlag",parser:l},{code:3,name:"appName",parser:l},{code:2,name:"cppClassName",parser:l},{code:1,name:"name",parser:l}],fd=T(_d),xd=[{code:0,name:"classes",isMultiple:!0,parser(n,e){if(n.value!=="CLASS")return hn;n=e.next();let t={};return fd(n,e,t),t}}],wd=T(xd);(Pi={})[Pi.RayTrace=0]="RayTrace",Pi[Pi.ShadowMap=1]="ShadowMap";function $e(n,e,t){for(;O(n,102);){var i;let s=n.value;if(n=e.next(),!s.startsWith("{")){e.debug,function(a,o){for(;!O(a,102)&&!O(a,0,"EOF");)a=o.next()}(n,e),n=e.next();continue}let r=s.slice(1).trim();t.extensions??(t.extensions={}),(i=t.extensions)[r]??(i[r]=[]),function(a,o,h){for(;!O(a,102,"}")&&!O(a,0,"EOF");)h.push(a),a=o.next()}(n,e,t.extensions[r]),n=e.next()}e.rewind()}let bd=[{code:1001,name:"xdata",isMultiple:!0,parser:Dl}],Ld=new Set([1010,1011,1012,1013]);function Dl(n,e){var s;if(!O(n,1001))throw Error("XData must starts with code 1001");let t={appName:n.value,value:[]};n=e.next();let i=[t.value];for(;!O(n,0,"EOF")&&!O(n,1001)&&n.code>=1e3;){let r=i[i.length-1];if(n.code===1002){n.value==="{"?i.push([]):(i.pop(),(s=i[i.length-1])==null||s.push(r)),n=e.next();continue}Ld.has(n.code)?r.push(Ct(e)):r.push(n.value),n=e.next()}return e.rewind(),t}(tt={})[tt.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",tt[tt.CAST=1]="CAST",tt[tt.RECEIVE=2]="RECEIVE",tt[tt.IGNORE=3]="IGNORE";let V=[...bd,{code:284,name:"shadowMode",parser:l},{code:390,name:"plotStyleHardId",parser:l},{code:380,name:"plotStyleType",parser:l},{code:440,name:"transparency",parser:l},{code:430,name:"colorName",parser:l},{code:420,name:"color",parser:l},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(n,e,t)=>(t.proxyEntity??"")+n.value},{code:[92,160],name:"proxyByte",parser:l},{code:60,name:"isVisible",parser:E},{code:48,name:"lineTypeScale",parser:l},{code:370,name:"lineweight",parser:l},{code:62,name:"colorIndex",parser:l},{code:347,name:"materialObjectHardId",parser:l},{code:6,name:"lineType",parser:l},{code:8,name:"layer",parser:l},{code:410,name:"layoutTabName",parser:l},{code:67,name:"isInPaperSpace",parser:E},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:5,name:"handle",parser:l}];function xs(n){return[{code:3,name:n,parser:(e,t,i)=>(i._code3text=(i._code3text??"")+e.value,i._code3text+(i._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:n,parser:(e,t,i)=>(i._code1text=e.value,(i._code3text??"")+i._code1text)}]}function Vl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Sd={extrusionDirection:{x:0,y:0,z:1}},Ad=[{code:210,name:"extrusionDirection",parser:b},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:100,name:"subclassMarker",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b},{code:39,name:"thickness",parser:l},{code:100},...V];class zl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Vl(this,"parser",T(Ad,Sd))}}Vl(zl,"ForEntityName","ARC");(Ht={})[Ht.BeforeText=0]="BeforeText",Ht[Ht.AboveText=1]="AboveText",Ht[Ht.None=2]="None";let Or=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4,defaultValue:""},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMJOGANG",code:50,defaultValue:45},{name:"DIMTFILL",code:69,defaultValue:0},{name:"DIMTFILLCLR",code:70,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:Da.Above,defaultValueImperial:Da.Center},{name:"DIMZIN",code:78,defaultValue:li.Trailing,defaultValueImperial:li.Feet},{name:"DIMAZIN",code:79,defaultValue:hd.None},{name:"DIMARCSYM",code:90,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179,defaultValue:0},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:3,defaultValueImperial:2},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:44,defaultValueImperial:46},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:cd.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:dd.Center},{name:"DIMTZIN",code:284,defaultValue:li.Trailing,defaultValueImperial:li.Feet},{name:"DIMALTZ",code:285,defaultValue:li.Trailing},{name:"DIMALTTZ",code:286,defaultValue:li.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMTXTDIRECTION",code:294,defaultValue:0},{name:"DIMTXSTY",code:340,defaultValue:"Standard"},{name:"DIMLDRBLK",code:341,defaultValue:""},{name:"DIMBLK",code:342,defaultValue:""},{name:"DIMBLK1",code:343,defaultValue:""},{name:"DIMBLK2",code:344,defaultValue:""},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWE",code:372,defaultValue:-2}],Hl=[{code:3,name:"styleName",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:51,name:"ocsRotation",parser:l},{code:53,name:"textRotation",parser:l},{code:1,name:"text",parser:l},{code:42,name:"measurement",parser:l},{code:72,name:"textLineSpacingStyle",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:70,name:"dimensionType",parser:l},{code:11,name:"textPoint",parser:b},{code:10,name:"definitionPoint",parser:b},{code:2,name:"name",parser:l},{code:280,name:"version",parser:l},{code:100}],Id=[{code:100},{code:52,name:"obliqueAngle",parser:l},{code:50,name:"rotationAngle",parser:l},{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:12,name:"insertionPoint",parser:b},{code:100,name:"subclassMarker",parser:l}],Pd=[{code:16,name:"arcPoint",parser:b},{code:15,name:"centerPoint",parser:b},{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:100,name:"subclassMarker",parser:l}],Ed=[{code:14,name:"subDefinitionPoint2",parser:b},{code:13,name:"subDefinitionPoint1",parser:b},{code:100,name:"subclassMarker",parser:l}],Td=[{code:40,name:"leaderLength",parser:l},{code:15,name:"subDefinitionPoint",parser:b},{code:100,name:"subclassMarker",parser:l}],Md=[{code:100,parser(n,e,t){let i=function(s){switch(s){case"AcDbAlignedDimension":return T(Id);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return T(Pd);case"AcDbOrdinateDimension":return T(Ed);case"AcDbRadialDimension":case"AcDbDiametricDimension":return T(Td)}return null}(n.value);if(!i)return hn;i(n,e,t)},pushContext:!0},...Or.map(n=>({...n,parser:l})),...Hl,...V];class Cn{parseEntity(e,t){let i={};return T(Md)(t,e,i),i}}(Ts="ForEntityName")in Cn?Object.defineProperty(Cn,Ts,{value:"DIMENSION",enumerable:!0,configurable:!0,writable:!0}):Cn[Ts]="DIMENSION";let kd=[{code:73},{code:17,name:"leaderEnd",parser:b},{code:16,name:"leaderStart",parser:b},{code:71,name:"hasLeader",parser:E},{code:41,name:"endAngle",parser:l},{code:40,name:"startAngle",parser:l},{code:70,name:"isPartial",parser:E},{code:15,name:"centerPoint",parser:b},{code:14,name:"xline2Point",parser:b},{code:13,name:"xline1Point",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...Or.map(n=>({...n,parser:l})),...Hl,...V];class vn{parseEntity(e,t){let i={};return T(kd)(t,e,i),i}}(Ms="ForEntityName")in vn?Object.defineProperty(vn,Ms,{value:"ARC_DIMENSION",enumerable:!0,configurable:!0,writable:!0}):vn[Ms]="ARC_DIMENSION";(Re={})[Re.NONE=0]="NONE",Re[Re.INVISIBLE=1]="INVISIBLE",Re[Re.CONSTANT=2]="CONSTANT",Re[Re.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",Re[Re.PRESET=8]="PRESET";(Ei={})[Ei.MULTILINE=2]="MULTILINE",Ei[Ei.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE";(jt={})[jt.NONE=0]="NONE",jt[jt.MIRRORED_X=2]="MIRRORED_X",jt[jt.MIRRORED_Y=4]="MIRRORED_Y";var Cd=((Ie={})[Ie.LEFT=0]="LEFT",Ie[Ie.CENTER=1]="CENTER",Ie[Ie.RIGHT=2]="RIGHT",Ie[Ie.ALIGNED=3]="ALIGNED",Ie[Ie.MIDDLE=4]="MIDDLE",Ie[Ie.FIT=5]="FIT",Ie),vd=((it={})[it.BASELINE=0]="BASELINE",it[it.BOTTOM=1]="BOTTOM",it[it.MIDDLE=2]="MIDDLE",it[it.TOP=3]="TOP",it);function jl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Wl={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:Cd.LEFT,valign:vd.BASELINE,extrusionDirection:{x:0,y:0,z:1}},Gl=[{code:73,name:"valign",parser:l},{code:100},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"endPoint",parser:b},{code:72,name:"valign",parser:l},{code:72,name:"halign",parser:l},{code:71,name:"generationFlag",parser:l},{code:7,name:"styleName",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"xScale",parser:l},{code:50,name:"rotation",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Ul{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){jl(this,"parser",T(Gl,Wl))}}function $l(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}jl(Ul,"ForEntityName","TEXT");let Nd={...Wl},Od=[{code:2},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:b},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:E},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedRecord",parser:E},{code:100},{code:280,name:"isLocked",parser:E},{code:74,name:"valign",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:3,name:"prompt",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},...Gl.slice(2)];class ql{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){$l(this,"parser",T(Od,Nd))}}function Yd(n,e){let t={};for(let i of n){let s=e(i);s!=null&&(t[s]??(t[s]=[]),t[s].push(i))}return t}function*us(n,e=1/0,t=1){for(let i=n;i!==e;i+=t)yield i}function er(n){return{x:n.x??0,y:n.y??0,z:n.z??0}}$l(ql,"ForEntityName","ATTDEF");var Xd=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];function Rd(n){return Xd[n]}function Bd(n){n.rewind();let e=n.next();if(e.code!==101)throw Error("Bad call for skipEmbeddedObject()");do e=n.next();while(e.code!==0);n.rewind()}function Fd(n,e,t){if(O(e,102))return $e(e,t,n),!0;switch(e.code){case 0:n.type=e.value;break;case 5:n.handle=e.value;break;case 330:n.ownerBlockRecordSoftId=e.value;break;case 67:n.isInPaperSpace=!!e.value;break;case 8:n.layer=e.value;break;case 6:n.lineType=e.value;break;case 347:n.materialObjectHardId=e.value;break;case 62:n.colorIndex=e.value,n.color=Rd(Math.abs(e.value));break;case 370:n.lineweight=e.value;break;case 48:n.lineTypeScale=e.value;break;case 60:n.isVisible=!!e.value;break;case 92:n.proxyByte=e.value;break;case 310:n.proxyEntity=e.value;break;case 100:break;case 420:n.color=e.value;break;case 430:n.transparency=e.value;break;case 390:n.plotStyleHardId=e.value;break;case 284:n.shadowMode=e.value;break;case 1001:(n.xdata??(n.xdata=[])).push(Dl(e,t));break;default:return!1}return!0}function Kl(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Dd={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},Nn=[{code:46,name:"annotationHeight",parser:l},{code:101,parser(n,e){Bd(e)}},{code:50,name:"columnHeight",parser:l},{code:49,name:"columnGutter",parser:l},{code:48,name:"columnWidth",parser:l},{code:79,name:"columnAutoHeight",parser:l},{code:78,name:"columnFlowReversed",parser:l},{code:76,name:"columnCount",parser:l},{code:75,name:"columnType",parser:l},{code:441,name:"backgroundFillTransparency",parser:l},{code:63,name:"backgroundFillColor",parser:l},{code:45,name:"fillBoxScale",parser:l},{code:[...us(430,440)],name:"backgroundColor",parser:l},{code:[...us(420,430)],name:"backgroundColor",parser:l},{code:90,name:"backgroundFill",parser:l},{code:44,name:"lineSpacing",parser:l},{code:73,name:"lineSpacingStyle",parser:l},{code:50,name:"rotation",parser:l},{code:43},{code:42},{code:11,name:"direction",parser:b},{code:210,name:"extrusionDirection",parser:b},{code:7,name:"styleName",parser:l},...xs("text"),{code:72,name:"drawingDirection",parser:l},{code:71,name:"attachmentPoint",parser:l},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:10,name:"insertionPoint",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Zl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Kl(this,"parser",T(Nn,Dd))}}function Ql(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Kl(Zl,"ForEntityName","MTEXT");let Vd={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},zd=[...Nn.slice(Nn.findIndex(({name:n})=>n==="columnType"),Nn.findIndex(({name:n})=>n==="subclassMarker")+1),{code:100},{code:0,parser(n){if(!O(n,0,"MTEXT"))return hn}},{code:2,name:"definitionTag",parser:l},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:b},{code:340,name:"secondaryAttributesHardId",parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:E},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedEntriesKeep",parser:E},{code:100},{code:280,name:"lockPositionFlag",parser:E},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"alignmentPoint",parser:b},{code:74,name:"verticalJustification",parser:l},{code:72,name:"horizontalJustification",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:7,name:"textStyle",parser:l},{code:51,name:"obliqueAngle",parser:l},{code:41,name:"scale",parser:l},{code:50,name:"rotation",parser:l},{code:73},{code:70,name:"attributeFlag",parser:l},{code:2,name:"tag",parser:l},{code:280},{code:100,name:"subclassMarker",parser:l},{code:1,name:"text",parser:l},{code:40,name:"textHeight",parser:l},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100},...V];class Jl{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Ql(this,"parser",T(zd,Vd))}}function eh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Ql(Jl,"ForEntityName","ATTRIB");let Hd=[...xs("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class th{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){eh(this,"parser",T(Hd))}}function ih(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}eh(th,"ForEntityName","BODY");let jd={thickness:0,extrusionDirection:{x:0,y:0,z:1}},Wd=[{code:210,name:"extrusionDirection",parser:b},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class nh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){ih(this,"parser",T(Wd,jd))}}function sh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}ih(nh,"ForEntityName","CIRCLE");let Gd={extrusionDirection:{x:0,y:0,z:1}},Ud=[{code:42,name:"endAngle",parser:l},{code:41,name:"startAngle",parser:l},{code:40,name:"axisRatio",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:11,name:"majorAxisEndPoint",parser:b},{code:10,name:"center",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class rh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){sh(this,"parser",T(Ud,Gd))}}function ah(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}sh(rh,"ForEntityName","ELLIPSE");let $d=[{code:13,name:"vertices.3",parser:b},{code:12,name:"vertices.2",parser:b},{code:11,name:"vertices.1",parser:b},{code:10,name:"vertices.0",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class oh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){ah(this,"parser",T($d))}}ah(oh,"ForEntityName","3DFACE");(nt={})[nt.First=1]="First",nt[nt.Second=2]="Second",nt[nt.Third=4]="Third",nt[nt.Fourth=8]="Fourth";let lh=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],qd=[{code:11,name:"end",parser:b},{code:10,name:"start",parser:b}],Kd=[{code:73,name:"isCCW",parser:E},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:b}],Zd=[{code:73,name:"isCCW",parser:E},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"lengthOfMinorAxis",parser:l},{code:11,name:"end",parser:b},{code:10,name:"center",parser:b}],Qd=[{code:13,name:"endTangent",parser:b},{code:12,name:"startTangent",parser:b},{code:11,name:"fitDatum",isMultiple:!0,parser:b},{code:97,name:"numberOfFitData",parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser(n,e){let t={...Ct(e),weight:1};return(n=e.next()).code===42?t.weight=n.value:e.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:l},{code:96,name:"numberOfControlPoints",parser:l},{code:95,name:"numberOfKnots",parser:l},{code:74,name:"isPeriodic",parser:E},{code:73,name:"splineFlag",parser:l},{code:94,name:"degree",parser:l}],Jd={[Sn.Line]:qd,[Sn.Circular]:Kd,[Sn.Elliptic]:Zd,[Sn.Spline]:Qd},eu=[...lh,{code:72,name:"edges",parser(n,e){let t={type:n.value},i=T(Jd[t.type]);if(!i)throw Error(`Invalid edge type ${t.type}`);return i(n=e.next(),e,t),t},isMultiple:!0},{code:93,name:"numberOfEdges",parser:l}],tu=[...lh,{code:10,name:"vertices",parser(n,e){let t={...Ct(e),bulge:0};return(n=e.next()).code===42?t.bulge=n.value:e.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:l},{code:73,name:"isClosed",parser:E},{code:72,name:"hasBulge",parser:E}];function iu(n,e){let t={boundaryPathTypeFlag:n.value},i=t.boundaryPathTypeFlag&gd.Polyline;return n=e.next(),i?T(tu)(n,e,t):T(eu)(n,e,t),t}let nu=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:Va},{code:43,name:"base",parser:Va},{code:53,name:"angle",parser:l}];function Va(n,e){let t=n.code+1,i={x:n.value,y:1};return(n=e.next()).code===t?i.y=n.value:e.rewind(),i}function su(n,e){let t={};return T(nu)(n,e,t),t}function ru(n,e){let t=[];for(;n.code===463;){let i={reservedField:n.value};if((n=e.next()).code===63&&(i.colorIndex=n.value,n=e.next()),n.code===421)i.rgb=n.value,t.push(i),n=e.next();else{e.rewind();break}}return n.code!==463&&t.length>0&&e.rewind(),t}function hh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let au={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},ou=[{code:470,name:"gradientName",parser:l},{code:463,name:"gradientColors",parser:ru},{code:462,name:"colorTint",parser:l},{code:461,name:"gradientDefinition",parser:l},{code:460,name:"gradientRotation",parser:l},{code:453,name:"numberOfColors",parser:l},{code:452,name:"gradientColorFlag",parser:l},{code:451},{code:450,name:"gradientFlag",parser:l},{code:10,name:"seedPoints",parser:b,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:b},{code:98,name:"numberOfSeedPoints",parser:l},{code:47,name:"pixelSize",parser:l},{code:53,name:"definitionLines",parser:su,isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:l},{code:77,name:"isDouble",parser:E},{code:73,name:"isAnnotated",parser:E},{code:41,name:"patternScale",parser:l},{code:52,name:"patternAngle",parser:l},{code:76,name:"patternType",parser:l},{code:75,name:"hatchStyle",parser:l},{code:92,name:"boundaryPaths",parser:iu,isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:l},{code:71,name:"associativity",parser:l},{code:63,name:"patternFillColor",parser:l},{code:70,name:"solidFill",parser:l},{code:2,name:"patternName",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:10,name:"elevationPoint",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class ch{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){hh(this,"parser",T(ou,au))}}function dh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}hh(ch,"ForEntityName","HATCH");let lu={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},hu=[{code:290,name:"clipMode",parser:l},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:b},{code:91,name:"countBoundaryPoints",parser:l},{code:71,name:"clippingBoundaryType",parser:l},{code:360,name:"imageDefReactorHandle",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipped",parser:E},{code:70,name:"flags",parser:l},{code:340,name:"imageDefHandle",parser:l},{code:13,name:"imageSize",parser:b},{code:12,name:"vPixel",parser:b},{code:11,name:"uPixel",parser:b},{code:10,name:"position",parser:b},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class uh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){dh(this,"parser",T(hu,lu))}}dh(uh,"ForEntityName","IMAGE");(st={})[st.ShowImage=1]="ShowImage",st[st.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",st[st.UseClippingBoundary=4]="UseClippingBoundary",st[st.TransparencyIsOn=8]="TransparencyIsOn";(Ti={})[Ti.Rectangular=1]="Rectangular",Ti[Ti.Polygonal=2]="Polygonal";(Mi={})[Mi.Outside=0]="Outside",Mi[Mi.Inside=1]="Inside";function gh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let cu={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},du=[{code:210,name:"extrusionDirection",parser:b},{code:45,name:"rowSpacing",parser:l},{code:44,name:"columnSpacing",parser:l},{code:71,name:"rowCount",parser:l},{code:70,name:"columnCount",parser:l},{code:50,name:"rotation",parser:l},{code:43,name:"zScale",parser:l},{code:42,name:"yScale",parser:l},{code:41,name:"xScale",parser:l},{code:10,name:"insertionPoint",parser:b},{code:2,name:"name",parser:l},{code:66,name:"isVariableAttributes",parser:E},{code:100,name:"subclassMarker",parser:l},...V];class ph{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){gh(this,"parser",T(du,cu))}}function mh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}gh(ph,"ForEntityName","INSERT");let uu={isArrowheadEnabled:!0},gu=[{code:213,name:"offsetFromAnnotation",parser:b},{code:212,name:"offsetFromBlock",parser:b},{code:211,name:"horizontalDirection",parser:b},{code:210,name:"normal",parser:b},{code:340,name:"associatedAnnotation",parser:l},{code:77,name:"byBlockColor",parser:l},{code:10,name:"vertices",parser:b,isMultiple:!0},{code:76,name:"numberOfVertices",parser:l},{code:41,name:"textWidth",parser:l},{code:40,name:"textHeight",parser:l},{code:75,name:"isHooklineExists",parser:E},{code:74,name:"isHooklineSameDirection",parser:E},{code:73,name:"leaderCreationFlag",parser:l},{code:72,name:"isSpline",parser:E},{code:71,name:"isArrowheadEnabled",parser:E},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class yh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){mh(this,"parser",T(gu,uu))}}mh(yh,"ForEntityName","LEADER");(rt={})[rt.TextAnnotation=0]="TextAnnotation",rt[rt.ToleranceAnnotation=1]="ToleranceAnnotation",rt[rt.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",rt[rt.NoAnnotation=3]="NoAnnotation";function _h(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let pu={thickness:0,extrusionDirection:{x:0,y:0,z:1}},mu=[{code:210,name:"extrusionDirection",parser:b},{code:11,name:"endPoint",parser:b},{code:10,name:"startPoint",parser:b},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class fh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){_h(this,"parser",T(mu,pu))}}function xh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}_h(fh,"ForEntityName","LINE");let yu=[{code:280,name:"shadowMapSoftness",parser:l},{code:91,name:"shadowMapSize",parser:l},{code:73,name:"shadowType",parser:l},{code:293,name:"isShadowCast",parser:E},{code:51,name:"falloffAngle",parser:l},{code:50,name:"hotspotAngle",parser:l},{code:42,name:"limitEnd",parser:l},{code:41,name:"limitStart",parser:l},{code:292,name:"isAttenuationLimited",parser:E},{code:72,name:"attenuationType",parser:l},{code:11,name:"target",parser:b},{code:10,name:"position",parser:b},{code:40,name:"intensity",parser:l},{code:291,name:"isPlotGlyph",parser:E},{code:290,name:"isOn",parser:E},{code:421,name:"lightColorInstance",parser:l},{code:63,name:"lightColorIndex",parser:l},{code:70,name:"lightType",parser:l},{code:1,name:"name",parser:l},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class wh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){xh(this,"parser",T(yu))}}xh(wh,"ForEntityName","LIGHT");(Wt={})[Wt.Distant=1]="Distant",Wt[Wt.Point=2]="Point",Wt[Wt.Spot=3]="Spot";(Gt={})[Gt.None=0]="None",Gt[Gt.InverseLinear=1]="InverseLinear",Gt[Gt.InverseSquare=2]="InverseSquare";let _u={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},fu={bulge:0},xu=[{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:91,name:"id",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l}],wu=[{code:210,name:"extrusionDirection",parser:b},{code:10,name:"vertices",isMultiple:!0,parser(n,e){let t={};return T(xu,fu)(n,e,t),t}},{code:39,name:"thickness",parser:l},{code:38,name:"elevation",parser:l},{code:43,name:"constantWidth",parser:l},{code:70,name:"flag",parser:l},{code:90,name:"numberOfVertices",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class On{parseEntity(e,t){let i={};return T(wu,_u)(t,e,i),i}}(ks="ForEntityName")in On?Object.defineProperty(On,ks,{value:"LWPOLYLINE",enumerable:!0,configurable:!0,writable:!0}):On[ks]="LWPOLYLINE";(ki={})[ki.IS_CLOSED=1]="IS_CLOSED",ki[ki.PLINE_GEN=128]="PLINE_GEN";function bh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let bu=[{code:90,name:"overridenSubEntityCount",parser:l},{code:140,name:"edgeCreaseWeights",parser:l,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:l},{code:94,parser(n,e,t){t.edgeCount=n.value,t.edgeIndices=[];for(let i=0;i<t.edgeCount;++i){let s=[];n=e.next(),s[0]=n.value,n=e.next(),s[1]=n.value,t.edgeIndices.push(s)}}},{code:93,parser(n,e,t){t.totalFaceIndices=n.value,t.faceIndices=[];let i=[];for(let r=0;r<t.totalFaceIndices&&!O(n,0);++r)n=e.next(),i.push(n.value);let s=0;for(;s<i.length;){let r=i[s++],a=[];for(let o=0;o<r;++o)a.push(i[s++]);t.faceIndices.push(a)}}},{code:10,name:"vertices",parser:b,isMultiple:!0},{code:92,name:"verticesCount",parser:l},{code:91,name:"subdivisionLevel",parser:l},{code:40,name:"blendCrease",parser:l},{code:72,name:"isBlendCreased",parser:E},{code:71,name:"version",parser:l},{code:100,name:"subclassMarker",parser:yd,pushContext:!0},...V];class Lh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){bh(this,"parser",T(bu))}}function Sh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}bh(Lh,"ForEntityName","MESH");let Lu=[{code:42,name:"fillParameters",parser:l,isMultiple:!0},{code:75,name:"fillCount",parser:l},{code:41,name:"parameters",parser:l,isMultiple:!0},{code:74,name:"parameterCount",parser:l}],Su=[{code:[74,41,75,42],name:"elements",parser(n,e){let t=T(Lu),i={};return t(n,e,i),i},isMultiple:!0},{code:13,name:"miterDirection",parser:b},{code:12,name:"direction",parser:b},{code:11,name:"position",parser:b}],Au=[{code:[11,12,13],name:"segments",parser(n,e){let t=T(Su),i={};return t(n,e,i),i},isMultiple:!0},{code:210,name:"extrusionDirection",parser:b},{code:10,name:"startPosition",parser:b},{code:73,name:"styleCount",parser:l},{code:72,name:"vertexCount",parser:l},{code:71,name:"flags",parser:l},{code:70,name:"justification",parser:l},{code:40,name:"scale",parser:l},{code:340,name:"styleObjectHandle",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class Ah{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Sh(this,"parser",T(Au))}}Sh(Ah,"ForEntityName","MLINE");(Ut={})[Ut.Top=0]="Top",Ut[Ut.Zero=1]="Zero",Ut[Ut.Bottom=2]="Bottom";(at={})[at.HasVertex=1]="HasVertex",at[at.Closed=2]="Closed",at[at.SuppressStartCaps=4]="SuppressStartCaps",at[at.SuppressEndCaps=8]="SuppressEndCaps";($t={})[$t.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",$t[$t.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",$t[$t.BY_STYLE=5]="BY_STYLE";function Ih(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Iu={},Pu=[{code:300,parser:function(n,e,t){var r;let i;if(n.value==="CONTEXT_DATA{")for(;e.hasNext();){var s;if((i=e.next()).code===301)break;switch(i.code){case 10:t.contentBasePosition=le(i,e);break;case 11:t.normal=le(i,e);break;case 12:t.textAnchor=le(i,e);break;case 13:t.textDirection=le(i,e);break;case 14:dt(t).normal=le(i,e);break;case 15:dt(t).position=le(i,e);break;case 16:dt(t).scale=le(i,e);break;case 40:t.contentScale=i.value;break;case 41:case 44:t.textHeight=i.value;break;case 42:t.textRotation=i.value;break;case 43:t.textWidth=i.value;break;case 45:t.textLineSpacingFactor=i.value;break;case 46:dt(t).rotation=i.value;break;case 47:(s=dt(t)).transformationMatrix??(s.transformationMatrix=[]),(r=dt(t).transformationMatrix)==null||r.push(i.value);break;case 90:t.textColor=i.value;break;case 91:t.textBackgroundColor=i.value;break;case 92:t.textBackgroundTransparency=i.value;break;case 93:dt(t).color=i.value;break;case 110:t.planeOrigin=le(i,e);break;case 111:t.planeXAxisDirection=le(i,e);break;case 112:t.planeYAxisDirection=le(i,e);break;case 140:t.arrowheadSize=i.value;break;case 141:t.textBackgroundScaleFactor=i.value;break;case 142:t.textColumnWidth=i.value;break;case 143:t.textColumnGutterWidth=i.value;break;case 144:t.textColumnHeight=i.value;break;case 145:t.landingGap=i.value;break;case 170:t.textLineSpacingStyle=i.value;break;case 171:t.textAttachment=i.value;break;case 172:t.textFlowDirection=i.value;break;case 173:t.textColumnType=i.value;break;case 290:t.hasMText=i.value;break;case 291:t.textBackgroundColorOn=i.value;break;case 292:t.textFillOn=i.value;break;case 293:t.textUseAutoHeight=i.value;break;case 294:t.textColumnFlowReversed=i.value;break;case 295:t.textUseWordBreak=i.value;break;case 296:t.hasBlock=i.value;break;case 297:t.planeNormalReversed=i.value;break;case 302:i.value==="LEADER{"&&(t.leaderSections??(t.leaderSections=[]),t.leaderSections.push(function(a,o){let h,c;if(a.value!=="LEADER{")return{leaderLines:[]};let d={leaderLines:[]};for(;o.hasNext();){if((c=o.next()).code===303){An(d,h);break}switch(c.code){case 290:d.lastLeaderLinePointSet=c.value;break;case 291:d.doglegVectorSet=c.value;break;case 10:d.lastLeaderLinePoint=le(c,o);break;case 11:d.doglegVector=le(c,o);break;case 12:h??(h={}),h.start=le(c,o);break;case 13:h??(h={}),h.end=le(c,o),An(d,h),h=void 0;break;case 90:d.leaderBranchIndex=c.value;break;case 40:d.doglegLength=c.value;break;case 304:c.value==="LEADER_LINE{"&&d.leaderLines.push(function(u,p){let g,m;if(u.value!=="LEADER_LINE{")return{vertices:[]};let y={vertices:[]};for(;p.hasNext();){if((m=p.next()).code===305){An(y,g);break}switch(m.code){case 10:y.vertices.push(le(m,p));break;case 11:g??(g={}),g.start=le(m,p);break;case 12:g??(g={}),g.end=le(m,p),An(y,g),g=void 0;break;case 90:y.breakPointIndexes??(y.breakPointIndexes=[]),y.breakPointIndexes.push(m.value),g??(g={}),g.index=m.value;break;case 91:y.leaderLineIndex=m.value}}return y}(c,o))}}return d}(i,e)));break;case 304:i.value!=="LEADER_LINE{"&&(t.textContent=i.value,t.contentType??(t.contentType=2));break;case 340:t.textStyleId=i.value;break;case 341:t.blockContentId=i.value,dt(t).blockContentId=i.value}}}},{code:270,name:"version",parser:l},{code:340,name:"leaderStyleId",parser:l},{code:90,name:"propertyOverrideFlag",parser:l},{code:170,name:"leaderLineType",parser:l},{code:91,name:"leaderLineColor",parser:l},{code:341,name:"leaderLineTypeId",parser:l},{code:171,name:"leaderLineWeight",parser:l},{code:290,name:"landingEnabled",parser:E},{code:291,name:"doglegEnabled",parser:E},{code:[40,41],name:"doglegLength",parser:l},{code:342,name:"arrowheadId",parser:l},{code:42,name:"arrowheadSize",parser:l},{code:172,name:"contentType",parser:l},{code:343,name:"textStyleId",parser:l},{code:173,name:"textLeftAttachmentType",parser:l},{code:95,name:"textRightAttachmentType",parser:l},{code:174,name:"textAngleType",parser:l},{code:175,name:"textAlignmentType",parser:l},{code:92,name:"textColor",parser:l},{code:292,name:"textFrameEnabled",parser:E},{code:344,parser:function(n,e,t){t.blockContentId=n.value,dt(t).blockContentId=n.value}},{code:93,name:"blockContentColor",parser:l},{code:10,name:"blockContentScale",parser:b},{code:43,name:"blockContentRotation",parser:l},{code:176,name:"blockContentConnectionType",parser:l},{code:293,name:"annotativeScaleEnabled",parser:E},{code:94,parser:function(n,e,t){t.arrowheadOverrides??(t.arrowheadOverrides=[]),t.arrowheadOverrides.push({index:n.value})},isMultiple:!0},{code:345,parser:function(n,e,t){var i;((i=t).arrowheadOverrides??(i.arrowheadOverrides=[]),i.arrowheadOverrides.length||i.arrowheadOverrides.push({}),i.arrowheadOverrides[i.arrowheadOverrides.length-1]).handle=n.value},isMultiple:!0},{code:330,parser:function(n,e,t){t.blockAttributes??(t.blockAttributes=[]),t.blockAttributes.push({id:n.value})},isMultiple:!0},{code:177,parser:function(n,e,t){Ys(t).index=n.value},isMultiple:!0},{code:44,parser:function(n,e,t){Ys(t).width=n.value},isMultiple:!0},{code:302,parser:function(n,e,t){Ys(t).text=n.value},isMultiple:!0},{code:294,name:"textDirectionNegative",parser:E},{code:178,name:"textAlignInIPE",parser:l},{code:179,name:"textAttachmentPoint",parser:l},{code:271,name:"textAttachmentDirection",parser:l},{code:272,name:"bottomTextAttachmentDirection",parser:l},{code:273,name:"topTextAttachmentDirection",parser:l},{code:100,name:"subclassMarker",parser:l},...V];function le(n,e){return er(b(n,e))}function An(n,e){(e!=null&&e.start||e!=null&&e.end)&&(n.breaks??(n.breaks=[]),n.breaks.push(e))}function dt(n){return n.blockContent??(n.blockContent={})}function Ys(n){return n.blockAttributes??(n.blockAttributes=[]),n.blockAttributes.length||n.blockAttributes.push({}),n.blockAttributes[n.blockAttributes.length-1]}class Ph{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Ih(this,"parser",T(Pu,Iu))}}function Eh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Ih(Ph,"ForEntityName","MULTILEADER");let Eu={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},Tu=[{code:50,name:"angle",parser:l},{code:210,name:"extrusionDirection",parser:b},{code:39,name:"thickness",parser:l},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Th{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Eh(this,"parser",T(Tu,Eu))}}function Mh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Eh(Th,"ForEntityName","POINT");let Mu={startWidth:0,endWidth:0,bulge:0},ku=[{code:91,name:"id",parser:l},{code:[...us(71,75)],name:"faces",isMultiple:!0,parser:l},{code:50,name:"tangentDirection",parser:l},{code:70,name:"flag",parser:l},{code:42,name:"bulge",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:30,name:"z",parser:l},{code:20,name:"y",parser:l},{code:10,name:"x",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...V];class Yr{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Mh(this,"parser",T(ku,Mu))}}function kh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Mh(Yr,"ForEntityName","VERTEX");let Cu={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},vu=[{code:0,name:"vertices",isMultiple:!0,parser:(n,e)=>O(n,0,"VERTEX")?(n=e.next(),new Yr().parseEntity(e,n)):hn},{code:210,name:"extrusionDirection",parser:b},{code:75,name:"smoothType",parser:l},{code:74,name:"surfaceNDensity",parser:l},{code:73,name:"surfaceMDensity",parser:l},{code:72,name:"meshNVertexCount",parser:l},{code:71,name:"meshMVertexCount",parser:l},{code:41,name:"endWidth",parser:l},{code:40,name:"startWidth",parser:l},{code:70,name:"flag",parser:l},{code:39,name:"thickness",parser:l},{code:30,name:"elevation",parser:l},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:l},...V];class Ch{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){kh(this,"parser",T(vu,Cu))}}kh(Ch,"ForEntityName","POLYLINE");(ae={})[ae.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",ae[ae.CURVE_FIT=2]="CURVE_FIT",ae[ae.SPLINE_FIT=4]="SPLINE_FIT",ae[ae.POLYLINE_3D=8]="POLYLINE_3D",ae[ae.POLYGON_3D=16]="POLYGON_3D",ae[ae.CLOSED_POLYGON=32]="CLOSED_POLYGON",ae[ae.POLYFACE=64]="POLYFACE",ae[ae.CONTINUOUS=128]="CONTINUOUS";var In=((ot={})[ot.NONE=0]="NONE",ot[ot.QUADRATIC=5]="QUADRATIC",ot[ot.CUBIC=6]="CUBIC",ot[ot.BEZIER=8]="BEZIER",ot);function vh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let Nu=[{code:11,name:"direction",parser:b},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Nh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){vh(this,"parser",T(Nu))}}function Oh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}vh(Nh,"ForEntityName","RAY");let Ou=[...xs("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Yh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Oh(this,"parser",T(Ou))}}function Xh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Oh(Yh,"ForEntityName","REGION");let Yu={vertices:[],backLineVertices:[]},Xu=[{code:360,name:"geometrySettingHardId",parser:l},{code:12,name:"backLineVertices",isMultiple:!0,parser:b},{code:93,name:"numberOfBackLineVertices",parser:l},{code:11,name:"vertices",isMultiple:!0,parser:b},{code:92,name:"verticesCount",parser:l},{code:[63,411],name:"indicatorColor",parser:l},{code:70,name:"indicatorTransparency",parser:l},{code:41,name:"bottomHeight",parser:l},{code:40,name:"topHeight",parser:l},{code:10,name:"verticalDirection",parser:b},{code:1,name:"name",parser:l},{code:91,name:"flag",parser:l},{code:90,name:"state",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Rh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Xh(this,"parser",T(Xu,Yu))}}function Bh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Xh(Rh,"ForEntityName","SECTION");let Ru={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},Bu=[{code:210,name:"extrusionDirection",parser:b},{code:39,name:"thickness",parser:l},{code:[...us(10,14)],name:"points",isMultiple:!0,parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Fh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Bh(this,"parser",T(Bu,Ru))}}function Dh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Bh(Fh,"ForEntityName","SOLID");let Fu=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...xs("data"),{code:70,name:"version",parser:l},{code:100},...V];class Vh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Dh(this,"parser",T(Fu))}}function zh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}Dh(Vh,"ForEntityName","3DSOLID");let Du={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},Vu=[{code:11,name:"fitPoints",isMultiple:!0,parser:b},{code:10,name:"controlPoints",isMultiple:!0,parser:b},{code:41,name:"weights",isMultiple:!0,parser:l},{code:40,name:"knots",isMultiple:!0,parser:l},{code:13,name:"endTangent",parser:b},{code:12,name:"startTangent",parser:b},{code:44,name:"fitTolerance",parser:l},{code:43,name:"controlTolerance",parser:l},{code:42,name:"knotTolerance",parser:l},{code:74,name:"numberOfFitPoints",parser:l},{code:73,name:"numberOfControlPoints",parser:l},{code:72,name:"numberOfKnots",parser:l},{code:71,name:"degree",parser:l},{code:70,name:"flag",parser:l},{code:210,name:"normal",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Hh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){zh(this,"parser",T(Vu,Du))}}zh(Hh,"ForEntityName","SPLINE");(Pe={})[Pe.NONE=0]="NONE",Pe[Pe.CLOSED=1]="CLOSED",Pe[Pe.PERIODIC=2]="PERIODIC",Pe[Pe.RATIONAL=4]="RATIONAL",Pe[Pe.PLANAR=8]="PLANAR",Pe[Pe.LINEAR=16]="LINEAR";function jh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let zu=[{code:280,name:"shadowMapSoftness",parser:l},{code:71,name:"shadowMapSize",parser:l},{code:70,name:"shadowType",parser:l},{code:292,name:"isSummerTime",parser:E},{code:92,name:"time",parser:l},{code:91,name:"julianDay",parser:l},{code:291,name:"hasShadow",parser:E},{code:40,name:"intensity",parser:l},{code:421,name:"lightColorInstance",parser:l},{code:63,name:"lightColorIndex",parser:l},{code:290,name:"isOn",parser:E},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V.filter(n=>n.code!==100)];class Wh{parseEntity(e,t){let i={layer:""};return this.parser(t,e,i),i}constructor(){jh(this,"parser",T(zu))}}jh(Wh,"ForEntityName","SUN");class Yn{parseEntity(e,t){let i={};for(;!e.isEOF();){if(t.code===0){e.rewind();break}switch(t.code){case 100:i.subclassMarker=t.value,t=e.next();break;case 2:i.name=t.value,t=e.next();break;case 5:i.handle=t.value,t=e.next();break;case 10:i.startPoint=er(Ct(e)),t=e.lastReadGroup;break;case 11:i.directionVector=er(Ct(e)),t=e.lastReadGroup;break;case 90:i.tableValue=t.value,t=e.next();break;case 91:i.rowCount=t.value,t=e.next();break;case 92:i.columnCount=t.value,t=e.next();break;case 93:i.overrideFlag=t.value,t=e.next();break;case 94:i.borderColorOverrideFlag=t.value,t=e.next();break;case 95:i.borderLineWeightOverrideFlag=t.value,t=e.next();break;case 96:i.borderVisibilityOverrideFlag=t.value,t=e.next();break;case 141:i.rowHeightArr??(i.rowHeightArr=[]),i.rowHeightArr.push(t.value),t=e.next();break;case 142:i.columnWidthArr??(i.columnWidthArr=[]),i.columnWidthArr.push(t.value),t=e.next();break;case 280:i.version=t.value,t=e.next();break;case 310:i.bmpPreview??(i.bmpPreview=""),i.bmpPreview+=t.value,t=e.next();break;case 330:i.ownerBlockRecordSoftId=t.value,t=e.next();break;case 342:i.tableStyleId=t.value,t=e.next();break;case 343:i.blockRecordHandle=t.value,t=e.next();break;case 170:i.attachmentPoint=t.value,t=e.next();break;case 171:i.cells??(i.cells=[]),i.cells.push(function(s,r){let a=!1,o=!1,h={};for(;!s.isEOF()&&r.code!==0&&!o;)switch(r.code){case 171:if(a){o=!0;continue}h.cellType=r.value,a=!0,r=s.next();break;case 172:h.flagValue=r.value,r=s.next();break;case 173:h.mergedValue=r.value,r=s.next();break;case 174:h.autoFit=r.value,r=s.next();break;case 175:h.borderWidth=r.value,r=s.next();break;case 176:h.borderHeight=r.value,r=s.next();break;case 91:h.overrideFlag=r.value,r=s.next();break;case 178:h.virtualEdgeFlag=r.value,r=s.next();break;case 145:h.rotation=r.value,r=s.next();break;case 345:h.fieldObjetId=r.value,r=s.next();break;case 340:h.blockTableRecordId=r.value,r=s.next();break;case 146:h.blockScale=r.value,r=s.next();break;case 177:h.blockAttrNum=r.value,r=s.next();break;case 7:h.textStyle=r.value,r=s.next();break;case 140:h.textHeight=r.value,r=s.next();break;case 170:h.attachmentPoint=r.value,r=s.next();break;case 92:h.extendedCellFlags=r.value,r=s.next();break;case 285:h.rightBorderVisibility=!!(r.value??!0),r=s.next();break;case 286:h.bottomBorderVisibility=!!(r.value??!0),r=s.next();break;case 288:h.leftBorderVisibility=!!(r.value??!0),r=s.next();break;case 289:h.topBorderVisibility=!!(r.value??!0),r=s.next();break;case 301:(function(c,d,u){for(;u.code!==304;)switch(u.code){case 301:case 93:case 90:case 94:u=d.next();break;case 1:c.text=u.value,u=d.next();break;case 300:c.attrText=u.value,u=d.next();break;case 302:c.text=u.value?u.value:c.text,u=d.next();break;default:u=d.next()}})(h,s,r),r=s.next();break;default:return h}return a=!1,o=!1,h}(e,t)),t=e.lastReadGroup;break;default:Fd(i,t,e),t=e.next()}}return i}}function Gh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}(Cs="ForEntityName")in Yn?Object.defineProperty(Yn,Cs,{value:"ACAD_TABLE",enumerable:!0,configurable:!0,writable:!0}):Yn[Cs]="ACAD_TABLE";let Hu=[{code:11,name:"xAxisDirection",parser:b},{code:210,name:"extrusionDirection",parser:b},{code:1,name:"text",parser:l},{code:10,name:"position",parser:b},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class Uh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Gh(this,"parser",T(Hu))}}Gh(Uh,"ForEntityName","TOLERANCE");var ju=((oe={})[oe.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",oe[oe.TANGENT_DEFINED=2]="TANGENT_DEFINED",oe[oe.NOT_USED=4]="NOT_USED",oe[oe.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",oe[oe.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",oe[oe.FOR_POLYLINE=32]="FOR_POLYLINE",oe[oe.FOR_POLYGON=64]="FOR_POLYGON",oe[oe.POLYFACE=128]="POLYFACE",oe);let Wu=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:l},{code:361,name:"sunId",parser:l},{code:431,name:"ambientLightColorName",parser:l},{code:421,name:"ambientLightColorInstance",parser:l},{code:63,name:"ambientLightColorIndex",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLighting",parser:E},{code:348,name:"visualStyleId",parser:l},{code:333,name:"shadePlotId",parser:l},{code:332,name:"backgroundId",parser:l},{code:61,name:"majorGridFrequency",parser:l},{code:170,name:"shadePlotMode",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:346,name:"ucsBaseId",parser:l},{code:345,name:"ucsId",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:74,name:"iconFlag",parser:l},{code:71,name:"ucsPerViewport",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"sheetName",parser:l},{code:340,name:"clippingBoundaryId",parser:l},{code:90,name:"statusBitFlags",parser:l},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:l},{code:72,name:"circleZoomPercent",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClipZ",parser:l},{code:43,name:"frontClipZ",parser:l},{code:42,name:"perspectiveLensLength",parser:l},{code:17,name:"targetPoint",parser:b},{code:16,name:"viewDirection",parser:b},{code:15,name:"gridSpacing",parser:b},{code:14,name:"snapSpacing",parser:b},{code:13,name:"snapBase",parser:b},{code:12,name:"displayCenter",parser:b},{code:69,name:"viewportId",parser:l},{code:68,name:"status",parser:l},{code:41,name:"height",parser:l},{code:40,name:"width",parser:l},{code:10,name:"viewportCenter",parser:b},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...V];class Xn{parseEntity(e,t){let i={};return T(Wu)(t,e,i),i}}function $h(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}(vs="ForEntityName")in Xn?Object.defineProperty(Xn,vs,{value:"VIEWPORT",enumerable:!0,configurable:!0,writable:!0}):Xn[vs]="VIEWPORT";let Gu={brightness:50,constrast:50,fade:0},Uu=[{code:14,name:"boundary",isMultiple:!0,parser:b},{code:91,name:"numberOfVertices",parser:l},{code:71,name:"boundaryType",parser:l},{code:360,name:"imageDefReactorHardId",parser:l},{code:283,name:"fade",parser:l},{code:282,name:"contrast",parser:l},{code:281,name:"brightness",parser:l},{code:280,name:"isClipping",parser:E},{code:70,name:"displayFlag",parser:l},{code:340,name:"imageDefHardId",parser:l},{code:13,name:"imageSize",parser:b},{code:12,name:"vDirection",parser:b},{code:11,name:"uDirection",parser:b},{code:10,name:"position",parser:b},{code:90,name:"classVersion",parser:l},{code:100,name:"subclassMarker",parser:l},...V];class qh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){$h(this,"parser",T(Uu,Gu))}}$h(qh,"ForEntityName","WIPEOUT");(lt={})[lt.ShowImage=1]="ShowImage",lt[lt.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",lt[lt.UseClippingBoundary=4]="UseClippingBoundary",lt[lt.Transparency=8]="Transparency";function Kh(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}let $u=[{code:11,name:"direction",parser:b},{code:10,name:"position",parser:b},{code:100,name:"subclassMarker",parser:l},...V];class Zh{parseEntity(e,t){let i={};return this.parser(t,e,i),i}constructor(){Kh(this,"parser",T($u))}}Kh(Zh,"ForEntityName","XLINE");let qu=0;function Qh(n){if(!n)throw TypeError("entity cannot be undefined or null");n.handle||(n.handle=qu++)}let Ku=Object.fromEntries([zl,vn,ql,Jl,th,nh,Cn,rh,oh,uh,ph,yh,fh,wh,On,Lh,Ah,Zl,Ph,Th,Ch,Nh,Yh,Rh,Fh,Vh,Hh,Wh,Yn,Ul,Uh,ch,Yr,Xn,qh,Zh].map(n=>[n.ForEntityName,new n]));function Jh(n,e){let t=[];for(;!O(n,0,"EOF");){if(n.code===0){if(n.value==="ENDBLK"||n.value==="ENDSEC"){e.rewind();break}let i=Ku[n.value];if(i){let s=n.value;n=e.next();let r=i.parseEntity(e,n);r.type=s,Qh(r),t.push(r)}else e.debug}n=e.next()}return t}function vi(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class za{next(){if(!this.hasNext())return this._eof?this.debug:this.debug,{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),t=Ha(e,this._data[this._pointer++],this.debug),i={code:e,value:t};return O(i,0,"EOF")&&(this._eof=!0),this.lastReadGroup=i,i}peek(){if(!this.hasNext())throw this._eof?Error("Cannot call 'next' after EOF group has been read"):Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=Ha(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,t=!1){vi(this,"_data",void 0),vi(this,"debug",void 0),vi(this,"_pointer",void 0),vi(this,"_eof",void 0),vi(this,"lastReadGroup",void 0),this._data=e,this.debug=t,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function Ha(n,e,t=!1){var i;let s=(i=e).endsWith("\r")?i.slice(0,-1):i;return n<=9?s:n>=10&&n<=59?parseFloat(e.trim()):n>=60&&n<=99?parseInt(e.trim()):n>=100&&n<=109?s:n>=110&&n<=149?parseFloat(e.trim()):n>=160&&n<=179?parseInt(e.trim()):n>=210&&n<=239?parseFloat(e.trim()):n>=270&&n<=289?parseInt(e.trim()):n>=290&&n<=299?function(r){if(r==="0")return!1;if(r==="1")return!0;throw TypeError("String '"+r+"' cannot be cast to Boolean type")}(e.trim()):n>=300&&n<=369?s:n>=370&&n<=389?parseInt(e.trim()):n>=390&&n<=399?s:n>=400&&n<=409?parseInt(e.trim()):n>=410&&n<=419?s:n>=420&&n<=429?parseInt(e.trim()):n>=430&&n<=439?s:n>=440&&n<=459?parseInt(e.trim()):n>=460&&n<=469?parseFloat(e.trim()):n>=470&&n<=481||n===999||n>=1e3&&n<=1009?s:n>=1010&&n<=1059?parseFloat(e.trim()):n>=1060&&n<=1071?parseInt(e.trim()):s}function Zu(n,e){let t=null,i={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");)n.code===9?t=typeof n.value=="string"?n.value:null:t!=null&&(n.code===10?i[t]=Ct(e):i[t]=n.value),n=e.next();return i}let ft=[{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,isMultiple:!0,parser(n,e){for(;!O(n,0,"EOF")&&!O(n,102,"}");)n=e.next()}},{code:5,name:"handle",parser:l}],Qu=[{code:70,name:"flag",parser:l},{code:2,name:"appName",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],Ju=T(Qu),eg=T([{code:310,name:"bmpPreview",parser:l},{code:281,name:"scalability",parser:l},{code:280,name:"explodability",parser:l},{code:70,name:"insertionUnits",parser:l},{code:340,name:"layoutObjects",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),tg=T([...Or.map(n=>({...n,parser:l})),{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},{code:105,name:"handle",parser:l},...ft.filter(n=>n.code!==5)]),ig=T([{code:347,name:"materialObjectId",parser:l},{code:390,name:"plotStyleNameObjectId",parser:l},{code:370,name:"lineweight",parser:l},{code:290,name:"isPlotting",parser:E},{code:6,name:"lineType",parser:l},{code:62,name:"colorIndex",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),ng=T([{code:9,name:"text",parser:l},{code:45,name:"offsetY",parser:l},{code:44,name:"offsetX",parser:l},{code:50,name:"rotation",parser:l},{code:46,name:"scale",parser:l},{code:340,name:"styleObjectId",parser:l},{code:75,name:"shapeNumber",parser:l},{code:74,name:"elementTypeFlag",parser:l},{code:49,name:"elementLength",parser:l}],{elementTypeFlag:0,elementLength:0}),sg=T([{code:49,name:"pattern",parser(n,e){let t={};return ng(n,e,t),t},isMultiple:!0},{code:40,name:"totalPatternLength",parser:l},{code:73,name:"numberOfLineTypes",parser:l},{code:72,parser:l},{code:3,name:"description",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),rg=T([{code:1e3,name:"extendedFont",parser:l},{code:1001},{code:4,name:"bigFont",parser:l},{code:3,name:"font",parser:l},{code:42,name:"lastHeight",parser:l},{code:71,name:"textGenerationFlag",parser:l},{code:50,name:"obliqueAngle",parser:l},{code:41,name:"widthFactor",parser:l},{code:40,name:"fixedTextHeight",parser:l},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),ag=[{code:13,name:"orthographicOrigin",parser:b},{code:71,name:"orthographicType",parser:l},{code:346,name:"baseUcsHandle",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"isOrthographic",parser:E},{code:12,name:"yAxis",parser:b},{code:11,name:"xAxis",parser:b},{code:10,name:"origin",parser:b},{code:70,name:"flag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],og=T(ag),lg=[{code:346,name:"baseUcsId",parser:l},{code:345,name:"ucsId",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:361,name:"sunHardId",parser:l},{code:348,name:"styleHardId",parser:l},{code:334,name:"liveSectionSoftId",parser:l},{code:332,name:"backgroundSoftId",parser:l},{code:73,name:"isPlottable",parser:E},{code:72,name:"isUcsAssociated",parser:E},{code:281,name:"renderMode",parser:l},{code:71,name:"viewMode",parser:l},{code:50,name:"twistAngle",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:12,name:"target",parser:b},{code:11,name:"direction",parser:b},{code:10,name:"center",parser:b},{code:41,name:"width",parser:l},{code:40,name:"height",parser:l},{code:70,name:"flag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft],hg=T(lg),cg=T([{code:[63,421,431],name:"ambientColor",parser:l},{code:142,name:"contrast",parser:l},{code:141,name:"brightness",parser:l},{code:282,name:"defaultLightingType",parser:l},{code:292,name:"isDefaultLightingOn",parser:E},{code:348,name:"visualStyleObjectId",parser:l},{code:333,name:"shadePlotObjectId",parser:l},{code:332,name:"backgroundObjectId",parser:l},{code:61,name:"majorGridLines",parser:l},{code:170,name:"shadePlotSetting",parser:l},{code:146,name:"elevation",parser:l},{code:79,name:"orthographicType",parser:l},{code:112,name:"ucsYAxis",parser:b},{code:111,name:"ucsXAxis",parser:b},{code:110,name:"ucsOrigin",parser:b},{code:74,name:"ucsIconSetting",parser:l},{code:71,name:"viewMode",parser:l},{code:281,name:"renderMode",parser:l},{code:1,name:"styleSheet",parser:l},{code:[331,441],name:"frozenLayers",parser:l,isMultiple:!0},{code:72,name:"circleSides",parser:l},{code:51,name:"viewTwistAngle",parser:l},{code:50,name:"snapRotationAngle",parser:l},{code:45,name:"viewHeight",parser:l},{code:44,name:"backClippingPlane",parser:l},{code:43,name:"frontClippingPlane",parser:l},{code:42,name:"lensLength",parser:l},{code:17,name:"viewTarget",parser:b},{code:16,name:"viewDirectionFromTarget",parser:b},{code:15,name:"gridSpacing",parser:b},{code:14,name:"snapSpacing",parser:b},{code:13,name:"snapBasePoint",parser:b},{code:12,name:"center",parser:b},{code:11,name:"upperRightCorner",parser:b},{code:10,name:"lowerLeftCorner",parser:b},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...ft]),dg={APPID:Ju,BLOCK_RECORD:eg,DIMSTYLE:tg,LAYER:ig,LTYPE:sg,STYLE:rg,UCS:og,VIEW:hg,VPORT:cg},ug=T([{code:70,name:"maxNumberOfEntries",parser:l},{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:360,isMultiple:!0},{code:5,name:"handle",parser:l},{code:2,name:"name",parser:l}]);function gg(n,e){var i;let t={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");){if(O(n,0,"TABLE")){n=e.next();let s={entries:[]};ug(n,e,s),t[s.name]=s}if(O(n,0)&&!O(n,0,"ENDTAB")){let s=n.value;n=e.next();let r=dg[s];if(!r){e.debug,n=e.next();continue}let a={};r(n,e,a),(i=t[s])==null||i.entries.push(a)}n=e.next()}return t}function pg(n,e){let t={};for(;!O(n,0,"EOF")&&!O(n,0,"ENDSEC");){if(O(n,0,"BLOCK")){let i=mg(n=e.next(),e);Qh(i),i.name&&(t[i.name]=i)}n=e.next()}return t}function mg(n,e){let t={};for(;!O(n,0,"EOF");){if(O(n,0,"ENDBLK")){for(n=e.next();!O(n,0,"EOF");){if(O(n,100,"AcDbBlockEnd"))return t;n=e.next()}break}switch(n.code){case 1:t.xrefPath=n.value;break;case 2:t.name=n.value;break;case 3:t.name2=n.value;break;case 5:t.handle=n.value;break;case 8:t.layer=n.value;break;case 10:t.position=Ct(e);break;case 67:t.paperSpace=!!n.value&&n.value==1;break;case 70:n.value!==0&&(t.type=n.value);break;case 100:break;case 330:t.ownerHandle=n.value;break;case 0:t.entities=Jh(n,e)}n=e.next()}return t}let xt=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:$e},{code:102,parser:$e},{code:102,parser:$e},{code:5,name:"handle",parser:l}],ec=[{code:333,name:"shadePlotId",parser:l},{code:149,name:"imageOriginY",parser:l},{code:148,name:"imageOriginX",parser:l},{code:147,name:"scaleFactor",parser:l},{code:78,name:"shadePlotCustomDPI",parser:l},{code:77,name:"shadePlotResolution",parser:l},{code:76,name:"shadePlotMode",parser:l},{code:75,name:"standardScaleType",parser:l},{code:7,name:"currentStyleSheet",parser:l},{code:74,name:"plotType",parser:l},{code:73,name:"plotRotation",parser:l},{code:72,name:"plotPaperUnit",parser:l},{code:70,name:"layoutFlag",parser:l},{code:143,name:"printScaleDenominator",parser:l},{code:142,name:"printScaleNumerator",parser:l},{code:141,name:"windowAreaYMax",parser:l},{code:140,name:"windowAreaXMax",parser:l},{code:49,name:"windowAreaYMin",parser:l},{code:48,name:"windowAreaXMin",parser:l},{code:47,name:"plotOriginY",parser:l},{code:46,name:"plotOriginX",parser:l},{code:45,name:"paperHeight",parser:l},{code:44,name:"paperWidth",parser:l},{code:43,name:"marginTop",parser:l},{code:42,name:"marginRight",parser:l},{code:41,name:"marginBottom",parser:l},{code:40,name:"marginLeft",parser:l},{code:6,name:"plotViewName",parser:l},{code:4,name:"paperSize",parser:l},{code:2,name:"configName",parser:l},{code:1,name:"pageSetupName",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],yg=[{code:346,name:"orthographicUcsId",parser:l},{code:345,name:"namedUcsId",parser:l},{code:331,name:"viewportId",parser:l},{code:330,name:"paperSpaceTableId",parser:l},{code:76,name:"orthographicType",parser:l},{code:17,name:"ucsYAxis",parser:b},{code:16,name:"ucsXAxis",parser:b},{code:13,name:"ucsOrigin",parser:b},{code:146,name:"elevation",parser:l},{code:15,name:"maxExtent",parser:b},{code:14,name:"minExtent",parser:b},{code:12,name:"insertionPoint",parser:b},{code:11,name:"maxLimit",parser:b},{code:10,name:"minLimit",parser:b},{code:71,name:"tabOrder",parser:l},{code:70,name:"controlFlag",parser:l},{code:1,name:"layoutName",parser:l},{code:100,name:"subclassMarker",parser:l},...ec],_g=[{code:3,name:"entries",parser:(n,e)=>{let t={name:n.value};return(n=e.next()).code===350?t.objectSoftId=n.value:n.code===360?t.objectHardId=n.value:e.rewind(),t},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:l},{code:280,name:"isHardOwned",parser:E},{code:100,name:"subclassMarker",parser:l},...xt],fg=[{code:40,name:"wcsToOCSTransform",parser:ja},{code:40,name:"ocsToWCSTransform",parser:ja},{code:41,name:"backClippingDistance",parser:l},{code:73,name:"isBackClipping",parser:E,pushContext:!0},{code:40,name:"frontClippingDistance",parser:l},{code:72,name:"isFrontClipping",parser:E,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:E},{code:11,name:"position",parser:b},{code:210,name:"normal",parser:b},{code:10,name:"boundaryVertices",parser:b,isMultiple:!0},{code:70,name:"boundaryCount",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...xt];function ja(n,e){let t=[];for(let i=0;i<3&&O(n,40);++i){let s=[];for(let r=0;r<4&&O(n,40);++r)s.push(n.value),n=e.next();t.push(s)}return e.rewind(),t}let xg=[{code:330,name:"imageDefReactorIdSoft",isMultiple:!0,parser:l},{code:90,name:"version",parser:l},{code:1,name:"fileName",parser:l},{code:10,name:"size",parser:b},{code:11,name:"sizeOfOnePixel",parser:b},{code:280,name:"isLoaded",parser:l},{code:281,name:"resolutionUnits",parser:l},{code:100,name:"subclassMarker",parser:l}],wg=[{code:179,name:"unknown1",parser:l},{code:170,name:"contentType",parser:l},{code:171,name:"drawMLeaderOrderType",parser:l},{code:172,name:"drawLeaderOrderType",parser:l},{code:90,name:"maxLeaderSegmentPoints",parser:l},{code:40,name:"firstSegmentAngleConstraint",parser:l},{code:41,name:"secondSegmentAngleConstraint",parser:l},{code:173,name:"leaderLineType",parser:l},{code:91,name:"leaderLineColor",parser:l},{code:340,name:"leaderLineTypeId",parser:l},{code:92,name:"leaderLineWeight",parser:l},{code:290,name:"landingEnabled",parser:E},{code:42,name:"landingGap",parser:l},{code:291,name:"doglegEnabled",parser:E},{code:43,name:"doglegLength",parser:l},{code:3,name:"description",parser:l},{code:341,name:"arrowheadId",parser:l},{code:44,name:"arrowheadSize",parser:l},{code:300,name:"defaultMTextContents",parser:l},{code:342,name:"textStyleId",parser:l},{code:174,name:"textLeftAttachmentType",parser:l},{code:175,name:"textAngleType",parser:l},{code:176,name:"textAlignmentType",parser:l},{code:178,name:"textRightAttachmentType",parser:l},{code:93,name:"textColor",parser:l},{code:45,name:"textHeight",parser:l},{code:292,name:"textFrameEnabled",parser:E},{code:297,name:"textAlignAlwaysLeft",parser:E},{code:46,name:"alignSpace",parser:l},{code:343,name:"blockContentId",parser:l},{code:94,name:"blockContentColor",parser:l},{code:47,name:"blockContentScale.x",parser:l},{code:49,name:"blockContentScale.y",parser:l},{code:140,name:"blockContentScale.z",parser:l},{code:293,name:"blockContentScaleEnabled",parser:E},{code:141,name:"blockContentRotation",parser:l},{code:294,name:"blockContentRotationEnabled",parser:E},{code:177,name:"blockContentConnectionType",parser:l},{code:142,name:"scale",parser:l},{code:295,name:"overwritePropertyValue",parser:E},{code:296,name:"annotative",parser:E},{code:143,name:"breakGapSize",parser:l},{code:271,name:"textAttachmentDirection",parser:l},{code:272,name:"bottomTextAttachmentDirection",parser:l},{code:273,name:"topTextAttachmentDirection",parser:l},{code:298,name:"unknown2",parser:l},{code:100,name:"subclassMarker",parser:l},...xt];function Pn(n,e,t){n.elements||(n.elements=[]);let i=n.elements.find(s=>s[e]===void 0);if(i){i[e]=t;return}n.elements.push({[e]:t})}let bg=[{code:6,parser:function({value:n},e,t){Pn(t,"lineType",n)},isMultiple:!0},{code:62,parser:function({value:n},e,t){var i;if(t.fillColorIndex===void 0&&!((i=t.elements)!=null&&i.length)){t.fillColorIndex=n;return}Pn(t,"colorIndex",n)},isMultiple:!0},{code:420,parser:function({value:n},e,t){var i;if(t.fillColor===void 0&&!((i=t.elements)!=null&&i.length)){t.fillColor=n;return}Pn(t,"color",n)},isMultiple:!0},{code:49,parser:function({value:n},e,t){Pn(t,"offset",n)},isMultiple:!0},{code:71,name:"elementCount",parser:l},{code:52,name:"endAngle",parser:l},{code:51,name:"startAngle",parser:l},{code:3,name:"description",parser:l},{code:70,name:"flags",parser:l},{code:2,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Lg=[{code:340,name:"entityIds",parser:l,isMultiple:!0},{code:71,name:"isSelectable",parser:E},{code:70,name:"isUnnamed",parser:E},{code:300,name:"description",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Sg=[{code:8,name:"layerNames",parser:l,isMultiple:!0},{code:100,name:"subclassMarker",parser:l},{code:100,name:"filterSubclassMarker",parser:l},...xt],Ag=[{code:90,name:"idBufferEntryCounts",parser:l,isMultiple:!0},{code:360,name:"idBufferIds",parser:l,isMultiple:!0},{code:8,name:"layerNames",parser:l,isMultiple:!0},{code:100,name:"subclassMarker",parser:l},{code:40,name:"timeStamp",parser:l},{code:100,name:"indexSubclassMarker",parser:l},...xt],Ig=[{code:75,name:"hasLastPointRef",parser:E},{code:1,name:"pointRefs",parser:function(n,e){let t={className:n.value};for(;;)switch((n=e.next()).code){case 72:t.objectOsnapType=n.value;continue;case 331:t.mainObjectId=n.value;continue;case 73:t.mainObjectSubentityType=n.value;continue;case 91:t.mainObjectGsMarker=n.value;continue;case 301:t.mainObjectXrefHandle=n.value;continue;case 40:t.nearOsnapGeometryParameter=n.value;continue;case 10:{let i=b(n,e);t.osnapPoint="z"in i?i:{...i,z:0}}continue;case 332:t.intersectionObjectId=n.value;continue;case 74:t.intersectionObjectSubentityType=n.value;continue;case 92:t.intersectionObjectGsMarker=n.value;continue;case 302:t.intersectionObjectXrefHandle=n.value;continue;default:return e.rewind(),t}},isMultiple:!0},{code:71,name:"rotatedDimensionType",parser:l},{code:70,name:"transSpaceFlag",parser:E},{code:90,name:"associativityFlag",parser:l},{code:330,name:"dimensionObjectId",parser:l},{code:100,name:"subclassMarker",parser:l},...xt],Pg={LAYOUT:yg,PLOTSETTINGS:ec,DICTIONARY:_g,SPATIAL_FILTER:fg,IMAGEDEF:xg,MLEADERSTYLE:wg,MLINESTYLE:bg,GROUP:Lg,LAYER_FILTER:Sg,LAYER_INDEX:Ag,DIMASSOC:Ig};function Eg(n,e){let t=[];for(;n.code!==0||!["EOF","ENDSEC"].includes(n.value);){let i=n.value,s=Pg[i];if(n.code===0&&(s!=null&&s.length)){let r=T(s),a={name:i};r(n=e.next(),e,a)?(t.push(a),n=e.peek()):n=e.next()}else n=e.next()}return{byName:Yd(t,({name:i})=>i)}}function Hi(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}class Tg{constructor(){Hi(this,"encoding","utf-8"),Hi(this,"encodingFailureFatal",!1),Hi(this,"thumbnailImageFormat","base64")}}class Mg extends EventTarget{parseSync(e,t=!1){let i=new za(e.split(/\r\n|\r|\n/g),t);if(!i.hasNext())throw Error("Empty file");return this.parseAll(i)}parseStream(e){let t="",i=this;return new Promise((s,r)=>{e.on("data",a=>{t+=a}),e.on("end",()=>{try{let a=t.split(/\r\n|\r|\n/g),o=new za(a);if(!o.hasNext())throw Error("Empty file");s(i.parseAll(o))}catch(a){r(a)}}),e.on("error",a=>{r(a)})})}async parseFromUrl(e,t){let i=await fetch(e,t);if(!i.body)return null;let s=i.body.getReader(),r="";for(;;){let{done:a,value:o}=await s.read();if(a){r+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}r+=this._decoder.decode(o,{stream:!0})}return this.parseSync(r)}parseAll(e){let t={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},i=e.next();for(;!O(i,0,"EOF");)O(i,0,"SECTION")&&(O(i=e.next(),2,"HEADER")?t.header=Zu(i=e.next(),e):O(i,2,"CLASSES")?wd(i=e.next(),e,t):O(i,2,"BLOCKS")?t.blocks=pg(i=e.next(),e):O(i,2,"ENTITIES")?t.entities=Jh(i=e.next(),e):O(i,2,"TABLES")?t.tables=gg(i=e.next(),e):O(i,2,"OBJECTS")?t.objects=Eg(i=e.next(),e):O(i,2,"THUMBNAILIMAGE")&&(t.thumbnailImage=function(s,r,a="base64"){let o,h="",c=0;for(;!O(s,0,"EOF")&&!O(s,0,"ENDSEC");)s.code===90?c=s.value:s.code===310&&(h+=s.value),s=r.next();if(a==="hex")o=h;else{let d=function(u){let p=u.length/2,g=new Uint8Array(p);for(let m=0;m<p;m++)g[m]=parseInt(u.substr(2*m,2),16);return g}(h);o=a==="buffer"?d:function(u){let p="";for(let g=0;g<u.length;g++)p+=String.fromCharCode(u[g]);return btoa(p)}(d)}return{size:c,data:o}}(i=e.next(),e,this._options.thumbnailImageFormat))),i=e.next();return t}constructor(e={}){super(),Hi(this,"_decoder",void 0),Hi(this,"_options",void 0);let t=new Tg;this._options=Object.assign(t,e),this._decoder=new TextDecoder(this._options.encoding,{fatal:this._options.encodingFailureFatal})}}(Ee={})[Ee.NOT_APPLICABLE=0]="NOT_APPLICABLE",Ee[Ee.KEEP_EXISTING=1]="KEEP_EXISTING",Ee[Ee.USE_CLONE=2]="USE_CLONE",Ee[Ee.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",Ee[Ee.VALUE_NAME=4]="VALUE_NAME",Ee[Ee.UNMANGLE_NAME=5]="UNMANGLE_NAME";(qt={})[qt.NOUNIT=0]="NOUNIT",qt[qt.CENTIMETERS=2]="CENTIMETERS",qt[qt.INCH=5]="INCH";(Ci={})[Ci.PSLTSCALE=1]="PSLTSCALE",Ci[Ci.LIMCHECK=2]="LIMCHECK";(Kt={})[Kt.INCHES=0]="INCHES",Kt[Kt.MILLIMETERS=1]="MILLIMETERS",Kt[Kt.PIXELS=2]="PIXELS";(Te={})[Te.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",Te[Te.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",Te[Te.DRAWING_LIMITS=2]="DRAWING_LIMITS",Te[Te.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",Te[Te.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",Te[Te.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION";(ht={})[ht.AS_DISPLAYED=0]="AS_DISPLAYED",ht[ht.WIREFRAME=1]="WIREFRAME",ht[ht.HIDDEN=2]="HIDDEN",ht[ht.RENDERED=3]="RENDERED";(Me={})[Me.DRAFT=0]="DRAFT",Me[Me.PREVIEW=1]="PREVIEW",Me[Me.NORMAL=2]="NORMAL",Me[Me.PRESENTATION=3]="PRESENTATION",Me[Me.MAXIMUM=4]="MAXIMUM",Me[Me.CUSTOM=5]="CUSTOM";(ct={})[ct.NONE=0]="NONE",ct[ct.AbsoluteRotation=1]="AbsoluteRotation",ct[ct.TextEmbedded=2]="TextEmbedded",ct[ct.ShapeEmbedded=4]="ShapeEmbedded";(Ns={})[Ns.PaperSpace=1]="PaperSpace";(Zt={})[Zt.XrefDependent=16]="XrefDependent",Zt[Zt.XrefResolved=32]="XrefResolved",Zt[Zt.Referenced=64]="Referenced";(ke={})[ke.Off=0]="Off",ke[ke.Perspective=1]="Perspective",ke[ke.ClipFront=2]="ClipFront",ke[ke.ClipBack=4]="ClipBack",ke[ke.UcsFollow=8]="UcsFollow",ke[ke.ClipFrontByFrontZ=16]="ClipFrontByFrontZ";class kg{parse(e){const t=new Mg,i=this.getDxfInfoFromBuffer(e);let s="";return i.version&&i.version.value<=23&&i.encoding?s=new TextDecoder(i.encoding).decode(e):s=new TextDecoder().decode(e),t.parseSync(s)}getDxfInfoFromBuffer(e){var c,d,u;const i=new TextDecoder("utf-8");let s=0,r="",a=null,o=null,h=!1;for(;s<e.byteLength;){const p=Math.min(s+65536,e.byteLength),g=e.slice(s,p);s=p;const y=(r+i.decode(g,{stream:!0})).split(/\r?\n/);r=y.pop()??"";for(let _=0;_<y.length;_++){const f=y[_].trim();if(f==="SECTION"&&((c=y[_+2])==null?void 0:c.trim())==="HEADER")h=!0;else if(f==="ENDSEC"&&h)return{version:a,encoding:o};if(h&&f==="$ACADVER"){const S=(d=y[_+2])==null?void 0:d.trim();S&&(a=new ve(S))}else if(h&&f==="$DWGCODEPAGE"){const S=(u=y[_+2])==null?void 0:u.trim();if(S){const L=or[S];o=oo(L)}}if(a&&o)return{version:a,encoding:o}}}return{version:a,encoding:o}}}class Wa{convert(e){const t=this.createEntity(e);return t&&this.processCommonAttrs(e,t),t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POLYLINE"?this.convertPolyline(e):e.type=="POINT"?this.convertPoint(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):null}convertFace(e){const t=new Wn;return e.vertices.forEach((i,s)=>t.setVertexAt(s,i)),t}convertArc(e){const t=e.extrusionDirection??x.Z_AXIS;return new Dn(Ws(e.center,t),e.radius,k.degToRad(e.startAngle),k.degToRad(e.endAngle),t)}convertAttributeCommon(e,t){t.textString=e.text,t.height=e.textHeight,t.position.copy(e.startPoint);const i=e.alignmentPoint,s=!i||i.x===0&&i.y===0&&(i.z??0)===0;i&&!s?t.alignmentPoint.copy(i):t.alignmentPoint.copy(e.startPoint),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.tag=e.tag,t.fieldLength=0,t.isInvisible=(e.attributeFlag&ne.Invisible)!==0,t.isConst=(e.attributeFlag&ne.Const)!==0,t.isVerifiable=(e.attributeFlag&ne.Verifiable)!==0,t.isPreset=(e.attributeFlag&ne.Preset)!==0,t.isReallyLocked=!!e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&We.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&We.ConstMultiLine)!==0}convertAttribute(e){const t=new zn;return this.convertAttributeCommon(e,t),t.styleName=e.textStyle,t.horizontalMode=e.horizontalJustification,t.verticalMode=e.verticalJustification,t.widthFactor=e.scale??1,t.lockPositionInBlock=e.lockPositionFlag,t}convertAttributeDefinition(e){const t=new Vn;return this.convertAttributeCommon(e,t),t.styleName=e.styleName,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t.prompt=e.prompt,t}convertCirle(e){const t=e.extrusionDirection??x.Z_AXIS;return new Hn(Ws(e.center,t),e.radius,t)}convertEllipse(e){const t=new x(e.majorAxisEndPoint),i=t.length();return new jn(e.center,e.extrusionDirection??x.Z_AXIS,t,i,i*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,i=e.endPoint;return new Ki(new w(t.x,t.y,t.z||0),new w(i.x,i.y,i.z||0))}convertSpline(e){try{if(e.numberOfControlPoints>0&&e.numberOfKnots>0)return new Qi(e.controlPoints,e.knots,e.weights,e.degree,!!(e.flag&1));if(e.numberOfFitPoints>0)return new Qi(e.fitPoints,"Uniform",e.degree,!!(e.flag&1))}catch{}return null}convertPoint(e){const t=new Qn;return t.position=e.position,t}convertSolid(e){const t=new Kn;return e.points.forEach((i,s)=>t.setPointAt(s,i)),t.thickness=e.thickness,t}convertPolyline(e){var d;const t=!!(e.flag&1),i=!!(e.flag&8),s=!!(e.flag&16),r=!!(e.flag&64),a=!!(e.flag&32),o=[],h=[],c=[];if((d=e.vertices)==null||d.map(u=>{u.flag&ju.SPLINE_CONTROL_POINT||(r&&u.flag&128?u.flag&64?(o.push({x:u.x,y:u.y,z:u.z}),h.push(u.bulge??0)):u.faces&&u.faces.length>=3&&c.push([...u.faces]):(o.push({x:u.x,y:u.y,z:u.z}),h.push(u.bulge??0)))}),s){const u=e.meshMVertexCount,p=e.meshNVertexCount;return new ns(u,p,o,t,a)}else{if(r)return new ss(o,c);if(i){let u=Di.SimplePoly;return e.flag&4&&(e.smoothType==In.CUBIC?u=Di.CubicSplinePoly:e.smoothType==In.QUADRATIC&&(u=Di.QuadSplinePoly)),new Fn(u,o,t)}else{let u=hi.SimplePoly;return e.flag&2?u=hi.FitCurvePoly:e.flag&4&&(e.smoothType==In.CUBIC?u=hi.CubicSplinePoly:e.smoothType==In.QUADRATIC&&(u=hi.QuadSplinePoly)),new Bn(u,o,0,t,e.startWidth,e.endWidth,h)}}}convertLWPolyline(e){var s;const t=new Zn;t.closed=!!(e.flag&1);const i=e.constantWidth??-1;return(s=e.vertices)==null||s.forEach((r,a)=>{t.addVertexAt(a,new v(r.x,r.y),r.bulge,r.startWidth??i,r.endWidth??i)}),t}convertHatch(e){var s;const t=new qi;if((s=e.definitionLines)==null||s.forEach(r=>{t.definitionLines.push({angle:k.degToRad(r.angle||0),base:r.base,offset:r.offset,dashLengths:r.numberOfDashLengths>0?r.dashLengths:[]})}),t.isSolidFill=e.solidFill==ud.SolidFill,t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:k.degToRad(e.patternAngle),t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(r=>{if(r.boundaryPathTypeFlag&2){const o=r,h=new ce;h.closed=o.isClosed,o.vertices.forEach((c,d)=>{h.addVertexAt(d,{x:c.x,y:c.y,bulge:c.bulge})}),t.add(h)}else{const o=r,h=[];o.edges.forEach(d=>{if(d.type==1){const u=d;h.push(new Ge(u.start,u.end))}else if(d.type==2){const u=d;h.push(new Mt(u.center,u.radius,k.degToRad(u.startAngle||0),k.degToRad(u.endAngle||0),!u.isCCW))}else if(d.type==3){const u=d;new K().subVectors(u.end,u.center);const g=Math.sqrt(Math.pow(u.end.x,2)+Math.pow(u.end.y,2)),m=g*u.lengthOfMinorAxis;let y=k.degToRad(u.startAngle||0),_=k.degToRad(u.endAngle||0);const f=Math.atan2(u.end.y,u.end.x);u.isCCW||(y=Math.PI*2-y,_=Math.PI*2-_),h.push(new Ui({...u.center,z:0},g,m,y,_,!u.isCCW,f))}else if(d.type==4){const u=d;if(u.numberOfControlPoints>0&&u.numberOfKnots>0){const p=u.controlPoints.map(y=>({x:y.x,y:y.y,z:0}));let g=!0;const m=u.controlPoints.map(y=>(y.weight==null&&(g=!1),y.weight||1));h.push(new Ue(p,u.knots,g?m:void 0))}else if(u.numberOfFitData>0){const p=u.fitDatum.map(g=>({x:g.x,y:g.y,z:0}));h.push(new Ue(p,"Uniform"))}}});const c=$i.buildFromEdges(h);c.length==0&&h.length>0?t.add(new $i(h)):c.forEach(d=>t.add(d))}}),e.gradientFlag){const r=e;if(t.hatchObjectType=Sr.GradientObject,t.gradientName=r.gradientName,t.gradientAngle=r.gradientRotation??0,t.gradientShift=r.gradientDefinition??0,t.gradientOneColorMode=r.gradientColorFlag==1,t.shadeTintValue=r.colorTint??0,r.gradientColors){const a=r.gradientColors.length;a>1?(t.gradientStartColor=r.gradientColors[0].rgb,t.gradientEndColor=r.gradientColors[1].rgb):a>0&&(t.gradientStartColor=r.gradientColors[0].rgb)}}return t}convertTable(e){const t=new qn(e.name,e.rowCount,e.columnCount);return t.tableDataVersion=e.version,t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new x(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((i,s)=>t.setColumnWidth(s,i)),e.rowHeightArr.forEach((i,s)=>t.setRowHeight(s,i)),e.cells.forEach((i,s)=>{t.setCell(s,i)}),t}convertText(e){const t=new pi;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const i=e.endPoint,s=!i||i.x===0&&i.y===0&&(i.z??0)===0;return i&&!s?t.alignmentPoint.copy(i):t.alignmentPoint.copy(e.startPoint),t.rotation=k.degToRad(e.rotation||0),t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertMText(e){const t=new Zi;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.height,t.width=e.width,t.rotation=k.degToRad(e.rotation||0),t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new x(e.direction)),t.drawingDirection=e.drawingDirection,t}convertLeader(e){var i;const t=new Gn;return(i=e.vertices)==null||i.forEach(s=>{t.appendVertex(s)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,t.textHeight=e.textHeight??0,t.textWidth=e.textWidth??0,t.byBlockColor=e.byBlockColor,t.associatedAnnotation=e.associatedAnnotation??"",e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new Un;return t.styleName=e.name||"STANDARD",t.styleObjectHandle=e.styleObjectHandle,t.scale=e.scale,t.justification=e.justification,t.flags=e.flags,t.styleCount=e.styleCount,t.startPosition=e.startPosition,t.normal=e.extrusionDirection??x.Z_AXIS,t.segments=(e.segments??[]).map(i=>{var s;return{position:i.position,direction:i.direction,miterDirection:i.miterDirection,elements:((s=i.elements)==null?void 0:s.map(r=>({parameterCount:r.parameterCount,parameters:r.parameters??[],fillCount:r.fillCount,fillParameters:r.fillParameters??[]})))??[]}}),t}convertMLeader(e){var L,M;const t=new $n,i=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??gi.StraightLeader,t.leaderLineColor=e.leaderLineColor,t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,t.textColor=e.textColor,t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,t.blockContentId=e.blockContentId,t.blockContentColor=e.blockContentColor,t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(I=>({...I})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(I=>({...I})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,t.textBackgroundColor=e.textBackgroundColor,t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new x(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new w().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new w().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new w().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new x(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new x(e.planeYAxisDirection));const s=i.textContent,r=s&&typeof s=="object"?s:void 0,a=typeof s=="string"&&s.length>0||this.readString(r??{},["text","contents"])!=null||this.readString(i,["text","contents","mtext"])!=null,o=e.contentType??(a?mt.MTextContent:e.blockContent?mt.BlockContent:mt.NoneContent);t.contentType=o;const h=this.readPoint(i,["normal","extrusionDirection"]);h&&(t.normal=h);const c=this.readString(r??{},["styleName","textStyleName","textStyle"])??this.readString(i,["textStyleName","textStyle","styleName","textStyleId"]);c&&(t.textStyleName=c);const d=this.readPositiveNumber(r??{},["textHeight","height"])??this.readPositiveNumber(i,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(i,["arrowheadSize","contentScale"]);d!=null&&(t.textHeight=d);const u=this.readPositiveNumber(r??{},["textWidth","width"])??this.readPositiveNumber(i,["textWidth","mtextWidth","textContentWidth"]);u!=null&&(t.textWidth=u),t.textLineSpacingFactor=this.readNumber(r??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(i,["textLineSpacingFactor"])??t.textLineSpacingFactor;const p=this.readNumber(r??{},["textRotation","rotation"])??this.readNumber(i,["textRotation","mtextRotation","textContentRotation"]);p!=null&&(t.textRotation=k.degToRad(p));const g=this.readPoint(i,["textDirection","mtextDirection","textDirectionVector"]);g&&(t.textDirection=g);const m=this.readNumber(i,["textAttachmentPoint","attachmentPoint"]);m!=null&&(t.textAttachmentPoint=m);const y=e.textAttachmentDirection;y!=null&&(t.textAttachmentDirection=y);const _=this.readNumber(i,["textDrawingDirection","drawingDirection"]);_!=null&&(t.textDrawingDirection=_);const f=typeof s=="string"?s:this.readString(r??{},["text","contents"])??this.readString(i,["text","contents","mtext"]),S=this.readPoint(r??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(i,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(f!=null&&S&&(t.mtextContent={text:f,anchorPoint:S}),e.blockContent){const I=e.blockContent;t.blockContent={blockContentId:e.blockContent.blockContentId,normal:this.readPoint(I,["normal"]),position:e.blockContent.position,scale:this.readPoint(I,["scale"]),rotation:this.readNumber(I,["rotation"]),color:this.readNumber(I,["color"]),transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}else e.blockContentId&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:e.blockContentColor,transformationMatrix:[]});return(L=this.readMLeaderLeaders(i))==null||L.forEach(I=>{t.addLeader({lastLeaderLinePoint:I.lastLeaderLinePoint,lastLeaderLinePointSet:I.lastLeaderLinePointSet,doglegVector:I.doglegVector,doglegVectorSet:I.doglegVectorSet,doglegLength:I.doglegLength??e.doglegLength,breaks:I.breaks,leaderBranchIndex:I.leaderBranchIndex,leaderLines:I.leaderLines})}),t.numberOfLeaders===0&&((M=this.readLeaderLineArray(i))==null||M.forEach(I=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,I)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,i=new en(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(i.dimBlockPosition={...t.insertionPoint,z:0}),i.rotation=k.degToRad(t.rotationAngle||0),this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,i=new cs(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(i.dimBlockPosition={...t.insertionPoint,z:0}),i.rotation=k.degToRad(t.rotationAngle||0),this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,i=new as(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,i=new ls(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,i=new hs(t.definitionPoint,t.subDefinitionPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,i),i}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,i=new os(t.definitionPoint,t.subDefinitionPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,i),i}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.isShownClipped=(e.flags|4)>0,t.isImageShown=(e.flags|3)>0,t.isImageTransparent=(e.flags|8)>0,t.imageDefId=e.imageDefHandle,t.isClipped=e.isClipped,e.clippingBoundaryPath.forEach(i=>{t.clipBoundary.push(new v(i))}),t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new Ji;return this.processImage(e,t),t.clipBoundaryType=e.clippingBoundaryType,t}processWipeout(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.isShownClipped=(e.displayFlag|4)>0,t.isImageShown=(e.displayFlag|3)>0,t.isImageTransparent=(e.displayFlag|8)>0,t.imageDefId=e.imageDefHardId,t.isClipped=e.isClipping,e.boundary.forEach(i=>{t.clipBoundary.push(new v(i))}),t.clipBoundaryType=e.boundaryType,t.width=Math.sqrt(e.uDirection.x**2+e.uDirection.y**2+e.uDirection.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vDirection.x**2+e.vDirection.y**2+e.vDirection.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uDirection.y,e.uDirection.x)}convertWipeout(e){const t=new ts;return this.processWipeout(e,t),t}convertViewport(e){const t=new es;return t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,t}convertRay(e){const t=new Jn;return t.basePoint.copy(e.position),t.unitDir.copy(e.direction),t}convertXline(e){const t=new is;return t.basePoint.copy(e.position),t.unitDir.copy(e.direction),t}convertBlockReference(e){const t=new ni(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale||1,t.scaleFactors.y=e.yScale||1,t.scaleFactors.z=e.zScale||1,t.rotation=e.rotation!=null?k.degToRad(e.rotation):0,t.normal.copy(e.extrusionDirection??{x:0,y:0,z:1}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement,t.normal.copy(e.extrusionDirection??{x:0,y:0,z:1})}processCommonAttrs(e,t){if(t.layer=e.layer||"0",e.handle&&(t.objectId=e.handle.toString()),t.ownerId=e.ownerBlockRecordSoftId||"",e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const i=new X;e.color!=null&&i.setRGBValue(e.color),e.colorIndex!=null&&(i.colorIndex=e.colorIndex),e.colorName&&(i.colorName=e.colorName),t.color=i}e.isVisible!=null&&(t.visibility=!e.isVisible),e.transparency!=null&&(t.transparency=J.deserialize(e.transparency))}readNumber(e,t){for(const i of t){const s=e[i];if(typeof s=="number"&&Number.isFinite(s))return s}}readPositiveNumber(e,t){const i=this.readNumber(e,t);return i!=null&&i>0?i:void 0}readString(e,t){for(const i of t){const s=e[i];if(typeof s=="string")return s}}readBoolean(e,t){for(const i of t){const s=e[i];if(typeof s=="boolean")return s;if(typeof s=="number")return s!==0}}readPoint(e,t){for(const i of t){const s=e[i];if(this.isPointLike(s))return s;if(Array.isArray(s)&&typeof s[0]=="number"&&typeof s[1]=="number")return{x:s[0],y:s[1],z:s[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(s=>{if(!s||typeof s!="object")return;const r=s.vertices;return Array.isArray(r)?r.filter(a=>this.isPointLike(a)):void 0}).filter(s=>!!s&&s.length>0);const i=e.vertices;if(Array.isArray(i)){const s=i.filter(r=>this.isPointLike(r));return s.length>0?[s]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const i=[];return t.forEach(s=>{if(!s||typeof s!="object")return;const r=s,a=r.leaderLines,o=Array.isArray(a)?a.reduce((m,y)=>{const _=this.readMLeaderLine(y);return _&&m.push(_),m},[]):void 0,h={},c=this.readPoint(r,["lastLeaderLinePoint"]),d=this.readPoint(r,["doglegVector"]),u=this.readNumber(r,["doglegLength"]),p=this.readMLeaderBreaks(r.breaks),g=this.readNumber(r,["leaderBranchIndex"]);c&&(h.lastLeaderLinePoint=c),r.lastLeaderLinePointSet!=null&&(h.lastLeaderLinePointSet=this.readBoolean(r,["lastLeaderLinePointSet"])),d&&(h.doglegVector=d),r.doglegVectorSet!=null&&(h.doglegVectorSet=this.readBoolean(r,["doglegVectorSet"])),u!=null&&(h.doglegLength=u),p&&(h.breaks=p),g!=null&&(h.leaderBranchIndex=g),o&&(h.leaderLines=o),i.push(h)}),i}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,i=t.vertices,s=Array.isArray(i)?i.filter(h=>this.isPointLike(h)):[],r=this.readMLeaderBreaks(t.breaks),a=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(h=>typeof h=="number"):void 0,o=this.readNumber(t,["leaderLineIndex"]);return s.length>0||r&&r.length>0?{vertices:s,breakPointIndexes:a,leaderLineIndex:o,breaks:r}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(i=>{if(!i||typeof i!="object")return;const s=i,r=this.readPoint(s,["start"]),a=this.readPoint(s,["end"]),o=this.readNumber(s,["index"]);if(!r||!a)return;const h={start:r,end:a};return o!=null&&(h.index=o),h}).filter(i=>!!i);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class Cg{convertLayout(e,t){var r,a;const i=new on;i.layoutName=e.layoutName,i.tabOrder=e.tabOrder,i.plotSettingsName=e.pageSetupName,i.plotCfgName=e.configName,i.canonicalMediaName=e.paperSize,i.plotViewName=e.plotViewName,i.currentStyleSheet=e.currentStyleSheet,i.plotPaperMargins={left:e.marginLeft,right:e.marginRight,top:e.marginTop,bottom:e.marginBottom},i.plotPaperSize.copy({x:e.paperWidth,y:e.paperHeight}),i.plotOrigin.copy({x:e.plotOriginX,y:e.plotOriginY}),i.plotWindowArea.min.copy({x:e.windowAreaXMin,y:e.windowAreaYMin}),i.plotWindowArea.max.copy({x:e.windowAreaXMax,y:e.windowAreaYMax}),i.customPrintScale={numerator:e.printScaleNumerator,denominator:e.printScaleDenominator},i.plotPaperUnits=e.plotPaperUnit,i.plotRotation=e.plotRotation,i.plotType=e.plotType,i.stdScaleType=e.standardScaleType,i.shadePlot=(()=>{switch(e.shadePlotMode){case 1:return ci.kWireframe;case 2:return ci.kHidden;case 3:return ci.kRendered;default:return ci.kAsDisplayed}})(),i.shadePlotResLevel=(()=>{switch(e.shadePlotResolution){case 1:return Lt.kPreview;case 2:return Lt.kNormal;case 3:return Lt.kPresentation;case 4:return Lt.kMaximum;case 5:return Lt.kCustom;default:return Lt.kDraft}})(),e.shadePlotCustomDPI!=null&&(i.shadePlotCustomDPI=e.shadePlotCustomDPI),e.shadePlotId&&(i.shadePlotId=e.shadePlotId);const s=e.layoutFlag??0;if(i.plotViewportBorders=(s&1)!==0,i.showPlotStyles=(s&2)!==0,i.plotCentered=(s&4)!==0,i.plotHidden=(s&8)!==0,i.useStandardScale=(s&16)!==0,i.plotPlotStyles=(s&32)!==0,i.scaleLineweights=(s&64)!==0,i.printLineweights=(s&128)!==0,i.drawViewportsFirst=(s&512)!==0,i.modelType=(s&1024)!==0,e.viewportId&&i.viewportArray.push(e.viewportId),e.layoutName==="Model"){const o=ie.MODEL_SPACE_NAME.toUpperCase();(r=t.tables.BLOCK_RECORD)==null||r.entries.some(h=>h.name.toUpperCase()===o?(i.blockTableRecordId=h.handle,!0):!1)}else(a=t.tables.BLOCK_RECORD)==null||a.entries.some(o=>o.layoutObjects===e.handle?(i.blockTableRecordId=o.handle,!0):!1),i.blockTableRecordId||(i.blockTableRecordId=e.paperSpaceTableId);return e.minLimit&&i.limits.min.copy(e.minLimit),e.maxLimit&&i.limits.max.copy(e.maxLimit),e.minExtent&&i.extents.min.copy(e.minExtent),e.maxExtent&&i.extents.max.copy(e.maxExtent),this.processCommonAttrs(e,i),i}convertImageDef(e){const t=new bl;return t.sourceFileName=e.fileName,this.processCommonAttrs(e,t),t}convertMLeaderStyle(e){const t=new Ar;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=zi(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=zi(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=zi(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertMLineStyle(e){var s;const t=new Ir;if(e.styleName!=null&&(t.styleName=e.styleName),e.flags!=null&&(t.flags=e.flags),e.description!=null&&(t.description=e.description),e.fillColor!=null)t.fillColor=new X().setRGBValue(e.fillColor);else if(e.fillColorIndex!=null){const r=new X;r.colorIndex=e.fillColorIndex,t.fillColor=r}e.startAngle!=null&&(t.startAngle=e.startAngle),e.endAngle!=null&&(t.endAngle=e.endAngle);const i=Math.max(e.elementCount??0,((s=e.elements)==null?void 0:s.length)??0);return i>0&&(t.elements=Array.from({length:i},(r,a)=>{var o,h,c,d;return{offset:((h=(o=e.elements)==null?void 0:o[a])==null?void 0:h.offset)??0,color:(()=>{var p,g,m,y;const u=new X;return((g=(p=e.elements)==null?void 0:p[a])==null?void 0:g.color)!=null?u.setRGBValue(e.elements[a].color):u.colorIndex=((y=(m=e.elements)==null?void 0:m[a])==null?void 0:y.colorIndex)??256,u})(),lineType:((d=(c=e.elements)==null?void 0:c[a])==null?void 0:d.lineType)??"BYLAYER"}})),this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}}class tc{constructor(e){this.taskId=0,this.workers=new Map,this.pendingTasks=new Map,this.config={workerUrl:e.workerUrl,timeout:e.timeout??3e4,maxConcurrentWorkers:e.maxConcurrentWorkers??4}}async execute(e,t){const i=Date.now(),s=this.generateTaskId();try{return await this.executeInWorker(s,e,t||this.config.workerUrl)}catch(r){const a=Date.now()-i;return{success:!1,error:r instanceof Error?r.message:String(r),duration:a}}}async executeInWorker(e,t,i){const s=Date.now();return new Promise((r,a)=>{const o=this.getAvailableWorker(i),h=setTimeout(()=>{this.cleanupTask(e),this.releaseWorker(o),a(new Error(`Worker operation timed out after ${this.config.timeout}ms`))},this.config.timeout);this.pendingTasks.set(e,{resolve:u=>{clearTimeout(h),this.releaseWorker(o),r(u)},reject:u=>{clearTimeout(h),this.releaseWorker(o),a(u)},timeout:h});const c=u=>{const{id:p,success:g,data:m,error:y}=u.data;if(p!==e)return;this.cleanupTask(e);const _=Date.now()-s;r(g?{success:!0,data:m,duration:_}:{success:!1,error:y,duration:_})},d=u=>{this.cleanupTask(e),a(new Error(`Worker error: ${u.message}`))};o.addEventListener("message",c),o.addEventListener("error",d),o.postMessage({id:e,input:t})})}cleanupTask(e){const t=this.pendingTasks.get(e);t&&(clearTimeout(t.timeout),this.pendingTasks.delete(e))}generateTaskId(){return`task_${++this.taskId}_${Date.now()}`}detectWorkerSupport(){return typeof Worker<"u"}getAvailableWorker(e){for(const[i,s]of this.workers)if(!s.isBusy)return s.isBusy=!0,s.worker;if(this.workers.size<this.config.maxConcurrentWorkers){const i=new Worker(e,{type:"module"}),s=this.generateWorkerId(),r={worker:i,isBusy:!0,id:s,createdAt:new Date};return this.workers.set(s,r),i}const t=Array.from(this.workers.values()).sort((i,s)=>i.createdAt.getTime()-s.createdAt.getTime())[0];return t.isBusy=!0,t.worker}releaseWorker(e){for(const[t,i]of this.workers)if(i.worker===e){i.isBusy=!1;break}}generateWorkerId(){return`worker_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}getStats(){return{totalWorkers:this.workers.size,busyWorkers:Array.from(this.workers.values()).filter(e=>e.isBusy).length,pendingTasks:this.pendingTasks.size,config:this.config}}destroy(){for(const[e,t]of this.pendingTasks)clearTimeout(t.timeout),t.reject(new Error("Framework destroyed"));this.pendingTasks.clear();for(const[e,t]of this.workers)t.worker.terminate();this.workers.clear()}}class ic{constructor(e){this.framework=new tc(e)}async execute(e,t){return this.framework.execute(e,t)}getStats(){return this.framework.getStats()}destroy(){this.framework.destroy()}}function nc(n){return new ic(n)}class vg{constructor(){this.setupMessageHandler()}setupMessageHandler(){self.onmessage=async e=>{const{id:t,input:i}=e.data;try{const s=await this.executeTask(i);this.sendResponse(t,!0,s)}catch(s){this.sendResponse(t,!1,void 0,s instanceof Error?s.message:String(s))}}}sendResponse(e,t,i,s){const r={id:e,success:t,data:i,error:s};self.postMessage(r)}}class sc extends Nr{constructor(e={}){super(e),e.parserWorkerUrl||(e.parserWorkerUrl="/assets/dxf-parser-worker.js")}async parse(e,t){const i=this.config,s=this.getParserWorkerTimeout(e,t);if(i.useWorker&&i.parserWorkerUrl){const r=nc({workerUrl:i.parserWorkerUrl,timeout:s,maxConcurrentWorkers:1}),a=await r.execute(e);if(r.destroy(),a.success)return{model:a.data,data:{unknownEntityCount:0}};throw new Error(`Failed to parse drawing due to error: '${a.error}'`)}else return{model:new kg().parse(e),data:{unknownEntityCount:0}}}getFonts(e){var r;const t=new Map,i=a=>{if(a){const o=a.lastIndexOf(".");return o>=0?a.substring(0,o).toLowerCase():a.toLowerCase()}};(r=e.tables.STYLE)==null||r.entries.forEach(a=>{const o=[];if(a.font){const h=i(a.font);h&&o.push(h)}if(a.bigFont){const h=i(a.bigFont);h&&o.push(h)}if(a.extendedFont){const h=i(a.extendedFont);h&&o.push(h)}t.set(a.name,o)});const s=new Set;return this.getFontsInBlock(e.entities,e.blocks,t,s),Array.from(s)}getFontsInBlock(e,t,i,s){const r=/\\f(.*?)\|/g;e.forEach(a=>{if(a.type=="MTEXT"){const o=a;[...o.text.matchAll(r)].forEach(d=>{s.add(d[1].toLowerCase())});const c=i.get(o.styleName);c==null||c.forEach(d=>s.add(d))}else if(a.type=="TEXT"){const o=a,h=i.get(o.styleName);h==null||h.forEach(c=>s.add(c))}else if(a.type=="MULTILEADER"||a.type=="MLEADER"){const o=a;[...(typeof o.textContent=="string"?o.textContent:"").matchAll(r)].forEach(u=>{s.add(u[1].toLowerCase())});const c=typeof o.textStyleName=="string"?o.textStyleName:typeof o.styleName=="string"?o.styleName:void 0,d=c?i.get(c):void 0;d==null||d.forEach(u=>s.add(u))}else if(a.type=="INSERT"){const h=t[a.name];h&&h.entities&&this.getFontsInBlock(h.entities,t,i,s)}})}async processEntities(e,t,i,s,r){const a=new Wa;let o=e.entities;const h=o.length,c=new rr(h,100-s.value,i);this.config.convertByEntityType&&(o=this.groupAndFlattenByType(o));const d=new Map;for(let p=0;p<h;p++){const g=o[p];if(g.type==="ATTRIB"){const m=a.convert(g);if(m&&m.ownerId&&m.ownerId!=="0"){let y=d.get(m==null?void 0:m.ownerId);y==null&&(y=[],d.set(m.ownerId,y)),y.push(m)}}}const u=t.tables.blockTable.modelSpace;await c.processChunk(async(p,g)=>{let m=[],y=p<g?o[p].type:"";for(let f=p;f<g;f++){const S=o[f];if(!(S.ownerBlockRecordSoftId&&S.ownerBlockRecordSoftId!==u.objectId)&&S.type!=="ATTRIB"){const L=a.convert(S);if(L){if(this.config.convertByEntityType&&S.type!==y&&(u.appendEntity(m),m=[],y=S.type),S.type==="INSERT"){const M=d.get(L.objectId);M&&M.length>0&&M.forEach(I=>{L.appendAttributes(I)})}m.push(L)}}}u.appendEntity(m);let _=s.value+g/h*(100-s.value);_>100&&(_=100),r&&await r(_,"ENTITY","IN-PROGRESS")})}async processEntitiesInBlock(e,t,i=!1){const s=new Wa,r=e.length,a=[],o=t.objectId,h=[];for(let c=0;c<r;c++){const d=e[c],u=s.convert(d);u&&(d.type==="ATTRIB"?h.push(u):(!i||d.ownerBlockRecordSoftId===o)&&a.push(u))}t.appendEntity(a),h.forEach(c=>{const d=t.getIdAt(c.ownerId);d&&d.appendAttributes(c)})}processBlocks(e,t){const i=e.blocks;for(const[s,r]of Object.entries(i)){let a=t.tables.blockTable.getAt(r.name);a||(a=new ie,a.objectId=r.handle,a.name=s,a.origin.copy(r.position),t.tables.blockTable.add(a)),r.entities?this.processEntitiesInBlock(r.entities,a):a.isPaperSapce&&this.processEntitiesInBlock(e.entities,a,!0)}}processHeader(e,t){const i=e.header;i.$ACADVER&&(t.version=i.$ACADVER),t.cecolor.colorIndex=i.$CECOLOR||256,t.angBase=i.$ANGBASE||0,t.angDir=i.$ANGDIR||0,i.$AUNITS!=null&&(t.aunits=i.$AUNITS),t.celtype=i.$CELTYPE||pe,Ne.instance().setVar(A.CETRANSPARENCY,i.$CETRANSPARENCY||"ByLayer",t),t.celtscale=i.$CELTSCALE||1;const s=this.normalizeHeaderStringValue(i.$CMLSTYLE)||this.normalizeHeaderStringValue(i.CMLSTYLE)||gt;t.cmlstyle=s;const r=i.$CMLSCALE??i.CMLSCALE;typeof r=="number"&&Number.isFinite(r)&&(t.cmlscale=r);const a=this.normalizeHeaderStringValue(i.$CMLEADERSTYLE)||this.normalizeHeaderStringValue(i.CMLEADERSTYLE)||pt;t.cmleaderstyle=a,t.hplayer=this.normalizeHeaderStringValue(i.$HPLAYER)||this.normalizeHeaderStringValue(i.HPLAYER)||".",t.ltscale=i.$LTSCALE||1,i.$EXTMAX&&(t.extmax=i.$EXTMAX),i.$EXTMIN&&(t.extmin=i.$EXTMIN),i.$INSUNITS!=null&&(t.insunits=i.$INSUNITS),t.osmode=i.$OSMODE||0,t.pdmode=i.$PDMODE||0,t.pdsize=i.$PDSIZE||0,t.textstyle=i.$TEXTSTYLE||Q}processBlockTables(e,t){var s;const i=(s=e.tables.BLOCK_RECORD)==null?void 0:s.entries;i&&i.length>0&&(t.tables.blockTable.removeAll(),i.forEach(r=>{const a=new ie;a.objectId=r.handle,a.name=r.name,a.layoutId=r.layoutObjects,a.blockInsertUnits=r.insertionUnits,a.explodability=r.explodability,a.blockScaling=r.scalability,r.bmpPreview&&(a.bmpPreview=r.bmpPreview),t.tables.blockTable.add(a)}))}processObjects(e,t){const i=e.objects.byName,s=new Cg;if("LAYOUT"in i){const r=t.objects.layout;i.LAYOUT.forEach(a=>{const o=s.convertLayout(a,e);r.setAt(o.layoutName,o)})}if("IMAGEDEF"in i){const r=t.objects.imageDefinition;i.IMAGEDEF.forEach(a=>{const o=s.convertImageDef(a);r.setAt(o.objectId,o)})}if("MLEADERSTYLE"in i){const r=t.objects.mleaderStyle;i.MLEADERSTYLE.forEach(a=>{const o=s.convertMLeaderStyle(a);r.setAt(o.objectId,o)})}if("MLINESTYLE"in i){const r=t.objects.mlineStyle;i.MLINESTYLE.forEach(a=>{const o=s.convertMLineStyle(a);r.setAt(o.styleName||o.objectId,o)})}}processViewports(e,t){var s;const i=(s=e.tables)==null?void 0:s.VPORT;if(i){this.processCommonTableAttrs(i,t.tables.viewportTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new vr;this.processCommonTableEntryAttrs(a,o),a.circleSides&&(o.circleSides=a.circleSides),o.standardFlag=a.standardFlag,o.center.copy(a.center),o.lowerLeftCorner.copy(a.lowerLeftCorner),o.upperRightCorner.copy(a.upperRightCorner),a.snapBasePoint&&o.snapBase.copy(a.snapBasePoint),a.snapRotationAngle&&(o.snapAngle=a.snapRotationAngle),a.snapSpacing&&o.snapIncrements.copy(a.snapSpacing),a.majorGridLines&&(o.gridMajor=a.majorGridLines),a.gridSpacing&&o.gridIncrements.copy(a.gridSpacing),a.backgroundObjectId&&(o.backgroundObjectId=a.backgroundObjectId),o.gsView.center.copy(a.center),o.gsView.viewDirectionFromTarget.copy(a.viewDirectionFromTarget),o.gsView.viewTarget.copy(a.viewTarget),a.lensLength&&(o.gsView.lensLength=a.lensLength),a.frontClippingPlane&&(o.gsView.frontClippingPlane=a.frontClippingPlane),a.backClippingPlane&&(o.gsView.backClippingPlane=a.backClippingPlane),a.viewHeight&&(o.gsView.viewHeight=a.viewHeight),a.viewTwistAngle&&(o.gsView.viewTwistAngle=a.viewTwistAngle),a.frozenLayers&&(o.gsView.frozenLayers=a.frozenLayers),a.styleSheet&&(o.gsView.styleSheet=a.styleSheet),a.renderMode&&(o.gsView.renderMode=a.renderMode),a.viewMode&&(o.gsView.viewMode=a.viewMode),a.ucsIconSetting&&(o.gsView.ucsIconSetting=a.ucsIconSetting),a.ucsOrigin&&o.gsView.ucsOrigin.copy(a.ucsOrigin),a.ucsXAxis&&o.gsView.ucsXAxis.copy(a.ucsXAxis),a.ucsYAxis&&o.gsView.ucsYAxis.copy(a.ucsYAxis),a.orthographicType&&(o.gsView.orthographicType=a.orthographicType),a.shadePlotSetting&&(o.gsView.shadePlotSetting=a.shadePlotSetting),a.shadePlotObjectId&&(o.gsView.shadePlotObjectId=a.shadePlotObjectId),a.visualStyleObjectId&&(o.gsView.visualStyleObjectId=a.visualStyleObjectId),a.isDefaultLightingOn&&(o.gsView.isDefaultLightingOn=a.isDefaultLightingOn),a.defaultLightingType&&(o.gsView.defaultLightingType=a.defaultLightingType),a.brightness&&(o.gsView.brightness=a.brightness),a.contrast&&(o.gsView.contrast=a.contrast),a.ambientColor&&(o.gsView.ambientColor=a.ambientColor),t.tables.viewportTable.add(o)})}}processLayers(e,t){var s;const i=(s=e.tables)==null?void 0:s.LAYER;if(i){this.processCommonTableAttrs(i,t.tables.layerTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new X;o.colorIndex=a.colorIndex;const h=new _s({name:a.name,standardFlags:a.standardFlag,linetype:a.lineType,lineWeight:a.lineweight,isOff:a.colorIndex<0,color:o,isPlottable:a.isPlotting});this.processCommonTableEntryAttrs(a,h),t.tables.layerTable.add(h)})}}processLineTypes(e,t){var s;const i=(s=e.tables)==null?void 0:s.LTYPE;if(i){this.processCommonTableAttrs(i,t.tables.linetypeTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new Et(a);this.processCommonTableEntryAttrs(a,o),o.name=a.name,t.tables.linetypeTable.add(o)})}}processTextStyles(e,t){var s;const i=(s=e.tables)==null?void 0:s.STYLE;if(i){this.processCommonTableAttrs(i,t.tables.textStyleTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o=new fs(a);this.processCommonTableEntryAttrs(a,o),t.tables.textStyleTable.add(o)})}}processDimStyles(e,t){var s;const i=(s=e.tables)==null?void 0:s.DIMSTYLE;if(i){this.processCommonTableAttrs(i,t.tables.dimStyleTable);const r=i.entries;r&&r.length>0&&r.forEach(a=>{const o={name:a.name,ownerId:a.ownerObjectId,dimpost:a.DIMPOST||"",dimapost:a.DIMAPOST||"",dimscale:a.DIMSCALE,dimasz:a.DIMASZ,dimexo:a.DIMEXO,dimdli:a.DIMDLI,dimexe:a.DIMEXE,dimrnd:a.DIMRND,dimdle:a.DIMDLE,dimtp:a.DIMTP,dimtm:a.DIMTM,dimtxt:a.DIMTXT,dimcen:a.DIMCEN,dimtsz:a.DIMTSZ,dimaltf:a.DIMALTF,dimlfac:a.DIMLFAC,dimtvp:a.DIMTVP,dimtfac:a.DIMTFAC,dimgap:a.DIMGAP,dimaltrnd:a.DIMALTRND,dimtol:a.DIMTOL==null||a.DIMTOL==0?0:1,dimlim:a.DIMLIM==null||a.DIMLIM==0?0:1,dimtih:a.DIMTIH==null||a.DIMTIH==0?0:1,dimtoh:a.DIMTOH==null||a.DIMTOH==0?0:1,dimse1:a.DIMSE1==null||a.DIMSE1==0?0:1,dimse2:a.DIMSE2==null||a.DIMSE2==0?0:1,dimtad:a.DIMTAD,dimzin:a.DIMZIN,dimazin:a.DIMAZIN,dimalt:a.DIMALT,dimaltd:a.DIMALTD,dimtofl:a.DIMTOFL,dimsah:a.DIMSAH,dimtix:a.DIMTIX,dimsoxd:a.DIMSOXD,dimclrd:a.DIMCLRD,dimclre:a.DIMCLRE,dimclrt:a.DIMCLRT,dimadec:a.DIMADEC||0,dimunit:a.DIMUNIT||2,dimdec:a.DIMDEC,dimtdec:a.DIMTDEC,dimaltu:a.DIMALTU,dimalttd:a.DIMALTTD,dimaunit:a.DIMAUNIT,dimfrac:a.DIMFRAC,dimlunit:a.DIMLUNIT,dimdsep:a.DIMDSEP?a.DIMDSEP.toString():".",dimtmove:a.DIMTMOVE||0,dimjust:a.DIMJUST,dimsd1:a.DIMSD1,dimsd2:a.DIMSD2,dimtolj:a.DIMTOLJ,dimtzin:a.DIMTZIN,dimaltz:a.DIMALTZ,dimalttz:a.DIMALTTZ,dimfit:a.DIMFIT||0,dimupt:a.DIMUPT,dimatfit:a.DIMATFIT,dimtxsty:a.DIMTXSTY||Q,dimldrblk:a.DIMLDRBLK||"",dimblk:a.DIMBLK||"",dimblk1:a.DIMBLK1||"",dimblk2:a.DIMBLK2||"",dimlwd:a.DIMLWD,dimlwe:a.DIMLWE},h=new si(o);this.processCommonTableEntryAttrs(a,h),t.tables.dimStyleTable.add(h)})}}processCommonTableAttrs(e,t){e.handle!=null&&(t.objectId=e.handle),e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}processCommonTableEntryAttrs(e,t){t.name="name"in e?e.name:"",e.handle!=null&&(t.objectId=e.handle),e.ownerObjectId!=null&&(t.ownerId=e.ownerObjectId)}groupAndFlattenByType(e){const t={},i=[];for(const s of e)t[s.type]||(t[s.type]=[],i.push(s.type)),t[s.type].push(s);return i.flatMap(s=>t[s])}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}class rc extends Nr{constructor(e){super({}),this._database=e}async parse(){return{model:this._database,data:{unknownEntityCount:0}}}getFonts(){return[]}async processEntities(e,t,i,s,r){let a=e.tables.blockTable.modelSpace.newIterator().toArray();const o=a.length,h=new rr(o,100-s.value,i);this.config.convertByEntityType&&(a=this.groupAndFlattenByType(a));const c=t.tables.blockTable.modelSpace;await h.processChunk(async(d,u)=>{let p=[],g=d<u?a[d].type:"";for(let m=d;m<u;m++){const y=a[m];this.config.convertByEntityType&&y.type!==g&&(this.triggerEvents(c,p),p=[],g=y.type),p.push(y)}if(this.triggerEvents(c,p),r){let m=s.value+u/o*(100-s.value);m>100&&(m=100),await r(m,"ENTITY","IN-PROGRESS")}})}processBlocks(){const e=this._database.tables.blockTable.newIterator();for(const t of e){const i=t.newIterator().toArray();this.triggerEvents(t,i)}}processHeader(){}processBlockTables(){}processObjects(){const e=this._database.objects.layout.newIterator();for(const s of e)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.layoutName});const t=this._database.objects.imageDefinition.newIterator();for(const s of t)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.objectId});const i=this._database.objects.mleaderStyle.newIterator();for(const s of i)this._database.events.dictObjetSet.dispatch({database:this._database,object:s,key:s.objectId})}processViewports(){}processLayers(){this._database.tables.layerTable.newIterator().toArray().forEach(t=>{this._database.events.layerAppended.dispatch({database:this._database,layer:t})})}processLineTypes(){}processTextStyles(){}processDimStyles(){}groupAndFlattenByType(e){const t={},i=[];for(const s of e)t[s.type]||(t[s.type]=[],i.push(s.type)),t[s.type].push(s);return i.flatMap(s=>t[s])}triggerEvents(e,t){(e.isModelSapce||e.isPaperSapce)&&e.database.events.entityAppended.dispatch({database:e.database,entity:t})}}exports.ACAD_APPID=Ds;exports.AC_DB_SYSTEM_VARIABLE_NAMES=Nc;exports.AcCmColor=X;exports.AcCmColorMethod=P;exports.AcCmColorUtil=bt;exports.AcCmEntityColor=oc;exports.AcCmErrors=be;exports.AcCmEventDispatcher=lc;exports.AcCmEventManager=te;exports.AcCmLoader=yc;exports.AcCmLoadingManager=eo;exports.AcCmObject=Ka;exports.AcCmPerformanceCollector=ir;exports.AcCmTask=Qa;exports.AcCmTaskScheduler=Ja;exports.AcCmTransparency=J;exports.AcCmTransparencyMethod=he;exports.AcDb2dPolyline=Bn;exports.AcDb2dVertex=$s;exports.AcDb2dVertexType=Ko;exports.AcDb3PointAngularDimension=as;exports.AcDb3dPolyline=Fn;exports.AcDb3dVertex=qs;exports.AcDb3dVertexType=Zo;exports.AcDbAbstractViewTableRecord=Cr;exports.AcDbAlignedDimension=en;exports.AcDbAngleUnits=ar;exports.AcDbArc=Dn;exports.AcDbArcDimension=Zs;exports.AcDbAttribute=zn;exports.AcDbAttributeDefinition=Vn;exports.AcDbAttributeFlags=ne;exports.AcDbAttributeMTextFlag=We;exports.AcDbBaseWorker=vg;exports.AcDbBatchProcessing=rr;exports.AcDbBlockReference=ni;exports.AcDbBlockScaling=xl;exports.AcDbBlockTable=Pl;exports.AcDbBlockTableRecord=ie;exports.AcDbCircle=Hn;exports.AcDbCodePage=or;exports.AcDbCurve=ue;exports.AcDbDataGenerator=Sl;exports.AcDbDatabase=rd;exports.AcDbDatabaseConverter=Nr;exports.AcDbDatabaseConverterManager=He;exports.AcDbDiametricDimension=os;exports.AcDbDictionary=Jt;exports.AcDbDimArrowType=Al;exports.AcDbDimStyleTable=El;exports.AcDbDimStyleTableRecord=si;exports.AcDbDimTextHorizontal=Tl;exports.AcDbDimTextVertical=Ml;exports.AcDbDimVerticalJustification=vl;exports.AcDbDimZeroSuppression=kl;exports.AcDbDimZeroSuppressionAngular=Cl;exports.AcDbDimension=yt;exports.AcDbDuplicateRecordCloning=Ll;exports.AcDbDwgVersion=ve;exports.AcDbDxfCode=tr;exports.AcDbDxfConverter=sc;exports.AcDbDxfFiler=io;exports.AcDbEllipse=jn;exports.AcDbEntity=de;exports.AcDbFace=Wn;exports.AcDbFileType=Ri;exports.AcDbGradientPatternType=il;exports.AcDbHatch=qi;exports.AcDbHatchObjectType=Sr;exports.AcDbHatchPatternType=Vi;exports.AcDbHatchStyle=tl;exports.AcDbHostApplicationServices=Rn;exports.AcDbLayerTable=Nl;exports.AcDbLayerTableRecord=_s;exports.AcDbLayout=on;exports.AcDbLayoutDictionary=fl;exports.AcDbLayoutManager=wl;exports.AcDbLeader=Gn;exports.AcDbLeaderAnnotationType=nl;exports.AcDbLine=Ki;exports.AcDbLineSpacingStyle=rs;exports.AcDbLinetypeTable=Ol;exports.AcDbLinetypeTableRecord=Et;exports.AcDbMLeader=$n;exports.AcDbMLeaderContentType=mt;exports.AcDbMLeaderDirectionType=ol;exports.AcDbMLeaderLineType=gi;exports.AcDbMLeaderStyle=Ar;exports.AcDbMLeaderTextAttachmentDirection=al;exports.AcDbMLine=Un;exports.AcDbMLineFlags=rl;exports.AcDbMLineJustification=sl;exports.AcDbMText=Zi;exports.AcDbMlineStyle=Ir;exports.AcDbObject=De;exports.AcDbObjectIterator=ln;exports.AcDbOpenMode=ao;exports.AcDbOrdinateDimension=ls;exports.AcDbOsnapMode=D;exports.AcDbPatParser=kr;exports.AcDbPatSvgRenderer=Qs;exports.AcDbPlotPaperUnits=gl;exports.AcDbPlotRotation=pl;exports.AcDbPlotSettings=_l;exports.AcDbPlotShadePlotResLevel=Lt;exports.AcDbPlotShadePlotType=ci;exports.AcDbPlotStdScaleType=yl;exports.AcDbPlotType=ml;exports.AcDbPoint=Qn;exports.AcDbPoly2dType=hi;exports.AcDbPoly3dType=Di;exports.AcDbPolyFaceMesh=ss;exports.AcDbPolyFaceMeshFace=ul;exports.AcDbPolyFaceMeshVertex=dl;exports.AcDbPolygonMesh=ns;exports.AcDbPolygonMeshVertex=cl;exports.AcDbPolyline=Zn;exports.AcDbPredefinedAcadIsoPat=el;exports.AcDbPredefinedAcadPat=Oc;exports.AcDbRadialDimension=hs;exports.AcDbRasterImage=Ji;exports.AcDbRasterImageClipBoundaryType=ll;exports.AcDbRasterImageDef=bl;exports.AcDbRasterImageImageDisplayOpt=hl;exports.AcDbRay=Jn;exports.AcDbRegAppTable=Bl;exports.AcDbRegAppTableRecord=Js;exports.AcDbRegenerator=rc;exports.AcDbRenderingCache=ri;exports.AcDbResultBuffer=sr;exports.AcDbRotatedDimension=cs;exports.AcDbSpline=Qi;exports.AcDbSymbolTable=_t;exports.AcDbSymbolTableRecord=vt;exports.AcDbSysVarManager=Ne;exports.AcDbSystemVariables=A;exports.AcDbTable=qn;exports.AcDbText=pi;exports.AcDbTextHorizontalMode=Qo;exports.AcDbTextStyleTable=Yl;exports.AcDbTextStyleTableRecord=fs;exports.AcDbTextVerticalMode=Jo;exports.AcDbTrace=Kn;exports.AcDbUnitsValue=Mr;exports.AcDbViewTable=Xl;exports.AcDbViewTableRecord=ld;exports.AcDbViewport=es;exports.AcDbViewportTable=Rl;exports.AcDbViewportTableRecord=vr;exports.AcDbWipeout=ts;exports.AcDbWorkerApi=ic;exports.AcDbWorkerManager=tc;exports.AcDbXline=is;exports.AcDbXrecord=td;exports.AcGeArea2d=Tt;exports.AcGeBox2d=xe;exports.AcGeBox3d=Y;exports.AcGeCatmullRomCurve3d=ys;exports.AcGeCircArc2d=Mt;exports.AcGeCircArc3d=Pt;exports.AcGeCurve2d=mi;exports.AcGeEllipseArc2d=Ui;exports.AcGeEllipseArc3d=ui;exports.AcGeEuler=Ic;exports.AcGeGeometryUtil=Vo;exports.AcGeLine2d=Ge;exports.AcGeLine3d=kt;exports.AcGeLoop2d=$i;exports.AcGeMathUtil=k;exports.AcGeMatrix2d=nn;exports.AcGeMatrix3d=H;exports.AcGeNurbsCurve=Fe;exports.AcGePlane=rn;exports.AcGePoint2d=v;exports.AcGePoint3d=w;exports.AcGePolyline2d=ce;exports.AcGeQuaternion=ai;exports.AcGeShape2d=fr;exports.AcGeSpline3d=Ue;exports.AcGeTol=sn;exports.AcGeVector2d=K;exports.AcGeVector3d=x;exports.AcGiArrowType=xr;exports.AcGiDefaultLightingType=Lr;exports.AcGiLineWeight=ii;exports.AcGiMTextAttachmentPoint=z;exports.AcGiMTextFlowDirection=je;exports.AcGiOrthographicType=br;exports.AcGiRenderMode=wr;exports.AcGiViewport=$o;exports.AcTrStringUtil=mc;exports.ByBlock=At;exports.ByLayer=pe;exports.DEBUG_MODE=gc;exports.DEFAULT_GRADIENT_HATCH_NAME=co;exports.DEFAULT_HATCH_PATTERN_IMPERIAL=xc;exports.DEFAULT_HATCH_PATTERN_METRIC=lo;exports.DEFAULT_LINE_TYPE=It;exports.DEFAULT_MLEADER_STYLE=pt;exports.DEFAULT_MLINE_STYLE=gt;exports.DEFAULT_TEXT_STYLE=Q;exports.DEFAULT_TOL=pr;exports.DEG2RAD=lr;exports.DefaultLoadingManager=to;exports.FLOAT_TOL=Qt;exports.HATCH_PATTERN_SOLID=ti;exports.HATCH_PATTERN_USER=ho;exports.MLIGHTCAD_APPID=Fs;exports.ORIGIN_POINT_2D=wc;exports.ORIGIN_POINT_3D=gr;exports.RAD2DEG=hr;exports.RAW_COLOR_TYPE_ACI=Tr;exports.RAW_COLOR_TYPE_BY_BLOCK=ds;exports.RAW_COLOR_TYPE_BY_LAYER=Pr;exports.RAW_COLOR_TYPE_RGB=Er;exports.RAW_COLOR_TYPE_WINDOW_BG=Il;exports.TAU=G;exports.TEMP_OBJECT_ID_PREFIX=En;exports.acdbDisableOsnapMode=Dc;exports.acdbEnableOsnapMode=Fc;exports.acdbHasOsnapMode=Bc;exports.acdbHostApplicationServices=nr;exports.acdbMaskToOsnapModes=Xc;exports.acdbOsnapModesToMask=Yc;exports.acdbToggleOsnapMode=Rc;exports.basisFunction=Wi;exports.calculateCurveLength=jo;exports.ceilPowerOfTwo=Po;exports.clamp=ut;exports.clone=Ni;exports.computeParameterValues=zo;exports.createWorkerApi=nc;exports.damp=mo;exports.decodeMLeaderStyleRawColor=zi;exports.deepClone=Xs;exports.defaults=tn;exports.degToRad=So;exports.dwgCodePageToEncoding=oo;exports.encodeMLeaderStyleRawColor=kn;exports.euclideanModulo=cr;exports.evaluateNurbsPoint=Fi;exports.floorPowerOfTwo=Eo;exports.generateAveragedKnots=Ho;exports.generateChordKnots=Ec;exports.generateSqrtChordKnots=Tc;exports.generateUUID=uo;exports.generateUniformKnots=Pc;exports.getOcsAngle=Gs;exports.getOcsReferenceVector=_r;exports.has=Ga;exports.intPartLength=ur;exports.interpolateControlPoints=Mc;exports.interpolateNurbsCurve=yr;exports.inverseLerp=po;exports.isBetween=To;exports.isBetweenAngle=Mo;exports.isEmpty=Ua;exports.isEqual=di;exports.isImperialUnits=nd;exports.isMetricUnits=id;exports.isPointInPolygon=mr;exports.isPolygonIntersect=Do;exports.isPowerOfTwo=Io;exports.lerp=dr;exports.log=Xi;exports.mapLinear=go;exports.normalizeAngle=Bi;exports.pingpong=yo;exports.radToDeg=Ao;exports.randFloat=wo;exports.randFloatSpread=bo;exports.randInt=xo;exports.relativeEps=ko;exports.seededRandom=Lo;exports.setAcDbHostApplicationServicesProvider=so;exports.setAcDbLayoutManagerFactory=ro;exports.setLogLevel=pc;exports.smootherstep=fo;exports.smoothstep=_o;exports.transformOcsPointToWcs=Ws;exports.transformWcsPointToOcs=Gi;
@@ -25968,7 +25968,11 @@ class ua {
25968
25968
  t.dimBlockId = e.name, t.textPosition.copy(e.textPoint), t.textRotation = e.textRotation || 0, e.textLineSpacingFactor && (t.textLineSpacingFactor = e.textLineSpacingFactor), e.textLineSpacingStyle && (t.textLineSpacingStyle = e.textLineSpacingStyle), t.dimensionStyleName = e.styleName, t.dimensionText = e.text || "", t.measurement = e.measurement, t.normal.copy(e.extrusionDirection ?? { x: 0, y: 0, z: 1 });
25969
25969
  }
25970
25970
  processCommonAttrs(e, t) {
25971
- t.layer = e.layer || "0", e.handle && (t.objectId = e.handle.toString()), t.ownerId = e.ownerBlockRecordSoftId || "", e.lineType != null && (t.lineType = e.lineType), e.lineweight != null && (t.lineWeight = e.lineweight), e.lineTypeScale != null && (t.linetypeScale = e.lineTypeScale), e.color != null && t.color.setRGBValue(e.color), e.colorIndex != null && (t.color.colorIndex = e.colorIndex), e.colorName && (t.color.colorName = e.colorName), e.isVisible != null && (t.visibility = !e.isVisible), e.transparency != null && (t.transparency = ee.deserialize(e.transparency));
25971
+ if (t.layer = e.layer || "0", e.handle && (t.objectId = e.handle.toString()), t.ownerId = e.ownerBlockRecordSoftId || "", e.lineType != null && (t.lineType = e.lineType), e.lineweight != null && (t.lineWeight = e.lineweight), e.lineTypeScale != null && (t.linetypeScale = e.lineTypeScale), e.color != null || e.colorIndex != null || e.colorName) {
25972
+ const i = new X();
25973
+ e.color != null && i.setRGBValue(e.color), e.colorIndex != null && (i.colorIndex = e.colorIndex), e.colorName && (i.colorName = e.colorName), t.color = i;
25974
+ }
25975
+ e.isVisible != null && (t.visibility = !e.isVisible), e.transparency != null && (t.transparency = ee.deserialize(e.transparency));
25972
25976
  }
25973
25977
  readNumber(e, t) {
25974
25978
  for (const i of t) {
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,eAAe,EAoBhB,MAAM,qBAAqB,CAAA;AA6B5B,OAAO,EAeL,UAAU,EAuCX,MAAM,WAAW,CAAA;AA0BlB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,IAAI;IAQnD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,YAAY;IAyDpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,0BAA0B;IAWlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAgGvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;IAyJpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,cAAc;IA6RtB,OAAO,CAAC,gBAAgB;IAmExB,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,2BAA2B;IAoBnC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,eAAe,EAoBhB,MAAM,qBAAqB,CAAA;AA6B5B,OAAO,EAeL,UAAU,EAuCX,MAAM,WAAW,CAAA;AA0BlB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,IAAI;IAQnD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,YAAY;IAyDpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,0BAA0B;IAWlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAgGvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;IAyJpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,cAAc;IA6RtB,OAAO,CAAC,gBAAgB;IAmExB,OAAO,CAAC,YAAY;IA+BpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,2BAA2B;IAoBnC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;CAQpB"}
@@ -45,7 +45,7 @@ var __values = (this && this.__values) || function(o) {
45
45
  };
46
46
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
47
47
  };
48
- import { AcCmTransparency } from '@mlightcad/common';
48
+ import { AcCmColor, AcCmTransparency } from '@mlightcad/common';
49
49
  import { HatchSolidFill, SmoothType, VertexFlag } from '@mlightcad/dxf-json';
50
50
  import { AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGeMathUtil, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, AcGeVector2d, AcGeVector3d, transformOcsPointToWcs } from '@mlightcad/geometry-engine';
51
51
  import { AcDb2dPolyline, AcDb3dPolyline, AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbArc, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, AcDbDiametricDimension, AcDbEllipse, AcDbFace, AcDbHatch, AcDbHatchObjectType, AcDbLeader, AcDbLine, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderLineType, AcDbMLine, AcDbMText, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbPolyline, AcDbRadialDimension, AcDbRasterImage, AcDbRay, AcDbRotatedDimension, AcDbSpline, AcDbTable, AcDbText, AcDbTrace, AcDbViewport, AcDbWipeout, AcDbXline } from '../entity';
@@ -1158,14 +1158,27 @@ var AcDbEntityConverter = /** @class */ (function () {
1158
1158
  if (entity.lineTypeScale != null) {
1159
1159
  dbEntity.linetypeScale = entity.lineTypeScale;
1160
1160
  }
1161
- if (entity.color != null) {
1162
- dbEntity.color.setRGBValue(entity.color);
1163
- }
1164
- if (entity.colorIndex != null) {
1165
- dbEntity.color.colorIndex = entity.colorIndex;
1166
- }
1167
- if (entity.colorName) {
1168
- dbEntity.color.colorName = entity.colorName;
1161
+ // Build the entity color in a fresh AcCmColor and assign it via the
1162
+ // setter. The previous pattern (`dbEntity.color.<prop> = …`) read the
1163
+ // getter and mutated the result, which works for entities whose getter
1164
+ // returns the cached `_color` field but breaks for entities like
1165
+ // AcDbHatch that override the getter to return a clone of an HPCOLOR /
1166
+ // CECOLOR fallback (PR #78). Mutations on a clone are dropped, leaving
1167
+ // the entity stuck on the sysvar default and losing the DXF's RGB.
1168
+ if (entity.color != null ||
1169
+ entity.colorIndex != null ||
1170
+ entity.colorName) {
1171
+ var color = new AcCmColor();
1172
+ if (entity.color != null) {
1173
+ color.setRGBValue(entity.color);
1174
+ }
1175
+ if (entity.colorIndex != null) {
1176
+ color.colorIndex = entity.colorIndex;
1177
+ }
1178
+ if (entity.colorName) {
1179
+ color.colorName = entity.colorName;
1180
+ }
1181
+ dbEntity.color = color;
1169
1182
  }
1170
1183
  if (entity.isVisible != null) {
1171
1184
  // DXF group code 60 uses 0 => visible, 1 => invisible.
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../../src/converter/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../../src/converter/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/data-model",
3
- "version": "1.7.33",
3
+ "version": "1.7.34",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -35,9 +35,9 @@
35
35
  "@mlightcad/dxf-json": "^1.2.0",
36
36
  "iconv-lite": "^0.7.0",
37
37
  "uid": "^2.0.2",
38
- "@mlightcad/geometry-engine": "3.2.33",
39
- "@mlightcad/common": "1.4.33",
40
- "@mlightcad/graphic-interface": "3.3.33"
38
+ "@mlightcad/graphic-interface": "3.3.34",
39
+ "@mlightcad/common": "1.4.34",
40
+ "@mlightcad/geometry-engine": "3.2.34"
41
41
  },
42
42
  "scripts": {
43
43
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",