@plait/draw 0.62.0-next.7 → 0.62.0-next.9

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.
Files changed (34) hide show
  1. package/constants/geometry.d.ts +1 -0
  2. package/esm2022/constants/geometry.mjs +8 -1
  3. package/esm2022/engines/basic-shapes/ellipse.mjs +5 -3
  4. package/esm2022/engines/basic-shapes/round-comment.mjs +5 -3
  5. package/esm2022/engines/flowchart/or.mjs +5 -3
  6. package/esm2022/engines/flowchart/summing-junction.mjs +5 -3
  7. package/esm2022/engines/table/table.mjs +48 -26
  8. package/esm2022/engines/uml/deletion.mjs +3 -2
  9. package/esm2022/plugins/with-swimlane-create.mjs +4 -7
  10. package/esm2022/plugins/with-table.mjs +15 -6
  11. package/esm2022/transforms/arrow-line.mjs +5 -39
  12. package/esm2022/transforms/common.mjs +36 -0
  13. package/esm2022/transforms/geometry.mjs +4 -26
  14. package/esm2022/transforms/index.mjs +7 -6
  15. package/esm2022/transforms/swimlane.mjs +1 -1
  16. package/esm2022/utils/arrow-line/arrow-line-common.mjs +38 -3
  17. package/esm2022/utils/common.mjs +12 -3
  18. package/esm2022/utils/geometry.mjs +5 -2
  19. package/esm2022/utils/style/stroke.mjs +6 -4
  20. package/esm2022/utils/swimlane.mjs +6 -3
  21. package/esm2022/utils/table.mjs +13 -5
  22. package/fesm2022/plait-draw.mjs +246 -165
  23. package/fesm2022/plait-draw.mjs.map +1 -1
  24. package/package.json +12 -4
  25. package/transforms/arrow-line.d.ts +2 -6
  26. package/transforms/common.d.ts +3 -0
  27. package/transforms/geometry.d.ts +1 -2
  28. package/transforms/index.d.ts +2 -2
  29. package/utils/arrow-line/arrow-line-common.d.ts +5 -1
  30. package/utils/clipboard.d.ts +1 -1
  31. package/utils/common.d.ts +1 -0
  32. package/utils/geometry.d.ts +17 -16
  33. package/utils/hit.d.ts +1 -1
  34. package/utils/swimlane.d.ts +2 -1
@@ -375,3 +375,4 @@ export declare const LINE_SNAPPING_BUFFER = 6;
375
375
  export declare const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
376
376
  export declare const GEOMETRY_WITHOUT_TEXT: GeometryShapes[];
377
377
  export declare const GEOMETRY_WITH_MULTIPLE_TEXT: UMLSymbols[];
378
+ export declare const GEOMETRY_NOT_CLOSED: GeometryShapes[];
@@ -262,4 +262,11 @@ export const GEOMETRY_WITHOUT_TEXT = [
262
262
  UMLSymbols.requiredInterface
263
263
  ];
