+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
arrow-counterclockwise
+
+
+
+
arrow-down-circle-fill
+
+
+
+
+
arrow-down-left-circle-fill
+
+
+
+
arrow-down-left-circle
+
+
+
+
arrow-down-left-square-fill
+
+
+
+
arrow-down-left-square
+
+
+
+
+
arrow-down-right-circle-fill
+
+
+
+
arrow-down-right-circle
+
+
+
+
arrow-down-right-square-fill
+
+
+
+
arrow-down-right-square
+
+
+
+
+
+
arrow-down-square-fill
+
+
+
+
+
+
+
arrow-left-circle-fill
+
+
+
+
+
+
+
arrow-left-square-fill
+
+
+
+
+
+
+
+
+
arrow-right-circle-fill
+
+
+
+
+
+
arrow-right-square-fill
+
+
+
+
+
+
arrow-through-heart-fill
+
+
+
+
arrow-through-heart
+
+
+
+
arrow-up-circle-fill
+
+
+
+
+
arrow-up-left-circle-fill
+
+
+
+
arrow-up-left-circle
+
+
+
+
arrow-up-left-square-fill
+
+
+
+
arrow-up-left-square
+
+
+
+
+
arrow-up-right-circle-fill
+
+
+
+
arrow-up-right-circle
+
+
+
+
arrow-up-right-square-fill
+
+
+
+
arrow-up-right-square
+
+
+
+
+
+
arrow-up-square-fill
+
+
+
+
+
+
arrows-angle-contract
+
+
+
+
arrows-angle-expand
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
backspace-reverse-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
bar-chart-line-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
bookmark-check-fill
+
+
+
+
+
+
+
+
bookmark-heart-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
bounding-box-circles
+
+
+
+
+
box-arrow-down-left
+
+
+
+
box-arrow-down-right
+
+
+
+
+
box-arrow-in-down-left
+
+
+
+
box-arrow-in-down-right
+
+
+
+
+
+
+
box-arrow-in-up-left
+
+
+
+
box-arrow-in-up-right
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
brightness-alt-high-fill
+
+
+
+
brightness-alt-high
+
+
+
+
brightness-alt-low-fill
+
+
+
+
+
brightness-high-fill
+
+
+
+
+
brightness-low-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
calendar-check-fill
+
+
+
+
+
+
+
+
+
calendar-event-fill
+
+
+
+
+
+
calendar-heart-fill
+
+
+
+
+
calendar-minus-fill
+
+
+
+
+
calendar-month-fill
+
+
+
+
+
+
+
calendar-range-fill
+
+
+
+
+
+
+
+
+
+
calendar2-check-fill
+
+
+
+
+
calendar2-date-fill
+
+
+
+
+
+
+
calendar2-event-fill
+
+
+
+
+
+
calendar2-heart-fill
+
+
+
+
+
calendar2-minus-fill
+
+
+
+
+
calendar2-month-fill
+
+
+
+
+
calendar2-plus-fill
+
+
+
+
+
calendar2-range-fill
+
+
+
+
+
calendar2-week-fill
+
+
+
+
+
+
+
+
calendar3-event-fill
+
+
+
+
+
+
calendar3-range-fill
+
+
+
+
+
calendar3-week-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
camera-video-off-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
caret-down-square-fill
+
+
+
+
+
+
+
caret-left-square-fill
+
+
+
+
+
+
+
caret-right-square-fill
+
+
+
+
+
+
+
caret-up-square-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
chat-left-dots-fill
+
+
+
+
+
+
chat-left-heart-fill
+
+
+
+
+
chat-left-quote-fill
+
+
+
+
+
chat-left-text-fill
+
+
+
+
+
+
+
+
chat-right-dots-fill
+
+
+
+
+
+
chat-right-heart-fill
+
+
+
+
+
chat-right-quote-fill
+
+
+
+
+
chat-right-text-fill
+
+
+
+
+
+
chat-square-dots-fill
+
+
+
+
+
+
chat-square-heart-fill
+
+
+
+
+
chat-square-quote-fill
+
+
+
+
+
chat-square-text-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
chevron-bar-contract
+
+
+
+
+
+
+
+
+
chevron-compact-down
+
+
+
+
chevron-compact-left
+
+
+
+
chevron-compact-right
+
+
+
+
+
+
chevron-double-down
+
+
+
+
chevron-double-left
+
+
+
+
chevron-double-right
+
+
+
+
+
+
+
+
+
+
+
+
+
+
clipboard-check-fill
+
+
+
+
+
clipboard-data-fill
+
+
+
+
+
+
clipboard-heart-fill
+
+
+
+
+
clipboard-minus-fill
+
+
+
+
+
clipboard-plus-fill
+
+
+
+
+
+
+
+
+
clipboard2-check-fill
+
+
+
+
+
clipboard2-data-fill
+
+
+
+
+
+
clipboard2-heart-fill
+
+
+
+
+
clipboard2-minus-fill
+
+
+
+
+
clipboard2-plus-fill
+
+
+
+
+
clipboard2-pulse-fill
+
+
+
+
+
+
+
+
+
+
+
cloud-arrow-down-fill
+
+
+
+
+
cloud-arrow-up-fill
+
+
+
+
+
+
+
cloud-download-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cloud-lightning-fill
+
+
+
+
cloud-lightning-rain-fill
+
+
+
+
cloud-lightning-rain
+
+
+
+
+
+
+
+
+
+
+
+
cloud-rain-heavy-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
collection-play-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
credit-card-2-back-fill
+
+
+
+
+
credit-card-2-front-fill
+
+
+
+
credit-card-2-front
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
distribute-horizontal
+
+
+
+
distribute-vertical
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
emoji-expressionless-fill
+
+
+
+
emoji-expressionless
+
+
+
+
+
+
emoji-heart-eyes-fill
+
+
+
+
+
+
+
emoji-laughing-fill
+
+
+
+
+
+
+
+
emoji-smile-upside-down-fill
+
+
+
+
emoji-smile-upside-down
+
+
+
+
+
emoji-sunglasses-fill
+
+
+
+
+
+
+
envelope-check-fill
+
+
+
+
+
+
+
envelope-exclamation-fill
+
+
+
+
envelope-exclamation
+
+
+
+
+
envelope-heart-fill
+
+
+
+
+
+
envelope-open-heart-fill
+
+
+
+
envelope-open-heart
+
+
+
+
+
envelope-paper-fill
+
+
+
+
envelope-paper-heart-fill
+
+
+
+
envelope-paper-heart
+
+
+
+
+
+
+
envelope-slash-fill
+
+
+
+
+
+
+
+
+
+
+
exclamation-circle-fill
+
+
+
+
+
exclamation-diamond-fill
+
+
+
+
exclamation-diamond
+
+
+
+
+
exclamation-octagon-fill
+
+
+
+
exclamation-octagon
+
+
+
+
exclamation-square-fill
+
+
+
+
+
exclamation-triangle-fill
+
+
+
+
exclamation-triangle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
file-arrow-down-fill
+
+
+
+
+
+
+
file-bar-graph-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
file-earmark-arrow-down-fill
+
+
+
+
file-earmark-arrow-down
+
+
+
+
file-earmark-arrow-up-fill
+
+
+
+
file-earmark-arrow-up
+
+
+
+
file-earmark-bar-graph-fill
+
+
+
+
file-earmark-bar-graph
+
+
+
+
file-earmark-binary-fill
+
+
+
+
file-earmark-binary
+
+
+
+
file-earmark-break-fill
+
+
+
+
+
file-earmark-check-fill
+
+
+
+
+
file-earmark-code-fill
+
+
+
+
+
file-earmark-diff-fill
+
+
+
+
+
file-earmark-easel-fill
+
+
+
+
+
file-earmark-excel-fill
+
+
+
+
+
+
file-earmark-font-fill
+
+
+
+
+
file-earmark-image-fill
+
+
+
+
+
file-earmark-lock-fill
+
+
+
+
+
file-earmark-lock2-fill
+
+
+
+
+
file-earmark-medical-fill
+
+
+
+
file-earmark-medical
+
+
+
+
file-earmark-minus-fill
+
+
+
+
+
file-earmark-music-fill
+
+
+
+
+
file-earmark-pdf-fill
+
+
+
+
+
file-earmark-person-fill
+
+
+
+
file-earmark-person
+
+
+
+
file-earmark-play-fill
+
+
+
+
+
file-earmark-plus-fill
+
+
+
+
+
file-earmark-post-fill
+
+
+
+
+
file-earmark-ppt-fill
+
+
+
+
+
file-earmark-richtext-fill
+
+
+
+
file-earmark-richtext
+
+
+
+
file-earmark-ruled-fill
+
+
+
+
+
file-earmark-slides-fill
+
+
+
+
file-earmark-slides
+
+
+
+
file-earmark-spreadsheet-fill
+
+
+
+
file-earmark-spreadsheet
+
+
+
+
file-earmark-text-fill
+
+
+
+
+
file-earmark-word-fill
+
+
+
+
+
file-earmark-x-fill
+
+
+
+
+
file-earmark-zip-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
file-spreadsheet-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
folder-symlink-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
gear-wide-connected
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
hand-index-thumb-fill
+
+
+
+
+
+
hand-thumbs-down-fill
+
+
+
+
+
hand-thumbs-up-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
journal-bookmark-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
layout-sidebar-inset-reverse
+
+
+
+
layout-sidebar-inset
+
+
+
+
layout-sidebar-reverse
+
+
+
+
+
+
layout-text-sidebar-reverse
+
+
+
+
layout-text-sidebar
+
+
+
+
layout-text-window-reverse
+
+
+
+
+
layout-three-columns
+
+
+
+
+
+
+
+
+
+
lightning-charge-fill
+
+
+
+
+
+
+
+
+
+
+
+
list-columns-reverse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
menu-button-wide-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
patch-exclamation-fill
+
+
+
+
+
+
+
+
+
patch-question-fill
+
+
+
+
+
+
+
+
+
+
+
+
pc-display-horizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
person-bounding-box
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
phone-landscape-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
postcard-heart-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
question-circle-fill
+
+
+
+
+
question-diamond-fill
+
+
+
+
+
+
question-octagon-fill
+
+
+
+
+
question-square-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
send-exclamation-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
shield-fill-exclamation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
signpost-split-fill
+
+
+
+
+
+
+
+
skip-backward-btn-fill
+
+
+
+
+
skip-backward-circle-fill
+
+
+
+
skip-backward-circle
+
+
+
+
+
+
+
+
skip-end-circle-fill
+
+
+
+
+
+
+
skip-forward-btn-fill
+
+
+
+
+
skip-forward-circle-fill
+
+
+
+
skip-forward-circle
+
+
+
+
+
+
skip-start-btn-fill
+
+
+
+
+
skip-start-circle-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
sort-alpha-down-alt
+
+
+
+
+
+
+
+
+
sort-numeric-down-alt
+
+
+
+
+
sort-numeric-up-alt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
symmetry-horizontal
+
+
+
+
+
+
+
tablet-landscape-fill
+
+
+
+
+
+
+
+
+
+
+
+
telephone-forward-fill
+
+
+
+
+
telephone-inbound-fill
+
+
+
+
+
telephone-minus-fill
+
+
+
+
+
telephone-outbound-fill
+
+
+
+
+
telephone-plus-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
three-dots-vertical
+
+
+
+
+
+
+
ticket-detailed-fill
+
+
+
+
+
+
ticket-perforated-fill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
wrench-adjustable-circle-fill
+
+
+
+
wrench-adjustable-circle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/assets/icon/bootstrap/index.js b/public/assets/icon/bootstrap/index.js
new file mode 100644
index 0000000..5051a43
--- /dev/null
+++ b/public/assets/icon/bootstrap/index.js
@@ -0,0 +1,14 @@
+const fs = require("fs");
+
+function main() {
+ const list = fs.readdirSync(".").filter((file) => file.endsWith(".svg"));
+ let result = list.map((filename) => ({
+ type: "icon",
+ id: filename.replace(".svg", ""),
+ name: filename.replace(".svg", "").replaceAll("-", " "),
+ icon: filename,
+ }));
+ fs.writeFileSync("../../../../src/config/icon.json", JSON.stringify(result));
+}
+
+main();
diff --git a/public/assets/icon/bootstrap/infinity.svg b/public/assets/icon/bootstrap/infinity.svg
new file mode 100644
index 0000000..e9dd437
--- /dev/null
+++ b/public/assets/icon/bootstrap/infinity.svg
@@ -0,0 +1,3 @@
+