likec4 1.46.3 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/src/ProjectsOverview.js +16 -0
- package/__app__/src/likec4.js +1301 -502
- package/__app__/src/main.js +249 -219
- package/__app__/src/style.css +1 -1
- package/__app__/src/vendors.js +2690 -2349
- package/__app__/src/webcomponent.js +1 -1
- package/config/schema.json +3 -1
- package/dist/cli/index.mjs +339 -339
- package/dist/config/index.d.mts +1 -1
- package/dist/config/index.mjs +1 -1
- package/dist/index.d.mts +14 -4
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +1 -0
- package/dist/shared/likec4.CDVXAxDx.mjs +3573 -0
- package/dist/shared/likec4.CRP-WAuw.mjs +330 -0
- package/dist/shared/likec4.CXTvqtC-.mjs +207 -0
- package/dist/shared/{likec4.6kvTI22o.d.mts → likec4.DqDU0qex.d.mts} +648 -57
- package/dist/shared/{likec4.iyEJ8QdJ.d.mts → likec4.iedqayBZ.d.mts} +6974 -11681
- package/dist/vite-plugin/index.d.mts +4 -3
- package/dist/vite-plugin/index.mjs +1 -1
- package/icons/all.d.ts +5218 -3138
- package/icons/all.js +7263 -3141
- package/icons/bootstrap/0-circle-fill.js +1 -0
- package/icons/bootstrap/0-circle.js +1 -0
- package/icons/bootstrap/0-square-fill.js +1 -0
- package/icons/bootstrap/0-square.js +1 -0
- package/icons/bootstrap/1-circle-fill.js +1 -0
- package/icons/bootstrap/1-circle.js +1 -0
- package/icons/bootstrap/1-square-fill.js +1 -0
- package/icons/bootstrap/1-square.js +1 -0
- package/icons/bootstrap/123.js +1 -0
- package/icons/bootstrap/2-circle-fill.js +1 -0
- package/icons/bootstrap/2-circle.js +1 -0
- package/icons/bootstrap/2-square-fill.js +1 -0
- package/icons/bootstrap/2-square.js +1 -0
- package/icons/bootstrap/3-circle-fill.js +1 -0
- package/icons/bootstrap/3-circle.js +1 -0
- package/icons/bootstrap/3-square-fill.js +1 -0
- package/icons/bootstrap/3-square.js +1 -0
- package/icons/bootstrap/4-circle-fill.js +1 -0
- package/icons/bootstrap/4-circle.js +1 -0
- package/icons/bootstrap/4-square-fill.js +1 -0
- package/icons/bootstrap/4-square.js +1 -0
- package/icons/bootstrap/5-circle-fill.js +1 -0
- package/icons/bootstrap/5-circle.js +1 -0
- package/icons/bootstrap/5-square-fill.js +1 -0
- package/icons/bootstrap/5-square.js +1 -0
- package/icons/bootstrap/6-circle-fill.js +1 -0
- package/icons/bootstrap/6-circle.js +1 -0
- package/icons/bootstrap/6-square-fill.js +1 -0
- package/icons/bootstrap/6-square.js +1 -0
- package/icons/bootstrap/7-circle-fill.js +1 -0
- package/icons/bootstrap/7-circle.js +1 -0
- package/icons/bootstrap/7-square-fill.js +1 -0
- package/icons/bootstrap/7-square.js +1 -0
- package/icons/bootstrap/8-circle-fill.js +1 -0
- package/icons/bootstrap/8-circle.js +1 -0
- package/icons/bootstrap/8-square-fill.js +1 -0
- package/icons/bootstrap/8-square.js +1 -0
- package/icons/bootstrap/9-circle-fill.js +1 -0
- package/icons/bootstrap/9-circle.js +1 -0
- package/icons/bootstrap/9-square-fill.js +1 -0
- package/icons/bootstrap/9-square.js +1 -0
- package/icons/bootstrap/activity.js +1 -0
- package/icons/bootstrap/airplane-engines-fill.js +1 -0
- package/icons/bootstrap/airplane-engines.js +1 -0
- package/icons/bootstrap/airplane-fill.js +1 -0
- package/icons/bootstrap/airplane.js +1 -0
- package/icons/bootstrap/alarm-fill.js +1 -0
- package/icons/bootstrap/alarm.js +1 -0
- package/icons/bootstrap/alexa.js +1 -0
- package/icons/bootstrap/align-bottom.js +1 -0
- package/icons/bootstrap/align-center.js +1 -0
- package/icons/bootstrap/align-end.js +1 -0
- package/icons/bootstrap/align-middle.js +1 -0
- package/icons/bootstrap/align-start.js +1 -0
- package/icons/bootstrap/align-top.js +1 -0
- package/icons/bootstrap/alipay.js +1 -0
- package/icons/bootstrap/alphabet-uppercase.js +1 -0
- package/icons/bootstrap/alphabet.js +1 -0
- package/icons/bootstrap/alt.js +1 -0
- package/icons/bootstrap/amazon.js +1 -0
- package/icons/bootstrap/amd.js +1 -0
- package/icons/bootstrap/android.js +1 -0
- package/icons/bootstrap/android2.js +1 -0
- package/icons/bootstrap/app-indicator.js +1 -0
- package/icons/bootstrap/app.js +1 -0
- package/icons/bootstrap/apple.js +1 -0
- package/icons/bootstrap/archive-fill.js +1 -0
- package/icons/bootstrap/archive.js +1 -0
- package/icons/bootstrap/arrow-90deg-down.js +1 -0
- package/icons/bootstrap/arrow-90deg-left.js +1 -0
- package/icons/bootstrap/arrow-90deg-right.js +1 -0
- package/icons/bootstrap/arrow-90deg-up.js +1 -0
- package/icons/bootstrap/arrow-bar-down.js +1 -0
- package/icons/bootstrap/arrow-bar-left.js +1 -0
- package/icons/bootstrap/arrow-bar-right.js +1 -0
- package/icons/bootstrap/arrow-bar-up.js +1 -0
- package/icons/bootstrap/arrow-clockwise.js +1 -0
- package/icons/bootstrap/arrow-counterclockwise.js +1 -0
- package/icons/bootstrap/arrow-down-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-down-circle.js +1 -0
- package/icons/bootstrap/arrow-down-left-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-down-left-circle.js +1 -0
- package/icons/bootstrap/arrow-down-left-square-fill.js +1 -0
- package/icons/bootstrap/arrow-down-left-square.js +1 -0
- package/icons/bootstrap/arrow-down-left.js +1 -0
- package/icons/bootstrap/arrow-down-right-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-down-right-circle.js +1 -0
- package/icons/bootstrap/arrow-down-right-square-fill.js +1 -0
- package/icons/bootstrap/arrow-down-right-square.js +1 -0
- package/icons/bootstrap/arrow-down-right.js +1 -0
- package/icons/bootstrap/arrow-down-short.js +1 -0
- package/icons/bootstrap/arrow-down-square-fill.js +1 -0
- package/icons/bootstrap/arrow-down-square.js +1 -0
- package/icons/bootstrap/arrow-down-up.js +1 -0
- package/icons/bootstrap/arrow-down.js +1 -0
- package/icons/bootstrap/arrow-left-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-left-circle.js +1 -0
- package/icons/bootstrap/arrow-left-right.js +1 -0
- package/icons/bootstrap/arrow-left-short.js +1 -0
- package/icons/bootstrap/arrow-left-square-fill.js +1 -0
- package/icons/bootstrap/arrow-left-square.js +1 -0
- package/icons/bootstrap/arrow-left.js +1 -0
- package/icons/bootstrap/arrow-repeat.js +1 -0
- package/icons/bootstrap/arrow-return-left.js +1 -0
- package/icons/bootstrap/arrow-return-right.js +1 -0
- package/icons/bootstrap/arrow-right-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-right-circle.js +1 -0
- package/icons/bootstrap/arrow-right-short.js +1 -0
- package/icons/bootstrap/arrow-right-square-fill.js +1 -0
- package/icons/bootstrap/arrow-right-square.js +1 -0
- package/icons/bootstrap/arrow-right.js +1 -0
- package/icons/bootstrap/arrow-through-heart-fill.js +1 -0
- package/icons/bootstrap/arrow-through-heart.js +1 -0
- package/icons/bootstrap/arrow-up-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-up-circle.js +1 -0
- package/icons/bootstrap/arrow-up-left-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-up-left-circle.js +1 -0
- package/icons/bootstrap/arrow-up-left-square-fill.js +1 -0
- package/icons/bootstrap/arrow-up-left-square.js +1 -0
- package/icons/bootstrap/arrow-up-left.js +1 -0
- package/icons/bootstrap/arrow-up-right-circle-fill.js +1 -0
- package/icons/bootstrap/arrow-up-right-circle.js +1 -0
- package/icons/bootstrap/arrow-up-right-square-fill.js +1 -0
- package/icons/bootstrap/arrow-up-right-square.js +1 -0
- package/icons/bootstrap/arrow-up-right.js +1 -0
- package/icons/bootstrap/arrow-up-short.js +1 -0
- package/icons/bootstrap/arrow-up-square-fill.js +1 -0
- package/icons/bootstrap/arrow-up-square.js +1 -0
- package/icons/bootstrap/arrow-up.js +1 -0
- package/icons/bootstrap/arrows-angle-contract.js +1 -0
- package/icons/bootstrap/arrows-angle-expand.js +1 -0
- package/icons/bootstrap/arrows-collapse-vertical.js +1 -0
- package/icons/bootstrap/arrows-collapse.js +1 -0
- package/icons/bootstrap/arrows-expand-vertical.js +1 -0
- package/icons/bootstrap/arrows-expand.js +1 -0
- package/icons/bootstrap/arrows-fullscreen.js +1 -0
- package/icons/bootstrap/arrows-move.js +1 -0
- package/icons/bootstrap/arrows-vertical.js +1 -0
- package/icons/bootstrap/arrows.js +1 -0
- package/icons/bootstrap/aspect-ratio-fill.js +1 -0
- package/icons/bootstrap/aspect-ratio.js +1 -0
- package/icons/bootstrap/asterisk.js +1 -0
- package/icons/bootstrap/at.js +1 -0
- package/icons/bootstrap/award-fill.js +1 -0
- package/icons/bootstrap/award.js +1 -0
- package/icons/bootstrap/back.js +1 -0
- package/icons/bootstrap/backpack-fill.js +1 -0
- package/icons/bootstrap/backpack.js +1 -0
- package/icons/bootstrap/backpack2-fill.js +1 -0
- package/icons/bootstrap/backpack2.js +1 -0
- package/icons/bootstrap/backpack3-fill.js +1 -0
- package/icons/bootstrap/backpack3.js +1 -0
- package/icons/bootstrap/backpack4-fill.js +1 -0
- package/icons/bootstrap/backpack4.js +1 -0
- package/icons/bootstrap/backspace-fill.js +1 -0
- package/icons/bootstrap/backspace-reverse-fill.js +1 -0
- package/icons/bootstrap/backspace-reverse.js +1 -0
- package/icons/bootstrap/backspace.js +1 -0
- package/icons/bootstrap/badge-3d-fill.js +1 -0
- package/icons/bootstrap/badge-3d.js +1 -0
- package/icons/bootstrap/badge-4k-fill.js +1 -0
- package/icons/bootstrap/badge-4k.js +1 -0
- package/icons/bootstrap/badge-8k-fill.js +1 -0
- package/icons/bootstrap/badge-8k.js +1 -0
- package/icons/bootstrap/badge-ad-fill.js +1 -0
- package/icons/bootstrap/badge-ad.js +1 -0
- package/icons/bootstrap/badge-ar-fill.js +1 -0
- package/icons/bootstrap/badge-ar.js +1 -0
- package/icons/bootstrap/badge-cc-fill.js +1 -0
- package/icons/bootstrap/badge-cc.js +1 -0
- package/icons/bootstrap/badge-hd-fill.js +1 -0
- package/icons/bootstrap/badge-hd.js +1 -0
- package/icons/bootstrap/badge-sd-fill.js +1 -0
- package/icons/bootstrap/badge-sd.js +1 -0
- package/icons/bootstrap/badge-tm-fill.js +1 -0
- package/icons/bootstrap/badge-tm.js +1 -0
- package/icons/bootstrap/badge-vo-fill.js +1 -0
- package/icons/bootstrap/badge-vo.js +1 -0
- package/icons/bootstrap/badge-vr-fill.js +1 -0
- package/icons/bootstrap/badge-vr.js +1 -0
- package/icons/bootstrap/badge-wc-fill.js +1 -0
- package/icons/bootstrap/badge-wc.js +1 -0
- package/icons/bootstrap/bag-check-fill.js +1 -0
- package/icons/bootstrap/bag-check.js +1 -0
- package/icons/bootstrap/bag-dash-fill.js +1 -0
- package/icons/bootstrap/bag-dash.js +1 -0
- package/icons/bootstrap/bag-fill.js +1 -0
- package/icons/bootstrap/bag-heart-fill.js +1 -0
- package/icons/bootstrap/bag-heart.js +1 -0
- package/icons/bootstrap/bag-plus-fill.js +1 -0
- package/icons/bootstrap/bag-plus.js +1 -0
- package/icons/bootstrap/bag-x-fill.js +1 -0
- package/icons/bootstrap/bag-x.js +1 -0
- package/icons/bootstrap/bag.js +1 -0
- package/icons/bootstrap/balloon-fill.js +1 -0
- package/icons/bootstrap/balloon-heart-fill.js +1 -0
- package/icons/bootstrap/balloon-heart.js +1 -0
- package/icons/bootstrap/balloon.js +1 -0
- package/icons/bootstrap/ban-fill.js +1 -0
- package/icons/bootstrap/ban.js +1 -0
- package/icons/bootstrap/bandaid-fill.js +1 -0
- package/icons/bootstrap/bandaid.js +1 -0
- package/icons/bootstrap/bank.js +1 -0
- package/icons/bootstrap/bank2.js +1 -0
- package/icons/bootstrap/bar-chart-fill.js +1 -0
- package/icons/bootstrap/bar-chart-line-fill.js +1 -0
- package/icons/bootstrap/bar-chart-line.js +1 -0
- package/icons/bootstrap/bar-chart-steps.js +1 -0
- package/icons/bootstrap/bar-chart.js +1 -0
- package/icons/bootstrap/basket-fill.js +1 -0
- package/icons/bootstrap/basket.js +1 -0
- package/icons/bootstrap/basket2-fill.js +1 -0
- package/icons/bootstrap/basket2.js +1 -0
- package/icons/bootstrap/basket3-fill.js +1 -0
- package/icons/bootstrap/basket3.js +1 -0
- package/icons/bootstrap/battery-charging.js +1 -0
- package/icons/bootstrap/battery-full.js +1 -0
- package/icons/bootstrap/battery-half.js +1 -0
- package/icons/bootstrap/battery.js +1 -0
- package/icons/bootstrap/behance.js +1 -0
- package/icons/bootstrap/bell-fill.js +1 -0
- package/icons/bootstrap/bell-slash-fill.js +1 -0
- package/icons/bootstrap/bell-slash.js +1 -0
- package/icons/bootstrap/bell.js +1 -0
- package/icons/bootstrap/bezier.js +1 -0
- package/icons/bootstrap/bezier2.js +1 -0
- package/icons/bootstrap/bicycle.js +1 -0
- package/icons/bootstrap/bing.js +1 -0
- package/icons/bootstrap/binoculars-fill.js +1 -0
- package/icons/bootstrap/binoculars.js +1 -0
- package/icons/bootstrap/blockquote-left.js +1 -0
- package/icons/bootstrap/blockquote-right.js +1 -0
- package/icons/bootstrap/bluetooth.js +1 -0
- package/icons/bootstrap/body-text.js +1 -0
- package/icons/bootstrap/book-fill.js +1 -0
- package/icons/bootstrap/book-half.js +1 -0
- package/icons/bootstrap/book.js +1 -0
- package/icons/bootstrap/bookmark-check-fill.js +1 -0
- package/icons/bootstrap/bookmark-check.js +1 -0
- package/icons/bootstrap/bookmark-dash-fill.js +1 -0
- package/icons/bootstrap/bookmark-dash.js +1 -0
- package/icons/bootstrap/bookmark-fill.js +1 -0
- package/icons/bootstrap/bookmark-heart-fill.js +1 -0
- package/icons/bootstrap/bookmark-heart.js +1 -0
- package/icons/bootstrap/bookmark-plus-fill.js +1 -0
- package/icons/bootstrap/bookmark-plus.js +1 -0
- package/icons/bootstrap/bookmark-star-fill.js +1 -0
- package/icons/bootstrap/bookmark-star.js +1 -0
- package/icons/bootstrap/bookmark-x-fill.js +1 -0
- package/icons/bootstrap/bookmark-x.js +1 -0
- package/icons/bootstrap/bookmark.js +1 -0
- package/icons/bootstrap/bookmarks-fill.js +1 -0
- package/icons/bootstrap/bookmarks.js +1 -0
- package/icons/bootstrap/bookshelf.js +1 -0
- package/icons/bootstrap/boombox-fill.js +1 -0
- package/icons/bootstrap/boombox.js +1 -0
- package/icons/bootstrap/bootstrap-fill.js +1 -0
- package/icons/bootstrap/bootstrap-icons.js +1 -0
- package/icons/bootstrap/bootstrap-reboot.js +1 -0
- package/icons/bootstrap/bootstrap.js +1 -0
- package/icons/bootstrap/border-all.js +1 -0
- package/icons/bootstrap/border-bottom.js +1 -0
- package/icons/bootstrap/border-center.js +1 -0
- package/icons/bootstrap/border-inner.js +1 -0
- package/icons/bootstrap/border-left.js +1 -0
- package/icons/bootstrap/border-middle.js +1 -0
- package/icons/bootstrap/border-outer.js +1 -0
- package/icons/bootstrap/border-right.js +1 -0
- package/icons/bootstrap/border-style.js +1 -0
- package/icons/bootstrap/border-top.js +1 -0
- package/icons/bootstrap/border-width.js +1 -0
- package/icons/bootstrap/border.js +1 -0
- package/icons/bootstrap/bounding-box-circles.js +1 -0
- package/icons/bootstrap/bounding-box.js +1 -0
- package/icons/bootstrap/box-arrow-down-left.js +1 -0
- package/icons/bootstrap/box-arrow-down-right.js +1 -0
- package/icons/bootstrap/box-arrow-down.js +1 -0
- package/icons/bootstrap/box-arrow-in-down-left.js +1 -0
- package/icons/bootstrap/box-arrow-in-down-right.js +1 -0
- package/icons/bootstrap/box-arrow-in-down.js +1 -0
- package/icons/bootstrap/box-arrow-in-left.js +1 -0
- package/icons/bootstrap/box-arrow-in-right.js +1 -0
- package/icons/bootstrap/box-arrow-in-up-left.js +1 -0
- package/icons/bootstrap/box-arrow-in-up-right.js +1 -0
- package/icons/bootstrap/box-arrow-in-up.js +1 -0
- package/icons/bootstrap/box-arrow-left.js +1 -0
- package/icons/bootstrap/box-arrow-right.js +1 -0
- package/icons/bootstrap/box-arrow-up-left.js +1 -0
- package/icons/bootstrap/box-arrow-up-right.js +1 -0
- package/icons/bootstrap/box-arrow-up.js +1 -0
- package/icons/bootstrap/box-fill.js +1 -0
- package/icons/bootstrap/box-seam-fill.js +1 -0
- package/icons/bootstrap/box-seam.js +1 -0
- package/icons/bootstrap/box.js +1 -0
- package/icons/bootstrap/box2-fill.js +1 -0
- package/icons/bootstrap/box2-heart-fill.js +1 -0
- package/icons/bootstrap/box2-heart.js +1 -0
- package/icons/bootstrap/box2.js +1 -0
- package/icons/bootstrap/boxes.js +1 -0
- package/icons/bootstrap/braces-asterisk.js +1 -0
- package/icons/bootstrap/braces.js +1 -0
- package/icons/bootstrap/bricks.js +1 -0
- package/icons/bootstrap/briefcase-fill.js +1 -0
- package/icons/bootstrap/briefcase.js +1 -0
- package/icons/bootstrap/brightness-alt-high-fill.js +1 -0
- package/icons/bootstrap/brightness-alt-high.js +1 -0
- package/icons/bootstrap/brightness-alt-low-fill.js +1 -0
- package/icons/bootstrap/brightness-alt-low.js +1 -0
- package/icons/bootstrap/brightness-high-fill.js +1 -0
- package/icons/bootstrap/brightness-high.js +1 -0
- package/icons/bootstrap/brightness-low-fill.js +1 -0
- package/icons/bootstrap/brightness-low.js +1 -0
- package/icons/bootstrap/brilliance.js +1 -0
- package/icons/bootstrap/broadcast-pin.js +1 -0
- package/icons/bootstrap/broadcast.js +1 -0
- package/icons/bootstrap/browser-chrome.js +1 -0
- package/icons/bootstrap/browser-edge.js +1 -0
- package/icons/bootstrap/browser-firefox.js +1 -0
- package/icons/bootstrap/browser-safari.js +1 -0
- package/icons/bootstrap/brush-fill.js +1 -0
- package/icons/bootstrap/brush.js +1 -0
- package/icons/bootstrap/bucket-fill.js +1 -0
- package/icons/bootstrap/bucket.js +1 -0
- package/icons/bootstrap/bug-fill.js +1 -0
- package/icons/bootstrap/bug.js +1 -0
- package/icons/bootstrap/building-add.js +1 -0
- package/icons/bootstrap/building-check.js +1 -0
- package/icons/bootstrap/building-dash.js +1 -0
- package/icons/bootstrap/building-down.js +1 -0
- package/icons/bootstrap/building-exclamation.js +1 -0
- package/icons/bootstrap/building-fill-add.js +1 -0
- package/icons/bootstrap/building-fill-check.js +1 -0
- package/icons/bootstrap/building-fill-dash.js +1 -0
- package/icons/bootstrap/building-fill-down.js +1 -0
- package/icons/bootstrap/building-fill-exclamation.js +1 -0
- package/icons/bootstrap/building-fill-gear.js +1 -0
- package/icons/bootstrap/building-fill-lock.js +1 -0
- package/icons/bootstrap/building-fill-slash.js +1 -0
- package/icons/bootstrap/building-fill-up.js +1 -0
- package/icons/bootstrap/building-fill-x.js +1 -0
- package/icons/bootstrap/building-fill.js +1 -0
- package/icons/bootstrap/building-gear.js +1 -0
- package/icons/bootstrap/building-lock.js +1 -0
- package/icons/bootstrap/building-slash.js +1 -0
- package/icons/bootstrap/building-up.js +1 -0
- package/icons/bootstrap/building-x.js +1 -0
- package/icons/bootstrap/building.js +1 -0
- package/icons/bootstrap/buildings-fill.js +1 -0
- package/icons/bootstrap/buildings.js +1 -0
- package/icons/bootstrap/bullseye.js +1 -0
- package/icons/bootstrap/bus-front-fill.js +1 -0
- package/icons/bootstrap/bus-front.js +1 -0
- package/icons/bootstrap/c-circle-fill.js +1 -0
- package/icons/bootstrap/c-circle.js +1 -0
- package/icons/bootstrap/c-square-fill.js +1 -0
- package/icons/bootstrap/c-square.js +1 -0
- package/icons/bootstrap/cake-fill.js +1 -0
- package/icons/bootstrap/cake.js +1 -0
- package/icons/bootstrap/cake2-fill.js +1 -0
- package/icons/bootstrap/cake2.js +1 -0
- package/icons/bootstrap/calculator-fill.js +1 -0
- package/icons/bootstrap/calculator.js +1 -0
- package/icons/bootstrap/calendar-check-fill.js +1 -0
- package/icons/bootstrap/calendar-check.js +1 -0
- package/icons/bootstrap/calendar-date-fill.js +1 -0
- package/icons/bootstrap/calendar-date.js +1 -0
- package/icons/bootstrap/calendar-day-fill.js +1 -0
- package/icons/bootstrap/calendar-day.js +1 -0
- package/icons/bootstrap/calendar-event-fill.js +1 -0
- package/icons/bootstrap/calendar-event.js +1 -0
- package/icons/bootstrap/calendar-fill.js +1 -0
- package/icons/bootstrap/calendar-heart-fill.js +1 -0
- package/icons/bootstrap/calendar-heart.js +1 -0
- package/icons/bootstrap/calendar-minus-fill.js +1 -0
- package/icons/bootstrap/calendar-minus.js +1 -0
- package/icons/bootstrap/calendar-month-fill.js +1 -0
- package/icons/bootstrap/calendar-month.js +1 -0
- package/icons/bootstrap/calendar-plus-fill.js +1 -0
- package/icons/bootstrap/calendar-plus.js +1 -0
- package/icons/bootstrap/calendar-range-fill.js +1 -0
- package/icons/bootstrap/calendar-range.js +1 -0
- package/icons/bootstrap/calendar-week-fill.js +1 -0
- package/icons/bootstrap/calendar-week.js +1 -0
- package/icons/bootstrap/calendar-x-fill.js +1 -0
- package/icons/bootstrap/calendar-x.js +1 -0
- package/icons/bootstrap/calendar.js +1 -0
- package/icons/bootstrap/calendar2-check-fill.js +1 -0
- package/icons/bootstrap/calendar2-check.js +1 -0
- package/icons/bootstrap/calendar2-date-fill.js +1 -0
- package/icons/bootstrap/calendar2-date.js +1 -0
- package/icons/bootstrap/calendar2-day-fill.js +1 -0
- package/icons/bootstrap/calendar2-day.js +1 -0
- package/icons/bootstrap/calendar2-event-fill.js +1 -0
- package/icons/bootstrap/calendar2-event.js +1 -0
- package/icons/bootstrap/calendar2-fill.js +1 -0
- package/icons/bootstrap/calendar2-heart-fill.js +1 -0
- package/icons/bootstrap/calendar2-heart.js +1 -0
- package/icons/bootstrap/calendar2-minus-fill.js +1 -0
- package/icons/bootstrap/calendar2-minus.js +1 -0
- package/icons/bootstrap/calendar2-month-fill.js +1 -0
- package/icons/bootstrap/calendar2-month.js +1 -0
- package/icons/bootstrap/calendar2-plus-fill.js +1 -0
- package/icons/bootstrap/calendar2-plus.js +1 -0
- package/icons/bootstrap/calendar2-range-fill.js +1 -0
- package/icons/bootstrap/calendar2-range.js +1 -0
- package/icons/bootstrap/calendar2-week-fill.js +1 -0
- package/icons/bootstrap/calendar2-week.js +1 -0
- package/icons/bootstrap/calendar2-x-fill.js +1 -0
- package/icons/bootstrap/calendar2-x.js +1 -0
- package/icons/bootstrap/calendar2.js +1 -0
- package/icons/bootstrap/calendar3-event-fill.js +1 -0
- package/icons/bootstrap/calendar3-event.js +1 -0
- package/icons/bootstrap/calendar3-fill.js +1 -0
- package/icons/bootstrap/calendar3-range-fill.js +1 -0
- package/icons/bootstrap/calendar3-range.js +1 -0
- package/icons/bootstrap/calendar3-week-fill.js +1 -0
- package/icons/bootstrap/calendar3-week.js +1 -0
- package/icons/bootstrap/calendar3.js +1 -0
- package/icons/bootstrap/calendar4-event.js +1 -0
- package/icons/bootstrap/calendar4-range.js +1 -0
- package/icons/bootstrap/calendar4-week.js +1 -0
- package/icons/bootstrap/calendar4.js +1 -0
- package/icons/bootstrap/camera-fill.js +1 -0
- package/icons/bootstrap/camera-reels-fill.js +1 -0
- package/icons/bootstrap/camera-reels.js +1 -0
- package/icons/bootstrap/camera-video-fill.js +1 -0
- package/icons/bootstrap/camera-video-off-fill.js +1 -0
- package/icons/bootstrap/camera-video-off.js +1 -0
- package/icons/bootstrap/camera-video.js +1 -0
- package/icons/bootstrap/camera.js +1 -0
- package/icons/bootstrap/camera2.js +1 -0
- package/icons/bootstrap/capslock-fill.js +1 -0
- package/icons/bootstrap/capslock.js +1 -0
- package/icons/bootstrap/capsule-pill.js +1 -0
- package/icons/bootstrap/capsule.js +1 -0
- package/icons/bootstrap/car-front-fill.js +1 -0
- package/icons/bootstrap/car-front.js +1 -0
- package/icons/bootstrap/card-checklist.js +1 -0
- package/icons/bootstrap/card-heading.js +1 -0
- package/icons/bootstrap/card-image.js +1 -0
- package/icons/bootstrap/card-list.js +1 -0
- package/icons/bootstrap/card-text.js +1 -0
- package/icons/bootstrap/caret-down-fill.js +1 -0
- package/icons/bootstrap/caret-down-square-fill.js +1 -0
- package/icons/bootstrap/caret-down-square.js +1 -0
- package/icons/bootstrap/caret-down.js +1 -0
- package/icons/bootstrap/caret-left-fill.js +1 -0
- package/icons/bootstrap/caret-left-square-fill.js +1 -0
- package/icons/bootstrap/caret-left-square.js +1 -0
- package/icons/bootstrap/caret-left.js +1 -0
- package/icons/bootstrap/caret-right-fill.js +1 -0
- package/icons/bootstrap/caret-right-square-fill.js +1 -0
- package/icons/bootstrap/caret-right-square.js +1 -0
- package/icons/bootstrap/caret-right.js +1 -0
- package/icons/bootstrap/caret-up-fill.js +1 -0
- package/icons/bootstrap/caret-up-square-fill.js +1 -0
- package/icons/bootstrap/caret-up-square.js +1 -0
- package/icons/bootstrap/caret-up.js +1 -0
- package/icons/bootstrap/cart-check-fill.js +1 -0
- package/icons/bootstrap/cart-check.js +1 -0
- package/icons/bootstrap/cart-dash-fill.js +1 -0
- package/icons/bootstrap/cart-dash.js +1 -0
- package/icons/bootstrap/cart-fill.js +1 -0
- package/icons/bootstrap/cart-plus-fill.js +1 -0
- package/icons/bootstrap/cart-plus.js +1 -0
- package/icons/bootstrap/cart-x-fill.js +1 -0
- package/icons/bootstrap/cart-x.js +1 -0
- package/icons/bootstrap/cart.js +1 -0
- package/icons/bootstrap/cart2.js +1 -0
- package/icons/bootstrap/cart3.js +1 -0
- package/icons/bootstrap/cart4.js +1 -0
- package/icons/bootstrap/cash-coin.js +1 -0
- package/icons/bootstrap/cash-stack.js +1 -0
- package/icons/bootstrap/cash.js +1 -0
- package/icons/bootstrap/cassette-fill.js +1 -0
- package/icons/bootstrap/cassette.js +1 -0
- package/icons/bootstrap/cast.js +1 -0
- package/icons/bootstrap/cc-circle-fill.js +1 -0
- package/icons/bootstrap/cc-circle.js +1 -0
- package/icons/bootstrap/cc-square-fill.js +1 -0
- package/icons/bootstrap/cc-square.js +1 -0
- package/icons/bootstrap/chat-dots-fill.js +1 -0
- package/icons/bootstrap/chat-dots.js +1 -0
- package/icons/bootstrap/chat-fill.js +1 -0
- package/icons/bootstrap/chat-heart-fill.js +1 -0
- package/icons/bootstrap/chat-heart.js +1 -0
- package/icons/bootstrap/chat-left-dots-fill.js +1 -0
- package/icons/bootstrap/chat-left-dots.js +1 -0
- package/icons/bootstrap/chat-left-fill.js +1 -0
- package/icons/bootstrap/chat-left-heart-fill.js +1 -0
- package/icons/bootstrap/chat-left-heart.js +1 -0
- package/icons/bootstrap/chat-left-quote-fill.js +1 -0
- package/icons/bootstrap/chat-left-quote.js +1 -0
- package/icons/bootstrap/chat-left-text-fill.js +1 -0
- package/icons/bootstrap/chat-left-text.js +1 -0
- package/icons/bootstrap/chat-left.js +1 -0
- package/icons/bootstrap/chat-quote-fill.js +1 -0
- package/icons/bootstrap/chat-quote.js +1 -0
- package/icons/bootstrap/chat-right-dots-fill.js +1 -0
- package/icons/bootstrap/chat-right-dots.js +1 -0
- package/icons/bootstrap/chat-right-fill.js +1 -0
- package/icons/bootstrap/chat-right-heart-fill.js +1 -0
- package/icons/bootstrap/chat-right-heart.js +1 -0
- package/icons/bootstrap/chat-right-quote-fill.js +1 -0
- package/icons/bootstrap/chat-right-quote.js +1 -0
- package/icons/bootstrap/chat-right-text-fill.js +1 -0
- package/icons/bootstrap/chat-right-text.js +1 -0
- package/icons/bootstrap/chat-right.js +1 -0
- package/icons/bootstrap/chat-square-dots-fill.js +1 -0
- package/icons/bootstrap/chat-square-dots.js +1 -0
- package/icons/bootstrap/chat-square-fill.js +1 -0
- package/icons/bootstrap/chat-square-heart-fill.js +1 -0
- package/icons/bootstrap/chat-square-heart.js +1 -0
- package/icons/bootstrap/chat-square-quote-fill.js +1 -0
- package/icons/bootstrap/chat-square-quote.js +1 -0
- package/icons/bootstrap/chat-square-text-fill.js +1 -0
- package/icons/bootstrap/chat-square-text.js +1 -0
- package/icons/bootstrap/chat-square.js +1 -0
- package/icons/bootstrap/chat-text-fill.js +1 -0
- package/icons/bootstrap/chat-text.js +1 -0
- package/icons/bootstrap/chat.js +1 -0
- package/icons/bootstrap/check-all.js +1 -0
- package/icons/bootstrap/check-circle-fill.js +1 -0
- package/icons/bootstrap/check-circle.js +1 -0
- package/icons/bootstrap/check-lg.js +1 -0
- package/icons/bootstrap/check-square-fill.js +1 -0
- package/icons/bootstrap/check-square.js +1 -0
- package/icons/bootstrap/check.js +1 -0
- package/icons/bootstrap/check2-all.js +1 -0
- package/icons/bootstrap/check2-circle.js +1 -0
- package/icons/bootstrap/check2-square.js +1 -0
- package/icons/bootstrap/check2.js +1 -0
- package/icons/bootstrap/chevron-bar-contract.js +1 -0
- package/icons/bootstrap/chevron-bar-down.js +1 -0
- package/icons/bootstrap/chevron-bar-expand.js +1 -0
- package/icons/bootstrap/chevron-bar-left.js +1 -0
- package/icons/bootstrap/chevron-bar-right.js +1 -0
- package/icons/bootstrap/chevron-bar-up.js +1 -0
- package/icons/bootstrap/chevron-compact-down.js +1 -0
- package/icons/bootstrap/chevron-compact-left.js +1 -0
- package/icons/bootstrap/chevron-compact-right.js +1 -0
- package/icons/bootstrap/chevron-compact-up.js +1 -0
- package/icons/bootstrap/chevron-contract.js +1 -0
- package/icons/bootstrap/chevron-double-down.js +1 -0
- package/icons/bootstrap/chevron-double-left.js +1 -0
- package/icons/bootstrap/chevron-double-right.js +1 -0
- package/icons/bootstrap/chevron-double-up.js +1 -0
- package/icons/bootstrap/chevron-down.js +1 -0
- package/icons/bootstrap/chevron-expand.js +1 -0
- package/icons/bootstrap/chevron-left.js +1 -0
- package/icons/bootstrap/chevron-right.js +1 -0
- package/icons/bootstrap/chevron-up.js +1 -0
- package/icons/bootstrap/circle-fill.js +1 -0
- package/icons/bootstrap/circle-half.js +1 -0
- package/icons/bootstrap/circle-square.js +1 -0
- package/icons/bootstrap/circle.js +1 -0
- package/icons/bootstrap/clipboard-check-fill.js +1 -0
- package/icons/bootstrap/clipboard-check.js +1 -0
- package/icons/bootstrap/clipboard-data-fill.js +1 -0
- package/icons/bootstrap/clipboard-data.js +1 -0
- package/icons/bootstrap/clipboard-fill.js +1 -0
- package/icons/bootstrap/clipboard-heart-fill.js +1 -0
- package/icons/bootstrap/clipboard-heart.js +1 -0
- package/icons/bootstrap/clipboard-minus-fill.js +1 -0
- package/icons/bootstrap/clipboard-minus.js +1 -0
- package/icons/bootstrap/clipboard-plus-fill.js +1 -0
- package/icons/bootstrap/clipboard-plus.js +1 -0
- package/icons/bootstrap/clipboard-pulse.js +1 -0
- package/icons/bootstrap/clipboard-x-fill.js +1 -0
- package/icons/bootstrap/clipboard-x.js +1 -0
- package/icons/bootstrap/clipboard.js +1 -0
- package/icons/bootstrap/clipboard2-check-fill.js +1 -0
- package/icons/bootstrap/clipboard2-check.js +1 -0
- package/icons/bootstrap/clipboard2-data-fill.js +1 -0
- package/icons/bootstrap/clipboard2-data.js +1 -0
- package/icons/bootstrap/clipboard2-fill.js +1 -0
- package/icons/bootstrap/clipboard2-heart-fill.js +1 -0
- package/icons/bootstrap/clipboard2-heart.js +1 -0
- package/icons/bootstrap/clipboard2-minus-fill.js +1 -0
- package/icons/bootstrap/clipboard2-minus.js +1 -0
- package/icons/bootstrap/clipboard2-plus-fill.js +1 -0
- package/icons/bootstrap/clipboard2-plus.js +1 -0
- package/icons/bootstrap/clipboard2-pulse-fill.js +1 -0
- package/icons/bootstrap/clipboard2-pulse.js +1 -0
- package/icons/bootstrap/clipboard2-x-fill.js +1 -0
- package/icons/bootstrap/clipboard2-x.js +1 -0
- package/icons/bootstrap/clipboard2.js +1 -0
- package/icons/bootstrap/clock-fill.js +1 -0
- package/icons/bootstrap/clock-history.js +1 -0
- package/icons/bootstrap/clock.js +1 -0
- package/icons/bootstrap/cloud-arrow-down-fill.js +1 -0
- package/icons/bootstrap/cloud-arrow-down.js +1 -0
- package/icons/bootstrap/cloud-arrow-up-fill.js +1 -0
- package/icons/bootstrap/cloud-arrow-up.js +1 -0
- package/icons/bootstrap/cloud-check-fill.js +1 -0
- package/icons/bootstrap/cloud-check.js +1 -0
- package/icons/bootstrap/cloud-download-fill.js +1 -0
- package/icons/bootstrap/cloud-download.js +1 -0
- package/icons/bootstrap/cloud-drizzle-fill.js +1 -0
- package/icons/bootstrap/cloud-drizzle.js +1 -0
- package/icons/bootstrap/cloud-fill.js +1 -0
- package/icons/bootstrap/cloud-fog-fill.js +1 -0
- package/icons/bootstrap/cloud-fog.js +1 -0
- package/icons/bootstrap/cloud-fog2-fill.js +1 -0
- package/icons/bootstrap/cloud-fog2.js +1 -0
- package/icons/bootstrap/cloud-hail-fill.js +1 -0
- package/icons/bootstrap/cloud-hail.js +1 -0
- package/icons/bootstrap/cloud-haze-fill.js +1 -0
- package/icons/bootstrap/cloud-haze.js +1 -0
- package/icons/bootstrap/cloud-haze2-fill.js +1 -0
- package/icons/bootstrap/cloud-haze2.js +1 -0
- package/icons/bootstrap/cloud-lightning-fill.js +1 -0
- package/icons/bootstrap/cloud-lightning-rain-fill.js +1 -0
- package/icons/bootstrap/cloud-lightning-rain.js +1 -0
- package/icons/bootstrap/cloud-lightning.js +1 -0
- package/icons/bootstrap/cloud-minus-fill.js +1 -0
- package/icons/bootstrap/cloud-minus.js +1 -0
- package/icons/bootstrap/cloud-moon-fill.js +1 -0
- package/icons/bootstrap/cloud-moon.js +1 -0
- package/icons/bootstrap/cloud-plus-fill.js +1 -0
- package/icons/bootstrap/cloud-plus.js +1 -0
- package/icons/bootstrap/cloud-rain-fill.js +1 -0
- package/icons/bootstrap/cloud-rain-heavy-fill.js +1 -0
- package/icons/bootstrap/cloud-rain-heavy.js +1 -0
- package/icons/bootstrap/cloud-rain.js +1 -0
- package/icons/bootstrap/cloud-slash-fill.js +1 -0
- package/icons/bootstrap/cloud-slash.js +1 -0
- package/icons/bootstrap/cloud-sleet-fill.js +1 -0
- package/icons/bootstrap/cloud-sleet.js +1 -0
- package/icons/bootstrap/cloud-snow-fill.js +1 -0
- package/icons/bootstrap/cloud-snow.js +1 -0
- package/icons/bootstrap/cloud-sun-fill.js +1 -0
- package/icons/bootstrap/cloud-sun.js +1 -0
- package/icons/bootstrap/cloud-upload-fill.js +1 -0
- package/icons/bootstrap/cloud-upload.js +1 -0
- package/icons/bootstrap/cloud.js +1 -0
- package/icons/bootstrap/clouds-fill.js +1 -0
- package/icons/bootstrap/clouds.js +1 -0
- package/icons/bootstrap/cloudy-fill.js +1 -0
- package/icons/bootstrap/cloudy.js +1 -0
- package/icons/bootstrap/code-slash.js +1 -0
- package/icons/bootstrap/code-square.js +1 -0
- package/icons/bootstrap/code.js +1 -0
- package/icons/bootstrap/coin.js +1 -0
- package/icons/bootstrap/collection-fill.js +1 -0
- package/icons/bootstrap/collection-play-fill.js +1 -0
- package/icons/bootstrap/collection-play.js +1 -0
- package/icons/bootstrap/collection.js +1 -0
- package/icons/bootstrap/columns-gap.js +1 -0
- package/icons/bootstrap/columns.js +1 -0
- package/icons/bootstrap/command.js +1 -0
- package/icons/bootstrap/compass-fill.js +1 -0
- package/icons/bootstrap/compass.js +1 -0
- package/icons/bootstrap/cone-striped.js +1 -0
- package/icons/bootstrap/cone.js +1 -0
- package/icons/bootstrap/controller.js +1 -0
- package/icons/bootstrap/cookie.js +1 -0
- package/icons/bootstrap/copy.js +1 -0
- package/icons/bootstrap/cpu-fill.js +1 -0
- package/icons/bootstrap/cpu.js +1 -0
- package/icons/bootstrap/credit-card-2-back-fill.js +1 -0
- package/icons/bootstrap/credit-card-2-back.js +1 -0
- package/icons/bootstrap/credit-card-2-front-fill.js +1 -0
- package/icons/bootstrap/credit-card-2-front.js +1 -0
- package/icons/bootstrap/credit-card-fill.js +1 -0
- package/icons/bootstrap/credit-card.js +1 -0
- package/icons/bootstrap/crop.js +1 -0
- package/icons/bootstrap/crosshair.js +1 -0
- package/icons/bootstrap/crosshair2.js +1 -0
- package/icons/bootstrap/cup-fill.js +1 -0
- package/icons/bootstrap/cup-hot-fill.js +1 -0
- package/icons/bootstrap/cup-hot.js +1 -0
- package/icons/bootstrap/cup-straw.js +1 -0
- package/icons/bootstrap/cup.js +1 -0
- package/icons/bootstrap/currency-bitcoin.js +1 -0
- package/icons/bootstrap/currency-dollar.js +1 -0
- package/icons/bootstrap/currency-euro.js +1 -0
- package/icons/bootstrap/currency-exchange.js +1 -0
- package/icons/bootstrap/currency-pound.js +1 -0
- package/icons/bootstrap/currency-rupee.js +1 -0
- package/icons/bootstrap/currency-yen.js +1 -0
- package/icons/bootstrap/cursor-fill.js +1 -0
- package/icons/bootstrap/cursor-text.js +1 -0
- package/icons/bootstrap/cursor.js +1 -0
- package/icons/bootstrap/dash-circle-dotted.js +1 -0
- package/icons/bootstrap/dash-circle-fill.js +1 -0
- package/icons/bootstrap/dash-circle.js +1 -0
- package/icons/bootstrap/dash-lg.js +1 -0
- package/icons/bootstrap/dash-square-dotted.js +1 -0
- package/icons/bootstrap/dash-square-fill.js +1 -0
- package/icons/bootstrap/dash-square.js +1 -0
- package/icons/bootstrap/dash.js +1 -0
- package/icons/bootstrap/database-add.js +1 -0
- package/icons/bootstrap/database-check.js +1 -0
- package/icons/bootstrap/database-dash.js +1 -0
- package/icons/bootstrap/database-down.js +1 -0
- package/icons/bootstrap/database-exclamation.js +1 -0
- package/icons/bootstrap/database-fill-add.js +1 -0
- package/icons/bootstrap/database-fill-check.js +1 -0
- package/icons/bootstrap/database-fill-dash.js +1 -0
- package/icons/bootstrap/database-fill-down.js +1 -0
- package/icons/bootstrap/database-fill-exclamation.js +1 -0
- package/icons/bootstrap/database-fill-gear.js +1 -0
- package/icons/bootstrap/database-fill-lock.js +1 -0
- package/icons/bootstrap/database-fill-slash.js +1 -0
- package/icons/bootstrap/database-fill-up.js +1 -0
- package/icons/bootstrap/database-fill-x.js +1 -0
- package/icons/bootstrap/database-fill.js +1 -0
- package/icons/bootstrap/database-gear.js +1 -0
- package/icons/bootstrap/database-lock.js +1 -0
- package/icons/bootstrap/database-slash.js +1 -0
- package/icons/bootstrap/database-up.js +1 -0
- package/icons/bootstrap/database-x.js +1 -0
- package/icons/bootstrap/database.js +1 -0
- package/icons/bootstrap/device-hdd-fill.js +1 -0
- package/icons/bootstrap/device-hdd.js +1 -0
- package/icons/bootstrap/device-ssd-fill.js +1 -0
- package/icons/bootstrap/device-ssd.js +1 -0
- package/icons/bootstrap/diagram-2-fill.js +1 -0
- package/icons/bootstrap/diagram-2.js +1 -0
- package/icons/bootstrap/diagram-3-fill.js +1 -0
- package/icons/bootstrap/diagram-3.js +1 -0
- package/icons/bootstrap/diamond-fill.js +1 -0
- package/icons/bootstrap/diamond-half.js +1 -0
- package/icons/bootstrap/diamond.js +1 -0
- package/icons/bootstrap/dice-1-fill.js +1 -0
- package/icons/bootstrap/dice-1.js +1 -0
- package/icons/bootstrap/dice-2-fill.js +1 -0
- package/icons/bootstrap/dice-2.js +1 -0
- package/icons/bootstrap/dice-3-fill.js +1 -0
- package/icons/bootstrap/dice-3.js +1 -0
- package/icons/bootstrap/dice-4-fill.js +1 -0
- package/icons/bootstrap/dice-4.js +1 -0
- package/icons/bootstrap/dice-5-fill.js +1 -0
- package/icons/bootstrap/dice-5.js +1 -0
- package/icons/bootstrap/dice-6-fill.js +1 -0
- package/icons/bootstrap/dice-6.js +1 -0
- package/icons/bootstrap/disc-fill.js +1 -0
- package/icons/bootstrap/disc.js +1 -0
- package/icons/bootstrap/discord.js +1 -0
- package/icons/bootstrap/display-fill.js +1 -0
- package/icons/bootstrap/display.js +1 -0
- package/icons/bootstrap/displayport-fill.js +1 -0
- package/icons/bootstrap/displayport.js +1 -0
- package/icons/bootstrap/distribute-horizontal.js +1 -0
- package/icons/bootstrap/distribute-vertical.js +1 -0
- package/icons/bootstrap/door-closed-fill.js +1 -0
- package/icons/bootstrap/door-closed.js +1 -0
- package/icons/bootstrap/door-open-fill.js +1 -0
- package/icons/bootstrap/door-open.js +1 -0
- package/icons/bootstrap/dot.js +1 -0
- package/icons/bootstrap/download.js +1 -0
- package/icons/bootstrap/dpad-fill.js +1 -0
- package/icons/bootstrap/dpad.js +1 -0
- package/icons/bootstrap/dribbble.js +1 -0
- package/icons/bootstrap/dropbox.js +1 -0
- package/icons/bootstrap/droplet-fill.js +1 -0
- package/icons/bootstrap/droplet-half.js +1 -0
- package/icons/bootstrap/droplet.js +1 -0
- package/icons/bootstrap/duffle-fill.js +1 -0
- package/icons/bootstrap/duffle.js +1 -0
- package/icons/bootstrap/ear-fill.js +1 -0
- package/icons/bootstrap/ear.js +1 -0
- package/icons/bootstrap/earbuds.js +1 -0
- package/icons/bootstrap/easel-fill.js +1 -0
- package/icons/bootstrap/easel.js +1 -0
- package/icons/bootstrap/easel2-fill.js +1 -0
- package/icons/bootstrap/easel2.js +1 -0
- package/icons/bootstrap/easel3-fill.js +1 -0
- package/icons/bootstrap/easel3.js +1 -0
- package/icons/bootstrap/egg-fill.js +1 -0
- package/icons/bootstrap/egg-fried.js +1 -0
- package/icons/bootstrap/egg.js +1 -0
- package/icons/bootstrap/eject-fill.js +1 -0
- package/icons/bootstrap/eject.js +1 -0
- package/icons/bootstrap/emoji-angry-fill.js +1 -0
- package/icons/bootstrap/emoji-angry.js +1 -0
- package/icons/bootstrap/emoji-astonished-fill.js +1 -0
- package/icons/bootstrap/emoji-astonished.js +1 -0
- package/icons/bootstrap/emoji-dizzy-fill.js +1 -0
- package/icons/bootstrap/emoji-dizzy.js +1 -0
- package/icons/bootstrap/emoji-expressionless-fill.js +1 -0
- package/icons/bootstrap/emoji-expressionless.js +1 -0
- package/icons/bootstrap/emoji-frown-fill.js +1 -0
- package/icons/bootstrap/emoji-frown.js +1 -0
- package/icons/bootstrap/emoji-grimace-fill.js +1 -0
- package/icons/bootstrap/emoji-grimace.js +1 -0
- package/icons/bootstrap/emoji-grin-fill.js +1 -0
- package/icons/bootstrap/emoji-grin.js +1 -0
- package/icons/bootstrap/emoji-heart-eyes-fill.js +1 -0
- package/icons/bootstrap/emoji-heart-eyes.js +1 -0
- package/icons/bootstrap/emoji-kiss-fill.js +1 -0
- package/icons/bootstrap/emoji-kiss.js +1 -0
- package/icons/bootstrap/emoji-laughing-fill.js +1 -0
- package/icons/bootstrap/emoji-laughing.js +1 -0
- package/icons/bootstrap/emoji-neutral-fill.js +1 -0
- package/icons/bootstrap/emoji-neutral.js +1 -0
- package/icons/bootstrap/emoji-smile-fill.js +1 -0
- package/icons/bootstrap/emoji-smile-upside-down-fill.js +1 -0
- package/icons/bootstrap/emoji-smile-upside-down.js +1 -0
- package/icons/bootstrap/emoji-smile.js +1 -0
- package/icons/bootstrap/emoji-sunglasses-fill.js +1 -0
- package/icons/bootstrap/emoji-sunglasses.js +1 -0
- package/icons/bootstrap/emoji-surprise-fill.js +1 -0
- package/icons/bootstrap/emoji-surprise.js +1 -0
- package/icons/bootstrap/emoji-tear-fill.js +1 -0
- package/icons/bootstrap/emoji-tear.js +1 -0
- package/icons/bootstrap/emoji-wink-fill.js +1 -0
- package/icons/bootstrap/emoji-wink.js +1 -0
- package/icons/bootstrap/envelope-arrow-down-fill.js +1 -0
- package/icons/bootstrap/envelope-arrow-down.js +1 -0
- package/icons/bootstrap/envelope-arrow-up-fill.js +1 -0
- package/icons/bootstrap/envelope-arrow-up.js +1 -0
- package/icons/bootstrap/envelope-at-fill.js +1 -0
- package/icons/bootstrap/envelope-at.js +1 -0
- package/icons/bootstrap/envelope-check-fill.js +1 -0
- package/icons/bootstrap/envelope-check.js +1 -0
- package/icons/bootstrap/envelope-dash-fill.js +1 -0
- package/icons/bootstrap/envelope-dash.js +1 -0
- package/icons/bootstrap/envelope-exclamation-fill.js +1 -0
- package/icons/bootstrap/envelope-exclamation.js +1 -0
- package/icons/bootstrap/envelope-fill.js +1 -0
- package/icons/bootstrap/envelope-heart-fill.js +1 -0
- package/icons/bootstrap/envelope-heart.js +1 -0
- package/icons/bootstrap/envelope-open-fill.js +1 -0
- package/icons/bootstrap/envelope-open-heart-fill.js +1 -0
- package/icons/bootstrap/envelope-open-heart.js +1 -0
- package/icons/bootstrap/envelope-open.js +1 -0
- package/icons/bootstrap/envelope-paper-fill.js +1 -0
- package/icons/bootstrap/envelope-paper-heart-fill.js +1 -0
- package/icons/bootstrap/envelope-paper-heart.js +1 -0
- package/icons/bootstrap/envelope-paper.js +1 -0
- package/icons/bootstrap/envelope-plus-fill.js +1 -0
- package/icons/bootstrap/envelope-plus.js +1 -0
- package/icons/bootstrap/envelope-slash-fill.js +1 -0
- package/icons/bootstrap/envelope-slash.js +1 -0
- package/icons/bootstrap/envelope-x-fill.js +1 -0
- package/icons/bootstrap/envelope-x.js +1 -0
- package/icons/bootstrap/envelope.js +1 -0
- package/icons/bootstrap/eraser-fill.js +1 -0
- package/icons/bootstrap/eraser.js +1 -0
- package/icons/bootstrap/escape.js +1 -0
- package/icons/bootstrap/ethernet.js +1 -0
- package/icons/bootstrap/ev-front-fill.js +1 -0
- package/icons/bootstrap/ev-front.js +1 -0
- package/icons/bootstrap/ev-station-fill.js +1 -0
- package/icons/bootstrap/ev-station.js +1 -0
- package/icons/bootstrap/exclamation-circle-fill.js +1 -0
- package/icons/bootstrap/exclamation-circle.js +1 -0
- package/icons/bootstrap/exclamation-diamond-fill.js +1 -0
- package/icons/bootstrap/exclamation-diamond.js +1 -0
- package/icons/bootstrap/exclamation-lg.js +1 -0
- package/icons/bootstrap/exclamation-octagon-fill.js +1 -0
- package/icons/bootstrap/exclamation-octagon.js +1 -0
- package/icons/bootstrap/exclamation-square-fill.js +1 -0
- package/icons/bootstrap/exclamation-square.js +1 -0
- package/icons/bootstrap/exclamation-triangle-fill.js +1 -0
- package/icons/bootstrap/exclamation-triangle.js +1 -0
- package/icons/bootstrap/exclamation.js +1 -0
- package/icons/bootstrap/exclude.js +1 -0
- package/icons/bootstrap/explicit-fill.js +1 -0
- package/icons/bootstrap/explicit.js +1 -0
- package/icons/bootstrap/exposure.js +1 -0
- package/icons/bootstrap/eye-fill.js +1 -0
- package/icons/bootstrap/eye-slash-fill.js +1 -0
- package/icons/bootstrap/eye-slash.js +1 -0
- package/icons/bootstrap/eye.js +1 -0
- package/icons/bootstrap/eyedropper.js +1 -0
- package/icons/bootstrap/eyeglasses.js +1 -0
- package/icons/bootstrap/facebook.js +1 -0
- package/icons/bootstrap/fan.js +1 -0
- package/icons/bootstrap/fast-forward-btn-fill.js +1 -0
- package/icons/bootstrap/fast-forward-btn.js +1 -0
- package/icons/bootstrap/fast-forward-circle-fill.js +1 -0
- package/icons/bootstrap/fast-forward-circle.js +1 -0
- package/icons/bootstrap/fast-forward-fill.js +1 -0
- package/icons/bootstrap/fast-forward.js +1 -0
- package/icons/bootstrap/feather.js +1 -0
- package/icons/bootstrap/feather2.js +1 -0
- package/icons/bootstrap/file-arrow-down-fill.js +1 -0
- package/icons/bootstrap/file-arrow-down.js +1 -0
- package/icons/bootstrap/file-arrow-up-fill.js +1 -0
- package/icons/bootstrap/file-arrow-up.js +1 -0
- package/icons/bootstrap/file-bar-graph-fill.js +1 -0
- package/icons/bootstrap/file-bar-graph.js +1 -0
- package/icons/bootstrap/file-binary-fill.js +1 -0
- package/icons/bootstrap/file-binary.js +1 -0
- package/icons/bootstrap/file-break-fill.js +1 -0
- package/icons/bootstrap/file-break.js +1 -0
- package/icons/bootstrap/file-check-fill.js +1 -0
- package/icons/bootstrap/file-check.js +1 -0
- package/icons/bootstrap/file-code-fill.js +1 -0
- package/icons/bootstrap/file-code.js +1 -0
- package/icons/bootstrap/file-diff-fill.js +1 -0
- package/icons/bootstrap/file-diff.js +1 -0
- package/icons/bootstrap/file-earmark-arrow-down-fill.js +1 -0
- package/icons/bootstrap/file-earmark-arrow-down.js +1 -0
- package/icons/bootstrap/file-earmark-arrow-up-fill.js +1 -0
- package/icons/bootstrap/file-earmark-arrow-up.js +1 -0
- package/icons/bootstrap/file-earmark-bar-graph-fill.js +1 -0
- package/icons/bootstrap/file-earmark-bar-graph.js +1 -0
- package/icons/bootstrap/file-earmark-binary-fill.js +1 -0
- package/icons/bootstrap/file-earmark-binary.js +1 -0
- package/icons/bootstrap/file-earmark-break-fill.js +1 -0
- package/icons/bootstrap/file-earmark-break.js +1 -0
- package/icons/bootstrap/file-earmark-check-fill.js +1 -0
- package/icons/bootstrap/file-earmark-check.js +1 -0
- package/icons/bootstrap/file-earmark-code-fill.js +1 -0
- package/icons/bootstrap/file-earmark-code.js +1 -0
- package/icons/bootstrap/file-earmark-diff-fill.js +1 -0
- package/icons/bootstrap/file-earmark-diff.js +1 -0
- package/icons/bootstrap/file-earmark-easel-fill.js +1 -0
- package/icons/bootstrap/file-earmark-easel.js +1 -0
- package/icons/bootstrap/file-earmark-excel-fill.js +1 -0
- package/icons/bootstrap/file-earmark-excel.js +1 -0
- package/icons/bootstrap/file-earmark-fill.js +1 -0
- package/icons/bootstrap/file-earmark-font-fill.js +1 -0
- package/icons/bootstrap/file-earmark-font.js +1 -0
- package/icons/bootstrap/file-earmark-image-fill.js +1 -0
- package/icons/bootstrap/file-earmark-image.js +1 -0
- package/icons/bootstrap/file-earmark-lock-fill.js +1 -0
- package/icons/bootstrap/file-earmark-lock.js +1 -0
- package/icons/bootstrap/file-earmark-lock2-fill.js +1 -0
- package/icons/bootstrap/file-earmark-lock2.js +1 -0
- package/icons/bootstrap/file-earmark-medical-fill.js +1 -0
- package/icons/bootstrap/file-earmark-medical.js +1 -0
- package/icons/bootstrap/file-earmark-minus-fill.js +1 -0
- package/icons/bootstrap/file-earmark-minus.js +1 -0
- package/icons/bootstrap/file-earmark-music-fill.js +1 -0
- package/icons/bootstrap/file-earmark-music.js +1 -0
- package/icons/bootstrap/file-earmark-pdf-fill.js +1 -0
- package/icons/bootstrap/file-earmark-pdf.js +1 -0
- package/icons/bootstrap/file-earmark-person-fill.js +1 -0
- package/icons/bootstrap/file-earmark-person.js +1 -0
- package/icons/bootstrap/file-earmark-play-fill.js +1 -0
- package/icons/bootstrap/file-earmark-play.js +1 -0
- package/icons/bootstrap/file-earmark-plus-fill.js +1 -0
- package/icons/bootstrap/file-earmark-plus.js +1 -0
- package/icons/bootstrap/file-earmark-post-fill.js +1 -0
- package/icons/bootstrap/file-earmark-post.js +1 -0
- package/icons/bootstrap/file-earmark-ppt-fill.js +1 -0
- package/icons/bootstrap/file-earmark-ppt.js +1 -0
- package/icons/bootstrap/file-earmark-richtext-fill.js +1 -0
- package/icons/bootstrap/file-earmark-richtext.js +1 -0
- package/icons/bootstrap/file-earmark-ruled-fill.js +1 -0
- package/icons/bootstrap/file-earmark-ruled.js +1 -0
- package/icons/bootstrap/file-earmark-slides-fill.js +1 -0
- package/icons/bootstrap/file-earmark-slides.js +1 -0
- package/icons/bootstrap/file-earmark-spreadsheet-fill.js +1 -0
- package/icons/bootstrap/file-earmark-spreadsheet.js +1 -0
- package/icons/bootstrap/file-earmark-text-fill.js +1 -0
- package/icons/bootstrap/file-earmark-text.js +1 -0
- package/icons/bootstrap/file-earmark-word-fill.js +1 -0
- package/icons/bootstrap/file-earmark-word.js +1 -0
- package/icons/bootstrap/file-earmark-x-fill.js +1 -0
- package/icons/bootstrap/file-earmark-x.js +1 -0
- package/icons/bootstrap/file-earmark-zip-fill.js +1 -0
- package/icons/bootstrap/file-earmark-zip.js +1 -0
- package/icons/bootstrap/file-earmark.js +1 -0
- package/icons/bootstrap/file-easel-fill.js +1 -0
- package/icons/bootstrap/file-easel.js +1 -0
- package/icons/bootstrap/file-excel-fill.js +1 -0
- package/icons/bootstrap/file-excel.js +1 -0
- package/icons/bootstrap/file-fill.js +1 -0
- package/icons/bootstrap/file-font-fill.js +1 -0
- package/icons/bootstrap/file-font.js +1 -0
- package/icons/bootstrap/file-image-fill.js +1 -0
- package/icons/bootstrap/file-image.js +1 -0
- package/icons/bootstrap/file-lock-fill.js +1 -0
- package/icons/bootstrap/file-lock.js +1 -0
- package/icons/bootstrap/file-lock2-fill.js +1 -0
- package/icons/bootstrap/file-lock2.js +1 -0
- package/icons/bootstrap/file-medical-fill.js +1 -0
- package/icons/bootstrap/file-medical.js +1 -0
- package/icons/bootstrap/file-minus-fill.js +1 -0
- package/icons/bootstrap/file-minus.js +1 -0
- package/icons/bootstrap/file-music-fill.js +1 -0
- package/icons/bootstrap/file-music.js +1 -0
- package/icons/bootstrap/file-pdf-fill.js +1 -0
- package/icons/bootstrap/file-pdf.js +1 -0
- package/icons/bootstrap/file-person-fill.js +1 -0
- package/icons/bootstrap/file-person.js +1 -0
- package/icons/bootstrap/file-play-fill.js +1 -0
- package/icons/bootstrap/file-play.js +1 -0
- package/icons/bootstrap/file-plus-fill.js +1 -0
- package/icons/bootstrap/file-plus.js +1 -0
- package/icons/bootstrap/file-post-fill.js +1 -0
- package/icons/bootstrap/file-post.js +1 -0
- package/icons/bootstrap/file-ppt-fill.js +1 -0
- package/icons/bootstrap/file-ppt.js +1 -0
- package/icons/bootstrap/file-richtext-fill.js +1 -0
- package/icons/bootstrap/file-richtext.js +1 -0
- package/icons/bootstrap/file-ruled-fill.js +1 -0
- package/icons/bootstrap/file-ruled.js +1 -0
- package/icons/bootstrap/file-slides-fill.js +1 -0
- package/icons/bootstrap/file-slides.js +1 -0
- package/icons/bootstrap/file-spreadsheet-fill.js +1 -0
- package/icons/bootstrap/file-spreadsheet.js +1 -0
- package/icons/bootstrap/file-text-fill.js +1 -0
- package/icons/bootstrap/file-text.js +1 -0
- package/icons/bootstrap/file-word-fill.js +1 -0
- package/icons/bootstrap/file-word.js +1 -0
- package/icons/bootstrap/file-x-fill.js +1 -0
- package/icons/bootstrap/file-x.js +1 -0
- package/icons/bootstrap/file-zip-fill.js +1 -0
- package/icons/bootstrap/file-zip.js +1 -0
- package/icons/bootstrap/file.js +1 -0
- package/icons/bootstrap/files-alt.js +1 -0
- package/icons/bootstrap/files.js +1 -0
- package/icons/bootstrap/filetype-aac.js +1 -0
- package/icons/bootstrap/filetype-ai.js +1 -0
- package/icons/bootstrap/filetype-bmp.js +1 -0
- package/icons/bootstrap/filetype-cs.js +1 -0
- package/icons/bootstrap/filetype-css.js +1 -0
- package/icons/bootstrap/filetype-csv.js +1 -0
- package/icons/bootstrap/filetype-doc.js +1 -0
- package/icons/bootstrap/filetype-docx.js +1 -0
- package/icons/bootstrap/filetype-exe.js +1 -0
- package/icons/bootstrap/filetype-gif.js +1 -0
- package/icons/bootstrap/filetype-heic.js +1 -0
- package/icons/bootstrap/filetype-html.js +1 -0
- package/icons/bootstrap/filetype-java.js +1 -0
- package/icons/bootstrap/filetype-jpg.js +1 -0
- package/icons/bootstrap/filetype-js.js +1 -0
- package/icons/bootstrap/filetype-json.js +1 -0
- package/icons/bootstrap/filetype-jsx.js +1 -0
- package/icons/bootstrap/filetype-key.js +1 -0
- package/icons/bootstrap/filetype-m4p.js +1 -0
- package/icons/bootstrap/filetype-md.js +1 -0
- package/icons/bootstrap/filetype-mdx.js +1 -0
- package/icons/bootstrap/filetype-mov.js +1 -0
- package/icons/bootstrap/filetype-mp3.js +1 -0
- package/icons/bootstrap/filetype-mp4.js +1 -0
- package/icons/bootstrap/filetype-otf.js +1 -0
- package/icons/bootstrap/filetype-pdf.js +1 -0
- package/icons/bootstrap/filetype-php.js +1 -0
- package/icons/bootstrap/filetype-png.js +1 -0
- package/icons/bootstrap/filetype-ppt.js +1 -0
- package/icons/bootstrap/filetype-pptx.js +1 -0
- package/icons/bootstrap/filetype-psd.js +1 -0
- package/icons/bootstrap/filetype-py.js +1 -0
- package/icons/bootstrap/filetype-raw.js +1 -0
- package/icons/bootstrap/filetype-rb.js +1 -0
- package/icons/bootstrap/filetype-sass.js +1 -0
- package/icons/bootstrap/filetype-scss.js +1 -0
- package/icons/bootstrap/filetype-sh.js +1 -0
- package/icons/bootstrap/filetype-sql.js +1 -0
- package/icons/bootstrap/filetype-svg.js +1 -0
- package/icons/bootstrap/filetype-tiff.js +1 -0
- package/icons/bootstrap/filetype-tsx.js +1 -0
- package/icons/bootstrap/filetype-ttf.js +1 -0
- package/icons/bootstrap/filetype-txt.js +1 -0
- package/icons/bootstrap/filetype-wav.js +1 -0
- package/icons/bootstrap/filetype-woff.js +1 -0
- package/icons/bootstrap/filetype-xls.js +1 -0
- package/icons/bootstrap/filetype-xlsx.js +1 -0
- package/icons/bootstrap/filetype-xml.js +1 -0
- package/icons/bootstrap/filetype-yml.js +1 -0
- package/icons/bootstrap/film.js +1 -0
- package/icons/bootstrap/filter-circle-fill.js +1 -0
- package/icons/bootstrap/filter-circle.js +1 -0
- package/icons/bootstrap/filter-left.js +1 -0
- package/icons/bootstrap/filter-right.js +1 -0
- package/icons/bootstrap/filter-square-fill.js +1 -0
- package/icons/bootstrap/filter-square.js +1 -0
- package/icons/bootstrap/filter.js +1 -0
- package/icons/bootstrap/fingerprint.js +1 -0
- package/icons/bootstrap/fire.js +1 -0
- package/icons/bootstrap/flag-fill.js +1 -0
- package/icons/bootstrap/flag.js +1 -0
- package/icons/bootstrap/floppy-fill.js +1 -0
- package/icons/bootstrap/floppy.js +1 -0
- package/icons/bootstrap/floppy2-fill.js +1 -0
- package/icons/bootstrap/floppy2.js +1 -0
- package/icons/bootstrap/flower1.js +1 -0
- package/icons/bootstrap/flower2.js +1 -0
- package/icons/bootstrap/flower3.js +1 -0
- package/icons/bootstrap/folder-check.js +1 -0
- package/icons/bootstrap/folder-fill.js +1 -0
- package/icons/bootstrap/folder-minus.js +1 -0
- package/icons/bootstrap/folder-plus.js +1 -0
- package/icons/bootstrap/folder-symlink-fill.js +1 -0
- package/icons/bootstrap/folder-symlink.js +1 -0
- package/icons/bootstrap/folder-x.js +1 -0
- package/icons/bootstrap/folder.js +1 -0
- package/icons/bootstrap/folder2-open.js +1 -0
- package/icons/bootstrap/folder2.js +1 -0
- package/icons/bootstrap/fonts.js +1 -0
- package/icons/bootstrap/forward-fill.js +1 -0
- package/icons/bootstrap/forward.js +1 -0
- package/icons/bootstrap/front.js +1 -0
- package/icons/bootstrap/fuel-pump-diesel-fill.js +1 -0
- package/icons/bootstrap/fuel-pump-diesel.js +1 -0
- package/icons/bootstrap/fuel-pump-fill.js +1 -0
- package/icons/bootstrap/fuel-pump.js +1 -0
- package/icons/bootstrap/fullscreen-exit.js +1 -0
- package/icons/bootstrap/fullscreen.js +1 -0
- package/icons/bootstrap/funnel-fill.js +1 -0
- package/icons/bootstrap/funnel.js +1 -0
- package/icons/bootstrap/gear-fill.js +1 -0
- package/icons/bootstrap/gear-wide-connected.js +1 -0
- package/icons/bootstrap/gear-wide.js +1 -0
- package/icons/bootstrap/gear.js +1 -0
- package/icons/bootstrap/gem.js +1 -0
- package/icons/bootstrap/gender-ambiguous.js +1 -0
- package/icons/bootstrap/gender-female.js +1 -0
- package/icons/bootstrap/gender-male.js +1 -0
- package/icons/bootstrap/gender-neuter.js +1 -0
- package/icons/bootstrap/gender-trans.js +1 -0
- package/icons/bootstrap/geo-alt-fill.js +1 -0
- package/icons/bootstrap/geo-alt.js +1 -0
- package/icons/bootstrap/geo-fill.js +1 -0
- package/icons/bootstrap/geo.js +1 -0
- package/icons/bootstrap/gift-fill.js +1 -0
- package/icons/bootstrap/gift.js +1 -0
- package/icons/bootstrap/git.js +1 -0
- package/icons/bootstrap/github.js +1 -0
- package/icons/bootstrap/gitlab.js +1 -0
- package/icons/bootstrap/globe-americas.js +1 -0
- package/icons/bootstrap/globe-asia-australia.js +1 -0
- package/icons/bootstrap/globe-central-south-asia.js +1 -0
- package/icons/bootstrap/globe-europe-africa.js +1 -0
- package/icons/bootstrap/globe.js +1 -0
- package/icons/bootstrap/globe2.js +1 -0
- package/icons/bootstrap/google-play.js +1 -0
- package/icons/bootstrap/google.js +1 -0
- package/icons/bootstrap/gpu-card.js +1 -0
- package/icons/bootstrap/graph-down-arrow.js +1 -0
- package/icons/bootstrap/graph-down.js +1 -0
- package/icons/bootstrap/graph-up-arrow.js +1 -0
- package/icons/bootstrap/graph-up.js +1 -0
- package/icons/bootstrap/grid-1x2-fill.js +1 -0
- package/icons/bootstrap/grid-1x2.js +1 -0
- package/icons/bootstrap/grid-3x2-gap-fill.js +1 -0
- package/icons/bootstrap/grid-3x2-gap.js +1 -0
- package/icons/bootstrap/grid-3x2.js +1 -0
- package/icons/bootstrap/grid-3x3-gap-fill.js +1 -0
- package/icons/bootstrap/grid-3x3-gap.js +1 -0
- package/icons/bootstrap/grid-3x3.js +1 -0
- package/icons/bootstrap/grid-fill.js +1 -0
- package/icons/bootstrap/grid.js +1 -0
- package/icons/bootstrap/grip-horizontal.js +1 -0
- package/icons/bootstrap/grip-vertical.js +1 -0
- package/icons/bootstrap/h-circle-fill.js +1 -0
- package/icons/bootstrap/h-circle.js +1 -0
- package/icons/bootstrap/h-square-fill.js +1 -0
- package/icons/bootstrap/h-square.js +1 -0
- package/icons/bootstrap/hammer.js +1 -0
- package/icons/bootstrap/hand-index-fill.js +1 -0
- package/icons/bootstrap/hand-index-thumb-fill.js +1 -0
- package/icons/bootstrap/hand-index-thumb.js +1 -0
- package/icons/bootstrap/hand-index.js +1 -0
- package/icons/bootstrap/hand-thumbs-down-fill.js +1 -0
- package/icons/bootstrap/hand-thumbs-down.js +1 -0
- package/icons/bootstrap/hand-thumbs-up-fill.js +1 -0
- package/icons/bootstrap/hand-thumbs-up.js +1 -0
- package/icons/bootstrap/handbag-fill.js +1 -0
- package/icons/bootstrap/handbag.js +1 -0
- package/icons/bootstrap/hash.js +1 -0
- package/icons/bootstrap/hdd-fill.js +1 -0
- package/icons/bootstrap/hdd-network-fill.js +1 -0
- package/icons/bootstrap/hdd-network.js +1 -0
- package/icons/bootstrap/hdd-rack-fill.js +1 -0
- package/icons/bootstrap/hdd-rack.js +1 -0
- package/icons/bootstrap/hdd-stack-fill.js +1 -0
- package/icons/bootstrap/hdd-stack.js +1 -0
- package/icons/bootstrap/hdd.js +1 -0
- package/icons/bootstrap/hdmi-fill.js +1 -0
- package/icons/bootstrap/hdmi.js +1 -0
- package/icons/bootstrap/headphones.js +1 -0
- package/icons/bootstrap/headset-vr.js +1 -0
- package/icons/bootstrap/headset.js +1 -0
- package/icons/bootstrap/heart-arrow.js +1 -0
- package/icons/bootstrap/heart-fill.js +1 -0
- package/icons/bootstrap/heart-half.js +1 -0
- package/icons/bootstrap/heart-pulse-fill.js +1 -0
- package/icons/bootstrap/heart-pulse.js +1 -0
- package/icons/bootstrap/heart.js +1 -0
- package/icons/bootstrap/heartbreak-fill.js +1 -0
- package/icons/bootstrap/heartbreak.js +1 -0
- package/icons/bootstrap/hearts.js +1 -0
- package/icons/bootstrap/heptagon-fill.js +1 -0
- package/icons/bootstrap/heptagon-half.js +1 -0
- package/icons/bootstrap/heptagon.js +1 -0
- package/icons/bootstrap/hexagon-fill.js +1 -0
- package/icons/bootstrap/hexagon-half.js +1 -0
- package/icons/bootstrap/hexagon.js +1 -0
- package/icons/bootstrap/highlighter.js +1 -0
- package/icons/bootstrap/highlights.js +1 -0
- package/icons/bootstrap/hospital-fill.js +1 -0
- package/icons/bootstrap/hospital.js +1 -0
- package/icons/bootstrap/hourglass-bottom.js +1 -0
- package/icons/bootstrap/hourglass-split.js +1 -0
- package/icons/bootstrap/hourglass-top.js +1 -0
- package/icons/bootstrap/hourglass.js +1 -0
- package/icons/bootstrap/house-add-fill.js +1 -0
- package/icons/bootstrap/house-add.js +1 -0
- package/icons/bootstrap/house-check-fill.js +1 -0
- package/icons/bootstrap/house-check.js +1 -0
- package/icons/bootstrap/house-dash-fill.js +1 -0
- package/icons/bootstrap/house-dash.js +1 -0
- package/icons/bootstrap/house-door-fill.js +1 -0
- package/icons/bootstrap/house-door.js +1 -0
- package/icons/bootstrap/house-down-fill.js +1 -0
- package/icons/bootstrap/house-down.js +1 -0
- package/icons/bootstrap/house-exclamation-fill.js +1 -0
- package/icons/bootstrap/house-exclamation.js +1 -0
- package/icons/bootstrap/house-fill.js +1 -0
- package/icons/bootstrap/house-gear-fill.js +1 -0
- package/icons/bootstrap/house-gear.js +1 -0
- package/icons/bootstrap/house-heart-fill.js +1 -0
- package/icons/bootstrap/house-heart.js +1 -0
- package/icons/bootstrap/house-lock-fill.js +1 -0
- package/icons/bootstrap/house-lock.js +1 -0
- package/icons/bootstrap/house-slash-fill.js +1 -0
- package/icons/bootstrap/house-slash.js +1 -0
- package/icons/bootstrap/house-up-fill.js +1 -0
- package/icons/bootstrap/house-up.js +1 -0
- package/icons/bootstrap/house-x-fill.js +1 -0
- package/icons/bootstrap/house-x.js +1 -0
- package/icons/bootstrap/house.js +1 -0
- package/icons/bootstrap/houses-fill.js +1 -0
- package/icons/bootstrap/houses.js +1 -0
- package/icons/bootstrap/hr.js +1 -0
- package/icons/bootstrap/hurricane.js +1 -0
- package/icons/bootstrap/hypnotize.js +1 -0
- package/icons/bootstrap/image-alt.js +1 -0
- package/icons/bootstrap/image-fill.js +1 -0
- package/icons/bootstrap/image.js +1 -0
- package/icons/bootstrap/images.js +1 -0
- package/icons/bootstrap/inbox-fill.js +1 -0
- package/icons/bootstrap/inbox.js +1 -0
- package/icons/bootstrap/inboxes-fill.js +1 -0
- package/icons/bootstrap/inboxes.js +1 -0
- package/icons/bootstrap/incognito.js +1 -0
- package/icons/bootstrap/indent.js +1 -0
- package/icons/bootstrap/infinity.js +1 -0
- package/icons/bootstrap/info-circle-fill.js +1 -0
- package/icons/bootstrap/info-circle.js +1 -0
- package/icons/bootstrap/info-lg.js +1 -0
- package/icons/bootstrap/info-square-fill.js +1 -0
- package/icons/bootstrap/info-square.js +1 -0
- package/icons/bootstrap/info.js +1 -0
- package/icons/bootstrap/input-cursor-text.js +1 -0
- package/icons/bootstrap/input-cursor.js +1 -0
- package/icons/bootstrap/instagram.js +1 -0
- package/icons/bootstrap/intersect.js +1 -0
- package/icons/bootstrap/journal-album.js +1 -0
- package/icons/bootstrap/journal-arrow-down.js +1 -0
- package/icons/bootstrap/journal-arrow-up.js +1 -0
- package/icons/bootstrap/journal-bookmark-fill.js +1 -0
- package/icons/bootstrap/journal-bookmark.js +1 -0
- package/icons/bootstrap/journal-check.js +1 -0
- package/icons/bootstrap/journal-code.js +1 -0
- package/icons/bootstrap/journal-medical.js +1 -0
- package/icons/bootstrap/journal-minus.js +1 -0
- package/icons/bootstrap/journal-plus.js +1 -0
- package/icons/bootstrap/journal-richtext.js +1 -0
- package/icons/bootstrap/journal-text.js +1 -0
- package/icons/bootstrap/journal-x.js +1 -0
- package/icons/bootstrap/journal.js +1 -0
- package/icons/bootstrap/journals.js +1 -0
- package/icons/bootstrap/joystick.js +1 -0
- package/icons/bootstrap/justify-left.js +1 -0
- package/icons/bootstrap/justify-right.js +1 -0
- package/icons/bootstrap/justify.js +1 -0
- package/icons/bootstrap/kanban-fill.js +1 -0
- package/icons/bootstrap/kanban.js +1 -0
- package/icons/bootstrap/key-fill.js +1 -0
- package/icons/bootstrap/key.js +1 -0
- package/icons/bootstrap/keyboard-fill.js +1 -0
- package/icons/bootstrap/keyboard.js +1 -0
- package/icons/bootstrap/ladder.js +1 -0
- package/icons/bootstrap/lamp-fill.js +1 -0
- package/icons/bootstrap/lamp.js +1 -0
- package/icons/bootstrap/laptop-fill.js +1 -0
- package/icons/bootstrap/laptop.js +1 -0
- package/icons/bootstrap/layer-backward.js +1 -0
- package/icons/bootstrap/layer-forward.js +1 -0
- package/icons/bootstrap/layers-fill.js +1 -0
- package/icons/bootstrap/layers-half.js +1 -0
- package/icons/bootstrap/layers.js +1 -0
- package/icons/bootstrap/layout-sidebar-inset-reverse.js +1 -0
- package/icons/bootstrap/layout-sidebar-inset.js +1 -0
- package/icons/bootstrap/layout-sidebar-reverse.js +1 -0
- package/icons/bootstrap/layout-sidebar.js +1 -0
- package/icons/bootstrap/layout-split.js +1 -0
- package/icons/bootstrap/layout-text-sidebar-reverse.js +1 -0
- package/icons/bootstrap/layout-text-sidebar.js +1 -0
- package/icons/bootstrap/layout-text-window-reverse.js +1 -0
- package/icons/bootstrap/layout-text-window.js +1 -0
- package/icons/bootstrap/layout-three-columns.js +1 -0
- package/icons/bootstrap/layout-wtf.js +1 -0
- package/icons/bootstrap/life-preserver.js +1 -0
- package/icons/bootstrap/lightbulb-fill.js +1 -0
- package/icons/bootstrap/lightbulb-off-fill.js +1 -0
- package/icons/bootstrap/lightbulb-off.js +1 -0
- package/icons/bootstrap/lightbulb.js +1 -0
- package/icons/bootstrap/lightning-charge-fill.js +1 -0
- package/icons/bootstrap/lightning-charge.js +1 -0
- package/icons/bootstrap/lightning-fill.js +1 -0
- package/icons/bootstrap/lightning.js +1 -0
- package/icons/bootstrap/line.js +1 -0
- package/icons/bootstrap/link-45deg.js +1 -0
- package/icons/bootstrap/link.js +1 -0
- package/icons/bootstrap/linkedin.js +1 -0
- package/icons/bootstrap/list-check.js +1 -0
- package/icons/bootstrap/list-columns-reverse.js +1 -0
- package/icons/bootstrap/list-columns.js +1 -0
- package/icons/bootstrap/list-nested.js +1 -0
- package/icons/bootstrap/list-ol.js +1 -0
- package/icons/bootstrap/list-stars.js +1 -0
- package/icons/bootstrap/list-task.js +1 -0
- package/icons/bootstrap/list-ul.js +1 -0
- package/icons/bootstrap/list.js +1 -0
- package/icons/bootstrap/lock-fill.js +1 -0
- package/icons/bootstrap/lock.js +1 -0
- package/icons/bootstrap/luggage-fill.js +1 -0
- package/icons/bootstrap/luggage.js +1 -0
- package/icons/bootstrap/lungs-fill.js +1 -0
- package/icons/bootstrap/lungs.js +1 -0
- package/icons/bootstrap/magic.js +1 -0
- package/icons/bootstrap/magnet-fill.js +1 -0
- package/icons/bootstrap/magnet.js +1 -0
- package/icons/bootstrap/mailbox-flag.js +1 -0
- package/icons/bootstrap/mailbox.js +1 -0
- package/icons/bootstrap/mailbox2-flag.js +1 -0
- package/icons/bootstrap/mailbox2.js +1 -0
- package/icons/bootstrap/map-fill.js +1 -0
- package/icons/bootstrap/map.js +1 -0
- package/icons/bootstrap/markdown-fill.js +1 -0
- package/icons/bootstrap/markdown.js +1 -0
- package/icons/bootstrap/marker-tip.js +1 -0
- package/icons/bootstrap/mask.js +1 -0
- package/icons/bootstrap/mastodon.js +1 -0
- package/icons/bootstrap/medium.js +1 -0
- package/icons/bootstrap/megaphone-fill.js +1 -0
- package/icons/bootstrap/megaphone.js +1 -0
- package/icons/bootstrap/memory.js +1 -0
- package/icons/bootstrap/menu-app-fill.js +1 -0
- package/icons/bootstrap/menu-app.js +1 -0
- package/icons/bootstrap/menu-button-fill.js +1 -0
- package/icons/bootstrap/menu-button-wide-fill.js +1 -0
- package/icons/bootstrap/menu-button-wide.js +1 -0
- package/icons/bootstrap/menu-button.js +1 -0
- package/icons/bootstrap/menu-down.js +1 -0
- package/icons/bootstrap/menu-up.js +1 -0
- package/icons/bootstrap/messenger.js +1 -0
- package/icons/bootstrap/meta.js +1 -0
- package/icons/bootstrap/mic-fill.js +1 -0
- package/icons/bootstrap/mic-mute-fill.js +1 -0
- package/icons/bootstrap/mic-mute.js +1 -0
- package/icons/bootstrap/mic.js +1 -0
- package/icons/bootstrap/microsoft-teams.js +1 -0
- package/icons/bootstrap/microsoft.js +1 -0
- package/icons/bootstrap/minecart-loaded.js +1 -0
- package/icons/bootstrap/minecart.js +1 -0
- package/icons/bootstrap/modem-fill.js +1 -0
- package/icons/bootstrap/modem.js +1 -0
- package/icons/bootstrap/moisture.js +1 -0
- package/icons/bootstrap/moon-fill.js +1 -0
- package/icons/bootstrap/moon-stars-fill.js +1 -0
- package/icons/bootstrap/moon-stars.js +1 -0
- package/icons/bootstrap/moon.js +1 -0
- package/icons/bootstrap/mortarboard-fill.js +1 -0
- package/icons/bootstrap/mortarboard.js +1 -0
- package/icons/bootstrap/motherboard-fill.js +1 -0
- package/icons/bootstrap/motherboard.js +1 -0
- package/icons/bootstrap/mouse-fill.js +1 -0
- package/icons/bootstrap/mouse.js +1 -0
- package/icons/bootstrap/mouse2-fill.js +1 -0
- package/icons/bootstrap/mouse2.js +1 -0
- package/icons/bootstrap/mouse3-fill.js +1 -0
- package/icons/bootstrap/mouse3.js +1 -0
- package/icons/bootstrap/music-note-beamed.js +1 -0
- package/icons/bootstrap/music-note-list.js +1 -0
- package/icons/bootstrap/music-note.js +1 -0
- package/icons/bootstrap/music-player-fill.js +1 -0
- package/icons/bootstrap/music-player.js +1 -0
- package/icons/bootstrap/newspaper.js +1 -0
- package/icons/bootstrap/nintendo-switch.js +1 -0
- package/icons/bootstrap/node-minus-fill.js +1 -0
- package/icons/bootstrap/node-minus.js +1 -0
- package/icons/bootstrap/node-plus-fill.js +1 -0
- package/icons/bootstrap/node-plus.js +1 -0
- package/icons/bootstrap/noise-reduction.js +1 -0
- package/icons/bootstrap/nut-fill.js +1 -0
- package/icons/bootstrap/nut.js +1 -0
- package/icons/bootstrap/nvidia.js +1 -0
- package/icons/bootstrap/nvme-fill.js +1 -0
- package/icons/bootstrap/nvme.js +1 -0
- package/icons/bootstrap/octagon-fill.js +1 -0
- package/icons/bootstrap/octagon-half.js +1 -0
- package/icons/bootstrap/octagon.js +1 -0
- package/icons/bootstrap/opencollective.js +1 -0
- package/icons/bootstrap/optical-audio-fill.js +1 -0
- package/icons/bootstrap/optical-audio.js +1 -0
- package/icons/bootstrap/option.js +1 -0
- package/icons/bootstrap/outlet.js +1 -0
- package/icons/bootstrap/p-circle-fill.js +1 -0
- package/icons/bootstrap/p-circle.js +1 -0
- package/icons/bootstrap/p-square-fill.js +1 -0
- package/icons/bootstrap/p-square.js +1 -0
- package/icons/bootstrap/paint-bucket.js +1 -0
- package/icons/bootstrap/palette-fill.js +1 -0
- package/icons/bootstrap/palette.js +1 -0
- package/icons/bootstrap/palette2.js +1 -0
- package/icons/bootstrap/paperclip.js +1 -0
- package/icons/bootstrap/paragraph.js +1 -0
- package/icons/bootstrap/pass-fill.js +1 -0
- package/icons/bootstrap/pass.js +1 -0
- package/icons/bootstrap/passport-fill.js +1 -0
- package/icons/bootstrap/passport.js +1 -0
- package/icons/bootstrap/patch-check-fill.js +1 -0
- package/icons/bootstrap/patch-check.js +1 -0
- package/icons/bootstrap/patch-exclamation-fill.js +1 -0
- package/icons/bootstrap/patch-exclamation.js +1 -0
- package/icons/bootstrap/patch-minus-fill.js +1 -0
- package/icons/bootstrap/patch-minus.js +1 -0
- package/icons/bootstrap/patch-plus-fill.js +1 -0
- package/icons/bootstrap/patch-plus.js +1 -0
- package/icons/bootstrap/patch-question-fill.js +1 -0
- package/icons/bootstrap/patch-question.js +1 -0
- package/icons/bootstrap/pause-btn-fill.js +1 -0
- package/icons/bootstrap/pause-btn.js +1 -0
- package/icons/bootstrap/pause-circle-fill.js +1 -0
- package/icons/bootstrap/pause-circle.js +1 -0
- package/icons/bootstrap/pause-fill.js +1 -0
- package/icons/bootstrap/pause.js +1 -0
- package/icons/bootstrap/paypal.js +1 -0
- package/icons/bootstrap/pc-display-horizontal.js +1 -0
- package/icons/bootstrap/pc-display.js +1 -0
- package/icons/bootstrap/pc-horizontal.js +1 -0
- package/icons/bootstrap/pc.js +1 -0
- package/icons/bootstrap/pci-card-network.js +1 -0
- package/icons/bootstrap/pci-card-sound.js +1 -0
- package/icons/bootstrap/pci-card.js +1 -0
- package/icons/bootstrap/peace-fill.js +1 -0
- package/icons/bootstrap/peace.js +1 -0
- package/icons/bootstrap/pen-fill.js +1 -0
- package/icons/bootstrap/pen.js +1 -0
- package/icons/bootstrap/pencil-fill.js +1 -0
- package/icons/bootstrap/pencil-square.js +1 -0
- package/icons/bootstrap/pencil.js +1 -0
- package/icons/bootstrap/pentagon-fill.js +1 -0
- package/icons/bootstrap/pentagon-half.js +1 -0
- package/icons/bootstrap/pentagon.js +1 -0
- package/icons/bootstrap/people-fill.js +1 -0
- package/icons/bootstrap/people.js +1 -0
- package/icons/bootstrap/percent.js +1 -0
- package/icons/bootstrap/person-add.js +1 -0
- package/icons/bootstrap/person-arms-up.js +1 -0
- package/icons/bootstrap/person-badge-fill.js +1 -0
- package/icons/bootstrap/person-badge.js +1 -0
- package/icons/bootstrap/person-bounding-box.js +1 -0
- package/icons/bootstrap/person-check-fill.js +1 -0
- package/icons/bootstrap/person-check.js +1 -0
- package/icons/bootstrap/person-circle.js +1 -0
- package/icons/bootstrap/person-dash-fill.js +1 -0
- package/icons/bootstrap/person-dash.js +1 -0
- package/icons/bootstrap/person-down.js +1 -0
- package/icons/bootstrap/person-exclamation.js +1 -0
- package/icons/bootstrap/person-fill-add.js +1 -0
- package/icons/bootstrap/person-fill-check.js +1 -0
- package/icons/bootstrap/person-fill-dash.js +1 -0
- package/icons/bootstrap/person-fill-down.js +1 -0
- package/icons/bootstrap/person-fill-exclamation.js +1 -0
- package/icons/bootstrap/person-fill-gear.js +1 -0
- package/icons/bootstrap/person-fill-lock.js +1 -0
- package/icons/bootstrap/person-fill-slash.js +1 -0
- package/icons/bootstrap/person-fill-up.js +1 -0
- package/icons/bootstrap/person-fill-x.js +1 -0
- package/icons/bootstrap/person-fill.js +1 -0
- package/icons/bootstrap/person-gear.js +1 -0
- package/icons/bootstrap/person-heart.js +1 -0
- package/icons/bootstrap/person-hearts.js +1 -0
- package/icons/bootstrap/person-lines-fill.js +1 -0
- package/icons/bootstrap/person-lock.js +1 -0
- package/icons/bootstrap/person-plus-fill.js +1 -0
- package/icons/bootstrap/person-plus.js +1 -0
- package/icons/bootstrap/person-raised-hand.js +1 -0
- package/icons/bootstrap/person-rolodex.js +1 -0
- package/icons/bootstrap/person-slash.js +1 -0
- package/icons/bootstrap/person-square.js +1 -0
- package/icons/bootstrap/person-standing-dress.js +1 -0
- package/icons/bootstrap/person-standing.js +1 -0
- package/icons/bootstrap/person-up.js +1 -0
- package/icons/bootstrap/person-vcard-fill.js +1 -0
- package/icons/bootstrap/person-vcard.js +1 -0
- package/icons/bootstrap/person-video.js +1 -0
- package/icons/bootstrap/person-video2.js +1 -0
- package/icons/bootstrap/person-video3.js +1 -0
- package/icons/bootstrap/person-walking.js +1 -0
- package/icons/bootstrap/person-wheelchair.js +1 -0
- package/icons/bootstrap/person-workspace.js +1 -0
- package/icons/bootstrap/person-x-fill.js +1 -0
- package/icons/bootstrap/person-x.js +1 -0
- package/icons/bootstrap/person.js +1 -0
- package/icons/bootstrap/phone-fill.js +1 -0
- package/icons/bootstrap/phone-flip.js +1 -0
- package/icons/bootstrap/phone-landscape-fill.js +1 -0
- package/icons/bootstrap/phone-landscape.js +1 -0
- package/icons/bootstrap/phone-vibrate-fill.js +1 -0
- package/icons/bootstrap/phone-vibrate.js +1 -0
- package/icons/bootstrap/phone.js +1 -0
- package/icons/bootstrap/pie-chart-fill.js +1 -0
- package/icons/bootstrap/pie-chart.js +1 -0
- package/icons/bootstrap/piggy-bank-fill.js +1 -0
- package/icons/bootstrap/piggy-bank.js +1 -0
- package/icons/bootstrap/pin-angle-fill.js +1 -0
- package/icons/bootstrap/pin-angle.js +1 -0
- package/icons/bootstrap/pin-fill.js +1 -0
- package/icons/bootstrap/pin-map-fill.js +1 -0
- package/icons/bootstrap/pin-map.js +1 -0
- package/icons/bootstrap/pin.js +1 -0
- package/icons/bootstrap/pinterest.js +1 -0
- package/icons/bootstrap/pip-fill.js +1 -0
- package/icons/bootstrap/pip.js +1 -0
- package/icons/bootstrap/play-btn-fill.js +1 -0
- package/icons/bootstrap/play-btn.js +1 -0
- package/icons/bootstrap/play-circle-fill.js +1 -0
- package/icons/bootstrap/play-circle.js +1 -0
- package/icons/bootstrap/play-fill.js +1 -0
- package/icons/bootstrap/play.js +1 -0
- package/icons/bootstrap/playstation.js +1 -0
- package/icons/bootstrap/plug-fill.js +1 -0
- package/icons/bootstrap/plug.js +1 -0
- package/icons/bootstrap/plugin.js +1 -0
- package/icons/bootstrap/plus-circle-dotted.js +1 -0
- package/icons/bootstrap/plus-circle-fill.js +1 -0
- package/icons/bootstrap/plus-circle.js +1 -0
- package/icons/bootstrap/plus-lg.js +1 -0
- package/icons/bootstrap/plus-slash-minus.js +1 -0
- package/icons/bootstrap/plus-square-dotted.js +1 -0
- package/icons/bootstrap/plus-square-fill.js +1 -0
- package/icons/bootstrap/plus-square.js +1 -0
- package/icons/bootstrap/plus.js +1 -0
- package/icons/bootstrap/postage-fill.js +1 -0
- package/icons/bootstrap/postage-heart-fill.js +1 -0
- package/icons/bootstrap/postage-heart.js +1 -0
- package/icons/bootstrap/postage.js +1 -0
- package/icons/bootstrap/postcard-fill.js +1 -0
- package/icons/bootstrap/postcard-heart-fill.js +1 -0
- package/icons/bootstrap/postcard-heart.js +1 -0
- package/icons/bootstrap/postcard.js +1 -0
- package/icons/bootstrap/power.js +1 -0
- package/icons/bootstrap/prescription.js +1 -0
- package/icons/bootstrap/prescription2.js +1 -0
- package/icons/bootstrap/printer-fill.js +1 -0
- package/icons/bootstrap/printer.js +1 -0
- package/icons/bootstrap/projector-fill.js +1 -0
- package/icons/bootstrap/projector.js +1 -0
- package/icons/bootstrap/puzzle-fill.js +1 -0
- package/icons/bootstrap/puzzle.js +1 -0
- package/icons/bootstrap/qr-code-scan.js +1 -0
- package/icons/bootstrap/qr-code.js +1 -0
- package/icons/bootstrap/question-circle-fill.js +1 -0
- package/icons/bootstrap/question-circle.js +1 -0
- package/icons/bootstrap/question-diamond-fill.js +1 -0
- package/icons/bootstrap/question-diamond.js +1 -0
- package/icons/bootstrap/question-lg.js +1 -0
- package/icons/bootstrap/question-octagon-fill.js +1 -0
- package/icons/bootstrap/question-octagon.js +1 -0
- package/icons/bootstrap/question-square-fill.js +1 -0
- package/icons/bootstrap/question-square.js +1 -0
- package/icons/bootstrap/question.js +1 -0
- package/icons/bootstrap/quora.js +1 -0
- package/icons/bootstrap/quote.js +1 -0
- package/icons/bootstrap/r-circle-fill.js +1 -0
- package/icons/bootstrap/r-circle.js +1 -0
- package/icons/bootstrap/r-square-fill.js +1 -0
- package/icons/bootstrap/r-square.js +1 -0
- package/icons/bootstrap/radar.js +1 -0
- package/icons/bootstrap/radioactive.js +1 -0
- package/icons/bootstrap/rainbow.js +1 -0
- package/icons/bootstrap/receipt-cutoff.js +1 -0
- package/icons/bootstrap/receipt.js +1 -0
- package/icons/bootstrap/reception-0.js +1 -0
- package/icons/bootstrap/reception-1.js +1 -0
- package/icons/bootstrap/reception-2.js +1 -0
- package/icons/bootstrap/reception-3.js +1 -0
- package/icons/bootstrap/reception-4.js +1 -0
- package/icons/bootstrap/record-btn-fill.js +1 -0
- package/icons/bootstrap/record-btn.js +1 -0
- package/icons/bootstrap/record-circle-fill.js +1 -0
- package/icons/bootstrap/record-circle.js +1 -0
- package/icons/bootstrap/record-fill.js +1 -0
- package/icons/bootstrap/record.js +1 -0
- package/icons/bootstrap/record2-fill.js +1 -0
- package/icons/bootstrap/record2.js +1 -0
- package/icons/bootstrap/recycle.js +1 -0
- package/icons/bootstrap/reddit.js +1 -0
- package/icons/bootstrap/regex.js +1 -0
- package/icons/bootstrap/repeat-1.js +1 -0
- package/icons/bootstrap/repeat.js +1 -0
- package/icons/bootstrap/reply-all-fill.js +1 -0
- package/icons/bootstrap/reply-all.js +1 -0
- package/icons/bootstrap/reply-fill.js +1 -0
- package/icons/bootstrap/reply.js +1 -0
- package/icons/bootstrap/rewind-btn-fill.js +1 -0
- package/icons/bootstrap/rewind-btn.js +1 -0
- package/icons/bootstrap/rewind-circle-fill.js +1 -0
- package/icons/bootstrap/rewind-circle.js +1 -0
- package/icons/bootstrap/rewind-fill.js +1 -0
- package/icons/bootstrap/rewind.js +1 -0
- package/icons/bootstrap/robot.js +1 -0
- package/icons/bootstrap/rocket-fill.js +1 -0
- package/icons/bootstrap/rocket-takeoff-fill.js +1 -0
- package/icons/bootstrap/rocket-takeoff.js +1 -0
- package/icons/bootstrap/rocket.js +1 -0
- package/icons/bootstrap/router-fill.js +1 -0
- package/icons/bootstrap/router.js +1 -0
- package/icons/bootstrap/rss-fill.js +1 -0
- package/icons/bootstrap/rss.js +1 -0
- package/icons/bootstrap/rulers.js +1 -0
- package/icons/bootstrap/safe-fill.js +1 -0
- package/icons/bootstrap/safe.js +1 -0
- package/icons/bootstrap/safe2-fill.js +1 -0
- package/icons/bootstrap/safe2.js +1 -0
- package/icons/bootstrap/save-fill.js +1 -0
- package/icons/bootstrap/save.js +1 -0
- package/icons/bootstrap/save2-fill.js +1 -0
- package/icons/bootstrap/save2.js +1 -0
- package/icons/bootstrap/scissors.js +1 -0
- package/icons/bootstrap/scooter.js +1 -0
- package/icons/bootstrap/screwdriver.js +1 -0
- package/icons/bootstrap/sd-card-fill.js +1 -0
- package/icons/bootstrap/sd-card.js +1 -0
- package/icons/bootstrap/search-heart-fill.js +1 -0
- package/icons/bootstrap/search-heart.js +1 -0
- package/icons/bootstrap/search.js +1 -0
- package/icons/bootstrap/segmented-nav.js +1 -0
- package/icons/bootstrap/send-arrow-down-fill.js +1 -0
- package/icons/bootstrap/send-arrow-down.js +1 -0
- package/icons/bootstrap/send-arrow-up-fill.js +1 -0
- package/icons/bootstrap/send-arrow-up.js +1 -0
- package/icons/bootstrap/send-check-fill.js +1 -0
- package/icons/bootstrap/send-check.js +1 -0
- package/icons/bootstrap/send-dash-fill.js +1 -0
- package/icons/bootstrap/send-dash.js +1 -0
- package/icons/bootstrap/send-exclamation-fill.js +1 -0
- package/icons/bootstrap/send-exclamation.js +1 -0
- package/icons/bootstrap/send-fill.js +1 -0
- package/icons/bootstrap/send-plus-fill.js +1 -0
- package/icons/bootstrap/send-plus.js +1 -0
- package/icons/bootstrap/send-slash-fill.js +1 -0
- package/icons/bootstrap/send-slash.js +1 -0
- package/icons/bootstrap/send-x-fill.js +1 -0
- package/icons/bootstrap/send-x.js +1 -0
- package/icons/bootstrap/send.js +1 -0
- package/icons/bootstrap/server.js +1 -0
- package/icons/bootstrap/shadows.js +1 -0
- package/icons/bootstrap/share-fill.js +1 -0
- package/icons/bootstrap/share.js +1 -0
- package/icons/bootstrap/shield-check.js +1 -0
- package/icons/bootstrap/shield-exclamation.js +1 -0
- package/icons/bootstrap/shield-fill-check.js +1 -0
- package/icons/bootstrap/shield-fill-exclamation.js +1 -0
- package/icons/bootstrap/shield-fill-minus.js +1 -0
- package/icons/bootstrap/shield-fill-plus.js +1 -0
- package/icons/bootstrap/shield-fill-x.js +1 -0
- package/icons/bootstrap/shield-fill.js +1 -0
- package/icons/bootstrap/shield-lock-fill.js +1 -0
- package/icons/bootstrap/shield-lock.js +1 -0
- package/icons/bootstrap/shield-minus.js +1 -0
- package/icons/bootstrap/shield-plus.js +1 -0
- package/icons/bootstrap/shield-shaded.js +1 -0
- package/icons/bootstrap/shield-slash-fill.js +1 -0
- package/icons/bootstrap/shield-slash.js +1 -0
- package/icons/bootstrap/shield-x.js +1 -0
- package/icons/bootstrap/shield.js +1 -0
- package/icons/bootstrap/shift-fill.js +1 -0
- package/icons/bootstrap/shift.js +1 -0
- package/icons/bootstrap/shop-window.js +1 -0
- package/icons/bootstrap/shop.js +1 -0
- package/icons/bootstrap/shuffle.js +1 -0
- package/icons/bootstrap/sign-dead-end-fill.js +1 -0
- package/icons/bootstrap/sign-dead-end.js +1 -0
- package/icons/bootstrap/sign-do-not-enter-fill.js +1 -0
- package/icons/bootstrap/sign-do-not-enter.js +1 -0
- package/icons/bootstrap/sign-intersection-fill.js +1 -0
- package/icons/bootstrap/sign-intersection-side-fill.js +1 -0
- package/icons/bootstrap/sign-intersection-side.js +1 -0
- package/icons/bootstrap/sign-intersection-t-fill.js +1 -0
- package/icons/bootstrap/sign-intersection-t.js +1 -0
- package/icons/bootstrap/sign-intersection-y-fill.js +1 -0
- package/icons/bootstrap/sign-intersection-y.js +1 -0
- package/icons/bootstrap/sign-intersection.js +1 -0
- package/icons/bootstrap/sign-merge-left-fill.js +1 -0
- package/icons/bootstrap/sign-merge-left.js +1 -0
- package/icons/bootstrap/sign-merge-right-fill.js +1 -0
- package/icons/bootstrap/sign-merge-right.js +1 -0
- package/icons/bootstrap/sign-no-left-turn-fill.js +1 -0
- package/icons/bootstrap/sign-no-left-turn.js +1 -0
- package/icons/bootstrap/sign-no-parking-fill.js +1 -0
- package/icons/bootstrap/sign-no-parking.js +1 -0
- package/icons/bootstrap/sign-no-right-turn-fill.js +1 -0
- package/icons/bootstrap/sign-no-right-turn.js +1 -0
- package/icons/bootstrap/sign-railroad-fill.js +1 -0
- package/icons/bootstrap/sign-railroad.js +1 -0
- package/icons/bootstrap/sign-stop-fill.js +1 -0
- package/icons/bootstrap/sign-stop-lights-fill.js +1 -0
- package/icons/bootstrap/sign-stop-lights.js +1 -0
- package/icons/bootstrap/sign-stop.js +1 -0
- package/icons/bootstrap/sign-turn-left-fill.js +1 -0
- package/icons/bootstrap/sign-turn-left.js +1 -0
- package/icons/bootstrap/sign-turn-right-fill.js +1 -0
- package/icons/bootstrap/sign-turn-right.js +1 -0
- package/icons/bootstrap/sign-turn-slight-left-fill.js +1 -0
- package/icons/bootstrap/sign-turn-slight-left.js +1 -0
- package/icons/bootstrap/sign-turn-slight-right-fill.js +1 -0
- package/icons/bootstrap/sign-turn-slight-right.js +1 -0
- package/icons/bootstrap/sign-yield-fill.js +1 -0
- package/icons/bootstrap/sign-yield.js +1 -0
- package/icons/bootstrap/signal.js +1 -0
- package/icons/bootstrap/signpost-2-fill.js +1 -0
- package/icons/bootstrap/signpost-2.js +1 -0
- package/icons/bootstrap/signpost-fill.js +1 -0
- package/icons/bootstrap/signpost-split-fill.js +1 -0
- package/icons/bootstrap/signpost-split.js +1 -0
- package/icons/bootstrap/signpost.js +1 -0
- package/icons/bootstrap/sim-fill.js +1 -0
- package/icons/bootstrap/sim-slash-fill.js +1 -0
- package/icons/bootstrap/sim-slash.js +1 -0
- package/icons/bootstrap/sim.js +1 -0
- package/icons/bootstrap/sina-weibo.js +1 -0
- package/icons/bootstrap/skip-backward-btn-fill.js +1 -0
- package/icons/bootstrap/skip-backward-btn.js +1 -0
- package/icons/bootstrap/skip-backward-circle-fill.js +1 -0
- package/icons/bootstrap/skip-backward-circle.js +1 -0
- package/icons/bootstrap/skip-backward-fill.js +1 -0
- package/icons/bootstrap/skip-backward.js +1 -0
- package/icons/bootstrap/skip-end-btn-fill.js +1 -0
- package/icons/bootstrap/skip-end-btn.js +1 -0
- package/icons/bootstrap/skip-end-circle-fill.js +1 -0
- package/icons/bootstrap/skip-end-circle.js +1 -0
- package/icons/bootstrap/skip-end-fill.js +1 -0
- package/icons/bootstrap/skip-end.js +1 -0
- package/icons/bootstrap/skip-forward-btn-fill.js +1 -0
- package/icons/bootstrap/skip-forward-btn.js +1 -0
- package/icons/bootstrap/skip-forward-circle-fill.js +1 -0
- package/icons/bootstrap/skip-forward-circle.js +1 -0
- package/icons/bootstrap/skip-forward-fill.js +1 -0
- package/icons/bootstrap/skip-forward.js +1 -0
- package/icons/bootstrap/skip-start-btn-fill.js +1 -0
- package/icons/bootstrap/skip-start-btn.js +1 -0
- package/icons/bootstrap/skip-start-circle-fill.js +1 -0
- package/icons/bootstrap/skip-start-circle.js +1 -0
- package/icons/bootstrap/skip-start-fill.js +1 -0
- package/icons/bootstrap/skip-start.js +1 -0
- package/icons/bootstrap/skype.js +1 -0
- package/icons/bootstrap/slack.js +1 -0
- package/icons/bootstrap/slash-circle-fill.js +1 -0
- package/icons/bootstrap/slash-circle.js +1 -0
- package/icons/bootstrap/slash-lg.js +1 -0
- package/icons/bootstrap/slash-square-fill.js +1 -0
- package/icons/bootstrap/slash-square.js +1 -0
- package/icons/bootstrap/slash.js +1 -0
- package/icons/bootstrap/sliders.js +1 -0
- package/icons/bootstrap/sliders2-vertical.js +1 -0
- package/icons/bootstrap/sliders2.js +1 -0
- package/icons/bootstrap/smartwatch.js +1 -0
- package/icons/bootstrap/snapchat.js +1 -0
- package/icons/bootstrap/snow.js +1 -0
- package/icons/bootstrap/snow2.js +1 -0
- package/icons/bootstrap/snow3.js +1 -0
- package/icons/bootstrap/sort-alpha-down-alt.js +1 -0
- package/icons/bootstrap/sort-alpha-down.js +1 -0
- package/icons/bootstrap/sort-alpha-up-alt.js +1 -0
- package/icons/bootstrap/sort-alpha-up.js +1 -0
- package/icons/bootstrap/sort-down-alt.js +1 -0
- package/icons/bootstrap/sort-down.js +1 -0
- package/icons/bootstrap/sort-numeric-down-alt.js +1 -0
- package/icons/bootstrap/sort-numeric-down.js +1 -0
- package/icons/bootstrap/sort-numeric-up-alt.js +1 -0
- package/icons/bootstrap/sort-numeric-up.js +1 -0
- package/icons/bootstrap/sort-up-alt.js +1 -0
- package/icons/bootstrap/sort-up.js +1 -0
- package/icons/bootstrap/soundwave.js +1 -0
- package/icons/bootstrap/sourceforge.js +1 -0
- package/icons/bootstrap/speaker-fill.js +1 -0
- package/icons/bootstrap/speaker.js +1 -0
- package/icons/bootstrap/speedometer.js +1 -0
- package/icons/bootstrap/speedometer2.js +1 -0
- package/icons/bootstrap/spellcheck.js +1 -0
- package/icons/bootstrap/spotify.js +1 -0
- package/icons/bootstrap/square-fill.js +1 -0
- package/icons/bootstrap/square-half.js +1 -0
- package/icons/bootstrap/square.js +1 -0
- package/icons/bootstrap/stack-overflow.js +1 -0
- package/icons/bootstrap/stack.js +1 -0
- package/icons/bootstrap/star-fill.js +1 -0
- package/icons/bootstrap/star-half.js +1 -0
- package/icons/bootstrap/star.js +1 -0
- package/icons/bootstrap/stars.js +1 -0
- package/icons/bootstrap/steam.js +1 -0
- package/icons/bootstrap/stickies-fill.js +1 -0
- package/icons/bootstrap/stickies.js +1 -0
- package/icons/bootstrap/sticky-fill.js +1 -0
- package/icons/bootstrap/sticky.js +1 -0
- package/icons/bootstrap/stop-btn-fill.js +1 -0
- package/icons/bootstrap/stop-btn.js +1 -0
- package/icons/bootstrap/stop-circle-fill.js +1 -0
- package/icons/bootstrap/stop-circle.js +1 -0
- package/icons/bootstrap/stop-fill.js +1 -0
- package/icons/bootstrap/stop.js +1 -0
- package/icons/bootstrap/stoplights-fill.js +1 -0
- package/icons/bootstrap/stoplights.js +1 -0
- package/icons/bootstrap/stopwatch-fill.js +1 -0
- package/icons/bootstrap/stopwatch.js +1 -0
- package/icons/bootstrap/strava.js +1 -0
- package/icons/bootstrap/stripe.js +1 -0
- package/icons/bootstrap/subscript.js +1 -0
- package/icons/bootstrap/substack.js +1 -0
- package/icons/bootstrap/subtract.js +1 -0
- package/icons/bootstrap/suit-club-fill.js +1 -0
- package/icons/bootstrap/suit-club.js +1 -0
- package/icons/bootstrap/suit-diamond-fill.js +1 -0
- package/icons/bootstrap/suit-diamond.js +1 -0
- package/icons/bootstrap/suit-heart-fill.js +1 -0
- package/icons/bootstrap/suit-heart.js +1 -0
- package/icons/bootstrap/suit-spade-fill.js +1 -0
- package/icons/bootstrap/suit-spade.js +1 -0
- package/icons/bootstrap/suitcase-fill.js +1 -0
- package/icons/bootstrap/suitcase-lg-fill.js +1 -0
- package/icons/bootstrap/suitcase-lg.js +1 -0
- package/icons/bootstrap/suitcase.js +1 -0
- package/icons/bootstrap/suitcase2-fill.js +1 -0
- package/icons/bootstrap/suitcase2.js +1 -0
- package/icons/bootstrap/sun-fill.js +1 -0
- package/icons/bootstrap/sun.js +1 -0
- package/icons/bootstrap/sunglasses.js +1 -0
- package/icons/bootstrap/sunrise-fill.js +1 -0
- package/icons/bootstrap/sunrise.js +1 -0
- package/icons/bootstrap/sunset-fill.js +1 -0
- package/icons/bootstrap/sunset.js +1 -0
- package/icons/bootstrap/superscript.js +1 -0
- package/icons/bootstrap/symmetry-horizontal.js +1 -0
- package/icons/bootstrap/symmetry-vertical.js +1 -0
- package/icons/bootstrap/table.js +1 -0
- package/icons/bootstrap/tablet-fill.js +1 -0
- package/icons/bootstrap/tablet-landscape-fill.js +1 -0
- package/icons/bootstrap/tablet-landscape.js +1 -0
- package/icons/bootstrap/tablet.js +1 -0
- package/icons/bootstrap/tag-fill.js +1 -0
- package/icons/bootstrap/tag.js +1 -0
- package/icons/bootstrap/tags-fill.js +1 -0
- package/icons/bootstrap/tags.js +1 -0
- package/icons/bootstrap/taxi-front-fill.js +1 -0
- package/icons/bootstrap/taxi-front.js +1 -0
- package/icons/bootstrap/telegram.js +1 -0
- package/icons/bootstrap/telephone-fill.js +1 -0
- package/icons/bootstrap/telephone-forward-fill.js +1 -0
- package/icons/bootstrap/telephone-forward.js +1 -0
- package/icons/bootstrap/telephone-inbound-fill.js +1 -0
- package/icons/bootstrap/telephone-inbound.js +1 -0
- package/icons/bootstrap/telephone-minus-fill.js +1 -0
- package/icons/bootstrap/telephone-minus.js +1 -0
- package/icons/bootstrap/telephone-outbound-fill.js +1 -0
- package/icons/bootstrap/telephone-outbound.js +1 -0
- package/icons/bootstrap/telephone-plus-fill.js +1 -0
- package/icons/bootstrap/telephone-plus.js +1 -0
- package/icons/bootstrap/telephone-x-fill.js +1 -0
- package/icons/bootstrap/telephone-x.js +1 -0
- package/icons/bootstrap/telephone.js +1 -0
- package/icons/bootstrap/tencent-qq.js +1 -0
- package/icons/bootstrap/terminal-dash.js +1 -0
- package/icons/bootstrap/terminal-fill.js +1 -0
- package/icons/bootstrap/terminal-plus.js +1 -0
- package/icons/bootstrap/terminal-split.js +1 -0
- package/icons/bootstrap/terminal-x.js +1 -0
- package/icons/bootstrap/terminal.js +1 -0
- package/icons/bootstrap/text-center.js +1 -0
- package/icons/bootstrap/text-indent-left.js +1 -0
- package/icons/bootstrap/text-indent-right.js +1 -0
- package/icons/bootstrap/text-left.js +1 -0
- package/icons/bootstrap/text-paragraph.js +1 -0
- package/icons/bootstrap/text-right.js +1 -0
- package/icons/bootstrap/text-wrap.js +1 -0
- package/icons/bootstrap/textarea-resize.js +1 -0
- package/icons/bootstrap/textarea-t.js +1 -0
- package/icons/bootstrap/textarea.js +1 -0
- package/icons/bootstrap/thermometer-half.js +1 -0
- package/icons/bootstrap/thermometer-high.js +1 -0
- package/icons/bootstrap/thermometer-low.js +1 -0
- package/icons/bootstrap/thermometer-snow.js +1 -0
- package/icons/bootstrap/thermometer-sun.js +1 -0
- package/icons/bootstrap/thermometer.js +1 -0
- package/icons/bootstrap/threads-fill.js +1 -0
- package/icons/bootstrap/threads.js +1 -0
- package/icons/bootstrap/three-dots-vertical.js +1 -0
- package/icons/bootstrap/three-dots.js +1 -0
- package/icons/bootstrap/thunderbolt-fill.js +1 -0
- package/icons/bootstrap/thunderbolt.js +1 -0
- package/icons/bootstrap/ticket-detailed-fill.js +1 -0
- package/icons/bootstrap/ticket-detailed.js +1 -0
- package/icons/bootstrap/ticket-fill.js +1 -0
- package/icons/bootstrap/ticket-perforated-fill.js +1 -0
- package/icons/bootstrap/ticket-perforated.js +1 -0
- package/icons/bootstrap/ticket.js +1 -0
- package/icons/bootstrap/tiktok.js +1 -0
- package/icons/bootstrap/toggle-off.js +1 -0
- package/icons/bootstrap/toggle-on.js +1 -0
- package/icons/bootstrap/toggle2-off.js +1 -0
- package/icons/bootstrap/toggle2-on.js +1 -0
- package/icons/bootstrap/toggles.js +1 -0
- package/icons/bootstrap/toggles2.js +1 -0
- package/icons/bootstrap/tools.js +1 -0
- package/icons/bootstrap/tornado.js +1 -0
- package/icons/bootstrap/train-freight-front-fill.js +1 -0
- package/icons/bootstrap/train-freight-front.js +1 -0
- package/icons/bootstrap/train-front-fill.js +1 -0
- package/icons/bootstrap/train-front.js +1 -0
- package/icons/bootstrap/train-lightrail-front-fill.js +1 -0
- package/icons/bootstrap/train-lightrail-front.js +1 -0
- package/icons/bootstrap/translate.js +1 -0
- package/icons/bootstrap/transparency.js +1 -0
- package/icons/bootstrap/trash-fill.js +1 -0
- package/icons/bootstrap/trash.js +1 -0
- package/icons/bootstrap/trash2-fill.js +1 -0
- package/icons/bootstrap/trash2.js +1 -0
- package/icons/bootstrap/trash3-fill.js +1 -0
- package/icons/bootstrap/trash3.js +1 -0
- package/icons/bootstrap/tree-fill.js +1 -0
- package/icons/bootstrap/tree.js +1 -0
- package/icons/bootstrap/trello.js +1 -0
- package/icons/bootstrap/triangle-fill.js +1 -0
- package/icons/bootstrap/triangle-half.js +1 -0
- package/icons/bootstrap/triangle.js +1 -0
- package/icons/bootstrap/trophy-fill.js +1 -0
- package/icons/bootstrap/trophy.js +1 -0
- package/icons/bootstrap/tropical-storm.js +1 -0
- package/icons/bootstrap/truck-flatbed.js +1 -0
- package/icons/bootstrap/truck-front-fill.js +1 -0
- package/icons/bootstrap/truck-front.js +1 -0
- package/icons/bootstrap/truck.js +1 -0
- package/icons/bootstrap/tsunami.js +1 -0
- package/icons/bootstrap/tv-fill.js +1 -0
- package/icons/bootstrap/tv.js +1 -0
- package/icons/bootstrap/twitch.js +1 -0
- package/icons/bootstrap/twitter-x.js +1 -0
- package/icons/bootstrap/twitter.js +1 -0
- package/icons/bootstrap/type-bold.js +1 -0
- package/icons/bootstrap/type-h1.js +1 -0
- package/icons/bootstrap/type-h2.js +1 -0
- package/icons/bootstrap/type-h3.js +1 -0
- package/icons/bootstrap/type-h4.js +1 -0
- package/icons/bootstrap/type-h5.js +1 -0
- package/icons/bootstrap/type-h6.js +1 -0
- package/icons/bootstrap/type-italic.js +1 -0
- package/icons/bootstrap/type-strikethrough.js +1 -0
- package/icons/bootstrap/type-underline.js +1 -0
- package/icons/bootstrap/type.js +1 -0
- package/icons/bootstrap/ubuntu.js +1 -0
- package/icons/bootstrap/ui-checks-grid.js +1 -0
- package/icons/bootstrap/ui-checks.js +1 -0
- package/icons/bootstrap/ui-radios-grid.js +1 -0
- package/icons/bootstrap/ui-radios.js +1 -0
- package/icons/bootstrap/umbrella-fill.js +1 -0
- package/icons/bootstrap/umbrella.js +1 -0
- package/icons/bootstrap/unindent.js +1 -0
- package/icons/bootstrap/union.js +1 -0
- package/icons/bootstrap/unity.js +1 -0
- package/icons/bootstrap/universal-access-circle.js +1 -0
- package/icons/bootstrap/universal-access.js +1 -0
- package/icons/bootstrap/unlock-fill.js +1 -0
- package/icons/bootstrap/unlock.js +1 -0
- package/icons/bootstrap/upc-scan.js +1 -0
- package/icons/bootstrap/upc.js +1 -0
- package/icons/bootstrap/upload.js +1 -0
- package/icons/bootstrap/usb-c-fill.js +1 -0
- package/icons/bootstrap/usb-c.js +1 -0
- package/icons/bootstrap/usb-drive-fill.js +1 -0
- package/icons/bootstrap/usb-drive.js +1 -0
- package/icons/bootstrap/usb-fill.js +1 -0
- package/icons/bootstrap/usb-micro-fill.js +1 -0
- package/icons/bootstrap/usb-micro.js +1 -0
- package/icons/bootstrap/usb-mini-fill.js +1 -0
- package/icons/bootstrap/usb-mini.js +1 -0
- package/icons/bootstrap/usb-plug-fill.js +1 -0
- package/icons/bootstrap/usb-plug.js +1 -0
- package/icons/bootstrap/usb-symbol.js +1 -0
- package/icons/bootstrap/usb.js +1 -0
- package/icons/bootstrap/valentine.js +1 -0
- package/icons/bootstrap/valentine2.js +1 -0
- package/icons/bootstrap/vector-pen.js +1 -0
- package/icons/bootstrap/view-list.js +1 -0
- package/icons/bootstrap/view-stacked.js +1 -0
- package/icons/bootstrap/vignette.js +1 -0
- package/icons/bootstrap/vimeo.js +1 -0
- package/icons/bootstrap/vinyl-fill.js +1 -0
- package/icons/bootstrap/vinyl.js +1 -0
- package/icons/bootstrap/virus.js +1 -0
- package/icons/bootstrap/virus2.js +1 -0
- package/icons/bootstrap/voicemail.js +1 -0
- package/icons/bootstrap/volume-down-fill.js +1 -0
- package/icons/bootstrap/volume-down.js +1 -0
- package/icons/bootstrap/volume-mute-fill.js +1 -0
- package/icons/bootstrap/volume-mute.js +1 -0
- package/icons/bootstrap/volume-off-fill.js +1 -0
- package/icons/bootstrap/volume-off.js +1 -0
- package/icons/bootstrap/volume-up-fill.js +1 -0
- package/icons/bootstrap/volume-up.js +1 -0
- package/icons/bootstrap/vr.js +1 -0
- package/icons/bootstrap/wallet-fill.js +1 -0
- package/icons/bootstrap/wallet.js +1 -0
- package/icons/bootstrap/wallet2.js +1 -0
- package/icons/bootstrap/watch.js +1 -0
- package/icons/bootstrap/water.js +1 -0
- package/icons/bootstrap/webcam-fill.js +1 -0
- package/icons/bootstrap/webcam.js +1 -0
- package/icons/bootstrap/wechat.js +1 -0
- package/icons/bootstrap/whatsapp.js +1 -0
- package/icons/bootstrap/wifi-1.js +1 -0
- package/icons/bootstrap/wifi-2.js +1 -0
- package/icons/bootstrap/wifi-off.js +1 -0
- package/icons/bootstrap/wifi.js +1 -0
- package/icons/bootstrap/wikipedia.js +1 -0
- package/icons/bootstrap/wind.js +1 -0
- package/icons/bootstrap/window-dash.js +1 -0
- package/icons/bootstrap/window-desktop.js +1 -0
- package/icons/bootstrap/window-dock.js +1 -0
- package/icons/bootstrap/window-fullscreen.js +1 -0
- package/icons/bootstrap/window-plus.js +1 -0
- package/icons/bootstrap/window-sidebar.js +1 -0
- package/icons/bootstrap/window-split.js +1 -0
- package/icons/bootstrap/window-stack.js +1 -0
- package/icons/bootstrap/window-x.js +1 -0
- package/icons/bootstrap/window.js +1 -0
- package/icons/bootstrap/windows.js +1 -0
- package/icons/bootstrap/wordpress.js +1 -0
- package/icons/bootstrap/wrench-adjustable-circle-fill.js +1 -0
- package/icons/bootstrap/wrench-adjustable-circle.js +1 -0
- package/icons/bootstrap/wrench-adjustable.js +1 -0
- package/icons/bootstrap/wrench.js +1 -0
- package/icons/bootstrap/x-circle-fill.js +1 -0
- package/icons/bootstrap/x-circle.js +1 -0
- package/icons/bootstrap/x-diamond-fill.js +1 -0
- package/icons/bootstrap/x-diamond.js +1 -0
- package/icons/bootstrap/x-lg.js +1 -0
- package/icons/bootstrap/x-octagon-fill.js +1 -0
- package/icons/bootstrap/x-octagon.js +1 -0
- package/icons/bootstrap/x-square-fill.js +1 -0
- package/icons/bootstrap/x-square.js +1 -0
- package/icons/bootstrap/x.js +1 -0
- package/icons/bootstrap/xbox.js +1 -0
- package/icons/bootstrap/yelp.js +1 -0
- package/icons/bootstrap/yin-yang.js +1 -0
- package/icons/bootstrap/youtube.js +1 -0
- package/icons/bootstrap/zoom-in.js +1 -0
- package/icons/bootstrap/zoom-out.js +1 -0
- package/package.json +20 -23
- package/react/index.d.ts +41 -5
- package/react/index.js +1441 -497
- package/vite-plugin-modules.d.ts +8 -0
- package/dist/shared/likec4.4c1Hb6hc.mjs +0 -4144
- package/dist/shared/likec4.DASl7M77.mjs +0 -183
- package/dist/shared/likec4.fwpDnke2.mjs +0 -272
package/dist/cli/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{h as ve,r as
|
|
3
|
-
rmSync as cr,statSync as
|
|
4
|
-
writeFile as Oe,mkdir as Se,stat as
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
use-dot-bin",boolean:!0,type:"boolean",desc:Le()?"enabled in container, disable by --no-use-dot":'use graphviz binaries ("dot" should be on PATH)',default:Le()},
|
|
8
|
-
|
|
9
|
-
ip address of the network interface to listen on"},nargs:1},
|
|
10
|
-
join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile()||r==="directory"&&o?.isDirectory())return s}catch{}i=W.dirname(i)}}function
|
|
2
|
+
import{h as ve,r as Ac,k as He,l as us,m as st,u as y,w as ls,o as _c,p as Cc,q as ge,s as fs,v as yt,x as Te,y as xc,d as ps,z as ds,A as Tc,c as Ic,L as ye,_ as Oc,j as hs,B as Lc,C as it,D as sr,E as kc,F as ms,G as wt,H as gs,I as Nc,J as Pc,K as jc,M as Dc,O as qc,P as Ie,Q as Hc,R as Mc,S as Uc,U as Fc,V as Gc,W as Bc,X as Vc,Y as zc,e as Wc,Z as Be,$ as ir,a0 as Ve,a1 as or,a2 as ar,a3 as Xc,a4 as Kc,a5 as Yc,a6 as Jc}from"../shared/likec4.CDVXAxDx.mjs";import B,{existsSync as _e,copyFileSync as ys,
|
|
3
|
+
readdirSync as Qc,rmSync as cr,statSync as Zc}from"node:fs";import re,{hrtime as eu,cwd as vt,exit as ws,argv as tu,stdout as ru}from"node:process";import{b as vs,t as ur,a as nu,d as Me}from"../shared/likec4.CB2-Uaub.mjs";import{env as $s,isMinimal as su,nodeENV as iu,isDevelopment as bs}from"std-env";import ou from"yargs";import{hideBin as au}from"yargs/helpers";import W,{resolve as z,dirname as Re,join as ot,relative as Ce,sep as Es,extname as at,isAbsolute as lr,basename as $t}from"node:path";
|
|
4
|
+
import Rs,{mkdtemp as bt,writeFile as Oe,mkdir as Se,stat as fr,copyFile as cu,rm as uu}from"node:fs/promises";import ct,{tmpdir as Et}from"node:os";import{fileURLToPath as Ss}from"node:url";import pr from"@vitejs/plugin-react";import As from"util";import dr,{resolve as ze}from"path";import{j as _s,e as Cs,C as lu,t as xs,N as We,L as hr,g as fu,a as pu,b as du}from"../shared/likec4.CRP-WAuw.mjs";import{build as ut,createServer as hu,preview as mu}from"vite";import gu from"node:module";import{invariant as mr,
|
|
5
|
+
nonexhaustive as gr}from"@likec4/core";import yu from"node:net";import{setTimeout as wu}from"node:timers/promises";import{promisify as ae,isDeepStrictEqual as Ts}from"node:util";import Ue from"node:crypto";import Is from"node:assert";import{a as Xe}from"../shared/likec4.CXTvqtC-.mjs";import{isDeploymentRelationModel as vu,isRelationModel as $u,isDeploymentElementModel as bu,isLikeC4ViewModel as Eu,isElementModel as Ru,LikeC4Model as Su}from"@likec4/core/model";import{compareNatural as Au,sortNaturalByFqn as _u,
|
|
6
|
+
invariant as Cu,delay as Os}from"@likec4/core/utils";let yr;function xu(){try{return B.statSync("/.dockerenv"),!0}catch{return!1}}function Tu(){try{return B.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Iu(){return yr===void 0&&(yr=xu()||Tu()),yr}let wr;const Ou=()=>{try{return B.statSync("/run/.containerenv"),!0}catch{return!1}};function Le(){return wr===void 0&&(wr=Ou()||Iu()),wr}const ce={type:"string",desc:"<directory> with LikeC4 sources (default is cu\
|
|
7
|
+
rrent directory)",normalize:!0,default:".",coerce:z},de={alias:"use-dot-bin",boolean:!0,type:"boolean",desc:Le()?"enabled in container, disable by --no-use-dot":'use graphviz binaries ("dot" should be on PATH)',default:Le()},Ls={boolean:!0,type:"boolean",desc:"use `@likec4/core` package in types",default:!1},ks={boolean:!0,type:"boolean",desc:'use hash history for navigation, e.g. "/#/view" instead of "/view"'},Rt={alias:"o",type:"string",desc:"output directory",normalize:!0,nargs:1,coerce:z},vr={
|
|
8
|
+
alias:"w",type:"string",desc:'prefix for Webcomponents, e.g "c4" generates <c4-view ../>',default:"likec4",nargs:1},Ns={alias:"t",type:"string",desc:'base title of the app pages (default is "LikeC4")',default:"LikeC4",nargs:1},Ps={alias:["base-url"],type:"string",desc:'base url the app is being served from, e.g. "/" or "/pages/"',nargs:1},Lu={boolean:!0,type:"boolean",desc:"outputs a single self-contained HTML file with all required resources inlined"},ku={alias:"l",type:"string",...Le()?{desc:"\
|
|
9
|
+
listen 0.0.0.0 by default in container",default:"0.0.0.0"}:{desc:"ip address of the network interface to listen on"},nargs:1},Nu={type:"number",desc:"port number for the dev server (default is 5173, or PORT environment variable)",nargs:1},Ke={alias:"p",type:"string",desc:'select LikeC4 project by name (e.g. "my-project") or by path',nargs:1},js=t=>t instanceof URL?Ss(t):t;function Pu(t,{cwd:e=re.cwd(),type:r="file",stopAt:n}={}){let i=W.resolve(js(e)??"");const{root:a}=W.parse(i);for(n=W.resolve(
|
|
10
|
+
i,js(n)??a);i&&i!==n&&i!==a;){const s=W.isAbsolute(t)?t:W.join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile()||r==="directory"&&o?.isDirectory())return s}catch{}i=W.dirname(i)}}function ju({cwd:t=re.cwd()}={}){return Pu("package.json",{cwd:t})}const Du=ve("vite"),St=Re(Ss(import.meta.url)),qu=`
|
|
11
11
|
/* prettier-ignore-start */
|
|
12
12
|
/* eslint-disable */
|
|
13
13
|
|
|
@@ -16,118 +16,118 @@ join(i,t);try{const o=B.statSync(s,{throwIfNoEntry:!1});if(r==="file"&&o?.isFile
|
|
|
16
16
|
* DO NOT EDIT MANUALLY!
|
|
17
17
|
******************************************************************************/
|
|
18
18
|
|
|
19
|
-
`.trimStart(),
|
|
19
|
+
`.trimStart(),Hu=`
|
|
20
20
|
|
|
21
21
|
/* prettier-ignore-end */
|
|
22
|
-
|
|
22
|
+
`,$r={banner:qu,footer:Hu};function Ds(){const t=ju({cwd:St});if(!t)throw new Error("likec4 package folder not found");return Re(t)}function br(){const t=Ds(),e=[z(t,"__app__"),z(St,"../__app__"),z(St,"../../__app__"),z(St,"../../dist/__app__")],r=Ac(e,_e);if(!r)throw He.error(`likec4 app root does not exist, tried:
|
|
23
23
|
${e.join(`
|
|
24
|
-
`)}`),new Error("likec4 app root does not exist");return r}async function
|
|
25
|
-
`),t}const
|
|
24
|
+
`)}`),new Error("likec4 app root does not exist");return r}async function Er(){const t=await bt(ot(Et(),".likec4-public-"));return await Oe(ot(t,"likec4-views.js"),`// generated by likec4
|
|
25
|
+
`),t}const Rr=1e4;function Sr(){const t=Ds();return{"likec4/icons":z(t,"icons"),"likec4/react":z(t,"react/index.js"),"likec4/model":z(t,"dist/model/index.mjs"),"likec4/vite-plugin/internal":z(t,"dist/vite-plugin/internal.mjs")}}var Ar={},qs;function _r(){return qs||(qs=1,(function(t){t.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1,t.find=(e,r)=>e.nodes.find(n=>n.type===r),t.exceedsLimit=(e,r,n=1,i)=>i===!1||!t.isInteger(e)||!t.
|
|
26
26
|
isInteger(r)?!1:(Number(r)-Number(e))/Number(n)>=i,t.escapeNode=(e,r=0,n)=>{const i=e.nodes[r];i&&(n&&i.type===n||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)},t.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1,t.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1,t.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||
|
|
27
|
-
e.close===!0,t.reduce=e=>e.reduce((r,n)=>(n.type==="text"&&r.push(n.value),n.type==="range"&&(n.type="text"),r),[]),t.flatten=(...e)=>{const r=[],n=i=>{for(let a=0;a<i.length;a++){const s=i[a];if(Array.isArray(s)){n(s);continue}s!==void 0&&r.push(s)}return r};return n(e),r}})(
|
|
28
|
-
t.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(const u of i.nodes)c+=n(u);return c};return n(e)},
|
|
29
|
-
m);if(t(g)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let
|
|
30
|
-
max:g,a:q,b:M},L=[],I=[];if(V&&(F.isPadded=V,F.maxLen=String(F.max).length),q<0){let C=M<0?Math.abs(M):1;I=a(C,Math.abs(q),F,
|
|
31
|
-
[g]);for(;m<=S&&S<=g;)E.add(S),T+=1,S=l(m,T);for(S=f(g+1,
|
|
32
|
-
b&&b.pattern===M.pattern){b.count.length>1&&b.count.pop(),b.count.push(M.count[0]),b.string=b.pattern+p(b.count),A=q+1;continue}T.isPadded&&(V=w(q,T,
|
|
33
|
-
|
|
34
|
-
0{${
|
|
35
|
-
-"?"-":"";A&&(
|
|
36
|
-
(${A}${q})`:q},f=(
|
|
37
|
-
be a number`);return[]},m=(
|
|
38
|
-
abs($)),D=[],H=0;for(;q?b>=x:b<=x;)A.toRegex===!0&&E>1?P(b):D.push(c(k(b,H),I,C)),b=q?b-E:b+E,H++;return A.toRegex===!0?E>1?l(O,A,I):p(D,null,{wrap:!1,...A}):D},g=(
|
|
39
|
-
wrap:!1,options:A}):L},T=(
|
|
40
|
-
i.escapeInvalid===!0,l=c===!0||u===!0,f=i.escapeInvalid===!0?"\\":"";let p="";if(s.isOpen===!0)return f+s.value;if(s.isClose===!0)return console.log("node.isClose",f,s.value),f+s.value;if(s.type==="open")return l?f+s.value:"(";if(s.type==="close")return l?f+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":l?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){const
|
|
41
|
-
length>1?`(${v})`:v}if(s.nodes)for(const
|
|
27
|
+
e.close===!0,t.reduce=e=>e.reduce((r,n)=>(n.type==="text"&&r.push(n.value),n.type==="range"&&(n.type="text"),r),[]),t.flatten=(...e)=>{const r=[],n=i=>{for(let a=0;a<i.length;a++){const s=i[a];if(Array.isArray(s)){n(s);continue}s!==void 0&&r.push(s)}return r};return n(e),r}})(Ar)),Ar}var Cr,Hs;function xr(){if(Hs)return Cr;Hs=1;const t=_r();return Cr=(e,r={})=>{const n=(i,a={})=>{const s=r.escapeInvalid&&t.isInvalidBrace(a),o=i.invalid===!0&&r.escapeInvalid===!0;let c="";if(i.value)return(s||o)&&
|
|
28
|
+
t.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(const u of i.nodes)c+=n(u);return c};return n(e)},Cr}var Tr,Ms;function Mu(){return Ms||(Ms=1,Tr=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}),Tr}var Ir,Us;function Uu(){if(Us)return Ir;Us=1;const t=Mu(),e=(m,g,T)=>{if(t(m)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(g===void 0||m===g)return String(
|
|
29
|
+
m);if(t(g)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let h={relaxZeros:!0,...T};typeof h.strictZeros=="boolean"&&(h.relaxZeros=h.strictZeros===!1);let S=String(h.relaxZeros),E=String(h.shorthand),A=String(h.capture),b=String(h.wrap),x=m+":"+g+"="+S+E+A+b;if(e.cache.hasOwnProperty(x))return e.cache[x].result;let q=Math.min(m,g),M=Math.max(m,g);if(Math.abs(q-M)===1){let C=m+"|"+g;return h.capture?`(${C})`:h.wrap===!1?C:`(?:${C})`}let V=v(m)||v(g),F={min:m,
|
|
30
|
+
max:g,a:q,b:M},L=[],I=[];if(V&&(F.isPadded=V,F.maxLen=String(F.max).length),q<0){let C=M<0?Math.abs(M):1;I=a(C,Math.abs(q),F,h),q=F.a=0}return M>=0&&(L=a(q,M,F,h)),F.negatives=I,F.positives=L,F.result=r(I,L),h.capture===!0?F.result=`(${F.result})`:h.wrap!==!1&&L.length+I.length>1&&(F.result=`(?:${F.result})`),e.cache[x]=F,F.result};function r(m,g,T){let h=s(m,g,"-",!1)||[],S=s(g,m,"",!1)||[],E=s(m,g,"-?",!0)||[];return h.concat(E).concat(S).join("|")}function n(m,g){let T=1,h=1,S=l(m,T),E=new Set(
|
|
31
|
+
[g]);for(;m<=S&&S<=g;)E.add(S),T+=1,S=l(m,T);for(S=f(g+1,h)-1;m<S&&S<=g;)E.add(S),h+=1,S=f(g+1,h)-1;return E=[...E],E.sort(c),E}function i(m,g,T){if(m===g)return{pattern:m,count:[],digits:0};let h=o(m,g),S=h.length,E="",A=0;for(let b=0;b<S;b++){let[x,q]=h[b];x===q?E+=x:x!=="0"||q!=="9"?E+=d(x,q):A++}return A&&(E+=T.shorthand===!0?"\\d":"[0-9]"),{pattern:E,count:[A],digits:S}}function a(m,g,T,h){let S=n(m,g),E=[],A=m,b;for(let x=0;x<S.length;x++){let q=S[x],M=i(String(A),String(q),h),V="";if(!T.isPadded&&
|
|
32
|
+
b&&b.pattern===M.pattern){b.count.length>1&&b.count.pop(),b.count.push(M.count[0]),b.string=b.pattern+p(b.count),A=q+1;continue}T.isPadded&&(V=w(q,T,h)),M.string=V+M.pattern+p(M.count),E.push(M),A=q+1,b=M}return E}function s(m,g,T,h,S){let E=[];for(let A of m){let{string:b}=A;!h&&!u(g,"string",b)&&E.push(T+b),h&&u(g,"string",b)&&E.push(T+b)}return E}function o(m,g){let T=[];for(let h=0;h<m.length;h++)T.push([m[h],g[h]]);return T}function c(m,g){return m>g?1:g>m?-1:0}function u(m,g,T){return m.some(
|
|
33
|
+
h=>h[g]===T)}function l(m,g){return Number(String(m).slice(0,-g)+"9".repeat(g))}function f(m,g){return m-m%Math.pow(10,g)}function p(m){let[g=0,T=""]=m;return T||g>1?`{${g+(T?","+T:"")}}`:""}function d(m,g,T){return`[${m}${g-m===1?"":"-"}${g}]`}function v(m){return/^-?(0+)\d/.test(m)}function w(m,g,T){if(!g.isPadded)return m;let h=Math.abs(g.maxLen-String(m).length),S=T.relaxZeros!==!1;switch(h){case 0:return"";case 1:return S?"0?":"0";case 2:return S?"0{0,2}":"00";default:return S?`0{0,${h}}`:`\
|
|
34
|
+
0{${h}}`}}return e.cache={},e.clearCache=()=>e.cache={},Ir=e,Ir}var Or,Fs;function Gs(){if(Fs)return Or;Fs=1;const t=As,e=Uu(),r=h=>h!==null&&typeof h=="object"&&!Array.isArray(h),n=h=>S=>h===!0?Number(S):String(S),i=h=>typeof h=="number"||typeof h=="string"&&h!=="",a=h=>Number.isInteger(+h),s=h=>{let S=`${h}`,E=-1;if(S[0]==="-"&&(S=S.slice(1)),S==="0")return!1;for(;S[++E]==="0";);return E>0},o=(h,S,E)=>typeof h=="string"||typeof S=="string"?!0:E.stringify===!0,c=(h,S,E)=>{if(S>0){let A=h[0]==="\
|
|
35
|
+
-"?"-":"";A&&(h=h.slice(1)),h=A+h.padStart(A?S-1:S,"0")}return E===!1?String(h):h},u=(h,S)=>{let E=h[0]==="-"?"-":"";for(E&&(h=h.slice(1),S--);h.length<S;)h="0"+h;return E?"-"+h:h},l=(h,S,E)=>{h.negatives.sort((M,V)=>M<V?-1:M>V?1:0),h.positives.sort((M,V)=>M<V?-1:M>V?1:0);let A=S.capture?"":"?:",b="",x="",q;return h.positives.length&&(b=h.positives.map(M=>u(String(M),E)).join("|")),h.negatives.length&&(x=`-(${A}${h.negatives.map(M=>u(String(M),E)).join("|")})`),b&&x?q=`${b}|${x}`:q=b||x,S.wrap?`\
|
|
36
|
+
(${A}${q})`:q},f=(h,S,E,A)=>{if(E)return e(h,S,{wrap:!1,...A});let b=String.fromCharCode(h);if(h===S)return b;let x=String.fromCharCode(S);return`[${b}-${x}]`},p=(h,S,E)=>{if(Array.isArray(h)){let A=E.wrap===!0,b=E.capture?"":"?:";return A?`(${b}${h.join("|")})`:h.join("|")}return e(h,S,E)},d=(...h)=>new RangeError("Invalid range arguments: "+t.inspect(...h)),v=(h,S,E)=>{if(E.strictRanges===!0)throw d([h,S]);return[]},w=(h,S)=>{if(S.strictRanges===!0)throw new TypeError(`Expected step "${h}" to \
|
|
37
|
+
be a number`);return[]},m=(h,S,E=1,A={})=>{let b=Number(h),x=Number(S);if(!Number.isInteger(b)||!Number.isInteger(x)){if(A.strictRanges===!0)throw d([h,S]);return[]}b===0&&(b=0),x===0&&(x=0);let q=b>x,M=String(h),V=String(S),F=String(E);E=Math.max(Math.abs(E),1);let L=s(M)||s(V)||s(F),I=L?Math.max(M.length,V.length,F.length):0,C=L===!1&&o(h,S,A)===!1,k=A.transform||n(C);if(A.toRegex&&E===1)return f(u(h,I),u(S,I),!0,A);let O={negatives:[],positives:[]},P=$=>O[$<0?"negatives":"positives"].push(Math.
|
|
38
|
+
abs($)),D=[],H=0;for(;q?b>=x:b<=x;)A.toRegex===!0&&E>1?P(b):D.push(c(k(b,H),I,C)),b=q?b-E:b+E,H++;return A.toRegex===!0?E>1?l(O,A,I):p(D,null,{wrap:!1,...A}):D},g=(h,S,E=1,A={})=>{if(!a(h)&&h.length>1||!a(S)&&S.length>1)return v(h,S,A);let b=A.transform||(C=>String.fromCharCode(C)),x=`${h}`.charCodeAt(0),q=`${S}`.charCodeAt(0),M=x>q,V=Math.min(x,q),F=Math.max(x,q);if(A.toRegex&&E===1)return f(V,F,!1,A);let L=[],I=0;for(;M?x>=q:x<=q;)L.push(b(x,I)),x=M?x-E:x+E,I++;return A.toRegex===!0?p(L,null,{
|
|
39
|
+
wrap:!1,options:A}):L},T=(h,S,E,A={})=>{if(S==null&&i(h))return[h];if(!i(h)||!i(S))return v(h,S,A);if(typeof E=="function")return T(h,S,1,{transform:E});if(r(E))return T(h,S,0,E);let b={...A};return b.capture===!0&&(b.wrap=!0),E=E||b.step||1,a(E)?a(h)&&a(S)?m(h,S,E,b):g(h,S,Math.max(Math.abs(E),1),b):E!=null&&!r(E)?w(E,b):T(h,S,1,E)};return Or=T,Or}var Lr,Bs;function Fu(){if(Bs)return Lr;Bs=1;const t=Gs(),e=_r();return Lr=(n,i={})=>{const a=(s,o={})=>{const c=e.isInvalidBrace(o),u=s.invalid===!0&&
|
|
40
|
+
i.escapeInvalid===!0,l=c===!0||u===!0,f=i.escapeInvalid===!0?"\\":"";let p="";if(s.isOpen===!0)return f+s.value;if(s.isClose===!0)return console.log("node.isClose",f,s.value),f+s.value;if(s.type==="open")return l?f+s.value:"(";if(s.type==="close")return l?f+s.value:")";if(s.type==="comma")return s.prev.type==="comma"?"":l?s.value:"|";if(s.value)return s.value;if(s.nodes&&s.ranges>0){const d=e.reduce(s.nodes),v=t(...d,{...i,wrap:!1,toRegex:!0,strictZeros:!0});if(v.length!==0)return d.length>1&&v.
|
|
41
|
+
length>1?`(${v})`:v}if(s.nodes)for(const d of s.nodes)p+=a(d,s);return p};return a(n)},Lr}var kr,Vs;function Gu(){if(Vs)return kr;Vs=1;const t=Gs(),e=xr(),r=_r(),n=(a="",s="",o=!1)=>{const c=[];if(a=[].concat(a),s=[].concat(s),!s.length)return a;if(!a.length)return o?r.flatten(s).map(u=>`{${u}}`):s;for(const u of a)if(Array.isArray(u))for(const l of u)c.push(n(l,s,o));else for(let l of s)o===!0&&typeof l=="string"&&(l=`{${l}}`),c.push(Array.isArray(l)?n(u,l,o):u+l);return r.flatten(c)};return kr=
|
|
42
42
|
(a,s={})=>{const o=s.rangeLimit===void 0?1e3:s.rangeLimit,c=(u,l={})=>{u.queue=[];let f=l,p=l.queue;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,p=f.queue;if(u.invalid||u.dollar){p.push(n(p.pop(),e(u,s)));return}if(u.type==="brace"&&u.invalid!==!0&&u.nodes.length===2){p.push(n(p.pop(),["{}"]));return}if(u.nodes&&u.ranges>0){const m=r.reduce(u.nodes);if(r.exceedsLimit(...m,s.step,o))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase\
|
|
43
|
-
or disable the limit.");let g=t(...m,s);g.length===0&&(g=e(u,s)),p.push(n(p.pop(),g)),u.nodes=[];return}const
|
|
44
|
-
flatten(c(a))},
|
|
43
|
+
or disable the limit.");let g=t(...m,s);g.length===0&&(g=e(u,s)),p.push(n(p.pop(),g)),u.nodes=[];return}const d=r.encloseBrace(u);let v=u.queue,w=u;for(;w.type!=="brace"&&w.type!=="root"&&w.parent;)w=w.parent,v=w.queue;for(let m=0;m<u.nodes.length;m++){const g=u.nodes[m];if(g.type==="comma"&&u.type==="brace"){m===1&&v.push(""),v.push("");continue}if(g.type==="close"){p.push(n(p.pop(),v,d));continue}if(g.value&&g.type!=="open"){v.push(n(v.pop(),g.value));continue}g.nodes&&c(g,u)}return v};return r.
|
|
44
|
+
flatten(c(a))},kr}var Nr,zs;function Bu(){return zs||(zs=1,Nr={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\
|
|
45
45
|
\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
46
|
-
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}),
|
|
47
|
-
CHAR_LEFT_CURLY_BRACE:c,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_RIGHT_SQUARE_BRACKET:f,CHAR_DOUBLE_QUOTE:p,CHAR_SINGLE_QUOTE:
|
|
46
|
+
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}),Nr}var Pr,Ws;function Vu(){if(Ws)return Pr;Ws=1;const t=xr(),{MAX_LENGTH:e,CHAR_BACKSLASH:r,CHAR_BACKTICK:n,CHAR_COMMA:i,CHAR_DOT:a,CHAR_LEFT_PARENTHESES:s,CHAR_RIGHT_PARENTHESES:o,
|
|
47
|
+
CHAR_LEFT_CURLY_BRACE:c,CHAR_RIGHT_CURLY_BRACE:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_RIGHT_SQUARE_BRACKET:f,CHAR_DOUBLE_QUOTE:p,CHAR_SINGLE_QUOTE:d,CHAR_NO_BREAK_SPACE:v,CHAR_ZERO_WIDTH_NOBREAK_SPACE:w}=Bu();return Pr=(g,T={})=>{if(typeof g!="string")throw new TypeError("Expected a string");const h=T||{},S=typeof h.maxLength=="number"?Math.min(e,h.maxLength):e;if(g.length>S)throw new SyntaxError(`Input length (${g.length}), exceeds max characters (${S})`);const E={type:"root",input:g,nodes:[]},A=[E];
|
|
48
48
|
let b=E,x=E,q=0;const M=g.length;let V=0,F=0,L;const I=()=>g[V++],C=k=>{if(k.type==="text"&&x.type==="dot"&&(x.type="text"),x&&x.type==="text"&&k.type==="text"){x.value+=k.value;return}return b.nodes.push(k),k.parent=b,k.prev=x,x=k,k};for(C({type:"bos"});V<M;)if(b=A[A.length-1],L=I(),!(L===w||L===v)){if(L===r){C({type:"text",value:(T.keepEscaping?L:"")+I()});continue}if(L===f){C({type:"text",value:"\\"+L});continue}if(L===l){q++;let k;for(;V<M&&(k=I());){if(L+=k,k===l){q++;continue}if(k===r){L+=
|
|
49
|
-
I();continue}if(k===f&&(q--,q===0))break}C({type:"text",value:L});continue}if(L===s){b=C({type:"paren",nodes:[]}),A.push(b),C({type:"text",value:L});continue}if(L===o){if(b.type!=="paren"){C({type:"text",value:L});continue}b=A.pop(),C({type:"text",value:L}),b=A[A.length-1];continue}if(L===p||L===
|
|
49
|
+
I();continue}if(k===f&&(q--,q===0))break}C({type:"text",value:L});continue}if(L===s){b=C({type:"paren",nodes:[]}),A.push(b),C({type:"text",value:L});continue}if(L===o){if(b.type!=="paren"){C({type:"text",value:L});continue}b=A.pop(),C({type:"text",value:L}),b=A[A.length-1];continue}if(L===p||L===d||L===n){const k=L;let O;for(T.keepQuotes!==!0&&(L="");V<M&&(O=I());){if(O===r){L+=O+I();continue}if(O===k){T.keepQuotes===!0&&(L+=O);break}L+=O}C({type:"text",value:L});continue}if(L===c){F++;const O={
|
|
50
50
|
type:"brace",open:!0,close:!1,dollar:x.value&&x.value.slice(-1)==="$"||b.dollar===!0,depth:F,commas:0,ranges:0,nodes:[]};b=C(O),A.push(b),C({type:"open",value:L});continue}if(L===u){if(b.type!=="brace"){C({type:"text",value:L});continue}const k="close";b=A.pop(),b.close=!0,C({type:k,value:L}),F--,b=A[A.length-1];continue}if(L===i&&F>0){if(b.ranges>0){b.ranges=0;const k=b.nodes.shift();b.nodes=[k,{type:"text",value:t(b)}]}C({type:"comma",value:L}),b.commas++;continue}if(L===a&&F>0&&b.commas===0){
|
|
51
51
|
const k=b.nodes;if(F===0||k.length===0){C({type:"text",value:L});continue}if(x.type==="dot"){if(b.range=[],x.value+=L,x.type="range",b.nodes.length!==3&&b.nodes.length!==5){b.invalid=!0,b.ranges=0,x.type="text";continue}b.ranges++,b.args=[];continue}if(x.type==="range"){k.pop();const O=k[k.length-1];O.value+=x.value+L,x=O,b.ranges--;continue}C({type:"dot",value:L});continue}C({type:"text",value:L})}do if(b=A.pop(),b.type!=="root"){b.nodes.forEach(P=>{P.nodes||(P.type==="open"&&(P.isOpen=!0),P.type===
|
|
52
|
-
"close"&&(P.isClose=!0),P.nodes||(P.type="text"),P.invalid=!0)});const k=A[A.length-1],O=k.nodes.indexOf(b);k.nodes.splice(O,1,...b.nodes)}while(A.length>0);return C({type:"eos"}),E},
|
|
53
|
-
a,s),i.stringify=(a,s={})=>t(typeof a=="string"?i.parse(a,s):a,s),i.compile=(a,s={})=>(typeof a=="string"&&(a=i.parse(a,s)),e(a,s)),i.expand=(a,s={})=>{typeof a=="string"&&(a=i.parse(a,s));let o=r(a,s);return s.noempty===!0&&(o=o.filter(Boolean)),s.nodupes===!0&&(o=[...new Set(o)]),o},i.create=(a,s={})=>a===""||a.length<3?[a]:s.expand!==!0?i.compile(a,s):i.expand(a,s),
|
|
54
|
-
=.)",c="[^/]",u=`(?:${s}|$)`,l=`(?:^|${s})`,f=`${n}{1,2}${u}`,p=`(?!${n})`,
|
|
55
|
-
NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`},S={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};return
|
|
52
|
+
"close"&&(P.isClose=!0),P.nodes||(P.type="text"),P.invalid=!0)});const k=A[A.length-1],O=k.nodes.indexOf(b);k.nodes.splice(O,1,...b.nodes)}while(A.length>0);return C({type:"eos"}),E},Pr}var jr,Xs;function zu(){if(Xs)return jr;Xs=1;const t=xr(),e=Fu(),r=Gu(),n=Vu(),i=(a,s={})=>{let o=[];if(Array.isArray(a))for(const c of a){const u=i.create(c,s);Array.isArray(u)?o.push(...u):o.push(u)}else o=[].concat(i.create(a,s));return s&&s.expand===!0&&s.nodupes===!0&&(o=[...new Set(o)]),o};return i.parse=(a,s={})=>n(
|
|
53
|
+
a,s),i.stringify=(a,s={})=>t(typeof a=="string"?i.parse(a,s):a,s),i.compile=(a,s={})=>(typeof a=="string"&&(a=i.parse(a,s)),e(a,s)),i.expand=(a,s={})=>{typeof a=="string"&&(a=i.parse(a,s));let o=r(a,s);return s.noempty===!0&&(o=o.filter(Boolean)),s.nodupes===!0&&(o=[...new Set(o)]),o},i.create=(a,s={})=>a===""||a.length<3?[a]:s.expand!==!0?i.compile(a,s):i.expand(a,s),jr=i,jr}var Dr={},qr,Ks;function At(){if(Ks)return qr;Ks=1;const t=dr,e="\\\\/",r=`[^${e}]`,n="\\.",i="\\+",a="\\?",s="\\/",o="(?\
|
|
54
|
+
=.)",c="[^/]",u=`(?:${s}|$)`,l=`(?:^|${s})`,f=`${n}{1,2}${u}`,p=`(?!${n})`,d=`(?!${l}${f})`,v=`(?!${n}{0,1}${u})`,w=`(?!${f})`,m=`[^.${s}]`,g=`${c}*?`,T={DOT_LITERAL:n,PLUS_LITERAL:i,QMARK_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:o,QMARK:c,END_ANCHOR:u,DOTS_SLASH:f,NO_DOT:p,NO_DOTS:d,NO_DOT_SLASH:v,NO_DOTS_SLASH:w,QMARK_NO_DOT:m,STAR:g,START_ANCHOR:l},h={...T,SLASH_LITERAL:`[${e}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${n}{1,2}(?:[${e}]|$)`,NO_DOT:`(?!${n})`,NO_DOTS:`(?!(?:^|[${e}])${n}{1,2}(?:[${e}]|$))`,
|
|
55
|
+
NO_DOT_SLASH:`(?!${n}{0,1}(?:[${e}]|$))`,NO_DOTS_SLASH:`(?!${n}{1,2}(?:[${e}]|$))`,QMARK_NO_DOT:`[^.${e}]`,START_ANCHOR:`(?:^|[${e}])`,END_ANCHOR:`(?:[${e}]|$)`},S={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};return qr={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:S,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,
|
|
56
56
|
REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,
|
|
57
57
|
CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,
|
|
58
|
-
CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:t.sep,extglobChars(E){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${E.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(E){return E===!0?
|
|
58
|
+
CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:t.sep,extglobChars(E){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${E.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(E){return E===!0?h:T}},qr}var Ys;function _t(){return Ys||(Ys=1,(function(t){const e=dr,r=process.
|
|
59
59
|
platform==="win32",{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:i,REGEX_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_GLOBAL:s}=At();t.isObject=o=>o!==null&&typeof o=="object"&&!Array.isArray(o),t.hasRegexChars=o=>a.test(o),t.isRegexChar=o=>o.length===1&&t.hasRegexChars(o),t.escapeRegex=o=>o.replace(s,"\\$1"),t.toPosixSlashes=o=>o.replace(n,"/"),t.removeBackslashes=o=>o.replace(i,c=>c==="\\"?"":c),t.supportsLookbehinds=()=>{const o=process.version.slice(1).split(".").map(Number);return o.length===3&&o[0]>=9||
|
|
60
|
-
o[0]===8&&o[1]>=10},t.isWindows=o=>o&&typeof o.windows=="boolean"?o.windows:r===!0||e.sep==="\\",t.escapeLast=(o,c,u)=>{const l=o.lastIndexOf(c,u);return l===-1?o:o[l-1]==="\\"?t.escapeLast(o,c,l-1):`${o.slice(0,l)}\\${o.slice(l)}`},t.removePrefix=(o,c={})=>{let u=o;return u.startsWith("./")&&(u=u.slice(2),c.prefix="./"),u},t.wrapOutput=(o,c={},u={})=>{const l=u.contains?"":"^",f=u.contains?"":"$";let p=`${l}(?:${o})${f}`;return c.negated===!0&&(p=`(?:^(?!${p}).*$)`),p}})(
|
|
61
|
-
if(
|
|
62
|
-
M=[];let V=
|
|
63
|
-
X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===
|
|
60
|
+
o[0]===8&&o[1]>=10},t.isWindows=o=>o&&typeof o.windows=="boolean"?o.windows:r===!0||e.sep==="\\",t.escapeLast=(o,c,u)=>{const l=o.lastIndexOf(c,u);return l===-1?o:o[l-1]==="\\"?t.escapeLast(o,c,l-1):`${o.slice(0,l)}\\${o.slice(l)}`},t.removePrefix=(o,c={})=>{let u=o;return u.startsWith("./")&&(u=u.slice(2),c.prefix="./"),u},t.wrapOutput=(o,c={},u={})=>{const l=u.contains?"":"^",f=u.contains?"":"$";let p=`${l}(?:${o})${f}`;return c.negated===!0&&(p=`(?:^(?!${p}).*$)`),p}})(Dr)),Dr}var Hr,Js;function Wu(){
|
|
61
|
+
if(Js)return Hr;Js=1;const t=_t(),{CHAR_ASTERISK:e,CHAR_AT:r,CHAR_BACKWARD_SLASH:n,CHAR_COMMA:i,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:s,CHAR_FORWARD_SLASH:o,CHAR_LEFT_CURLY_BRACE:c,CHAR_LEFT_PARENTHESES:u,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_PLUS:f,CHAR_QUESTION_MARK:p,CHAR_RIGHT_CURLY_BRACE:d,CHAR_RIGHT_PARENTHESES:v,CHAR_RIGHT_SQUARE_BRACKET:w}=At(),m=h=>h===o||h===n,g=h=>{h.isPrefix!==!0&&(h.depth=h.isGlobstar?1/0:1)};return Hr=(h,S)=>{const E=S||{},A=h.length-1,b=E.parts===!0||E.scanToEnd===!0,x=[],q=[],
|
|
62
|
+
M=[];let V=h,F=-1,L=0,I=0,C=!1,k=!1,O=!1,P=!1,D=!1,H=!1,$=!1,U=!1,J=!1,Q=!1,R=0,_,K,X={value:"",depth:0,isGlob:!1};const me=()=>F>=A,Ae=()=>V.charCodeAt(F+1),ne=()=>(_=K,V.charCodeAt(++F));for(;F<A;){K=ne();let G;if(K===n){$=X.backslashes=!0,K=ne(),K===c&&(H=!0);continue}if(H===!0||K===c){for(R++;me()!==!0&&(K=ne());){if(K===n){$=X.backslashes=!0,ne();continue}if(K===c){R++;continue}if(H!==!0&&K===a&&(K=ne())===a){if(C=X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(H!==!0&&K===i){if(C=
|
|
63
|
+
X.isBrace=!0,O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===d&&(R--,R===0)){H=!1,C=X.isBrace=!0,Q=!0;break}}if(b===!0)continue;break}if(K===o){if(x.push(F),q.push(X),X={value:"",depth:0,isGlob:!1},Q===!0)continue;if(_===a&&F===L+1){L+=2;continue}I=F+1;continue}if(E.noext!==!0&&(K===f||K===r||K===e||K===p||K===s)===!0&&Ae()===u){if(O=X.isGlob=!0,P=X.isExtglob=!0,Q=!0,K===s&&F===L&&(J=!0),b===!0){for(;me()!==!0&&(K=ne());){if(K===n){$=X.backslashes=!0,K=ne();continue}if(K===v){O=X.isGlob=!0,Q=!0;
|
|
64
64
|
break}}continue}break}if(K===e){if(_===e&&(D=X.isGlobstar=!0),O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===p){if(O=X.isGlob=!0,Q=!0,b===!0)continue;break}if(K===l){for(;me()!==!0&&(G=ne());){if(G===n){$=X.backslashes=!0,ne();continue}if(G===w){k=X.isBracket=!0,O=X.isGlob=!0,Q=!0;break}}if(b===!0)continue;break}if(E.nonegate!==!0&&K===s&&F===L){U=X.negated=!0,L++;continue}if(E.noparen!==!0&&K===u){if(O=X.isGlob=!0,b===!0){for(;me()!==!0&&(K=ne());){if(K===u){$=X.backslashes=!0,K=ne();continue}
|
|
65
|
-
if(K===v){Q=!0;break}}continue}break}if(O===!0){if(Q=!0,b===!0)continue;break}}E.noext===!0&&(P=!1,O=!1);let se=V,
|
|
66
|
-
isGlobstar:D,negated:U,negatedExtglob:J};if(E.tokens===!0&&(
|
|
67
|
-
x,
|
|
68
|
-
throw new TypeError("Expected a string");l=s[l]||l;const p={...f},
|
|
65
|
+
if(K===v){Q=!0;break}}continue}break}if(O===!0){if(Q=!0,b===!0)continue;break}}E.noext===!0&&(P=!1,O=!1);let se=V,nt="",$e="";L>0&&(nt=V.slice(0,L),V=V.slice(L),I-=L),se&&O===!0&&I>0?(se=V.slice(0,I),$e=V.slice(I)):O===!0?(se="",$e=V):se=V,se&&se!==""&&se!=="/"&&se!==V&&m(se.charCodeAt(se.length-1))&&(se=se.slice(0,-1)),E.unescape===!0&&($e&&($e=t.removeBackslashes($e)),se&&$===!0&&(se=t.removeBackslashes(se)));const fe={prefix:nt,input:h,start:L,base:se,glob:$e,isBrace:C,isBracket:k,isGlob:O,isExtglob:P,
|
|
66
|
+
isGlobstar:D,negated:U,negatedExtglob:J};if(E.tokens===!0&&(fe.maxDepth=0,m(K)||q.push(X),fe.tokens=q),E.parts===!0||E.tokens===!0){let G;for(let ie=0;ie<x.length;ie++){const rr=G?G+1:L,j=x[ie],Z=h.slice(rr,j);E.tokens&&(ie===0&&L!==0?(q[ie].isPrefix=!0,q[ie].value=nt):q[ie].value=Z,g(q[ie]),fe.maxDepth+=q[ie].depth),(ie!==0||Z!=="")&&M.push(Z),G=j}if(G&&G+1<h.length){const ie=h.slice(G+1);M.push(ie),E.tokens&&(q[q.length-1].value=ie,g(q[q.length-1]),fe.maxDepth+=q[q.length-1].depth)}fe.slashes=
|
|
67
|
+
x,fe.parts=M}return fe},Hr}var Mr,Qs;function Xu(){if(Qs)return Mr;Qs=1;const t=At(),e=_t(),{MAX_LENGTH:r,POSIX_REGEX_SOURCE:n,REGEX_NON_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_BACKREF:a,REPLACEMENTS:s}=t,o=(l,f)=>{if(typeof f.expandRange=="function")return f.expandRange(...l,f);l.sort();const p=`[${l.join("-")}]`;try{new RegExp(p)}catch{return l.map(v=>e.escapeRegex(v)).join("..")}return p},c=(l,f)=>`Missing ${l}: "${f}" - use "\\\\${f}" to match literal characters`,u=(l,f)=>{if(typeof l!="string")
|
|
68
|
+
throw new TypeError("Expected a string");l=s[l]||l;const p={...f},d=typeof p.maxLength=="number"?Math.min(r,p.maxLength):r;let v=l.length;if(v>d)throw new SyntaxError(`Input length: ${v}, exceeds maximum allowed length: ${d}`);const w={type:"bos",value:"",output:p.prepend||""},m=[w],g=p.capture?"":"?:",T=e.isWindows(f),h=t.globChars(T),S=t.extglobChars(h),{DOT_LITERAL:E,PLUS_LITERAL:A,SLASH_LITERAL:b,ONE_CHAR:x,DOTS_SLASH:q,NO_DOT:M,NO_DOT_SLASH:V,NO_DOTS_SLASH:F,QMARK:L,QMARK_NO_DOT:I,STAR:C,START_ANCHOR:k}=h,
|
|
69
69
|
O=j=>`(${g}(?:(?!${k}${j.dot?q:E}).)*?)`,P=p.dot?"":M,D=p.dot?L:I;let H=p.bash===!0?O(p):C;p.capture&&(H=`(${H})`),typeof p.noext=="boolean"&&(p.noextglob=p.noext);const $={input:l,index:-1,start:0,dot:p.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:m};l=e.removePrefix(l,$),v=l.length;const U=[],J=[],Q=[];let R=w,_;const K=()=>$.index===v-1,X=$.peek=(j=1)=>l[$.index+j],me=$.advance=()=>l[++$.index]||"",Ae=()=>l.slice($.index+
|
|
70
|
-
1),ne=(j="",Z=0)=>{$.consumed+=j,$.index+=Z},se=j=>{$.output+=j.output!=null?j.output:j.value,ne(j.value)},
|
|
70
|
+
1),ne=(j="",Z=0)=>{$.consumed+=j,$.index+=Z},se=j=>{$.output+=j.output!=null?j.output:j.value,ne(j.value)},nt=()=>{let j=1;for(;X()==="!"&&(X(2)!=="("||X(3)==="?");)me(),$.start++,j++;return j%2===0?!1:($.negated=!0,$.start++,!0)},$e=j=>{$[j]++,Q.push(j)},fe=j=>{$[j]--,Q.pop()},G=j=>{if(R.type==="globstar"){const Z=$.braces>0&&(j.type==="comma"||j.type==="brace"),N=j.extglob===!0||U.length&&(j.type==="pipe"||j.type==="paren");j.type!=="slash"&&j.type!=="paren"&&!Z&&!N&&($.output=$.output.slice(0,
|
|
71
71
|
-R.output.length),R.type="star",R.value="*",R.output=H,$.output+=R.output)}if(U.length&&j.type!=="paren"&&(U[U.length-1].inner+=j.value),(j.value||j.output)&&se(j),R&&R.type==="text"&&j.type==="text"){R.value+=j.value,R.output=(R.output||"")+j.value;return}j.prev=R,m.push(j),R=j},ie=(j,Z)=>{const N={...S[Z],conditions:1,inner:""};N.prev=R,N.parens=$.parens,N.output=$.output;const Y=(p.capture?"(":"")+N.open;$e("parens"),G({type:j,value:Z,output:$.output?"":x}),G({type:"paren",extglob:!0,value:me(),
|
|
72
|
-
output:Y}),U.push(N)},rr=j=>{let Z=j.close+(p.capture?")":""),N;if(j.type==="negate"){let Y=H;if(j.inner&&j.inner.length>1&&j.inner.includes("/")&&(Y=O(p)),(Y!==H||K()||/^\)+$/.test(Ae()))&&(Z=j.close=`)$))${Y}`),j.inner.includes("*")&&(N=Ae())&&/^\.[^\\/.]+$/.test(N)){const te=u(N,{...f,fastpaths:!1}).output;Z=j.close=`)${te})${Y})`}j.prev.type==="bos"&&($.negatedExtglob=!0)}G({type:"paren",extglob:!0,value:_,output:Z}),
|
|
73
|
-
Z=l.replace(a,(N,Y,te,
|
|
74
|
-
."||N===";")continue;if(!N){_+="\\",G({type:"text",value:_});continue}const Y=/^\\+/.exec(Ae());let te=0;if(Y&&Y[0].length>2&&(te=Y[0].length,$.index+=te,te%2!==0&&(_+="\\")),p.unescape===!0?_=me():_+=me(),$.brackets===0){G({type:"text",value:_});continue}}if($.brackets>0&&(_!=="]"||R.value==="["||R.value==="[^")){if(p.posix!==!1&&_===":"){const N=R.value.slice(1);if(N.includes("[")&&(R.posix=!0,N.includes(":"))){const Y=R.value.lastIndexOf("["),te=R.value.slice(0,Y),
|
|
72
|
+
output:Y}),U.push(N)},rr=j=>{let Z=j.close+(p.capture?")":""),N;if(j.type==="negate"){let Y=H;if(j.inner&&j.inner.length>1&&j.inner.includes("/")&&(Y=O(p)),(Y!==H||K()||/^\)+$/.test(Ae()))&&(Z=j.close=`)$))${Y}`),j.inner.includes("*")&&(N=Ae())&&/^\.[^\\/.]+$/.test(N)){const te=u(N,{...f,fastpaths:!1}).output;Z=j.close=`)${te})${Y})`}j.prev.type==="bos"&&($.negatedExtglob=!0)}G({type:"paren",extglob:!0,value:_,output:Z}),fe("parens")};if(p.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(l)){let j=!1,
|
|
73
|
+
Z=l.replace(a,(N,Y,te,pe,oe,nr)=>pe==="\\"?(j=!0,N):pe==="?"?Y?Y+pe+(oe?L.repeat(oe.length):""):nr===0?D+(oe?L.repeat(oe.length):""):L.repeat(te.length):pe==="."?E.repeat(te.length):pe==="*"?Y?Y+pe+(oe?H:""):H:Y?N:`\\${N}`);return j===!0&&(p.unescape===!0?Z=Z.replace(/\\/g,""):Z=Z.replace(/\\+/g,N=>N.length%2===0?"\\\\":N?"\\":"")),Z===l&&p.contains===!0?($.output=l,$):($.output=e.wrapOutput(Z,$,f),$)}for(;!K();){if(_=me(),_==="\0")continue;if(_==="\\"){const N=X();if(N==="/"&&p.bash!==!0||N==="\
|
|
74
|
+
."||N===";")continue;if(!N){_+="\\",G({type:"text",value:_});continue}const Y=/^\\+/.exec(Ae());let te=0;if(Y&&Y[0].length>2&&(te=Y[0].length,$.index+=te,te%2!==0&&(_+="\\")),p.unescape===!0?_=me():_+=me(),$.brackets===0){G({type:"text",value:_});continue}}if($.brackets>0&&(_!=="]"||R.value==="["||R.value==="[^")){if(p.posix!==!1&&_===":"){const N=R.value.slice(1);if(N.includes("[")&&(R.posix=!0,N.includes(":"))){const Y=R.value.lastIndexOf("["),te=R.value.slice(0,Y),pe=R.value.slice(Y+2),oe=n[pe];
|
|
75
75
|
if(oe){R.value=te+oe,$.backtrack=!0,me(),!w.output&&m.indexOf(R)===1&&(w.output=x);continue}}}(_==="["&&X()!==":"||_==="-"&&X()==="]")&&(_=`\\${_}`),_==="]"&&(R.value==="["||R.value==="[^")&&(_=`\\${_}`),p.posix===!0&&_==="!"&&R.value==="["&&(_="^"),R.value+=_,se({value:_});continue}if($.quotes===1&&_!=='"'){_=e.escapeRegex(_),R.value+=_,se({value:_});continue}if(_==='"'){$.quotes=$.quotes===1?0:1,p.keepQuotes===!0&&G({type:"text",value:_});continue}if(_==="("){$e("parens"),G({type:"paren",value:_});
|
|
76
|
-
continue}if(_===")"){if($.parens===0&&p.strictBrackets===!0)throw new SyntaxError(c("opening","("));const N=U[U.length-1];if(N&&$.parens===N.parens+1){rr(U.pop());continue}G({type:"paren",value:_,output:$.parens?")":"\\)"}),
|
|
77
|
-
cket"&&R.value.length===1){G({type:"text",value:_,output:`\\${_}`});continue}if($.brackets===0){if(p.strictBrackets===!0)throw new SyntaxError(c("opening","["));G({type:"text",value:_,output:`\\${_}`});continue}
|
|
78
|
-
R.value=Y;continue}R.value=`(${g}${Y}|${R.value})`,$.output+=R.value;continue}if(_==="{"&&p.nobrace!==!0){$e("braces");const N={type:"brace",value:_,output:"(",outputIndex:$.output.length,tokensIndex:$.tokens.length};J.push(N),G(N);continue}if(_==="}"){const N=J[J.length-1];if(p.nobrace===!0||!N){G({type:"text",value:_,output:_});continue}let Y=")";if(N.dots===!0){const te=m.slice(),
|
|
79
|
-
Y=o(
|
|
76
|
+
continue}if(_===")"){if($.parens===0&&p.strictBrackets===!0)throw new SyntaxError(c("opening","("));const N=U[U.length-1];if(N&&$.parens===N.parens+1){rr(U.pop());continue}G({type:"paren",value:_,output:$.parens?")":"\\)"}),fe("parens");continue}if(_==="["){if(p.nobracket===!0||!Ae().includes("]")){if(p.nobracket!==!0&&p.strictBrackets===!0)throw new SyntaxError(c("closing","]"));_=`\\${_}`}else $e("brackets");G({type:"bracket",value:_});continue}if(_==="]"){if(p.nobracket===!0||R&&R.type==="bra\
|
|
77
|
+
cket"&&R.value.length===1){G({type:"text",value:_,output:`\\${_}`});continue}if($.brackets===0){if(p.strictBrackets===!0)throw new SyntaxError(c("opening","["));G({type:"text",value:_,output:`\\${_}`});continue}fe("brackets");const N=R.value.slice(1);if(R.posix!==!0&&N[0]==="^"&&!N.includes("/")&&(_=`/${_}`),R.value+=_,se({value:_}),p.literalBrackets===!1||e.hasRegexChars(N))continue;const Y=e.escapeRegex(R.value);if($.output=$.output.slice(0,-R.value.length),p.literalBrackets===!0){$.output+=Y,
|
|
78
|
+
R.value=Y;continue}R.value=`(${g}${Y}|${R.value})`,$.output+=R.value;continue}if(_==="{"&&p.nobrace!==!0){$e("braces");const N={type:"brace",value:_,output:"(",outputIndex:$.output.length,tokensIndex:$.tokens.length};J.push(N),G(N);continue}if(_==="}"){const N=J[J.length-1];if(p.nobrace===!0||!N){G({type:"text",value:_,output:_});continue}let Y=")";if(N.dots===!0){const te=m.slice(),pe=[];for(let oe=te.length-1;oe>=0&&(m.pop(),te[oe].type!=="brace");oe--)te[oe].type!=="dots"&&pe.unshift(te[oe].value);
|
|
79
|
+
Y=o(pe,p),$.backtrack=!0}if(N.comma!==!0&&N.dots!==!0){const te=$.output.slice(0,N.outputIndex),pe=$.tokens.slice(N.tokensIndex);N.value=N.output="\\{",_=Y="\\}",$.output=te;for(const oe of pe)$.output+=oe.output||oe.value}G({type:"brace",value:_,output:Y}),fe("braces"),J.pop();continue}if(_==="|"){U.length>0&&U[U.length-1].conditions++,G({type:"text",value:_});continue}if(_===","){let N=_;const Y=J[J.length-1];Y&&Q[Q.length-1]==="braces"&&(Y.comma=!0,N="|"),G({type:"comma",value:_,output:N});continue}
|
|
80
80
|
if(_==="/"){if(R.type==="dot"&&$.index===$.start+1){$.start=$.index+1,$.consumed="",$.output="",m.pop(),R=w;continue}G({type:"slash",value:_,output:b});continue}if(_==="."){if($.braces>0&&R.type==="dot"){R.value==="."&&(R.output=E);const N=J[J.length-1];R.type="dots",R.output+=_,R.value+=_,N.dots=!0;continue}if($.braces+$.parens===0&&R.type!=="bos"&&R.type!=="slash"){G({type:"text",value:_,output:E});continue}G({type:"dot",value:_,output:E});continue}if(_==="?"){if(!(R&&R.value==="(")&&p.noextglob!==
|
|
81
81
|
!0&&X()==="("&&X(2)!=="?"){ie("qmark",_);continue}if(R&&R.type==="paren"){const Y=X();let te=_;if(Y==="<"&&!e.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(R.value==="("&&!/[!=<:]/.test(Y)||Y==="<"&&!/<([!=]|\w+>)/.test(Ae()))&&(te=`\\${_}`),G({type:"text",value:_,output:te});continue}if(p.dot!==!0&&(R.type==="slash"||R.type==="bos")){G({type:"qmark",value:_,output:I});continue}G({type:"qmark",value:_,output:L});continue}if(_==="!"){if(p.noextglob!==
|
|
82
|
-
!0&&X()==="("&&(X(2)!=="?"||!/[!=<:]/.test(X(3)))){ie("negate",_);continue}if(p.nonegate!==!0&&$.index===0){
|
|
82
|
+
!0&&X()==="("&&(X(2)!=="?"||!/[!=<:]/.test(X(3)))){ie("negate",_);continue}if(p.nonegate!==!0&&$.index===0){nt();continue}}if(_==="+"){if(p.noextglob!==!0&&X()==="("&&X(2)!=="?"){ie("plus",_);continue}if(R&&R.value==="("||p.regex===!1){G({type:"plus",value:_,output:A});continue}if(R&&(R.type==="bracket"||R.type==="paren"||R.type==="brace")||$.parens>0){G({type:"plus",value:_});continue}G({type:"plus",value:A});continue}if(_==="@"){if(p.noextglob!==!0&&X()==="("&&X(2)!=="?"){G({type:"at",extglob:!0,
|
|
83
83
|
value:_,output:""});continue}G({type:"text",value:_});continue}if(_!=="*"){(_==="$"||_==="^")&&(_=`\\${_}`);const N=i.exec(Ae());N&&(_+=N[0],$.index+=N[0].length),G({type:"text",value:_});continue}if(R&&(R.type==="globstar"||R.star===!0)){R.type="star",R.star=!0,R.value+=_,R.output=H,$.backtrack=!0,$.globstar=!0,ne(_);continue}let j=Ae();if(p.noextglob!==!0&&/^\([^?]/.test(j)){ie("star",_);continue}if(R.type==="star"){if(p.noglobstar===!0){ne(_);continue}const N=R.prev,Y=N.prev,te=N.type==="slas\
|
|
84
|
-
h"||N.type==="bos",
|
|
85
|
-
$.output=R.output,$.globstar=!0,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&!
|
|
84
|
+
h"||N.type==="bos",pe=Y&&(Y.type==="star"||Y.type==="globstar");if(p.bash===!0&&(!te||j[0]&&j[0]!=="/")){G({type:"star",value:_,output:""});continue}const oe=$.braces>0&&(N.type==="comma"||N.type==="brace"),nr=U.length&&(N.type==="pipe"||N.type==="paren");if(!te&&N.type!=="paren"&&!oe&&!nr){G({type:"star",value:_,output:""});continue}for(;j.slice(0,3)==="/**";){const gt=l[$.index+4];if(gt&>!=="/")break;j=j.slice(3),ne("/**",3)}if(N.type==="bos"&&K()){R.type="globstar",R.value+=_,R.output=O(p),
|
|
85
|
+
$.output=R.output,$.globstar=!0,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&!pe&&K()){$.output=$.output.slice(0,-(N.output+R.output).length),N.output=`(?:${N.output}`,R.type="globstar",R.output=O(p)+(p.strictSlashes?")":"|$)"),R.value+=_,$.globstar=!0,$.output+=N.output+R.output,ne(_);continue}if(N.type==="slash"&&N.prev.type!=="bos"&&j[0]==="/"){const gt=j[1]!==void 0?"|$":"";$.output=$.output.slice(0,-(N.output+R.output).length),N.output=`(?:${N.output}`,R.type="globstar",R.output=
|
|
86
86
|
`${O(p)}${b}|${b}${gt})`,R.value+=_,$.output+=N.output+R.output,$.globstar=!0,ne(_+me()),G({type:"slash",value:"/",output:""});continue}if(N.type==="bos"&&j[0]==="/"){R.type="globstar",R.value+=_,R.output=`(?:^|${b}|${O(p)}${b})`,$.output=R.output,$.globstar=!0,ne(_+me()),G({type:"slash",value:"/",output:""});continue}$.output=$.output.slice(0,-R.output.length),R.type="globstar",R.output=O(p),R.value+=_,$.output+=R.output,$.globstar=!0,ne(_);continue}const Z={type:"star",value:_,output:H};if(p.bash===
|
|
87
87
|
!0){Z.output=".*?",(R.type==="bos"||R.type==="slash")&&(Z.output=P+Z.output),G(Z);continue}if(R&&(R.type==="bracket"||R.type==="paren")&&p.regex===!0){Z.output=_,G(Z);continue}($.index===$.start||R.type==="slash"||R.type==="dot")&&(R.type==="dot"?($.output+=V,R.output+=V):p.dot===!0?($.output+=F,R.output+=F):($.output+=P,R.output+=P),X()!=="*"&&($.output+=x,R.output+=x)),G(Z)}for(;$.brackets>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing","]"));$.output=e.escapeLast($.output,"["),
|
|
88
|
-
|
|
89
|
-
output+=j.suffix)}return $};return u.fastpaths=(l,f)=>{const p={...f},
|
|
90
|
-
)`);const I=P=>P.noglobstar===!0?L:`(${V}(?:(?!${x}${P.dot?
|
|
91
|
-
m+D[2]:void 0}}},k=e.removePrefix(l,F);let O=C(k);return O&&p.strictSlashes!==!0&&(O+=`${g}?`),O},
|
|
92
|
-
{},p=n.isWindows(c),
|
|
93
|
-
onMatch=="function"&&f.onMatch(A),T?A:!0)};return u&&(m.state=v),m};return s.test=(o,c,u,{glob:l,posix:f}={})=>{if(typeof o!="string")throw new TypeError("Expected input to be a string");if(o==="")return{isMatch:!1,output:""};const p=u||{},
|
|
94
|
-
u))=>(c instanceof RegExp?c:s.makeRe(c,u)).test(t.basename(o)),s.isMatch=(o,c,u)=>s(c,u)(o),s.parse=(o,c)=>Array.isArray(o)?o.map(u=>s.parse(u,c)):r(o,{...c,fastpaths:!1}),s.scan=(o,c)=>e(o,c),s.compileRe=(o,c,u=!1,l=!1)=>{if(u===!0)return o.output;const f=c||{},p=f.contains?"":"^",
|
|
95
|
-
"Expected a non-empty string");let f={negated:!1,fastpaths:!0};return c.fastpaths!==!1&&(o[0]==="."||o[0]==="*")&&(f.output=r.fastpaths(o,c)),f.output||(f=r(o,c)),s.compileRe(f,c,u,l)},s.toRegex=(o,c)=>{try{const u=c||{};return new RegExp(o,u.flags||(u.nocase?"i":""))}catch(u){if(c&&c.debug===!0)throw u;return/$^/}},s.constants=i,
|
|
96
|
-
indexOf("{");return c>-1&&o.indexOf("}",c)>-1},s=(o,c,u)=>{c=[].concat(c),o=[].concat(o);let l=new Set,f=new Set,p=new Set,
|
|
97
|
-
!0)throw new Error(`No matches found for "${c.join(", ")}"`);if(u.nonull===!0||u.nullglob===!0)return u.unescape?c.map(g=>g.replace(/\\/g,"")):c}return m};return s.match=s,s.matcher=(o,c)=>r(o,c),s.isMatch=(o,c,u)=>r(c,u)(o),s.any=s.isMatch,s.not=(o,c,u={})=>{c=[].concat(c).map(String);let l=new Set,f=[],p=v=>{u.onResult&&u.onResult(v),f.push(v.output)},
|
|
88
|
+
fe("brackets")}for(;$.parens>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing",")"));$.output=e.escapeLast($.output,"("),fe("parens")}for(;$.braces>0;){if(p.strictBrackets===!0)throw new SyntaxError(c("closing","}"));$.output=e.escapeLast($.output,"{"),fe("braces")}if(p.strictSlashes!==!0&&(R.type==="star"||R.type==="bracket")&&G({type:"maybe_slash",value:"",output:`${b}?`}),$.backtrack===!0){$.output="";for(const j of $.tokens)$.output+=j.output!=null?j.output:j.value,j.suffix&&($.
|
|
89
|
+
output+=j.suffix)}return $};return u.fastpaths=(l,f)=>{const p={...f},d=typeof p.maxLength=="number"?Math.min(r,p.maxLength):r,v=l.length;if(v>d)throw new SyntaxError(`Input length: ${v}, exceeds maximum allowed length: ${d}`);l=s[l]||l;const w=e.isWindows(f),{DOT_LITERAL:m,SLASH_LITERAL:g,ONE_CHAR:T,DOTS_SLASH:h,NO_DOT:S,NO_DOTS:E,NO_DOTS_SLASH:A,STAR:b,START_ANCHOR:x}=t.globChars(w),q=p.dot?E:S,M=p.dot?A:S,V=p.capture?"":"?:",F={negated:!1,prefix:""};let L=p.bash===!0?".*?":b;p.capture&&(L=`(${L}\
|
|
90
|
+
)`);const I=P=>P.noglobstar===!0?L:`(${V}(?:(?!${x}${P.dot?h:m}).)*?)`,C=P=>{switch(P){case"*":return`${q}${T}${L}`;case".*":return`${m}${T}${L}`;case"*.*":return`${q}${L}${m}${T}${L}`;case"*/*":return`${q}${L}${g}${T}${M}${L}`;case"**":return q+I(p);case"**/*":return`(?:${q}${I(p)}${g})?${M}${T}${L}`;case"**/*.*":return`(?:${q}${I(p)}${g})?${M}${L}${m}${T}${L}`;case"**/.*":return`(?:${q}${I(p)}${g})?${m}${T}${L}`;default:{const D=/^(.*?)\.(\w+)$/.exec(P);if(!D)return;const H=C(D[1]);return H?H+
|
|
91
|
+
m+D[2]:void 0}}},k=e.removePrefix(l,F);let O=C(k);return O&&p.strictSlashes!==!0&&(O+=`${g}?`),O},Mr=u,Mr}var Ur,Zs;function Ku(){if(Zs)return Ur;Zs=1;const t=dr,e=Wu(),r=Xu(),n=_t(),i=At(),a=o=>o&&typeof o=="object"&&!Array.isArray(o),s=(o,c,u=!1)=>{if(Array.isArray(o)){const g=o.map(h=>s(h,c,u));return h=>{for(const S of g){const E=S(h);if(E)return E}return!1}}const l=a(o)&&o.tokens&&o.input;if(o===""||typeof o!="string"&&!l)throw new TypeError("Expected pattern to be a non-empty string");const f=c||
|
|
92
|
+
{},p=n.isWindows(c),d=l?s.compileRe(o,c):s.makeRe(o,c,!1,!0),v=d.state;delete d.state;let w=()=>!1;if(f.ignore){const g={...c,ignore:null,onMatch:null,onResult:null};w=s(f.ignore,g,u)}const m=(g,T=!1)=>{const{isMatch:h,match:S,output:E}=s.test(g,d,c,{glob:o,posix:p}),A={glob:o,state:v,regex:d,posix:p,input:g,output:E,match:S,isMatch:h};return typeof f.onResult=="function"&&f.onResult(A),h===!1?(A.isMatch=!1,T?A:!1):w(g)?(typeof f.onIgnore=="function"&&f.onIgnore(A),A.isMatch=!1,T?A:!1):(typeof f.
|
|
93
|
+
onMatch=="function"&&f.onMatch(A),T?A:!0)};return u&&(m.state=v),m};return s.test=(o,c,u,{glob:l,posix:f}={})=>{if(typeof o!="string")throw new TypeError("Expected input to be a string");if(o==="")return{isMatch:!1,output:""};const p=u||{},d=p.format||(f?n.toPosixSlashes:null);let v=o===l,w=v&&d?d(o):o;return v===!1&&(w=d?d(o):o,v=w===l),(v===!1||p.capture===!0)&&(p.matchBase===!0||p.basename===!0?v=s.matchBase(o,c,u,f):v=c.exec(w)),{isMatch:!!v,match:v,output:w}},s.matchBase=(o,c,u,l=n.isWindows(
|
|
94
|
+
u))=>(c instanceof RegExp?c:s.makeRe(c,u)).test(t.basename(o)),s.isMatch=(o,c,u)=>s(c,u)(o),s.parse=(o,c)=>Array.isArray(o)?o.map(u=>s.parse(u,c)):r(o,{...c,fastpaths:!1}),s.scan=(o,c)=>e(o,c),s.compileRe=(o,c,u=!1,l=!1)=>{if(u===!0)return o.output;const f=c||{},p=f.contains?"":"^",d=f.contains?"":"$";let v=`${p}(?:${o.output})${d}`;o&&o.negated===!0&&(v=`^(?!${v}).*$`);const w=s.toRegex(v,c);return l===!0&&(w.state=o),w},s.makeRe=(o,c={},u=!1,l=!1)=>{if(!o||typeof o!="string")throw new TypeError(
|
|
95
|
+
"Expected a non-empty string");let f={negated:!1,fastpaths:!0};return c.fastpaths!==!1&&(o[0]==="."||o[0]==="*")&&(f.output=r.fastpaths(o,c)),f.output||(f=r(o,c)),s.compileRe(f,c,u,l)},s.toRegex=(o,c)=>{try{const u=c||{};return new RegExp(o,u.flags||(u.nocase?"i":""))}catch(u){if(c&&c.debug===!0)throw u;return/$^/}},s.constants=i,Ur=s,Ur}var Fr,ei;function Yu(){return ei||(ei=1,Fr=Ku()),Fr}var Gr,ti;function Ju(){if(ti)return Gr;ti=1;const t=As,e=zu(),r=Yu(),n=_t(),i=o=>o===""||o==="./",a=o=>{const c=o.
|
|
96
|
+
indexOf("{");return c>-1&&o.indexOf("}",c)>-1},s=(o,c,u)=>{c=[].concat(c),o=[].concat(o);let l=new Set,f=new Set,p=new Set,d=0,v=g=>{p.add(g.output),u&&u.onResult&&u.onResult(g)};for(let g=0;g<c.length;g++){let T=r(String(c[g]),{...u,onResult:v},!0),h=T.state.negated||T.state.negatedExtglob;h&&d++;for(let S of o){let E=T(S,!0);(h?!E.isMatch:E.isMatch)&&(h?l.add(E.output):(l.delete(E.output),f.add(E.output)))}}let m=(d===c.length?[...p]:[...f]).filter(g=>!l.has(g));if(u&&m.length===0){if(u.failglob===
|
|
97
|
+
!0)throw new Error(`No matches found for "${c.join(", ")}"`);if(u.nonull===!0||u.nullglob===!0)return u.unescape?c.map(g=>g.replace(/\\/g,"")):c}return m};return s.match=s,s.matcher=(o,c)=>r(o,c),s.isMatch=(o,c,u)=>r(c,u)(o),s.any=s.isMatch,s.not=(o,c,u={})=>{c=[].concat(c).map(String);let l=new Set,f=[],p=v=>{u.onResult&&u.onResult(v),f.push(v.output)},d=new Set(s(o,c,{...u,onResult:p}));for(let v of f)d.has(v)||l.add(v);return[...l]},s.contains=(o,c,u)=>{if(typeof o!="string")throw new TypeError(
|
|
98
98
|
`Expected a string: "${t.inspect(o)}"`);if(Array.isArray(c))return c.some(l=>s.contains(o,l,u));if(typeof c=="string"){if(i(o)||i(c))return!1;if(o.includes(c)||o.startsWith("./")&&o.slice(2).includes(c))return!0}return s.isMatch(o,c,{...u,contains:!0})},s.matchKeys=(o,c,u)=>{if(!n.isObject(o))throw new TypeError("Expected the first argument to be an object");let l=s(Object.keys(o),c,u),f={};for(let p of l)f[p]=o[p];return f},s.some=(o,c,u)=>{let l=[].concat(o);for(let f of[].concat(c)){let p=r(String(
|
|
99
|
-
f),u);if(l.some(
|
|
100
|
-
(...o)=>r.scan(...o),s.parse=(o,c)=>{let u=[];for(let l of[].concat(o||[]))for(let f of e(String(l),c))u.push(r.parse(f,c));return u},s.braces=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return c&&c.nobrace===!0||!a(o)?[o]:e(o,c)},s.braceExpand=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return s.braces(o,{...c,expand:!0})},s.hasBraces=a,
|
|
101
|
-
function
|
|
102
|
-
</style>`)}const
|
|
99
|
+
f),u);if(l.some(d=>p(d)))return!0}return!1},s.every=(o,c,u)=>{let l=[].concat(o);for(let f of[].concat(c)){let p=r(String(f),u);if(!l.every(d=>p(d)))return!1}return!0},s.all=(o,c,u)=>{if(typeof o!="string")throw new TypeError(`Expected a string: "${t.inspect(o)}"`);return[].concat(c).every(l=>r(l,u)(o))},s.capture=(o,c,u)=>{let l=n.isWindows(u),p=r.makeRe(String(o),{...u,capture:!0}).exec(l?n.toPosixSlashes(c):c);if(p)return p.slice(1).map(d=>d===void 0?"":d)},s.makeRe=(...o)=>r.makeRe(...o),s.scan=
|
|
100
|
+
(...o)=>r.scan(...o),s.parse=(o,c)=>{let u=[];for(let l of[].concat(o||[]))for(let f of e(String(l),c))u.push(r.parse(f,c));return u},s.braces=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return c&&c.nobrace===!0||!a(o)?[o]:e(o,c)},s.braceExpand=(o,c)=>{if(typeof o!="string")throw new TypeError("Expected a string");return s.braces(o,{...c,expand:!0})},s.hasBraces=a,Gr=s,Gr}var Qu=Ju();const ri=us(Qu),Zu={useRecommendedBuildConfig:!0,removeViteModuleLoader:!1,deleteInlinedFiles:!0};
|
|
101
|
+
function el(t,e,r,n=!1){const i=e.replaceAll(".","\\."),a=new RegExp(`<script([^>]*?) src="(?:[^"]*?/)?${i}"([^>]*)></script>`),s=/"?__VITE_PRELOAD__"?/g,o=r.replace(s,"void 0").replace(/<(\/script>|!--)/g,"\\x3C$1"),c=t.replace(a,(u,l,f)=>`<script${l}${f}>${o.trim()}</script>`);return n?ol(c):c}function tl(t,e,r){const n=e.replaceAll(".","\\."),i=new RegExp(`<link([^>]*?) href="(?:[^"]*?/)?${n}"([^>]*)>`),a=r.replace('@charset "UTF-8";',"");return t.replace(i,(o,c,u)=>`<style${c}${u}>${a.trim()}\
|
|
102
|
+
</style>`)}const rl=/\.[mc]?js$/,nl=/\.css$/,sl=/\.html?$/;function il({useRecommendedBuildConfig:t=!0,removeViteModuleLoader:e=!1,inlinePattern:r=[],deleteInlinedFiles:n=!0,overrideConfig:i={}}=Zu){return{name:"vite:singlefile",config:t?s=>{s.build||(s.build={}),s.build.assetsInlineLimit=()=>!0,s.build.chunkSizeWarningLimit=1e8,s.build.cssCodeSplit=!1,s.base="./",s.build.assetsDir="",s.build.rollupOptions||(s.build.rollupOptions={}),s.build.rollupOptions.output||(s.build.rollupOptions.output={});
|
|
103
103
|
const o=c=>{c.inlineDynamicImports=!0};if(Array.isArray(s.build.rollupOptions.output))for(const c of s.build.rollupOptions.output)o(c);else o(s.build.rollupOptions.output);Object.assign(s,i)}:void 0,enforce:"post",generateBundle(s,o){const c=f=>this.info(`NOTE: asset not inlined: ${f}`);this.info(`
|
|
104
|
-
`);const u={html:[],css:[],js:[],other:[]};for(const f of Object.keys(o))
|
|
105
|
-
v),
|
|
106
|
-
`).trimStart()}function
|
|
107
|
-
`).trimStart()}function
|
|
104
|
+
`);const u={html:[],css:[],js:[],other:[]};for(const f of Object.keys(o))sl.test(f)?u.html.push(f):nl.test(f)?u.css.push(f):rl.test(f)?u.js.push(f):u.other.push(f);const l=[];for(const f of u.html){const p=o[f];let d=p.source;for(const v of u.js){if(r.length&&!ri.isMatch(v,r)){c(v);continue}const w=o[v];w.code!=null&&(this.info(`Inlining: ${v}`),l.push(v),d=el(d,w.fileName,w.code,e))}for(const v of u.css){if(r.length&&!ri.isMatch(v,r)){c(v);continue}const w=o[v];this.info(`Inlining: ${v}`),l.push(
|
|
105
|
+
v),d=tl(d,w.fileName,w.source)}p.source=d}if(n)for(const f of l)delete o[f];for(const f of u.other)c(f)}}}const ol=t=>t.replace(/(<script type="module" crossorigin>\s*)\(function(?: polyfill)?\(\)\s*\{[\s\S]*?\}\)\(\);/,'<script type="module">');function Ye(t){return t.length===0?"never":t.sort(Au).map(e=>` | ${JSON.stringify(e)}`).join(`
|
|
106
|
+
`).trimStart()}function ni(t){const e=vs(t);return e.length===0?"never":ur(e,_u,nu(r=>` | ${JSON.stringify(r.id)}`)).join(`
|
|
107
|
+
`).trimStart()}function si(t,e={}){const{useCorePackage:r=!1}=e;return`
|
|
108
108
|
import type { Aux, SpecAux } from '${r?"@likec4/core/types":"likec4/model"}';
|
|
109
109
|
|
|
110
110
|
export type $Specs = SpecAux<
|
|
111
111
|
// Element kinds
|
|
112
|
-
${
|
|
112
|
+
${Ye(st(t.specification.elements))},
|
|
113
113
|
// Deployment kinds
|
|
114
|
-
${
|
|
114
|
+
${Ye(st(t.specification.deployments??{}))},
|
|
115
115
|
// Relationship kinds
|
|
116
|
-
${
|
|
116
|
+
${Ye(st(t.specification.relationships??{}))},
|
|
117
117
|
// Tags
|
|
118
|
-
${
|
|
118
|
+
${Ye(st(t.specification.tags??{}))},
|
|
119
119
|
// Metadata keys
|
|
120
|
-
${
|
|
120
|
+
${Ye(t.specification.metadataKeys??[])}
|
|
121
121
|
>
|
|
122
122
|
|
|
123
123
|
export type $Aux = Aux<
|
|
124
124
|
${JSON.stringify(t.stage)},
|
|
125
125
|
// Elements
|
|
126
|
-
${
|
|
126
|
+
${ni(t.$data.elements)},
|
|
127
127
|
// Deployments
|
|
128
|
-
${
|
|
128
|
+
${ni(t.$data.deployments.elements)},
|
|
129
129
|
// Views
|
|
130
|
-
${
|
|
130
|
+
${Ye(st(t.$data.views))},
|
|
131
131
|
// Project ID
|
|
132
132
|
${JSON.stringify(t.projectId)},
|
|
133
133
|
$Specs
|
|
@@ -143,7 +143,7 @@ export type $DeploymentKind = $Aux['DeploymentKind']
|
|
|
143
143
|
export type $Tag = $Aux['Tag']
|
|
144
144
|
export type $Tags = readonly $Aux['Tag'][]
|
|
145
145
|
export type $MetadataKey = $Aux['MetadataKey']
|
|
146
|
-
`.trimStart()}function
|
|
146
|
+
`.trimStart()}function al(t,e={}){const r=si(t,e),{useCorePackage:n=!1}=e;return`
|
|
147
147
|
/* prettier-ignore-start */
|
|
148
148
|
/* eslint-disable */
|
|
149
149
|
|
|
@@ -155,10 +155,10 @@ export type $MetadataKey = $Aux['MetadataKey']
|
|
|
155
155
|
import { LikeC4Model } from '${n?"@likec4/core":"likec4"}/model'
|
|
156
156
|
${r}
|
|
157
157
|
|
|
158
|
-
export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${
|
|
158
|
+
export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${Xe.stringify(t.$data,{space:2,quote:"'"})} as any) as any
|
|
159
159
|
|
|
160
160
|
/* prettier-ignore-end */
|
|
161
|
-
`.trimStart()}function
|
|
161
|
+
`.trimStart()}function cl(t){return _s(t,e=>Cs`${Xe.stringify(e.id)}`,{separator:" | "})}function ul(t){const e=Array.from(t),r=new lu;return r.appendTemplate`
|
|
162
162
|
/******************************************************************************
|
|
163
163
|
* This file was generated
|
|
164
164
|
* DO NOT EDIT MANUALLY!
|
|
@@ -169,10 +169,10 @@ export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${We.stringify(t.$
|
|
|
169
169
|
// @ts-nocheck
|
|
170
170
|
|
|
171
171
|
import type { DiagramView } from 'likec4'
|
|
172
|
-
`.append(
|
|
173
|
-
export type LikeC4ViewId = ${
|
|
172
|
+
`.append(We,We),e.length===0?(r.append("export {}",We),xs(r)):(r.appendTemplate`
|
|
173
|
+
export type LikeC4ViewId = ${cl(e)};
|
|
174
174
|
export const LikeC4Views = {
|
|
175
|
-
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(
|
|
175
|
+
`.indent({indentation:2,indentedChildren(n){n.appendNewLineIf(e.length>1).append(_s(e,i=>Cs`${Xe.stringify(i.id)}: (${Xe.stringify(i)} as unknown) as DiagramView`,{separator:",",appendNewLineIfNotEmpty:!0}))}}).append("} as const satisfies Record<LikeC4ViewId, DiagramView>",We,We).appendTemplate`
|
|
176
176
|
export type LikeC4Views = typeof LikeC4Views
|
|
177
177
|
|
|
178
178
|
export function isLikeC4ViewId(value: unknown): value is LikeC4ViewId {
|
|
@@ -184,7 +184,7 @@ export const likec4model: LikeC4Model<$Aux> = new LikeC4Model(${We.stringify(t.$
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
/* prettier-ignore-end */
|
|
187
|
-
`.append(
|
|
187
|
+
`.append(We),xs(r))}function ll(t,e={}){const{useCorePackage:r=!1}=e;Cu(!t.isParsed(),"can not generate react types for parsed model");const n=si(t,e);return`
|
|
188
188
|
/* prettier-ignore-start */
|
|
189
189
|
/* eslint-disable */
|
|
190
190
|
|
|
@@ -240,261 +240,277 @@ export {
|
|
|
240
240
|
ReactLikeC4
|
|
241
241
|
}
|
|
242
242
|
/* prettier-ignore-end */
|
|
243
|
-
`.trimStart()}const
|
|
244
|
-
webcomponentPrefix:c,title:u,root:i,languageServices:t,clearScreen:!1,base:o,resolve:{conditions:["production"],dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"],alias:{...
|
|
245
|
-
tils","@likec4/core","likec4/model","likec4/react","likec4/vite-plugin/internal"],noDiscovery:!0},esbuild:{tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),PAGE_TITLE:JSON.stringify(u),__USE_OVERVIEW_GRAPH__:a?"true":"false",__USE_HASH_HISTORY__:r?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:s,emptyOutDir:!1,sourcemap:!1,cssMinify:!1,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:
|
|
246
|
-
treeshake:{preset:"recommended"},...!l&&{input:[z(i,"index.html"),z(i,"src","main.js"),z(i,"src","fonts.css"),z(i,"src","style.css")],output:{manualChunks:f=>{if(!(f.endsWith(".css")||f.endsWith(".html")||f.includes("likec4/icons"))){if(f.includes("__app__")){let p=f.match(/__app__\/src\/([\w]+)\.js/)?.[1];return p?p[1]:void 0}if(f.includes("node_modules/likec4")||f.includes("node_modules/@likec4"))return"likec4";if(f.includes("node_modules"))return"vendors"}}}}}},customLogger:n,plugins:[
|
|
247
|
-
{languageServices:t.languageServices,useOverviewGraph:a}),l?
|
|
248
|
-
ient"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{
|
|
249
|
-
|
|
243
|
+
`.trimStart()}const Br=async({languageServices:t,likec4AssetsDir:e,...r})=>{const n=r.customLogger??Du,i=br(),a=r?.useOverviewGraph===!0;n.info(`${y.cyan("likec4 app root")} ${y.dim(i)}`);const s=r.outputDir??z(t.workspace,"dist");n.info(y.cyan("outDir")+" "+y.dim(s));let o="/";r.base&&(o=ls(r.base),!_c(o)&&o!=="./"&&(o=Cc(o))),o!=="/"&&n.info(`${y.green("app base url")} ${y.dim(o)}`);const c=r.webcomponentPrefix??"likec4",u=r.title??"LikeC4",l=r.outputSingleFile??!1;return{isDev:!1,likec4AssetsDir:e,
|
|
244
|
+
webcomponentPrefix:c,title:u,root:i,languageServices:t,clearScreen:!1,base:o,resolve:{conditions:["production"],dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client"],alias:{...Sr(),"likec4/previews":e}},configFile:!1,mode:"production",optimizeDeps:{include:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client","@likec4/core/types","@likec4/core/model","@likec4/core/styles","@likec4/core/compute-view/relationships","@likec4/core/u\
|
|
245
|
+
tils","@likec4/core","likec4/model","likec4/react","likec4/vite-plugin/internal"],noDiscovery:!0},esbuild:{tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},define:{WEBCOMPONENT_PREFIX:JSON.stringify(c),PAGE_TITLE:JSON.stringify(u),__USE_OVERVIEW_GRAPH__:a?"true":"false",__USE_HASH_HISTORY__:r?.useHashHistory===!0?"true":"false","process.env.NODE_ENV":'"production"'},build:{outDir:s,emptyOutDir:!1,sourcemap:!1,cssMinify:!1,minify:!0,copyPublicDir:!0,chunkSizeWarningLimit:Rr,rollupOptions:{
|
|
246
|
+
treeshake:{preset:"recommended"},...!l&&{input:[z(i,"index.html"),z(i,"src","main.js"),z(i,"src","fonts.css"),z(i,"src","style.css")],output:{manualChunks:f=>{if(!(f.endsWith(".css")||f.endsWith(".html")||f.includes("likec4/icons"))){if(f.includes("__app__")){let p=f.match(/__app__\/src\/([\w]+)\.js/)?.[1];return p?p[1]:void 0}if(f.includes("node_modules/likec4")||f.includes("node_modules/@likec4"))return"likec4";if(f.includes("node_modules"))return"vendors"}}}}}},customLogger:n,plugins:[pr(),hr(
|
|
247
|
+
{languageServices:t.languageServices,useOverviewGraph:a}),l?il():void 0].filter(Boolean)}};async function Vr({languageServices:t,outDir:e,base:r,webcomponentPrefix:n="likec4",filename:i="likec4-views.js"}){const a=ve(["vite","webcomponent"]),s=br();return a.info(y.cyan("outDir")+" "+y.dim(e)),{root:s,clearScreen:!1,base:r,configFile:!1,publicDir:!1,mode:"production",resolve:{conditions:["production"],alias:Sr(),dedupe:["react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/cl\
|
|
248
|
+
ient"]},define:{WEBCOMPONENT_PREFIX:JSON.stringify(n),"process.env.NODE_ENV":'"production"'},esbuild:{...$r,tsconfigRaw:{compilerOptions:{target:"ESNext",jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!0,assetsInlineLimit:100*1024,chunkSizeWarningLimit:Rr,lib:{entry:"src/webcomponent.js",fileName(o,c){return i},formats:["iife"],name:"LikeC4Views"},rollupOptions:{treeshake:{preset:"recommended"},output:{format:"iife",hoistTransitiveImports:!1,compact:!0}}},customLogger:a,plugins:[
|
|
249
|
+
pr(),hr({languageServices:t.languageServices,useOverviewGraph:!1})]}}const fl=["favicon.ico","robots.txt"],pl=async({buildWebcomponent:t=!0,webcomponentPrefix:e="likec4",title:r,languageServices:n,likec4AssetsDir:i,outputSingleFile:a,...s})=>{i??=await bt(ot(Et(),".likec4-assets-"));const o=await Br({...s,languageServices:n,likec4AssetsDir:i,webcomponentPrefix:e,title:r,outputSingleFile:a}),c=await Er();for(const l of fl){const f=z(o.root,l);_e(f)&&ys(f,z(c,l))}const u=n.languageServices.projects();
|
|
250
250
|
if(u.length===1){const l=await n.viewsService.computedViews(),f=await n.diagrams();if(f.length===0)throw process.exitCode=1,new Error("no views found");f.length===l.length?o.customLogger.info(`${y.dim("workspace:")} ${y.green("\u2713 all views layouted")}`):o.customLogger.warn(`${y.dim("workspace:")} ${y.yellow(`\u2717 layouted ${f.length} of ${l.length} views`)}`),f.forEach(p=>{(p.hasLayoutDrift||p.drifts&&p.drifts.length>0)&&o.customLogger.warn(y.dim("view")+" "+y.red(p.id)+" "+y.yellow("is ou\
|
|
251
|
-
t of date, layout drift detected"))})}else for(const l of u){const f=await n.viewsService.computedViews(l.id);f.length===0?o.customLogger.warn(`${y.dim("project:")} ${l.id} ${y.yellow("\u2717 no views found")}`):o.customLogger.info(`${y.dim("project:")} ${l.id} ${y.green(`${f.length} views`)}`)}if(t){const l=await
|
|
252
|
-
ex.html"))cr(z(o.build.outDir,l),{recursive:!0});else{const l=z(o.build.outDir,"index.html");_e(l)&&
|
|
253
|
-
"npx",0],"execute-local":["npx",0],uninstall:["npm","uninstall",0],global_uninstall:["npm","uninstall","-g",0]},
|
|
254
|
-
move",0]},
|
|
255
|
-
"update","-i",0],dedupe:["pnpm","dedupe",0],execute:["pnpm","dlx",0],"execute-local":["pnpm","exec",0],uninstall:["pnpm","remove",0],global_uninstall:["pnpm","remove","--global",0]},
|
|
256
|
-
remove",0],global_uninstall:["bun","remove","-g",0]},
|
|
257
|
-
"pnpm@6":{...
|
|
258
|
-
npm"},
|
|
259
|
-
!await
|
|
260
|
-
eld":{const s=await
|
|
261
|
-
packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}async function
|
|
262
|
-
{name:s,agent:i,version:c}):e.onUnknown?.(n.packageManager)??null}}catch{}return null}function
|
|
263
|
-
process.exit(1));const e=
|
|
251
|
+
t of date, layout drift detected"))})}else for(const l of u){const f=await n.viewsService.computedViews(l.id);f.length===0?o.customLogger.warn(`${y.dim("project:")} ${l.id} ${y.yellow("\u2717 no views found")}`):o.customLogger.info(`${y.dim("project:")} ${l.id} ${y.green(`${f.length} views`)}`)}if(t){const l=await Vr({webcomponentPrefix:e,languageServices:n,outDir:c,base:o.base});await ut(l)}if(await ut({...o,publicDir:c,mode:"production"}),a)for(let l of Qc(z(o.build.outDir)).filter(f=>f!=="ind\
|
|
252
|
+
ex.html"))cr(z(o.build.outDir,l),{recursive:!0});else{const l=z(o.build.outDir,"index.html");_e(l)&&ys(l,z(o.build.outDir,"404.html"))}};function zr(t,e){return r=>r.length>1?[t,e,r[0],"--",...r.slice(1)]:[t,e,r[0]]}function dl(){return t=>["deno","run",`npm:${t[0]}`,...t.slice(1)]}const hl={agent:["npm",0],run:zr("npm","run"),install:["npm","i",0],frozen:["npm","ci",0],global:["npm","i","-g",0],add:["npm","i",0],upgrade:["npm","update",0],"upgrade-interactive":null,dedupe:["npm","dedupe",0],execute:[
|
|
253
|
+
"npx",0],"execute-local":["npx",0],uninstall:["npm","uninstall",0],global_uninstall:["npm","uninstall","-g",0]},ii={agent:["yarn",0],run:["yarn","run",0],install:["yarn","install",0],frozen:["yarn","install","--frozen-lockfile",0],global:["yarn","global","add",0],add:["yarn","add",0],upgrade:["yarn","upgrade",0],"upgrade-interactive":["yarn","upgrade-interactive",0],dedupe:null,execute:["npx",0],"execute-local":zr("yarn","exec"),uninstall:["yarn","remove",0],global_uninstall:["yarn","global","re\
|
|
254
|
+
move",0]},ml={...ii,frozen:["yarn","install","--immutable",0],upgrade:["yarn","up",0],"upgrade-interactive":["yarn","up","-i",0],dedupe:["yarn","dedupe",0],execute:["yarn","dlx",0],"execute-local":["yarn","exec",0],global:["npm","i","-g",0],global_uninstall:["npm","uninstall","-g",0]},oi={agent:["pnpm",0],run:["pnpm","run",0],install:["pnpm","i",0],frozen:["pnpm","i","--frozen-lockfile",0],global:["pnpm","add","-g",0],add:["pnpm","add",0],upgrade:["pnpm","update",0],"upgrade-interactive":["pnpm",
|
|
255
|
+
"update","-i",0],dedupe:["pnpm","dedupe",0],execute:["pnpm","dlx",0],"execute-local":["pnpm","exec",0],uninstall:["pnpm","remove",0],global_uninstall:["pnpm","remove","--global",0]},gl={agent:["bun",0],run:["bun","run",0],install:["bun","install",0],frozen:["bun","install","--frozen-lockfile",0],global:["bun","add","-g",0],add:["bun","add",0],upgrade:["bun","update",0],"upgrade-interactive":["bun","update","-i",0],dedupe:null,execute:["bun","x",0],"execute-local":["bun","x",0],uninstall:["bun","\
|
|
256
|
+
remove",0],global_uninstall:["bun","remove","-g",0]},yl={agent:["deno",0],run:["deno","task",0],install:["deno","install",0],frozen:["deno","install","--frozen",0],global:["deno","install","-g",0],add:["deno","add",0],upgrade:["deno","outdated","--update",0],"upgrade-interactive":["deno","outdated","--update",0],dedupe:null,execute:dl(),"execute-local":["deno","task","--eval",0],uninstall:["deno","remove",0],global_uninstall:["deno","uninstall","-g",0]},wl={npm:hl,yarn:ii,"yarn@berry":ml,pnpm:oi,
|
|
257
|
+
"pnpm@6":{...oi,run:zr("pnpm","run")},bun:gl,deno:yl};function vl(t,e,r){const n=wl[t][e];return $l(n,r)}function $l(t,e){if(t==null)return null;const r=typeof t=="function"?t(e):t.flatMap(n=>typeof n=="number"?e:[n]);return{command:r[0],args:r.slice(1)}}const bl=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ai={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"\
|
|
258
|
+
npm"},ci={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};async function Wr(t,e){try{const r=await Rs.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}function*El(t=re.cwd()){let e=W.resolve(t);const{root:r}=W.parse(e);for(;e&&e!==r;)yield e,e=W.dirname(e)}async function ui(t,e){return!t||
|
|
259
|
+
!await Wr(t,"file")?null:await Al(t,e)}async function Rl(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"]}=t;let n;if(typeof t.stopDir=="string"){const i=W.resolve(t.stopDir);n=a=>a===i}else n=t.stopDir;for(const i of El(e)){for(const a of r)switch(a){case"lockfile":{for(const s of Object.keys(ai))if(await Wr(W.join(i,s),"file")){const o=ai[s],c=await ui(W.join(i,"package.json"),t);return c||{name:o,agent:o}}break}case"packageManager-field":case"devEngines-fi\
|
|
260
|
+
eld":{const s=await ui(W.join(i,"package.json"),t);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(ci)){const o=s.endsWith("/")?"dir":"file";if(await Wr(W.join(i,s),o)){const c=ci[s],u=c==="yarn"?_l(s)?"yarn":"yarn@berry":c;return{name:c,agent:u}}}break}}if(n?.(i))break}return null}function Sl(t){const e=r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r;if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.
|
|
261
|
+
packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}async function Al(t,e){try{const r=await Rs.readFile(t,"utf8"),n=e.packageJsonParser?await e.packageJsonParser(r,t):JSON.parse(r);let i;const a=Sl(n);if(a){const s=a.name,o=a.ver;let c=o;return s==="yarn"&&o&&Number.parseInt(o)>1?(i="yarn@berry",c="berry",{name:s,agent:i,version:c}):s==="pnpm"&&o&&Number.parseInt(o)<7?(i="pnpm@6",{name:s,agent:i,version:c}):bl.includes(s)?(i=s,
|
|
262
|
+
{name:s,agent:i,version:c}):e.onUnknown?.(n.packageManager)??null}}catch{}return null}function _l(t){return t.endsWith(".yarn_integrity")}function li(t){try{return!!gu.createRequire(import.meta.url).resolve(t)}catch(e){return ge.debug(yt(e)),!1}}async function lt(){if(li("react")&&li("react-dom")){ge.debug("react already installed");return}ge.debug("react not installed");const t=await Rl();t||(ge.error`Package manager not detected, please install dependencies manually: ${"react"} ${"react-dom"}`,
|
|
263
|
+
process.exit(1));const e=vl(t.agent,"add",["react","react-dom"]);e||(ge.error`Please install dependencies manually: ${"react"} ${"react-dom"}`,process.exit(1));try{await fs(e.command,e.args,{stdio:"inherit"})}catch(r){ge.debug(yt(r)),ge.error`Please install dependencies manually: ${"react"} ${"react-dom"}`,process.exit(1)}}function fi(t){if(t.resolvedUrls)return ps(t.resolvedUrls.network)??ps(t.resolvedUrls.local)}function pi(t){if(!t.resolvedUrls)throw new Error("Vite server is not ready, no re\
|
|
264
264
|
solvedUrls");Te([y.green("LikeC4 served at:"),"",y.dim("Local: ")+t.resolvedUrls.local.join(`
|
|
265
265
|
`+"".padEnd(9," ")),t.resolvedUrls.network.length?y.dim("Network: ")+t.resolvedUrls.network.join(`
|
|
266
|
-
`+"".padEnd(9," ")):void 0].filter(e=>
|
|
267
|
-
`))}class
|
|
268
|
-
try{await
|
|
269
|
-
responding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(i)}ft===void 0&&(ft=setTimeout(()=>{ft=void 0,
|
|
270
|
-
if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof
|
|
271
|
-
i;a++)yield a}(t,e)}async function
|
|
272
|
-
w=o??(Le()?"0.0.0.0":"localhost");e?(p.info(`Enabling HMR: localhost:${
|
|
273
|
-
base:f.base}).then(g=>
|
|
274
|
-
catch(E=>n.error(`failed to close page: ${E}`)),u=void 0);const S=
|
|
275
|
-
(T=
|
|
266
|
+
`+"".padEnd(9," ")):void 0].filter(e=>xc(e)).join(`
|
|
267
|
+
`))}class di extends Error{constructor(e){super(`${e} is locked`)}}const Je={old:new Set,young:new Set},Cl=1e3*15,Ct=1024,xt=65535;let ft;const xl=()=>{const t=ct.networkInterfaces(),e=new Set([void 0,"0.0.0.0"]);for(const r of Object.values(t))for(const n of r)e.add(n.address);return e},hi=t=>new Promise((e,r)=>{const n=yu.createServer();n.unref(),n.on("error",r),n.listen(t,()=>{const{port:i}=n.address();n.close(()=>{e(i)})})}),mi=async(t,e)=>{if(t.host||t.port===0)return hi(t);for(const r of e)
|
|
268
|
+
try{await hi({port:t.port,host:r})}catch(n){if(!["EADDRNOTAVAIL","EINVAL"].includes(n.code))throw n}return t.port},Tl=function*(t){t&&(yield*t),yield 0};async function Xr(t){let e,r=new Set;if(t&&(t.port&&(e=typeof t.port=="number"?[t.port]:t.port),t.exclude)){const i=t.exclude;if(typeof i[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(const a of i){if(typeof a!="number")throw new TypeError("Each item in the `exclude` option must be a number cor\
|
|
269
|
+
responding to the port you want excluded.");if(!Number.isSafeInteger(a))throw new TypeError(`Number ${a} in the exclude option is not a safe integer and can't be used`)}r=new Set(i)}ft===void 0&&(ft=setTimeout(()=>{ft=void 0,Je.old=Je.young,Je.young=new Set},Cl),ft.unref&&ft.unref());const n=xl();for(const i of Tl(e))try{if(r.has(i))continue;let a=await mi({...t,port:i},n);for(;Je.old.has(a)||Je.young.has(a);){if(i!==0)throw new di(i);a=await mi({...t,port:i},n)}return Je.young.add(a),a}catch(a){
|
|
270
|
+
if(!["EADDRINUSE","EACCES"].includes(a.code)&&!(a instanceof di))throw a}throw new Error("No available ports found")}function Tt(t,e){if(!Number.isInteger(t)||!Number.isInteger(e))throw new TypeError("`from` and `to` must be integer numbers");if(t<Ct||t>xt)throw new RangeError(`'from' must be between ${Ct} and ${xt}`);if(e<Ct||e>xt)throw new RangeError(`'to' must be between ${Ct} and ${xt}`);if(t>e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(n,i){for(let a=n;a<=
|
|
271
|
+
i;a++)yield a}(t,e)}async function gi({buildWebcomponent:t=!0,hmr:e=!0,webcomponentPrefix:r="likec4",title:n,languageServices:i,likec4AssetsDir:a,openBrowser:s,listen:o,port:c,...u}){a??=await bt(ot(Et(),".likec4-assets-"));const{isDev:l,...f}=await Br({...u,languageServices:i,likec4AssetsDir:a,webcomponentPrefix:r,title:n}),p=f.customLogger;c??=$s.PORT?parseInt($s.PORT,10):void 0,c||(c=await Xr({port:[5173,5174,...Tt(61e3,61010),...Tt(62002,62010)]}));const d=await Xr({port:Tt(24678,24690)}),v=await Er(),
|
|
272
|
+
w=o??(Le()?"0.0.0.0":"localhost");e?(p.info(`Enabling HMR: localhost:${d}`),Le()&&p.info(y.yellow(`ensure port ${d} is published from container`))):p.info("Disabling HMR");const m=await hu({...f,define:e?{...f.define,"process.env.NODE_ENV":'"development"'}:f.define,mode:e?"development":f.mode,publicDir:v,server:{host:w,allowedHosts:!0,port:c,hmr:e&&{overlay:!0,port:d},fs:{strict:!1},open:s??(!l&&!Le())}});return t?(p.info("Building webcomponent"),Vr({webcomponentPrefix:r,languageServices:i,outDir:v,
|
|
273
|
+
base:f.base}).then(g=>ut({...g,logLevel:"warn"})).catch(g=>{p.warn(yt(g)),p.warn("webcomponent build failed, ignoring error and continue")})):p.info("Skip webcomponent build"),await m.listen(),m}async function Il({browserContext:t,views:e,output:r,logger:n,timeout:i,maxAttempts:a,dynamicVariant:s,outputType:o,theme:c}){let u;const l=e.map(d=>({view:d,attempt:1})),f=[];let p;for(;p=l.shift();){const{view:d,attempt:v}=p,w=`export/${encodeURIComponent(d.id)}/`;try{if(v>1){u&&(u.close({runBeforeUnload:!0}).
|
|
274
|
+
catch(E=>n.error(`failed to close page: ${E}`)),u=void 0);const S=ds(v*200,{min:200,max:1e3});n.info(y.cyan(w)+y.dim(` attempt ${v} of ${a} after ${S}ms`)),await wu(S)}else d.hasLayoutDrift&&n.warn(y.yellow("Drift detected, manual layout can not be applied, view may be invalid: ")+y.red(d.id));let m=".";o==="relative"&&(m=d.sourcePath??".",m.includes("/")?m=m.slice(0,m.lastIndexOf("/")):m=".");const g=z(r,m,`${d.id}.png`);u??=await t.newPage();let T=d.bounds;s==="sequence"&&d._type==="dynamic"&&
|
|
275
|
+
(T=d.sequenceLayout.bounds);const h=20;await u.setViewportSize({width:T.width+40+h,height:T.height+40+h}),await u.goto(Tc(w,{padding:20,theme:c,dynamic:s})),n.info(y.cyan(w)+y.dim(` -> ${Ce(r,g)}`)),await u.waitForSelector(".react-flow.initialized"),d.nodes.some(S=>Ic(S.icon)&&S.icon.toLowerCase().startsWith("http"))&&await Ol(u,i),await u.getByTestId("export-page").screenshot({animations:"disabled",path:g,omitBackground:!0}),f.push({view:d,path:g})}catch(m){u?.close({runBeforeUnload:!0}).catch(
|
|
276
276
|
g=>n.error(`failed to close page: ${g}`)),n.error(y.red("failed "+w+`
|
|
277
|
-
`+m)),v<a&&(l.push({view:
|
|
278
|
-
cDispose")],n===void 0&&(n=e[
|
|
279
|
-
return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function
|
|
277
|
+
`+m)),v<a&&(l.push({view:d,attempt:v+1}),n.info(y.dim(`retry ${w}`))),u=void 0}}return f}async function Ol(t,e){let r=await t.locator("//img").all();if(!r.length)return;const n=r.map(i=>i.evaluate(a=>a.complete||new Promise(s=>{a.onload=s,a.onerror=s}),{timeout:Math.max(15e3,e)}));await Promise.allSettled(n)}var yi=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),wi=t=>{throw TypeError(t)},Ll=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&wi("Object expected");var n,i;n=e[yi("asyn\
|
|
278
|
+
cDispose")],n===void 0&&(n=e[yi("dispose")],i=n),typeof n!="function"&&wi("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},kl=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])
|
|
279
|
+
return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function vi({logger:t,serverUrl:e,theme:r="light",timeoutMs:n=15e3,views:i,output:a,outputType:s="relative",maxAttempts:o=3,chromiumSandbox:c=!1,sequence:u=!1}){t.info(`${y.dim("output")} ${a}`),t.info(`${y.dim("base url")} ${e}
|
|
280
280
|
`);const{chromium:l}=await import("playwright"),f=l.executablePath();t.info(y.cyan("Start chromium")+" "+y.dim(f));const p=await l.launch({chromiumSandbox:c,headless:!0});t.info(y.cyan("Color scheme: ")+r+`
|
|
281
|
-
`);const
|
|
282
|
-
ignore:o=!1,timeoutMs:c=1e4,maxAttempts:u=3,filter:l,sequence:f=!1,chromiumSandbox:p=!1}){var
|
|
283
|
-
hmr:!1}),s=
|
|
284
|
-
!0):(g.info(`${y.gray("skip")} ${y.dim(L.id)}`),!1))}if(!
|
|
285
|
-
`),M.length!==b.length&&(o&&M.length>0?g.info(y.dim("ignore")+" "+y.red(`failed ${b.length-M.length} out of ${b.length} views`)):g.error(y.red(`failed ${b.length-M.length} out of ${b.length} views`))),M.length!==b.length&&(M.length===0||!o))throw new Error(`Failed ${b.length-M.length} out of ${b.length} views`)}S&&(g.info(y.cyan("stop server")),await S.close().catch(A=>{g.error(A)}))}catch(g){var v=g,w=!0}finally{var m=
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
281
|
+
`);const d=await p.newContext({deviceScaleFactor:2,colorScheme:r,baseURL:e,bypassCSP:!0,ignoreHTTPSErrors:!0,isMobile:!1});d.setDefaultNavigationTimeout(n),d.setDefaultTimeout(n);try{return await Il({browserContext:d,views:i,output:a,outputType:s,logger:t,maxAttempts:o,dynamicVariant:u?"sequence":"diagram",timeout:n,theme:r})}finally{t.info(y.cyan("close chromium")),await d.close(),await p.close()}}async function $i({path:t,useDotBin:e,project:r,theme:n="light",output:i,outputType:a,serverUrl:s,
|
|
282
|
+
ignore:o=!1,timeoutMs:c=1e4,maxAttempts:u=3,filter:l,sequence:f=!1,chromiumSandbox:p=!1}){var d=[];try{const g=ve("export"),T=eu(),h=Ll(d,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0);i??=h.workspace;let S,E=[...h.languageServices.projects()];if(r&&!E.some(A=>A.id===r))throw g.error(`project not found: ${r}`),new Error(`project not found: ${r}`);if(!s&&(g.info(y.cyan("start preview server")),S=await gi({languageServices:h,buildWebcomponent:!1,openBrowser:!1,useOverviewGraph:!1,
|
|
283
|
+
hmr:!1}),s=fi(S),!s))throw g.error("Vite server is not ready, no resolvedUrls"),new Error("Vite server is not ready, no resolvedUrls");for(const A of E){if(r&&A.id!==r)continue;E.length>1&&(g.info(y.dim("---------")),g.info(`${y.dim("project:")} ${A.id}`),g.info(`${y.dim("folder:")} ${A.folder.fsPath}`));let b=await h.diagrams(A.id);if(l&&Me(l,1)&&Me(b,1)){const F=Oc(l);g.info(`${y.cyan("filter")} ${y.dim(JSON.stringify(l))}`),b=b.filter(L=>F(L.id)?(g.info(`${y.green("include")} ${L.id} \u2705`),
|
|
284
|
+
!0):(g.info(`${y.gray("skip")} ${y.dim(L.id)}`),!1))}if(!Me(b,1)){g.warn("no views found");continue}let x=E.length>1?ls(hs(s,"project",A.id)):s,q=E.length>1?hs(i,A.id):i;const M=await vi({logger:g,serverUrl:x,theme:n,timeoutMs:c,views:b,output:q,outputType:a,maxAttempts:u,sequence:f,chromiumSandbox:p}),{pretty:V}=Lc(T);if(M.length>0&&g.info(y.green(`exported ${M.length} views in ${V}`)+`
|
|
285
|
+
`),M.length!==b.length&&(o&&M.length>0?g.info(y.dim("ignore")+" "+y.red(`failed ${b.length-M.length} out of ${b.length} views`)):g.error(y.red(`failed ${b.length-M.length} out of ${b.length} views`))),M.length!==b.length&&(M.length===0||!o))throw new Error(`Failed ${b.length-M.length} out of ${b.length} views`)}S&&(g.info(y.cyan("stop server")),await S.close().catch(A=>{g.error(A)}))}catch(g){var v=g,w=!0}finally{var m=kl(d,v,w);m&&await m}}function Nl(t){return t.command({command:"png [path]",describe:"\
|
|
286
|
+
export views to PNG",builder:e=>e.positional("path",ce).options({output:{alias:["o","outdir"],type:"string",desc:"output directory, if not specified, images are saved next to sources",normalize:!0,nargs:1,coerce:z},project:Ke,theme:{choices:["light","dark"],desc:"color-scheme to use, defaults to light",conflicts:["dark","light"],nargs:1},dark:{type:"boolean",desc:"use dark theme, shortcut for --theme=dark",conflicts:["theme","light"]},light:{type:"boolean",desc:"use light theme, shortcut for --t\
|
|
287
|
+
heme=light",conflicts:["theme","dark"]},"use-dot":de,seq:{boolean:!0,alias:["sequence"],type:"boolean",desc:"use sequence layout for dynamic views"},flat:{alias:["flatten"],boolean:!0,type:"boolean",desc:"flatten all images in output directory ignoring sources structure"},filter:{alias:"f",array:!0,string:!0,desc:`include views with ids matching given patterns
|
|
288
|
+
multiple patterns are combined with OR`},ignore:{boolean:!0,alias:"i",desc:"continue if export fails for some views"},timeout:{type:"number",alias:"t",desc:"timeout for playwright (in seconds)",default:15,nargs:1},"max-attempts":{type:"number",desc:"max attempts to export failing view, 1 means no retry",default:3,nargs:1},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server",nargs:1},"chromium-sandbox":{boolean:!0,desc:"enable chromium sandbox (see Playwright docs\
|
|
289
|
+
)",default:!1}}).epilog(`${y.bold("Examples:")}
|
|
290
|
+
${y.green("$0 export png")}
|
|
291
|
+
${y.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
292
|
+
|
|
293
|
+
${y.green("$0 export png --theme dark -o ./png src/likec4")}
|
|
294
|
+
${y.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
295
|
+
|
|
296
|
+
${y.green('$0 export png -f "team1*" -f "team2*" --flat -o ./png src/likec4')}
|
|
297
|
+
${y.gray("Export views matching team1* or team2* only")}
|
|
298
|
+
|
|
299
|
+
${y.green('$0 export png -f "use-case*" --sequence src/likec4')}
|
|
300
|
+
${y.gray("Export views matching use-case* using sequence layout")}
|
|
301
|
+
`),handler:async e=>{mr(e.timeout>=1,"timeout must be >= 1"),mr(e["max-attempts"]>=1,"max-attempts must be >= 1"),await lt();const r=e.theme??(e.dark?"dark":"light");await $i({path:e.path,useDotBin:e["use-dot"],output:e.output,project:e.project,timeoutMs:e.timeout*1e3,maxAttempts:e.maxAttempts,ignore:e.ignore===!0,outputType:e.flat?"flat":"relative",serverUrl:e.serverUrl,theme:r,filter:e.filter,sequence:e.seq,chromiumSandbox:e["chromium-sandbox"]})}})}var bi=(t,e)=>(e=Symbol[t])?e:Symbol.for("Sy\
|
|
302
|
+
mbol."+t),Ei=t=>{throw TypeError(t)},Pl=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Ei("Object expected");var n,i;n=e[bi("asyncDispose")],n===void 0&&(n=e[bi("dispose")],i=n),typeof n!="function"&&Ei("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},jl=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,
|
|
303
|
+
u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const{cyan:Ri,dim:Si}=y;async function Dl({path:t,useDotBin:e,useHashHistory:r,webcomponentPrefix:n,title:i,useOverview:a=!1,output:s,outputSingleFile:o,base:c}){var u=[];try{await lt();const d=ve("c4:build"),v=Pl(u,await ye.fromWorkspace(t,{graphviz:e?"binary":
|
|
304
|
+
"wasm",logger:"vite",watch:!1}),!0),w=s??z(v.workspace,"dist");let m=z(w,"assets");if(a)try{m=z(w,"assets","previews"),await Se(m,{recursive:!0}),d.info(`${Ri("Generate previews")} ${Si(m)}
|
|
305
|
+
`),await $i({path:t,useDotBin:e,project:void 0,output:m,outputType:"flat",ignore:!0})}catch(g){d.error(y.red("Failed to generate previews")),d.error(g),d.warn(y.yellow("Ignore previews and continue build")),cr(m,{recursive:!0,force:!0}),a=!1}await pl({base:c,useHashHistory:o||r,customLogger:d,useOverviewGraph:a,webcomponentPrefix:n,title:i,languageServices:v,likec4AssetsDir:m,outputDir:s,outputSingleFile:o}),a&&(d.info(`${Ri("clean previews")} ${Si(m)}`),cr(m,{recursive:!0,force:!0}))}catch(d){var l=d,
|
|
306
|
+
f=!0}finally{var p=jl(u,l,f);p&&await p}}const ql=t=>t.command({command:"build [path]",aliases:["bundle"],describe:"Build a static website",builder:e=>e.positional("path",ce).option("output",{alias:"o",type:"string",desc:"output directory for production build",normalize:!0,coerce:z}).option("base",Ps).option("use-hash-history",ks).option("use-dot",de).option("webcomponent-prefix",vr).option("title",Ns).option("output-single-file",Lu).example(`${y.green("$0 build -o ./build ./src")}`,y.gray("Sear\
|
|
307
|
+
ch for likec4 files in 'src' and output static site to 'build'")),handler:async e=>{await Dl({path:e.path,output:e.output,base:e.base,useHashHistory:e["use-hash-history"],useDotBin:e["use-dot"],webcomponentPrefix:e["webcomponent-prefix"],title:e.title,outputSingleFile:e["output-single-file"]??!1})}}),Fe=t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},Ai=new Set(["__proto__","prototype","constructor"]),_i=1e6,Hl=t=>t>="0"&&t<="9";function Ci(t){if(t==="0")return!0;if(/^[1-9]\d*$/.
|
|
308
|
+
test(t)){const e=Number.parseInt(t,10);return e<=Number.MAX_SAFE_INTEGER&&e<=_i}return!1}function Kr(t,e){return Ai.has(t)?!1:(t&&Ci(t)?e.push(Number.parseInt(t,10)):e.push(t),!0)}function Ml(t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);const e=[];let r="",n="start",i=!1,a=0;for(const s of t){if(a++,i){r+=s,i=!1;continue}if(s==="\\"){if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd")throw new Error(`Inv\
|
|
309
|
+
alid character '${s}' after an index at position ${a}`);i=!0,n=n==="start"?"property":n;continue}switch(s){case".":{if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd"){n="property";break}if(!Kr(r,e))return[];r="",n="property";break}case"[":{if(n==="index")throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd"){n="index";break}if(n==="property"||n==="start"){if((r||n==="property")&&!Kr(r,e))return[];r=""}n=
|
|
310
|
+
"index";break}case"]":{if(n==="index"){if(r==="")r=(e.pop()||"")+"[]",n="property";else{const o=Number.parseInt(r,10);!Number.isNaN(o)&&Number.isFinite(o)&&o>=0&&o<=Number.MAX_SAFE_INTEGER&&o<=_i&&r===String(o)?e.push(o):e.push(r),r="",n="indexEnd"}break}if(n==="indexEnd")throw new Error(`Invalid character '${s}' after an index at position ${a}`);r+=s;break}default:{if(n==="index"&&!Hl(s))throw new Error(`Invalid character '${s}' in an index at position ${a}`);if(n==="indexEnd")throw new Error(`\
|
|
311
|
+
Invalid character '${s}' after an index at position ${a}`);n==="start"&&(n="property"),r+=s}}}switch(i&&(r+="\\"),n){case"property":{if(!Kr(r,e))return[];break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function It(t){if(typeof t=="string")return Ml(t);if(Array.isArray(t)){const e=[];for(const[r,n]of t.entries()){if(typeof n!="string"&&typeof n!="number")throw new TypeError(`Expected a string or number for path segment at index ${r}, got ${typeof n}`);
|
|
312
|
+
if(typeof n=="number"&&!Number.isFinite(n))throw new TypeError(`Path segment at index ${r} must be a finite number, got ${n}`);if(Ai.has(n))return[];typeof n=="string"&&Ci(n)?e.push(Number.parseInt(n,10)):e.push(n)}return e}return[]}function xi(t,e,r){if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return r===void 0?t:r;const n=It(e);if(n.length===0)return r;for(let i=0;i<n.length;i++){const a=n[i];if(t=t[a],t==null){if(i!==n.length-1)return r;break}}return t===void 0?r:t}function Ot(t,e,r){if(!Fe(
|
|
313
|
+
t)||typeof e!="string"&&!Array.isArray(e))return t;const n=t,i=It(e);if(i.length===0)return t;for(let a=0;a<i.length;a++){const s=i[a];if(a===i.length-1)t[s]=r;else if(!Fe(t[s])){const c=typeof i[a+1]=="number";t[s]=c?[]:{}}t=t[s]}return n}function Ul(t,e){if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return!1;const r=It(e);if(r.length===0)return!1;for(let n=0;n<r.length;n++){const i=r[n];if(n===r.length-1)return Object.hasOwn(t,i)?(delete t[i],!0):!1;if(t=t[i],!Fe(t))return!1}}function Yr(t,e){
|
|
314
|
+
if(!Fe(t)||typeof e!="string"&&!Array.isArray(e))return!1;const r=It(e);if(r.length===0)return!1;for(const n of r){if(!Fe(t)||!(n in t))return!1;t=t[n]}return!0}const ke=ct.homedir(),Jr=ct.tmpdir(),{env:Qe}=re,Fl=t=>{const e=W.join(ke,"Library");return{data:W.join(e,"Application Support",t),config:W.join(e,"Preferences",t),cache:W.join(e,"Caches",t),log:W.join(e,"Logs",t),temp:W.join(Jr,t)}},Gl=t=>{const e=Qe.APPDATA||W.join(ke,"AppData","Roaming"),r=Qe.LOCALAPPDATA||W.join(ke,"AppData","Local");
|
|
315
|
+
return{data:W.join(r,t,"Data"),config:W.join(e,t,"Config"),cache:W.join(r,t,"Cache"),log:W.join(r,t,"Log"),temp:W.join(Jr,t)}},Bl=t=>{const e=W.basename(ke);return{data:W.join(Qe.XDG_DATA_HOME||W.join(ke,".local","share"),t),config:W.join(Qe.XDG_CONFIG_HOME||W.join(ke,".config"),t),cache:W.join(Qe.XDG_CACHE_HOME||W.join(ke,".cache"),t),log:W.join(Qe.XDG_STATE_HOME||W.join(ke,".local","state"),t),temp:W.join(Jr,e,t)}};function Vl(t,{suffix:e="nodejs"}={}){if(typeof t!="string")throw new TypeError(
|
|
316
|
+
`Expected a string, got ${typeof t}`);return e&&(t+=`-${e}`),re.platform==="darwin"?Fl(t):re.platform==="win32"?Gl(t):Bl(t)}const Ne=(t,e)=>function(...n){return t.apply(void 0,n).catch(e)},xe=(t,e)=>function(...n){try{return t.apply(void 0,n)}catch(i){return e(i)}},zl=re.getuid?!re.getuid():!1,Wl=1e4,we=()=>{},ee={isChangeErrorOk:t=>{if(!ee.isNodeError(t))return!1;const{code:e}=t;return e==="ENOSYS"||!zl&&(e==="EINVAL"||e==="EPERM")},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!ee.
|
|
317
|
+
isNodeError(t))return!1;const{code:e}=t;return e==="EMFILE"||e==="ENFILE"||e==="EAGAIN"||e==="EBUSY"||e==="EACCESS"||e==="EACCES"||e==="EACCS"||e==="EPERM"},onChangeError:t=>{if(!ee.isNodeError(t))throw t;if(!ee.isChangeErrorOk(t))throw t}};class Xl{constructor(){this.interval=25,this.intervalId=void 0,this.limit=Wl,this.queueActive=new Set,this.queueWaiting=new Set,this.init=()=>{this.intervalId||(this.intervalId=setInterval(this.tick,this.interval))},this.reset=()=>{this.intervalId&&(clearInterval(
|
|
302
318
|
this.intervalId),delete this.intervalId)},this.add=e=>{this.queueWaiting.add(e),this.queueActive.size<this.limit/2?this.tick():this.init()},this.remove=e=>{this.queueWaiting.delete(e),this.queueActive.delete(e)},this.schedule=()=>new Promise(e=>{const r=()=>this.remove(n),n=()=>e(r);this.add(n)}),this.tick=()=>{if(!(this.queueActive.size>=this.limit)){if(!this.queueWaiting.size)return this.reset();for(const e of this.queueWaiting){if(this.queueActive.size>=this.limit)break;this.queueWaiting.delete(
|
|
303
|
-
e),this.queueActive.add(e),e()}}}}}const
|
|
319
|
+
e),this.queueActive.add(e),e()}}}}}const Kl=new Xl,Pe=(t,e)=>function(n){return function i(...a){return Kl.schedule().then(s=>{const o=u=>(s(),u),c=u=>{if(s(),Date.now()>=n)throw u;if(e(u)){const l=Math.round(100*Math.random());return new Promise(p=>setTimeout(p,l)).then(()=>i.apply(void 0,a))}throw u};return t.apply(void 0,a).then(o,c)})}},je=(t,e)=>function(n){return function i(...a){try{return t.apply(void 0,a)}catch(s){if(Date.now()>n)throw s;if(e(s))return i.apply(void 0,a);throw s}}},ue={attempt:{
|
|
304
320
|
chmod:Ne(ae(B.chmod),ee.onChangeError),chown:Ne(ae(B.chown),ee.onChangeError),close:Ne(ae(B.close),we),fsync:Ne(ae(B.fsync),we),mkdir:Ne(ae(B.mkdir),we),realpath:Ne(ae(B.realpath),we),stat:Ne(ae(B.stat),we),unlink:Ne(ae(B.unlink),we),chmodSync:xe(B.chmodSync,ee.onChangeError),chownSync:xe(B.chownSync,ee.onChangeError),closeSync:xe(B.closeSync,we),existsSync:xe(B.existsSync,we),fsyncSync:xe(B.fsync,we),mkdirSync:xe(B.mkdirSync,we),realpathSync:xe(B.realpathSync,we),statSync:xe(B.statSync,we),unlinkSync:xe(
|
|
305
321
|
B.unlinkSync,we)},retry:{close:Pe(ae(B.close),ee.isRetriableError),fsync:Pe(ae(B.fsync),ee.isRetriableError),open:Pe(ae(B.open),ee.isRetriableError),readFile:Pe(ae(B.readFile),ee.isRetriableError),rename:Pe(ae(B.rename),ee.isRetriableError),stat:Pe(ae(B.stat),ee.isRetriableError),write:Pe(ae(B.write),ee.isRetriableError),writeFile:Pe(ae(B.writeFile),ee.isRetriableError),closeSync:je(B.closeSync,ee.isRetriableError),fsyncSync:je(B.fsyncSync,ee.isRetriableError),openSync:je(B.openSync,ee.isRetriableError),
|
|
306
|
-
readFileSync:je(B.readFileSync,ee.isRetriableError),renameSync:je(B.renameSync,ee.isRetriableError),statSync:je(B.statSync,ee.isRetriableError),writeSync:je(B.writeSync,ee.isRetriableError),writeFileSync:je(B.writeFileSync,ee.isRetriableError)}},
|
|
307
|
-
n32",
|
|
308
|
-
for(const e of
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
writeSync(n)(s,e,0,e.length,0),r.fsync!==!1&&(r.fsyncWait!==!1?
|
|
312
|
-
Nt={},
|
|
313
|
-
schema:u,self:l}=o.it,{root:f,baseId:p,localRefs:
|
|
314
|
-
if(s[0]!=="#")throw new Error(`"${c}" only supports hash fragment reference`);const l=s.slice(1);if(u.allErrors)f();else{const
|
|
315
|
-
|
|
316
|
-
e,jt}var
|
|
317
|
-
1,Object.defineProperty(Ht,"__esModule",{value:!0});const t=
|
|
318
|
-
default=e,Mt}var
|
|
319
|
-
unevaluatedProperty}}`},code(a){const{gen:s,schema:o,data:c,errsCount:u,it:l}=a;if(!u)throw new Error("ajv implementation error");const{allErrors:f,props:p}=l;p instanceof t.Name?s.if((0,t._)`${p} !== true`,()=>s.forIn("key",c,m=>s.if(v(p,m),()=>
|
|
320
|
-
const g=s.name("valid");a.subschema({keyword:"unevaluatedProperties",dataProp:m,dataPropType:e.Type.Str},g),f||s.if((0,t.not)(g),()=>s.break())}}function v(m,g){return(0,t._)`!${m} || !${m}[${g}]`}function w(m,g){const T=[];for(const
|
|
321
|
-
"boolean","object"],error:{message:({params:{len:i}})=>(0,t.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,t._)`{limit: ${i}}`},code(i){const{gen:a,schema:s,data:o,it:c}=i,u=c.items||0;if(u===!0)return;const l=a.const("len",(0,t._)`${o}.length`);if(s===!1)i.setParams({len:u}),i.fail((0,t._)`${l} > ${u}`);else if(typeof s=="object"&&!(0,e.alwaysValidSchema)(c,s)){const p=a.var("valid",(0,t._)`${l} <= ${u}`);a.if((0,t.not)(p),()=>f(p,u)),i.ok(p)}c.items=!0;function f(p,
|
|
322
|
-
forRange("i",
|
|
323
|
-
t.default,e.default,(0,r.default)(!0),s.default,o.metadataVocabulary,o.contentVocabulary,i.default,a.default];return kt.default=c,kt}var Bt={};const
|
|
324
|
-
n-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},
|
|
325
|
-
previous drafts in order to prevent incompatible extensions as they remain in common use.",
|
|
326
|
-
/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}
|
|
327
|
-
allOf:
|
|
328
|
-
$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},
|
|
329
|
-
type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},
|
|
330
|
-
ulary meta-schema",
|
|
331
|
-
ent":!0},
|
|
332
|
-
"https://json-schema.org/draft/2020-12/vocab/core":!0},
|
|
333
|
-
ng"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},
|
|
334
|
-
title:
|
|
335
|
-
properties:
|
|
336
|
-
$schema:
|
|
322
|
+
readFileSync:je(B.readFileSync,ee.isRetriableError),renameSync:je(B.renameSync,ee.isRetriableError),statSync:je(B.statSync,ee.isRetriableError),writeSync:je(B.writeSync,ee.isRetriableError),writeFileSync:je(B.writeFileSync,ee.isRetriableError)}},Yl="utf8",Ti=438,Jl=511,Ql={},Zl=ct.userInfo().uid,ef=ct.userInfo().gid,tf=1e3,rf=!!re.getuid;re.getuid&&re.getuid();const Ii=128,nf=t=>t instanceof Error&&"code"in t,Oi=t=>typeof t=="string",Qr=t=>t===void 0,sf=re.platform==="linux",Li=re.platform==="wi\
|
|
323
|
+
n32",Zr=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];Li||Zr.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),sf&&Zr.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED");class of{constructor(){this.callbacks=new Set,this.exited=!1,this.exit=e=>{if(!this.exited){this.exited=!0;for(const r of this.callbacks)r();e&&(Li&&e!=="SIGINT"&&e!=="SIGTERM"&&e!=="SIGKILL"?re.kill(re.pid,"SIGTERM"):re.kill(re.pid,e))}},this.hook=()=>{re.once("exit",()=>this.exit());
|
|
324
|
+
for(const e of Zr)try{re.once(e,()=>this.exit(e))}catch{}},this.register=e=>(this.callbacks.add(e),()=>{this.callbacks.delete(e)}),this.hook()}}const af=new of,cf=af.register,le={store:{},create:t=>{const e=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6),i=`.tmp-${Date.now().toString().slice(-10)}${e}`;return`${t}${i}`},get:(t,e,r=!0)=>{const n=le.truncate(e(t));return n in le.store?le.get(t,e,r):(le.store[n]=r,[n,()=>delete le.store[n]])},purge:t=>{le.store[t]&&(delete le.store[t],
|
|
325
|
+
ue.attempt.unlink(t))},purgeSync:t=>{le.store[t]&&(delete le.store[t],ue.attempt.unlinkSync(t))},purgeSyncAll:()=>{for(const t in le.store)le.purgeSync(t)},truncate:t=>{const e=W.basename(t);if(e.length<=Ii)return t;const r=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(e);if(!r)return t;const n=e.length-Ii;return`${t.slice(0,-e.length)}${r[1]}${r[2].slice(0,-n)}${r[3]}`}};cf(le.purgeSyncAll);function ki(t,e,r=Ql){if(Oi(r))return ki(t,e,{encoding:r});const n=Date.now()+((r.timeout??
|
|
326
|
+
tf)||-1);let i=null,a=null,s=null;try{const o=ue.attempt.realpathSync(t),c=!!o;t=o||t,[a,i]=le.get(t,r.tmpCreate||le.create,r.tmpPurge!==!1);const u=rf&&Qr(r.chown),l=Qr(r.mode);if(c&&(u||l)){const f=ue.attempt.statSync(t);f&&(r={...r},u&&(r.chown={uid:f.uid,gid:f.gid}),l&&(r.mode=f.mode))}if(!c){const f=W.dirname(t);ue.attempt.mkdirSync(f,{mode:Jl,recursive:!0})}s=ue.retry.openSync(n)(a,"w",r.mode||Ti),r.tmpCreated&&r.tmpCreated(a),Oi(e)?ue.retry.writeSync(n)(s,e,0,r.encoding||Yl):Qr(e)||ue.retry.
|
|
327
|
+
writeSync(n)(s,e,0,e.length,0),r.fsync!==!1&&(r.fsyncWait!==!1?ue.retry.fsyncSync(n)(s):ue.attempt.fsync(s)),ue.retry.closeSync(n)(s),s=null,r.chown&&(r.chown.uid!==Zl||r.chown.gid!==ef)&&ue.attempt.chownSync(a,r.chown.uid,r.chown.gid),r.mode&&r.mode!==Ti&&ue.attempt.chmodSync(a,r.mode);try{ue.retry.renameSync(n)(a,t)}catch(f){if(!nf(f)||f.code!=="ENAMETOOLONG")throw f;ue.retry.renameSync(n)(a,le.truncate(t))}i(),a=null}finally{s&&ue.attempt.closeSync(s),a&&le.purge(a)}}var Lt={exports:{}},kt={},
|
|
328
|
+
Nt={},Ze={},Ni;function Pi(){if(Ni)return Ze;Ni=1,Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.dynamicAnchor=void 0;const t=it(),e=sr(),r=kc(),n=ms(),i={keyword:"$dynamicAnchor",schemaType:"string",code:o=>a(o,o.schema)};function a(o,c){const{gen:u,it:l}=o;l.schemaEnv.root.dynamicAnchors[c]=!0;const f=(0,t._)`${e.default.dynamicAnchors}${(0,t.getProperty)(c)}`,p=l.errSchemaPath==="#"?l.validateName:s(o);u.if((0,t._)`!${f}`,()=>u.assign(f,p))}Ze.dynamicAnchor=a;function s(o){const{schemaEnv:c,
|
|
329
|
+
schema:u,self:l}=o.it,{root:f,baseId:p,localRefs:d,meta:v}=c.root,{schemaId:w}=l.opts,m=new r.SchemaEnv({schema:u,schemaId:w,root:f,baseId:p,localRefs:d,meta:v});return r.compileSchema.call(l,m),(0,n.getValidate)(o,m)}return Ze.default=i,Ze}var et={},ji;function Di(){if(ji)return et;ji=1,Object.defineProperty(et,"__esModule",{value:!0}),et.dynamicRef=void 0;const t=it(),e=sr(),r=ms(),n={keyword:"$dynamicRef",schemaType:"string",code:a=>i(a,a.schema)};function i(a,s){const{gen:o,keyword:c,it:u}=a;
|
|
330
|
+
if(s[0]!=="#")throw new Error(`"${c}" only supports hash fragment reference`);const l=s.slice(1);if(u.allErrors)f();else{const d=o.let("valid",!1);f(d),a.ok(d)}function f(d){if(u.schemaEnv.root.dynamicAnchors[l]){const v=o.let("_v",(0,t._)`${e.default.dynamicAnchors}${(0,t.getProperty)(l)}`);o.if(v,p(v,d),p(u.validateName,d))}else p(u.validateName,d)()}function p(d,v){return v?()=>o.block(()=>{(0,r.callRef)(a,d),o.let(v,!0)}):()=>(0,r.callRef)(a,d)}}return et.dynamicRef=i,et.default=n,et}var Pt={},
|
|
331
|
+
qi;function uf(){if(qi)return Pt;qi=1,Object.defineProperty(Pt,"__esModule",{value:!0});const t=Pi(),e=wt(),r={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,t.dynamicAnchor)(n,""):(0,e.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};return Pt.default=r,Pt}var jt={},Hi;function lf(){if(Hi)return jt;Hi=1,Object.defineProperty(jt,"__esModule",{value:!0});const t=Di(),e={keyword:"$recursiveRef",schemaType:"string",code:r=>(0,t.dynamicRef)(r,r.schema)};return jt.default=
|
|
332
|
+
e,jt}var Mi;function ff(){if(Mi)return Nt;Mi=1,Object.defineProperty(Nt,"__esModule",{value:!0});const t=Pi(),e=Di(),r=uf(),n=lf(),i=[t.default,e.default,r.default,n.default];return Nt.default=i,Nt}var Dt={},qt={},Ui;function pf(){if(Ui)return qt;Ui=1,Object.defineProperty(qt,"__esModule",{value:!0});const t=gs(),e={keyword:"dependentRequired",type:"object",schemaType:"object",error:t.error,code:r=>(0,t.validatePropertyDeps)(r)};return qt.default=e,qt}var Ht={},Fi;function df(){if(Fi)return Ht;Fi=
|
|
333
|
+
1,Object.defineProperty(Ht,"__esModule",{value:!0});const t=gs(),e={keyword:"dependentSchemas",type:"object",schemaType:"object",code:r=>(0,t.validateSchemaDeps)(r)};return Ht.default=e,Ht}var Mt={},Gi;function hf(){if(Gi)return Mt;Gi=1,Object.defineProperty(Mt,"__esModule",{value:!0});const t=wt(),e={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:r,parentSchema:n,it:i}){n.contains===void 0&&(0,t.checkStrictMode)(i,`"${r}" without "contains" is ignored`)}};return Mt.
|
|
334
|
+
default=e,Mt}var Bi;function mf(){if(Bi)return Dt;Bi=1,Object.defineProperty(Dt,"__esModule",{value:!0});const t=pf(),e=df(),r=hf(),n=[t.default,e.default,r.default];return Dt.default=n,Dt}var Ut={},Ft={},Vi;function gf(){if(Vi)return Ft;Vi=1,Object.defineProperty(Ft,"__esModule",{value:!0});const t=it(),e=wt(),r=sr(),i={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:{message:"must NOT have unevaluated properties",params:({params:a})=>(0,t._)`{unevaluatedProperty: ${a.
|
|
335
|
+
unevaluatedProperty}}`},code(a){const{gen:s,schema:o,data:c,errsCount:u,it:l}=a;if(!u)throw new Error("ajv implementation error");const{allErrors:f,props:p}=l;p instanceof t.Name?s.if((0,t._)`${p} !== true`,()=>s.forIn("key",c,m=>s.if(v(p,m),()=>d(m)))):p!==!0&&s.forIn("key",c,m=>p===void 0?d(m):s.if(w(p,m),()=>d(m))),l.props=!0,a.ok((0,t._)`${u} === ${r.default.errors}`);function d(m){if(o===!1){a.setParams({unevaluatedProperty:m}),a.error(),f||s.break();return}if(!(0,e.alwaysValidSchema)(l,o)){
|
|
336
|
+
const g=s.name("valid");a.subschema({keyword:"unevaluatedProperties",dataProp:m,dataPropType:e.Type.Str},g),f||s.if((0,t.not)(g),()=>s.break())}}function v(m,g){return(0,t._)`!${m} || !${m}[${g}]`}function w(m,g){const T=[];for(const h in m)m[h]===!0&&T.push((0,t._)`${g} !== ${h}`);return(0,t.and)(...T)}}};return Ft.default=i,Ft}var Gt={},zi;function yf(){if(zi)return Gt;zi=1,Object.defineProperty(Gt,"__esModule",{value:!0});const t=it(),e=wt(),n={keyword:"unevaluatedItems",type:"array",schemaType:[
|
|
337
|
+
"boolean","object"],error:{message:({params:{len:i}})=>(0,t.str)`must NOT have more than ${i} items`,params:({params:{len:i}})=>(0,t._)`{limit: ${i}}`},code(i){const{gen:a,schema:s,data:o,it:c}=i,u=c.items||0;if(u===!0)return;const l=a.const("len",(0,t._)`${o}.length`);if(s===!1)i.setParams({len:u}),i.fail((0,t._)`${l} > ${u}`);else if(typeof s=="object"&&!(0,e.alwaysValidSchema)(c,s)){const p=a.var("valid",(0,t._)`${l} <= ${u}`);a.if((0,t.not)(p),()=>f(p,u)),i.ok(p)}c.items=!0;function f(p,d){a.
|
|
338
|
+
forRange("i",d,l,v=>{i.subschema({keyword:"unevaluatedItems",dataProp:v,dataPropType:e.Type.Num},p),c.allErrors||a.if((0,t.not)(p),()=>a.break())})}}};return Gt.default=n,Gt}var Wi;function wf(){if(Wi)return Ut;Wi=1,Object.defineProperty(Ut,"__esModule",{value:!0});const t=gf(),e=yf(),r=[t.default,e.default];return Ut.default=r,Ut}var Xi;function vf(){if(Xi)return kt;Xi=1,Object.defineProperty(kt,"__esModule",{value:!0});const t=Nc(),e=Pc(),r=jc(),n=ff(),i=mf(),a=wf(),s=Dc(),o=qc(),c=[n.default,
|
|
339
|
+
t.default,e.default,(0,r.default)(!0),s.default,o.metadataVocabulary,o.contentVocabulary,i.default,a.default];return kt.default=c,kt}var Bt={};const Ki="https://json-schema.org/draft/2020-12/schema",Yi="https://json-schema.org/draft/2020-12/schema",Ji={"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://jso\
|
|
340
|
+
n-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},Qi="meta",Zi="Core and Validation specifications meta-schema",eo=[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],to=["object","boolean"],ro="This meta-schema also defines keywords that have appeared in\
|
|
341
|
+
previous drafts in order to prevent incompatible extensions as they remain in common use.",no={definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs\
|
|
342
|
+
/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}},$f={$schema:Ki,$id:Yi,$vocabulary:Ji,$dynamicAnchor:Qi,title:Zi,allOf:eo,type:to,$comment:ro,properties:no},bf={__proto__:null,$comment:ro,$dynamicAnchor:Qi,$id:Yi,$schema:Ki,$vocabulary:Ji,
|
|
343
|
+
allOf:eo,default:$f,properties:no,title:Zi,type:to},Ef=Ie(bf),so="https://json-schema.org/draft/2020-12/schema",io="https://json-schema.org/draft/2020-12/meta/applicator",oo={"https://json-schema.org/draft/2020-12/vocab/applicator":!0},ao="meta",co="Applicator vocabulary meta-schema",uo=["object","boolean"],lo={prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{
|
|
344
|
+
$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},fo={schemaArray:{
|
|
345
|
+
type:"array",minItems:1,items:{$dynamicRef:"#meta"}}},Rf={$schema:so,$id:io,$vocabulary:oo,$dynamicAnchor:ao,title:co,type:uo,properties:lo,$defs:fo},Sf={__proto__:null,$defs:fo,$dynamicAnchor:ao,$id:io,$schema:so,$vocabulary:oo,default:Rf,properties:lo,title:co,type:uo},Af=Ie(Sf),po="https://json-schema.org/draft/2020-12/schema",ho="https://json-schema.org/draft/2020-12/meta/unevaluated",mo={"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},go="meta",yo="Unevaluated applicator vocab\
|
|
346
|
+
ulary meta-schema",wo=["object","boolean"],vo={unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}},_f={$schema:po,$id:ho,$vocabulary:mo,$dynamicAnchor:go,title:yo,type:wo,properties:vo},Cf={__proto__:null,$dynamicAnchor:go,$id:ho,$schema:po,$vocabulary:mo,default:_f,properties:vo,title:yo,type:wo},xf=Ie(Cf),$o="https://json-schema.org/draft/2020-12/schema",bo="https://json-schema.org/draft/2020-12/meta/content",Eo={"https://json-schema.org/draft/2020-12/vocab/cont\
|
|
347
|
+
ent":!0},Ro="meta",So="Content vocabulary meta-schema",Ao=["object","boolean"],_o={contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}},Tf={$schema:$o,$id:bo,$vocabulary:Eo,$dynamicAnchor:Ro,title:So,type:Ao,properties:_o},If={__proto__:null,$dynamicAnchor:Ro,$id:bo,$schema:$o,$vocabulary:Eo,default:Tf,properties:_o,title:So,type:Ao},Of=Ie(If),Co="https://json-schema.org/draft/2020-12/schema",xo="https://json-schema.org/draft/2020-12/meta/core",To={
|
|
348
|
+
"https://json-schema.org/draft/2020-12/vocab/core":!0},Io="meta",Oo="Core vocabulary meta-schema",Lo=["object","boolean"],ko={$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriStri\
|
|
349
|
+
ng"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},No={anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}},Lf={$schema:Co,$id:xo,$vocabulary:To,$dynamicAnchor:Io,title:Oo,type:Lo,properties:ko,$defs:No},kf={__proto__:null,$defs:No,$dynamicAnchor:Io,$id:xo,$schema:Co,$vocabulary:To,default:Lf,properties:ko,
|
|
350
|
+
title:Oo,type:Lo},Nf=Ie(kf),Po="https://json-schema.org/draft/2020-12/schema",jo="https://json-schema.org/draft/2020-12/meta/format-annotation",Do={"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},qo="meta",Ho="Format vocabulary meta-schema for annotation results",Mo=["object","boolean"],Uo={format:{type:"string"}},Pf={$schema:Po,$id:jo,$vocabulary:Do,$dynamicAnchor:qo,title:Ho,type:Mo,properties:Uo},jf={__proto__:null,$dynamicAnchor:qo,$id:jo,$schema:Po,$vocabulary:Do,default:Pf,
|
|
351
|
+
properties:Uo,title:Ho,type:Mo},Df=Ie(jf),Fo="https://json-schema.org/draft/2020-12/schema",Go="https://json-schema.org/draft/2020-12/meta/meta-data",Bo={"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},Vo="meta",zo="Meta-data vocabulary meta-schema",Wo=["object","boolean"],Xo={title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}},qf={
|
|
352
|
+
$schema:Fo,$id:Go,$vocabulary:Bo,$dynamicAnchor:Vo,title:zo,type:Wo,properties:Xo},Hf={__proto__:null,$dynamicAnchor:Vo,$id:Go,$schema:Fo,$vocabulary:Bo,default:qf,properties:Xo,title:zo,type:Wo},Mf=Ie(Hf),Ko="https://json-schema.org/draft/2020-12/schema",Yo="https://json-schema.org/draft/2020-12/meta/validation",Jo={"https://json-schema.org/draft/2020-12/vocab/validation":!0},Qo="meta",Zo="Validation vocabulary meta-schema",ea=["object","boolean"],ta={type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{
|
|
337
353
|
type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntege\
|
|
338
|
-
rDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},
|
|
339
|
-
default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},
|
|
340
|
-
e=
|
|
341
|
-
org/draft/2020-12/schema";class o extends r.default{constructor(
|
|
342
|
-
s)?s:void 0)}}e.Ajv2020=o,t.exports=e=o,t.exports.Ajv2020=o,Object.defineProperty(e,"__esModule",{value:!0}),e.default=o;var c=
|
|
343
|
-
enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var l=
|
|
344
|
-
totype"||r==="arguments"||r==="caller")return;const i=Object.getOwnPropertyDescriptor(t,r),a=Object.getOwnPropertyDescriptor(e,r);!
|
|
345
|
-
${e}`,
|
|
346
|
-
e,i,r);return
|
|
347
|
-
void 0),a&&(c=t.apply(f,l))},
|
|
348
|
-
MAX_SAFE_BUILD_LENGTH:i,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},
|
|
349
|
-
MAX_LENGTH:i}=zt(),a=Wt();e=t.exports={};const s=e.re=[],o=e.safeRe=[],c=e.src=[],u=e.safeSrc=[],l=e.t={};let f=0;const p="[a-zA-Z0-9-]",
|
|
354
|
+
rDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},ra={nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",
|
|
355
|
+
default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},Uf={$schema:Ko,$id:Yo,$vocabulary:Jo,$dynamicAnchor:Qo,title:Zo,type:ea,properties:ta,$defs:ra},Ff={__proto__:null,$defs:ra,$dynamicAnchor:Qo,$id:Yo,$schema:Ko,$vocabulary:Jo,default:Uf,properties:ta,title:Zo,type:ea},Gf=Ie(Ff);var na;function Bf(){if(na)return Bt;na=1,Object.defineProperty(Bt,"__esModule",{value:!0});const t=Ef,
|
|
356
|
+
e=Af,r=xf,n=Of,i=Nf,a=Df,s=Mf,o=Gf,c=["/properties"];function u(l){return[t,e,r,n,i,f(this,a),s,f(this,o)].forEach(p=>this.addMetaSchema(p,void 0,!1)),this;function f(p,d){return l?p.$dataMetaSchema(d,c):d}}return Bt.default=u,Bt}var sa;function Vf(){return sa||(sa=1,(function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv2020=void 0;const r=Hc(),n=vf(),i=Mc(),a=Bf(),s="https://json-schema.\
|
|
357
|
+
org/draft/2020-12/schema";class o extends r.default{constructor(d={}){super({...d,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),n.default.forEach(d=>this.addVocabulary(d)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:d,meta:v}=this.opts;v&&(a.default.call(this,d),this.refs["http://json-schema.org/schema"]=s)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(
|
|
358
|
+
s)?s:void 0)}}e.Ajv2020=o,t.exports=e=o,t.exports.Ajv2020=o,Object.defineProperty(e,"__esModule",{value:!0}),e.default=o;var c=Uc();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var u=it();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(e,"nil",{
|
|
359
|
+
enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var l=Fc();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return l.default}});var f=Gc();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return f.default}})})(Lt,Lt.exports)),Lt.exports}var zf=Vf();const Wf=(t,e,r,n)=>{if(r==="length"||r==="pro\
|
|
360
|
+
totype"||r==="arguments"||r==="caller")return;const i=Object.getOwnPropertyDescriptor(t,r),a=Object.getOwnPropertyDescriptor(e,r);!Xf(i,a)&&n||Object.defineProperty(t,r,a)},Xf=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},Kf=(t,e)=>{const r=Object.getPrototypeOf(e);r!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,r)},Yf=(t,e)=>`/* Wrapped ${t}*/
|
|
361
|
+
${e}`,Jf=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Qf=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),Zf=(t,e,r)=>{const n=r===""?"":`with ${r.trim()}() `,i=Yf.bind(null,n,e.toString());Object.defineProperty(i,"name",Qf);const{writable:a,enumerable:s,configurable:o}=Jf;Object.defineProperty(t,"toString",{value:i,writable:a,enumerable:s,configurable:o})};function ep(t,e,{ignoreNonConfigurable:r=!1}={}){const{name:n}=t;for(const i of Reflect.ownKeys(e))Wf(t,
|
|
362
|
+
e,i,r);return Kf(t,e),Zf(t,e,n),t}const ia=(t,e={})=>{if(typeof t!="function")throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``);const{wait:r=0,maxWait:n=Number.POSITIVE_INFINITY,before:i=!1,after:a=!0}=e;if(r<0||n<0)throw new RangeError("`wait` and `maxWait` must not be negative.");if(!i&&!a)throw new Error("Both `before` and `after` are false, function wouldn't be called.");let s,o,c;const u=function(...l){const f=this,p=()=>{s=void 0,o&&(clearTimeout(o),o=
|
|
363
|
+
void 0),a&&(c=t.apply(f,l))},d=()=>{o=void 0,s&&(clearTimeout(s),s=void 0),a&&(c=t.apply(f,l))},v=i&&!s;return clearTimeout(s),s=setTimeout(p,r),n>0&&n!==Number.POSITIVE_INFINITY&&!o&&(o=setTimeout(d,n)),v&&(c=t.apply(f,l)),c};return ep(u,t),u.cancel=()=>{s&&(clearTimeout(s),s=void 0),o&&(clearTimeout(o),o=void 0)},u};var Vt={exports:{}},en,oa;function zt(){if(oa)return en;oa=1;const t="2.0.0",e=256,r=Number.MAX_SAFE_INTEGER||9007199254740991,n=16,i=e-6;return en={MAX_LENGTH:e,MAX_SAFE_COMPONENT_LENGTH:n,
|
|
364
|
+
MAX_SAFE_BUILD_LENGTH:i,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},en}var tn,aa;function Wt(){return aa||(aa=1,tn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),tn}var ca;function pt(){return ca||(ca=1,(function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,
|
|
365
|
+
MAX_LENGTH:i}=zt(),a=Wt();e=t.exports={};const s=e.re=[],o=e.safeRe=[],c=e.src=[],u=e.safeSrc=[],l=e.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,n]],v=m=>{for(const[g,T]of d)m=m.split(`${g}*`).join(`${g}{0,${T}}`).split(`${g}+`).join(`${g}{1,${T}}`);return m},w=(m,g,T)=>{const h=v(g),S=f++;a(m,S,g),l[m]=S,c[S]=g,u[S]=h,s[S]=new RegExp(g,T?"g":void 0),o[S]=new RegExp(h,T?"g":void 0)};w("NUMERICIDENTIFIER","0|[1-9]\\d*"),w("NUMERICIDENTIFIERLOOSE","\\d+"),w("NONNUMERICIDENTIFIER",
|
|
350
366
|
`\\d*[a-zA-Z-]${p}*`),w("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),w("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),w("PRERELEASEIDENTIFIER",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIER]})`),w("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIERLOOSE]})`),w("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.
|
|
351
367
|
PRERELEASEIDENTIFIER]})*))`),w("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),w("BUILDIDENTIFIER",`${p}+`),w("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),w("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),w("FULL",`^${c[l.FULLPLAIN]}$`),w("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),w("LOOSE",`^${c[l.LOOSEPLAIN]}$`),w("GTLT","((?:<|>)?=?)"),w("XRAN\
|
|
352
368
|
GEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),w("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),w("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),w("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),w("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}\
|
|
353
369
|
$`),w("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),w("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),w("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),w("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?(?:${c[l.BUILD]})?(?:$|[^\\d])`),w("COERCERTL",c[l.COERCE],!0),w("COERCERTLFULL",c[l.COERCEFULL],!0),w("LONETILDE","(?:~>?)"),w("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",w("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}\
|
|
354
370
|
$`),w("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),w("LONECARET","(?:\\^)"),w("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",w("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),w("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),w("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),w("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),w("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=
|
|
355
|
-
"$1$2$3",w("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),w("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),w("STAR","(<|>)?=?\\s*\\*"),w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Vt,Vt.exports)),Vt.exports}var
|
|
356
|
-
|
|
371
|
+
"$1$2$3",w("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),w("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),w("STAR","(<|>)?=?\\s*\\*"),w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Vt,Vt.exports)),Vt.exports}var rn,ua;function nn(){if(ua)return rn;ua=1;const t=Object.freeze({loose:!0}),e=Object.freeze({});return rn=n=>n?typeof n!="object"?t:n:e,rn}var sn,la;function fa(){if(la)return sn;
|
|
372
|
+
la=1;const t=/^[0-9]+$/,e=(n,i)=>{if(typeof n=="number"&&typeof i=="number")return n===i?0:n<i?-1:1;const a=t.test(n),s=t.test(i);return a&&s&&(n=+n,i=+i),n===i?0:a&&!s?-1:s&&!a?1:n<i?-1:1};return sn={compareIdentifiers:e,rcompareIdentifiers:(n,i)=>e(i,n)},sn}var on,pa;function he(){if(pa)return on;pa=1;const t=Wt(),{MAX_LENGTH:e,MAX_SAFE_INTEGER:r}=zt(),{safeRe:n,t:i}=pt(),a=nn(),{compareIdentifiers:s}=fa();class o{constructor(u,l){if(l=a(l),u instanceof o){if(u.loose===!!l.loose&&u.includePrerelease===
|
|
357
373
|
!!l.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>e)throw new TypeError(`version is longer than ${e} characters`);t("SemVer",u,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;const f=u.trim().match(l.loose?n[i.LOOSE]:n[i.FULL]);if(!f)throw new TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+f[1],this.minor=+f[2],this.patch=+f[3],this.major>
|
|
358
|
-
r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){const
|
|
374
|
+
r||this.major<0)throw new TypeError("Invalid major version");if(this.minor>r||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>r||this.patch<0)throw new TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){const d=+p;if(d>=0&&d<r)return d}return p}):this.prerelease=[],this.build=f[5]?f[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=
|
|
359
375
|
`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(t("SemVer.compare",this.version,this.options,u),!(u instanceof o)){if(typeof u=="string"&&u===this.version)return 0;u=new o(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof o||(u=new o(u,this.options)),this.major<u.major?-1:this.major>u.major?1:this.minor<u.minor?-1:this.minor>u.minor?1:this.patch<u.patch?-1:this.patch>u.patch?1:0}comparePre(u){
|
|
360
376
|
if(u instanceof o||(u=new o(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let l=0;do{const f=this.prerelease[l],p=u.prerelease[l];if(t("prerelease compare",l,f,p),f===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(f===void 0)return-1;if(f===p)continue;return s(f,p)}while(++l)}compareBuild(u){u instanceof o||(u=new o(u,this.options));let l=0;do{const f=this.
|
|
361
377
|
build[l],p=u.build[l];if(t("build compare",l,f,p),f===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(f===void 0)return-1;if(f===p)continue;return s(f,p)}while(++l)}inc(u,l,f){if(u.startsWith("pre")){if(!l&&f===!1)throw new Error("invalid increment argument: identifier is empty");if(l){const p=`-${l}`.match(this.options.loose?n[i.PRERELEASELOOSE]:n[i.PRERELEASE]);if(!p||p[1]!==l)throw new Error(`invalid identifier: ${l}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.
|
|
362
378
|
minor=0,this.major++,this.inc("pre",l,f);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",l,f);break;case"prepatch":this.prerelease.length=0,this.inc("patch",l,f),this.inc("pre",l,f);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",l,f),this.inc("pre",l,f);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.
|
|
363
|
-
prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const p=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let
|
|
364
|
-
join(".")&&f===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let
|
|
365
|
-
t)return r;try{return new t(r,n)}catch(a){if(!i)return null;throw a}},
|
|
366
|
-
r,i).inc(n,a,s).version}catch{return null}},
|
|
367
|
-
|
|
368
|
-
r,i).compare(new t(n,i)),
|
|
369
|
-
|
|
370
|
-
r,n,i)>=0,
|
|
371
|
-
>=":return n(o,u,l);case"<":return i(o,u,l);case"<=":return a(o,u,l);default:throw new TypeError(`Invalid operator: ${c}`)}},
|
|
372
|
-
a))&&(!o||o.index+o[0].length!==a.length);)(!o||v.index+v[0].length!==o.index+o[0].length)&&(o=v),
|
|
373
|
-
delete(r),this.map.set(r,n),n}delete(r){return this.map.delete(r)}set(r,n){if(!this.delete(r)&&n!==void 0){if(this.map.size>=this.max){const a=this.map.keys().next().value;this.delete(a)}this.map.set(r,n)}return this}}return
|
|
379
|
+
prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const p=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let d=this.prerelease.length;for(;--d>=0;)typeof this.prerelease[d]=="number"&&(this.prerelease[d]++,d=-2);if(d===-1){if(l===this.prerelease.
|
|
380
|
+
join(".")&&f===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let d=[l,p];f===!1&&(d=[l]),s(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=d):this.prerelease=d}break}default:throw new Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return on=o,on}var an,da;function tt(){if(da)return an;da=1;const t=he();return an=(r,n,i=!1)=>{if(r instanceof
|
|
381
|
+
t)return r;try{return new t(r,n)}catch(a){if(!i)return null;throw a}},an}var cn,ha;function tp(){if(ha)return cn;ha=1;const t=tt();return cn=(r,n)=>{const i=t(r,n);return i?i.version:null},cn}var un,ma;function rp(){if(ma)return un;ma=1;const t=tt();return un=(r,n)=>{const i=t(r.trim().replace(/^[=v]+/,""),n);return i?i.version:null},un}var ln,ga;function np(){if(ga)return ln;ga=1;const t=he();return ln=(r,n,i,a,s)=>{typeof i=="string"&&(s=a,a=i,i=void 0);try{return new t(r instanceof t?r.version:
|
|
382
|
+
r,i).inc(n,a,s).version}catch{return null}},ln}var fn,ya;function sp(){if(ya)return fn;ya=1;const t=tt();return fn=(r,n)=>{const i=t(r,null,!0),a=t(n,null,!0),s=i.compare(a);if(s===0)return null;const o=s>0,c=o?i:a,u=o?a:i,l=!!c.prerelease.length;if(!!u.prerelease.length&&!l){if(!u.patch&&!u.minor)return"major";if(u.compareMain(c)===0)return u.minor&&!u.patch?"minor":"patch"}const p=l?"pre":"";return i.major!==a.major?p+"major":i.minor!==a.minor?p+"minor":i.patch!==a.patch?p+"patch":"prerelease"},
|
|
383
|
+
fn}var pn,wa;function ip(){if(wa)return pn;wa=1;const t=he();return pn=(r,n)=>new t(r,n).major,pn}var dn,va;function op(){if(va)return dn;va=1;const t=he();return dn=(r,n)=>new t(r,n).minor,dn}var hn,$a;function ap(){if($a)return hn;$a=1;const t=he();return hn=(r,n)=>new t(r,n).patch,hn}var mn,ba;function cp(){if(ba)return mn;ba=1;const t=tt();return mn=(r,n)=>{const i=t(r,n);return i&&i.prerelease.length?i.prerelease:null},mn}var gn,Ea;function be(){if(Ea)return gn;Ea=1;const t=he();return gn=(r,n,i)=>new t(
|
|
384
|
+
r,i).compare(new t(n,i)),gn}var yn,Ra;function up(){if(Ra)return yn;Ra=1;const t=be();return yn=(r,n,i)=>t(n,r,i),yn}var wn,Sa;function lp(){if(Sa)return wn;Sa=1;const t=be();return wn=(r,n)=>t(r,n,!0),wn}var vn,Aa;function $n(){if(Aa)return vn;Aa=1;const t=he();return vn=(r,n,i)=>{const a=new t(r,i),s=new t(n,i);return a.compare(s)||a.compareBuild(s)},vn}var bn,_a;function fp(){if(_a)return bn;_a=1;const t=$n();return bn=(r,n)=>r.sort((i,a)=>t(i,a,n)),bn}var En,Ca;function pp(){if(Ca)return En;
|
|
385
|
+
Ca=1;const t=$n();return En=(r,n)=>r.sort((i,a)=>t(a,i,n)),En}var Rn,xa;function Xt(){if(xa)return Rn;xa=1;const t=be();return Rn=(r,n,i)=>t(r,n,i)>0,Rn}var Sn,Ta;function An(){if(Ta)return Sn;Ta=1;const t=be();return Sn=(r,n,i)=>t(r,n,i)<0,Sn}var _n,Ia;function Oa(){if(Ia)return _n;Ia=1;const t=be();return _n=(r,n,i)=>t(r,n,i)===0,_n}var Cn,La;function ka(){if(La)return Cn;La=1;const t=be();return Cn=(r,n,i)=>t(r,n,i)!==0,Cn}var xn,Na;function Tn(){if(Na)return xn;Na=1;const t=be();return xn=(r,n,i)=>t(
|
|
386
|
+
r,n,i)>=0,xn}var In,Pa;function On(){if(Pa)return In;Pa=1;const t=be();return In=(r,n,i)=>t(r,n,i)<=0,In}var Ln,ja;function Da(){if(ja)return Ln;ja=1;const t=Oa(),e=ka(),r=Xt(),n=Tn(),i=An(),a=On();return Ln=(o,c,u,l)=>{switch(c){case"===":return typeof o=="object"&&(o=o.version),typeof u=="object"&&(u=u.version),o===u;case"!==":return typeof o=="object"&&(o=o.version),typeof u=="object"&&(u=u.version),o!==u;case"":case"=":case"==":return t(o,u,l);case"!=":return e(o,u,l);case">":return r(o,u,l);case"\
|
|
387
|
+
>=":return n(o,u,l);case"<":return i(o,u,l);case"<=":return a(o,u,l);default:throw new TypeError(`Invalid operator: ${c}`)}},Ln}var kn,qa;function dp(){if(qa)return kn;qa=1;const t=he(),e=tt(),{safeRe:r,t:n}=pt();return kn=(a,s)=>{if(a instanceof t)return a;if(typeof a=="number"&&(a=String(a)),typeof a!="string")return null;s=s||{};let o=null;if(!s.rtl)o=a.match(s.includePrerelease?r[n.COERCEFULL]:r[n.COERCE]);else{const d=s.includePrerelease?r[n.COERCERTLFULL]:r[n.COERCERTL];let v;for(;(v=d.exec(
|
|
388
|
+
a))&&(!o||o.index+o[0].length!==a.length);)(!o||v.index+v[0].length!==o.index+o[0].length)&&(o=v),d.lastIndex=v.index+v[1].length+v[2].length;d.lastIndex=-1}if(o===null)return null;const c=o[2],u=o[3]||"0",l=o[4]||"0",f=s.includePrerelease&&o[5]?`-${o[5]}`:"",p=s.includePrerelease&&o[6]?`+${o[6]}`:"";return e(`${c}.${u}.${l}${f}${p}`,s)},kn}var Nn,Ha;function hp(){if(Ha)return Nn;Ha=1;class t{constructor(){this.max=1e3,this.map=new Map}get(r){const n=this.map.get(r);if(n!==void 0)return this.map.
|
|
389
|
+
delete(r),this.map.set(r,n),n}delete(r){return this.map.delete(r)}set(r,n){if(!this.delete(r)&&n!==void 0){if(this.map.size>=this.max){const a=this.map.keys().next().value;this.delete(a)}this.map.set(r,n)}return this}}return Nn=t,Nn}var Pn,Ma;function Ee(){if(Ma)return Pn;Ma=1;const t=/\s+/g;class e{constructor(C,k){if(k=i(k),C instanceof e)return C.loose===!!k.loose&&C.includePrerelease===!!k.includePrerelease?C:new e(C.raw,k);if(C instanceof a)return this.raw=C.value,this.set=[[C]],this.formatted=
|
|
374
390
|
void 0,this;if(this.options=k,this.loose=!!k.loose,this.includePrerelease=!!k.includePrerelease,this.raw=C.trim().replace(t," "),this.set=this.raw.split("||").map(O=>this.parseRange(O.trim())).filter(O=>O.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const O=this.set[0];if(this.set=this.set.filter(P=>!w(P[0])),this.set.length===0)this.set=[O];else if(this.set.length>1){for(const P of this.set)if(P.length===1&&m(P[0])){this.set=[P];break}}}
|
|
375
|
-
this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let C=0;C<this.set.length;C++){C>0&&(this.formatted+="||");const k=this.set[C];for(let O=0;O<k.length;O++)O>0&&(this.formatted+=" "),this.formatted+=k[O].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(C){const O=((this.options.includePrerelease&&
|
|
391
|
+
this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let C=0;C<this.set.length;C++){C>0&&(this.formatted+="||");const k=this.set[C];for(let O=0;O<k.length;O++)O>0&&(this.formatted+=" "),this.formatted+=k[O].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(C){const O=((this.options.includePrerelease&&d)|(this.options.loose&&v))+":"+C,P=n.get(O);if(P)return P;const D=this.options.loose,H=D?c[u.HYPHENRANGELOOSE]:
|
|
376
392
|
c[u.HYPHENRANGE];C=C.replace(H,F(this.options.includePrerelease)),s("hyphen replace",C),C=C.replace(c[u.COMPARATORTRIM],l),s("comparator trim",C),C=C.replace(c[u.TILDETRIM],f),s("tilde trim",C),C=C.replace(c[u.CARETTRIM],p),s("caret trim",C);let $=C.split(" ").map(R=>T(R,this.options)).join(" ").split(/\s+/).map(R=>V(R,this.options));D&&($=$.filter(R=>(s("loose invalid filter",R,this.options),!!R.match(c[u.COMPARATORLOOSE])))),s("range list",$);const U=new Map,J=$.map(R=>new a(R,this.options));for(const R of J){
|
|
377
|
-
if(w(R))return[R];U.set(R.value,R)}U.size>1&&U.has("")&&U.delete("");const Q=[...U.values()];return n.set(O,Q),Q}intersects(C,k){if(!(C instanceof e))throw new TypeError("a Range is required");return this.set.some(O=>g(O,k)&&C.set.some(P=>g(P,k)&&O.every(D=>P.every(H=>D.intersects(H,k)))))}test(C){if(!C)return!1;if(typeof C=="string")try{C=new o(C,this.options)}catch{return!1}for(let k=0;k<this.set.length;k++)if(L(this.set[k],C,this.options))return!0;return!1}}
|
|
378
|
-
s=Wt(),o=
|
|
379
|
-
trim().split(/\s+/).map(k=>E(k,C)).join(" "),E=(I,C)=>{const k=C.loose?c[u.TILDELOOSE]:c[u.TILDE];return I.replace(k,(O,P,D,H,$)=>{s("tilde",I,O,P,D,H,$);let U;return
|
|
380
|
-
c[u.CARET],O=C.includePrerelease?"-0":"";return I.replace(k,(P,D,H,$,U)=>{s("caret",I,P,D,H,$,U);let J;return
|
|
381
|
-
`>=${D}.${H}.${$}${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$} <${+D+1}.0.0-0`),s("caret return",J),J})},x=(I,C)=>(s("replaceXRanges",I,C),I.split(/\s+/).map(k=>q(k,C)).join(" ")),q=(I,C)=>{I=I.trim();const k=C.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return I.replace(k,(O,P,D,H,$,U)=>{s("xRange",I,O,P,D,H,$,U);const J=
|
|
382
|
-
0)):P==="<="&&(P="<",Q?D=+D+1:H=+H+1),P==="<"&&(U="-0"),O=`${P+D}.${H}.${$}${U}`):Q?O=`>=${D}.0.0${U} <${+D+1}.0.0-0`:R&&(O=`>=${D}.${H}.0${U} <${D}.${+H+1}.0-0`),s("xRange return",O),O})},M=(I,C)=>(s("replaceStars",I,C),I.trim().replace(c[u.STAR],"")),V=(I,C)=>(s("replaceGTE0",I,C),I.trim().replace(c[C.includePrerelease?u.GTE0PRE:u.GTE0],"")),F=I=>(C,k,O,P,D,H,$,U,J,Q,R,_)=>(
|
|
383
|
-
|
|
384
|
-
|
|
393
|
+
if(w(R))return[R];U.set(R.value,R)}U.size>1&&U.has("")&&U.delete("");const Q=[...U.values()];return n.set(O,Q),Q}intersects(C,k){if(!(C instanceof e))throw new TypeError("a Range is required");return this.set.some(O=>g(O,k)&&C.set.some(P=>g(P,k)&&O.every(D=>P.every(H=>D.intersects(H,k)))))}test(C){if(!C)return!1;if(typeof C=="string")try{C=new o(C,this.options)}catch{return!1}for(let k=0;k<this.set.length;k++)if(L(this.set[k],C,this.options))return!0;return!1}}Pn=e;const r=hp(),n=new r,i=nn(),a=Kt(),
|
|
394
|
+
s=Wt(),o=he(),{safeRe:c,t:u,comparatorTrimReplace:l,tildeTrimReplace:f,caretTrimReplace:p}=pt(),{FLAG_INCLUDE_PRERELEASE:d,FLAG_LOOSE:v}=zt(),w=I=>I.value==="<0.0.0-0",m=I=>I.value==="",g=(I,C)=>{let k=!0;const O=I.slice();let P=O.pop();for(;k&&O.length;)k=O.every(D=>P.intersects(D,C)),P=O.pop();return k},T=(I,C)=>(I=I.replace(c[u.BUILD],""),s("comp",I,C),I=A(I,C),s("caret",I),I=S(I,C),s("tildes",I),I=x(I,C),s("xrange",I),I=M(I,C),s("stars",I),I),h=I=>!I||I.toLowerCase()==="x"||I==="*",S=(I,C)=>I.
|
|
395
|
+
trim().split(/\s+/).map(k=>E(k,C)).join(" "),E=(I,C)=>{const k=C.loose?c[u.TILDELOOSE]:c[u.TILDE];return I.replace(k,(O,P,D,H,$)=>{s("tilde",I,O,P,D,H,$);let U;return h(P)?U="":h(D)?U=`>=${P}.0.0 <${+P+1}.0.0-0`:h(H)?U=`>=${P}.${D}.0 <${P}.${+D+1}.0-0`:$?(s("replaceTilde pr",$),U=`>=${P}.${D}.${H}-${$} <${P}.${+D+1}.0-0`):U=`>=${P}.${D}.${H} <${P}.${+D+1}.0-0`,s("tilde return",U),U})},A=(I,C)=>I.trim().split(/\s+/).map(k=>b(k,C)).join(" "),b=(I,C)=>{s("caret",I,C);const k=C.loose?c[u.CARETLOOSE]:
|
|
396
|
+
c[u.CARET],O=C.includePrerelease?"-0":"";return I.replace(k,(P,D,H,$,U)=>{s("caret",I,P,D,H,$,U);let J;return h(D)?J="":h(H)?J=`>=${D}.0.0${O} <${+D+1}.0.0-0`:h($)?D==="0"?J=`>=${D}.${H}.0${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.0${O} <${+D+1}.0.0-0`:U?(s("replaceCaret pr",U),D==="0"?H==="0"?J=`>=${D}.${H}.${$}-${U} <${D}.${H}.${+$+1}-0`:J=`>=${D}.${H}.${$}-${U} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$}-${U} <${+D+1}.0.0-0`):(s("no pr"),D==="0"?H==="0"?J=`>=${D}.${H}.${$}${O} <${D}.${H}.${+$+1}-0`:J=
|
|
397
|
+
`>=${D}.${H}.${$}${O} <${D}.${+H+1}.0-0`:J=`>=${D}.${H}.${$} <${+D+1}.0.0-0`),s("caret return",J),J})},x=(I,C)=>(s("replaceXRanges",I,C),I.split(/\s+/).map(k=>q(k,C)).join(" ")),q=(I,C)=>{I=I.trim();const k=C.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return I.replace(k,(O,P,D,H,$,U)=>{s("xRange",I,O,P,D,H,$,U);const J=h(D),Q=J||h(H),R=Q||h($),_=R;return P==="="&&_&&(P=""),U=C.includePrerelease?"-0":"",J?P===">"||P==="<"?O="<0.0.0-0":O="*":P&&_?(Q&&(H=0),$=0,P===">"?(P=">=",Q?(D=+D+1,H=0,$=0):(H=+H+1,$=
|
|
398
|
+
0)):P==="<="&&(P="<",Q?D=+D+1:H=+H+1),P==="<"&&(U="-0"),O=`${P+D}.${H}.${$}${U}`):Q?O=`>=${D}.0.0${U} <${+D+1}.0.0-0`:R&&(O=`>=${D}.${H}.0${U} <${D}.${+H+1}.0-0`),s("xRange return",O),O})},M=(I,C)=>(s("replaceStars",I,C),I.trim().replace(c[u.STAR],"")),V=(I,C)=>(s("replaceGTE0",I,C),I.trim().replace(c[C.includePrerelease?u.GTE0PRE:u.GTE0],"")),F=I=>(C,k,O,P,D,H,$,U,J,Q,R,_)=>(h(O)?k="":h(P)?k=`>=${O}.0.0${I?"-0":""}`:h(D)?k=`>=${O}.${P}.0${I?"-0":""}`:H?k=`>=${k}`:k=`>=${k}${I?"-0":""}`,h(J)?U="":
|
|
399
|
+
h(Q)?U=`<${+J+1}.0.0-0`:h(R)?U=`<${J}.${+Q+1}.0-0`:_?U=`<=${J}.${Q}.${R}-${_}`:I?U=`<${J}.${Q}.${+R+1}-0`:U=`<=${U}`,`${k} ${U}`.trim()),L=(I,C,k)=>{for(let O=0;O<I.length;O++)if(!I[O].test(C))return!1;if(C.prerelease.length&&!k.includePrerelease){for(let O=0;O<I.length;O++)if(s(I[O].semver),I[O].semver!==a.ANY&&I[O].semver.prerelease.length>0){const P=I[O].semver;if(P.major===C.major&&P.minor===C.minor&&P.patch===C.patch)return!0}return!1}return!0};return Pn}var jn,Ua;function Kt(){if(Ua)return jn;
|
|
400
|
+
Ua=1;const t=Symbol("SemVer ANY");class e{static get ANY(){return t}constructor(l,f){if(f=r(f),l instanceof e){if(l.loose===!!f.loose)return l;l=l.value}l=l.trim().split(/\s+/).join(" "),s("comparator",l,f),this.options=f,this.loose=!!f.loose,this.parse(l),this.semver===t?this.value="":this.value=this.operator+this.semver.version,s("comp",this)}parse(l){const f=this.options.loose?n[i.COMPARATORLOOSE]:n[i.COMPARATOR],p=l.match(f);if(!p)throw new TypeError(`Invalid comparator: ${l}`);this.operator=
|
|
385
401
|
p[1]!==void 0?p[1]:"",this.operator==="="&&(this.operator=""),p[2]?this.semver=new o(p[2],this.options.loose):this.semver=t}toString(){return this.value}test(l){if(s("Comparator.test",l,this.options.loose),this.semver===t||l===t)return!0;if(typeof l=="string")try{l=new o(l,this.options)}catch{return!1}return a(l,this.operator,this.semver,this.options)}intersects(l,f){if(!(l instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(l.value,f).
|
|
386
402
|
test(this.value):l.operator===""?l.value===""?!0:new c(this.value,f).test(l.semver):(f=r(f),f.includePrerelease&&(this.value==="<0.0.0-0"||l.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||l.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&l.operator.startsWith(">")||this.operator.startsWith("<")&&l.operator.startsWith("<")||this.semver.version===l.semver.version&&this.operator.includes("=")&&l.operator.includes("=")||a(this.semver,"<",l.semver,f)&&this.
|
|
387
|
-
operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,f)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}
|
|
388
|
-
var
|
|
389
|
-
1;const t=
|
|
390
|
-
return s&&i.test(s)?s:null},
|
|
391
|
-
l,f,
|
|
392
|
-
return
|
|
393
|
-
u.push(`${p} - ${
|
|
394
|
-
f[0].semver===r){if(p.length===1&&p[0].semver===r)return!0;
|
|
395
|
-
x,String(m),
|
|
396
|
-
b.minor&&x.semver.patch===b.patch&&(b=!1),x.operator===">"||x.operator===">="){if(T=u(w,x,
|
|
397
|
-
S&&!m&&g!==0||m&&E&&!w&&g!==0||b||A)},u=(f,p,
|
|
398
|
-
x=
|
|
399
|
-
src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers},
|
|
400
|
-
`Expected \`Uint8Array\`, got \`${typeof t}\``)}function
|
|
401
|
-
"string")throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}const
|
|
402
|
-
|
|
403
|
-
t\`, got ${typeof e}`);if(typeof e!="object"&&r===void 0)throw new TypeError("Use `delete()` to clear values");if(this._containsReservedKey(e))throw new TypeError(`Please don't use the ${qe} key, as it's used to manage this module internal operations.`);const{store:n}=this,i=(a,s)=>{if(
|
|
404
|
-
e,r);this.store=n}has(e){return this.#r.accessPropertiesByDotNotation?
|
|
405
|
-
store=r}clear(){const e=De();for(const r of Object.keys(this.#t))
|
|
403
|
+
operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,f)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}jn=e;const r=nn(),{safeRe:n,t:i}=pt(),a=Da(),s=Wt(),o=he(),c=Ee();return jn}var Dn,Fa;function Yt(){if(Fa)return Dn;Fa=1;const t=Ee();return Dn=(r,n,i)=>{try{n=new t(n,i)}catch{return!1}return n.test(r)},Dn}var qn,Ga;function mp(){if(Ga)return qn;Ga=1;const t=Ee();return qn=(r,n)=>new t(r,n).set.map(i=>i.map(a=>a.value).join(" ").trim().split(" ")),qn}
|
|
404
|
+
var Hn,Ba;function gp(){if(Ba)return Hn;Ba=1;const t=he(),e=Ee();return Hn=(n,i,a)=>{let s=null,o=null,c=null;try{c=new e(i,a)}catch{return null}return n.forEach(u=>{c.test(u)&&(!s||o.compare(u)===-1)&&(s=u,o=new t(s,a))}),s},Hn}var Mn,Va;function yp(){if(Va)return Mn;Va=1;const t=he(),e=Ee();return Mn=(n,i,a)=>{let s=null,o=null,c=null;try{c=new e(i,a)}catch{return null}return n.forEach(u=>{c.test(u)&&(!s||o.compare(u)===1)&&(s=u,o=new t(s,a))}),s},Mn}var Un,za;function wp(){if(za)return Un;za=
|
|
405
|
+
1;const t=he(),e=Ee(),r=Xt();return Un=(i,a)=>{i=new e(i,a);let s=new t("0.0.0");if(i.test(s)||(s=new t("0.0.0-0"),i.test(s)))return s;s=null;for(let o=0;o<i.set.length;++o){const c=i.set[o];let u=null;c.forEach(l=>{const f=new t(l.semver.version);switch(l.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!u||r(f,u))&&(u=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${l.operator}`)}}),u&&(!s||r(s,u))&&(s=u)}
|
|
406
|
+
return s&&i.test(s)?s:null},Un}var Fn,Wa;function vp(){if(Wa)return Fn;Wa=1;const t=Ee();return Fn=(r,n)=>{try{return new t(r,n).range||"*"}catch{return null}},Fn}var Gn,Xa;function Bn(){if(Xa)return Gn;Xa=1;const t=he(),e=Kt(),{ANY:r}=e,n=Ee(),i=Yt(),a=Xt(),s=An(),o=On(),c=Tn();return Gn=(l,f,p,d)=>{l=new t(l,d),f=new n(f,d);let v,w,m,g,T;switch(p){case">":v=a,w=o,m=s,g=">",T=">=";break;case"<":v=s,w=c,m=a,g="<",T="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(
|
|
407
|
+
l,f,d))return!1;for(let h=0;h<f.set.length;++h){const S=f.set[h];let E=null,A=null;if(S.forEach(b=>{b.semver===r&&(b=new e(">=0.0.0")),E=E||b,A=A||b,v(b.semver,E.semver,d)?E=b:m(b.semver,A.semver,d)&&(A=b)}),E.operator===g||E.operator===T||(!A.operator||A.operator===g)&&w(l,A.semver))return!1;if(A.operator===T&&m(l,A.semver))return!1}return!0},Gn}var Vn,Ka;function $p(){if(Ka)return Vn;Ka=1;const t=Bn();return Vn=(r,n,i)=>t(r,n,">",i),Vn}var zn,Ya;function bp(){if(Ya)return zn;Ya=1;const t=Bn();
|
|
408
|
+
return zn=(r,n,i)=>t(r,n,"<",i),zn}var Wn,Ja;function Ep(){if(Ja)return Wn;Ja=1;const t=Ee();return Wn=(r,n,i)=>(r=new t(r,i),n=new t(n,i),r.intersects(n,i)),Wn}var Xn,Qa;function Rp(){if(Qa)return Xn;Qa=1;const t=Yt(),e=be();return Xn=(r,n,i)=>{const a=[];let s=null,o=null;const c=r.sort((p,d)=>e(p,d,i));for(const p of c)t(p,n,i)?(o=p,s||(s=p)):(o&&a.push([s,o]),o=null,s=null);s&&a.push([s,null]);const u=[];for(const[p,d]of a)p===d?u.push(p):!d&&p===c[0]?u.push("*"):d?p===c[0]?u.push(`<=${d}`):
|
|
409
|
+
u.push(`${p} - ${d}`):u.push(`>=${p}`);const l=u.join(" || "),f=typeof n.raw=="string"?n.raw:String(n);return l.length<f.length?l:n},Xn}var Kn,Za;function Sp(){if(Za)return Kn;Za=1;const t=Ee(),e=Kt(),{ANY:r}=e,n=Yt(),i=be(),a=(f,p,d={})=>{if(f===p)return!0;f=new t(f,d),p=new t(p,d);let v=!1;e:for(const w of f.set){for(const m of p.set){const g=c(w,m,d);if(v=v||g!==null,g)continue e}if(v)return!1}return!0},s=[new e(">=0.0.0-0")],o=[new e(">=0.0.0")],c=(f,p,d)=>{if(f===p)return!0;if(f.length===1&&
|
|
410
|
+
f[0].semver===r){if(p.length===1&&p[0].semver===r)return!0;d.includePrerelease?f=s:f=o}if(p.length===1&&p[0].semver===r){if(d.includePrerelease)return!0;p=o}const v=new Set;let w,m;for(const x of f)x.operator===">"||x.operator===">="?w=u(w,x,d):x.operator==="<"||x.operator==="<="?m=l(m,x,d):v.add(x.semver);if(v.size>1)return null;let g;if(w&&m){if(g=i(w.semver,m.semver,d),g>0)return null;if(g===0&&(w.operator!==">="||m.operator!=="<="))return null}for(const x of v){if(w&&!n(x,String(w),d)||m&&!n(
|
|
411
|
+
x,String(m),d))return null;for(const q of p)if(!n(x,String(q),d))return!1;return!0}let T,h,S,E,A=m&&!d.includePrerelease&&m.semver.prerelease.length?m.semver:!1,b=w&&!d.includePrerelease&&w.semver.prerelease.length?w.semver:!1;A&&A.prerelease.length===1&&m.operator==="<"&&A.prerelease[0]===0&&(A=!1);for(const x of p){if(E=E||x.operator===">"||x.operator===">=",S=S||x.operator==="<"||x.operator==="<=",w){if(b&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===b.major&&x.semver.minor===
|
|
412
|
+
b.minor&&x.semver.patch===b.patch&&(b=!1),x.operator===">"||x.operator===">="){if(T=u(w,x,d),T===x&&T!==w)return!1}else if(w.operator===">="&&!n(w.semver,String(x),d))return!1}if(m){if(A&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===A.major&&x.semver.minor===A.minor&&x.semver.patch===A.patch&&(A=!1),x.operator==="<"||x.operator==="<="){if(h=l(m,x,d),h===x&&h!==m)return!1}else if(m.operator==="<="&&!n(m.semver,String(x),d))return!1}if(!x.operator&&(m||w)&&g!==0)return!1}return!(w&&
|
|
413
|
+
S&&!m&&g!==0||m&&E&&!w&&g!==0||b||A)},u=(f,p,d)=>{if(!f)return p;const v=i(f.semver,p.semver,d);return v>0?f:v<0||p.operator===">"&&f.operator===">="?p:f},l=(f,p,d)=>{if(!f)return p;const v=i(f.semver,p.semver,d);return v<0?f:v>0||p.operator==="<"&&f.operator==="<="?p:f};return Kn=a,Kn}var Yn,ec;function Ap(){if(ec)return Yn;ec=1;const t=pt(),e=zt(),r=he(),n=fa(),i=tt(),a=tp(),s=rp(),o=np(),c=sp(),u=ip(),l=op(),f=ap(),p=cp(),d=be(),v=up(),w=lp(),m=$n(),g=fp(),T=pp(),h=Xt(),S=An(),E=Oa(),A=ka(),b=Tn(),
|
|
414
|
+
x=On(),q=Da(),M=dp(),V=Kt(),F=Ee(),L=Yt(),I=mp(),C=gp(),k=yp(),O=wp(),P=vp(),D=Bn(),H=$p(),$=bp(),U=Ep(),J=Rp(),Q=Sp();return Yn={parse:i,valid:a,clean:s,inc:o,diff:c,major:u,minor:l,patch:f,prerelease:p,compare:d,rcompare:v,compareLoose:w,compareBuild:m,sort:g,rsort:T,gt:h,lt:S,eq:E,neq:A,gte:b,lte:x,cmp:q,coerce:M,Comparator:V,Range:F,satisfies:L,toComparators:I,maxSatisfying:C,minSatisfying:k,minVersion:O,validRange:P,outside:D,gtr:H,ltr:$,intersects:U,simplifyRange:J,subset:Q,SemVer:r,re:t.re,
|
|
415
|
+
src:t.src,tokens:t.t,SEMVER_SPEC_VERSION:e.SEMVER_SPEC_VERSION,RELEASE_TYPES:e.RELEASE_TYPES,compareIdentifiers:n.compareIdentifiers,rcompareIdentifiers:n.rcompareIdentifiers},Yn}var Jn=Ap();const rt=us(Jn),_p=Object.prototype.toString,Cp="[object Uint8Array]",xp="[object ArrayBuffer]";function tc(t,e,r){return t?t.constructor===e?!0:_p.call(t)===r:!1}function rc(t){return tc(t,Uint8Array,Cp)}function Tp(t){return tc(t,ArrayBuffer,xp)}function Ip(t){return rc(t)||Tp(t)}function Op(t){if(!rc(t))throw new TypeError(
|
|
416
|
+
`Expected \`Uint8Array\`, got \`${typeof t}\``)}function Lp(t){if(!Ip(t))throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}function Qn(t,e){if(t.length===0)return new Uint8Array(0);e??=t.reduce((i,a)=>i+a.length,0);const r=new Uint8Array(e);let n=0;for(const i of t)Op(i),r.set(i,n),n+=i.length;return r}const nc={utf8:new globalThis.TextDecoder("utf8")};function Jt(t,e="utf8"){return Lp(t),nc[e]??=new globalThis.TextDecoder(e),nc[e].decode(t)}function kp(t){if(typeof t!=
|
|
417
|
+
"string")throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}const Np=new globalThis.TextEncoder;function Qt(t){return kp(t),Np.encode(t)}Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));const Zn="aes-256-cbc",De=()=>Object.create(null),sc=t=>t!==void 0,es=(t,e)=>{const r=new Set(["undefined","symbol","function"]),n=typeof e;if(r.has(n))throw new TypeError(`Setting a value of type \`${n}\` for key \`${t}\` is not allowed as it's not supported by JSON`)},qe="__internal__",
|
|
418
|
+
ts=`${qe}.migrations.version`;class Pp{path;events;#a;#n;#r;#t={};#e=!1;#o;#i;#s;constructor(e={}){const r=this.#u(e);this.#r=r,this.#h(r),this.#p(r),this.#m(r),this.events=new EventTarget,this.#n=r.encryptionKey,this.path=this.#c(r),this.#l(r),r.watch&&this._watch()}get(e,r){if(this.#r.accessPropertiesByDotNotation)return this._get(e,r);const{store:n}=this;return e in n?n[e]:r}set(e,r){if(typeof e!="string"&&typeof e!="object")throw new TypeError(`Expected \`key\` to be of type \`string\` or \`objec\
|
|
419
|
+
t\`, got ${typeof e}`);if(typeof e!="object"&&r===void 0)throw new TypeError("Use `delete()` to clear values");if(this._containsReservedKey(e))throw new TypeError(`Please don't use the ${qe} key, as it's used to manage this module internal operations.`);const{store:n}=this,i=(a,s)=>{if(es(a,s),this.#r.accessPropertiesByDotNotation)Ot(n,a,s);else{if(a==="__proto__"||a==="constructor"||a==="prototype")return;n[a]=s}};if(typeof e=="object"){const a=e;for(const[s,o]of Object.entries(a))i(s,o)}else i(
|
|
420
|
+
e,r);this.store=n}has(e){return this.#r.accessPropertiesByDotNotation?Yr(this.store,e):e in this.store}appendToArray(e,r){es(e,r);const n=this.#r.accessPropertiesByDotNotation?this._get(e,[]):e in this.store?this.store[e]:[];if(!Array.isArray(n))throw new TypeError(`The key \`${e}\` is already set to a non-array value`);this.set(e,[...n,r])}reset(...e){for(const r of e)sc(this.#t[r])&&this.set(r,this.#t[r])}delete(e){const{store:r}=this;this.#r.accessPropertiesByDotNotation?Ul(r,e):delete r[e],this.
|
|
421
|
+
store=r}clear(){const e=De();for(const r of Object.keys(this.#t))sc(this.#t[r])&&(es(r,this.#t[r]),this.#r.accessPropertiesByDotNotation?Ot(e,r,this.#t[r]):e[r]=this.#t[r]);this.store=e}onDidChange(e,r){if(typeof e!="string")throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof e}`);if(typeof r!="function")throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof r}`);return this._handleValueChange(()=>this.get(e),r)}onDidAnyChange(e){if(typeof e!=
|
|
406
422
|
"function")throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof e}`);return this._handleStoreChange(e)}get size(){return Object.keys(this.store).filter(r=>!this._isReservedKeyPath(r)).length}get store(){try{const e=B.readFileSync(this.path,this.#n?null:"utf8"),r=this._decryptData(e),n=this._deserialize(r);return this.#e||this._validate(n),Object.assign(De(),n)}catch(e){if(e?.code==="ENOENT")return this._ensureDirectory(),De();if(this.#r.clearInvalidConfig){const r=e;
|
|
407
|
-
if(r.name==="SyntaxError"||r.message?.startsWith("Config schema violation:"))return De()}throw e}}set store(e){if(this._ensureDirectory(),!
|
|
408
|
-
(this.#o.close(),this.#o=void 0),this.#i&&(B.unwatchFile(this.path),this.#i=!1),this.#s=void 0}_decryptData(e){if(!this.#n)return typeof e=="string"?e:Jt(e);try{const r=e.slice(0,16),n=
|
|
409
|
-
|
|
410
|
-
stringify(e,void 0," ");_validate(e){if(!this.#a||this.#a(e)||!this.#a.errors)return;const n=this.#a.errors.map(({instancePath:i,message:a=""})=>`\`${i.slice(1)}\` ${a}`);throw new Error("Config schema violation: "+n.join("; "))}_ensureDirectory(){B.mkdirSync(W.dirname(this.path),{recursive:!0})}_write(e){let r=this._serialize(e);if(this.#n){const n=
|
|
411
|
-
B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});else try{
|
|
412
|
-
encoding:"utf8"},(n,i)=>{i&&i!==r||typeof this.#s=="function"&&this.#s()})}else this.#s??=
|
|
413
|
-
c?.(this),this._set(
|
|
414
|
-
if(!e||typeof e!="object")return!1;for(const[r,n]of Object.entries(e))if(this._isReservedKeyPath(r)||this._objectContainsReservedKey(n))return!0;return!1}_isReservedKeyPath(e){return e===qe||e.startsWith(`${qe}.`)}_isVersionInRangeFormat(e){return
|
|
415
|
-
n}#u(e){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...e};if(!r.cwd){if(!r.projectName)throw new Error("Please specify the `projectName` option.");r.cwd=
|
|
416
|
-
"The `schema` option must be an object.");const r=
|
|
417
|
-
(this._deserialize=e.deserialize)}#c(e){const r=typeof e.fileExtension=="string"?e.fileExtension:void 0,n=r?`.${r}`:"";return W.resolve(e.cwd,`${e.configName??"config"}${n}`)}#l(e){if(e.migrations){this.#d(e),this._validate(this.store);return}const r=this.store,n=Object.assign(De(),e.defaults??{},r);this._validate(n);try{
|
|
418
|
-
store,a=Object.assign(De(),e.defaults??{},i);try{
|
|
419
|
-
Error";value;constructor(e){let r="Non-error value was thrown";try{typeof e=="string"?r=e:e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"&&(r=e.message)}catch{}super(r),this.value=e}}class
|
|
420
|
-
e?.request}}const
|
|
421
|
-
nction"&&typeof globalThis.AbortSignal.any=="function",
|
|
422
|
-
parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},
|
|
423
|
-
length,e+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return e}if(t instanceof Blob)return t.size;if(t instanceof ArrayBuffer)return t.byteLength;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof URLSearchParams)return new TextEncoder().encode(t.toString()).length;if("byteLength"in t)return t.byteLength;if(typeof t=="object"&&t!==null)try{const e=JSON.stringify(t);return new TextEncoder().encode(e).length}catch{return 0}return 0},
|
|
424
|
-
i=0;return t.pipeThrough(new TransformStream({transform(a,s){if(s.enqueue(a),n){i+=n.byteLength;let o=e===0?0:i/e;o>=1&&(o=1-Number.EPSILON),r?.({percent:o,totalBytes:Math.max(e,i),transferredBytes:i},n)}n=a},flush(){n&&(i+=n.byteLength,r?.({percent:1,totalBytes:Math.max(e,i),transferredBytes:i},n))}}))},
|
|
425
|
-
0);return new Response(
|
|
426
|
-
Headers(e);for(const[a,s]of i.entries())n&&s==="undefined"||s===void 0?r.delete(a):r.set(a,s);return r};function er(t,e,r){return Object.hasOwn(e,r)&&e[r]===void 0?[]:
|
|
427
|
-
i,a);else if(Array.isArray(n))for(const i of n){if(!Array.isArray(i)||i.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(i[0]),String(i[1]))}else if(
|
|
428
|
-
s)){for(let[o,c]of Object.entries(s)){if(o==="signal"&&c instanceof globalThis.AbortSignal){a.push(c);continue}if(o==="context"){if(c!=null&&(!
|
|
429
|
-
void 0&&(e.searchParams=i),a.length>0&&(a.length===1?e.signal=a[0]:
|
|
430
|
-
if(typeof t=="number")return{...
|
|
431
|
-
(i,a)=>{const s=setTimeout(()=>{r&&r.abort(),a(new
|
|
432
|
-
void 0?!1:Array.isArray(t)?t.length>0:t instanceof URLSearchParams?t.size>0:typeof t=="object"?Object.keys(t).length>0:typeof t=="string"?t.trim().length>0:!!t;function
|
|
433
|
-
for(const o of n.#e.hooks.afterResponse){const c=n.#f(s.clone()),u=await o(n.request,n.#c(),c,{retryCount:n.#r});if(u instanceof globalThis.Response&&(s=u),u instanceof
|
|
434
|
-
if(typeof n.#e.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!
|
|
423
|
+
if(r.name==="SyntaxError"||r.message?.startsWith("Config schema violation:"))return De()}throw e}}set store(e){if(this._ensureDirectory(),!Yr(e,qe))try{const r=B.readFileSync(this.path,this.#n?null:"utf8"),n=this._decryptData(r),i=this._deserialize(n);Yr(i,qe)&&Ot(e,qe,xi(i,qe))}catch{}this.#e||this._validate(e),this._write(e),this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[e,r]of Object.entries(this.store))this._isReservedKeyPath(e)||(yield[e,r])}_closeWatcher(){this.#o&&
|
|
424
|
+
(this.#o.close(),this.#o=void 0),this.#i&&(B.unwatchFile(this.path),this.#i=!1),this.#s=void 0}_decryptData(e){if(!this.#n)return typeof e=="string"?e:Jt(e);try{const r=e.slice(0,16),n=Ue.pbkdf2Sync(this.#n,r,1e4,32,"sha512"),i=Ue.createDecipheriv(Zn,n,r),a=e.slice(17),s=typeof a=="string"?Qt(a):a;return Jt(Qn([i.update(s),i.final()]))}catch{try{const r=e.slice(0,16),n=Ue.pbkdf2Sync(this.#n,r.toString(),1e4,32,"sha512"),i=Ue.createDecipheriv(Zn,n,r),a=e.slice(17),s=typeof a=="string"?Qt(a):a;return Jt(
|
|
425
|
+
Qn([i.update(s),i.final()]))}catch{}}return typeof e=="string"?e:Jt(e)}_handleStoreChange(e){let r=this.store;const n=()=>{const i=r,a=this.store;Ts(a,i)||(r=a,e.call(this,a,i))};return this.events.addEventListener("change",n),()=>{this.events.removeEventListener("change",n)}}_handleValueChange(e,r){let n=e();const i=()=>{const a=n,s=e();Ts(s,a)||(n=s,r.call(this,s,a))};return this.events.addEventListener("change",i),()=>{this.events.removeEventListener("change",i)}}_deserialize=e=>JSON.parse(e);_serialize=e=>JSON.
|
|
426
|
+
stringify(e,void 0," ");_validate(e){if(!this.#a||this.#a(e)||!this.#a.errors)return;const n=this.#a.errors.map(({instancePath:i,message:a=""})=>`\`${i.slice(1)}\` ${a}`);throw new Error("Config schema violation: "+n.join("; "))}_ensureDirectory(){B.mkdirSync(W.dirname(this.path),{recursive:!0})}_write(e){let r=this._serialize(e);if(this.#n){const n=Ue.randomBytes(16),i=Ue.pbkdf2Sync(this.#n,n,1e4,32,"sha512"),a=Ue.createCipheriv(Zn,i,n);r=Qn([n,Qt(":"),a.update(Qt(r)),a.final()])}if(re.env.SNAP)
|
|
427
|
+
B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});else try{ki(this.path,r,{mode:this.#r.configFileMode})}catch(n){if(n?.code==="EXDEV"){B.writeFileSync(this.path,r,{mode:this.#r.configFileMode});return}throw n}}_watch(){if(this._ensureDirectory(),B.existsSync(this.path)||this._write(De()),re.platform==="win32"||re.platform==="darwin"){this.#s??=ia(()=>{this.events.dispatchEvent(new Event("change"))},{wait:100});const e=W.dirname(this.path),r=W.basename(this.path);this.#o=B.watch(e,{persistent:!1,
|
|
428
|
+
encoding:"utf8"},(n,i)=>{i&&i!==r||typeof this.#s=="function"&&this.#s()})}else this.#s??=ia(()=>{this.events.dispatchEvent(new Event("change"))},{wait:1e3}),B.watchFile(this.path,{persistent:!1},(e,r)=>{typeof this.#s=="function"&&this.#s()}),this.#i=!0}_migrate(e,r,n){let i=this._get(ts,"0.0.0");const a=Object.keys(e).filter(o=>this._shouldPerformMigration(o,i,r));let s=structuredClone(this.store);for(const o of a)try{n&&n(this,{fromVersion:i,toVersion:o,finalVersion:r,versions:a});const c=e[o];
|
|
429
|
+
c?.(this),this._set(ts,o),i=o,s=structuredClone(this.store)}catch(c){this.store=s;try{this._write(s)}catch{}const u=c instanceof Error?c.message:String(c);throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${u}`)}(this._isVersionInRangeFormat(i)||!rt.eq(i,r))&&this._set(ts,r)}_containsReservedKey(e){return typeof e=="string"?this._isReservedKeyPath(e):!e||typeof e!="object"?!1:this._objectContainsReservedKey(e)}_objectContainsReservedKey(e){
|
|
430
|
+
if(!e||typeof e!="object")return!1;for(const[r,n]of Object.entries(e))if(this._isReservedKeyPath(r)||this._objectContainsReservedKey(n))return!0;return!1}_isReservedKeyPath(e){return e===qe||e.startsWith(`${qe}.`)}_isVersionInRangeFormat(e){return rt.clean(e)===null}_shouldPerformMigration(e,r,n){return this._isVersionInRangeFormat(e)?r!=="0.0.0"&&rt.satisfies(r,e)?!1:rt.satisfies(n,e):!(rt.lte(e,r)||rt.gt(e,n))}_get(e,r){return xi(this.store,e,r)}_set(e,r){const{store:n}=this;Ot(n,e,r),this.store=
|
|
431
|
+
n}#u(e){const r={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:!1,accessPropertiesByDotNotation:!0,configFileMode:438,...e};if(!r.cwd){if(!r.projectName)throw new Error("Please specify the `projectName` option.");r.cwd=Vl(r.projectName,{suffix:r.projectSuffix}).config}return typeof r.fileExtension=="string"&&(r.fileExtension=r.fileExtension.replace(/^\.+/,"")),r}#h(e){if(!(e.schema??e.ajvOptions??e.rootSchema))return;if(e.schema&&typeof e.schema!="object")throw new TypeError(
|
|
432
|
+
"The `schema` option must be an object.");const r=Bc.default,n=new zf.Ajv2020({allErrors:!0,useDefaults:!0,...e.ajvOptions});r(n);const i={...e.rootSchema,type:"object",properties:e.schema};this.#a=n.compile(i),this.#f(e.schema)}#f(e){const r=Object.entries(e??{});for(const[n,i]of r){if(!i||typeof i!="object"||!Object.hasOwn(i,"default"))continue;const{default:a}=i;a!==void 0&&(this.#t[n]=a)}}#p(e){e.defaults&&Object.assign(this.#t,e.defaults)}#m(e){e.serialize&&(this._serialize=e.serialize),e.deserialize&&
|
|
433
|
+
(this._deserialize=e.deserialize)}#c(e){const r=typeof e.fileExtension=="string"?e.fileExtension:void 0,n=r?`.${r}`:"";return W.resolve(e.cwd,`${e.configName??"config"}${n}`)}#l(e){if(e.migrations){this.#d(e),this._validate(this.store);return}const r=this.store,n=Object.assign(De(),e.defaults??{},r);this._validate(n);try{Is.deepEqual(r,n)}catch{this.store=n}}#d(e){const{migrations:r,projectVersion:n}=e;if(r){if(!n)throw new Error("Please specify the `projectVersion` option.");this.#e=!0;try{const i=this.
|
|
434
|
+
store,a=Object.assign(De(),e.defaults??{},i);try{Is.deepEqual(i,a)}catch{this._write(a)}this._migrate(r,n,e.beforeEachMigration)}finally{this.#e=!1}}}}class rs extends Error{response;request;options;constructor(e,r,n){const i=e.status||e.status===0?e.status:"",a=e.statusText??"",s=`${i} ${a}`.trim(),o=s?`status code ${s}`:"an unknown error";super(`Request failed with ${o}: ${r.method} ${r.url}`),this.name="HTTPError",this.response=e,this.request=r,this.options=n}}class ic extends Error{name="Non\
|
|
435
|
+
Error";value;constructor(e){let r="Non-error value was thrown";try{typeof e=="string"?r=e:e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"&&(r=e.message)}catch{}super(r),this.value=e}}class ns extends Error{name="ForceRetryError";customDelay;code;customRequest;constructor(e){const r=e?.cause?e.cause instanceof Error?e.cause:new ic(e.cause):void 0;super(e?.code?`Forced retry: ${e.code}`:"Forced retry",r?{cause:r}:void 0),this.customDelay=e?.delay,this.code=e?.code,this.customRequest=
|
|
436
|
+
e?.request}}const oc=(()=>{let t=!1,e=!1;const r=typeof globalThis.ReadableStream=="function",n=typeof globalThis.Request=="function";if(r&&n)try{e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")}catch(i){if(i instanceof Error&&i.message==="unsupported BodyInit type")return!1;throw i}return t&&!e})(),jp=typeof globalThis.AbortController=="function",ac=typeof globalThis.AbortSignal=="fu\
|
|
437
|
+
nction"&&typeof globalThis.AbortSignal.any=="function",Dp=typeof globalThis.ReadableStream=="function",qp=typeof globalThis.FormData=="function",cc=["get","post","put","patch","head","delete"],Hp={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},ss=2147483647,Mp=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,uc=Symbol("stop");class lc{options;constructor(e){this.options=e}}const Up=t=>new lc(t),Fp={json:!0,
|
|
438
|
+
parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},Gp={next:!0},Bp={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},Vp=t=>{if(!t)return 0;if(t instanceof FormData){let e=0;for(const[r,n]of t)e+=Mp,e+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).
|
|
439
|
+
length,e+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return e}if(t instanceof Blob)return t.size;if(t instanceof ArrayBuffer)return t.byteLength;if(typeof t=="string")return new TextEncoder().encode(t).length;if(t instanceof URLSearchParams)return new TextEncoder().encode(t.toString()).length;if("byteLength"in t)return t.byteLength;if(typeof t=="object"&&t!==null)try{const e=JSON.stringify(t);return new TextEncoder().encode(e).length}catch{return 0}return 0},fc=(t,e,r)=>{let n,
|
|
440
|
+
i=0;return t.pipeThrough(new TransformStream({transform(a,s){if(s.enqueue(a),n){i+=n.byteLength;let o=e===0?0:i/e;o>=1&&(o=1-Number.EPSILON),r?.({percent:o,totalBytes:Math.max(e,i),transferredBytes:i},n)}n=a},flush(){n&&(i+=n.byteLength,r?.({percent:1,totalBytes:Math.max(e,i),transferredBytes:i},n))}}))},zp=(t,e)=>{if(!t.body)return t;if(t.status===204)return new Response(null,{status:t.status,statusText:t.statusText,headers:t.headers});const r=Math.max(0,Number(t.headers.get("content-length"))||
|
|
441
|
+
0);return new Response(fc(t.body,r,e),{status:t.status,statusText:t.statusText,headers:t.headers})},Wp=(t,e,r)=>{if(!t.body)return t;const n=Vp(r??t.body);return new Request(t,{duplex:"half",body:fc(t.body,n,e)})},Ge=t=>t!==null&&typeof t=="object",Zt=(...t)=>{for(const e of t)if((!Ge(e)||Array.isArray(e))&&e!==void 0)throw new TypeError("The `options` argument must be an object");return is({},...t)},pc=(t={},e={})=>{const r=new globalThis.Headers(t),n=e instanceof globalThis.Headers,i=new globalThis.
|
|
442
|
+
Headers(e);for(const[a,s]of i.entries())n&&s==="undefined"||s===void 0?r.delete(a):r.set(a,s);return r};function er(t,e,r){return Object.hasOwn(e,r)&&e[r]===void 0?[]:is(t[r]??[],e[r]??[])}const dc=(t={},e={})=>({beforeRequest:er(t,e,"beforeRequest"),beforeRetry:er(t,e,"beforeRetry"),afterResponse:er(t,e,"afterResponse"),beforeError:er(t,e,"beforeError")}),Xp=(t,e)=>{const r=new URLSearchParams;for(const n of[t,e])if(n!==void 0)if(n instanceof URLSearchParams)for(const[i,a]of n.entries())r.append(
|
|
443
|
+
i,a);else if(Array.isArray(n))for(const i of n){if(!Array.isArray(i)||i.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");r.append(String(i[0]),String(i[1]))}else if(Ge(n))for(const[i,a]of Object.entries(n))a!==void 0&&r.append(i,String(a));else{const i=new URLSearchParams(n);for(const[a,s]of i.entries())r.append(a,s)}return r},is=(...t)=>{let e={},r={},n={},i;const a=[];for(const s of t)if(Array.isArray(s))Array.isArray(e)||(e=[]),e=[...e,...s];else if(Ge(
|
|
444
|
+
s)){for(let[o,c]of Object.entries(s)){if(o==="signal"&&c instanceof globalThis.AbortSignal){a.push(c);continue}if(o==="context"){if(c!=null&&(!Ge(c)||Array.isArray(c)))throw new TypeError("The `context` option must be an object");e={...e,context:c==null?{}:{...e.context,...c}};continue}if(o==="searchParams"){c==null?i=void 0:i=i===void 0?c:Xp(i,c);continue}Ge(c)&&o in e&&(c=is(e[o],c)),e={...e,[o]:c}}Ge(s.hooks)&&(n=dc(n,s.hooks),e.hooks=n),Ge(s.headers)&&(r=pc(r,s.headers),e.headers=r)}return i!==
|
|
445
|
+
void 0&&(e.searchParams=i),a.length>0&&(a.length===1?e.signal=a[0]:ac?e.signal=AbortSignal.any(a):e.signal=a.at(-1)),e.context===void 0&&(e.context={}),e},Kp=t=>cc.includes(t)?t.toUpperCase():t,Yp=["get","put","head","delete","options","trace"],Jp=[408,413,429,500,502,503,504],Qp=[413,429,503],hc={limit:2,methods:Yp,statusCodes:Jp,afterStatusCodes:Qp,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3,jitter:void 0,retryOnTimeout:!1},Zp=(t={})=>{
|
|
446
|
+
if(typeof t=="number")return{...hc,limit:t};if(t.methods&&!Array.isArray(t.methods))throw new Error("retry.methods must be an array");if(t.statusCodes&&!Array.isArray(t.statusCodes))throw new Error("retry.statusCodes must be an array");const e=Object.fromEntries(Object.entries(t).filter(([,r])=>r!==void 0));return{...hc,...e}};class os extends Error{request;constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.name="TimeoutError",this.request=e}}async function ed(t,e,r,n){return new Promise(
|
|
447
|
+
(i,a)=>{const s=setTimeout(()=>{r&&r.abort(),a(new os(t))},n.timeout);n.fetch(t,e).then(i).catch(a).then(()=>{clearTimeout(s)})})}async function td(t,{signal:e}){return new Promise((r,n)=>{e&&(e.throwIfAborted(),e.addEventListener("abort",i,{once:!0}));function i(){clearTimeout(a),n(e.reason)}const a=setTimeout(()=>{e?.removeEventListener("abort",i),r()},t)})}const rd=(t,e)=>{const r={};for(const n in e)Object.hasOwn(e,n)&&!(n in Bp)&&!(n in Fp)&&(!(n in t)||n in Gp)&&(r[n]=e[n]);return r},nd=t=>t===
|
|
448
|
+
void 0?!1:Array.isArray(t)?t.length>0:t instanceof URLSearchParams?t.size>0:typeof t=="object"?Object.keys(t).length>0:typeof t=="string"?t.trim().length>0:!!t;function sd(t){return t instanceof rs||t?.name===rs.name}function id(t){return t instanceof os||t?.name===os.name}class mt{static create(e,r){const n=new mt(e,r),i=async()=>{if(typeof n.#e.timeout=="number"&&n.#e.timeout>ss)throw new RangeError(`The \`timeout\` option cannot be greater than ${ss}`);await Promise.resolve();let s=await n.#m();
|
|
449
|
+
for(const o of n.#e.hooks.afterResponse){const c=n.#f(s.clone()),u=await o(n.request,n.#c(),c,{retryCount:n.#r});if(u instanceof globalThis.Response&&(s=u),u instanceof lc)throw await Promise.all([c.body?.cancel(),s.body?.cancel()]),new ns(u.options)}if(n.#f(s),!s.ok&&(typeof n.#e.throwHttpErrors=="function"?n.#e.throwHttpErrors(s.status):n.#e.throwHttpErrors)){let o=new rs(s,n.request,n.#c());for(const c of n.#e.hooks.beforeError)o=await c(o,{retryCount:n.#r});throw o}if(n.#e.onDownloadProgress){
|
|
450
|
+
if(typeof n.#e.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Dp)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return zp(s.clone(),n.#e.onDownloadProgress)}return s},a=n.#p(i).finally(async()=>{const s=n.#o,o=[];s&&!s.bodyUsed&&o.push(s.body?.cancel()),n.request.bodyUsed||o.push(n.request.body?.cancel()),await Promise.all(o)});for(const[s,o]of Object.entries(Hp))s==="bytes"&&typeof globalThis.
|
|
435
451
|
Response?.prototype?.bytes!="function"||(a[s]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||o);const c=await a;if(s==="json"){if(c.status===204)return"";const u=await c.text();return u===""?"":r.parseJson?r.parseJson(u):JSON.parse(u)}return c[s]()});return a}static#a(e){return e&&typeof e=="object"&&!Array.isArray(e)&&!(e instanceof URLSearchParams)?Object.fromEntries(Object.entries(e).filter(([,r])=>r!==void 0)):e}request;#n;#r=0;#t;#e;#o;#i;#s;constructor(e,r={}){if(this.#t=
|
|
436
|
-
e,this.#e={...r,headers:
|
|
437
|
-
ng, URL, or Request");if(this.#e.prefixUrl&&typeof this.#t=="string"){if(this.#t.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#e.prefixUrl.endsWith("/")||(this.#e.prefixUrl+="/"),this.#t=this.#e.prefixUrl+this.#t}
|
|
438
|
-
this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const n=r.headers&&new globalThis.Headers(r.headers).has("content-type");if(this.#t instanceof globalThis.Request&&(
|
|
439
|
-
(typeof this.#e.searchParams=="string"?this.#e.searchParams.replace(/^\?/,""):new URLSearchParams(mt.#a(this.#e.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);this.request=new globalThis.Request(s,this.#e)}if(this.#e.onUploadProgress){if(typeof this.#e.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!
|
|
440
|
-
not available.");this.request=this.#d(this.request,this.#e.body??void 0)}}#u(){const e=this.#e.retry.delay(this.#r);let r=e;this.#e.retry.jitter===!0?r=Math.random()*e:typeof this.#e.retry.jitter=="function"&&(r=this.#e.retry.jitter(e),(!Number.isFinite(r)||r<0)&&(r=e));const n=this.#e.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(n,r)}async#h(e){if(this.#r++,this.#r>this.#e.retry.limit)throw e;const r=e instanceof Error?e:new
|
|
441
|
-
if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(this.#e.retry.shouldRetry!==void 0){const n=await this.#e.retry.shouldRetry({error:r,retryCount:this.#r});if(n===!1)throw e;if(n===!0)return this.#u()}if(
|
|
452
|
+
e,this.#e={...r,headers:pc(this.#t.headers,r.headers),hooks:dc({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Kp(r.method??this.#t.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:Zp(r.retry),throwHttpErrors:r.throwHttpErrors??!0,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis),context:r.context??{}},typeof this.#t!="string"&&!(this.#t instanceof URL||this.#t instanceof globalThis.Request))throw new TypeError("`input` must be a stri\
|
|
453
|
+
ng, URL, or Request");if(this.#e.prefixUrl&&typeof this.#t=="string"){if(this.#t.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#e.prefixUrl.endsWith("/")||(this.#e.prefixUrl+="/"),this.#t=this.#e.prefixUrl+this.#t}jp&&ac&&(this.#i=this.#e.signal??this.#t.signal,this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal),oc&&(this.#e.duplex="half"),this.#e.json!==void 0&&(this.#e.body=
|
|
454
|
+
this.#e.stringifyJson?.(this.#e.json)??JSON.stringify(this.#e.json),this.#e.headers.set("content-type",this.#e.headers.get("content-type")??"application/json"));const n=r.headers&&new globalThis.Headers(r.headers).has("content-type");if(this.#t instanceof globalThis.Request&&(qp&&this.#e.body instanceof globalThis.FormData||this.#e.body instanceof URLSearchParams)&&!n&&this.#e.headers.delete("content-type"),this.request=new globalThis.Request(this.#t,this.#e),nd(this.#e.searchParams)){const a="?"+
|
|
455
|
+
(typeof this.#e.searchParams=="string"?this.#e.searchParams.replace(/^\?/,""):new URLSearchParams(mt.#a(this.#e.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,a);this.request=new globalThis.Request(s,this.#e)}if(this.#e.onUploadProgress){if(typeof this.#e.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!oc)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is \
|
|
456
|
+
not available.");this.request=this.#d(this.request,this.#e.body??void 0)}}#u(){const e=this.#e.retry.delay(this.#r);let r=e;this.#e.retry.jitter===!0?r=Math.random()*e:typeof this.#e.retry.jitter=="function"&&(r=this.#e.retry.jitter(e),(!Number.isFinite(r)||r<0)&&(r=e));const n=this.#e.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(n,r)}async#h(e){if(this.#r++,this.#r>this.#e.retry.limit)throw e;const r=e instanceof Error?e:new ic(e);if(r instanceof ns)return r.customDelay??this.#u();
|
|
457
|
+
if(!this.#e.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(this.#e.retry.shouldRetry!==void 0){const n=await this.#e.retry.shouldRetry({error:r,retryCount:this.#r});if(n===!1)throw e;if(n===!0)return this.#u()}if(id(e)&&!this.#e.retry.retryOnTimeout)throw e;if(sd(e)){if(!this.#e.retry.statusCodes.includes(e.response.status))throw e;const n=e.response.headers.get("Retry-After")??e.response.headers.get("RateLimit-Reset")??e.response.headers.get("X-RateLimit-Retry-After")??e.response.
|
|
442
458
|
headers.get("X-RateLimit-Reset")??e.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#e.retry.afterStatusCodes.includes(e.response.status)){let i=Number(n)*1e3;Number.isNaN(i)?i=Date.parse(n)-Date.now():i>=Date.parse("2024-01-01")&&(i-=Date.now());const a=this.#e.retry.maxRetryAfter??i;return i<a?i:a}if(e.response.status===413)throw e}return this.#u()}#f(e){return this.#e.parseJson&&(e.json=async()=>this.#e.parseJson(await e.text())),e}async#p(e){try{return await e()}catch(r){const n=Math.min(
|
|
443
|
-
await this.#h(r),
|
|
444
|
-
e)}}async#m(){this.#n?.signal.aborted&&(this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal,this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));for(const r of this.#e.hooks.beforeRequest){const n=await r(this.request,this.#c(),{retryCount:this.#r});if(n instanceof Response)return n;if(n instanceof globalThis.Request){this.#l(n);break}}const e=
|
|
445
|
-
this.#o.clone(),this.#e.timeout===!1?this.#e.fetch(this.#o,e):
|
|
446
|
-
on"&&(r=r(t??{})),
|
|
447
|
-
y.green(e)].join(""))}async function
|
|
448
|
-
json()).version}const
|
|
449
|
-
id} at path: ${r}`,i.id;ge.debug`No project registered at path: ${r}`}return t.languageServices.projectsManager.ensureProjectId(e)}function tr(t,e){const r=
|
|
450
|
-
pected");var n,i;n=e[
|
|
451
|
-
s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const dt=ge.getChild("generator");async function
|
|
452
|
-
new Error(`generator ${t} does not exist in project config`);dt.info(`${y.dim("generator")} ${y.green(t)}`);const
|
|
453
|
-
()=>r({likec4model:e,ctx:{workspace:t.languageServices.workspaceUri,project:s,locate:c=>{let u=null;switch(!0){case
|
|
454
|
-
relativePath:or.relative(s.folder,l),folder:or.dirname(l).fsPath,filename:or.basename(l)}},write:async({path:c,content:u})=>{let l;ir.isUri(c)?l=c.fsPath:l=z(s.folder.fsPath,...Array.isArray(c)?c:[c]);const f=Re(l);a.has(f)||(_e(f)||(n.debug(`${y.dim("create directory")} ${f}`),await Se(f,{recursive:!0})),a.add(f)),n.debug(`${y.dim("write")} ${l}`),await Oe(l,u)},abort:c=>{throw n.error(c||"Generator aborted"),new Error(c||"Generator aborted")}}}))}async function
|
|
455
|
-
kec4.generated.ts"),
|
|
456
|
-
Re(o.sourcePath)),u=z(e,u),n.has(u)||(await Se(u,{recursive:!0}),n.add(u));const l=z(u,o.id+".dot");await Oe(l,c),r.info(`${y.dim("generated")} ${Ce(process.cwd(),l)}`),s++}catch(c){ge.error(`error while generating ${o.id}`,{error:c})}s>0&&r.info(`${y.dim("total")} ${s} files`)}async function
|
|
457
|
-
|
|
458
|
-
"c4:codegen"),i=
|
|
459
|
-
"Symbol."+t)
|
|
460
|
-
s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function
|
|
461
|
-
`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("model")}`);const v=await f.layoutedModel(p);for(const
|
|
462
|
-
if(![".ts",".mts",".cts"].includes(g))throw u.error(`output file ${n} has extension "${g}"`),new Error(`output file ${n} must be a .ts, .mts or .cts file`);const T=Re(w);u.info(`${y.dim("outdir")} ${T}`),await Se(T,{recursive:!0}),await Oe(w,
|
|
459
|
+
await this.#h(r),ss);if(this.#r<1)throw r;if(await td(n,this.#i?{signal:this.#i}:{}),r instanceof ns&&r.customRequest){const i=this.#e.signal?new globalThis.Request(r.customRequest,{signal:this.#e.signal}):new globalThis.Request(r.customRequest);this.#l(i)}for(const i of this.#e.hooks.beforeRetry){const a=await i({request:this.request,options:this.#c(),error:r,retryCount:this.#r});if(a instanceof globalThis.Request){this.#l(a);break}if(a instanceof globalThis.Response)return a;if(a===uc)return}return this.#p(
|
|
460
|
+
e)}}async#m(){this.#n?.signal.aborted&&(this.#n=new globalThis.AbortController,this.#e.signal=this.#i?AbortSignal.any([this.#i,this.#n.signal]):this.#n.signal,this.request=new globalThis.Request(this.request,{signal:this.#e.signal}));for(const r of this.#e.hooks.beforeRequest){const n=await r(this.request,this.#c(),{retryCount:this.#r});if(n instanceof Response)return n;if(n instanceof globalThis.Request){this.#l(n);break}}const e=rd(this.request,this.#e);return this.#o=this.request,this.request=
|
|
461
|
+
this.#o.clone(),this.#e.timeout===!1?this.#e.fetch(this.#o,e):ed(this.#o,e,this.#n,this.#e)}#c(){if(!this.#s){const{hooks:e,...r}=this.#e;this.#s=Object.freeze(r)}return this.#s}#l(e){this.#s=void 0,this.request=this.#d(e)}#d(e,r){return!this.#e.onUploadProgress||!e.body?e:Wp(e,this.#e.onUploadProgress,r??this.#e.body??void 0)}}const as=t=>{const e=(r,n)=>mt.create(r,Zt(t,n));for(const r of cc)e[r]=(n,i)=>mt.create(n,Zt(t,i,{method:r}));return e.create=r=>as(Zt(r)),e.extend=r=>(typeof r=="functi\
|
|
462
|
+
on"&&(r=r(t??{})),as(Zt(t,r))),e.stop=uc,e.retry=Up,e},od=as(),cs=new Pp({projectName:Vc,serialize:t=>Xe.stringify(t,null,2),deserialize:t=>Xe.parse(t)}),ad=1e3*60*60*24,mc="check-update";function cd(){if(su||iu===mc)return;const t=cs.get("lastUpdateCheck"),e=cs.get("latestVersion");if(zc(e)||Wc(t)||t+ad<Date.now())try{fs("likec4",["check-update"],{stdio:"ignore",preferLocal:!0,detached:!0,env:{NODE_ENV:mc}}).catch(()=>{})}catch{}e&&Jn.gt(e,Be)&&Te(["Update available: ",y.dim(Be),y.reset(" \u2192 "),
|
|
463
|
+
y.green(e)].join(""))}async function ud(){try{const t=await ld();mr(t,"No version found in latest npm"),cs.set({lastUpdateCheck:Date.now(),latestVersion:t}),Jn.gt(t,Be)?Te(["Update available: ",y.dim(Be),y.reset(" \u2192 "),y.green(t)].join("")):Te(y.dim("Up to date: ")+" "+y.green(Be))}catch(t){ge.error(yt(t))}}async function ld(){return(await od("https://registry.npmjs.org/likec4/latest",{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},keepalive:!0}).
|
|
464
|
+
json()).version}const fd=t=>t.command({command:"check-update",describe:"Check for updates",handler:async()=>{await ud()}});function pd(t,e){if(!e)return t.languageServices.projectsManager.ensureProjectId();const r=z(e);if(r===t.workspace)return t.languageServices.projectsManager.ensureProjectId();if(_e(r)&&Zc(r).isDirectory()){ge.debug`Project path exists: ${r}`;const n=ir.file(r.endsWith(Es)?r:r+Es),i=t.languageServices.projects().find(a=>a.folder.fsPath===n.fsPath);if(i)return ge.debug`Found project ${i.
|
|
465
|
+
id} at path: ${r}`,i.id;ge.debug`No project registered at path: ${r}`}return t.languageServices.projectsManager.ensureProjectId(e)}function tr(t,e){const r=pd(t,e),n=t.languageServices.projectsManager.getProject(r);return t.languageServices.projectsManager.defaultProjectId=r,{projectId:r,projectFolder:n.folderUri.fsPath,config:n.config}}var gc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),yc=t=>{throw TypeError(t)},dd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&yc("Object ex\
|
|
466
|
+
pected");var n,i;n=e[gc("asyncDispose")],n===void 0&&(n=e[gc("dispose")],i=n),typeof n!="function"&&yc("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},hd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&
|
|
467
|
+
s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};const dt=ge.getChild("generator");async function wc({name:t,path:e,useDotBin:r,project:n}){var i=[];try{const c=Ve(dt),u=dd(i,await ye.fromWorkspace(e,{logger:"vite",graphviz:r?"binary":"wasm",watch:!1}),!0),{projectId:l,config:f}=tr(u,n);n&&dt.info(`${y.dim("project")} ${y.green(l)}`);const p=f.generators?.[t];if(!p)throw dt.error(y.red(`generator ${t} does not exist in project config`)),
|
|
468
|
+
new Error(`generator ${t} does not exist in project config`);dt.info(`${y.dim("generator")} ${y.green(t)}`);const d=await u.layoutedModel(l);await md({likec4:u,model:d,generator:p,logger:dt.getChild(t)}),c.stopAndLog()}catch(c){var a=c,s=!0}finally{var o=hd(i,a,s);o&&await o}}async function md({likec4:t,model:e,generator:r,logger:n}){const i=t.languageServices,a=new Set,s=i.project(e.project.id),o=e.project.id;n.debug(`${y.dim("runnig for project:")} ${y.green(s.id)}`),await Promise.resolve().then(
|
|
469
|
+
()=>r({likec4model:e,ctx:{workspace:t.languageServices.workspaceUri,project:s,locate:c=>{let u=null;switch(!0){case Ru(c):u=i.locate({element:c.id,projectId:o});break;case Eu(c):u=i.locate({view:c.id,projectId:o});break;case bu(c):u=i.locate({deployment:c.id,projectId:o});break;case $u(c):case vu(c):u=i.locate({relation:c.id,projectId:o});break;default:gr(c)}if(!u)throw n.error(`Cannot locate ${c.id}`,{target:c}),new Error(`Cannot locate ${c.id}`);const l=ir.parse(u.uri);return{range:u.range,document:l,
|
|
470
|
+
relativePath:or.relative(s.folder,l),folder:or.dirname(l).fsPath,filename:or.basename(l)}},write:async({path:c,content:u})=>{let l;ir.isUri(c)?l=c.fsPath:l=z(s.folder.fsPath,...Array.isArray(c)?c:[c]);const f=Re(l);a.has(f)||(_e(f)||(n.debug(`${y.dim("create directory")} ${f}`),await Se(f,{recursive:!0})),a.add(f)),n.debug(`${y.dim("write")} ${l}`),await Oe(l,u)},abort:c=>{throw n.error(c||"Generator aborted"),new Error(c||"Generator aborted")}}}))}async function gd(t,e,r){e=e??z(t.workspace,"li\
|
|
471
|
+
kec4.generated.ts"),at(e)!==".ts"&&(e=e+".ts"),await Se(Re(e),{recursive:!0});const n=await t.diagrams(),i=ul([...n]);await Oe(e,i),r.info(`${y.dim("generated")} ${Ce(process.cwd(),e)}`)}async function yd(t,e,r){await Se(e,{recursive:!0}),r.info(`${y.dim("format")} ${y.green("dot")}`),r.info(`${y.dim("outdir")} ${e}`);const n=new Set,i=await t.computedModel(),a=vs(i.$data.views);let s=0;for(const o of a)try{const c=await t.viewsService.layouter.dot({view:o,styles:i.$styles});let u=".";o.sourcePath&&
|
|
472
|
+
(u=Re(o.sourcePath)),u=z(e,u),n.has(u)||(await Se(u,{recursive:!0}),n.add(u));const l=z(u,o.id+".dot");await Oe(l,c),r.info(`${y.dim("generated")} ${Ce(process.cwd(),l)}`),s++}catch(c){ge.error(`error while generating ${o.id}`,{error:c})}s>0&&r.info(`${y.dim("total")} ${s} files`)}async function wd(t,e,r,n){await Se(r,{recursive:!0}),n.info(`${y.dim("format")} ${y.green(e)}`),n.info(`${y.dim("outdir")} ${r}`);let i,a;switch(e){case"d2":i=".d2",a=du;break;case"mermaid":i=".mmd",a=pu;break;case"pl\
|
|
473
|
+
antuml":i=".puml",a=fu;break;default:gr(e)}const s=new Set,o=await t.layoutedModel();let c=0;for(const u of o.views()){const l=u.$view;try{let f=".";l.sourcePath&&(f=Re(l.sourcePath)),f=z(r,f),s.has(f)||(await Se(f,{recursive:!0}),s.add(f));const p=z(f,l.id+i),d=a(u);await Oe(p,d),n.info(`${y.dim("generated")} ${Ce(process.cwd(),p)}`),c++}catch(f){n.error(`error while generating ${l.id}`,{error:f})}}c>0&&n.info(`${y.dim("total")} ${c} files`)}async function ht({path:t,useDotBin:e,...r}){const n=ve(
|
|
474
|
+
"c4:codegen"),i=Ve(n),a=await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm"});if(a.ensureSingleProject(),(await a.viewsService.computedViews()).length===0)throw n.warn("no views found"),process.exitCode=1,new Error("no views found");switch(r.format){case"views":{await gd(a,r.outfile,n);break}case"dot":{await yd(a,r.outdir??t,n);break}case"d2":case"mermaid":case"plantuml":{await wd(a,r.format,r.outdir??t,n);break}default:gr(r)}i.stopAndLog()}var vc=(t,e)=>(e=Symbol[t])?e:Symbol.for(
|
|
475
|
+
"Symbol."+t),$c=t=>{throw TypeError(t)},vd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&$c("Object expected");var n,i;n=e[vc("asyncDispose")],n===void 0&&(n=e[vc("dispose")],i=n),typeof n!="function"&&$c("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},$d=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=
|
|
476
|
+
s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function bd({path:t,useDotBin:e,useCorePackage:r,outfile:n,project:i}){var a=[];try{const u=ve("c4:codegen"),l=Ve(u),f=vd(a,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,i);i&&u.info(
|
|
477
|
+
`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("model")}`);const v=await f.layoutedModel(p);for(const h of v.views())h.hasLayoutDrifts&&u.warn(y.yellow("layout drift detected, view:")+" "+y.red(h.id));let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-model.ts");if(n&&(w=lr(n)?n:z(n),_e(n)&&(await fr(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);const m=$t(w);u.info(`${y.dim("filename")} ${m}`);const g=at(m).toLocaleLowerCase();
|
|
478
|
+
if(![".ts",".mts",".cts"].includes(g))throw u.error(`output file ${n} has extension "${g}"`),new Error(`output file ${n} must be a .ts, .mts or .cts file`);const T=Re(w);u.info(`${y.dim("outdir")} ${T}`),await Se(T,{recursive:!0}),await Oe(w,al(v,{useCorePackage:r}),{encoding:"utf-8"}),l.stopAndLog(),Te(ar(`
|
|
463
479
|
${y.dim("Source generated:")}
|
|
464
480
|
${Ce(vt(),w)}
|
|
465
481
|
|
|
466
482
|
${y.dim("How to use:")}
|
|
467
483
|
${y.underline("https://likec4.dev/tooling/code-generation/model/")}
|
|
468
|
-
`).trim(),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c
|
|
469
|
-
|
|
470
|
-
l","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/,/@likec4\/core.*/],onwarn(a,s){a.code!=="SOURCEMAP_ERROR"&&s(a)}}},plugins:[
|
|
471
|
-
"function"&&
|
|
472
|
-
i(c)}if(r)throw e};return a()};async function
|
|
473
|
-
drifts&&A.drifts.length>0){u.info(y.yellow("layout drift detected, view:")+" "+y.red(A.id));return}if(A.hasLayoutDrift){u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(A.id));return}});let w=z(f.projectsManager.hasMultipleProjects()?
|
|
474
|
-
${g}`);const T=
|
|
484
|
+
`).trim(),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c=$d(a,s,o);c&&await c}}async function Ed({languageServices:t,outDir:e,filename:r="likec4-react.mjs"}){const n=ve(["vite","react"]),i=br();return n.info(`${y.cyan("likec4 app root")} ${y.dim(i)}`),n.info(y.cyan("outDir")+" "+y.dim(e)),{customLogger:n,root:i,configFile:!1,clearScreen:!1,publicDir:!1,mode:"production",resolve:{conditions:["production"],alias:Sr()},esbuild:{banner:`'use client'
|
|
485
|
+
`+$r.banner,footer:$r.footer,jsx:"transform",jsxDev:!1,jsxSideEffects:!1,minifyIdentifiers:!1,minifySyntax:!1,minifyWhitespace:!1,tsconfigRaw:{compilerOptions:{target:"ES2022",useDefineForClassFields:!0,verbatimModuleSyntax:!0,jsx:"react-jsx"}}},build:{outDir:e,emptyOutDir:!1,sourcemap:!1,minify:!1,copyPublicDir:!1,chunkSizeWarningLimit:Rr,lib:{entry:"react/likec4.tsx",fileName(a,s){return r},formats:["es"]},rollupOptions:{output:{compact:!1,exports:"named"},external:["likec4/react","likec4/mode\
|
|
486
|
+
l","react","react-dom","react/jsx-runtime","react/jsx-dev-runtime","react-dom/client",/likec4\/icons\/.*/,/@likec4\/core.*/],onwarn(a,s){a.code!=="SOURCEMAP_ERROR"&&s(a)}}},plugins:[pr({}),hr({languageServices:t.languageServices,useOverviewGraph:!1})]}}var bc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Ec=t=>{throw TypeError(t)},Rd=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Ec("Object expected");var n,i;n=e[bc("asyncDispose")],n===void 0&&(n=e[bc("dispose")],i=n),typeof n!=
|
|
487
|
+
"function"&&Ec("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push([r]);return e},Sd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){
|
|
488
|
+
i(c)}if(r)throw e};return a()};async function Ad({path:t,useDotBin:e,useCorePackage:r,outfile:n,project:i}){var a=[];try{await lt();const u=ve("c4:codegen"),l=Ve(u),f=Rd(a,await ye.fromWorkspace(t,{logger:"vite",graphviz:e?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,i);i&&u.info(`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("react")}`);const v=await f.diagrams(p);if(v.length===0)throw process.exitCode=1,new Error("no views found");v.forEach(A=>{if(A.
|
|
489
|
+
drifts&&A.drifts.length>0){u.info(y.yellow("layout drift detected, view:")+" "+y.red(A.id));return}if(A.hasLayoutDrift){u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(A.id));return}});let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-views.js");if(n&&(w=lr(n)?n:z(n),_e(n)&&(await fr(n)).isDirectory()))throw new Error(`output file is a directory: ${n}`);const m=Re(w);u.info(`${y.dim("outdir")} ${m}`);const g=$t(w);u.info(`${y.dim("filename")}\
|
|
490
|
+
${g}`);const T=at(g).toLocaleLowerCase();if(![".js",".mjs",".jsx"].includes(T))throw u.error(`output file ${n} has extension "${T}"`),new Error(`output file ${n} must be a .js, .jsx or .mjs`);const h=await Ed({languageServices:f,outDir:m,filename:g});await ut({...h,logLevel:"warn"});const S=await f.layoutedModel(p),E=z(m,$t(w,T)+(T===".mjs"?".d.mts":".d.ts"));await Oe(E,ll(S,{useCorePackage:r})),l.stopAndLog(),Te(ar(`
|
|
475
491
|
${y.dim("Sources generated:")}
|
|
476
492
|
${Ce(vt(),w)}
|
|
477
493
|
${Ce(vt(),E)}
|
|
478
494
|
|
|
479
495
|
${y.dim("How to use:")}
|
|
480
496
|
${y.underline("https://likec4.dev/tooling/code-generation/react/")}
|
|
481
|
-
`),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c
|
|
482
|
-
[r]);return e},
|
|
483
|
-
const u=ve("c4:codegen"),l=
|
|
484
|
-
id))});let w=z(f.projectsManager.hasMultipleProjects()?
|
|
485
|
-
ed temp public")} ${T}`);const
|
|
497
|
+
`),{padding:1,borderColor:"green",borderStyle:"round"})}catch(u){var s=u,o=!0}finally{var c=Sd(a,s,o);c&&await c}}var Rc=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Sc=t=>{throw TypeError(t)},_d=(t,e,r)=>{if(e!=null){typeof e!="object"&&typeof e!="function"&&Sc("Object expected");var n,i;n=e[Rc("asyncDispose")],n===void 0&&(n=e[Rc("dispose")],i=n),typeof n!="function"&&Sc("Object not disposable"),i&&(n=function(){try{i.call(this)}catch(a){return Promise.reject(a)}}),t.push([r,n,e])}else t.push(
|
|
498
|
+
[r]);return e},Cd=(t,e,r)=>{var n=typeof SuppressedError=="function"?SuppressedError:function(s,o,c,u){return u=Error(c),u.name="SuppressedError",u.error=s,u.suppressed=o,u},i=s=>e=r?new n(s,e,"An error was suppressed during disposal"):(r=!0,s),a=s=>{for(;s=t.pop();)try{var o=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(o).then(a,c=>(i(c),a()))}catch(c){i(c)}if(r)throw e};return a()};async function xd({project:t,path:e,useDotBin:r,webcomponentPrefix:n="likec4",outfile:i}){var a=[];try{await lt();
|
|
499
|
+
const u=ve("c4:codegen"),l=Ve(u),f=_d(a,await ye.fromWorkspace(e,{logger:"vite",graphviz:r?"binary":"wasm",watch:!1}),!0),{projectId:p,projectFolder:d}=tr(f,t);t&&u.info(`${y.dim("project")} ${y.green(p)}`),u.info(`${y.dim("format")} ${y.green("webcomponent")}`);const v=await f.diagrams(p);if(!Me(v,1))throw u.warn("no views found"),process.exitCode=1,new Error("no views found");v.forEach(E=>{E.hasLayoutDrift&&u.warn(y.yellow("drift detected, manual layout can not be applied, view:")+" "+y.red(E.
|
|
500
|
+
id))});let w=z(f.projectsManager.hasMultipleProjects()?d:f.workspace,"likec4-views.js");if(i&&(w=lr(i)?i:z(i),_e(i)&&(await fr(i)).isDirectory()))throw new Error(`output file is a directory: ${i}`);He.debug(`${y.dim("outfilepath")} ${w}`);const m=$t(w);He.debug(`${y.dim("filename")} ${m}`);const g=at(m).toLocaleLowerCase();if(g!==".js"&&g!==".mjs")throw He.warn(`output file ${i} has extension "${g}"`),new Error(`output file ${i} must be a .js or .mjs`);const T=await Er();He.debug(`${y.dim("creat\
|
|
501
|
+
ed temp public")} ${T}`);const h=await Vr({languageServices:f,outDir:T,filename:m,webcomponentPrefix:n,base:"/"});He.debug(`${y.dim("vite build webcomponent")}`),await ut({...h,logLevel:"warn"});const S=z(T,m);if(!_e(S))throw new Error(`output file not found: ${S}`);await Se(Re(w),{recursive:!0}),await cu(S,w),u.info(`${y.dim("generated")} ${w}`),He.debug(`${y.dim("remove temp public")}`),await uu(T,{recursive:!0,force:!0}),l.stopAndLog(),Te(ar(`
|
|
486
502
|
${y.dim("Webcomponents generated to:")}
|
|
487
503
|
${Ce(vt(),w)}
|
|
488
504
|
|
|
489
505
|
${y.dim("Setup and usage instructions:")}
|
|
490
506
|
${y.blue("https://likec4.dev/tooling/code-generation/webcomponent/")}
|
|
491
|
-
`))}catch(u){var s=u,o=!0}finally{var c=
|
|
492
|
-
|
|
493
|
-
await
|
|
494
|
-
useCorePackage,outfile:r.outfile,project:r.project})}}).command({command:"views-data [path]",aliases:["views"],describe:"{deprecated} use codegen model",deprecated:!0,builder:r=>r.positional("path",
|
|
495
|
-
positional("path",
|
|
496
|
-
"path",
|
|
497
|
-
4 config",builder:r=>r.positional("path",
|
|
507
|
+
`))}catch(u){var s=u,o=!0}finally{var c=Cd(a,s,o);c&&await c}}const Td=t=>t.command({command:"gen <command> [path]",aliases:["generate","codegen"],describe:"Generate various artifacts from LikeC4 sources",builder:e=>e.positional("path",ce).command("react [path]","generate react component to render likec4 view",r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.jsx, .mjs or .js)",normalize:!0,coerce:ze}).option("use-dot",
|
|
508
|
+
de).option("use-core-package",Ls),async r=>{await Ad({project:r.project,useDotBin:r.useDotBin,path:r.path,outfile:r.outfile,useCorePackage:r.useCorePackage})}).command({command:"webcomponent [path]",aliases:["wc","webcomp"],describe:"generate js with webcomponents",builder:r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.mjs or .js)",normalize:!0,coerce:ze}).option("webcomponent-prefix",vr).option("use-dot",de),handler:async r=>{
|
|
509
|
+
await xd({project:r.project,useDotBin:r.useDotBin,path:r.path,outfile:r.outfile,webcomponentPrefix:r.webcomponentPrefix})}}).command({command:"model [path]",aliases:["ts"],describe:"generate LikeC4Model (.ts)",builder:r=>r.positional("path",ce).option("project",Ke).option("outfile",{alias:"o",type:"string",desc:"<file> path to output file (.ts)",normalize:!0,coerce:ze}).option("use-dot",de).option("use-core-package",Ls),handler:async r=>{await bd({path:r.path,useDotBin:r.useDotBin,useCorePackage:r.
|
|
510
|
+
useCorePackage,outfile:r.outfile,project:r.project})}}).command({command:"views-data [path]",aliases:["views"],describe:"{deprecated} use codegen model",deprecated:!0,builder:r=>r.positional("path",ce).option("outfile",{alias:"o",type:"string",desc:"<file> output .ts file",normalize:!0,coerce:ze}).option("use-dot",de),handler:async r=>{await ht({format:"views",path:r.path,useDotBin:r.useDotBin,outfile:r.outfile})}}).command({command:"dot [path]",describe:"generate graphviz files (.dot)",builder:r=>r.
|
|
511
|
+
positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"dot",path:r.path,useDotBin:r.useDotBin,outdir:r.outdir})}}).command({command:"d2 [path]",describe:"generate D2 files (.d2)",builder:r=>r.positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"d2",path:r.path,useDotBin:r.useDotBin,outdir:r.outdir})}}).command({command:"mermaid [path]",aliases:["mmd"],describe:"generate Mermaid files (.mmd)",builder:r=>r.positional(
|
|
512
|
+
"path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"mermaid",useDotBin:r.useDotBin,path:r.path,outdir:r.outdir})}}).command({command:"plantuml [path]",aliases:["puml"],describe:"generate PlantUML files (.puml)",builder:r=>r.positional("path",ce).option("outdir",Rt).option("use-dot",de),handler:async r=>{await ht({format:"plantuml",useDotBin:r.useDotBin,path:r.path,outdir:r.outdir})}}).command({command:"<custom> [path]",describe:"run custom generator from likec\
|
|
513
|
+
4 config",builder:r=>r.positional("path",ce).option("project",Ke).option("use-dot",de),handler:async r=>{await wc({name:"custom",path:r.path,project:r.project,useDotBin:r.useDotBin})}}).epilog(`${y.bold("Examples:")}
|
|
498
514
|
likec4 gen react -o dist/likec4-views.mjs ./src/likec4
|
|
499
515
|
likec4 gen model -o likec4-model.ts
|
|
500
516
|
likec4 gen ts --outfile likec4-model.ts
|
|
@@ -502,39 +518,24 @@ positional("path",pe).option("outdir",Rt).option("use-dot",he),handler:async r=>
|
|
|
502
518
|
likec4 gen mmd --outdir assets/
|
|
503
519
|
likec4 gen plantuml --outdir assets/
|
|
504
520
|
likec4 gen dot -o out .
|
|
505
|
-
`),handler:async e=>{await
|
|
506
|
-
"
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
multiple patterns are combined with OR`},ignore:{boolean:!0,alias:"i",desc:"continue if export fails for some views"},timeout:{type:"number",alias:"t",desc:"timeout for playwright (in seconds)",default:15,nargs:1},"max-attempts":{type:"number",desc:"max attempts to export failing view, 1 means no retry",default:3,nargs:1},"server-url":{type:"string",desc:"use this url instead of starting new likec4 server",nargs:1},"chromium-sandbox":{boolean:!0,desc:"enable chromium sandbox (see Playwright docs\
|
|
510
|
-
)",default:!1}}).epilog(`${y.bold("Examples:")}
|
|
511
|
-
${y.green("$0 export png")}
|
|
512
|
-
${y.gray("Search for likec4 files in current directory and output PNG next to sources")}
|
|
513
|
-
|
|
514
|
-
${y.green("$0 export png --theme dark -o ./png src/likec4")}
|
|
515
|
-
${y.gray("Search for likec4 files in src/likec4 and output PNG with dark theme to png folder")}
|
|
516
|
-
|
|
517
|
-
${y.green('$0 export png -f "team1*" -f "team2*" --flat -o ./png src/likec4')}
|
|
518
|
-
${y.gray("Export views matching team1* or team2* only")}
|
|
519
|
-
|
|
520
|
-
${y.green('$0 export png -f "use-case*" --sequence src/likec4')}
|
|
521
|
-
${y.gray("Export views matching use-case* using sequence layout")}
|
|
522
|
-
`),handler:async r=>{hr(r.timeout>=1,"timeout must be >= 1"),hr(r["max-attempts"]>=1,"max-attempts must be >= 1"),await lt();const n=r.theme??(r.dark?"dark":"light");await bi({path:r.path,useDotBin:r["use-dot"],output:r.output,project:r.project,timeoutMs:r.timeout*1e3,maxAttempts:r.maxAttempts,ignore:r.ignore===!0,outputType:r.flat?"flat":"relative",serverUrl:r.serverUrl,theme:n,filter:r.filter,sequence:r.seq,chromiumSandbox:r["chromium-sandbox"]})}}).command({command:"json [path]",describe:"exp\
|
|
523
|
-
ort model to JSON",builder:r=>r.option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:z}).option("use-dot",he).epilog(`${y.bold("Examples:")}
|
|
524
|
-
${y.green("$0 export json")}
|
|
525
|
-
${y.gray("Search for likec4 files in current directory and output JSON to likec4.json")}
|
|
521
|
+
`),handler:async e=>{await wc({name:e.command,path:e.path,project:e.project,useDotBin:e.useDotBin})}});function Id(t){return t.command({command:"json [path]",describe:"export model(s) to JSON",builder:e=>e.positional("path",ce).option("outfile",{alias:"o",type:"string",desc:"<file> output .json file",default:"likec4.json",normalize:!0,coerce:z}).options({project:Ke,"use-dot":de,"skip-layout":{type:"boolean",desc:"skip layouting (only compute model)"},pretty:{type:"boolean",desc:"indented JSON ou\
|
|
522
|
+
tput"}}).epilog(`${y.bold("Examples:")}
|
|
523
|
+
${y.green("$0 export json --skip-layout")}
|
|
524
|
+
${y.gray("Search for likec4 files in current directory and output JSON to likec4.json (no layout)")}
|
|
526
525
|
|
|
527
|
-
${y.green("$0 export json -o ./generated/likec4.json src/likec4 ")}
|
|
526
|
+
${y.green("$0 export json --pretty -o ./generated/likec4.json src/likec4 ")}
|
|
528
527
|
${y.gray("Search for likec4 files in src/likec4 and output JSON to generated/likec4.json")}
|
|
529
|
-
`),handler:async
|
|
530
|
-
|
|
528
|
+
`),handler:async e=>{let r=e.outfile,n=e.project;const i=ve("c4:export"),a=Ve(i),s=await ye.fromWorkspace(e.path,{logger:i,graphviz:de?"binary":"wasm",watch:!1});let o=[...s.projectsManager.all];if(n){if(o=o.filter(p=>p===n),!Me(o,1))throw i.error(`project not found: ${n}`),new Error(`project not found: ${n}`)}else{if(!Me(o,1))throw i.error("No projects found"),new Error("No projects found");i.info(`${y.dim("workspace:")} Found ${o.length} projects`)}const c=[];for(const p of o){let d;if(e.skipLayout?
|
|
529
|
+
(i.info(`Generate model for project ${y.green(p)} ${y.dim("(skip layout)")}`),d=await s.computedModel(p)):(i.info(`Generating layouted model for project ${y.green(p)}`),d=await s.layoutedModel(p)),d===Su.EMPTY){i.warn(y.yellow(`Project ${p} is empty, skipping`));continue}c.push(d.$data)}at(r)!==".json"&&(r=r+".json"),await Se(Re(r),{recursive:!0});const u=c.length===1?c[0]:c,l=e.pretty?JSON.stringify(u,void 0,2):JSON.stringify(u);await Oe(r,l);const f=r.startsWith(e.path)?Ce(e.path,r):r;i.info(`${y.
|
|
530
|
+
dim("generated")} ${f}`),a.stopAndLog("\u2713 export in ")}})}const Od=t=>t.command({command:"export <format> [path]",describe:"Export to images or JSON",builder:e=>ur(e.usage(`${y.bold("Usage:")} $0 export <format> [path]`),Nl,Id).updateStrings({"Commands:":y.bold("Formats:")}),handler:()=>{}}),Ld=t=>t.command({command:"mcp [path]",aliases:[],describe:"Start MCP server",builder:e=>e.usage(`${y.bold("Usage:")} $0 mcp [path]`).positional("path",ce).option("stdio",{boolean:!0,description:"use stdi\
|
|
531
|
+
o transport",conflicts:["http","port"]}).option("http",{boolean:!0,description:"use streamable http transport (use 33335 port by default)",conflicts:"stdio"}).option("port",{alias:"p",number:!0,description:"enables http transport and sets the port",conflicts:"stdio"}).option("use-dot",de).epilog(`${y.bold("Examples:")}
|
|
531
532
|
${y.green("$0 mcp")}
|
|
532
533
|
${y.gray("Start MCP with default stdio transport")}
|
|
533
534
|
${y.green("$0 mcp --http ./src")}
|
|
534
535
|
${y.gray("Start MCP with streamable http transport on port 33335 at ./src folder")}
|
|
535
536
|
${y.green("$0 mcp -p 1234")}
|
|
536
537
|
${y.gray("Start MCP with streamable http transport on port 1234")}
|
|
537
|
-
`),handler:async e=>{e.http||e.port?await
|
|
538
|
+
`),handler:async e=>{e.http||e.port?await kd(e.path,e.useDot,e.port):await Nd(e.path,e.useDot)}});async function kd(t,e,r=33335){await ye.fromWorkspace(t,{mcp:{port:r},watch:!0,graphviz:e?"binary":"wasm"}),Te([y.green("LikeC4 MCP served at:"),`
|
|
538
539
|
{
|
|
539
540
|
"mcpServers": {
|
|
540
541
|
"likec4": {
|
|
@@ -546,14 +547,13 @@ ${y.green("$0 mcp -p 1234")}
|
|
|
546
547
|
${y.dim("Documentation:")}
|
|
547
548
|
${y.underline("https://likec4.dev/tooling/mcp/#using-extension")}
|
|
548
549
|
`].join(`
|
|
549
|
-
`))}async function
|
|
550
|
-
outputDir:e,open:!Le(),listen:n});
|
|
551
|
-
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"},listen:{alias:"l",type:"string",desc:"ip address of the network interface to listen on"}}).coerce(["path","output"],
|
|
552
|
-
title:n,useHashHistory:i,useOverview:a=!1,enableWebcomponent:s=!0,enableHMR:o=!0,base:c,listen:u,port:l}){o&&(process.env.NODE_ENV="development");const f=await ye.fromWorkspace(t,{graphviz:e?"binary":"wasm",watch:o}),p=await bt(
|
|
553
|
-
if(
|
|
554
|
-
command({command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:e=>e.positional("path",
|
|
555
|
-
await lt(),await
|
|
556
|
-
const u=await o.diagrams();let l=!1;for(const f of u)f.hasLayoutDrift===!0&&(l=!0,c.error(y.red(`Layout drift detected on view '${f.id}' at ${z(t,f.sourcePath??".")}`)));return!l}}const
|
|
557
|
-
nore-layout"]})}});
|
|
558
|
-
global:!0}).demandCommand(1,"Please run with valid command").recommendCommands().showHelpOnFail(!0).updateStrings({"Options:":y.bold("Options:"),"Positionals:":y.bold("Arguments:"),"Commands:":y.bold("Commands:"),"Examples:":y.bold("Examples:")}).wrap(
|
|
559
|
-
nhandled rejection",t)});
|
|
550
|
+
`))}async function Nd(t,e){await ye.fromWorkspace(t,{mcp:"stdio",watch:!0,graphviz:e?"binary":"wasm"})}async function Pd(t){const e=await Br({...t,likec4AssetsDir:"",webcomponentPrefix:void 0}),r=await Xr({port:Tt(62001,62010)}),n=t?.open??!1;return await mu({...e,mode:"production",preview:{host:t.listen??"127.0.0.1",allowedHosts:!0,port:r,open:n}})}async function jd({path:t,output:e,base:r,listen:n}){const i=await ye.fromWorkspace(t,{logger:"vite",watch:!1}),a=await Pd({base:r,languageServices:i,
|
|
551
|
+
outputDir:e,open:!Le(),listen:n});pi(a)}const Dd=t=>t.command({command:"preview [path]",describe:"Start local server to preview production build",builder:e=>e.positional("path",{type:"string",desc:`Directory with LikeC4 source files
|
|
552
|
+
if not specified search in current directory`,normalize:!0}).options({output:{alias:"o",type:"string",desc:"output directory from production build",normalize:!0},base:{type:"string",desc:"base url the app is being served from"},listen:{alias:"l",type:"string",desc:"ip address of the network interface to listen on"}}).coerce(["path","output"],ze).default("path",ze("."),".").default("listen","127.0.0.1","localhost"),handler:async e=>{await jd(e)}});async function qd({path:t,useDotBin:e,webcomponentPrefix:r,
|
|
553
|
+
title:n,useHashHistory:i,useOverview:a=!1,enableWebcomponent:s=!0,enableHMR:o=!0,base:c,listen:u,port:l}){o&&(process.env.NODE_ENV="development");const f=await ye.fromWorkspace(t,{graphviz:e?"binary":"wasm",watch:o}),p=await bt(ot(Et(),".likec4-assets-")),d=await gi({buildWebcomponent:s,hmr:o,base:c,webcomponentPrefix:r,title:n,languageServices:f,useHashHistory:i,useOverviewGraph:a,likec4AssetsDir:p,listen:u,port:l});if(d.config.logger.clearScreen("info"),pi(d),!a)return;const v=await f.diagrams();
|
|
554
|
+
if(Me(v,1)){const w=ve("c4:export"),m=fi(d);if(!m){w.error("no preview server url");return}w.info(y.cyan("wait 5sec before generating previews")),await Os(5e3);try{await vi({serverUrl:m,logger:w,views:v,theme:"light",output:p,outputType:"flat"}),await Os(1e3),w.info(y.yellow("Note: changes in sources do not trigger preview updates, restart is required"))}catch(g){w.error(y.red("Failed to generate previews")),w.error(g)}}else d.config.logger.warn("no views found, no previews generated")}const Hd=t=>t.
|
|
555
|
+
command({command:"start [path]",aliases:["serve","dev"],describe:"Start local dev server to preview LikeC4 views",builder:e=>e.positional("path",ce).option("base",Ps).option("webcomponent-prefix",vr).option("title",Ns).option("use-hash-history",ks).option("use-dot",de).option("listen",ku).option("port",Nu).options({"react-hmr":{type:"boolean",default:!0,describe:"Enable/Disable React HMR"},"build-webcomponent":{type:"boolean",default:!0,describe:"Enable/Disable Webcomponent build"}}),handler:async e=>{
|
|
556
|
+
await lt(),await qd({path:e.path,useDotBin:e["use-dot"],base:e.base,webcomponentPrefix:e["webcomponent-prefix"],title:e.title,useHashHistory:e["use-hash-history"],listen:e.listen,port:e.port,enableHMR:e["react-hmr"],enableWebcomponent:e["build-webcomponent"]})}});async function Md({path:t,ignoreLayout:e}){const r=await ye.fromWorkspace(t,{logger:"vite",watch:!1}),n=ve("c4:views");let i=a(r);return i=i&&(e||await s(r,n)),i?0:ws(1);function a(o){return o.getErrors().length===0}async function s(o,c){
|
|
557
|
+
const u=await o.diagrams();let l=!1;for(const f of u)f.hasLayoutDrift===!0&&(l=!0,c.error(y.red(`Layout drift detected on view '${f.id}' at ${z(t,f.sourcePath??".")}`)));return!l}}const Ud=t=>t.command({command:"validate [path]",aliases:[],describe:"Validate model syntax and manual layout",builder:e=>e.positional("path",ce).option("ignore-layout",{alias:["skip-layout"],boolean:!0,default:!1,description:"do not validate layout of views"}),handler:async e=>{await Md({path:e.path,ignoreLayout:e["ig\
|
|
558
|
+
nore-layout"]})}});function Fd(t=bs){Xc({sinks:{console:Kc({formatter:y.isColorSupported?Yc():Jc()})},loggers:[{category:"likec4",sinks:["console"],lowestLevel:t?"debug":"info"}]})}async function Gd(){!Le()&&cd(),await ur(ou(au(tu)),Hd,ql,Td,Od,Dd,Ud,Ld,fd,t=>t.command({command:"completion",describe:"Generate completion script",handler:()=>{t.showCompletionScript()}})).scriptName("likec4").usage("Usage: $0 <command>").version(Be).alias("v","version").alias("h","help").help("help").option("verbos\
|
|
559
|
+
e",{type:"boolean",describe:"verbose logging",global:!0}).demandCommand(1,"Please run with valid command").recommendCommands().showHelpOnFail(!0).updateStrings({"Options:":y.bold("Options:"),"Positionals:":y.bold("Arguments:"),"Commands:":y.bold("Commands:"),"Examples:":y.bold("Examples:")}).wrap(ds(ru.columns-10,{min:80,max:150})).middleware(t=>{Fd(t.verbose||bs)}).parseAsync()}Gd().catch(()=>{ws(1)}),process.on("unhandledRejection",t=>{console.error("Unhandled rejection",t)});
|