264
264
  export const GEOMETRY_WITH_MULTIPLE_TEXT = [UMLSymbols.package, UMLSymbols.combinedFragment];
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixXQUFXLEVBQUUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLG9CQUFvQixFQUFFLG1CQUFtQjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDckMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1B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QyxFQUFFLHVCQUF1QjtJQUNqRCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSx1QkFBdUI7SUFDOUMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxnQ0FBZ0M7SUFDaEUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRSxnQ0FBZ0M7Q0FDbkUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUEyQztJQUNoRixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDO0lBQ3JFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztDQUNqRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsRUFBRSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsZ0JBQWdCLENBQUMsRUFBRTtJQUNuQixnQkFBZ0IsQ0FBQyxlQUFlO0lBQ2hDLFVBQVUsQ0FBQyxVQUFVO0lBQ3JCLFVBQVUsQ0FBQyxRQUFRO0lBQ25CLFVBQVUsQ0FBQyxJQUFJO0lBQ2YsVUFBVSxDQUFDLFdBQVc7SUFDdEIsVUFBVSxDQUFDLFFBQVE7SUFDbkIsVUFBVSxDQUFDLGlCQUFpQjtJQUM1QixVQUFVLENBQUMsaUJBQWlCO0NBQ1gsQ0FBQztBQUV0QixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMsIEdlb21ldHJ5U2hhcGVzLCBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLCBVTUxTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIERFRkFVTFRfRklMTCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgU2hhcGVEZWZhdWx0U3BhY2UgPSB7XG4gICAgcmVjdGFuZ2xlQW5kVGV4dDogNFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6IERFRkFVTFRfRklMTFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3QWN0aXZlU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEhcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDUwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEzOCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsb3VkUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhQmFzZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEludGVybmFsU3RvcmFnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA4MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERlY2lzaW9uUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE0MCxcbiAgICBoZWlnaHQ6IDcwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTI0LFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Tm90ZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNjAsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMTcsXG4gICAgaGVpZ2h0OiA1OVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNZXJnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NyxcbiAgICBoZWlnaHQ6IDMzXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdG9yUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDY4LFxuICAgIGhlaWdodDogMTAwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbnRhaW5lclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgaGVpZ2h0OiAyNDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UGFja2FnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMTAsXG4gICAgaGVpZ2h0OiAxNTAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAn5YyF5ZCNJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMuY29udGVudCxcbiAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdGl2YXRpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTgsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRPYmplY3RQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIwMCxcbiAgICBoZWlnaHQ6IDE1MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWxldGlvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MCxcbiAgICBoZWlnaHQ6IDQwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBvcnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZXF1aXJlZEludGVyZmFjZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFzc2VtYmx5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogMzRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tYmluZWRGcmFnbWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiAyODAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAnT3B0IHwgQWx0IHwgTG9vcCcsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLmNvbnRlbnQsXG4gICAgICAgICAgICB0ZXh0OiAnW0NvbmRpdGlvbl0nLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsYXNzUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIzMCxcbiAgICBoZWlnaHQ6IDE4MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7IHRleHQ6ICdDbGFzcycsIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICcrIGF0dHJpYnV0ZTE6dHlwZSAgZGVmYXVsdFZhbHVlXFxuKyBhdHRyaWJ1dGUyOnR5cGVcXG4tIGF0dHJpYnV0ZTM6dHlwZScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJysgb3BlcmF0aW9uMShwYXJhbXMpOnJldHVyblR5cGVcXG4tIG9wZXJhdGlvbjIocGFyYW1zKVxcbi0gb3BlcmF0aW9uMygpJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9XG4gICAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRJbnRlcmZhY2VQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjMwLFxuICAgIGhlaWdodDogMTQwLFxuICAgIHRleHRzOiBbXG4gICAgICAgIHsgdGV4dDogJzw8aW50ZXJmYWNlPj5cXG5JbnRlcmZhY2UnLCBhbGlnbjogQWxpZ25tZW50LmNlbnRlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnKyBvcGVyYXRpb24xKHBhcmFtcyk6cmV0dXJuVHlwZVxcbi0gb3BlcmF0aW9uMihwYXJhbXMpXFxuLSBvcGVyYXRpb24zKCknLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eU1hcDogUmVjb3JkPHN0cmluZywgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PiA9IHtcbiAgICBbQmFzaWNTaGFwZXMucGVudGFnb25BcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnByb2Nlc3NBcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmNsb3VkXTogRGVmYXVsdENsb3VkUHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnR3b1dheUFycm93XTogRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmxlZnRBcnJvd106IERlZmF1bHRBcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5yaWdodEFycm93XTogRGVmYXVsdEFycm93UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVkZWZpbmVkUHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vZmZQYWdlXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRvY3VtZW50XTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubXVsdGlEb2N1bWVudF06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGF0YWJhc2VdOiBEZWZhdWx0RGF0YUJhc2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5oYXJkRGlza106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5pbnRlcm5hbFN0b3JhZ2VdOiBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5TGVmdF06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHRdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVTcXVhcmVdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRpc3BsYXldOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0VU1MUHJvcGVydHlNYXAgPSB7XG4gICAgW1VNTFN5bWJvbHMuYWN0b3JdOiBEZWZhdWx0QWN0b3JQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy51c2VDYXNlXTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29udGFpbmVyXTogRGVmYXVsdENvbnRhaW5lclByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLm5vdGVdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucGFja2FnZV06IERlZmF1bHRQYWNrYWdlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29tYmluZWRGcmFnbWVudF06IERlZmF1bHRDb21iaW5lZEZyYWdtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY2xhc3NdOiBEZWZhdWx0Q2xhc3NQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5pbnRlcmZhY2VdOiBEZWZhdWx0SW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZhdGlvbl06IERlZmF1bHRBY3RpdmF0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMub2JqZWN0XTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmRlbGV0aW9uXTogRGVmYXVsdERlbGV0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZpdHlDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5zaW1wbGVDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRdOiBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnRlbXBsYXRlXTogRGVmYXVsdE11bHRpRG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRCb3hdOiBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucG9ydF06IERlZmF1bHRQb3J0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYnJhbmNoTWVyZ2VdOiBEZWZhdWx0RGVsZXRpb25Qcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5hc3NlbWJseV06IERlZmF1bHRBc3NlbWJseVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnByb3ZpZGVkSW50ZXJmYWNlXTogRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2VdOiBEZWZhdWx0UmVxdWlyZWRJbnRlcmZhY2VQcm9wZXJ0eVxufTtcblxuZXhwb3J0IGNvbnN0IE11bHRpcGxlVGV4dEdlb21ldHJ5VGV4dEtleXM6IHsgW2tleSBpbiBHZW9tZXRyeVNoYXBlc10/OiBzdHJpbmdbXSB9ID0ge1xuICAgIFtVTUxTeW1ib2xzLnBhY2thZ2VdOiBPYmplY3Qua2V5cyhNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzKSxcbiAgICBbVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTogT2JqZWN0LmtleXMoTXVsdGlwbGVUZXh0R2VvbWV0cnlDb21tb25UZXh0S2V5cylcbn07XG5cbmV4cG9ydCBjb25zdCBMSU5FX0hJVF9HRU9NRVRSWV9CVUZGRVIgPSAxMDtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQlVGRkVSID0gNjtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQ09OTkVDVE9SX0JVRkZFUiA9IDg7XG5cbmV4cG9ydCBjb25zdCBHRU9NRVRSWV9XSVRIT1VUX1RFWFQgPSBbXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5vcixcbiAgICBGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbixcbiAgICBVTUxTeW1ib2xzLmFjdGl2YXRpb24sXG4gICAgVU1MU3ltYm9scy5kZWxldGlvbixcbiAgICBVTUxTeW1ib2xzLnBvcnQsXG4gICAgVU1MU3ltYm9scy5icmFuY2hNZXJnZSxcbiAgICBVTUxTeW1ib2xzLmFzc2VtYmx5LFxuICAgIFVNTFN5bWJvbHMucHJvdmlkZWRJbnRlcmZhY2UsXG4gICAgVU1MU3ltYm9scy5yZXF1aXJlZEludGVyZmFjZVxuXSBhcyBHZW9tZXRyeVNoYXBlc1tdO1xuXG5leHBvcnQgY29uc3QgR0VPTUVUUllfV0lUSF9NVUxUSVBMRV9URVhUID0gW1VNTFN5bWJvbHMucGFja2FnZSwgVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTtcbiJdfQ==
265
+ export const GEOMETRY_NOT_CLOSED = [
266
+ FlowchartSymbols.noteCurlyLeft,
267
+ FlowchartSymbols.noteCurlyRight,
268
+ FlowchartSymbols.noteSquare,
269
+ UMLSymbols.requiredInterface,
270
+ UMLSymbols.deletion
271
+ ];
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLGtDQUFrQyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixnQkFBZ0IsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixXQUFXLEVBQUUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLElBQUksRUFBRSxZQUFZO0NBQ3JCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLG9CQUFvQixFQUFFLG1CQUFtQjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDckMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUN4QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3RDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFDLE1B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VUFBVSxDQUFDLGlCQUFpQjtJQUM1QixVQUFVLENBQUMsUUFBUTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMsIEdlb21ldHJ5U2hhcGVzLCBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLCBVTUxTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIERFRkFVTFRfRklMTCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgU2hhcGVEZWZhdWx0U3BhY2UgPSB7XG4gICAgcmVjdGFuZ2xlQW5kVGV4dDogNFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3U3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgZGVmYXVsdFJhZGl1czogNCxcbiAgICBzdHJva2VDb2xvcjogJyMwMDAnLFxuICAgIGZpbGw6IERFRkFVTFRfRklMTFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREcmF3QWN0aXZlU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgc2VsZWN0aW9uU3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEhcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QmFzaWNTaGFwZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDUwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEzOCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFycm93UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEwMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsb3VkUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbm5lY3RvclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NCxcbiAgICBoZWlnaHQ6IDQ0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREYXRhQmFzZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEludGVybmFsU3RvcmFnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA4MCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERlY2lzaW9uUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE0MCxcbiAgICBoZWlnaHQ6IDcwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTI0LFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RG9jdW1lbnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Tm90ZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxNjAsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMTcsXG4gICAgaGVpZ2h0OiA1OVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNZXJnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0NyxcbiAgICBoZWlnaHQ6IDMzXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdG9yUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDY4LFxuICAgIGhlaWdodDogMTAwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENvbnRhaW5lclByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgaGVpZ2h0OiAyNDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0UGFja2FnZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMTAsXG4gICAgaGVpZ2h0OiAxNTAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAn5YyF5ZCNJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IE11bHRpcGxlVGV4dEdlb21ldHJ5Q29tbW9uVGV4dEtleXMuY29udGVudCxcbiAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdGl2YXRpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTgsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRPYmplY3RQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIwMCxcbiAgICBoZWlnaHQ6IDE1MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWxldGlvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MCxcbiAgICBoZWlnaHQ6IDQwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBvcnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZXF1aXJlZEludGVyZmFjZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFzc2VtYmx5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogMzRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tYmluZWRGcmFnbWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiAyODAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLm5hbWUsXG4gICAgICAgICAgICB0ZXh0OiAnT3B0IHwgQWx0IHwgTG9vcCcsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzLmNvbnRlbnQsXG4gICAgICAgICAgICB0ZXh0OiAnW0NvbmRpdGlvbl0nLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdENsYXNzUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIzMCxcbiAgICBoZWlnaHQ6IDE4MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7IHRleHQ6ICdDbGFzcycsIGFsaWduOiBBbGlnbm1lbnQuY2VudGVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICcrIGF0dHJpYnV0ZTE6dHlwZSAgZGVmYXVsdFZhbHVlXFxuKyBhdHRyaWJ1dGUyOnR5cGVcXG4tIGF0dHJpYnV0ZTM6dHlwZScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJysgb3BlcmF0aW9uMShwYXJhbXMpOnJldHVyblR5cGVcXG4tIG9wZXJhdGlvbjIocGFyYW1zKVxcbi0gb3BlcmF0aW9uMygpJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9XG4gICAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRJbnRlcmZhY2VQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjMwLFxuICAgIGhlaWdodDogMTQwLFxuICAgIHRleHRzOiBbXG4gICAgICAgIHsgdGV4dDogJzw8aW50ZXJmYWNlPj5cXG5JbnRlcmZhY2UnLCBhbGlnbjogQWxpZ25tZW50LmNlbnRlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnKyBvcGVyYXRpb24xKHBhcmFtcyk6cmV0dXJuVHlwZVxcbi0gb3BlcmF0aW9uMihwYXJhbXMpXFxuLSBvcGVyYXRpb24zKCknLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eU1hcDogUmVjb3JkPHN0cmluZywgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PiA9IHtcbiAgICBbQmFzaWNTaGFwZXMucGVudGFnb25BcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnByb2Nlc3NBcnJvd106IERlZmF1bHRQZW50YWdvbkFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmNsb3VkXTogRGVmYXVsdENsb3VkUHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLnR3b1dheUFycm93XTogRGVmYXVsdFR3b1dheUFycm93UHJvcGVydHksXG4gICAgW0Jhc2ljU2hhcGVzLmxlZnRBcnJvd106IERlZmF1bHRBcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5yaWdodEFycm93XTogRGVmYXVsdEFycm93UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlNYXAgPSB7XG4gICAgW0Zsb3djaGFydFN5bWJvbHMuY29ubmVjdG9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVjaXNpb25dOiBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kYXRhXTogRGVmYXVsdERhdGFQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy50ZXJtaW5hbF06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxJbnB1dF06IERlZmF1bHRNYW51YWxJbnB1dFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnByZXBhcmF0aW9uXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1hbnVhbExvb3BdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWVyZ2VdOiBEZWZhdWx0TWVyZ2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kZWxheV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdG9yZWREYXRhXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm9yXTogRGVmYXVsdENvbm5lY3RvclByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVkZWZpbmVkUHJvY2Vzc106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vZmZQYWdlXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRvY3VtZW50XTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubXVsdGlEb2N1bWVudF06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGF0YWJhc2VdOiBEZWZhdWx0RGF0YUJhc2VQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5oYXJkRGlza106IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5pbnRlcm5hbFN0b3JhZ2VdOiBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5TGVmdF06IERlZmF1bHROb3RlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHRdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVTcXVhcmVdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRpc3BsYXldOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0VU1MUHJvcGVydHlNYXAgPSB7XG4gICAgW1VNTFN5bWJvbHMuYWN0b3JdOiBEZWZhdWx0QWN0b3JQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy51c2VDYXNlXTogRGVmYXVsdERvY3VtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29udGFpbmVyXTogRGVmYXVsdENvbnRhaW5lclByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLm5vdGVdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucGFja2FnZV06IERlZmF1bHRQYWNrYWdlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29tYmluZWRGcmFnbWVudF06IERlZmF1bHRDb21iaW5lZEZyYWdtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY2xhc3NdOiBEZWZhdWx0Q2xhc3NQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5pbnRlcmZhY2VdOiBEZWZhdWx0SW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZhdGlvbl06IERlZmF1bHRBY3RpdmF0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMub2JqZWN0XTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmRlbGV0aW9uXTogRGVmYXVsdERlbGV0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYWN0aXZpdHlDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5zaW1wbGVDbGFzc106IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRdOiBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnRlbXBsYXRlXTogRGVmYXVsdE11bHRpRG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5jb21wb25lbnRCb3hdOiBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucG9ydF06IERlZmF1bHRQb3J0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYnJhbmNoTWVyZ2VdOiBEZWZhdWx0RGVsZXRpb25Qcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5hc3NlbWJseV06IERlZmF1bHRBc3NlbWJseVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnByb3ZpZGVkSW50ZXJmYWNlXTogRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2VdOiBEZWZhdWx0UmVxdWlyZWRJbnRlcmZhY2VQcm9wZXJ0eVxufTtcblxuZXhwb3J0IGNvbnN0IE11bHRpcGxlVGV4dEdlb21ldHJ5VGV4dEtleXM6IHsgW2tleSBpbiBHZW9tZXRyeVNoYXBlc10/OiBzdHJpbmdbXSB9ID0ge1xuICAgIFtVTUxTeW1ib2xzLnBhY2thZ2VdOiBPYmplY3Qua2V5cyhNdWx0aXBsZVRleHRHZW9tZXRyeUNvbW1vblRleHRLZXlzKSxcbiAgICBbVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTogT2JqZWN0LmtleXMoTXVsdGlwbGVUZXh0R2VvbWV0cnlDb21tb25UZXh0S2V5cylcbn07XG5cbmV4cG9ydCBjb25zdCBMSU5FX0hJVF9HRU9NRVRSWV9CVUZGRVIgPSAxMDtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQlVGRkVSID0gNjtcblxuZXhwb3J0IGNvbnN0IExJTkVfU05BUFBJTkdfQ09OTkVDVE9SX0JVRkZFUiA9IDg7XG5cbmV4cG9ydCBjb25zdCBHRU9NRVRSWV9XSVRIT1VUX1RFWFQgPSBbXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5vcixcbiAgICBGbG93Y2hhcnRTeW1ib2xzLnN1bW1pbmdKdW5jdGlvbixcbiAgICBVTUxTeW1ib2xzLmFjdGl2YXRpb24sXG4gICAgVU1MU3ltYm9scy5kZWxldGlvbixcbiAgICBVTUxTeW1ib2xzLnBvcnQsXG4gICAgVU1MU3ltYm9scy5icmFuY2hNZXJnZSxcbiAgICBVTUxTeW1ib2xzLmFzc2VtYmx5LFxuICAgIFVNTFN5bWJvbHMucHJvdmlkZWRJbnRlcmZhY2UsXG4gICAgVU1MU3ltYm9scy5yZXF1aXJlZEludGVyZmFjZVxuXSBhcyBHZW9tZXRyeVNoYXBlc1tdO1xuXG5leHBvcnQgY29uc3QgR0VPTUVUUllfV0lUSF9NVUxUSVBMRV9URVhUID0gW1VNTFN5bWJvbHMucGFja2FnZSwgVU1MU3ltYm9scy5jb21iaW5lZEZyYWdtZW50XTtcblxuZXhwb3J0IGNvbnN0IEdFT01FVFJZX05PVF9DTE9TRUQgPSBbXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5ub3RlQ3VybHlMZWZ0LFxuICAgIEZsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5UmlnaHQsXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5ub3RlU3F1YXJlLFxuICAgIFVNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2UsXG4gICAgVU1MU3ltYm9scy5kZWxldGlvblxuXSBhcyBHZW9tZXRyeVNoYXBlc1tdO1xuIl19
@@ -1,11 +1,13 @@
1
- import { PlaitBoard, RectangleClient, getEllipseTangentSlope, getVectorFromPointAndSlope, isPointInEllipse, getNearestPointBetweenPointAndEllipse } from '@plait/core';
1
+ import { PlaitBoard, RectangleClient, getEllipseTangentSlope, getVectorFromPointAndSlope, isPointInEllipse, getNearestPointBetweenPointAndEllipse, setStrokeLinecap } from '@plait/core';
2
2
  import { getTextRectangle } from '../../utils';
