dxf-json 0.8.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Readme.md +1 -1
- package/dist/bundle.cjs +2 -2
- package/dist/bundle.mjs +3 -3
- package/dist/types/consts/dimension.d.ts +17 -2
- package/dist/types/consts/dimension.d.ts.map +1 -1
- package/dist/types/consts/viewport.d.ts +2 -0
- package/dist/types/consts/viewport.d.ts.map +1 -1
- package/dist/types/parser/entities/dimension/parser.d.ts +6 -0
- package/dist/types/parser/entities/dimension/parser.d.ts.map +1 -1
- package/dist/types/parser/entities/dimension/types.d.ts +163 -9
- package/dist/types/parser/entities/dimension/types.d.ts.map +1 -1
- package/dist/types/parser/entities/index.d.ts.map +1 -1
- package/dist/types/parser/entities/mline/consts.d.ts +12 -0
- package/dist/types/parser/entities/mline/consts.d.ts.map +1 -0
- package/dist/types/parser/entities/mline/index.d.ts +4 -0
- package/dist/types/parser/entities/mline/index.d.ts.map +1 -0
- package/dist/types/parser/entities/mline/parser.d.ts +12 -0
- package/dist/types/parser/entities/mline/parser.d.ts.map +1 -0
- package/dist/types/parser/entities/mline/types.d.ts +151 -0
- package/dist/types/parser/entities/mline/types.d.ts.map +1 -0
- package/dist/types/parser/entities/shared.d.ts +15 -0
- package/dist/types/parser/entities/shared.d.ts.map +1 -1
- package/dist/types/parser/entities/viewport/parser.d.ts +2 -1
- package/dist/types/parser/entities/viewport/parser.d.ts.map +1 -1
- package/dist/types/parser/entities/viewport/types.d.ts +140 -6
- package/dist/types/parser/entities/viewport/types.d.ts.map +1 -1
- package/dist/types/parser/tables/dimStyle/consts.d.ts.map +1 -1
- package/dist/types/parser/tables/dimStyle/types.d.ts +7 -5
- package/dist/types/parser/tables/dimStyle/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/types/parser/entities/dimension/common.d.ts +0 -7
- package/dist/types/parser/entities/dimension/common.d.ts.map +0 -1
package/dist/bundle.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(q=eL||(eL={}))[q.None=0]="None",q[q.Anonymous=1]="Anonymous",q[q.NonConstant=2]="NonConstant",q[q.Xref=4]="Xref",q[q.XrefOverlay=8]="XrefOverlay",q[q.ExternallyDependent=16]="ExternallyDependent",q[q.ResolvedOrDependent=32]="ResolvedOrDependent",q[q.ReferencedXref=64]="ReferencedXref",(Q=e_||(e_={}))[Q.BYBLOCK=0]="BYBLOCK",Q[Q.BYLAYER=256]="BYLAYER";let e=-1,a=4,r=Math.PI/24;(ee=eP||(eP={}))[ee.Rotated=0]="Rotated",ee[ee.Aligned=1]="Aligned",ee[ee.Angular=2]="Angular",ee[ee.Diameter=3]="Diameter",ee[ee.Radius=4]="Radius",ee[ee.Angular3Point=5]="Angular3Point",ee[ee.Ordinate=6]="Ordinate",ee[ee.ReferenceIsExclusive=32]="ReferenceIsExclusive",ee[ee.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",ee[ee.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",(ea=eA||(eA={}))[ea.TopLeft=1]="TopLeft",ea[ea.TopCenter=2]="TopCenter",ea[ea.TopRight=3]="TopRight",ea[ea.MiddleLeft=4]="MiddleLeft",ea[ea.MiddleCenter=5]="MiddleCenter",ea[ea.MiddleRight=6]="MiddleRight",ea[ea.BottomLeft=7]="BottomLeft",ea[ea.BottomCenter=8]="BottomCenter",ea[ea.BottomRight=9]="BottomRight",(er=eC||(eC={}))[er.AtLeast=1]="AtLeast",er[er.Exact=2]="Exact",(et=ev||(ev={}))[et.Center=0]="Center",et[et.Above=1]="Above",et[et.Outside=2]="Outside",et[et.JIS=3]="JIS",et[et.Below=4]="Below",(en=eM||(eM={}))[en.Feet=0]="Feet",en[en.None=1]="None",en[en.Inch=2]="Inch",en[en.FeetAndInch=3]="FeetAndInch",en[en.Leading=4]="Leading",en[en.Trailing=8]="Trailing",en[en.LeadingAndTrailing=12]="LeadingAndTrailing",(eo=ex||(ex={}))[eo.None=0]="None",eo[eo.Leading=1]="Leading",eo[eo.Trailing=2]="Trailing",eo[eo.LeadingAndTrailing=3]="LeadingAndTrailing",(es=eF||(eF={}))[es.Center=0]="Center",es[es.Left=1]="Left",es[es.Right=2]="Right",es[es.OverFirst=3]="OverFirst",es[es.OverSecond=4]="OverSecond",(ei=ek||(ek={}))[ei.Bottom=0]="Bottom",ei[ei.Center=1]="Center",ei[ei.Top=2]="Top",(ec=eR||(eR={}))[ec.PatternFill=0]="PatternFill",ec[ec.SolidFill=1]="SolidFill",(el=ew||(ew={}))[el.NonAssociative=0]="NonAssociative",el[el.Associative=1]="Associative",(ed=eV||(eV={}))[ed.Normal=0]="Normal",ed[ed.Outer=1]="Outer",ed[ed.Ignore=2]="Ignore",(eu=eB||(eB={}))[eu.UserDefined=0]="UserDefined",eu[eu.Predefined=1]="Predefined",eu[eu.Custom=2]="Custom",(ep=eH||(eH={}))[ep.NotAnnotated=0]="NotAnnotated",ep[ep.Annotated=1]="Annotated",(em=eG||(eG={}))[em.Solid=0]="Solid",em[em.Gradient=1]="Gradient",(eE=eU||(eU={}))[eE.TwoColor=0]="TwoColor",eE[eE.OneColor=1]="OneColor",(eh=eW||(eW={}))[eh.Default=0]="Default",eh[eh.External=1]="External",eh[eh.Polyline=2]="Polyline",eh[eh.Derived=4]="Derived",eh[eh.Textbox=8]="Textbox",eh[eh.Outermost=16]="Outermost",(eI=eY||(eY={}))[eI.Line=1]="Line",eI[eI.Circular=2]="Circular",eI[eI.Elliptic=3]="Elliptic",eI[eI.Spline=4]="Spline",(eb=ej||(ej={}))[eb.Off=0]="Off",eb[eb.Solid=1]="Solid",eb[eb.Dashed=2]="Dashed",eb[eb.Dotted=3]="Dotted",eb[eb.ShotDash=4]="ShotDash",eb[eb.MediumDash=5]="MediumDash",eb[eb.LongDash=6]="LongDash",eb[eb.DoubleShortDash=7]="DoubleShortDash",eb[eb.DoubleMediumDash=8]="DoubleMediumDash",eb[eb.DoubleLongDash=9]="DoubleLongDash",eb[eb.DoubleMediumLongDash=10]="DoubleMediumLongDash",eb[eb.SparseDot=11]="SparseDot";let t={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:ej.Off,SHADEDIF:70};(ef=eX||(eX={}))[ef.Standard=-3]="Standard",ef[ef.ByLayer=-2]="ByLayer",ef[ef.ByBlock=-1]="ByBlock",(eg=ez||(ez={}))[eg.English=0]="English",eg[eg.Metric=1]="Metric";let n=65536;function o(e,a,r){return e.code===a&&(null==r||e.value===r)}function s(e){let a={};e.rewind();let r=e.next(),t=r.code;if(a.x=r.value,(r=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+r.code+".");return(a.y=r.value,(r=e.next()).code!==t+20)?e.rewind():a.z=r.value,a}(eT=eK||(eK={}))[eT.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",eT[eT.FRONT_CLIPPING=2]="FRONT_CLIPPING",eT[eT.BACK_CLIPPING=4]="BACK_CLIPPING",eT[eT.UCS_FOLLOW=8]="UCS_FOLLOW",eT[eT.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",eT[eT.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",eT[eT.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",eT[eT.FAST_ZOOM=128]="FAST_ZOOM",eT[eT.SNAP_MODE=256]="SNAP_MODE",eT[eT.GRID_MODE=512]="GRID_MODE",eT[eT.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",eT[eT.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",eT[eT.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",eT[eT.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",eT[eT.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",eT[eT.UNUSED=32768]="UNUSED",eT[eT.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",eT[eT.VIEWPORT_OFF=131072]="VIEWPORT_OFF",eT[eT.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",eT[eT.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",eT[eT.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",eT[eT.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(eD=eZ||(eZ={}))[eD.OPTIMIZED_2D=0]="OPTIMIZED_2D",eD[eD.WIREFRAME=1]="WIREFRAME",eD[eD.HIDDEN_LINE=2]="HIDDEN_LINE",eD[eD.FLAT_SHADED=3]="FLAT_SHADED",eD[eD.GOURAUD_SHADED=4]="GOURAUD_SHADED",eD[eD.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eD[eD.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(eO=eJ||(eJ={}))[eO.UCS_UNCHANGED=0]="UCS_UNCHANGED",eO[eO.HAS_OWN_UCS=1]="HAS_OWN_UCS",(ey=e$||(e$={}))[ey.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",ey[ey.TOP=1]="TOP",ey[ey.BOTTOM=2]="BOTTOM",ey[ey.FRONT=3]="FRONT",ey[ey.BACK=4]="BACK",ey[ey.LEFT=5]="LEFT",ey[ey.RIGHT=6]="RIGHT",(eS=eq||(eq={}))[eS.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eS[eS.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",(eN=eQ||(eQ={}))[eN.ByLayer=0]="ByLayer",eN[eN.ByBlock=1]="ByBlock",eN[eN.ByDictionaryDefault=2]="ByDictionaryDefault",eN[eN.ByObject=3]="ByObject";let i=Symbol();function c(e,a){return(r,t,n)=>{let s=function(e,a=!1){return e.reduce((e,r)=>{r.pushContext&&e.push({});let t=e[e.length-1];for(let e of"number"==typeof r.code?[r.code]:r.code){let n=t[e]??(t[e]=[]);r.isMultiple&&n.length&&a&&console.warn(`Snippet ${n[n.length-1].name} for code(${e}) is shadowed by ${r.name}`),n.push(r)}return e},[{}])}(e,t.debug),c=!1,d=s.length-1;for(;!o(r,0,"EOF");){let e=function(e,a,r){return e.find((e,t)=>t>=r&&e[a]?.length)}(s,r.code,d),a=e?.[r.code],o=a?.[a.length-1];if(!e||!o){t.rewind();break}o.isMultiple||e[r.code].pop();let{name:u,parser:p,isMultiple:m,isReducible:E}=o,h=p?.(r,t,n);if(h===i){t.rewind();break}if(u){let[e,a]=function(e,a){let r=a.split(".");if(!r.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let t=e;for(let e=0;e<r.length-1;++e){let a=l(r[e]),n=l(r[e+1]);Object.prototype.hasOwnProperty.call(t,a)||("number"==typeof n?t[a]=[]:t[a]={}),t=t[a]}return[t,l(r[r.length-1])]}(n,u);m&&!E?(Object.prototype.hasOwnProperty.call(e,a)||(e[a]=[]),e[a].push(h)):e[a]=h}o.pushContext&&(d-=1),c=!0,r=t.next()}return a&&Object.setPrototypeOf(n,a),c}}function l(e){let a=Number.parseInt(e);return Number.isNaN(a)?e:a}function d({value:e}){return e}function u(e,a){return s(a)}function p({value:e}){return!!e}let m=[{code:1001,name:"xdata",parser:E}];function E(e,a){if(!o(e,1001))throw Error("XData must starts with code 1001");let r={appName:e.value,value:[]};e=a.next();let t=[r.value];for(;!o(e,0,"EOF")&&e.code>=1e3;){let r=t[t.length-1];switch(e.code){case 1002:"{"===e.value?t.push([]):(t.pop(),t[t.length-1]?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:h(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:h(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:h(e.code),value:e.value});break;case 1010:r.push({type:h(e.code),value:s(a)});break;case 1011:r.push({name:"worldSpacePosition",type:h(e.code),value:s(a)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:h(e.code),value:s(a)});break;case 1013:r.push({name:"worldSpaceDirection",type:h(e.code),value:s(a)});break;case 1041:r.push({name:"distance",type:h(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:h(e.code),value:e.value})}e=a.next()}return a.rewind(),r}function h(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function I(e){return a=>{let r={};for(let t=0;t<a.length;t+=2){let n=e.find(({code:e})=>e===a[t].value);n&&(r[n.name]=a[t+1]?.value)}return r}}function b({appName:e="ACAD",catcher:a,escaper:r}){return function*(t){if(t?.appName!==e)return;let n=!1,o=-1;for(let[e,s]of t.value.entries())if(n){if(yield s,r?.(s,e-o))return}else a(s)&&(n=!0,o=e)}}function f(e,a,r){for(;o(e,102);){var t;let n=e.value;if(e=a.next(),!n.startsWith("{")){a.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${n}`),function(e,a){for(;!o(e,102)&&!o(e,0,"EOF");)e=a.next()}(e,a),e=a.next();continue}let s=n.slice(1).trim();r.extensions??(r.extensions={}),(t=r.extensions)[s]??(t[s]=[]),function(e,a,r){for(;!o(e,102,"}")&&!o(e,0,"EOF");)r.push(e),e=a.next()}(e,a,r.extensions[s]),e=a.next()}a.rewind()}let g=0;function T(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=g++)}var D,O,y,S,N,L,_,P,A,C,v,M,x,F,k,R,w,V,B,H,G,U,W,Y,j,X,z,K,Z,J,$,q,Q,ee,ea,er,et,en,eo,es,ei,ec,el,ed,eu,ep,em,eE,eh,eI,eb,ef,eg,eT,eD,eO,ey,eS,eN,eL,e_,eP,eA,eC,ev,eM,ex,eF,ek,eR,ew,eV,eB,eH,eG,eU,eW,eY,ej,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7,e5,e6,e9,e8,ae,aa,ar,at,an,ao,as,ai,ac,al,ad,au,ap,am,aE,ah=[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 aI(e){return ah[e]}(D=e0||(e0={}))[D.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",D[D.CAST=1]="CAST",D[D.RECEIVE=2]="RECEIVE",D[D.IGNORE=3]="IGNORE";let ab=[...m,{code:284,name:"shadowMode",parser:d},{code:390,name:"plotStyleHardId",parser:d},{code:380,name:"plotStyleType",parser:d},{code:440,name:"transparency",parser:d},{code:430,name:"colorName",parser:d},{code:420,name:"color",parser:d},{code:310,name:"proxyEntity",parser:d},{code:92,name:"proxyByte",parser:d},{code:60,name:"isVisible",parser:p},{code:48,name:"lineTypeScale",parser:d},{code:370,name:"lineweight",parser:d},{code:62,name:"colorIndex",parser(e,a,r){let t=e.value;return r.color=aI(Math.abs(t)),t}},{code:347,name:"materialObjectHardId",parser:d},{code:6,name:"lineType",parser:d},{code:8,name:"layer",parser:d},{code:410,name:"layoutTabName",parser:d},{code:67,name:"isInPaperSpace",parser:p},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:d},{code:102,parser:f},{code:102,parser:f},{code:102,parser:f},{code:5,name:"handle",parser:d}];function af(e){return[{code:3,name:e,parser:(e,a,r)=>(r._code3text=(r._code3text??"")+e.value,r._code3text+(r._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,a,r)=>(r._code1text=e.value,(r._code3text??"")+r._code1text)}]}function ag(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}let aT={extrusionDirection:{x:0,y:0,z:1}},aD=[{code:210,name:"extrusionDirection",parser:u},{code:51,name:"endAngle",parser:d},{code:50,name:"startAngle",parser:d},{code:100,name:"subclassMarker",parser:d},{code:40,name:"radius",parser:d},{code:10,name:"center",parser:u},{code:39,name:"thickness",parser:d},{code:100},...ab];class aO{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ag(this,"parser",c(aD,aT))}}function ay(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}ag(aO,"ForEntityName","ARC"),(O=e1||(e1={}))[O.NONE=0]="NONE",O[O.INVISIBLE=1]="INVISIBLE",O[O.CONSTANT=2]="CONSTANT",O[O.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",O[O.PRESET=8]="PRESET",(y=e4||(e4={}))[y.MULTILINE=2]="MULTILINE",y[y.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(S=e2||(e2={}))[S.NONE=0]="NONE",S[S.MIRRORED_X=2]="MIRRORED_X",S[S.MIRRORED_Y=4]="MIRRORED_Y",(N=e3||(e3={}))[N.LEFT=0]="LEFT",N[N.CENTER=1]="CENTER",N[N.RIGHT=2]="RIGHT",N[N.ALIGNED=3]="ALIGNED",N[N.MIDDLE=4]="MIDDLE",N[N.FIT=5]="FIT",(L=e7||(e7={}))[L.BASELINE=0]="BASELINE",L[L.BOTTOM=1]="BOTTOM",L[L.MIDDLE=2]="MIDDLE",L[L.TOP=3]="TOP";let aS={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:e3.LEFT,valign:e7.BASELINE,extrusionDirection:{x:0,y:0,z:1}},aN=[{code:73,name:"valign",parser:d},{code:100},{code:210,name:"extrusionDirection",parser:u},{code:11,name:"endPoint",parser:u},{code:72,name:"valign",parser:d},{code:72,name:"halign",parser:d},{code:71,name:"generationFlag",parser:d},{code:7,name:"styleName",parser:d},{code:51,name:"obliqueAngle",parser:d},{code:41,name:"xScale",parser:d},{code:50,name:"rotation",parser:d},{code:1,name:"text",parser:d},{code:40,name:"textHeight",parser:d},{code:10,name:"startPoint",parser:u},{code:39,name:"thickness",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class aL{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ay(this,"parser",c(aN,aS))}}function a_(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}ay(aL,"ForEntityName","TEXT");let aP={...aS},aA=[{code:2},{code:40,name:"annotationScale",parser:d},{code:10,name:"alignmentPoint",parser:u},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:d},{code:70,name:"numberOfSecondaryAttributes",parser:d},{code:70,name:"isReallyLocked",parser:p},{code:70,name:"mtextFlag",parser:d},{code:280,name:"isDuplicatedRecord",parser:p},{code:100},{code:280,name:"isLocked",parser:p},{code:74,name:"valign",parser:d},{code:73},{code:70,name:"attributeFlag",parser:d},{code:2,name:"tag",parser:d},{code:3,name:"prompt",parser:d},{code:280},{code:100,name:"subclassMarker",parser:d},...aN.slice(2)];class aC{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){a_(this,"parser",c(aA,aP))}}function av(e,a){let r={};for(let t of e){let e=a(t);null!=e&&(r[e]??(r[e]=[]),r[e].push(t))}return r}function*aM(e,a=1/0,r=1){for(let t=e;t!==a;t+=r)yield t}function ax(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}function aF(e,a,r){if(o(a,102))return f(a,r,e),!0;switch(a.code){case 0:e.type=a.value;break;case 5:e.handle=a.value;break;case 330:e.ownerBlockRecordSoftId=a.value;break;case 67:e.isInPaperSpace=!!a.value;break;case 8:e.layer=a.value;break;case 6:e.lineType=a.value;break;case 347:e.materialObjectHardId=a.value;break;case 62:e.colorIndex=a.value,e.color=aI(Math.abs(a.value));break;case 370:e.lineweight=a.value;break;case 48:e.lineTypeScale=a.value;break;case 60:e.isVisible=!!a.value;break;case 92:e.proxyByte=a.value;break;case 310:e.proxyEntity=a.value;break;case 100:break;case 420:e.color=a.value;break;case 430:e.transparency=a.value;break;case 390:e.plotStyleHardId=a.value;break;case 284:e.shadowMode=a.value;break;case 1001:e.xdata=E(a,r);break;default:return!1}return!0}function ak(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}a_(aC,"ForEntityName","ATTDEF"),(_=e5||(e5={}))[_.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",_[_.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",_[_.BY_STYLE=5]="BY_STYLE";let aR={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},aw=[{code:46,name:"annotationHeight",parser:d},{code:101,parser(e,a){!function(e){e.rewind();let a=e.next();if(101!==a.code)throw Error("Bad call for skipEmbeddedObject()");do a=e.next();while(0!==a.code);e.rewind()}(a)}},{code:50,name:"columnHeight",parser:d},{code:49,name:"columnGutter",parser:d},{code:48,name:"columnWidth",parser:d},{code:79,name:"columnAutoHeight",parser:d},{code:78,name:"columnFlowReversed",parser:d},{code:76,name:"columnCount",parser:d},{code:75,name:"columnType",parser:d},{code:441,name:"backgroundFillTransparency",parser:d},{code:63,name:"backgroundFillColor",parser:d},{code:45,name:"fillBoxScale",parser:d},{code:[...aM(430,440)],name:"backgroundColor",parser:d},{code:[...aM(420,430)],name:"backgroundColor",parser:d},{code:90,name:"backgroundFill",parser:d},{code:44,name:"lineSpacing",parser:d},{code:73,name:"lineSpacingStyle",parser:d},{code:50,name:"rotation",parser:d},{code:43},{code:42},{code:11,name:"direction",parser:u},{code:210,name:"extrusionDirection",parser:u},{code:7,name:"styleName",parser:d},...af("text"),{code:72,name:"drawingDirection",parser:d},{code:71,name:"attachmentPoint",parser:d},{code:41,name:"width",parser:d},{code:40,name:"height",parser:d},{code:10,name:"insertionPoint",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class aV{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ak(this,"parser",c(aw,aR))}}function aB(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}ak(aV,"ForEntityName","MTEXT");let aH={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},aG=[...aw.slice(aw.findIndex(({name:e})=>"columnType"===e),aw.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!o(e,0,"MTEXT"))return i}},{code:2,name:"definitionTag",parser:d},{code:40,name:"annotationScale",parser:d},{code:10,name:"alignmentPoint",parser:u},{code:340,name:"secondaryAttributesHardId",parser:d},{code:70,name:"numberOfSecondaryAttributes",parser:d},{code:70,name:"isReallyLocked",parser:p},{code:70,name:"mtextFlag",parser:d},{code:280,name:"isDuplicatedEntriesKeep",parser:p},{code:100},{code:280,name:"lockPositionFlag",parser:p},{code:210,name:"extrusionDirection",parser:u},{code:11,name:"alignmentPoint",parser:u},{code:74,name:"verticalJustification",parser:d},{code:72,name:"horizontalJustification",parser:d},{code:71,name:"textGenerationFlag",parser:d},{code:7,name:"textStyle",parser:d},{code:51,name:"obliqueAngle",parser:d},{code:41,name:"scale",parser:d},{code:50,name:"rotation",parser:d},{code:73},{code:70,name:"attributeFlag",parser:d},{code:2,name:"tag",parser:d},{code:280},{code:100,name:"subclassMarker",parser:d},{code:1,name:"text",parser:d},{code:40,name:"textHeight",parser:d},{code:10,name:"startPoint",parser:u},{code:39,name:"thickness",parser:d},{code:100},...ab];class aU{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aB(this,"parser",c(aG,aH))}}function aW(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aB(aU,"ForEntityName","ATTRIB");let aY=[...af("data"),{code:70,name:"version",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class aj{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aW(this,"parser",c(aY))}}function aX(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aW(aj,"ForEntityName","BODY");let az={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aK=[{code:210,name:"extrusionDirection",parser:u},{code:40,name:"radius",parser:d},{code:10,name:"center",parser:u},{code:39,name:"thickness",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class aZ{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aX(this,"parser",c(aK,az))}}aX(aZ,"ForEntityName","CIRCLE");class aJ{parseEntity(e,a){let r={};for(;!o(a,0,"EOF");){if(0===a.code){e.rewind();break}!function(e,a,r){switch(a.code){case 100:e.subclassMarker=a.value;break;case 280:e.version=a.value;break;case 2:e.name=a.value;break;case 10:e.definitionPoint=s(r);break;case 11:e.textPoint=s(r);break;case 12:e.insertionPoint=s(r);break;case 13:e.subDefinitionPoint1=s(r);break;case 14:e.subDefinitionPoint2=s(r);break;case 15:e.centerPoint=s(r);break;case 16:e.arcPoint=s(r);break;case 70:e.dimensionType=a.value;break;case 71:e.attachmentPoint=a.value;break;case 72:e.textLineSpacingStyle=a.value;break;case 40:e.leaderLength=a.value;break;case 41:e.textLineSpacingFactor=a.value;break;case 42:e.measurement=a.value;break;case 1:e.text=a.value;break;case 50:e.rotationAngle=a.value;break;case 52:e.obliqueAngle=a.value;break;case 53:e.textRotation=a.value;break;case 51:e.ocsRotation=a.value;break;case 210:e.extrusionDirection=s(r);break;case 3:e.styleName=a.value;break;default:aF(e,a,r)}}(r,a,e),a=e.next()}return r}}function a$(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}A="DIMENSION",(P="ForEntityName")in aJ?Object.defineProperty(aJ,P,{value:A,enumerable:!0,configurable:!0,writable:!0}):aJ[P]=A;let aq={extrusionDirection:{x:0,y:0,z:1}},aQ=[{code:42,name:"endAngle",parser:d},{code:41,name:"startAngle",parser:d},{code:40,name:"axisRatio",parser:d},{code:210,name:"extrusionDirection",parser:u},{code:11,name:"majorAxisEndPoint",parser:u},{code:10,name:"center",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class a0{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){a$(this,"parser",c(aQ,aq))}}function a1(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}a$(a0,"ForEntityName","ELLIPSE"),(C=e6||(e6={}))[C.First=1]="First",C[C.Second=2]="Second",C[C.Third=4]="Third",C[C.Fourth=8]="Fourth";let a4=[{code:13,name:"vertices.3",parser:u},{code:12,name:"vertices.2",parser:u},{code:11,name:"vertices.1",parser:u},{code:10,name:"vertices.0",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class a2{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){a1(this,"parser",c(a4))}}a1(a2,"ForEntityName","3DFACE");let a3=[{code:330,name:"sourceBoundaryObjects",parser:d,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:d}],a7=[{code:11,name:"end",parser:u},{code:10,name:"start",parser:u}],a5=[{code:73,name:"isCCW",parser:p},{code:51,name:"endAngle",parser:d},{code:50,name:"startAngle",parser:d},{code:40,name:"radius",parser:d},{code:10,name:"center",parser:u}],a6=[{code:73,name:"isCCW",parser:p},{code:51,name:"endAngle",parser:d},{code:50,name:"startAngle",parser:d},{code:40,name:"lengthOfMinorAxis",parser:d},{code:11,name:"end",parser:u},{code:10,name:"center",parser:u}],a9=[{code:13,name:"endTangent",parser:u},{code:12,name:"startTangent",parser:u},{code:11,name:"fitDatum",isMultiple:!0,parser:u},{code:97,name:"numberOfFitData",parser:d},{code:10,name:"controlPoints",isMultiple:!0,parser(e,a){let r={...s(a),weight:1};return 42===(e=a.next()).code?r.weight=e.value:a.rewind(),r}},{code:40,name:"knots",isMultiple:!0,parser:d},{code:96,name:"numberOfControlPoints",parser:d},{code:95,name:"numberOfKnots",parser:d},{code:74,name:"isPeriodic",parser:p},{code:73,name:"splineFlag",parser:d},{code:94,name:"degree",parser:d}],a8={[eY.Line]:a7,[eY.Circular]:a5,[eY.Elliptic]:a6,[eY.Spline]:a9},re=[...a3,{code:72,name:"edges",parser(e,a){let r={type:e.value},t=c(a8[r.type]);if(!t)throw Error(`Invalid edge type ${r.type}`);return t(e=a.next(),a,r),r},isMultiple:!0},{code:93,name:"numberOfEdges",parser:d}],ra=[...a3,{code:10,name:"vertices",parser(e,a){let r={...s(a),bulge:0};return 42===(e=a.next()).code?r.bulge=e.value:a.rewind(),r},isMultiple:!0},{code:93,name:"numberOfVertices",parser:d},{code:73,name:"isClosed",parser:p},{code:72,name:"hasBulge",parser:p}],rr=[{code:49,name:"dashLengths",parser:d,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:d},{code:45,name:"offset",parser:rt},{code:43,name:"base",parser:rt},{code:53,name:"angle",parser:d}];function rt(e,a){let r=e.code+1,t={x:e.value,y:1};return(e=a.next()).code===r?t.y=e.value:a.rewind(),t}function rn(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}let ro={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},rs=[{code:470},{code:463},{code:462,name:"colorTint",parser:d},{code:461,name:"gradientDefinition",parser:d},{code:460,name:"gradientRotation",parser:d},{code:453,name:"numberOfColors",parser:d},{code:452,name:"gradientColorFlag",parser:d},{code:451},{code:450,name:"gradientFlag",parser:d},{code:10,name:"seedPoints",parser:u,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:u},{code:98,name:"numberOfSeedPoints",parser:d},{code:47,name:"pixelSize",parser:d},{code:53,name:"definitionLines",parser:function(e,a){let r={};return c(rr)(e,a,r),r},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:d},{code:77,name:"isDouble",parser:p},{code:73,name:"isAnnotated",parser:p},{code:41,name:"patternScale",parser:d},{code:52,name:"patternAngle",parser:d},{code:76,name:"patternType",parser:d},{code:75,name:"hatchStyle",parser:d},{code:92,name:"boundaryPaths",parser:function(e,a){let r={boundaryPathTypeFlag:e.value},t=r.boundaryPathTypeFlag&eW.Polyline;return(e=a.next(),t)?c(ra)(e,a,r):c(re)(e,a,r),r},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:d},{code:71,name:"associativity",parser:d},{code:63,name:"patternFillColor",parser:d},{code:70,name:"solidFill",parser:d},{code:2,name:"patternName",parser:d},{code:210,name:"extrusionDirection",parser:u},{code:10,name:"elevationPoint",parser:u},{code:100,name:"subclassMarker",parser:d,pushContext:!0},...ab];class ri{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rn(this,"parser",c(rs,ro))}}function rc(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rn(ri,"ForEntityName","HATCH"),(v=e9||(e9={}))[v.ShowImage=1]="ShowImage",v[v.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",v[v.UseClippingBoundary=4]="UseClippingBoundary",v[v.TransparencyIsOn=8]="TransparencyIsOn",(M=e8||(e8={}))[M.Rectangular=1]="Rectangular",M[M.Polygonal=2]="Polygonal",(x=ae||(ae={}))[x.Outside=0]="Outside",x[x.Inside=1]="Inside";let rl={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},rd=[{code:290,name:"clipMode",parser:d},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:u},{code:91,name:"countBoundaryPoints",parser:d},{code:71,name:"clippingBoundaryType",parser:d},{code:360,name:"imageDefReactorHandle",parser:d},{code:283,name:"fade",parser:d},{code:282,name:"contrast",parser:d},{code:281,name:"brightness",parser:d},{code:280,name:"isClipped",parser:p},{code:70,name:"flags",parser:d},{code:340,name:"imageDefHandle",parser:d},{code:13,name:"imageSize",parser:u},{code:12,name:"vPixel",parser:u},{code:11,name:"uPixel",parser:u},{code:10,name:"position",parser:u},{code:90,name:"version",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class ru{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rc(this,"parser",c(rd,rl))}}function rp(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rc(ru,"ForEntityName","IMAGE");let rm={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},rE=[{code:210,name:"extrusionDirection",parser:u},{code:45,name:"rowSpacing",parser:d},{code:44,name:"columnSpacing",parser:d},{code:71,name:"rowCount",parser:d},{code:70,name:"columnCount",parser:d},{code:50,name:"rotation",parser:d},{code:43,name:"zScale",parser:d},{code:42,name:"yScale",parser:d},{code:41,name:"xScale",parser:d},{code:10,name:"insertionPoint",parser:u},{code:2,name:"name",parser:d},{code:66,name:"isVariableAttributes",parser:p},{code:100,name:"subclassMarker",parser:d},...ab];class rh{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rp(this,"parser",c(rE,rm))}}function rI(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rp(rh,"ForEntityName","INSERT");let rb={isArrowheadEnabled:!0},rf=[{code:213,name:"offsetFromAnnotation",parser:u},{code:212,name:"offsetFromBlock",parser:u},{code:211,name:"horizontalDirection",parser:u},{code:210,name:"normal",parser:u},{code:340,name:"associatedAnnotation",parser:d},{code:77,name:"byBlockColor",parser:d},{code:10,name:"vertices",parser:u,isMultiple:!0},{code:76,name:"numberOfVertices",parser:d},{code:41,name:"textWidth",parser:d},{code:40,name:"textHeight",parser:d},{code:75,name:"isHooklineExists",parser:p},{code:74,name:"isHooklineSameDirection",parser:p},{code:73,name:"leaderCreationFlag",parser:d},{code:72,name:"isSpline",parser:p},{code:71,name:"isArrowheadEnabled",parser:p},{code:3,name:"styleName",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class rg{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rI(this,"parser",c(rf,rb))}}function rT(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rI(rg,"ForEntityName","LEADER"),(F=aa||(aa={}))[F.TextAnnotation=0]="TextAnnotation",F[F.ToleranceAnnotation=1]="ToleranceAnnotation",F[F.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",F[F.NoAnnotation=3]="NoAnnotation";let rD={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rO=[{code:210,name:"extrusionDirection",parser:u},{code:11,name:"endPoint",parser:u},{code:10,name:"startPoint",parser:u},{code:39,name:"thickness",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class ry{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rT(this,"parser",c(rO,rD))}}rT(ry,"ForEntityName","LINE"),(k=ar||(ar={}))[k.IS_CLOSED=1]="IS_CLOSED",k[k.PLINE_GEN=128]="PLINE_GEN";let rS={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rN={bulge:0},rL=[{code:42,name:"bulge",parser:d},{code:41,name:"endWidth",parser:d},{code:40,name:"startWidth",parser:d},{code:91,name:"id",parser:d},{code:20,name:"y",parser:d},{code:10,name:"x",parser:d}],r_=[{code:210,name:"extrusionDirection",parser:u},{code:10,name:"vertices",isMultiple:!0,parser(e,a){let r={};return c(rL,rN)(e,a,r),r}},{code:39,name:"thickness",parser:d},{code:38,name:"elevation",parser:d},{code:43,name:"constantWidth",parser:d},{code:70,name:"flag",parser:d},{code:90,name:"numberOfVertices",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class rP{parseEntity(e,a){let r={};return c(r_,rS)(a,e,r),r}}function rA(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}w="LWPOLYLINE",(R="ForEntityName")in rP?Object.defineProperty(rP,R,{value:w,enumerable:!0,configurable:!0,writable:!0}):rP[R]=w;let rC=[{code:90,name:"overridenSubEntityCount",parser:d},{code:140,name:"edgeCreaseWeights",parser:d,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:d},{code:94,parser(e,a,r){r.edgeCount=e.value,r.edgeIndices=[];for(let t=0;t<r.edgeCount;++t){let t=[];e=a.next(),t[0]=e.value,e=a.next(),t[1]=e.value,r.edgeIndices.push(t)}}},{code:93,parser(e,a,r){r.totalFaceIndices=e.value,r.faceIndices=[];let t=[];for(let n=0;n<r.totalFaceIndices&&!o(e,0);++n)e=a.next(),t.push(e.value);let n=0;for(;n<t.length;){let e=t[n++],a=[];for(let r=0;r<e;++r)a.push(t[n++]);r.faceIndices.push(a)}}},{code:10,name:"vertices",parser:u,isMultiple:!0},{code:92,name:"verticesCount",parser:d},{code:91,name:"subdivisionLevel",parser:d},{code:40,name:"blendCrease",parser:d},{code:72,name:"isBlendCreased",parser:p},{code:71,name:"version",parser:d},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...ab];class rv{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rA(this,"parser",c(rC))}}function rM(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rA(rv,"ForEntityName","MESH");let rx={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},rF=[{code:50,name:"angle",parser:d},{code:210,name:"extrusionDirection",parser:u},{code:39,name:"thickness",parser:d},{code:10,name:"position",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class rk{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rM(this,"parser",c(rF,rx))}}function rR(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rM(rk,"ForEntityName","POINT"),(V=at||(at={}))[V.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",V[V.CURVE_FIT=2]="CURVE_FIT",V[V.SPLINE_FIT=4]="SPLINE_FIT",V[V.POLYLINE_3D=8]="POLYLINE_3D",V[V.POLYGON_3D=16]="POLYGON_3D",V[V.CLOSED_POLYGON=32]="CLOSED_POLYGON",V[V.POLYFACE=64]="POLYFACE",V[V.CONTINUOUS=128]="CONTINUOUS",(B=an||(an={}))[B.NONE=0]="NONE",B[B.QUADRATIC=5]="QUADRATIC",B[B.CUBIC=6]="CUBIC",B[B.BEZIER=8]="BEZIER",(H=ao||(ao={}))[H.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",H[H.TANGENT_DEFINED=2]="TANGENT_DEFINED",H[H.NOT_USED=4]="NOT_USED",H[H.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",H[H.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",H[H.FOR_POLYLINE=32]="FOR_POLYLINE",H[H.FOR_POLYGON=64]="FOR_POLYGON",H[H.POLYFACE=128]="POLYFACE";let rw={startWidth:0,endWidth:0,bulge:0},rV=[{code:91,name:"id",parser:d},{code:[...aM(71,75)],name:"faces",isMultiple:!0,parser:d},{code:50,name:"tangentDirection",parser:d},{code:70,name:"flag",parser:d},{code:42,name:"bulge",parser:d},{code:41,name:"endWidth",parser:d},{code:40,name:"startWidth",parser:d},{code:30,name:"z",parser:d},{code:20,name:"y",parser:d},{code:10,name:"x",parser:d},{code:100,name:"subclassMarker",parser:d},{code:100},...ab];class rB{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rR(this,"parser",c(rV,rw))}}function rH(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rR(rB,"ForEntityName","VERTEX");let rG={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:[]},rU=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>o(e,0,"VERTEX")?(e=a.next(),new rB().parseEntity(a,e)):i},{code:210,name:"extrusionDirection",parser:u},{code:75,name:"smoothType",parser:d},{code:74,name:"surfaceNDensity",parser:d},{code:73,name:"surfaceMDensity",parser:d},{code:72,name:"meshNVertexCount",parser:d},{code:71,name:"meshMVertexCount",parser:d},{code:41,name:"endWidth",parser:d},{code:40,name:"startWidth",parser:d},{code:70,name:"flag",parser:d},{code:39,name:"thickness",parser:d},{code:30,name:"elevation",parser:d},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:d},...ab];class rW{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rH(this,"parser",c(rU,rG))}}function rY(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rH(rW,"ForEntityName","POLYLINE");let rj=[{code:11,name:"direction",parser:u},{code:10,name:"position",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class rX{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rY(this,"parser",c(rj))}}function rz(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rY(rX,"ForEntityName","RAY");let rK=[...af("data"),{code:70,name:"version",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class rZ{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rz(this,"parser",c(rK))}}function rJ(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rz(rZ,"ForEntityName","REGION");let r$={vertices:[],backLineVertices:[]},rq=[{code:360,name:"geometrySettingHardId",parser:d},{code:12,name:"backLineVertices",isMultiple:!0,parser:u},{code:93,name:"numberOfBackLineVertices",parser:d},{code:11,name:"vertices",isMultiple:!0,parser:u},{code:92,name:"verticesCount",parser:d},{code:[63,411],name:"indicatorColor",parser:d},{code:70,name:"indicatorTransparency",parser:d},{code:41,name:"bottomHeight",parser:d},{code:40,name:"topHeight",parser:d},{code:10,name:"verticalDirection",parser:u},{code:1,name:"name",parser:d},{code:91,name:"flag",parser:d},{code:90,name:"state",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class rQ{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rJ(this,"parser",c(rq,r$))}}function r0(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rJ(rQ,"ForEntityName","SECTION");let r1={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},r4=[{code:210,name:"extrusionDirection",parser:u},{code:39,name:"thickness",parser:d},{code:[...aM(10,14)],name:"points",isMultiple:!0,parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class r2{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){r0(this,"parser",c(r4,r1))}}function r3(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}r0(r2,"ForEntityName","SOLID");let r7=[{code:350,name:"historyObjectSoftId",parser:d},{code:100,name:"subclassMarker",parser:d},...af("data"),{code:70,name:"version",parser:d},{code:100},...ab];class r5{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){r3(this,"parser",c(r7))}}function r6(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}r3(r5,"ForEntityName","3DSOLID"),(G=as||(as={}))[G.NONE=0]="NONE",G[G.CLOSED=1]="CLOSED",G[G.PERIODIC=2]="PERIODIC",G[G.RATIONAL=4]="RATIONAL",G[G.PLANAR=8]="PLANAR",G[G.LINEAR=16]="LINEAR";let r9={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},r8=[{code:11,name:"fitPoints",isMultiple:!0,parser:u},{code:10,name:"controlPoints",isMultiple:!0,parser:u},{code:41,name:"weights",isMultiple:!0,parser:d},{code:40,name:"knots",isMultiple:!0,parser:d},{code:13,name:"endTangent",parser:u},{code:12,name:"startTangent",parser:u},{code:44,name:"fitTolerance",parser:d},{code:43,name:"controlTolerance",parser:d},{code:42,name:"knotTolerance",parser:d},{code:74,name:"numberOfFitPoints",parser:d},{code:73,name:"numberOfControlPoints",parser:d},{code:72,name:"numberOfKnots",parser:d},{code:71,name:"degree",parser:d},{code:70,name:"flag",parser:d},{code:210,name:"normal",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class te{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){r6(this,"parser",c(r8,r9))}}function ta(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}r6(te,"ForEntityName","SPLINE");let tr=[{code:11,name:"xAxisDirection",parser:u},{code:210,name:"extrusionDirection",parser:u},{code:1,name:"text",parser:d},{code:10,name:"position",parser:u},{code:3,name:"styleName",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class tt{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ta(this,"parser",c(tr))}}ta(tt,"ForEntityName","TOLERANCE");class tn{parseEntity(e,a){let r={};for(;"EOF"!==a;){if(0===a.code){e.rewind();break}!function(e,a,r){if("EOF"===r)return!1;switch(r.code){case 0:return!1;case 100:e.subclassMarker=r.value;break;case 10:e.viewportCenter=ax(s(a));break;case 40:e.width=r.value;break;case 41:e.height=r.value;break;case 68:e.status=r.value;break;case 69:e.viewportId=r.value;break;case 12:e.displayCenter=s(a);break;case 13:e.snapBase=s(a);break;case 14:e.snapSpacing=s(a);break;case 15:e.gridSpacing=s(a);break;case 16:e.viewDirection=ax(s(a));break;case 17:e.targetPoint=ax(s(a));break;case 42:e.perspectiveLensLength=r.value;break;case 43:e.frontClipZ=r.value;break;case 44:e.backClipZ=r.value;break;case 45:e.viewHeight=r.value;break;case 50:e.snapAngle=r.value;break;case 51:e.viewTwistAngle=r.value;break;case 72:e.circleZoomPercent=r.value;break;case 331:e.frozenLayerIds??(e.frozenLayerIds=[]),e.frozenLayerIds.push(r.value);break;case 90:e.statusBitFlags=r.value;break;case 340:e.clippingBoundaryId=r.value;break;case 1:e.sheetName=r.value;break;case 281:e.renderMode=r.value;break;case 71:e.ucsPerViewport=r.value;break;case 110:e.ucsOrigin=ax(s(a));break;case 111:e.ucsXAxis=ax(s(a));break;case 112:e.ucsYAxis=ax(s(a));break;case 345:e.ucsId=r.value;break;case 346:e.ucsBaseId=r.value;break;case 79:e.orthographicType=r.value;break;case 146:e.elevation=r.value;break;case 170:e.shadePlotMode=r.value;break;case 61:e.majorGridFrequency=r.value;break;case 332:e.backgroundId=r.value;break;case 333:e.shadePlotId=r.value;break;case 348:e.visualStyleId=r.value;break;case 292:e.isDefaultLighting=!!r.value;break;case 282:e.defaultLightingType=r.value;break;case 141:e.brightness=r.value;break;case 142:e.contrast=r.value;break;case 63:case 421:case 431:e.ambientLightColor=r.value;break;case 361:e.sunId=r.value;break;case 335:case 343:case 344:case 91:e.softPointer=r.value}return!0}(r,e,a)&&aF(r,a,e),a=e.next()}return r}}function to(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}W="VIEWPORT",(U="ForEntityName")in tn?Object.defineProperty(tn,U,{value:W,enumerable:!0,configurable:!0,writable:!0}):tn[U]=W,(Y=ai||(ai={}))[Y.ShowImage=1]="ShowImage",Y[Y.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",Y[Y.UseClippingBoundary=4]="UseClippingBoundary",Y[Y.Transparency=8]="Transparency";let ts={brightness:50,constrast:50,fade:0},ti=[{code:14,name:"boundary",isMultiple:!0,parser:u},{code:91,name:"numberOfVertices",parser:d},{code:71,name:"boundaryType",parser:d},{code:360,name:"imageDefReactorHardId",parser:d},{code:283,name:"fade",parser:d},{code:282,name:"contrast",parser:d},{code:281,name:"brightness",parser:d},{code:280,name:"isClipping",parser:p},{code:70,name:"displayFlag",parser:d},{code:340,name:"imageDefHardId",parser:d},{code:13,name:"imageSize",parser:u},{code:12,name:"vDirection",parser:u},{code:11,name:"uDirection",parser:u},{code:10,name:"position",parser:u},{code:90,name:"classVersion",parser:d},{code:100,name:"subclassMarker",parser:d},...ab];class tc{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){to(this,"parser",c(ti,ts))}}function tl(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}to(tc,"ForEntityName","WIPEOUT");let td=[{code:11,name:"direction",parser:u},{code:10,name:"position",parser:u},{code:100,name:"subclassMarker",parser:d},...ab];class tu{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){tl(this,"parser",c(td))}}function tp(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}tl(tu,"ForEntityName","XLINE");let tm={},tE=[{code:170,name:"multileaderType",parser:d},{code:291,name:"doglegEnabled",parser:p},{code:40,name:"doglegLength",parser:d},{code:172,name:"contentType",parser:d},{code:3,name:"textContent",parser:d},{code:12,name:"textAnchor",parser:u},{code:344,name:"blockHandle",parser:d},{code:15,name:"blockPosition",parser:u},{code:302,name:"leaderSections",parser:function(e,a,r){let t;let n={leaderLines:[]};for(;a.hasNext()&&303!==(t=a.next()).code;){switch(t.code){case 10:n.landingPoint=(t.value,s(a));break;case 11:n.doglegVector=(t.value,s(a));break;case 40:n.doglegLength=t.value;break;case 304:n.leaderLines.push(function(e,a,r){let t;let n={vertices:[]};for(;a.hasNext()&&305!==(t=a.next()).code;)10===t.code&&n.vertices.push((t.value,s(a)));return n}(0,a))}}return n},isMultiple:!0},...ab];class th{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){tp(this,"parser",c(tE,tm))}}tp(th,"ForEntityName","MULTILEADER");let tI=Object.fromEntries([aO,aC,aU,aj,aZ,aJ,a0,a2,ru,rh,rg,ry,rP,rv,aV,th,rk,rW,rX,rZ,rQ,r2,r5,te,aL,tt,ri,rB,tn,tc,tu].map(e=>[e.ForEntityName,new e]));function tb(e,a){let r=[];for(;!o(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let t=tI[e.value];if(t){let n=e.value;e=a.next();let o=t.parseEntity(a,e);o.type=n,T(o),r.push(o)}else a.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return r}function tf(e,a){let r={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"BLOCK")){let t=tg(e=a.next(),a);T(t),t.name&&(r[t.name]=t)}e=a.next()}return r}function tg(e,a){let r={};for(;!o(e,0,"EOF");){if(o(e,0,"ENDBLK")){for(e=a.next();!o(e,0,"EOF");){if(o(e,100,"AcDbBlockEnd"))return r;e=a.next()}break}switch(e.code){case 1:r.xrefPath=e.value;break;case 2:r.name=e.value;break;case 3:r.name2=e.value;break;case 5:r.handle=e.value;break;case 8:r.layer=e.value;break;case 10:r.position=s(a);break;case 67:r.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(r.type=e.value);break;case 100:break;case 330:r.ownerHandle=e.value;break;case 0:r.entities=tb(e,a)}e=a.next()}return r}function tT(e,a){let r=null,t={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");)9===e.code?r=e.value:10===e.code?t[r]=s(a):t[r]=e.value,e=a.next();return t}(j=ac||(ac={}))[j.NOT_APPLICABLE=0]="NOT_APPLICABLE",j[j.KEEP_EXISTING=1]="KEEP_EXISTING",j[j.USE_CLONE=2]="USE_CLONE",j[j.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",j[j.VALUE_NAME=4]="VALUE_NAME",j[j.UNMANGLE_NAME=5]="UNMANGLE_NAME";let tD=[{code:330,name:"ownerObjectId",parser:d},{code:102,parser:f},{code:102,parser:f},{code:102,parser:f},{code:5,name:"handle",parser:d}],tO=[{code:3,name:"entries",parser:(e,a)=>{let r={name:e.value};return 350===(e=a.next()).code?r.objectSoftId=e.value:360===e.code?r.objectHardId=e.value:a.rewind(),r},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:d},{code:280,name:"isHardOwned",parser:p},{code:100,name:"subclassMarker",parser:d},...tD];(X=al||(al={}))[X.PSLTSCALE=1]="PSLTSCALE",X[X.LIMCHECK=2]="LIMCHECK",(z=ad||(ad={}))[z.INCHES=0]="INCHES",z[z.MILLIMETERS=1]="MILLIMETERS",z[z.PIXELS=2]="PIXELS",(K=au||(au={}))[K.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",K[K.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",K[K.DRAWING_LIMITS=2]="DRAWING_LIMITS",K[K.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",K[K.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",K[K.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(Z=ap||(ap={}))[Z.AS_DISPLAYED=0]="AS_DISPLAYED",Z[Z.WIREFRAME=1]="WIREFRAME",Z[Z.HIDDEN=2]="HIDDEN",Z[Z.RENDERED=3]="RENDERED",(J=am||(am={}))[J.DRAFT=0]="DRAFT",J[J.PREVIEW=1]="PREVIEW",J[J.NORMAL=2]="NORMAL",J[J.PRESENTATION=3]="PRESENTATION",J[J.MAXIMUM=4]="MAXIMUM",J[J.CUSTOM=5]="CUSTOM";let ty=[{code:333,name:"shadePlotId",parser:d},{code:149,name:"imageOriginY",parser:d},{code:148,name:"imageOriginX",parser:d},{code:147,name:"scaleFactor",parser:d},{code:78,name:"shadePlotCustomDPI",parser:d},{code:77,name:"shadePlotResolution",parser:d},{code:76,name:"shadePlotMode",parser:d},{code:75,name:"standardScaleType",parser:d},{code:7,name:"currentStyleSheet",parser:d},{code:74,name:"plotType",parser:d},{code:73,name:"plotRotation",parser:d},{code:72,name:"plotPaperUnit",parser:d},{code:70,name:"layoutFlag",parser:d},{code:143,name:"printScaleDenominator",parser:d},{code:142,name:"printScaleNumerator",parser:d},{code:141,name:"windowAreaYMax",parser:d},{code:140,name:"windowAreaXMax",parser:d},{code:49,name:"windowAreaYMin",parser:d},{code:48,name:"windowAreaXMin",parser:d},{code:47,name:"plotOriginY",parser:d},{code:46,name:"plotOriginX",parser:d},{code:45,name:"paperHeight",parser:d},{code:44,name:"paperWidth",parser:d},{code:43,name:"marginTop",parser:d},{code:42,name:"marginRight",parser:d},{code:41,name:"marginBottom",parser:d},{code:40,name:"marginLeft",parser:d},{code:6,name:"plotViewName",parser:d},{code:4,name:"paperSize",parser:d},{code:2,name:"configName",parser:d},{code:1,name:"pageSetupName",parser:d},{code:100,name:"subclassMarker",parser:d},...tD],tS=[{code:346,name:"orthographicUcsId",parser:d},{code:345,name:"namedUcsId",parser:d},{code:331,name:"viewportId",parser:d},{code:330,name:"paperSpaceTableId",parser:d},{code:76,name:"orthographicType",parser:d},{code:17,name:"ucsYAxis",parser:u},{code:16,name:"ucsXAxis",parser:u},{code:13,name:"ucsOrigin",parser:u},{code:146,name:"elevation",parser:d},{code:15,name:"maxExtent",parser:u},{code:14,name:"minExtent",parser:u},{code:12,name:"insertionPoint",parser:u},{code:11,name:"maxLimit",parser:u},{code:10,name:"minLimit",parser:u},{code:71,name:"tabOrder",parser:d},{code:70,name:"controlFlag",parser:d},{code:1,name:"layoutName",parser:d},{code:100,name:"subclassMarker",parser:d},...ty],tN=[{code:40,name:"wcsToOCSTransform",parser:tL},{code:40,name:"ocsToWCSTransform",parser:tL},{code:41,name:"backClippingDistance",parser:d},{code:73,name:"isBackClipping",parser:p,pushContext:!0},{code:40,name:"frontClippingDistance",parser:d},{code:72,name:"isFrontClipping",parser:p,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:p},{code:11,name:"position",parser:u},{code:210,name:"normal",parser:u},{code:10,name:"boundaryVertices",parser:u,isMultiple:!0},{code:70,name:"boundaryCount",parser:d},{code:100,name:"subclassMarker",parser:d},{code:100},...tD];function tL(e,a){let r=[];for(let t=0;t<3&&o(e,40);++t){let t=[];for(let r=0;r<4&&o(e,40);++r)t.push(e.value),e=a.next();r.push(t)}return a.rewind(),r}let t_={LAYOUT:tS,PLOTSETTINGS:ty,DICTIONARY:tO,SPATIAL_FILTER:tN};function tP(e,a){let r=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,n=t_[t];if(0===e.code&&n?.length){let o=c(n),s={name:t};o(e=a.next(),a,s)?(r.push(s),e=a.peek()):e=a.next()}else e=a.next()}return{byName:av(r,({name:e})=>e)}}let tA=[{code:100,name:"subclassMarker",parser:d},{code:330,name:"ownerObjectId",parser:d},{code:102,parser(e,a){for(;!o(e,0,"EOF")&&!o(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:d}],tC=c([{code:310,name:"bmpPreview",parser:d},{code:281,name:"scalability",parser:d},{code:280,name:"explodability",parser:d},{code:70,name:"insertionUnits",parser:d},{code:340,name:"layoutObjects",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},...tA]),tv=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{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:"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:"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:ev.Above,defaultValueImperial:ev.Center},{name:"DIMZIN",code:78,defaultValue:eM.Trailing,defaultValueImperial:eM.Feet},{name:"DIMAZIN",code:79,defaultValue:ex.None},{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},{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:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMJUST",code:280,defaultValue:eF.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:ek.Center},{name:"DIMTZIN",code:284,defaultValue:eM.Trailing,defaultValueImperial:eM.Feet},{name:"DIMALTZ",code:285,defaultValue:eM.Trailing},{name:"DIMALTTZ",code:286,defaultValue:eM.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],tM=c([...tv.map(e=>({...e,parser:d})),{code:70,name:"standardFlag",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},{code:105,name:"handle",parser:d},...tA.filter(e=>5!==e.code)]),tx=c([{code:347,name:"materialObjectId",parser:d},{code:390,name:"plotStyleNameObjectId",parser:d},{code:370,name:"lineweight",parser:d},{code:290,name:"isPlotting",parser:p},{code:6,name:"lineType",parser:d},{code:62,name:"colorIndex",parser:d},{code:70,name:"standardFlag",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},...tA]);($=aE||(aE={}))[$.NONE=0]="NONE",$[$.AbsoluteRotation=1]="AbsoluteRotation",$[$.TextEmbedded=2]="TextEmbedded",$[$.ShapeEmbedded=4]="ShapeEmbedded";let tF=c([{code:9,name:"text",parser:d},{code:45,name:"offsetY",parser:d},{code:44,name:"offsetX",parser:d},{code:50,name:"rotation",parser:d},{code:46,name:"scale",parser:d},{code:340,name:"styleObjectId",parser:d},{code:75,name:"shapeNumber",parser:d},{code:74,name:"elementTypeFlag",parser:d},{code:49,name:"elementLength",parser:d}],{elementTypeFlag:0,elementLength:0}),tk=c([{code:49,name:"pattern",parser(e,a){let r={};return tF(e,a,r),r},isMultiple:!0},{code:40,name:"totalPatternLength",parser:d},{code:73,name:"numberOfLineTypes",parser:d},{code:72,parser:d},{code:3,name:"description",parser:d},{code:70,name:"standardFlag",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},...tA]),tR=c([{code:1e3,name:"extendedFont",parser:d},{code:1001},{code:4,name:"bigFont",parser:d},{code:3,name:"font",parser:d},{code:42,name:"lastHeight",parser:d},{code:71,name:"textGenerationFlag",parser:d},{code:50,name:"obliqueAngle",parser:d},{code:41,name:"widthFactor",parser:d},{code:40,name:"fixedTextHeight",parser:d},{code:70,name:"standardFlag",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},...tA]),tw=c([{code:[63,421,431],name:"ambientColor",parser:d},{code:142,name:"contrast",parser:d},{code:141,name:"brightness",parser:d},{code:282,name:"defaultLightingType",parser:d},{code:292,name:"isDefaultLightingOn",parser:p},{code:348,name:"visualStyleObjectId",parser:d},{code:333,name:"shadePlotObjectId",parser:d},{code:332,name:"backgroundObjectId",parser:d},{code:61,name:"majorGridLines",parser:d},{code:170,name:"shadePlotSetting",parser:d},{code:146,name:"elevation",parser:d},{code:79,name:"orthographicType",parser:d},{code:112,name:"ucsYAxis",parser:u},{code:111,name:"ucsXAxis",parser:u},{code:110,name:"ucsOrigin",parser:u},{code:74,name:"ucsIconSetting",parser:d},{code:71,name:"viewMode",parser:d},{code:281,name:"renderMode",parser:d},{code:1,name:"styleSheet",parser:d},{code:[331,441],name:"frozenLayers",parser:d,isMultiple:!0},{code:72,name:"circleSides",parser:d},{code:51,name:"viewTwistAngle",parser:d},{code:50,name:"snapRotationAngle",parser:d},{code:45,name:"viewHeight",parser:d},{code:44,name:"backClippingPlane",parser:d},{code:43,name:"frontClippingPlane",parser:d},{code:42,name:"lensLength",parser:d},{code:17,name:"viewTarget",parser:u},{code:16,name:"viewDirectionFromTarget",parser:u},{code:15,name:"gridSpacing",parser:u},{code:14,name:"snapSpacing",parser:u},{code:13,name:"snapBasePoint",parser:u},{code:12,name:"center",parser:u},{code:11,name:"upperRightCorner",parser:u},{code:10,name:"lowerLeftCorner",parser:u},{code:70,name:"standardFlag",parser:d},{code:2,name:"name",parser:d},{code:100,name:"subclassMarker",parser:d},...tA]),tV={BLOCK_RECORD:tC,DIMSTYLE:tM,LAYER:tx,LTYPE:tk,STYLE:tR,VPORT:tw},tB=c([{code:70,name:"maxNumberOfEntries",parser:d},{code:100,name:"subclassMarker",parser:d},{code:330,name:"ownerObjectId",parser:d},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:d},{code:2,name:"name",parser:d}]);function tH(e,a){let r={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"TABLE")){e=a.next();let t={entries:[]};tB(e,a,t),r[t.name]=t}if(o(e,0)&&!o(e,0,"ENDTAB")){let t=e.value;e=a.next();let n=tV[t];if(!n){a.debug&&console.warn(`parseTable: Invalid table name '${t}'`),e=a.next();continue}let o={};n(e,a,o),r[t]?.entries.push(o)}e=a.next()}return r}function tG(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class tU{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=tW(e,this._data[this._pointer++],this.debug),r={code:e,value:a};return o(r,0,"EOF")&&(this._eof=!0),this.lastReadGroup=r,r}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw 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=tW(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,a=!1){tG(this,"_data",void 0),tG(this,"debug",void 0),tG(this,"_pointer",void 0),tG(this,"_eof",void 0),tG(this,"lastReadGroup",void 0),this._data=e,this.debug=a,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function tW(e,a,r=!1){return e<=9?a:e>=10&&e<=59?parseFloat(a.trim()):e>=60&&e<=99?parseInt(a.trim()):e>=100&&e<=109?a:e>=110&&e<=149?parseFloat(a.trim()):e>=160&&e<=179?parseInt(a.trim()):e>=210&&e<=239?parseFloat(a.trim()):e>=270&&e<=289?parseInt(a.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(a.trim()):e>=300&&e<=369?a:e>=370&&e<=389?parseInt(a.trim()):e>=390&&e<=399?a:e>=400&&e<=409?parseInt(a.trim()):e>=410&&e<=419?a:e>=420&&e<=429?parseInt(a.trim()):e>=430&&e<=439?a:e>=440&&e<=459?parseInt(a.trim()):e>=460&&e<=469?parseFloat(a.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?a:e>=1010&&e<=1059?parseFloat(a.trim()):e>=1060&&e<=1071?parseInt(a.trim()):(r&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:a}),a)}function tY(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class tj{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){tY(this,"point",{}),tY(this,"startCode",0),tY(this,"code",0),tY(this,"value",0),tY(this,"x",void 0),tY(this,"y",void 0),tY(this,"z",void 0)}}function tX(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class tz{constructor(){tX(this,"encoding","utf-8"),tX(this,"encodingFailureFatal",!1)}}class tK extends Error{constructor(e,a,r){let t=`[Line ${a}]: ${e}`;r?.cause&&(t+=`
|
|
2
|
-
Caused by ${
|
|
3
|
-
${
|
|
1
|
+
(el=eY||(eY={}))[el.None=0]="None",el[el.Anonymous=1]="Anonymous",el[el.NonConstant=2]="NonConstant",el[el.Xref=4]="Xref",el[el.XrefOverlay=8]="XrefOverlay",el[el.ExternallyDependent=16]="ExternallyDependent",el[el.ResolvedOrDependent=32]="ResolvedOrDependent",el[el.ReferencedXref=64]="ReferencedXref",(ep=eX||(eX={}))[ep.BYBLOCK=0]="BYBLOCK",ep[ep.BYLAYER=256]="BYLAYER";let e=-1,r=4,a=Math.PI/24;(eu=ez||(ez={}))[eu.Rotated=0]="Rotated",eu[eu.Aligned=1]="Aligned",eu[eu.Angular=2]="Angular",eu[eu.Diameter=3]="Diameter",eu[eu.Radius=4]="Radius",eu[eu.Angular3Point=5]="Angular3Point",eu[eu.Ordinate=6]="Ordinate",eu[eu.ReferenceIsExclusive=32]="ReferenceIsExclusive",eu[eu.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",eu[eu.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",(em=eK||(eK={}))[em.TopLeft=1]="TopLeft",em[em.TopCenter=2]="TopCenter",em[em.TopRight=3]="TopRight",em[em.MiddleLeft=4]="MiddleLeft",em[em.MiddleCenter=5]="MiddleCenter",em[em.MiddleRight=6]="MiddleRight",em[em.BottomLeft=7]="BottomLeft",em[em.BottomCenter=8]="BottomCenter",em[em.BottomRight=9]="BottomRight",(eE=eZ||(eZ={}))[eE.AtLeast=1]="AtLeast",eE[eE.Exact=2]="Exact",(eh=eJ||(eJ={}))[eh.Center=0]="Center",eh[eh.Above=1]="Above",eh[eh.Outside=2]="Outside",eh[eh.JIS=3]="JIS",eh[eh.Below=4]="Below",(eI=e$||(e$={}))[eI.Feet=0]="Feet",eI[eI.None=1]="None",eI[eI.Inch=2]="Inch",eI[eI.FeetAndInch=3]="FeetAndInch",eI[eI.Leading=4]="Leading",eI[eI.Trailing=8]="Trailing",eI[eI.LeadingAndTrailing=12]="LeadingAndTrailing",(ef=eq||(eq={}))[ef.None=0]="None",ef[ef.Leading=1]="Leading",ef[ef.Trailing=2]="Trailing",ef[ef.LeadingAndTrailing=3]="LeadingAndTrailing",(eb=eQ||(eQ={}))[eb.Center=0]="Center",eb[eb.First=1]="First",eb[eb.Second=2]="Second",eb[eb.OverFirst=3]="OverFirst",eb[eb.OverSecond=4]="OverSecond",(eg=e0||(e0={}))[eg.Bottom=0]="Bottom",eg[eg.Center=1]="Center",eg[eg.Top=2]="Top",(eD=e1||(e1={}))[eD.PatternFill=0]="PatternFill",eD[eD.SolidFill=1]="SolidFill",(eT=e4||(e4={}))[eT.NonAssociative=0]="NonAssociative",eT[eT.Associative=1]="Associative",(eO=e2||(e2={}))[eO.Normal=0]="Normal",eO[eO.Outer=1]="Outer",eO[eO.Ignore=2]="Ignore",(ey=e3||(e3={}))[ey.UserDefined=0]="UserDefined",ey[ey.Predefined=1]="Predefined",ey[ey.Custom=2]="Custom",(eS=e7||(e7={}))[eS.NotAnnotated=0]="NotAnnotated",eS[eS.Annotated=1]="Annotated",(eN=e5||(e5={}))[eN.Solid=0]="Solid",eN[eN.Gradient=1]="Gradient",(eL=e9||(e9={}))[eL.TwoColor=0]="TwoColor",eL[eL.OneColor=1]="OneColor",(eP=e6||(e6={}))[eP.Default=0]="Default",eP[eP.External=1]="External",eP[eP.Polyline=2]="Polyline",eP[eP.Derived=4]="Derived",eP[eP.Textbox=8]="Textbox",eP[eP.Outermost=16]="Outermost",(eA=e8||(e8={}))[eA.Line=1]="Line",eA[eA.Circular=2]="Circular",eA[eA.Elliptic=3]="Elliptic",eA[eA.Spline=4]="Spline",(e_=re||(re={}))[e_.Off=0]="Off",e_[e_.Solid=1]="Solid",e_[e_.Dashed=2]="Dashed",e_[e_.Dotted=3]="Dotted",e_[e_.ShotDash=4]="ShotDash",e_[e_.MediumDash=5]="MediumDash",e_[e_.LongDash=6]="LongDash",e_[e_.DoubleShortDash=7]="DoubleShortDash",e_[e_.DoubleMediumDash=8]="DoubleMediumDash",e_[e_.DoubleLongDash=9]="DoubleLongDash",e_[e_.DoubleMediumLongDash=10]="DoubleMediumLongDash",e_[e_.SparseDot=11]="SparseDot";let n={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:re.Off,SHADEDIF:70};(eC=rr||(rr={}))[eC.Standard=-3]="Standard",eC[eC.ByLayer=-2]="ByLayer",eC[eC.ByBlock=-1]="ByBlock",(eM=ra||(ra={}))[eM.English=0]="English",eM[eM.Metric=1]="Metric";let t=65536;function o(e,r,a){return e.code===r&&(null==a||e.value===a)}function s(e){let r={};e.rewind();let a=e.next(),n=a.code;if(r.x=a.value,(a=e.next()).code!==n+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==n+20)?e.rewind():r.z=a.value,r}(ex=rn||(rn={}))[ex.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",ex[ex.FRONT_CLIPPING=2]="FRONT_CLIPPING",ex[ex.BACK_CLIPPING=4]="BACK_CLIPPING",ex[ex.UCS_FOLLOW=8]="UCS_FOLLOW",ex[ex.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",ex[ex.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",ex[ex.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",ex[ex.FAST_ZOOM=128]="FAST_ZOOM",ex[ex.SNAP_MODE=256]="SNAP_MODE",ex[ex.GRID_MODE=512]="GRID_MODE",ex[ex.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",ex[ex.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",ex[ex.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",ex[ex.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",ex[ex.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",ex[ex.UNUSED=32768]="UNUSED",ex[ex.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",ex[ex.VIEWPORT_OFF=131072]="VIEWPORT_OFF",ex[ex.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",ex[ex.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",ex[ex.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",ex[ex.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(eF=rt||(rt={}))[eF.OPTIMIZED_2D=0]="OPTIMIZED_2D",eF[eF.WIREFRAME=1]="WIREFRAME",eF[eF.HIDDEN_LINE=2]="HIDDEN_LINE",eF[eF.FLAT_SHADED=3]="FLAT_SHADED",eF[eF.GOURAUD_SHADED=4]="GOURAUD_SHADED",eF[eF.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eF[eF.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(eR=ro||(ro={}))[eR.UCS_UNCHANGED=0]="UCS_UNCHANGED",eR[eR.HAS_OWN_UCS=1]="HAS_OWN_UCS",(ev=rs||(rs={}))[ev.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",ev[ev.TOP=1]="TOP",ev[ev.BOTTOM=2]="BOTTOM",ev[ev.FRONT=3]="FRONT",ev[ev.BACK=4]="BACK",ev[ev.LEFT=5]="LEFT",ev[ev.RIGHT=6]="RIGHT",(ew=ri||(ri={}))[ew.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",ew[ew.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",(eV=rc||(rc={}))[eV.ByLayer=0]="ByLayer",eV[eV.ByBlock=1]="ByBlock",eV[eV.ByDictionaryDefault=2]="ByDictionaryDefault",eV[eV.ByObject=3]="ByObject";let i=Symbol();function c(e,r){return(a,n,t)=>{let s=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let n=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let t=n[e]??(n[e]=[]);a.isMultiple&&t.length&&r&&console.warn(`Snippet ${t[t.length-1].name} for code(${e}) is shadowed by ${a.name}`),t.push(a)}return e},[{}])}(e,n.debug),c=!1,l=s.length-1;for(;!o(a,0,"EOF");){let e=function(e,r,a){return e.find((e,n)=>n>=a&&e[r]?.length)}(s,a.code,l),r=e?.[a.code],o=r?.[r.length-1];if(!e||!o){n.rewind();break}o.isMultiple||e[a.code].pop();let{name:p,parser:u,isMultiple:m,isReducible:E}=o,h=u?.(a,n,t);if(h===i){n.rewind();break}if(p){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let n=e;for(let e=0;e<a.length-1;++e){let r=d(a[e]),t=d(a[e+1]);Object.prototype.hasOwnProperty.call(n,r)||("number"==typeof t?n[r]=[]:n[r]={}),n=n[r]}return[n,d(a[a.length-1])]}(t,p);m&&!E?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(h)):e[r]=h}o.pushContext&&(l-=1),c=!0,a=n.next()}return r&&Object.setPrototypeOf(t,r),c}}function d(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function l({value:e}){return e}function p(e,r){return s(r)}function u({value:e}){return!!e}let m=[{code:1001,name:"xdata",parser:E}];function E(e,r){if(!o(e,1001))throw Error("XData must starts with code 1001");let a={appName:e.value,value:[]};e=r.next();let n=[a.value];for(;!o(e,0,"EOF")&&e.code>=1e3;){let a=n[n.length-1];switch(e.code){case 1002:"{"===e.value?n.push([]):(n.pop(),n[n.length-1]?.push(a));break;case 1e3:case 1004:case 1040:case 1070:case 1071:a.push({type:h(e.code),value:e.value});break;case 1003:a.push({name:"layer",type:h(e.code),value:e.value});break;case 1005:a.push({name:"handle",type:h(e.code),value:e.value});break;case 1010:a.push({type:h(e.code),value:s(r)});break;case 1011:a.push({name:"worldSpacePosition",type:h(e.code),value:s(r)});break;case 1012:a.push({name:"worldSpaceDisplacement",type:h(e.code),value:s(r)});break;case 1013:a.push({name:"worldSpaceDirection",type:h(e.code),value:s(r)});break;case 1041:a.push({name:"distance",type:h(e.code),value:e.value});break;case 1042:a.push({name:"scale",type:h(e.code),value:e.value})}e=r.next()}return r.rewind(),a}function h(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function I(e){return r=>{let a={};for(let n=0;n<r.length;n+=2){let t=e.find(({code:e})=>e===r[n].value);t&&(a[t.name]=r[n+1]?.value)}return a}}function f({appName:e="ACAD",catcher:r,escaper:a}){return function*(n){if(n?.appName!==e)return;let t=!1,o=-1;for(let[e,s]of n.value.entries())if(t){if(yield s,a?.(s,e-o))return}else r(s)&&(t=!0,o=e)}}function b(e,r,a){for(;o(e,102);){var n;let t=e.value;if(e=r.next(),!t.startsWith("{")){r.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${t}`),function(e,r){for(;!o(e,102)&&!o(e,0,"EOF");)e=r.next()}(e,r),e=r.next();continue}let s=t.slice(1).trim();a.extensions??(a.extensions={}),(n=a.extensions)[s]??(n[s]=[]),function(e,r,a){for(;!o(e,102,"}")&&!o(e,0,"EOF");)a.push(e),e=r.next()}(e,r,a.extensions[s]),e=r.next()}r.rewind()}let g=0;function D(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=g++)}(ek=rd||(rd={}))[ek.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",ek[ek.CAST=1]="CAST",ek[ek.RECEIVE=2]="RECEIVE",ek[ek.IGNORE=3]="IGNORE";let T=[...m,{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",parser:l},{code:92,name:"proxyByte",parser:l},{code:60,name:"isVisible",parser:u},{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:u},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}];function O(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function y(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let S={extrusionDirection:{x:0,y:0,z:1}},N=[{code:210,name:"extrusionDirection",parser:p},{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:p},{code:39,name:"thickness",parser:l},{code:100},...T];class L{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){y(this,"parser",c(N,S))}}function P(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}y(L,"ForEntityName","ARC"),(eB=rl||(rl={}))[eB.NONE=0]="NONE",eB[eB.INVISIBLE=1]="INVISIBLE",eB[eB.CONSTANT=2]="CONSTANT",eB[eB.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",eB[eB.PRESET=8]="PRESET",(eH=rp||(rp={}))[eH.MULTILINE=2]="MULTILINE",eH[eH.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(eG=ru||(ru={}))[eG.NONE=0]="NONE",eG[eG.MIRRORED_X=2]="MIRRORED_X",eG[eG.MIRRORED_Y=4]="MIRRORED_Y",(eU=rm||(rm={}))[eU.LEFT=0]="LEFT",eU[eU.CENTER=1]="CENTER",eU[eU.RIGHT=2]="RIGHT",eU[eU.ALIGNED=3]="ALIGNED",eU[eU.MIDDLE=4]="MIDDLE",eU[eU.FIT=5]="FIT",(eW=rE||(rE={}))[eW.BASELINE=0]="BASELINE",eW[eW.BOTTOM=1]="BOTTOM",eW[eW.MIDDLE=2]="MIDDLE",eW[eW.TOP=3]="TOP";let A={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:rm.LEFT,valign:rE.BASELINE,extrusionDirection:{x:0,y:0,z:1}},_=[{code:73,name:"valign",parser:l},{code:100},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{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:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class C{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){P(this,"parser",c(_,A))}}function M(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}P(C,"ForEntityName","TEXT");let x={...A},F=[{code:2},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedRecord",parser:u},{code:100},{code:280,name:"isLocked",parser:u},{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},..._.slice(2)];class R{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){M(this,"parser",c(F,x))}}function v(e,r){let a={};for(let n of e){let e=r(n);null!=e&&(a[e]??(a[e]=[]),a[e].push(n))}return a}function*w(e,r=1/0,a=1){for(let n=e;n!==r;n+=a)yield n}function V(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}M(R,"ForEntityName","ATTDEF"),(ej=rh||(rh={}))[ej.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",ej[ej.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",ej[ej.BY_STYLE=5]="BY_STYLE";var k,B,H,G,U,W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,en,et,eo,es,ei,ec,ed,el,ep,eu,em,eE,eh,eI,ef,eb,eg,eD,eT,eO,ey,eS,eN,eL,eP,eA,e_,eC,eM,ex,eF,eR,ev,ew,eV,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7,e5,e9,e6,e8,re,rr,ra,rn,rt,ro,rs,ri,rc,rd,rl,rp,ru,rm,rE,rh,rI,rf,rb,rg,rD,rT,rO,ry,rS,rN,rL,rP,rA,r_,rC,rM,rx,rF,rR,rv,rw=[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 rV(e){return rw[e]}function rk(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let rB={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},rH=[{code:46,name:"annotationHeight",parser:l},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{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:[...w(430,440)],name:"backgroundColor",parser:l},{code:[...w(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:p},{code:210,name:"extrusionDirection",parser:p},{code:7,name:"styleName",parser:l},...O("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:p},{code:100,name:"subclassMarker",parser:l},...T];class rG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rk(this,"parser",c(rH,rB))}}function rU(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rk(rG,"ForEntityName","MTEXT");let rW={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},rj=[...rH.slice(rH.findIndex(({name:e})=>"columnType"===e),rH.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!o(e,0,"MTEXT"))return i}},{code:2,name:"definitionTag",parser:l},{code:40,name:"annotationScale",parser:l},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardId",parser:l},{code:70,name:"numberOfSecondaryAttributes",parser:l},{code:70,name:"isReallyLocked",parser:u},{code:70,name:"mtextFlag",parser:l},{code:280,name:"isDuplicatedEntriesKeep",parser:u},{code:100},{code:280,name:"lockPositionFlag",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"alignmentPoint",parser:p},{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:p},{code:39,name:"thickness",parser:l},{code:100},...T];class rY{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rU(this,"parser",c(rj,rW))}}function rX(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rU(rY,"ForEntityName","ATTRIB");let rz=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class rK{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rX(this,"parser",c(rz))}}function rZ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rX(rK,"ForEntityName","BODY");let rJ={thickness:0,extrusionDirection:{x:0,y:0,z:1}},r$=[{code:210,name:"extrusionDirection",parser:p},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class rq{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rZ(this,"parser",c(r$,rJ))}}rZ(rq,"ForEntityName","CIRCLE");let rQ=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{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:"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:"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:eJ.Above,defaultValueImperial:eJ.Center},{name:"DIMZIN",code:78,defaultValue:e$.Trailing,defaultValueImperial:e$.Feet},{name:"DIMAZIN",code:79,defaultValue:eq.None},{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},{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:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:eQ.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:e0.Center},{name:"DIMTZIN",code:284,defaultValue:e$.Trailing,defaultValueImperial:e$.Feet},{name:"DIMALTZ",code:285,defaultValue:e$.Trailing},{name:"DIMALTTZ",code:286,defaultValue:e$.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],r0=[{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102,parser(e,r){for(;!o(e,0,"EOF")&&!o(e,102,"}");)e=r.next()}},{code:5,name:"handle",parser:l}],r1=c([...rQ.map(e=>({...e,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},...r0.filter(e=>5!==e.code)]),r4=[{code:100},{code:52,name:"obliqueAngle",parser:l},{code:50,name:"rotationAngle",parser:l},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:12,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],r2=[{code:16,name:"arcPoint",parser:p},{code:15,name:"centerPoint",parser:p},{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],r3=[{code:14,name:"subDefinitionPoint2",parser:p},{code:13,name:"subDefinitionPoint1",parser:p},{code:100,name:"subclassMarker",parser:l}],r7=[{code:40,name:"leaderLength",parser:l},{code:15,name:"subDefinitionPoint",parser:p},{code:100,name:"subclassMarker",parser:l}],r5=[{code:100,parser(e,r,a){let n=function(e){switch(e){case"AcDbAlignedDimension":return c(r4);case"AcDb3PointAngularDimension":return c(r2);case"AcDbOrdinateDimension":return c(r3);case"AcDbRadialDimension":case"AcDbDiametricDimension":return c(r7)}return null}(e.value);if(!n)return i;n(e,r,a)},pushContext:!0},...rQ.map(e=>({...e,parser:l})),{code:3,name:"styleName",parser:l},{code:210,name:"extrusionDirection",parser:p},{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:p},{code:10,name:"definitionPoint",parser:p},{code:2,name:"name",parser:l},{code:280,name:"version",parser:l},{code:100},...T];class r9{parseEntity(e,r){let a={};return c(r5)(r,e,a),a}}function r6(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}B="DIMENSION",(k="ForEntityName")in r9?Object.defineProperty(r9,k,{value:B,enumerable:!0,configurable:!0,writable:!0}):r9[k]=B;let r8={extrusionDirection:{x:0,y:0,z:1}},ae=[{code:42,name:"endAngle",parser:l},{code:41,name:"startAngle",parser:l},{code:40,name:"axisRatio",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"majorAxisEndPoint",parser:p},{code:10,name:"center",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class ar{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r6(this,"parser",c(ae,r8))}}function aa(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r6(ar,"ForEntityName","ELLIPSE"),(H=rI||(rI={}))[H.First=1]="First",H[H.Second=2]="Second",H[H.Third=4]="Third",H[H.Fourth=8]="Fourth";let an=[{code:13,name:"vertices.3",parser:p},{code:12,name:"vertices.2",parser:p},{code:11,name:"vertices.1",parser:p},{code:10,name:"vertices.0",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class at{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aa(this,"parser",c(an))}}aa(at,"ForEntityName","3DFACE");let ao=[{code:330,name:"sourceBoundaryObjects",parser:l,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:l}],as=[{code:11,name:"end",parser:p},{code:10,name:"start",parser:p}],ai=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"radius",parser:l},{code:10,name:"center",parser:p}],ac=[{code:73,name:"isCCW",parser:u},{code:51,name:"endAngle",parser:l},{code:50,name:"startAngle",parser:l},{code:40,name:"lengthOfMinorAxis",parser:l},{code:11,name:"end",parser:p},{code:10,name:"center",parser:p}],ad=[{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:11,name:"fitDatum",isMultiple:!0,parser:p},{code:97,name:"numberOfFitData",parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let a={...s(r),weight:1};return 42===(e=r.next()).code?a.weight=e.value:r.rewind(),a}},{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:u},{code:73,name:"splineFlag",parser:l},{code:94,name:"degree",parser:l}],al={[e8.Line]:as,[e8.Circular]:ai,[e8.Elliptic]:ac,[e8.Spline]:ad},ap=[...ao,{code:72,name:"edges",parser(e,r){let a={type:e.value},n=c(al[a.type]);if(!n)throw Error(`Invalid edge type ${a.type}`);return n(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:l}],au=[...ao,{code:10,name:"vertices",parser(e,r){let a={...s(r),bulge:0};return 42===(e=r.next()).code?a.bulge=e.value:r.rewind(),a},isMultiple:!0},{code:93,name:"numberOfVertices",parser:l},{code:73,name:"isClosed",parser:u},{code:72,name:"hasBulge",parser:u}],am=[{code:49,name:"dashLengths",parser:l,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:l},{code:45,name:"offset",parser:aE},{code:43,name:"base",parser:aE},{code:53,name:"angle",parser:l}];function aE(e,r){let a=e.code+1,n={x:e.value,y:1};return(e=r.next()).code===a?n.y=e.value:r.rewind(),n}function ah(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}let aI={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},af=[{code:470},{code:463},{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:p,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:p},{code:98,name:"numberOfSeedPoints",parser:l},{code:47,name:"pixelSize",parser:l},{code:53,name:"definitionLines",parser:function(e,r){let a={};return c(am)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:l},{code:77,name:"isDouble",parser:u},{code:73,name:"isAnnotated",parser:u},{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:function(e,r){let a={boundaryPathTypeFlag:e.value},n=a.boundaryPathTypeFlag&e6.Polyline;return(e=r.next(),n)?c(au)(e,r,a):c(ap)(e,r,a),a},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:p},{code:10,name:"elevationPoint",parser:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class ab{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ah(this,"parser",c(af,aI))}}function ag(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ah(ab,"ForEntityName","HATCH"),(G=rf||(rf={}))[G.ShowImage=1]="ShowImage",G[G.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",G[G.UseClippingBoundary=4]="UseClippingBoundary",G[G.TransparencyIsOn=8]="TransparencyIsOn",(U=rb||(rb={}))[U.Rectangular=1]="Rectangular",U[U.Polygonal=2]="Polygonal",(W=rg||(rg={}))[W.Outside=0]="Outside",W[W.Inside=1]="Inside";let aD={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},aT=[{code:290,name:"clipMode",parser:l},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:p},{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:u},{code:70,name:"flags",parser:l},{code:340,name:"imageDefHandle",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vPixel",parser:p},{code:11,name:"uPixel",parser:p},{code:10,name:"position",parser:p},{code:90,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aO{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ag(this,"parser",c(aT,aD))}}function ay(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ag(aO,"ForEntityName","IMAGE");let aS={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},aN=[{code:210,name:"extrusionDirection",parser:p},{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:p},{code:2,name:"name",parser:l},{code:66,name:"isVariableAttributes",parser:u},{code:100,name:"subclassMarker",parser:l},...T];class aL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ay(this,"parser",c(aN,aS))}}function aP(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ay(aL,"ForEntityName","INSERT");let aA={isArrowheadEnabled:!0},a_=[{code:213,name:"offsetFromAnnotation",parser:p},{code:212,name:"offsetFromBlock",parser:p},{code:211,name:"horizontalDirection",parser:p},{code:210,name:"normal",parser:p},{code:340,name:"associatedAnnotation",parser:l},{code:77,name:"byBlockColor",parser:l},{code:10,name:"vertices",parser:p,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:u},{code:74,name:"isHooklineSameDirection",parser:u},{code:73,name:"leaderCreationFlag",parser:l},{code:72,name:"isSpline",parser:u},{code:71,name:"isArrowheadEnabled",parser:u},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aP(this,"parser",c(a_,aA))}}function aM(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aP(aC,"ForEntityName","LEADER"),(j=rD||(rD={}))[j.TextAnnotation=0]="TextAnnotation",j[j.ToleranceAnnotation=1]="ToleranceAnnotation",j[j.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",j[j.NoAnnotation=3]="NoAnnotation";let ax={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aF=[{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class aR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aM(this,"parser",c(aF,ax))}}aM(aR,"ForEntityName","LINE"),(Y=rT||(rT={}))[Y.IS_CLOSED=1]="IS_CLOSED",Y[Y.PLINE_GEN=128]="PLINE_GEN";let av={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},aw={bulge:0},aV=[{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}],ak=[{code:210,name:"extrusionDirection",parser:p},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return c(aV,aw)(e,r,a),a}},{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},...T];class aB{parseEntity(e,r){let a={};return c(ak,av)(r,e,a),a}}function aH(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}z="LWPOLYLINE",(X="ForEntityName")in aB?Object.defineProperty(aB,X,{value:z,enumerable:!0,configurable:!0,writable:!0}):aB[X]=z;let aG=[{code:90,name:"overridenSubEntityCount",parser:l},{code:140,name:"edgeCreaseWeights",parser:l,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:l},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let n=0;n<a.edgeCount;++n){let n=[];e=r.next(),n[0]=e.value,e=r.next(),n[1]=e.value,a.edgeIndices.push(n)}}},{code:93,parser(e,r,a){a.totalFaceIndices=e.value,a.faceIndices=[];let n=[];for(let t=0;t<a.totalFaceIndices&&!o(e,0);++t)e=r.next(),n.push(e.value);let t=0;for(;t<n.length;){let e=n[t++],r=[];for(let a=0;a<e;++a)r.push(n[t++]);a.faceIndices.push(r)}}},{code:10,name:"vertices",parser:p,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:u},{code:71,name:"version",parser:l},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...T];class aU{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aH(this,"parser",c(aG))}}function aW(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aH(aU,"ForEntityName","MESH");let aj={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},aY=[{code:50,name:"angle",parser:l},{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class aX{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aW(this,"parser",c(aY,aj))}}function az(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aW(aX,"ForEntityName","POINT"),(K=rO||(rO={}))[K.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",K[K.CURVE_FIT=2]="CURVE_FIT",K[K.SPLINE_FIT=4]="SPLINE_FIT",K[K.POLYLINE_3D=8]="POLYLINE_3D",K[K.POLYGON_3D=16]="POLYGON_3D",K[K.CLOSED_POLYGON=32]="CLOSED_POLYGON",K[K.POLYFACE=64]="POLYFACE",K[K.CONTINUOUS=128]="CONTINUOUS",(Z=ry||(ry={}))[Z.NONE=0]="NONE",Z[Z.QUADRATIC=5]="QUADRATIC",Z[Z.CUBIC=6]="CUBIC",Z[Z.BEZIER=8]="BEZIER",(J=rS||(rS={}))[J.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",J[J.TANGENT_DEFINED=2]="TANGENT_DEFINED",J[J.NOT_USED=4]="NOT_USED",J[J.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",J[J.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",J[J.FOR_POLYLINE=32]="FOR_POLYLINE",J[J.FOR_POLYGON=64]="FOR_POLYGON",J[J.POLYFACE=128]="POLYFACE";let aK={startWidth:0,endWidth:0,bulge:0},aZ=[{code:91,name:"id",parser:l},{code:[...w(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},...T];class aJ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){az(this,"parser",c(aZ,aK))}}function a$(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}az(aJ,"ForEntityName","VERTEX");let aq={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:[]},aQ=[{code:0,name:"vertices",isMultiple:!0,parser:(e,r)=>o(e,0,"VERTEX")?(e=r.next(),new aJ().parseEntity(r,e)):i},{code:210,name:"extrusionDirection",parser:p},{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},...T];class a0{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a$(this,"parser",c(aQ,aq))}}function a1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a$(a0,"ForEntityName","POLYLINE");let a4=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class a2{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a1(this,"parser",c(a4))}}function a3(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a1(a2,"ForEntityName","RAY");let a7=[...O("data"),{code:70,name:"version",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class a5{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a3(this,"parser",c(a7))}}function a9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a3(a5,"ForEntityName","REGION");let a6={vertices:[],backLineVertices:[]},a8=[{code:360,name:"geometrySettingHardId",parser:l},{code:12,name:"backLineVertices",isMultiple:!0,parser:p},{code:93,name:"numberOfBackLineVertices",parser:l},{code:11,name:"vertices",isMultiple:!0,parser:p},{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:p},{code:1,name:"name",parser:l},{code:91,name:"flag",parser:l},{code:90,name:"state",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class ne{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){a9(this,"parser",c(a8,a6))}}function nr(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}a9(ne,"ForEntityName","SECTION");let na={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},nn=[{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:l},{code:[...w(10,14)],name:"points",isMultiple:!0,parser:p},{code:100,name:"subclassMarker",parser:l},...T];class nt{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nr(this,"parser",c(nn,na))}}function no(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nr(nt,"ForEntityName","SOLID");let ns=[{code:350,name:"historyObjectSoftId",parser:l},{code:100,name:"subclassMarker",parser:l},...O("data"),{code:70,name:"version",parser:l},{code:100},...T];class ni{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){no(this,"parser",c(ns))}}function nc(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}no(ni,"ForEntityName","3DSOLID"),($=rN||(rN={}))[$.NONE=0]="NONE",$[$.CLOSED=1]="CLOSED",$[$.PERIODIC=2]="PERIODIC",$[$.RATIONAL=4]="RATIONAL",$[$.PLANAR=8]="PLANAR",$[$.LINEAR=16]="LINEAR";let nd={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},nl=[{code:11,name:"fitPoints",isMultiple:!0,parser:p},{code:10,name:"controlPoints",isMultiple:!0,parser:p},{code:41,name:"weights",isMultiple:!0,parser:l},{code:40,name:"knots",isMultiple:!0,parser:l},{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{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:p},{code:100,name:"subclassMarker",parser:l},...T];class np{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nc(this,"parser",c(nl,nd))}}function nu(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nc(np,"ForEntityName","SPLINE");let nm=[{code:11,name:"xAxisDirection",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:1,name:"text",parser:l},{code:10,name:"position",parser:p},{code:3,name:"styleName",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nE{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nu(this,"parser",c(nm))}}nu(nE,"ForEntityName","TOLERANCE");let nh=[{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:u},{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:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{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:p},{code:16,name:"viewDirection",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBase",parser:p},{code:12,name:"displayCenter",parser:p},{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:p},{code:100,name:"subclassMarker",parser:l,pushContext:!0},...T];class nI{parseEntity(e,r){let a={};return c(nh)(r,e,a),a}}function nf(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}Q="VIEWPORT",(q="ForEntityName")in nI?Object.defineProperty(nI,q,{value:Q,enumerable:!0,configurable:!0,writable:!0}):nI[q]=Q,(ee=rL||(rL={}))[ee.ShowImage=1]="ShowImage",ee[ee.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",ee[ee.UseClippingBoundary=4]="UseClippingBoundary",ee[ee.Transparency=8]="Transparency";let nb={brightness:50,constrast:50,fade:0},ng=[{code:14,name:"boundary",isMultiple:!0,parser:p},{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:u},{code:70,name:"displayFlag",parser:l},{code:340,name:"imageDefHardId",parser:l},{code:13,name:"imageSize",parser:p},{code:12,name:"vDirection",parser:p},{code:11,name:"uDirection",parser:p},{code:10,name:"position",parser:p},{code:90,name:"classVersion",parser:l},{code:100,name:"subclassMarker",parser:l},...T];class nD{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nf(this,"parser",c(ng,nb))}}function nT(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nf(nD,"ForEntityName","WIPEOUT");let nO=[{code:11,name:"direction",parser:p},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:l},...T];class ny{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nT(this,"parser",c(nO))}}function nS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nT(ny,"ForEntityName","XLINE"),(er=rP||(rP={}))[er.Top=0]="Top",er[er.Zero=1]="Zero",er[er.Bottom=2]="Bottom",(ea=rA||(rA={}))[ea.HasVertex=1]="HasVertex",ea[ea.Closed=2]="Closed",ea[ea.SuppressStartCaps=4]="SuppressStartCaps",ea[ea.SuppressEndCaps=8]="SuppressEndCaps";let nN=[{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}],nL=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=c(nN),n={};return a(e,r,n),n},isMultiple:!0},{code:13,name:"miterDirection",parser:p},{code:12,name:"direction",parser:p},{code:11,name:"position",parser:p}],nP=[{code:[11,12,13],name:"segments",parser(e,r){let a=c(nL),n={};return a(e,r,n),n},isMultiple:!0},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"startPosition",parser:p},{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},...T];class nA{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){nS(this,"parser",c(nP))}}function n_(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}nS(nA,"ForEntityName","MLINE");let nC={},nM=[{code:170,name:"multileaderType",parser:l},{code:291,name:"doglegEnabled",parser:u},{code:40,name:"doglegLength",parser:l},{code:172,name:"contentType",parser:l},{code:3,name:"textContent",parser:l},{code:12,name:"textAnchor",parser:p},{code:344,name:"blockHandle",parser:l},{code:15,name:"blockPosition",parser:p},{code:302,name:"leaderSections",parser:function(e,r,a){let n;let t={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:t.landingPoint=(n.value,s(r));break;case 11:t.doglegVector=(n.value,s(r));break;case 40:t.doglegLength=n.value;break;case 304:t.leaderLines.push(function(e,r,a){let n;let t={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&t.vertices.push((n.value,s(r)));return t}(0,r))}}return t},isMultiple:!0},...T];class nx{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){n_(this,"parser",c(nM,nC))}}n_(nx,"ForEntityName","MULTILEADER");let nF=Object.fromEntries([L,R,rY,rK,rq,r9,ar,at,aO,aL,aC,aR,aB,aU,nA,rG,nx,aX,a0,a2,a5,ne,nt,ni,np,C,nE,ab,aJ,nI,nD,ny].map(e=>[e.ForEntityName,new e]));function nR(e,r){let a=[];for(;!o(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){r.rewind();break}let n=nF[e.value];if(n){let t=e.value;e=r.next();let o=n.parseEntity(r,e);o.type=t,D(o),a.push(o)}else r.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=r.next()}return a}function nv(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"BLOCK")){let n=nw(e=r.next(),r);D(n),n.name&&(a[n.name]=n)}e=r.next()}return a}function nw(e,r){let a={};for(;!o(e,0,"EOF");){if(o(e,0,"ENDBLK")){for(e=r.next();!o(e,0,"EOF");){if(o(e,100,"AcDbBlockEnd"))return a;e=r.next()}break}switch(e.code){case 1:a.xrefPath=e.value;break;case 2:a.name=e.value;break;case 3:a.name2=e.value;break;case 5:a.handle=e.value;break;case 8:a.layer=e.value;break;case 10:a.position=s(r);break;case 67:a.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(a.type=e.value);break;case 100:break;case 330:a.ownerHandle=e.value;break;case 0:a.entities=nR(e,r)}e=r.next()}return a}function nV(e,r){let a=null,n={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");)9===e.code?a=e.value:10===e.code?n[a]=s(r):n[a]=e.value,e=r.next();return n}(en=r_||(r_={}))[en.NOT_APPLICABLE=0]="NOT_APPLICABLE",en[en.KEEP_EXISTING=1]="KEEP_EXISTING",en[en.USE_CLONE=2]="USE_CLONE",en[en.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",en[en.VALUE_NAME=4]="VALUE_NAME",en[en.UNMANGLE_NAME=5]="UNMANGLE_NAME";let nk=[{code:330,name:"ownerObjectId",parser:l},{code:102,parser:b},{code:102,parser:b},{code:102,parser:b},{code:5,name:"handle",parser:l}],nB=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:l},{code:280,name:"isHardOwned",parser:u},{code:100,name:"subclassMarker",parser:l},...nk];(et=rC||(rC={}))[et.PSLTSCALE=1]="PSLTSCALE",et[et.LIMCHECK=2]="LIMCHECK",(eo=rM||(rM={}))[eo.INCHES=0]="INCHES",eo[eo.MILLIMETERS=1]="MILLIMETERS",eo[eo.PIXELS=2]="PIXELS",(es=rx||(rx={}))[es.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",es[es.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",es[es.DRAWING_LIMITS=2]="DRAWING_LIMITS",es[es.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",es[es.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",es[es.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(ei=rF||(rF={}))[ei.AS_DISPLAYED=0]="AS_DISPLAYED",ei[ei.WIREFRAME=1]="WIREFRAME",ei[ei.HIDDEN=2]="HIDDEN",ei[ei.RENDERED=3]="RENDERED",(ec=rR||(rR={}))[ec.DRAFT=0]="DRAFT",ec[ec.PREVIEW=1]="PREVIEW",ec[ec.NORMAL=2]="NORMAL",ec[ec.PRESENTATION=3]="PRESENTATION",ec[ec.MAXIMUM=4]="MAXIMUM",ec[ec.CUSTOM=5]="CUSTOM";let nH=[{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},...nk],nG=[{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:p},{code:16,name:"ucsXAxis",parser:p},{code:13,name:"ucsOrigin",parser:p},{code:146,name:"elevation",parser:l},{code:15,name:"maxExtent",parser:p},{code:14,name:"minExtent",parser:p},{code:12,name:"insertionPoint",parser:p},{code:11,name:"maxLimit",parser:p},{code:10,name:"minLimit",parser:p},{code:71,name:"tabOrder",parser:l},{code:70,name:"controlFlag",parser:l},{code:1,name:"layoutName",parser:l},{code:100,name:"subclassMarker",parser:l},...nH],nU=[{code:40,name:"wcsToOCSTransform",parser:nW},{code:40,name:"ocsToWCSTransform",parser:nW},{code:41,name:"backClippingDistance",parser:l},{code:73,name:"isBackClipping",parser:u,pushContext:!0},{code:40,name:"frontClippingDistance",parser:l},{code:72,name:"isFrontClipping",parser:u,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:u},{code:11,name:"position",parser:p},{code:210,name:"normal",parser:p},{code:10,name:"boundaryVertices",parser:p,isMultiple:!0},{code:70,name:"boundaryCount",parser:l},{code:100,name:"subclassMarker",parser:l},{code:100},...nk];function nW(e,r){let a=[];for(let n=0;n<3&&o(e,40);++n){let n=[];for(let a=0;a<4&&o(e,40);++a)n.push(e.value),e=r.next();a.push(n)}return r.rewind(),a}let nj={LAYOUT:nG,PLOTSETTINGS:nH,DICTIONARY:nB,SPATIAL_FILTER:nU};function nY(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let n=e.value,t=nj[n];if(0===e.code&&t?.length){let o=c(t),s={name:n};o(e=r.next(),r,s)?(a.push(s),e=r.peek()):e=r.next()}else e=r.next()}return{byName:v(a,({name:e})=>e)}}let nX=c([{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},...r0]),nz=c([{code:347,name:"materialObjectId",parser:l},{code:390,name:"plotStyleNameObjectId",parser:l},{code:370,name:"lineweight",parser:l},{code:290,name:"isPlotting",parser:u},{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},...r0]);(ed=rv||(rv={}))[ed.NONE=0]="NONE",ed[ed.AbsoluteRotation=1]="AbsoluteRotation",ed[ed.TextEmbedded=2]="TextEmbedded",ed[ed.ShapeEmbedded=4]="ShapeEmbedded";let nK=c([{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}),nZ=c([{code:49,name:"pattern",parser(e,r){let a={};return nK(e,r,a),a},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},...r0]),nJ=c([{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},...r0]),n$=c([{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:u},{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:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{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:p},{code:16,name:"viewDirectionFromTarget",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBasePoint",parser:p},{code:12,name:"center",parser:p},{code:11,name:"upperRightCorner",parser:p},{code:10,name:"lowerLeftCorner",parser:p},{code:70,name:"standardFlag",parser:l},{code:2,name:"name",parser:l},{code:100,name:"subclassMarker",parser:l},...r0]),nq={BLOCK_RECORD:nX,DIMSTYLE:r1,LAYER:nz,LTYPE:nZ,STYLE:nJ,VPORT:n$},nQ=c([{code:70,name:"maxNumberOfEntries",parser:l},{code:100,name:"subclassMarker",parser:l},{code:330,name:"ownerObjectId",parser:l},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:l},{code:2,name:"name",parser:l}]);function n0(e,r){let a={};for(;!o(e,0,"EOF")&&!o(e,0,"ENDSEC");){if(o(e,0,"TABLE")){e=r.next();let n={entries:[]};nQ(e,r,n),a[n.name]=n}if(o(e,0)&&!o(e,0,"ENDTAB")){let n=e.value;e=r.next();let t=nq[n];if(!t){r.debug&&console.warn(`parseTable: Invalid table name '${n}'`),e=r.next();continue}let o={};t(e,r,o),a[n]?.entries.push(o)}e=r.next()}return a}function n1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n4{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),r=n2(e,this._data[this._pointer++],this.debug),a={code:e,value:r};return o(a,0,"EOF")&&(this._eof=!0),this.lastReadGroup=a,a}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw 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=n2(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,r=!1){n1(this,"_data",void 0),n1(this,"debug",void 0),n1(this,"_pointer",void 0),n1(this,"_eof",void 0),n1(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function n2(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function n3(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n7{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){n3(this,"point",{}),n3(this,"startCode",0),n3(this,"code",0),n3(this,"value",0),n3(this,"x",void 0),n3(this,"y",void 0),n3(this,"z",void 0)}}function n5(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class n9{constructor(){n5(this,"encoding","utf-8"),n5(this,"encodingFailureFatal",!1)}}class n6 extends Error{constructor(e,r,a){let n=`[Line ${r}]: ${e}`;a?.cause&&(n+=`
|
|
2
|
+
Caused by ${a.cause.toString()}
|
|
3
|
+
${a.cause.stack}`),super(n),n5(this,"line",void 0),this.line=r}}class n8 extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let n=0;n<a;n+=65536){r?.throwIfAborted();let t=Math.min(a-n,65536),o=await e.slice(n,n+t);this.Feed(o,n+t>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),n=0;if(a>=0?(n=a+1)<r&&"\n"==this._curChunk.charAt(n)&&n++:(a=this._curChunk.indexOf("\n",e))>=0&&(n=a+1),a<0)break;yield this._curChunk.substring(e,a),e=n}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let r=new te(this._curGroupCode,e);if(!o(r,0,"EOF")){switch(r.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}o(r,0,"EOF")&&(this._eof=!0),this._curValue=r,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new n6(e,this._curLineNum,a)}constructor(e=new n9){super(),n5(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),n5(this,"_decoder",void 0),n5(this,"_pointParser",void 0),n5(this,"_finalChunkSeen",!1),n5(this,"_curChunk",""),n5(this,"_curGroupCode",null),n5(this,"_curLineNum",1),n5(this,"_eof",!1),n5(this,"_curValue",{code:0,value:0}),n5(this,"_curSection",""),n5(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new n7}}class te{constructor(e,r){n5(this,"code",void 0),n5(this,"value",void 0),this.code=e,this.value=n2(e,r)}}function tr(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class ta{constructor(){tr(this,"encoding","utf-8"),tr(this,"encodingFailureFatal",!1)}}class tn extends EventTarget{parseSync(e,r=!1){let a=new n4(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((n,t)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),t=new n4(e);if(!t.hasNext())throw Error("Empty file");n(a.parseAll(t))}catch(e){t(e)}}),e.on("error",e=>{t(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let n=a.body.getReader(),t="";for(;;){let{done:e,value:r}=await n.read();if(e){t+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}t+=this._decoder.decode(r,{stream:!0})}return this.parseSync(t)}parseAll(e){let r={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},a=e.next();for(;!o(a,0,"EOF");)o(a,0,"SECTION")&&(o(a=e.next(),2,"HEADER")?(a=e.next(),r.header=nV(a,e)):o(a,2,"BLOCKS")?(a=e.next(),r.blocks=nv(a,e)):o(a,2,"ENTITIES")?(a=e.next(),r.entities=nR(a,e)):o(a,2,"TABLES")?(a=e.next(),r.tables=n0(a,e)):o(a,2,"OBJECTS")&&(a=e.next(),r.objects=nY(a,e))),a=e.next();return r}constructor(e=new ta){super(),tr(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}export{r4 as AlignedDimensionSnippets,r2 as AngularDimensionSnippets,L as ArcEntityParser,R as AttDefEntityParser,rp as AttDefMTextFlag,eK as AttachmentPoint,rY as AttributeEntityParser,rl as AttributeFlag,eY as BlockTypeFlag,rK as BodyEntityParser,e8 as BoundaryPathEdgeType,e6 as BoundaryPathTypeFlag,rq as CircleEntityParser,eX as ColorCode,T as CommonEntitySnippets,n as DefaultDxfHeaderVariables,ri as DefaultLightingType,A as DefaultTextEntity,nB as DictionarySnippets,rQ as DimStyleVariablesSchema,r9 as DimensionParser,r5 as DimensionSnippets,eQ as DimensionTextHorizontal,eZ as DimensionTextLineSpacing,eJ as DimensionTextVertical,e0 as DimensionToleranceTextVertical,ez as DimensionType,e$ as DimensionZeroSuppression,eq as DimensionZeroSuppressionAngular,n6 as DxfParsingError,n8 as DxfStreamParser,n9 as DxfStreamParserOptions,ar as EllipseEntityParser,rI as FaceEdgeInvisibility,at as FaceEntityParser,e4 as HatchAssociativity,e7 as HatchBoundaryAnnotation,ab as HatchEntityParser,e9 as HatchGradientColorFlag,e5 as HatchGradientFlag,e3 as HatchPatternType,e1 as HatchSolidFill,e2 as HatchStyle,t as INDEXED_CHUNK_SIZE,rg as ImageClipMode,rb as ImageClippingBoundaryType,rL as ImageDisplayFlag,aO as ImageEntityParser,rf as ImageFlags,aL as InsertEntityParser,rT as LWPolylineFlag,aB as LWPolylineParser,rC as LayoutControlFlag,nG as LayoutSnippets,rD as LeaderCreationFlag,aC as LeaderEntityParser,aR as LineEntityParser,rv as LineTypeElementType,rh as MTextDrawingDirection,rG as MTextEntityParser,rH as MTextEntityParserSnippets,ra as Measurement,aU as MeshEntityParser,re as ObscuredLineTypes,r3 as OrdinateDimensionSnippets,rs as OrthographicType,rM as PlotPaperUnit,nH as PlotSettingsSnippets,rc as PlotStyleType,rx as PlotType,aX as PointEntityParser,rO as PolylineFlag,a0 as PolylineParser,r7 as RadialDimensionSnippets,a2 as RayParser,r_ as RecordCloneFlag,a5 as RegionEntityParser,rt as RenderMode,rr as ReservedLineweight,r as SPLINE_SUBDIVISION,ne as SectionEntityParser,rF as ShadePlotMode,rR as ShadePlotResolution,rd as ShadowMode,ry as SmoothType,ni as Solid3DEntityParser,nt as SolidEntityParser,nU as SpatialFilterSnippets,np as SplineEntityParser,rN as SplineFlag,a as TESSELLATION_ANGLE,C as TextEntityParser,_ as TextEntityParserSnippets,ru as TextGenerationFlag,rm as TextHorizontalAlign,rE as TextVerticalAlign,nE as ToleranceEntityParser,ro as UCSPerViewport,e as UndeterminedBlockColor,rS as VertexFlag,aJ as VertexParser,nI as ViewportParser,rn as ViewportStatusFlag,nD as WipeoutEntityParser,m as XDataParserSnippets,ny as XLineEntityParser,v as classify,O as createLongStringSnippet,f as createXDataCatcher,I as createXDataControlInterpreter,tn as default,D as ensureHandle,V as ensurePoint3D,w as generateIntegers,rV as getAcadColor,o as isMatched,nw as parseBlock,nX as parseBlockRecordTable,nv as parseBlocks,r1 as parseDimStyle,nR as parseEntities,b as parseExtensions,nV as parseHeader,nZ as parseLTypeTable,nz as parseLayerTable,nY as parseObjects,nJ as parseStyleTable,n0 as parseTables,n$ as parseVPortTable,E as parseXData};
|
|
@@ -47,11 +47,26 @@ export declare enum DimensionZeroSuppressionAngular {
|
|
|
47
47
|
Trailing = 2,
|
|
48
48
|
LeadingAndTrailing = 3
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Justify horizontal alignment of dimension text
|
|
52
|
+
*/
|
|
50
53
|
export declare enum DimensionTextHorizontal {
|
|
51
54
|
Center = 0,
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
/** Above dimension line and next to first extension line */
|
|
56
|
+
First = 1,
|
|
57
|
+
/** Above dimension line and next to second extension line */
|
|
58
|
+
Second = 2,
|
|
59
|
+
/**
|
|
60
|
+
* Above and center-justified to first extension line
|
|
61
|
+
*
|
|
62
|
+
* In linear dimension, typically it's rotated in 90 degrees to extension line.
|
|
63
|
+
*/
|
|
54
64
|
OverFirst = 3,
|
|
65
|
+
/**
|
|
66
|
+
* Above and center-justified to second extension line
|
|
67
|
+
*
|
|
68
|
+
* In linear dimension, typically it's rotated in 90 degrees to extension line.
|
|
69
|
+
*/
|
|
55
70
|
OverSecond = 4
|
|
56
71
|
}
|
|
57
72
|
export declare enum DimensionToleranceTextVertical {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimension.d.ts","sourceRoot":"","sources":["../../../src/consts/dimension.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa;IACrB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IACzB,mBAAmB,KAAK;IACxB,wBAAwB,MAAM;CACjC;AAED,oBAAY,eAAe;IACvB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,oBAAY,wBAAwB;IAChC,OAAO,IAAI;IACX,KAAK,IAAI;CACZ;AAED,oBAAY,qBAAqB;IAC7B,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,KAAK,IAAI;CACZ;AAED,oBAAY,wBAAwB;IAChC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,WAAW,IAAI;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,KAAK;CAC1B;AAED,oBAAY,+BAA+B;IACvC,IAAI,IAAI;IACR,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,IAAI;CACzB;AAED,oBAAY,uBAAuB;IAC/B,MAAM,IAAI;IACV,
|
|
1
|
+
{"version":3,"file":"dimension.d.ts","sourceRoot":"","sources":["../../../src/consts/dimension.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa;IACrB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,QAAQ,IAAI;IACZ,oBAAoB,KAAK;IACzB,mBAAmB,KAAK;IACxB,wBAAwB,MAAM;CACjC;AAED,oBAAY,eAAe;IACvB,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,YAAY,IAAI;IAChB,WAAW,IAAI;CAClB;AAED,oBAAY,wBAAwB;IAChC,OAAO,IAAI;IACX,KAAK,IAAI;CACZ;AAED,oBAAY,qBAAqB;IAC7B,MAAM,IAAI;IACV,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,KAAK,IAAI;CACZ;AAED,oBAAY,wBAAwB;IAChC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;IACR,WAAW,IAAI;IACf,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,KAAK;CAC1B;AAED,oBAAY,+BAA+B;IACvC,IAAI,IAAI;IACR,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,kBAAkB,IAAI;CACzB;AAED;;GAEG;AACH,oBAAY,uBAAuB;IAC/B,MAAM,IAAI;IACV,4DAA4D;IAC5D,KAAK,IAAI;IACT,6DAA6D;IAC7D,MAAM,IAAI;IACV;;;;OAIG;IACH,SAAS,IAAI;IACb;;;;OAIG;IACH,UAAU,IAAI;CACjB;AAED,oBAAY,8BAA8B;IACtC,MAAM,IAAI;IACV,MAAM,IAAI;IACV,GAAG,IAAI;CACV"}
|
|
@@ -32,7 +32,9 @@ export declare enum RenderMode {
|
|
|
32
32
|
GOURAUD_SHADED_WITH_WIREFRAME = 6
|
|
33
33
|
}
|
|
34
34
|
export declare enum UCSPerViewport {
|
|
35
|
+
/** The UCS will not change when this viewport becomes active. */
|
|
35
36
|
UCS_UNCHANGED = 0,
|
|
37
|
+
/** This viewport stores its own UCS which will become the current UCS whenever the viewport is activated */
|
|
36
38
|
HAS_OWN_UCS = 1
|
|
37
39
|
}
|
|
38
40
|
export declare enum OrthographicType {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/consts/viewport.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC1B,gBAAgB,IAAM;IACtB,cAAc,IAAM;IACpB,aAAa,IAAM;IACnB,UAAU,IAAM;IAChB,qBAAqB,KAAO;IAC5B,mBAAmB,KAAO;IAC1B,kBAAkB,KAAO;IACzB,SAAS,MAAO;IAChB,SAAS,MAAQ;IACjB,SAAS,MAAQ;IACjB,oBAAoB,OAAQ;IAC5B,cAAc,OAAQ;IACtB,cAAc,OAAS;IACvB,gBAAgB,OAAS;IACzB,qBAAqB,QAAS;IAC9B,MAAM,QAAS;IACf,wBAAwB,QAAU;IAClC,YAAY,SAAU;IACtB,0BAA0B,SAAU;IACpC,qBAAqB,SAAU;IAC/B,yBAAyB,UAAW;IACpC,sBAAsB,UAAW;CACpC;AAED,oBAAY,UAAU;IAClB,YAAY,IAAI,CAAE,aAAa;IAC/B,SAAS,IAAI;IACb,WAAW,IAAI;IACf,WAAW,IAAI;IACf,cAAc,IAAI;IAClB,0BAA0B,IAAI;IAC9B,6BAA6B,IAAI;CACpC;
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/consts/viewport.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC1B,gBAAgB,IAAM;IACtB,cAAc,IAAM;IACpB,aAAa,IAAM;IACnB,UAAU,IAAM;IAChB,qBAAqB,KAAO;IAC5B,mBAAmB,KAAO;IAC1B,kBAAkB,KAAO;IACzB,SAAS,MAAO;IAChB,SAAS,MAAQ;IACjB,SAAS,MAAQ;IACjB,oBAAoB,OAAQ;IAC5B,cAAc,OAAQ;IACtB,cAAc,OAAS;IACvB,gBAAgB,OAAS;IACzB,qBAAqB,QAAS;IAC9B,MAAM,QAAS;IACf,wBAAwB,QAAU;IAClC,YAAY,SAAU;IACtB,0BAA0B,SAAU;IACpC,qBAAqB,SAAU;IAC/B,yBAAyB,UAAW;IACpC,sBAAsB,UAAW;CACpC;AAED,oBAAY,UAAU;IAClB,YAAY,IAAI,CAAE,aAAa;IAC/B,SAAS,IAAI;IACb,WAAW,IAAI;IACf,WAAW,IAAI;IACf,cAAc,IAAI;IAClB,0BAA0B,IAAI;IAC9B,6BAA6B,IAAI;CACpC;AAED,oBAAY,cAAc;IACtB,iEAAiE;IACjE,aAAa,IAAI;IACjB,4GAA4G;IAC5G,WAAW,IAAI;CAClB;AAED,oBAAY,gBAAgB;IACxB,gBAAgB,IAAI;IACpB,GAAG,IAAI;IACP,MAAM,IAAI;IACV,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACZ;AAED,oBAAY,mBAAmB;IAC3B,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;CACzB"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { DxfArrayScanner, ScannerGroup } from '../../DxfArrayScanner';
|
|
2
|
+
import { DXFParserSnippet } from '../../shared/parserGenerator';
|
|
2
3
|
import type { DimensionEntity } from './types';
|
|
4
|
+
export declare const AlignedDimensionSnippets: DXFParserSnippet[];
|
|
5
|
+
export declare const AngularDimensionSnippets: DXFParserSnippet[];
|
|
6
|
+
export declare const OrdinateDimensionSnippets: DXFParserSnippet[];
|
|
7
|
+
export declare const RadialDimensionSnippets: DXFParserSnippet[];
|
|
8
|
+
export declare const DimensionSnippets: DXFParserSnippet[];
|
|
3
9
|
export declare class DimensionParser {
|
|
4
10
|
static ForEntityName: string;
|
|
5
11
|
parseEntity(scanner: DxfArrayScanner, curr: ScannerGroup): DimensionEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/dimension/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../../src/parser/entities/dimension/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAoB,gBAAgB,EAAuC,MAAM,8BAA8B,CAAC;AAEvH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EAkCtD,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,EA0BtD,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,EAgBvD,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAAgB,EAgBrD,CAAA;AAiBD,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,EAqF/C,CAAA;AAED,qBAAa,eAAe;IACxB,MAAM,CAAC,aAAa,SAAe;IAEnC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe;CAM7E"}
|