@mlightcad/libdxfrw-converter 1.0.1

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.
@@ -0,0 +1,347 @@
1
+ import { AcDbArc, AcDbBlockReference, AcDbCircle, AcDbEllipse, AcDbHatch, AcDbLine, AcDbMText, AcDbPoint, AcDbPolyline, AcDbRay, AcDbSpline, AcDbText, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, AcGeVector2d, AcGeVector3d } from '@mlightcad/data-model';
2
+ var AcDbEntityConverter = /** @class */ (function () {
3
+ function AcDbEntityConverter() {
4
+ }
5
+ AcDbEntityConverter.prototype.convert = function (entity) {
6
+ var dbEntity = this.createEntity(entity);
7
+ if (dbEntity) {
8
+ this.processCommonAttrs(entity, dbEntity);
9
+ }
10
+ return dbEntity;
11
+ };
12
+ AcDbEntityConverter.prototype.createEntity = function (entity) {
13
+ // @ts-expect-error libdxfrw is set in index.html
14
+ var libdxfrw = window.libdxfrw;
15
+ if (entity.eType == libdxfrw.DRW_ETYPE.ARC) {
16
+ return this.convertArc(entity);
17
+ }
18
+ else if (entity.eType == libdxfrw.DRW_ETYPE.CIRCLE) {
19
+ return this.convertCirle(entity);
20
+ }
21
+ else if (entity.eType == libdxfrw.DRW_ETYPE.DIMENSION) {
22
+ // return this.convertDimension(entity as DimensionEntityCommon)
23
+ }
24
+ else if (entity.eType == libdxfrw.DRW_ETYPE.ELLIPSE) {
25
+ return this.convertEllipse(entity);
26
+ }
27
+ else if (entity.eType == libdxfrw.DRW_ETYPE.HATCH) {
28
+ return this.convertHatch(entity);
29
+ }
30
+ else if (entity.eType == libdxfrw.DRW_ETYPE.IMAGE) {
31
+ // return this.convertImage(entity as ImageEntity)
32
+ }
33
+ else if (entity.eType == libdxfrw.DRW_ETYPE.LEADER) {
34
+ // return this.convertLeader(entity as LeaderEntity)
35
+ }
36
+ else if (entity.eType == libdxfrw.DRW_ETYPE.LINE) {
37
+ return this.convertLine(entity);
38
+ }
39
+ else if (entity.eType == libdxfrw.DRW_ETYPE.MTEXT) {
40
+ return this.convertMText(entity);
41
+ }
42
+ else if (entity.eType == libdxfrw.DRW_ETYPE.POLYLINE) {
43
+ // return this.convertPolyline(entity as DRW_Polyline)
44
+ }
45
+ else if (entity.eType == libdxfrw.DRW_ETYPE.LWPOLYLINE) {
46
+ return this.convertPolyline(entity);
47
+ }
48
+ else if (entity.eType == libdxfrw.DRW_ETYPE.POINT) {
49
+ return this.convertPoint(entity);
50
+ }
51
+ else if (entity.eType == libdxfrw.DRW_ETYPE.RAY) {
52
+ return this.convertRay(entity);
53
+ }
54
+ else if (entity.eType == libdxfrw.DRW_ETYPE.SPLINE) {
55
+ return this.convertSpline(entity);
56
+ }
57
+ else if (entity.eType == libdxfrw.DRW_ETYPE.TEXT) {
58
+ return this.convertText(entity);
59
+ }
60
+ else if (entity.eType == libdxfrw.DRW_ETYPE.SOLID) {
61
+ // return this.convertSolid(entity as SolidEntity)
62
+ }
63
+ else if (entity.eType == libdxfrw.DRW_ETYPE.VIEWPORT) {
64
+ // return this.convertViewport(entity as ViewportEntity)
65
+ }
66
+ else if (entity.eType == libdxfrw.DRW_ETYPE.XLINE) {
67
+ return this.convertXline(entity);
68
+ }
69
+ else if (entity.eType == libdxfrw.DRW_ETYPE.INSERT) {
70
+ return this.convertBlockReference(entity);
71
+ }
72
+ return null;
73
+ };
74
+ AcDbEntityConverter.prototype.convertArc = function (arc) {
75
+ var dbEntity = new AcDbArc(arc.center(), arc.radius, arc.startAngle, arc.endAngle);
76
+ return dbEntity;
77
+ };
78
+ AcDbEntityConverter.prototype.convertCirle = function (circle) {
79
+ var dbEntity = new AcDbCircle(circle.basePoint, circle.radius);
80
+ return dbEntity;
81
+ };
82
+ AcDbEntityConverter.prototype.convertEllipse = function (ellipse) {
83
+ var majorAxis = new AcGeVector3d(ellipse.secPoint);
84
+ var majorAxisRadius = majorAxis.length();
85
+ var dbEntity = new AcDbEllipse(ellipse.basePoint, AcGeVector3d.Z_AXIS, majorAxis, majorAxisRadius, majorAxisRadius * ellipse.ratio, ellipse.startAngle, ellipse.endAngle);
86
+ return dbEntity;
87
+ };
88
+ AcDbEntityConverter.prototype.convertBlockReference = function (blockReference) {
89
+ var dbBlockReference = new AcDbBlockReference(blockReference.name);
90
+ if (blockReference.basePoint)
91
+ dbBlockReference.position.copy(blockReference.basePoint);
92
+ dbBlockReference.scaleFactors.x = blockReference.xScale || 1;
93
+ dbBlockReference.scaleFactors.y = blockReference.yScale || 1;
94
+ dbBlockReference.scaleFactors.z = blockReference.zScale || 1;
95
+ dbBlockReference.rotation = blockReference.angle;
96
+ dbBlockReference.normal.copy(blockReference.extPoint);
97
+ return dbBlockReference;
98
+ };
99
+ AcDbEntityConverter.prototype.convertHatch = function (hatch) {
100
+ var dbEntity = new AcDbHatch();
101
+ var definitionLines = hatch.definitionLines;
102
+ for (var index = 0, size = definitionLines.size(); index < size; ++index) {
103
+ var definitionLine = definitionLines.get(index);
104
+ if (definitionLine != null) {
105
+ dbEntity.definitionLines.push({
106
+ angle: definitionLine.angle,
107
+ origin: definitionLine.base,
108
+ delta: definitionLine.offset,
109
+ dashPattern: this.toNumberArray(definitionLine.dashPattern)
110
+ });
111
+ }
112
+ }
113
+ dbEntity.hatchStyle = hatch.hatchStyle;
114
+ dbEntity.patternName = hatch.name;
115
+ dbEntity.patternType = hatch.patternType;
116
+ dbEntity.patternAngle = hatch.angle;
117
+ dbEntity.patternScale = hatch.scale;
118
+ var loops = hatch.getLoopList();
119
+ for (var index = 0, size = loops.size(); index < size; ++index) {
120
+ var loop = loops.get(index);
121
+ if (loop != null) {
122
+ // Check whether it is a polyline
123
+ if (loop.type == 2) {
124
+ var polylineLoop = loop.getObjList().get(0);
125
+ if (polylineLoop) {
126
+ var polyline = new AcGePolyline2d();
127
+ // polyline.closed = ??
128
+ var vertices = polylineLoop.getVertexList();
129
+ for (var index_1 = 0, size_1 = vertices.size(); index_1 < size_1; ++index_1) {
130
+ var vertex = vertices.get(index_1);
131
+ if (vertex != null) {
132
+ polyline.addVertexAt(index_1, {
133
+ x: vertex.x,
134
+ y: vertex.y,
135
+ bulge: vertex.bulge
136
+ });
137
+ }
138
+ }
139
+ dbEntity.add(polyline);
140
+ }
141
+ }
142
+ else {
143
+ // @ts-expect-error libdxfrw is set in index.html
144
+ var libdxfrw = window.libdxfrw;
145
+ var objects = loop.getObjList();
146
+ var loopGeometry = new AcGeLoop2d();
147
+ for (var index_2 = 0, size_2 = objects.size(); index_2 < size_2; ++index_2) {
148
+ var object = objects.get(index_2);
149
+ if (object != null) {
150
+ if (object.eType == libdxfrw.DRW_ETYPE.LINE) {
151
+ var line = object;
152
+ loopGeometry.add(new AcGeLine2d(line.basePoint, line.secPoint));
153
+ }
154
+ else if (object.eType == libdxfrw.DRW_ETYPE.ARC) {
155
+ var arc = object;
156
+ loopGeometry.add(new AcGeCircArc2d(arc.center(), arc.radius, arc.startAngle, arc.endAngle, !arc.isccw));
157
+ }
158
+ else if (object.eType == libdxfrw.DRW_ETYPE.ELLIPSE) {
159
+ var ellipse = object;
160
+ var center = ellipse.basePoint;
161
+ var secPoint = ellipse.secPoint;
162
+ var majorAxis = new AcGeVector2d(secPoint);
163
+ var majorAxisRadius = majorAxis.length();
164
+ var minorAxisRadius = majorAxisRadius * ellipse.ratio;
165
+ var startAngle = ellipse.startAngle;
166
+ var endAngle = ellipse.endAngle;
167
+ var rotation = Math.atan2(secPoint.y, secPoint.x);
168
+ if (!ellipse.isCounterClockwise) {
169
+ // when clockwise, need to handle start/end angles
170
+ startAngle = Math.PI * 2 - startAngle;
171
+ endAngle = Math.PI * 2 - endAngle;
172
+ }
173
+ loopGeometry.add(new AcGeEllipseArc2d({ x: center.x, y: center.y, z: 0 }, majorAxisRadius, minorAxisRadius, startAngle, endAngle, !ellipse.isCounterClockwise, rotation));
174
+ }
175
+ else if (object.eType == libdxfrw.DRW_ETYPE.SPLINE) {
176
+ var spline = object;
177
+ if (spline.numberOfControls > 0 && spline.numberOfKnots > 0) {
178
+ var controlPoints = this.toPointArray(spline.getControlList(), true);
179
+ var weights = this.toNumberArray(spline.weights);
180
+ var knots = this.toNumberArray(spline.knots);
181
+ loopGeometry.add(new AcGeSpline3d(controlPoints, knots, weights.length > 0 ? weights : undefined));
182
+ }
183
+ else if (spline.numberOfFits > 0) {
184
+ var fitPoints = this.toPointArray(spline.getFitList());
185
+ loopGeometry.add(new AcGeSpline3d(fitPoints, 'Uniform'));
186
+ }
187
+ }
188
+ }
189
+ }
190
+ dbEntity.add(loopGeometry);
191
+ }
192
+ }
193
+ }
194
+ return dbEntity;
195
+ };
196
+ AcDbEntityConverter.prototype.convertLine = function (line) {
197
+ var start = line.basePoint;
198
+ var end = line.secPoint;
199
+ var dbEntity = new AcDbLine(new AcGePoint3d(start.x, start.y, start.z || 0), new AcGePoint3d(end.x, end.y, end.z || 0));
200
+ return dbEntity;
201
+ };
202
+ AcDbEntityConverter.prototype.convertMText = function (mtext) {
203
+ var dbEntity = new AcDbMText();
204
+ dbEntity.contents = mtext.text;
205
+ if (mtext.style != null) {
206
+ dbEntity.styleName = mtext.style;
207
+ }
208
+ dbEntity.height = mtext.height;
209
+ // dbEntity.width = mtext.
210
+ dbEntity.lineSpacingFactor = mtext.interlin;
211
+ dbEntity.rotation = mtext.angle || 0;
212
+ dbEntity.location = mtext.basePoint;
213
+ // dbEntity.attachmentPoint =
214
+ // mtext.attachmentPoint as unknown as AcGiMTextAttachmentPoint
215
+ // if (mtext.direction) {
216
+ // dbEntity.direction = new AcGeVector3d(mtext.direction)
217
+ // }
218
+ // dbEntity.drawingDirection =
219
+ // mtext.drawingDirection as unknown as AcGiMTextFlowDirection
220
+ return dbEntity;
221
+ };
222
+ AcDbEntityConverter.prototype.convertPoint = function (point) {
223
+ var dbEntity = new AcDbPoint();
224
+ dbEntity.position = point.basePoint;
225
+ return dbEntity;
226
+ };
227
+ AcDbEntityConverter.prototype.convertPolyline = function (polyline) {
228
+ // Polyline flag (bit-coded; default = 0):
229
+ // https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-ABF6B778-BE20-4B49-9B58-A94E64CEFFF3
230
+ //
231
+ // 1 = This is a closed polyline (or a polygon mesh closed in the M direction)
232
+ // 2 = Curve-fit vertices have been added
233
+ // 4 = Spline-fit vertices have been added
234
+ // 8 = This is a 3D polyline
235
+ // 16 = This is a 3D polygon mesh
236
+ // 32 = The polygon mesh is closed in the N direction
237
+ // 64 = The polyline is a polyface mesh
238
+ // 128 = The linetype pattern is generated continuously around the vertices of this polyline
239
+ var dbEntity = new AcDbPolyline();
240
+ dbEntity.closed = !!(polyline.flags & 0x01);
241
+ var vertices = polyline.getVertexList();
242
+ for (var index = 0, size = vertices.size(); index < size; ++index) {
243
+ var vertex = vertices.get(index);
244
+ if (vertex != null) {
245
+ dbEntity.addVertexAt(index, new AcGePoint2d(vertex.x, vertex.y), vertex.bulge, vertex.startWidth, vertex.endWidth);
246
+ }
247
+ }
248
+ return dbEntity;
249
+ };
250
+ AcDbEntityConverter.prototype.convertRay = function (ray) {
251
+ var dbRay = new AcDbRay();
252
+ dbRay.basePoint.copy(ray.basePoint);
253
+ dbRay.unitDir.copy(ray.secPoint);
254
+ return dbRay;
255
+ };
256
+ AcDbEntityConverter.prototype.convertSpline = function (spline) {
257
+ var weights = this.toNumberArray(spline.weights);
258
+ if (spline.numberOfControls > 0 && spline.numberOfKnots > 0) {
259
+ var dbEntity = new AcDbSpline(this.toPointArray(spline.getControlList(), false), this.toNumberArray(spline.knots), weights.length > 0 ? weights : undefined);
260
+ dbEntity.closed = !!(spline.flags & 0x01);
261
+ return dbEntity;
262
+ }
263
+ else if (spline.numberOfFits > 0) {
264
+ var fitPoints = this.toPointArray(spline.getFitList());
265
+ if (fitPoints.length > 0) {
266
+ var dbEntity = new AcDbSpline(fitPoints, 'Uniform');
267
+ dbEntity.closed = !!(spline.flags & 0x01);
268
+ return dbEntity;
269
+ }
270
+ }
271
+ return null;
272
+ };
273
+ AcDbEntityConverter.prototype.convertText = function (text) {
274
+ var _a, _b;
275
+ var dbEntity = new AcDbText();
276
+ dbEntity.textString = text.text;
277
+ dbEntity.styleName = text.style;
278
+ dbEntity.height = text.height;
279
+ dbEntity.position.copy(text.basePoint);
280
+ dbEntity.rotation = text.angle || 0;
281
+ dbEntity.oblique = (_a = text.oblique) !== null && _a !== void 0 ? _a : 0;
282
+ // dbEntity.thickness = ??
283
+ dbEntity.horizontalMode = text.alignH;
284
+ dbEntity.verticalMode = text.alignV;
285
+ dbEntity.widthFactor = (_b = text.widthScale) !== null && _b !== void 0 ? _b : 1;
286
+ return dbEntity;
287
+ };
288
+ AcDbEntityConverter.prototype.convertXline = function (xline) {
289
+ var dbXline = new AcDbXline();
290
+ dbXline.basePoint.copy(xline.basePoint);
291
+ dbXline.unitDir.copy(xline.secPoint);
292
+ return dbXline;
293
+ };
294
+ AcDbEntityConverter.prototype.processCommonAttrs = function (entity, dbEntity) {
295
+ dbEntity.layer = entity.layer;
296
+ dbEntity.objectId = entity.handle.toString();
297
+ dbEntity.ownerId = entity.parentHandle.toString();
298
+ if (entity.lineType != null) {
299
+ dbEntity.lineType = entity.lineType;
300
+ }
301
+ if (entity.lWeight != null) {
302
+ dbEntity.lineWeight = entity.lWeight;
303
+ }
304
+ if (entity.ltypeScale != null) {
305
+ dbEntity.linetypeScale = entity.ltypeScale;
306
+ }
307
+ if (entity.color24 != null) {
308
+ dbEntity.color.color = entity.color24;
309
+ }
310
+ if (entity.color != null) {
311
+ dbEntity.color.colorIndex = entity.color;
312
+ }
313
+ if (entity.colorName != null) {
314
+ dbEntity.color.colorName = entity.colorName;
315
+ }
316
+ if (entity.visible != null) {
317
+ dbEntity.visibility = entity.visible;
318
+ }
319
+ if (entity.transparency != null) {
320
+ dbEntity.transparency = entity.transparency;
321
+ }
322
+ };
323
+ AcDbEntityConverter.prototype.toNumberArray = function (doubleList) {
324
+ var results = [];
325
+ for (var index = 0, size = doubleList.size(); index < size; ++index) {
326
+ var item = doubleList.get(index);
327
+ if (item != null) {
328
+ results.push(item);
329
+ }
330
+ }
331
+ return results;
332
+ };
333
+ AcDbEntityConverter.prototype.toPointArray = function (pointList, resetZValue) {
334
+ if (resetZValue === void 0) { resetZValue = true; }
335
+ var results = [];
336
+ for (var index = 0, size = pointList.size(); index < size; ++index) {
337
+ var item = pointList.get(index);
338
+ if (item != null) {
339
+ results.push({ x: item.x, y: item.y, z: resetZValue ? 0 : item.z });
340
+ }
341
+ }
342
+ return results;
343
+ };
344
+ return AcDbEntityConverter;
345
+ }());
346
+ export { AcDbEntityConverter };
347
+ //# sourceMappingURL=AcDbEntitiyConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,UAAU,EACV,WAAW,EAEX,SAAS,EAGT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,YAAY,EACZ,OAAO,EACP,UAAU,EACV,QAAQ,EAGR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EAEX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,uBAAuB,CAAA;AAqB9B;IAAA;IAsYA,CAAC;IArYC,qCAAO,GAAP,UAAQ,MAAkB;QACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,MAAkB;QACrC,iDAAiD;QACjD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAsB,CAAA;QAE9C,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAiB,CAAC,CAAA;QAC3C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAoB,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACxD,gEAAgE;QAClE,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAqB,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAmB,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,kDAAkD;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,oDAAoD;QACtD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAkB,CAAC,CAAA;QAC7C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAmB,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvD,sDAAsD;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAwB,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAmB,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAiB,CAAC,CAAA;QAC3C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAoB,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAkB,CAAC,CAAA;QAC7C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,kDAAkD;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvD,wDAAwD;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAmB,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAoB,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,wCAAU,GAAlB,UAAmB,GAAY;QAC7B,IAAM,QAAQ,GAAG,IAAI,OAAO,CAC1B,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,MAAkB;QACrC,IAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAChE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,4CAAc,GAAtB,UAAuB,OAAoB;QACzC,IAAM,SAAS,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA;QAC1C,IAAM,QAAQ,GAAG,IAAI,WAAW,CAC9B,OAAO,CAAC,SAAS,EACjB,YAAY,CAAC,MAAM,EACnB,SAAS,EACT,eAAe,EACf,eAAe,GAAG,OAAO,CAAC,KAAK,EAC/B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,CACjB,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,mDAAqB,GAA7B,UAA8B,cAA0B;QACtD,IAAM,gBAAgB,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpE,IAAI,cAAc,CAAC,SAAS;YAC1B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAC1D,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,CAAC,CAAA;QAC5D,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,CAAC,CAAA;QAC5D,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,IAAI,CAAC,CAAA;QAC5D,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAA;QAChD,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACrD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAgB;QACnC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAEhC,IAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;QAC7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;YACzE,IAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;oBAC5B,KAAK,EAAE,cAAc,CAAC,KAAK;oBAC3B,MAAM,EAAE,cAAc,CAAC,IAAI;oBAC3B,KAAK,EAAE,cAAc,CAAC,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC;iBAC5D,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAuC,CAAA;QACnE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAA;QACjC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAA8C,CAAA;QAC3E,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAA;QACnC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAA;QAEnC,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;YAC/D,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,iCAAiC;gBACjC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBACnB,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAmB,CAAA;oBAC/D,IAAI,YAAY,EAAE,CAAC;wBACjB,IAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;wBACrC,uBAAuB;wBACvB,IAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,CAAA;wBAC7C,KAAK,IAAI,OAAK,GAAG,CAAC,EAAE,MAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAK,GAAG,MAAI,EAAE,EAAE,OAAK,EAAE,CAAC;4BAClE,IAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAK,CAAC,CAAA;4BAClC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gCACnB,QAAQ,CAAC,WAAW,CAAC,OAAK,EAAE;oCAC1B,CAAC,EAAE,MAAM,CAAC,CAAC;oCACX,CAAC,EAAE,MAAM,CAAC,CAAC;oCACX,KAAK,EAAE,MAAM,CAAC,KAAK;iCACpB,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;wBACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAsB,CAAA;oBAE9C,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;oBACjC,IAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;oBACrC,KAAK,IAAI,OAAK,GAAG,CAAC,EAAE,MAAI,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,OAAK,GAAG,MAAI,EAAE,EAAE,OAAK,EAAE,CAAC;wBACjE,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAK,CAAC,CAAA;wBACjC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;4BACnB,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gCAC5C,IAAM,IAAI,GAAG,MAAkB,CAAA;gCAC/B,YAAY,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;4BACjE,CAAC;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gCAClD,IAAM,GAAG,GAAG,MAAiB,CAAA;gCAC7B,YAAY,CAAC,GAAG,CACd,IAAI,aAAa,CACf,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,CAAC,GAAG,CAAC,KAAK,CACX,CACF,CAAA;4BACH,CAAC;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gCACtD,IAAM,OAAO,GAAG,MAAqB,CAAA;gCACrC,IAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAA;gCAChC,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;gCACjC,IAAM,SAAS,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA;gCAC5C,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA;gCAC1C,IAAM,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,KAAK,CAAA;gCACvD,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;gCACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;gCAC/B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;gCACnD,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oCAChC,kDAAkD;oCAClD,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,CAAA;oCACrC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAA;gCACnC,CAAC;gCACD,YAAY,CAAC,GAAG,CACd,IAAI,gBAAgB,CAClB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAClC,eAAe,EACf,eAAe,EACf,UAAU,EACV,QAAQ,EACR,CAAC,OAAO,CAAC,kBAAkB,EAC3B,QAAQ,CACT,CACF,CAAA;4BACH,CAAC;iCAAM,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gCACrD,IAAM,MAAM,GAAG,MAAoB,CAAA;gCACnC,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;oCAC5D,IAAM,aAAa,GAAsB,IAAI,CAAC,YAAY,CACxD,MAAM,CAAC,cAAc,EAAE,EACvB,IAAI,CACL,CAAA;oCACD,IAAM,OAAO,GAAa,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oCAC5D,IAAM,KAAK,GAAa,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oCACxD,YAAY,CAAC,GAAG,CACd,IAAI,YAAY,CACd,aAAa,EACb,KAAK,EACL,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACzC,CACF,CAAA;gCACH,CAAC;qCAAM,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;oCACnC,IAAM,SAAS,GAAsB,IAAI,CAAC,YAAY,CACpD,MAAM,CAAC,UAAU,EAAE,CACpB,CAAA;oCACD,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;gCAC1D,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,yCAAW,GAAnB,UAAoB,IAAc;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5B,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAA;QACzB,IAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAC/C,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAC1C,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAgB;QACnC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;QAC9B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACxB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;QAClC,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC9B,0BAA0B;QAC1B,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC3C,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;QACpC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAA;QACnC,6BAA6B;QAC7B,iEAAiE;QACjE,yBAAyB;QACzB,2DAA2D;QAC3D,IAAI;QACJ,8BAA8B;QAC9B,gEAAgE;QAChE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAgB;QACnC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAA;QACnC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,6CAAe,GAAvB,UAAwB,QAAwB;QAC9C,0CAA0C;QAC1C,+FAA+F;QAC/F,EAAE;QACF,8EAA8E;QAC9E,yCAAyC;QACzC,0CAA0C;QAC1C,4BAA4B;QAC5B,iCAAiC;QACjC,qDAAqD;QACrD,uCAAuC;QACvC,4FAA4F;QAC5F,IAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;QAC3C,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAA;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;YAClE,IAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,WAAW,CAClB,KAAK,EACL,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,QAAQ,CAChB,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,wCAAU,GAAlB,UAAmB,GAAY;QAC7B,IAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAA;QAC3B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,2CAAa,GAArB,UAAsB,MAAkB;QACtC,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,EACjD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAChC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CACzC,CAAA;YACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;YACzC,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACnC,IAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;YACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;gBACrD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;gBACzC,OAAO,QAAQ,CAAA;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,yCAAW,GAAnB,UAAoB,IAAc;;QAChC,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC7B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QACnC,QAAQ,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,CAAC,CAAA;QACpC,0BAA0B;QAC1B,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,MAA2C,CAAA;QAC1E,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,MAAyC,CAAA;QACtE,QAAQ,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAA;QAC3C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAgB;QACnC,IAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAA;QAC/B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACvC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACpC,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,gDAAkB,GAA1B,UAA2B,MAAkB,EAAE,QAAoB;QACjE,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAC7B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5C,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAA;QACjD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,OAA4B,CAAA;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAA;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAA;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAChC,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,2CAAa,GAArB,UAAsB,UAA0B;QAC9C,IAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;YACpE,IAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,0CAAY,GAApB,UAAqB,SAAwB,EAAE,WAA2B;QAA3B,4BAAA,EAAA,kBAA2B;QACxE,IAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;YACnE,IAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IACH,0BAAC;AAAD,CAAC,AAtYD,IAsYC"}
@@ -0,0 +1,31 @@
1
+ import { AcDbConversionProgressCallback, AcDbDatabase, AcDbDatabaseConverter } from '@mlightcad/data-model';
2
+ import { DRW_Database, DRW_DwgR, DRW_FileHandler, MainModule } from '@mlightcad/libdxfrw-web';
3
+ /**
4
+ * Database converter for DWG files.
5
+ * @internal
6
+ */
7
+ export declare class AcDbLibdxfrwConverter extends AcDbDatabaseConverter<DRW_Database> {
8
+ librefrw: MainModule;
9
+ database?: DRW_Database;
10
+ dwg?: DRW_DwgR;
11
+ fileHandler?: DRW_FileHandler;
12
+ constructor(instance: MainModule);
13
+ protected onFinished(): void;
14
+ protected parse(data: string | ArrayBuffer): DRW_Database;
15
+ protected processLineTypes(model: DRW_Database, db: AcDbDatabase): void;
16
+ private convertLineTypePattern;
17
+ protected processTextStyles(model: DRW_Database, db: AcDbDatabase): void;
18
+ protected processDimStyles(model: DRW_Database, db: AcDbDatabase): void;
19
+ protected processLayers(model: DRW_Database, db: AcDbDatabase): void;
20
+ protected processViewports(model: DRW_Database, db: AcDbDatabase): void;
21
+ protected processBlockTables(model: DRW_Database, db: AcDbDatabase): void;
22
+ private processCommonTableEntryAttrs;
23
+ protected processHeader(model: DRW_Database, db: AcDbDatabase): void;
24
+ protected processObjects(model: DRW_Database, db: AcDbDatabase): void;
25
+ private processImageDefs;
26
+ private processEntitiesInBlock;
27
+ protected processEntities(model: DRW_Database, db: AcDbDatabase, minimumChunkSize: number, startPercentage: {
28
+ value: number;
29
+ }, progress?: AcDbConversionProgressCallback): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=AcDbLibdxfrwConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbLibdxfrwConverter.d.ts","sourceRoot":"","sources":["../src/AcDbLibdxfrwConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAC9B,YAAY,EACZ,qBAAqB,EAgBtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,YAAY,EAEZ,QAAQ,EAER,eAAe,EAGf,UAAU,EACX,MAAM,yBAAyB,CAAA;AAKhC;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,GAAG,CAAC,EAAE,QAAQ,CAAA;IACd,WAAW,CAAC,EAAE,eAAe,CAAA;gBAEjB,QAAQ,EAAE,UAAU;IAKhC,SAAS,CAAC,UAAU;IAgBpB,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY;IAmBzD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoBhE,OAAO,CAAC,sBAAsB;IAY9B,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuBjE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAoFhE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAuB7D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAkDhE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAiBlE,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IA6B7D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY;IAI9D,OAAO,CAAC,gBAAgB;YAYV,sBAAsB;cAgBpB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;CAuC5C"}