3
3
  export function createEllipseEngine(createOptions) {
4
4
  const engine = {
5
5
  draw(board, rectangle, options) {
6
6
  const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
7
7
  const rs = PlaitBoard.getRoughSVG(board);
8
- return rs.ellipse(centerPoint[0], centerPoint[1], rectangle.width, rectangle.height, { ...options, fillStyle: 'solid' });
8
+ const shape = rs.ellipse(centerPoint[0], centerPoint[1], rectangle.width, rectangle.height, { ...options, fillStyle: 'solid' });
9
+ setStrokeLinecap(shape, 'round');
10
+ return shape;
9
11
  },
10
12
  isInsidePoint(rectangle, point) {
11
13
  const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
@@ -48,4 +50,4 @@ export function createEllipseEngine(createOptions) {
48
50
  return engine;
49
51
  }
50
52
  export const EllipseEngine = createEllipseEngine();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL2VsbGlwc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3hDLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU8vQyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsYUFBb0M7SUFDcEUsTUFBTSxNQUFNLEdBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7WUFDaEUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdILENBQUM7UUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1lBQ2xELE1BQU0sV0FBVyxHQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FB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bEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0IsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZVxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVFbGxpcHNlT3B0aW9ucyB7XG4gICAgZHJhdz86IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IFNWR0dFbGVtZW50O1xuICAgIGdldFRleHRSZWN0YW5nbGU/OiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4gUmVjdGFuZ2xlQ2xpZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxsaXBzZUVuZ2luZShjcmVhdGVPcHRpb25zPzogQ3JlYXRlRWxsaXBzZU9wdGlvbnMpOiBTaGFwZUVuZ2luZSB7XG4gICAgY29uc3QgZW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICAgICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICAgICAgcmV0dXJuIHJzLmVsbGlwc2UoY2VudGVyUG9pbnRbMF0sIGNlbnRlclBvaW50WzFdLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9pbnRJbkVsbGlwc2UocG9pbnQsIGNlbnRlclBvaW50LCByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBjZW50ZXJQb2ludCwgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLmhlaWdodCAvIDIpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25Qb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByZWN0YW5nbGUud2lkdGggLyAyO1xuICAgICAgICAgICAgY29uc3QgYiA9IHJlY3RhbmdsZS5oZWlnaHQgLyAyO1xuICAgICAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICAgICAgY29uc3QgdmVjdG9yID0gZ2V0VmVjdG9yRnJvbVBvaW50QW5kU2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgICAgICAgICByZXR1cm4gdmVjdG9yO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFRleHRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCA9IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQ7XG4gICAgICAgICAgICByZWN0YW5nbGUueCArPSB3aWR0aCAvIDg7XG4gICAgICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGlmIChjcmVhdGVPcHRpb25zPy5kcmF3KSB7XG4gICAgICAgIGVuZ2luZS5kcmF3ID0gY3JlYXRlT3B0aW9ucy5kcmF3O1xuICAgIH1cbiAgICBpZiAoY3JlYXRlT3B0aW9ucz8uZ2V0VGV4dFJlY3RhbmdsZSkge1xuICAgICAgICBlbmdpbmUuZ2V0VGV4dFJlY3RhbmdsZSA9IGNyZWF0ZU9wdGlvbnMuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW5naW5lO1xufVxuXG5leHBvcnQgY29uc3QgRWxsaXBzZUVuZ2luZTogU2hhcGVFbmdpbmUgPSBjcmVhdGVFbGxpcHNlRW5naW5lKCk7XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL2VsbGlwc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGdCQUFnQixFQUNuQixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFPL0MsTUFBTSxVQUFVLG1CQUFtQixDQUFDLGFBQW9DO0lBQ3BFLE1BQU0sTUFBTSxHQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLE9BQWdCO1lBQ2hFLE1BQU0sV0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUYsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1lBQ2xELE1BQU0sV0FBVyxH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QUM7UUFDbEMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM3RCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0IsbUJBQW1CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSxcbiAgICBzZXRTdHJva2VMaW5lY2FwXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUVsbGlwc2VPcHRpb25zIHtcbiAgICBkcmF3PzogKGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykgPT4gU1ZHR0VsZW1lbnQ7XG4gICAgZ2V0VGV4dFJlY3RhbmdsZT86IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiBSZWN0YW5nbGVDbGllbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbGxpcHNlRW5naW5lKGNyZWF0ZU9wdGlvbnM/OiBDcmVhdGVFbGxpcHNlT3B0aW9ucyk6IFNoYXBlRW5naW5lIHtcbiAgICBjb25zdCBlbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgICAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBzaGFwZSA9IHJzLmVsbGlwc2UoY2VudGVyUG9pbnRbMF0sIGNlbnRlclBvaW50WzFdLCByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS5oZWlnaHQsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICByZXR1cm4gaXNQb2ludEluRWxsaXBzZShwb2ludCwgY2VudGVyUG9pbnQsIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS5oZWlnaHQgLyAyKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0TmVhcmVzdFBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50OiBQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGNlbnRlclBvaW50LCByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvblBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICAgICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IFtjb25uZWN0aW9uUG9pbnRbMF0gLSBjZW50ZXJQb2ludFswXSwgLShjb25uZWN0aW9uUG9pbnRbMV0gLSBjZW50ZXJQb2ludFsxXSldO1xuICAgICAgICAgICAgY29uc3QgYSA9IHJlY3RhbmdsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBjb25zdCBiID0gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgICAgICAgICBjb25zdCBzbG9wZSA9IGdldEVsbGlwc2VUYW5nZW50U2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBhLCBiKSBhcyBhbnk7XG4gICAgICAgICAgICBjb25zdCB2ZWN0b3IgPSBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIHNsb3BlKTtcbiAgICAgICAgICAgIHJldHVybiB2ZWN0b3I7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNDtcbiAgICAgICAgICAgIHJlY3RhbmdsZS54ICs9IHdpZHRoIC8gODtcbiAgICAgICAgICAgIHJldHVybiByZWN0YW5nbGU7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKGNyZWF0ZU9wdGlvbnM/LmRyYXcpIHtcbiAgICAgICAgZW5naW5lLmRyYXcgPSBjcmVhdGVPcHRpb25zLmRyYXc7XG4gICAgfVxuICAgIGlmIChjcmVhdGVPcHRpb25zPy5nZXRUZXh0UmVjdGFuZ2xlKSB7XG4gICAgICAgIGVuZ2luZS5nZXRUZXh0UmVjdGFuZ2xlID0gY3JlYXRlT3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgIH1cblxuICAgIHJldHVybiBlbmdpbmU7XG59XG5cbmV4cG9ydCBjb25zdCBFbGxpcHNlRW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZUVsbGlwc2VFbmdpbmUoKTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments, isPointInPolygon, isPointInRoundRectangle } from '@plait/core';
1
+ import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments, isPointInPolygon, isPointInRoundRectangle, setStrokeLinecap } from '@plait/core';
2
2
  import { ShapeDefaultSpace } from '../../constants';
3
3
  import { getRoundRectangleRadius } from './round-rectangle';
4
4
  import { getPolygonEdgeByConnectionPoint } from '../../utils/polygon';
@@ -23,7 +23,9 @@ export const RoundCommentEngine = {
23
23
  const point9 = [x1 + rectangle.width / 4, y2];
24
24
  const point10 = [x1 + rectangle.width / 4, rectangle.y + rectangle.height];
25
25
  const point11 = [x1 + rectangle.width / 2, y2];
26
- return rs.path(`M${point2[0]} ${point2[1]} A ${radius} ${radius}, 0, 0, 1, ${point3[0]} ${point3[1]} L ${point4[0]} ${point4[1]} A ${radius} ${radius}, 0, 0, 1, ${point5[0]} ${point5[1]} L ${point11[0]} ${point11[1]} ${point10[0]} ${point10[1]} ${point9[0]} ${point9[1]} ${point6[0]} ${point6[1]} A ${radius} ${radius}, 0, 0, 1, ${point7[0]} ${point7[1]} L ${point8[0]} ${point8[1]} A ${radius} ${radius}, 0, 0, 1, ${point1[0]} ${point1[1]} Z`, { ...options, fillStyle: 'solid' });
26
+ const shape = rs.path(`M${point2[0]} ${point2[1]} A ${radius} ${radius}, 0, 0, 1, ${point3[0]} ${point3[1]} L ${point4[0]} ${point4[1]} A ${radius} ${radius}, 0, 0, 1, ${point5[0]} ${point5[1]} L ${point11[0]} ${point11[1]} ${point10[0]} ${point10[1]} ${point9[0]} ${point9[1]} ${point6[0]} ${point6[1]} A ${radius} ${radius}, 0, 0, 1, ${point7[0]} ${point7[1]} L ${point8[0]} ${point8[1]} A ${radius} ${radius}, 0, 0, 1, ${point1[0]} ${point1[1]} Z`, { ...options, fillStyle: 'solid' });
27
+ setStrokeLinecap(shape, 'round');
28
+ return shape;
27
29
  },
28
30
  isInsidePoint(rectangle, point) {
29
31
  const points = [
@@ -77,4 +79,4 @@ export const getRoundCommentPoints = (rectangle) => {
77
79
  [rectangle.x, rectangle.y + rectangle.height * heightRatio]
78
80
  ];
79
81
  };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3JvdW5kLWNvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0NBQXNDLEVBQ3RDLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDMUIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDM0MsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDekMsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBRWpDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFD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QyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDN0UsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDakYsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNuRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUNqRixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztLQUM5RCxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFBvaW50T2ZSZWN0YW5nbGUsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIGlzUG9pbnRJblBvbHlnb24sXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFNoYXBlRGVmYXVsdFNwYWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzIH0gZnJvbSAnLi9yb3VuZC1yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24nO1xuXG5jb25zdCBoZWlnaHRSYXRpbyA9IDMgLyA0O1xuXG5leHBvcnQgY29uc3QgUm91bmRDb21tZW50RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCB4MSA9IHJlY3RhbmdsZS54O1xuICAgICAgICBjb25zdCB5MSA9IHJlY3RhbmdsZS55O1xuICAgICAgICBjb25zdCB4MiA9IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICBjb25zdCB5MiA9IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpO1xuXG4gICAgICAgIGNvbnN0IHBvaW50MSA9IFt4MSArIHJhZGl1cywgeTFdO1xuICAgICAgICBjb25zdCBwb2ludDIgPSBbeDIgLSByYWRpdXMsIHkxXTtcbiAgICAgICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgICAgIGNvbnN0IHBvaW50NCA9IFt4MiwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDUgPSBbeDIgLSByYWRpdXMsIHkyXTtcbiAgICAgICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50NyA9IFt4MSwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDggPSBbeDEsIHkxICsgcmFkaXVzXTtcblxuICAgICAgICBjb25zdCBwb2ludDkgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50MTAgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdO1xuICAgICAgICBjb25zdCBwb2ludDExID0gW3gxICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgeTJdO1xuXG4gICAgICAgIHJldHVybiBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3BvaW50MlswXX0gJHtwb2ludDJbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDNbMF19ICR7cG9pbnQzWzFdfSBMICR7cG9pbnQ0WzBdfSAke3BvaW50NFsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50NVswXX0gJHtwb2ludDVbMV19IEwgICAgJHtwb2ludDExWzBdfSAke3BvaW50MTFbMV19ICAke3BvaW50MTBbMF19ICR7cG9pbnQxMFsxXX0gICAke3BvaW50OVswXX0gJHtwb2ludDlbMV19ICAgJHtwb2ludDZbMF19ICR7cG9pbnQ2WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQ3WzBdfSAke3BvaW50N1sxXX0gTCAke3BvaW50OFswXX0gJHtwb2ludDhbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDFbMF19ICR7cG9pbnQxWzFdfSBaYCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCBwb2ludHM6IFBvaW50W10gPSBbXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0XVxuICAgICAgICBdO1xuICAgICAgICByZWN0YW5nbGUuaGVpZ2h0ID0gKHJlY3RhbmdsZS5oZWlnaHQgKiAzKSAvIDQ7XG4gICAgICAgIHJldHVybiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50LCBwb2ludHMpIHx8IGlzUG9pbnRJblJvdW5kUmVjdGFuZ2xlKHBvaW50LCByZWN0YW5nbGUsIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBnZXRSb3VuZENvbW1lbnRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgZ2V0Um91bmRDb21tZW50UG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgY29uc3QgY29ybmVycyA9IGdldFJvdW5kQ29tbWVudFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCBwb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQoY29ybmVycywgcG9pbnQpO1xuICAgIH0sXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueV0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXVxuICAgICAgICBdO1xuICAgIH0sXG4gICAgZ2V0VGV4dFJlY3RhbmdsZShlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMhKTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC50ZXh0SGVpZ2h0ITtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbGVtZW50UmVjdGFuZ2xlLndpZHRoIC0gU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCAqIDIgLSBzdHJva2VXaWR0aCAqIDI7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aDogd2lkdGggPiAwID8gd2lkdGggOiAwLFxuICAgICAgICAgICAgeDogZWxlbWVudFJlY3RhbmdsZS54ICsgU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCArIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgeTogZWxlbWVudFJlY3RhbmdsZS55ICsgKGVsZW1lbnRSZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW8gLSBoZWlnaHQpIC8gMlxuICAgICAgICB9O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSb3VuZENvbW1lbnRQb2ludHMgPSAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpOiBQb2ludFtdID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb10sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb11cbiAgICBdO1xufTtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3JvdW5kLWNvbW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2Ysc0NBQXNDLEVBQ3RDLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWdCO0lBQzNDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUVqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUvQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxJQUFJLE1BQU0sY0FBYyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMs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QVcsRUFBRTtJQUN6RSxPQUFPO1FBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQzdFLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ2pGLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDbkUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7UUFDakYsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7S0FDOUQsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBpc1BvaW50SW5Qb2x5Z29uLFxuICAgIGlzUG9pbnRJblJvdW5kUmVjdGFuZ2xlLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFNoYXBlRGVmYXVsdFNwYWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzIH0gZnJvbSAnLi9yb3VuZC1yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24nO1xuXG5jb25zdCBoZWlnaHRSYXRpbyA9IDMgLyA0O1xuXG5leHBvcnQgY29uc3QgUm91bmRDb21tZW50RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCB4MSA9IHJlY3RhbmdsZS54O1xuICAgICAgICBjb25zdCB5MSA9IHJlY3RhbmdsZS55O1xuICAgICAgICBjb25zdCB4MiA9IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuICAgICAgICBjb25zdCB5MiA9IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpO1xuXG4gICAgICAgIGNvbnN0IHBvaW50MSA9IFt4MSArIHJhZGl1cywgeTFdO1xuICAgICAgICBjb25zdCBwb2ludDIgPSBbeDIgLSByYWRpdXMsIHkxXTtcbiAgICAgICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgICAgIGNvbnN0IHBvaW50NCA9IFt4MiwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDUgPSBbeDIgLSByYWRpdXMsIHkyXTtcbiAgICAgICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50NyA9IFt4MSwgeTIgLSByYWRpdXNdO1xuICAgICAgICBjb25zdCBwb2ludDggPSBbeDEsIHkxICsgcmFkaXVzXTtcblxuICAgICAgICBjb25zdCBwb2ludDkgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCB5Ml07XG4gICAgICAgIGNvbnN0IHBvaW50MTAgPSBbeDEgKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdO1xuICAgICAgICBjb25zdCBwb2ludDExID0gW3gxICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgeTJdO1xuXG4gICAgICAgIGNvbnN0IHNoYXBlID0gcnMucGF0aChcbiAgICAgICAgICAgIGBNJHtwb2ludDJbMF19ICR7cG9pbnQyWzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQzWzBdfSAke3BvaW50M1sxXX0gTCAke3BvaW50NFswXX0gJHtwb2ludDRbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDVbMF19ICR7cG9pbnQ1WzFdfSBMICAgICR7cG9pbnQxMVswXX0gJHtwb2ludDExWzFdfSAgJHtwb2ludDEwWzBdfSAke3BvaW50MTBbMV19ICAgJHtwb2ludDlbMF19ICR7cG9pbnQ5WzFdfSAgICR7cG9pbnQ2WzBdfSAke3BvaW50NlsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50N1swXX0gJHtwb2ludDdbMV19IEwgJHtwb2ludDhbMF19ICR7cG9pbnQ4WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQxWzBdfSAke3BvaW50MVsxXX0gWmAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBQb2ludFtdID0gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gNCwgcmVjdGFuZ2xlLnkgKyAocmVjdGFuZ2xlLmhlaWdodCAqIDMpIC8gNF0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyAocmVjdGFuZ2xlLmhlaWdodCAqIDMpIC8gNF1cbiAgICAgICAgXTtcbiAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCA9IChyZWN0YW5nbGUuaGVpZ2h0ICogMykgLyA0O1xuICAgICAgICByZXR1cm4gaXNQb2ludEluUG9seWdvbihwb2ludCwgcG9pbnRzKSB8fCBpc1BvaW50SW5Sb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gZ2V0Um91bmRDb21tZW50UG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGdldFJvdW5kQ29tbWVudFBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRSb3VuZENvbW1lbnRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIHJldHVybiBnZXRQb2x5Z29uRWRnZUJ5Q29ubmVjdGlvblBvaW50KGNvcm5lcnMsIHBvaW50KTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnldLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl1cbiAgICAgICAgXTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCBlbGVtZW50UmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzISk7XG4gICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGVsZW1lbnQudGV4dEhlaWdodCE7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudFJlY3RhbmdsZS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgICAgIHg6IGVsZW1lbnRSZWN0YW5nbGUueCArIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKyBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgIHk6IGVsZW1lbnRSZWN0YW5nbGUueSArIChlbGVtZW50UmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvIC0gaGVpZ2h0KSAvIDJcbiAgICAgICAgfTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Um91bmRDb21tZW50UG9pbnRzID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KTogUG9pbnRbXSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0sXG4gICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnldLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAqIGhlaWdodFJhdGlvXSxcbiAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdLFxuICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBoZWlnaHRSYXRpb10sXG4gICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0ICogaGVpZ2h0UmF0aW9dXG4gICAgXTtcbn07XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { PlaitBoard } from '@plait/core';
1
+ import { PlaitBoard, setStrokeLinecap } from '@plait/core';
2
2
  import { createEllipseEngine } from '../basic-shapes/ellipse';
3
3
  export const OrEngine = createEllipseEngine({
4
4
  draw(board, rectangle, options) {
@@ -6,13 +6,15 @@ export const OrEngine = createEllipseEngine({
6
6
  const rx = rectangle.width / 2;
7
7
  const ry = rectangle.height / 2;
8
8
  const startPoint = [rectangle.x + rectangle.width, rectangle.y + rectangle.height / 2];
9
- return rs.path(`M${startPoint[0]} ${startPoint[1]}
9
+ const shape = rs.path(`M${startPoint[0]} ${startPoint[1]}
10
10
  A${rx},${ry} 0 1,1 ${startPoint[0]} ${startPoint[1] - 0.01}
11
11
  M${rectangle.x} ${rectangle.y + rectangle.height / 2}
12
12
  L${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height / 2}
13
13
  M${rectangle.x + rectangle.width / 2} ${rectangle.y}
14
14
  L${rectangle.x + rectangle.width / 2} ${rectangle.y + rectangle.height}
15
15
  `, { ...options, fillStyle: 'solid' });
16
+ setStrokeLinecap(shape, 'round');
17
+ return shape;
16
18
  }
17
19
  });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9vci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGFBQWEsQ0FBQztBQUkxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWdCLG1CQUFtQixDQUFDO0lBQ3JELElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUNWLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUM7V0FDbkMsRUFBRSxJQUFJLEVBQUUsVUFBVSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUk7V0FDdkQsU0FBUyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztXQUNqRCxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUM7V0FDbkUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztXQUNoRCxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU07U0FDckUsRUFDRyxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FDckMsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0VGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGNyZWF0ZUVsbGlwc2VFbmdpbmUgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvZWxsaXBzZSc7XG5cbmV4cG9ydCBjb25zdCBPckVuZ2luZTogU2hhcGVFbmdpbmUgPSBjcmVhdGVFbGxpcHNlRW5naW5lKHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCByeCA9IHJlY3RhbmdsZS53aWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IHJ5ID0gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHN0YXJ0UG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICByZXR1cm4gcnMucGF0aChcbiAgICAgICAgICAgIGBNJHtzdGFydFBvaW50WzBdfSAke3N0YXJ0UG9pbnRbMV19XG4gICAgICAgIEEke3J4fSwke3J5fSAwIDEsMSAke3N0YXJ0UG9pbnRbMF19ICR7c3RhcnRQb2ludFsxXSAtIDAuMDF9XG4gICAgICAgIE0ke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9XG4gICAgICAgIEwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9XG4gICAgICAgIE0ke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMn0gJHtyZWN0YW5nbGUueX1cbiAgICAgICAgTCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyfSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH1cbiAgICAgICAgYCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICB9XG59KTtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9vci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWdCLG1CQUFtQixDQUFDO0lBQ3JELElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDakIsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztXQUNuQyxFQUFFLElBQUksRUFBRSxVQUFVLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSTtXQUN2RCxTQUFTLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO1dBQ2pELFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztXQUNuRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDO1dBQ2hELFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTTtTQUNyRSxFQUNHLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUNyQyxDQUFDO1FBQ0YsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQsIHNldFN0cm9rZUxpbmVjYXAgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRWxsaXBzZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcblxuZXhwb3J0IGNvbnN0IE9yRW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZUVsbGlwc2VFbmdpbmUoe1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgIGNvbnN0IHJ4ID0gcmVjdGFuZ2xlLndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgcnkgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIGNvbnN0IHNoYXBlID0gcnMucGF0aChcbiAgICAgICAgICAgIGBNJHtzdGFydFBvaW50WzBdfSAke3N0YXJ0UG9pbnRbMV19XG4gICAgICAgIEEke3J4fSwke3J5fSAwIDEsMSAke3N0YXJ0UG9pbnRbMF19ICR7c3RhcnRQb2ludFsxXSAtIDAuMDF9XG4gICAgICAgIE0ke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9XG4gICAgICAgIEwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRofSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJ9XG4gICAgICAgIE0ke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMn0gJHtyZWN0YW5nbGUueX1cbiAgICAgICAgTCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyfSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH1cbiAgICAgICAgYCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9XG59KTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { PlaitBoard, getCrossingPointsBetweenEllipseAndSegment } from '@plait/core';
1
+ import { PlaitBoard, getCrossingPointsBetweenEllipseAndSegment, setStrokeLinecap } from '@plait/core';
2
2
  import { createEllipseEngine } from '../basic-shapes/ellipse';
3
3
  export const SummingJunctionEngine = createEllipseEngine({
4
4
  draw(board, rectangle, options) {
@@ -9,13 +9,15 @@ export const SummingJunctionEngine = createEllipseEngine({
9
9
  const centerPoint = [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height / 2];
10
10
  const line1Points = getCrossingPointsBetweenEllipseAndSegment([rectangle.x, rectangle.y], [rectangle.x + rectangle.width, rectangle.y + rectangle.height], centerPoint[0], centerPoint[1], rx, ry);
11
11
  const line2Points = getCrossingPointsBetweenEllipseAndSegment([rectangle.x + rectangle.width, rectangle.y], [rectangle.x, rectangle.y + rectangle.height], centerPoint[0], centerPoint[1], rx, ry);
12
- return rs.path(`M${startPoint[0]} ${startPoint[1]}
12
+ const shape = rs.path(`M${startPoint[0]} ${startPoint[1]}
13
13
  A${rx},${ry} 0 1,1 ${startPoint[0]} ${startPoint[1] - 0.01}
14
14
  M${line1Points[0][0]} ${line1Points[0][1]}
15
15
  L${line1Points[1][0]} ${line1Points[1][1]}
16
16
  M${line2Points[0][0]} ${line2Points[0][1]}
17
17
  L${line2Points[1][0]} ${line2Points[1][1]}
18
18
  `, { ...options, fillStyle: 'solid' });
19
+ setStrokeLinecap(shape, 'round');
20
+ return shape;
19
21
  }
20
22
  });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWluZy1qdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvZmxvd2NoYXJ0L3N1bW1pbmctanVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBbUIseUNBQXlDLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWdCLG1CQUFtQixDQUFDO0lBQ2xFLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RixNQUFNLFdBQVcsR0FBRyx5Q0FBeUMsQ0FDekQsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDMUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQy9ELFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsRUFBRSxFQUNGLEVBQUUsQ0FDTCxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcseUNBQXlDLENBQ3pELENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDNUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUM3QyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLEVBQUUsRUFDRixFQUFFLENBQ0wsQ0FBQztRQUVGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FDVixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDO1dBQ25DLEVBQUUsSUFBSSxFQUFFLFVBQVUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJO1dBQ3ZELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1dBQ3RDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1dBQ3RDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1dBQ3RDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hDLEVBQ0csRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQ3JDLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXRDcm9zc2luZ1BvaW50c0JldHdlZW5FbGxpcHNlQW5kU2VnbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlRWxsaXBzZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcblxuZXhwb3J0IGNvbnN0IFN1bW1pbmdKdW5jdGlvbkVuZ2luZTogU2hhcGVFbmdpbmUgPSBjcmVhdGVFbGxpcHNlRW5naW5lKHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCByeCA9IHJlY3RhbmdsZS53aWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IHJ5ID0gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHN0YXJ0UG9pbnQgPSBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICBjb25zdCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdO1xuICAgICAgICBjb25zdCBsaW5lMVBvaW50cyA9IGdldENyb3NzaW5nUG9pbnRzQmV0d2VlbkVsbGlwc2VBbmRTZWdtZW50KFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBjZW50ZXJQb2ludFswXSxcbiAgICAgICAgICAgIGNlbnRlclBvaW50WzFdLFxuICAgICAgICAgICAgcngsXG4gICAgICAgICAgICByeVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBsaW5lMlBvaW50cyA9IGdldENyb3NzaW5nUG9pbnRzQmV0d2VlbkVsbGlwc2VBbmRTZWdtZW50KFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUueV0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodF0sXG4gICAgICAgICAgICBjZW50ZXJQb2ludFswXSxcbiAgICAgICAgICAgIGNlbnRlclBvaW50WzFdLFxuICAgICAgICAgICAgcngsXG4gICAgICAgICAgICByeVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3N0YXJ0UG9pbnRbMF19ICR7c3RhcnRQb2ludFsxXX1cbiAgICAgICAgQSR7cnh9LCR7cnl9IDAgMSwxICR7c3RhcnRQb2ludFswXX0gJHtzdGFydFBvaW50WzFdIC0gMC4wMX1cbiAgICAgICAgTSR7bGluZTFQb2ludHNbMF1bMF19ICR7bGluZTFQb2ludHNbMF1bMV19XG4gICAgICAgIEwke2xpbmUxUG9pbnRzWzFdWzBdfSAke2xpbmUxUG9pbnRzWzFdWzFdfVxuICAgICAgICBNJHtsaW5lMlBvaW50c1swXVswXX0gJHtsaW5lMlBvaW50c1swXVsxXX1cbiAgICAgICAgTCR7bGluZTJQb2ludHNbMV1bMF19ICR7bGluZTJQb2ludHNbMV1bMV19XG4gICAgICAgIGAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgfVxufSk7XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWluZy1qdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvZmxvd2NoYXJ0L3N1bW1pbmctanVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBbUIseUNBQXlDLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWdCLG1CQUFtQixDQUFDO0lBQ2xFLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RixNQUFNLFdBQVcsR0FBRyx5Q0FBeUMsQ0FDekQsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDMUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQy9ELFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsRUFBRSxFQUNGLEVBQUUsQ0FDTCxDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcseUNBQXlDLENBQ3pELENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDNUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUM3QyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ2QsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLEVBQUUsRUFDRixFQUFFLENBQ0wsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUM7V0FDbkMsRUFBRSxJQUFJLEVBQUUsVUFBVSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUk7V0FDdkQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7V0FDdEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7V0FDdEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7V0FDdEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEMsRUFDRyxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FDckMsQ0FBQztRQUVGLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXRDcm9zc2luZ1BvaW50c0JldHdlZW5FbGxpcHNlQW5kU2VnbWVudCwgc2V0U3Ryb2tlTGluZWNhcCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVFbGxpcHNlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL2VsbGlwc2UnO1xuXG5leHBvcnQgY29uc3QgU3VtbWluZ0p1bmN0aW9uRW5naW5lOiBTaGFwZUVuZ2luZSA9IGNyZWF0ZUVsbGlwc2VFbmdpbmUoe1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgIGNvbnN0IHJ4ID0gcmVjdGFuZ2xlLndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgcnkgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIGNvbnN0IGxpbmUxUG9pbnRzID0gZ2V0Q3Jvc3NpbmdQb2ludHNCZXR3ZWVuRWxsaXBzZUFuZFNlZ21lbnQoXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgICAgIGNlbnRlclBvaW50WzBdLFxuICAgICAgICAgICAgY2VudGVyUG9pbnRbMV0sXG4gICAgICAgICAgICByeCxcbiAgICAgICAgICAgIHJ5XG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGxpbmUyUG9pbnRzID0gZ2V0Q3Jvc3NpbmdQb2ludHNCZXR3ZWVuRWxsaXBzZUFuZFNlZ21lbnQoXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgICAgIGNlbnRlclBvaW50WzBdLFxuICAgICAgICAgICAgY2VudGVyUG9pbnRbMV0sXG4gICAgICAgICAgICByeCxcbiAgICAgICAgICAgIHJ5XG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3N0YXJ0UG9pbnRbMF19ICR7c3RhcnRQb2ludFsxXX1cbiAgICAgICAgQSR7cnh9LCR7cnl9IDAgMSwxICR7c3RhcnRQb2ludFswXX0gJHtzdGFydFBvaW50WzFdIC0gMC4wMX1cbiAgICAgICAgTSR7bGluZTFQb2ludHNbMF1bMF19ICR7bGluZTFQb2ludHNbMF1bMV19XG4gICAgICAgIEwke2xpbmUxUG9pbnRzWzFdWzBdfSAke2xpbmUxUG9pbnRzWzFdWzFdfVxuICAgICAgICBNJHtsaW5lMlBvaW50c1swXVswXX0gJHtsaW5lMlBvaW50c1swXVsxXX1cbiAgICAgICAgTCR7bGluZTJQb2ludHNbMV1bMF19ICR7bGluZTJQb2ludHNbMV1bMV19XG4gICAgICAgIGAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG5cbiAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9XG59KTtcbiJdfQ==
@@ -6,27 +6,34 @@ import { ShapeDefaultSpace } from '../../constants';
6
6
  import { getNearestPointBetweenPointAndRoundRectangle, getRoundRectangleRadius } from '../basic-shapes/round-rectangle';
7
7
  export const TableEngine = {
8
8
  draw(board, rectangle, roughOptions, options) {
9
- const rs = PlaitBoard.getRoughSVG(board);
10
9
  const g = createG();
11
- const { x, y, width, height } = rectangle;
12
- const tableTopBorder = drawLine(rs, [x, y], [x + width, y], roughOptions);
13
- const tableLeftBorder = drawLine(rs, [x, y], [x, y + height], roughOptions);
14
- g.append(tableTopBorder, tableLeftBorder);
15
- const pointCells = getCellsWithPoints(board, { ...options?.element });
16
- pointCells.forEach(cell => {
17
- const rectangle = RectangleClient.getRectangleByPoints(cell.points);
18
- const { x, y, width, height } = rectangle;
19
- const cellRectangle = drawRectangle(board, {
20
- x: x + ACTIVE_STROKE_WIDTH,
21
- y: y + ACTIVE_STROKE_WIDTH,
22
- width: width - ACTIVE_STROKE_WIDTH * 2,
23
- height: height - ACTIVE_STROKE_WIDTH * 2
24
- }, { fill: cell.fill, fillStyle: 'solid', strokeWidth: 0 });
25
- const cellRightBorder = drawLine(rs, [x + width, y], [x + width, y + height], roughOptions);
26
- const cellBottomBorder = drawLine(rs, [x, y + height], [x + width, y + height], roughOptions);
27
- g.append(cellRectangle, cellRightBorder, cellBottomBorder);
28
- });
29
- setStrokeLinecap(g, 'round');
10
+ try {
11
+ const pointCells = getCellsWithPoints(board, { ...options?.element });
12
+ if (pointCells) {
13
+ const rs = PlaitBoard.getRoughSVG(board);
14
+ const { x, y, width, height } = rectangle;
15
+ const tableTopBorder = drawLine(rs, [x, y], [x + width, y], roughOptions);
16
+ const tableLeftBorder = drawLine(rs, [x, y], [x, y + height], roughOptions);
17
+ g.append(tableTopBorder, tableLeftBorder);
18
+ pointCells.forEach(cell => {
19
+ const rectangle = RectangleClient.getRectangleByPoints(cell.points);
20
+ const { x, y, width, height } = rectangle;
21
+ const cellRectangle = drawRectangle(board, {
22
+ x: x + ACTIVE_STROKE_WIDTH,
23
+ y: y + ACTIVE_STROKE_WIDTH,
24
+ width: width - ACTIVE_STROKE_WIDTH * 2,
25
+ height: height - ACTIVE_STROKE_WIDTH * 2
26
+ }, { fill: cell.fill, fillStyle: 'solid', strokeWidth: 0 });
27
+ const cellRightBorder = drawLine(rs, [x + width, y], [x + width, y + height], roughOptions);
28
+ const cellBottomBorder = drawLine(rs, [x, y + height], [x + width, y + height], roughOptions);
29
+ g.append(cellRectangle, cellRightBorder, cellBottomBorder);
30
+ });
31
+ setStrokeLinecap(g, 'round');
32
+ }
33
+ }
34
+ catch (error) {
35
+ console.error(error);
36
+ }
30
37
  return g;
31
38
  },
32
39
  isInsidePoint(rectangle, point) {
@@ -43,13 +50,28 @@ export const TableEngine = {
43
50
  return RectangleClient.getEdgeCenterPoints(rectangle);
44
51
  },
45
52
  getTextRectangle(element, options) {
46
- const cell = getCellWithPoints(options?.board, element, options.key);
47
- if (PlaitTableElement.isVerticalText(cell)) {
48
- return getVerticalTextRectangle(cell);
53
+ try {
54
+ if (options && options.key) {
55
+ const cell = getCellWithPoints(options?.board, element, options.key);
56
+ if (cell) {
57
+ if (PlaitTableElement.isVerticalText(cell)) {
58
+ return getVerticalTextRectangle(cell);
59
+ }
60
+ else {
61
+ return getHorizontalTextRectangle(cell);
62
+ }
63
+ }
64
+ }
49
65
  }
50
- else {
51
- return getHorizontalTextRectangle(cell);
66
+ catch (error) {
67
+ console.error(error);
52
68
  }
69
+ return {
70
+ x: 0,
71
+ y: 0,
72
+ width: 0,
73
+ height: 0
74
+ };
53
75
  }
54
76
  };
55
77
  export function getVerticalTextRectangle(cell) {
@@ -76,4 +98,4 @@ export function getHorizontalTextRectangle(cell) {
76
98
  y: cellRectangle.y + (cellRectangle.height - height) / 2
77
99
  };
78
100
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFTLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFFLE9BQU8sRUFBK0QsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUF1RTtJQUMzRixJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLFlBQXFCLEVBQUUsT0FBK0I7UUFDdEcsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxF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QWEsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDN0YsT0FBTztRQUNILE1BQU07UUFDTixLQUFLLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixHQUFHLFdBQVc7UUFDckUsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7S0FDM0QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBSZWN0YW5nbGVDbGllbnQsIFBvaW50LCBjcmVhdGVHLCBkcmF3TGluZSwgc2V0U3Ryb2tlTGluZWNhcCwgZHJhd1JlY3RhbmdsZSwgQUNUSVZFX1NUUk9LRV9XSURUSCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldENlbGxzV2l0aFBvaW50cywgZ2V0Q2VsbFdpdGhQb2ludHMgfSBmcm9tICcuLi8uLi91dGlscy90YWJsZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGxhaXREcmF3U2hhcGVUZXh0IH0gZnJvbSAnLi4vLi4vZ2VuZXJhdG9ycy90ZXh0LmdlbmVyYXRvcic7XG5pbXBvcnQgeyBQbGFpdFRhYmxlLCBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMsIFBsYWl0VGFibGVEcmF3T3B0aW9ucywgUGxhaXRUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgU2hhcGVEZWZhdWx0U3BhY2UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUsIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JvdW5kLXJlY3RhbmdsZSc7XG5cbmV4cG9ydCBjb25zdCBUYWJsZUVuZ2luZTogU2hhcGVFbmdpbmU8UGxhaXRUYWJsZSwgUGxhaXRUYWJsZURyYXdPcHRpb25zLCBQbGFpdERyYXdTaGFwZVRleHQ+ID0ge1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCByb3VnaE9wdGlvbnM6IE9wdGlvbnMsIG9wdGlvbnM/OiBQbGFpdFRhYmxlRHJhd09wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSByZWN0YW5nbGU7XG4gICAgICAgIGNvbnN0IHRhYmxlVG9wQm9yZGVyID0gZHJhd0xpbmUocnMsIFt4LCB5XSwgW3ggKyB3aWR0aCwgeV0sIHJvdWdoT3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHRhYmxlTGVmdEJvcmRlciA9IGRyYXdMaW5lKHJzLCBbeCwgeV0sIFt4LCB5ICsgaGVpZ2h0XSwgcm91Z2hPcHRpb25zKTtcbiAgICAgICAgZy5hcHBlbmQodGFibGVUb3BCb3JkZXIsIHRhYmxlTGVmdEJvcmRlcik7XG4gICAgICAgIGNvbnN0IHBvaW50Q2VsbHMgPSBnZXRDZWxsc1dpdGhQb2ludHMoYm9hcmQsIHsgLi4ub3B0aW9ucz8uZWxlbWVudCB9IGFzIFBsYWl0VGFibGUpO1xuICAgICAgICBwb2ludENlbGxzLmZvckVhY2goY2VsbCA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoY2VsbC5wb2ludHMhKTtcbiAgICAgICAgICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdGFuZ2xlO1xuICAgICAgICAgICAgY29uc3QgY2VsbFJlY3RhbmdsZSA9IGRyYXdSZWN0YW5nbGUoXG4gICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB4OiB4ICsgQUNUSVZFX1NUUk9LRV9XSURUSCxcbiAgICAgICAgICAgICAgICAgICAgeTogeSArIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCAtIEFDVElWRV9TVFJPS0VfV0lEVEggKiAyLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGhlaWdodCAtIEFDVElWRV9TVFJPS0VfV0lEVEggKiAyXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGZpbGw6IGNlbGwuZmlsbCwgZmlsbFN0eWxlOiAnc29saWQnLCBzdHJva2VXaWR0aDogMCB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgY2VsbFJpZ2h0Qm9yZGVyID0gZHJhd0xpbmUocnMsIFt4ICsgd2lkdGgsIHldLCBbeCArIHdpZHRoLCB5ICsgaGVpZ2h0XSwgcm91Z2hPcHRpb25zKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbGxCb3R0b21Cb3JkZXIgPSBkcmF3TGluZShycywgW3gsIHkgKyBoZWlnaHRdLCBbeCArIHdpZHRoLCB5ICsgaGVpZ2h0XSwgcm91Z2hPcHRpb25zKTtcbiAgICAgICAgICAgIGcuYXBwZW5kKGNlbGxSZWN0YW5nbGUsIGNlbGxSaWdodEJvcmRlciwgY2VsbEJvdHRvbUJvcmRlcik7XG4gICAgICAgIH0pO1xuICAgICAgICBzZXRTdHJva2VMaW5lY2FwKGcsICdyb3VuZCcpO1xuICAgICAgICByZXR1cm4gZztcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmVjdGFuZ2xlLCByYW5nZVJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRUYWJsZSwgb3B0aW9ucz86IFBsYWl0RHJhd1NoYXBlVGV4dCkge1xuICAgICAgICBjb25zdCBjZWxsID0gZ2V0Q2VsbFdpdGhQb2ludHMob3B0aW9ucz8uYm9hcmQhLCBlbGVtZW50LCBvcHRpb25zIS5rZXkpO1xuICAgICAgICBpZiAoUGxhaXRUYWJsZUVsZW1lbnQuaXNWZXJ0aWNhbFRleHQoY2VsbCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRWZXJ0aWNhbFRleHRSZWN0YW5nbGUoY2VsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0SG9yaXpvbnRhbFRleHRSZWN0YW5nbGUoY2VsbCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVydGljYWxUZXh0UmVjdGFuZ2xlKGNlbGw6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50cykge1xuICAgIGNvbnN0IGNlbGxSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoY2VsbC5wb2ludHMpO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoY2VsbCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gY2VsbC50ZXh0SGVpZ2h0IHx8IDA7XG4gICAgY29uc3Qgd2lkdGggPSBjZWxsUmVjdGFuZ2xlLmhlaWdodCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiB3aWR0aCA+IDAgPyB3aWR0aCA6IDAsXG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgeDogY2VsbFJlY3RhbmdsZS54IC0gd2lkdGggLyAyICsgY2VsbFJlY3RhbmdsZS53aWR0aCAvIDIsXG4gICAgICAgIHk6IGNlbGxSZWN0YW5nbGUueSArIChjZWxsUmVjdGFuZ2xlLmhlaWdodCAtIGhlaWdodCkgLyAyXG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhvcml6b250YWxUZXh0UmVjdGFuZ2xlKGNlbGw6IFBsYWl0VGFibGVDZWxsV2l0aFBvaW50cykge1xuICAgIGNvbnN0IGNlbGxSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoY2VsbC5wb2ludHMpO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoY2VsbCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gY2VsbC50ZXh0SGVpZ2h0IHx8IDA7XG4gICAgY29uc3Qgd2lkdGggPSBjZWxsUmVjdGFuZ2xlLndpZHRoIC0gU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCAqIDIgLSBzdHJva2VXaWR0aCAqIDI7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICB3aWR0aDogd2lkdGggPiAwID8gd2lkdGggOiAwLFxuICAgICAgICB4OiBjZWxsUmVjdGFuZ2xlLnggKyBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICsgc3Ryb2tlV2lkdGgsXG4gICAgICAgIHk6IGNlbGxSZWN0YW5nbGUueSArIChjZWxsUmVjdGFuZ2xlLmhlaWdodCAtIGhlaWdodCkgLyAyXG4gICAgfTtcbn1cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL3RhYmxlL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFTLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFFLE9BQU8sRUFBK0QsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUF1RTtJQUMzRixJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLFlBQXFCLEVBQUUsT0FBK0I7UUFDdEcsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixDQUFDLENBQUM7WUFDcEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxDQUFDO2dCQUMxQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMs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LENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTTtRQUNOLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssR0FBRyxDQUFDO1FBQ3hELENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO0tBQzNELENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQThCO0lBQ3JFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDcEMsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUM3RixPQUFPO1FBQ0gsTUFBTTtRQUNOLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLEdBQUcsV0FBVztRQUNyRSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztLQUMzRCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFJlY3RhbmdsZUNsaWVudCwgUG9pbnQsIGNyZWF0ZUcsIGRyYXdMaW5lLCBzZXRTdHJva2VMaW5lY2FwLCBkcmF3UmVjdGFuZ2xlLCBBQ1RJVkVfU1RST0tFX1dJRFRIIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0Q2VsbHNXaXRoUG9pbnRzLCBnZXRDZWxsV2l0aFBvaW50cyB9IGZyb20gJy4uLy4uL3V0aWxzL3RhYmxlJztcbmltcG9ydCB7IFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQbGFpdERyYXdTaGFwZVRleHQgfSBmcm9tICcuLi8uLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFBsYWl0VGFibGUsIFBsYWl0VGFibGVDZWxsV2l0aFBvaW50cywgUGxhaXRUYWJsZURyYXdPcHRpb25zLCBQbGFpdFRhYmxlRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFibGUnO1xuaW1wb3J0IHsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBTaGFwZURlZmF1bHRTcGFjZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZSwgZ2V0Um91bmRSZWN0YW5nbGVSYWRpdXMgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvcm91bmQtcmVjdGFuZ2xlJztcblxuZXhwb3J0IGNvbnN0IFRhYmxlRW5naW5lOiBTaGFwZUVuZ2luZTxQbGFpdFRhYmxlLCBQbGFpdFRhYmxlRHJhd09wdGlvbnMsIFBsYWl0RHJhd1NoYXBlVGV4dD4gPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHJvdWdoT3B0aW9uczogT3B0aW9ucywgb3B0aW9ucz86IFBsYWl0VGFibGVEcmF3T3B0aW9ucykge1xuICAgICAgICBjb25zdCBnID0gY3JlYXRlRygpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcG9pbnRDZWxscyA9IGdldENlbGxzV2l0aFBvaW50cyhib2FyZCwgeyAuLi5vcHRpb25zPy5lbGVtZW50IH0gYXMgUGxhaXRUYWJsZSk7XG4gICAgICAgICAgICBpZiAocG9pbnRDZWxscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSByZWN0YW5nbGU7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGVUb3BCb3JkZXIgPSBkcmF3TGluZShycywgW3gsIHldLCBbeCArIHdpZHRoLCB5XSwgcm91Z2hPcHRpb25zKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJsZUxlZnRCb3JkZXIgPSBkcmF3TGluZShycywgW3gsIHldLCBbeCwgeSArIGhlaWdodF0sIHJvdWdoT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgZy5hcHBlbmQodGFibGVUb3BCb3JkZXIsIHRhYmxlTGVmdEJvcmRlcik7XG4gICAgICAgICAgICAgICAgcG9pbnRDZWxscy5mb3JFYWNoKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoY2VsbC5wb2ludHMhKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSByZWN0YW5nbGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGxSZWN0YW5nbGUgPSBkcmF3UmVjdGFuZ2xlKFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9hcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogeCArIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeTogeSArIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoIC0gQUNUSVZFX1NUUk9LRV9XSURUSCAqIDIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgLSBBQ1RJVkVfU1RST0tFX1dJRFRIICogMlxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgZmlsbDogY2VsbC5maWxsLCBmaWxsU3R5bGU6ICdzb2xpZCcsIHN0cm9rZVdpZHRoOiAwIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbFJpZ2h0Qm9yZGVyID0gZHJhd0xpbmUocnMsIFt4ICsgd2lkdGgsIHldLCBbeCArIHdpZHRoLCB5ICsgaGVpZ2h0XSwgcm91Z2hPcHRpb25zKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbEJvdHRvbUJvcmRlciA9IGRyYXdMaW5lKHJzLCBbeCwgeSArIGhlaWdodF0sIFt4ICsgd2lkdGgsIHkgKyBoZWlnaHRdLCByb3VnaE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICBnLmFwcGVuZChjZWxsUmVjdGFuZ2xlLCBjZWxsUmlnaHRCb3JkZXIsIGNlbGxCb3R0b21Cb3JkZXIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHNldFN0cm9rZUxpbmVjYXAoZywgJ3JvdW5kJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZztcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmVjdGFuZ2xlLCByYW5nZVJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRUYWJsZSwgb3B0aW9ucz86IFBsYWl0RHJhd1NoYXBlVGV4dCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5rZXkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsID0gZ2V0Q2VsbFdpdGhQb2ludHMob3B0aW9ucz8uYm9hcmQhLCBlbGVtZW50LCBvcHRpb25zIS5rZXkpO1xuICAgICAgICAgICAgICAgIGlmIChjZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChQbGFpdFRhYmxlRWxlbWVudC5pc1ZlcnRpY2FsVGV4dChjZWxsKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldFZlcnRpY2FsVGV4dFJlY3RhbmdsZShjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRIb3Jpem9udGFsVGV4dFJlY3RhbmdsZShjZWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiAwLFxuICAgICAgICAgICAgeTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgaGVpZ2h0OiAwXG4gICAgICAgIH07XG4gICAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnRpY2FsVGV4dFJlY3RhbmdsZShjZWxsOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMpIHtcbiAgICBjb25zdCBjZWxsUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGNlbGwucG9pbnRzKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGNlbGwpO1xuICAgIGNvbnN0IGhlaWdodCA9IGNlbGwudGV4dEhlaWdodCB8fCAwO1xuICAgIGNvbnN0IHdpZHRoID0gY2VsbFJlY3RhbmdsZS5oZWlnaHQgLSBTaGFwZURlZmF1bHRTcGFjZS5yZWN0YW5nbGVBbmRUZXh0ICogMiAtIHN0cm9rZVdpZHRoICogMjtcbiAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogd2lkdGggPiAwID8gd2lkdGggOiAwLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHg6IGNlbGxSZWN0YW5nbGUueCAtIHdpZHRoIC8gMiArIGNlbGxSZWN0YW5nbGUud2lkdGggLyAyLFxuICAgICAgICB5OiBjZWxsUmVjdGFuZ2xlLnkgKyAoY2VsbFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3Jpem9udGFsVGV4dFJlY3RhbmdsZShjZWxsOiBQbGFpdFRhYmxlQ2VsbFdpdGhQb2ludHMpIHtcbiAgICBjb25zdCBjZWxsUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGNlbGwucG9pbnRzKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGNlbGwpO1xuICAgIGNvbnN0IGhlaWdodCA9IGNlbGwudGV4dEhlaWdodCB8fCAwO1xuICAgIGNvbnN0IHdpZHRoID0gY2VsbFJlY3RhbmdsZS53aWR0aCAtIFNoYXBlRGVmYXVsdFNwYWNlLnJlY3RhbmdsZUFuZFRleHQgKiAyIC0gc3Ryb2tlV2lkdGggKiAyO1xuICAgIHJldHVybiB7XG4gICAgICAgIGhlaWdodCxcbiAgICAgICAgd2lkdGg6IHdpZHRoID4gMCA/IHdpZHRoIDogMCxcbiAgICAgICAgeDogY2VsbFJlY3RhbmdsZS54ICsgU2hhcGVEZWZhdWx0U3BhY2UucmVjdGFuZ2xlQW5kVGV4dCArIHN0cm9rZVdpZHRoLFxuICAgICAgICB5OiBjZWxsUmVjdGFuZ2xlLnkgKyAoY2VsbFJlY3RhbmdsZS5oZWlnaHQgLSBoZWlnaHQpIC8gMlxuICAgIH07XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments } from '@plait/core';
1
+ import { PlaitBoard, RectangleClient, getNearestPointBetweenPointAndSegments, setStrokeLinecap } from '@plait/core';
2
2
  import { getPolygonEdgeByConnectionPoint } from '../../utils/polygon';
3
3
  import { RectangleEngine } from '../basic-shapes/rectangle';
4
4
  export const DeletionEngine = {
@@ -7,6 +7,7 @@ export const DeletionEngine = {
7
7
  const shape = rs.path(`M${rectangle.x} ${rectangle.y} L${rectangle.x + rectangle.width} ${rectangle.y + rectangle.height}
8
8
  M${rectangle.x + rectangle.width} ${rectangle.y} L${rectangle.x} ${rectangle.y + rectangle.height}
9
9
  `, { ...options, fillStyle: 'solid', strokeWidth: 4 });
10
+ setStrokeLinecap(shape, 'round');
10
11
  return shape;
11
12
  },
12
13
  isInsidePoint(rectangle, point) {
@@ -28,4 +29,4 @@ export const DeletionEngine = {
28
29
  return RectangleClient.getEdgeCenterPoints(rectangle);
29
30
  }
30
31
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL3VtbC9kZWxldGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEyQixlQUFlLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHM0gsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZ0I7SUFDdkMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ2pCLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNO2VBQy9GLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTTthQUNoRyxFQUNELEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQ3JELENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsYUFBYSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNsRCxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEI7UUFDdEMsT0FBTyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ3BELE9BQU8sc0NBQXNDLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsU0FBMEIsRUFBRSxnQkFBa0M7UUFDbkYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDOUUsT0FBTywrQkFBK0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGtCQUFrQixDQUFDLFNBQTBCO1FBQ3pDLE9BQU8sZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFBvaW50T2ZSZWN0YW5nbGUsIFJlY3RhbmdsZUNsaWVudCwgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JlY3RhbmdsZSc7XG5cbmV4cG9ydCBjb25zdCBEZWxldGlvbkVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55fSBMJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9IFxuICAgICAgICAgICAgTSR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnl9IEwke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH0gXG4gICAgICAgICAgICBgLFxuICAgICAgICAgICAgeyAuLi5vcHRpb25zLCBmaWxsU3R5bGU6ICdzb2xpZCcsIHN0cm9rZVdpZHRoOiA0IH1cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHNoYXBlO1xuICAgIH0sXG4gICAgaXNJbnNpZGVQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IHJhbmdlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtwb2ludCwgcG9pbnRdKTtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5pc0hpdChyZWN0YW5nbGUsIHJhbmdlUmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0TmVhcmVzdFBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgY29uc3QgY29ybmVycyA9IFJlY3RhbmdsZUVuZ2luZS5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIHJldHVybiBnZXRQb2x5Z29uRWRnZUJ5Q29ubmVjdGlvblBvaW50KGNvcm5lcnMsIHBvaW50KTtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9XG59O1xuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL3VtbC9kZWxldGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFDZixzQ0FBc0MsRUFDdEMsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWdCO0lBQ3ZDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTTtlQUMvRixTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU07YUFDaEcsRUFDRCxFQUFFLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUNyRCxDQUFDO1FBQ0YsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ2xELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUEwQjtRQUN0QyxPQUFPLGVBQWUsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUEwQixFQUFFLEtBQVk7UUFDcEQsT0FBTyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztRQUNuRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RSxPQUFPLCtCQUErQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUG9pbnRPZlJlY3RhbmdsZSxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgc2V0U3Ryb2tlTGluZWNhcFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JlY3RhbmdsZSc7XG5cbmV4cG9ydCBjb25zdCBEZWxldGlvbkVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgcnMgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBycy5wYXRoKFxuICAgICAgICAgICAgYE0ke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55fSBMJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9IFxuICAgICAgICAgICAgTSR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnl9IEwke3JlY3RhbmdsZS54fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH0gXG4gICAgICAgICAgICBgLFxuICAgICAgICAgICAgeyAuLi5vcHRpb25zLCBmaWxsU3R5bGU6ICdzb2xpZCcsIHN0cm9rZVdpZHRoOiA0IH1cbiAgICAgICAgKTtcbiAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCByYW5nZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQocmVjdGFuZ2xlLCByYW5nZVJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgUmVjdGFuZ2xlRW5naW5lLmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICByZXR1cm4gZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludChjb3JuZXJzLCBwb2ludCk7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfVxufTtcbiJdfQ==