From 7dd7b033d0f61ad08b8eeb502d5cb7639224e207 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Wed, 15 Feb 2023 18:03:37 +0100 Subject: [PATCH] feat: introduced cloud state in sketchbook view Closes #1879 Closes #1876 Closes #1899 Closes #1878 Signed-off-by: Akos Kitta --- arduino-ide-extension/arduino-icons.json | 2 +- arduino-ide-extension/package.json | 5 +- .../browser/arduino-ide-frontend-module.ts | 12 +- .../src/browser/contributions/account.ts | 18 +- .../contributions/cloud-contribution.ts | 2 +- .../src/browser/contributions/contribution.ts | 5 +- .../contributions/create-cloud-copy.ts | 118 ++++++ .../browser/contributions/new-cloud-sketch.ts | 59 ++- .../contributions/rename-cloud-sketch.ts | 2 +- .../browser/contributions/save-as-sketch.ts | 108 +++--- .../src/browser/create/create-api.ts | 11 +- .../src/browser/create/create-features.ts | 55 ++- .../arduino-cloud-download.svg} | 0 .../icons/arduino-cloud-filled-offline.svg | 4 + .../browser/icons/arduino-cloud-filled.svg | 3 + .../browser/icons/arduino-cloud-offline.svg | 4 + .../arduino-cloud-upload.svg} | 0 .../src/browser/icons/arduino-cloud.svg | 3 + .../src/browser/style/account-icon.svg | 1 - .../src/browser/style/cloud-sketchbook.css | 34 +- .../src/browser/style/fonts.css | 24 +- .../src/browser/style/fonts/FontAwesome.svg | 6 + .../src/browser/style/fonts/FontAwesome.ttf | Bin 43180 -> 45416 bytes .../src/browser/style/fonts/FontAwesome.woff | Bin 43256 -> 45492 bytes .../src/browser/style/main.css | 6 +- .../src/browser/style/sketch-folder-icon.svg | 4 - .../src/browser/style/sketchbook.css | 7 - .../theia/core/connection-status-service.ts | 342 ++++++++++++++--- .../theia/core/sidebar-bottom-menu-widget.tsx | 20 +- .../theia/core/window-title-updater.ts | 74 +++- .../theia/messages/notifications-manager.ts | 8 - .../cloud-sketchbook-commands.ts | 88 +++++ .../cloud-sketchbook-composite-widget.tsx | 7 +- .../cloud-sketchbook-contributions.ts | 362 +++++++++++------- .../cloud-sketchbook-tree-model.ts | 14 +- .../cloud-sketchbook-tree-widget.tsx | 29 +- .../cloud-sketchbook/cloud-sketchbook-tree.ts | 216 +++++++---- ...cloud-user-status.tsx => cloud-status.tsx} | 58 +-- .../widgets/sketchbook/sketchbook-commands.ts | 3 - .../sketchbook/sketchbook-tree-widget.tsx | 27 +- .../widgets/sketchbook/sketchbook-tree.ts | 18 +- .../sketchbook-widget-contribution.ts | 18 +- .../src/common/protocol/sketches-service.ts | 13 +- arduino-ide-extension/src/common/utils.ts | 9 +- .../src/node/sketches-service-impl.ts | 178 ++++----- .../browser/connection-status-service.test.ts | 46 +++ .../node/boards-service-impl.slow-test.ts | 20 +- .../test/node/core-service-impl.slow-test.ts | 18 +- .../node/library-service-impl.slow-test.ts | 18 +- .../node/sketches-service-impl.slow-test.ts | 262 +++++++++++++ .../src/test/node/test-bindings.ts | 16 +- i18n/en.json | 12 +- yarn.lock | 245 +++++++++++- 53 files changed, 1963 insertions(+), 651 deletions(-) create mode 100644 arduino-ide-extension/src/browser/contributions/create-cloud-copy.ts rename arduino-ide-extension/src/browser/{style/pull-sketch-icon.svg => icons/arduino-cloud-download.svg} (100%) create mode 100644 arduino-ide-extension/src/browser/icons/arduino-cloud-filled-offline.svg create mode 100644 arduino-ide-extension/src/browser/icons/arduino-cloud-filled.svg create mode 100644 arduino-ide-extension/src/browser/icons/arduino-cloud-offline.svg rename arduino-ide-extension/src/browser/{style/push-sketch-icon.svg => icons/arduino-cloud-upload.svg} (100%) create mode 100644 arduino-ide-extension/src/browser/icons/arduino-cloud.svg delete mode 100644 arduino-ide-extension/src/browser/style/account-icon.svg delete mode 100644 arduino-ide-extension/src/browser/style/sketch-folder-icon.svg create mode 100644 arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-commands.ts rename arduino-ide-extension/src/browser/widgets/cloud-sketchbook/{cloud-user-status.tsx => cloud-status.tsx} (62%) create mode 100644 arduino-ide-extension/src/test/browser/connection-status-service.test.ts create mode 100644 arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts diff --git a/arduino-ide-extension/arduino-icons.json b/arduino-ide-extension/arduino-icons.json index d109db94f..7c510e9cf 100644 --- a/arduino-ide-extension/arduino-icons.json +++ b/arduino-ide-extension/arduino-icons.json @@ -1 +1 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M558.545 1024c-23.818 0-47.637-9.095-65.819-27.276l-465.454-465.453c-36.363-36.363-36.363-95.273 0-131.636s95.273-36.363 131.637 0l399.636 399.636 772.003-772c36.361-36.363 95.269-36.363 131.631 0s36.361 95.273 0 131.637l-837.815 837.815c-18.182 18.181-42 27.276-65.818 27.276z"],"attrs":[{}],"width":1489,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-verify"]},"attrs":[{}],"properties":{"order":12,"id":192,"name":"arduino-verify","prevSize":28,"code":59659},"setIdx":0,"setId":1,"iconIdx":0},{"icon":{"paths":["M1072.469 526.509l-409.603 409.598c-13.65 12.971-30.717 19.804-48.467 19.804s-34.817-6.833-48.467-19.804c-26.625-26.617-26.625-70.315 0-96.932l293.551-292.866h-791.217c-37.55 0-68.267-30.717-68.267-68.267s30.717-68.267 68.267-68.267h791.217l-293.551-292.866c-26.625-26.616-26.625-70.317 0-96.934 26.616-26.634 70.317-26.634 96.933 0l409.603 409.6c26.624 26.616 26.624 70.317 0 96.934v0z"],"attrs":[{}],"width":1161,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-upload"]},"attrs":[{}],"properties":{"order":11,"id":191,"name":"arduino-upload","prevSize":28,"code":59660},"setIdx":0,"setId":1,"iconIdx":1},{"icon":{"paths":["M651.891 890.88c-92.835 0-179.095-28.493-250.5-77.197l-129.659 129.658c-22.494 22.496-58.964 22.496-81.458 0s-22.494-58.963 0-81.459l124.954-124.954c-67.75-78.157-108.777-180.090-108.777-291.489 0-245.759 199.68-445.439 445.44-445.439s445.44 199.679 445.44 445.439c0 245.761-199.68 445.441-445.44 445.441zM651.891 153.6c-161.28 0-291.84 130.559-291.84 291.839s130.56 291.841 291.84 291.841c160.512 0 291.84-130.561 291.84-291.841 0-160.511-130.56-291.839-291.84-291.839zM1149.562 478.091c0 35.423 28.717 64.138 64.141 64.138s64.134-28.716 64.134-64.138c0-35.423-28.71-64.139-64.134-64.139s-64.141 28.716-64.141 64.139zM64.064 542.237c-35.382 0-64.064-28.682-64.064-64.063s28.682-64.064 64.064-64.064c35.381 0 64.064 28.682 64.064 64.064s-28.683 64.063-64.064 64.063zM1458.707 542.229c-35.418 0-64.134-28.716-64.134-64.138s28.717-64.139 64.134-64.139c35.424 0 64.141 28.716 64.141 64.139s-28.717 64.138-64.141 64.138zM652.659 526.847c-44.961 0-81.408-36.447-81.408-81.407s36.447-81.408 81.408-81.408c44.96 0 81.408 36.447 81.408 81.408s-36.448 81.407-81.408 81.407z"],"attrs":[{}],"width":1536,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-monitor"]},"attrs":[{}],"properties":{"order":10,"id":190,"name":"arduino-monitor","prevSize":28,"code":59661},"setIdx":0,"setId":1,"iconIdx":2},{"icon":{"paths":["M511.998 603.432c50.495 0 91.432-40.936 91.432-91.432s-40.936-91.432-91.432-91.432c-50.495 0-91.432 40.936-91.432 91.432s40.936 91.432 91.432 91.432z","M923.433 603.432c50.494 0 91.432-40.936 91.432-91.432s-40.937-91.432-91.432-91.432c-50.494 0-91.432 40.936-91.432 91.432s40.937 91.432 91.432 91.432z","M100.565 603.432c50.495 0 91.432-40.936 91.432-91.432s-40.936-91.432-91.432-91.432c-50.495 0-91.432 40.936-91.432 91.432s40.936 91.432 91.432 91.432z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-sketch-tabs-menu"]},"attrs":[{},{},{}],"properties":{"order":9,"id":189,"name":"arduino-sketch-tabs-menu","prevSize":28,"code":59662},"setIdx":0,"setId":1,"iconIdx":3},{"icon":{"paths":["M323.368 970.208c-20.263 0-39-11.42-48.21-29.788l-146.789-293.581h-74.474c-29.789 0-53.895-24.107-53.895-53.895s24.105-53.895 53.895-53.895h107.789c20.421 0 39.053 11.528 48.21 29.788l96.527 193.056 180.263-720.949c5.842-23.579 26.737-40.263 51-40.842 23.947-1.579 45.893 15.158 52.894 38.421l150.162 500.526h67.681c29.788 0 53.895 24.107 53.895 53.895s-24.107 53.895-53.895 53.895h-107.789c-23.789 0-44.787-15.629-51.631-38.422l-105.316-351.104-168.052 672.053c-5.474 21.897-23.948 38.055-46.368 40.529-2 0.21-3.947 0.313-5.895 0.313h-0.001z"],"attrs":[{}],"width":862,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-plotter"]},"attrs":[{}],"properties":{"order":8,"id":188,"name":"arduino-plotter","prevSize":28,"code":59663},"setIdx":0,"setId":1,"iconIdx":4},{"icon":{"paths":["M416.006 800c-4.211 0.026-8.386-0.787-12.285-2.374-3.899-1.594-7.445-3.942-10.435-6.906l-224-224.002c-6.026-6.026-9.411-14.198-9.411-22.72s3.385-16.694 9.411-22.72c6.026-6.026 14.198-9.411 22.72-9.411s16.694 3.386 22.72 9.411l201.28 201.602 425.281-425.602c6.022-6.026 14.195-9.411 22.72-9.411 8.518 0 16.691 3.386 22.72 9.411 6.022 6.026 9.408 14.198 9.408 22.72s-3.386 16.694-9.408 22.72l-448.001 448.002c-2.99 2.963-6.536 5.312-10.435 6.906-3.899 1.587-8.074 2.4-12.285 2.374z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["fa-check"],"grid":14},"attrs":[{}],"properties":{"order":722,"id":0,"name":"fa-check","prevSize":28,"code":59658},"setIdx":0,"setId":1,"iconIdx":5},{"icon":{"paths":["M864 128h-576c-8.484 0.062-16.618 3.385-22.72 9.28l-128 128c-5.969 6.052-9.305 14.219-9.28 22.72v576c0.024 8.48 3.404 16.602 9.4 22.598s14.121 9.376 22.6 9.402h576c8.486-0.038 16.634-3.36 22.72-9.28l128-128c5.894-6.099 9.216-14.234 9.28-22.72v-576c-0.026-8.479-3.405-16.605-9.402-22.6s-14.118-9.375-22.598-9.4zM704 832h-512v-512h512v512zM722.56 256h-485.12l63.68-64h485.44l-64 64zM832 722.88l-64 63.68v-485.12l64-64v485.44z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-3dimensionscube"],"grid":14},"attrs":[{}],"properties":{"order":717,"id":1,"name":"arduino-technology-3dimensionscube","prevSize":28,"code":59654},"setIdx":0,"setId":1,"iconIdx":6},{"icon":{"paths":["M848 224v96c0 8.487-3.373 16.627-9.37 22.627-6.003 6.001-14.144 9.373-22.63 9.373h-16v96c-0.019 5.909-1.67 11.699-4.781 16.725-3.104 5.027-7.539 9.096-12.819 11.755l-238.4 119.36v242.88c16.845 7.354 30.644 20.282 39.079 36.608 8.435 16.333 10.989 35.066 7.233 53.056s-13.59 34.144-27.852 45.734c-14.262 11.597-32.081 17.92-50.46 17.92s-36.198-6.323-50.46-17.92c-14.262-11.59-24.097-27.744-27.852-45.734s-1.201-36.723 7.233-53.056c8.435-16.326 22.234-29.254 39.079-36.608v-82.88l-238.4-119.36c-5.277-2.659-9.715-6.728-12.822-11.755s-4.76-10.816-4.778-16.725v-102.72c-16.845-7.352-30.644-20.279-39.079-36.609s-10.988-35.066-7.233-53.057c3.755-17.992 13.59-34.141 27.852-45.734s32.081-17.921 50.46-17.921c18.38 0 36.198 6.328 50.46 17.921s24.097 27.743 27.852 45.734c3.756 17.992 1.201 36.727-7.233 53.057s-22.234 29.257-39.079 36.609v82.88l192 96v-524.16h-32c-6.372 0.032-12.609-1.839-17.91-5.374s-9.428-8.572-11.85-14.466c-2.41-5.858-3.028-12.3-1.775-18.509s4.321-11.907 8.815-16.371l64-64c2.975-2.999 6.514-5.38 10.413-7.005s8.083-2.461 12.307-2.461c4.225 0 8.407 0.836 12.307 2.461s7.439 4.005 10.413 7.005l64 64c4.44 4.5 7.448 10.214 8.644 16.422s0.526 12.63-1.924 18.458c-2.401 5.844-6.477 10.846-11.716 14.377s-11.406 5.432-17.724 5.463h-32v364.16l192-96v-76.16h-16c-8.486 0-16.627-3.372-22.63-9.373-5.997-6.001-9.37-14.14-9.37-22.627v-96c0-8.487 3.373-16.627 9.37-22.627 6.003-6.001 14.144-9.373 22.63-9.373h96c8.486 0 16.627 3.372 22.63 9.373 5.997 6.001 9.37 14.14 9.37 22.627z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-usb"],"grid":14},"attrs":[{}],"properties":{"order":715,"id":2,"name":"arduino-technology-usb","prevSize":28,"code":59655},"setIdx":0,"setId":1,"iconIdx":7},{"icon":{"paths":["M512 832c35.346 0 64-28.653 64-64s-28.654-64-64-64c-35.346 0-64 28.653-64 64s28.654 64 64 64z","M647.699 664.32c-8.442-0.122-16.493-3.571-22.401-9.6-14.863-14.9-32.519-26.721-51.957-34.787s-40.277-12.218-61.323-12.218c-21.046 0-41.884 4.152-61.323 12.218s-37.094 19.887-51.957 34.787c-5.996 5.958-14.106 9.306-22.56 9.306s-16.564-3.347-22.56-9.306c-5.96-5.997-9.306-14.106-9.306-22.559s3.345-16.564 9.306-22.56c20.801-20.803 45.495-37.304 72.673-48.563s56.308-17.053 85.727-17.053c29.418 0 58.548 5.795 85.726 17.053s51.875 27.761 72.675 48.563c4.512 4.476 7.59 10.194 8.838 16.426 1.254 6.232 0.614 12.695-1.818 18.562-2.438 5.875-6.573 10.886-11.866 14.4-5.299 3.514-11.52 5.37-17.875 5.331z","M919.373 392.639c-4.269 0.195-8.538-0.47-12.55-1.954s-7.686-3.757-10.81-6.686c-101.965-101.613-240.045-158.669-383.997-158.669-143.951 0-282.035 57.056-384 158.669-6.026 5.983-14.181 9.328-22.673 9.298s-16.623-3.432-22.607-9.458c-5.983-6.026-9.327-14.181-9.298-22.673s3.432-16.623 9.458-22.607c114.009-113.924 268.588-177.918 429.76-177.918 161.175 0 315.754 63.994 429.757 177.918 3.002 2.975 5.382 6.514 7.008 10.413s2.458 8.083 2.458 12.307c0 4.225-0.832 8.407-2.458 12.307s-4.006 7.439-7.008 10.413c-3.078 2.89-6.701 5.14-10.656 6.623-3.949 1.483-8.16 2.168-12.384 2.017z","M783.706 528.316c-4.211 0.024-8.384-0.783-12.288-2.375-3.898-1.592-7.443-3.939-10.432-6.905-32.691-32.703-71.501-58.646-114.221-76.346-42.715-17.7-88.501-26.81-134.74-26.81s-92.025 9.11-134.742 26.81c-42.717 17.7-81.529 43.643-114.218 76.346-6.122 5.242-13.996 7.982-22.049 7.671s-15.693-3.65-21.393-9.349c-5.699-5.699-9.037-13.338-9.348-21.392s2.428-15.928 7.67-22.050c78.009-77.968 183.788-121.767 294.080-121.767s216.072 43.799 294.081 121.767c5.958 5.996 9.306 14.106 9.306 22.56s-3.347 16.564-9.306 22.56c-5.958 5.912-14.003 9.245-22.4 9.28z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-connection"],"grid":14},"attrs":[{},{},{},{}],"properties":{"order":714,"id":3,"name":"arduino-technology-connection","prevSize":28,"code":59656},"setIdx":0,"setId":1,"iconIdx":8},{"icon":{"paths":["M512.006 991.994c-4.198 0.109-8.362-0.768-12.16-2.56-5.844-2.4-10.846-6.477-14.377-11.712-3.53-5.242-5.431-11.405-5.463-17.728v-370.877l-169.28 169.597c-2.984 2.989-6.525 5.35-10.424 6.97-3.898 1.613-8.077 2.445-12.296 2.445s-8.397-0.832-12.296-2.445c-3.898-1.619-7.441-3.981-10.424-6.97-2.984-2.982-5.35-6.522-6.965-10.419s-2.445-8.077-2.445-12.301c0-4.218 0.831-8.397 2.445-12.294s3.981-7.437 6.965-10.426l201.6-201.277-201.6-201.28c-6.026-6.026-9.411-14.198-9.411-22.72s3.385-16.694 9.411-22.72c6.026-6.026 14.198-9.411 22.72-9.411s16.694 3.386 22.72 9.411l169.28 169.6v-370.88c0.032-6.318 1.933-12.485 5.463-17.724s8.533-9.316 14.377-11.716c5.828-2.451 12.25-3.12 18.458-1.924s11.922 4.204 16.422 8.644l224.001 224c3.002 2.975 5.382 6.514 7.002 10.413 1.626 3.9 2.464 8.082 2.464 12.307s-0.838 8.407-2.464 12.307c-1.619 3.9-4 7.439-7.002 10.413l-201.601 201.28 201.601 201.277c3.002 2.976 5.382 6.515 7.002 10.419 1.626 3.898 2.464 8.077 2.464 12.301 0 4.23-0.838 8.41-2.464 12.307-1.619 3.904-4 7.443-7.002 10.413l-224.001 224c-2.99 2.97-6.536 5.318-10.435 6.906-3.899 1.594-8.074 2.4-12.285 2.374zM544.006 589.117v293.757l146.881-146.88-146.881-146.877zM544.006 141.117v293.76l146.881-146.88-146.881-146.88z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-bluetooth"],"grid":14},"attrs":[{}],"properties":{"order":713,"id":4,"name":"arduino-technology-bluetooth","prevSize":28,"code":59657},"setIdx":0,"setId":1,"iconIdx":9},{"icon":{"paths":["M613.86 663.104c-8.983 0.005-17.72-2.956-24.841-8.429-7.126-5.474-12.241-13.144-14.55-21.825s-1.685-17.883 1.778-26.173c3.463-8.29 9.57-15.202 17.366-19.661l304.621-173.965-488.052-278.887v296.386c0 10.801-4.291 21.16-11.929 28.799-7.638 7.636-17.997 11.927-28.799 11.927s-21.16-4.291-28.799-11.927c-7.638-7.638-11.929-17.997-11.929-28.799v-366.545c-0.004-7.135 1.867-14.146 5.426-20.33s8.681-11.324 14.852-14.905c6.171-3.581 13.175-5.477 20.31-5.499s14.15 1.832 20.343 5.376l610.91 349.045c6.232 3.561 11.413 8.707 15.020 14.917 3.603 6.21 5.502 13.261 5.502 20.441s-1.899 14.232-5.502 20.441c-3.607 6.21-8.788 11.356-15.020 14.917l-366.545 209.324c-6.135 3.528-13.089 5.381-20.163 5.371z","M491.636 797.094c10.803 0 21.16-4.291 28.798-11.93s11.93-17.994 11.93-28.798c0-10.803-4.291-21.16-11.93-28.798s-17.994-11.93-28.798-11.93h-43.173c-1.991-17.389-5.534-34.56-10.589-51.316l41.949-41.951c3.798-3.793 6.81-8.304 8.867-13.265 2.053-4.962 3.109-10.277 3.109-15.649s-1.057-10.687-3.109-15.649c-2.057-4.962-5.069-9.467-8.867-13.265s-8.304-6.81-13.265-8.867c-4.961-2.053-10.279-3.114-15.649-3.114s-10.688 1.061-15.649 3.114c-4.961 2.057-9.47 5.069-13.267 8.867l-21.585 21.583c-14.553-22.109-34.216-40.387-57.327-53.285-23.11-12.902-48.988-20.052-75.444-20.838-26.456 0.787-52.334 7.936-75.444 20.838s-42.774 31.181-57.327 53.29l-21.585-21.588c-7.669-7.671-18.070-11.976-28.915-11.976s-21.247 4.305-28.916 11.976c-7.669 7.666-11.978 18.069-11.978 28.914s4.308 21.248 11.977 28.914l41.949 41.951c-5.055 16.756-8.599 33.927-10.589 51.316h-43.171c-10.802 0-21.161 4.291-28.799 11.93s-11.929 17.994-11.929 28.798c0 10.803 4.291 21.16 11.929 28.798s17.997 11.93 28.799 11.93h43.173c1.991 17.389 5.534 34.56 10.589 51.316l-1.222 1.224-40.727 40.727c-7.631 7.685-11.913 18.078-11.913 28.914 0 10.831 4.282 21.225 11.913 28.914 7.72 7.568 18.102 11.813 28.915 11.813s21.194-4.245 28.915-11.813l21.585-21.588c14.553 22.109 34.216 40.387 57.327 53.29s48.989 20.052 75.445 20.838c26.456-0.787 52.334-7.936 75.444-20.838s42.774-31.181 57.327-53.29l21.585 21.588c7.72 7.573 18.102 11.813 28.915 11.813s21.194-4.24 28.916-11.813c7.629-7.689 11.911-18.083 11.911-28.914 0-10.836-4.282-21.229-11.911-28.914l-41.95-41.951c5.055-16.756 8.599-33.927 10.589-51.316h43.174zM267.636 593.458c37.058 0 69.644 32.991 87.564 81.455h-175.127c17.92-48.463 50.506-81.455 87.564-81.455zM267.636 919.276c-55.389 0-101.818-74.533-101.818-162.909h203.636c0 88.376-46.429 162.909-101.818 162.909z"],"attrs":[{},{}],"tags":["arduino-debugger"],"grid":14,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":696,"id":5,"name":"arduino-debugger","prevSize":28,"code":59653},"setIdx":0,"setId":1,"iconIdx":10},{"icon":{"paths":["M1011.905 953.837l-286.249-286.249c66.349-81.248 98.942-184.882 91.034-289.478-7.903-104.597-55.702-202.157-133.511-272.506-77.804-70.35-179.671-108.111-284.533-105.473s-204.701 45.47-278.874 119.643c-74.172 74.172-117.006 174.012-119.643 278.874s35.123 206.729 105.473 284.537c70.35 77.804 167.91 125.604 272.506 133.506 104.597 7.907 208.231-24.685 289.479-91.034l286.249 286.249c3.8 3.832 8.323 6.874 13.305 8.95s10.328 3.145 15.727 3.145c5.398 0 10.745-1.071 15.727-3.145 4.986-2.075 9.506-5.117 13.31-8.95 3.832-3.804 6.874-8.323 8.95-13.31 2.075-4.982 3.145-10.328 3.145-15.727s-1.071-10.739-3.145-15.727c-2.075-4.982-5.117-9.506-8.95-13.305v0zM410.372 737.512c-64.702 0-127.952-19.184-181.75-55.132-53.798-35.944-95.728-87.038-120.49-146.816s-31.239-125.554-18.616-189.013c12.623-63.459 43.78-121.751 89.532-167.502s104.043-76.909 167.502-89.532c63.459-12.623 129.235-6.145 189.013 18.616s110.868 66.691 146.816 120.489c35.948 53.798 55.132 117.048 55.132 181.75 0 86.766-34.467 169.972-95.815 231.325-61.353 61.349-144.564 95.815-231.326 95.815v0z"],"attrs":[{}],"tags":["arduino-search"],"grid":14,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":689,"id":6,"name":"arduino-search","prevSize":28,"code":59649},"setIdx":0,"setId":1,"iconIdx":11},{"icon":{"paths":["M997.684 728.889c0 11.506-4.572 22.538-12.707 30.67s-19.165 12.707-30.67 12.707h-433.777c-11.506 0-22.538-4.572-30.673-12.707s-12.705-19.165-12.705-30.67 4.571-22.538 12.705-30.67c8.136-8.134 19.166-12.707 30.673-12.707h433.777c11.506 0 22.538 4.572 30.67 12.707s12.707 19.165 12.707 30.67z","M1201.991 351.068l-74.173-73.742v-199.104c0-11.503-4.572-22.539-12.707-30.673s-19.165-12.705-30.67-12.705h-910.933c-11.503 0-22.539 4.571-30.673 12.705s-12.705 19.168-12.705 30.673v130.133h-86.756c-11.504 0-22.539 4.571-30.673 12.705s-12.705 19.168-12.705 30.673v216.89c0 11.503 4.571 22.539 12.705 30.673s19.168 12.705 30.673 12.705h86.756v433.777c0 11.506 4.571 22.538 12.705 30.67s19.168 12.707 30.673 12.707h910.933c5.71 0.034 11.368-1.062 16.653-3.216 5.285-2.161 10.092-5.342 14.143-9.365l86.756-86.756c4.020-4.052 7.203-8.859 9.365-14.143 2.157-5.285 3.253-10.94 3.216-16.653v-477.156c0.034-5.708-1.062-11.369-3.216-16.654-2.161-5.285-5.342-10.092-9.365-14.145zM86.751 425.243v-130.133h216.89v130.133h-216.89zM1127.818 841.24l-61.159 61.159h-849.774v-390.4h130.133c11.503 0 22.539-4.571 30.673-12.705s12.705-19.168 12.705-30.673v-216.89c0-11.503-4.571-22.539-12.705-30.673s-19.168-12.705-30.673-12.705h-130.133v-86.756h824.177v173.51c-0.034 5.708 1.062 11.369 3.216 16.654 2.161 5.285 5.342 10.092 9.365 14.145l74.173 73.742v441.589z"],"width":1214.5714285714287,"attrs":[{},{}],"tags":["arduino-boards"],"grid":14,"isMulticolor":false,"isMulticolor2":false},"attrs":[{},{}],"properties":{"order":7,"id":7,"name":"arduino-boards","prevSize":28,"code":59650},"setIdx":0,"setId":1,"iconIdx":12},{"icon":{"paths":["M1021.954 918.445l-171.299-652.491c-2.901-9.738-9.491-17.956-18.363-22.903-8.876-4.946-19.333-6.228-29.138-3.571l-141.319 35.427v-230.085c0-10.325-4.102-20.227-11.403-27.529s-17.201-11.403-27.528-11.403h-155.725c-10.327 0-20.226 4.101-27.529 11.403-7.301 7.302-11.403 17.203-11.403 27.529v116.794h-155.725v-77.863c0-10.325-4.101-20.227-11.403-27.529s-17.203-11.403-27.529-11.403h-194.658c-10.325 0-20.227 4.101-27.529 11.403s-11.403 17.203-11.403 27.529v895.424c0 10.327 4.101 20.226 11.403 27.528s17.203 11.403 27.529 11.403h583.972c10.327 0 20.226-4.102 27.528-11.403s11.403-17.201 11.403-27.528v-454.332l119.909 456.668c2.207 8.565 7.265 16.124 14.34 21.433 7.079 5.308 15.751 8.044 24.591 7.764 3.364 0.379 6.758 0.379 10.123 0l164.678-43.212c9.975-2.589 18.518-9.032 23.75-17.908 2.581-4.721 4.156-9.926 4.627-15.288 0.467-5.361-0.178-10.759-1.9-15.857v0zM194.659 940.247h-116.794v-817.56h116.794v817.56zM428.248 940.247h-155.725v-700.766h155.725v700.766zM583.973 940.247h-77.863v-856.491h77.863v856.491zM847.15 923.896l-151.442-576.964 89.543-23.748 151.442 578.132-89.543 22.58z"],"attrs":[{}],"tags":["arduino-library"],"grid":14,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":691,"id":8,"name":"arduino-library","prevSize":28,"code":59651},"setIdx":0,"setId":1,"iconIdx":13},{"icon":{"paths":["M1189.198 204.801h-542.21l-189.437-189.951c-4.784-4.746-10.457-8.499-16.696-11.048s-12.918-3.84-19.656-3.801h-358.398c-13.579 0-26.602 5.394-36.204 14.997s-14.997 22.624-14.997 36.204v921.597c0 13.581 5.394 26.601 14.997 36.203s22.624 14.998 36.204 14.998h1126.397c13.581 0 26.601-5.395 36.203-14.998s14.998-22.621 14.998-36.203v-716.798c0-13.579-5.395-26.602-14.998-36.204s-22.621-14.997-36.203-14.997zM114.001 102.4h286.208l102.4 102.4h-388.606v-102.4zM1137.998 921.598h-1023.998v-614.398h1023.998v614.398z"],"width":1252,"attrs":[{}],"tags":["arduino-folder"],"grid":14,"isMulticolor":false,"isMulticolor2":false},"attrs":[{}],"properties":{"order":692,"id":9,"name":"arduino-folder","prevSize":28,"code":59652},"setIdx":0,"setId":1,"iconIdx":14},{"icon":{"paths":["M512.083 959.936c118.817 0 232.769-47.2 316.781-131.213 84.019-84.019 131.219-197.969 131.219-316.785 0-8.487-3.373-16.627-9.376-22.628-5.997-6.001-14.138-9.373-22.624-9.373s-16.627 3.372-22.63 9.373c-5.997 6.001-9.37 14.141-9.37 22.627-0.019 87.81-30.131 172.959-85.318 241.26s-132.115 115.622-217.962 134.086c-85.848 18.458-175.428 6.931-253.811-32.646-78.383-39.584-140.833-104.832-176.941-184.87-36.108-80.045-43.693-170.045-21.49-255.001s72.852-159.737 143.505-211.878c70.653-52.141 157.042-78.492 244.768-74.662s171.487 37.612 237.33 95.712h-158.081c-8.487 0-16.626 3.372-22.627 9.373s-9.373 14.141-9.373 22.627c0 8.487 3.372 16.627 9.373 22.628s14.14 9.372 22.627 9.372h224.001c8.486 0 16.627-3.371 22.624-9.372 6.003-6.001 9.376-14.141 9.376-22.628v-224c0-8.487-3.373-16.626-9.376-22.627-5.997-6.001-14.138-9.373-22.624-9.373s-16.627 3.371-22.63 9.373c-5.997 6.001-9.37 14.14-9.37 22.627v136.96c-55.162-46.332-120.678-78.68-191.002-94.301s-143.375-14.052-212.963 4.571c-69.588 18.623-133.659 53.753-186.78 102.41s-93.725 109.405-118.369 177.096c-24.644 67.69-32.602 140.324-23.199 211.745 9.404 71.419 35.891 139.521 77.216 198.523 41.325 59.008 96.27 107.174 160.174 140.422s134.885 50.598 206.922 50.573v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[{}]},"tags":["reload"],"grid":14},"attrs":[{}],"properties":{"order":681,"id":10,"name":"reload","prevSize":28,"code":59648},"setIdx":0,"setId":1,"iconIdx":15},{"icon":{"paths":["M846.857 600c34.857 20 46.857 65.143 26.857 100l-36.571 62.857c-20 34.857-65.143 46.857-100 26.857l-152-87.429v175.429c0 40-33.143 73.143-73.143 73.143h-73.143c-40 0-73.143-33.143-73.143-73.143v-175.429l-152 87.429c-34.857 20-80 8-100-26.857l-36.571-62.857c-20-34.857-8-80 26.857-100l152-88-152-88c-34.857-20-46.857-65.143-26.857-100l36.571-62.857c20-34.857 65.143-46.857 100-26.857l152 87.429v-175.429c0-40 33.143-73.143 73.143-73.143h73.143c40 0 73.143 33.143 73.143 73.143v175.429l152-87.429c34.857-20 80-8 100 26.857l36.571 62.857c20 34.857 8 80-26.857 100l-152 88z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["asterisk"],"defaultCode":61545,"grid":14},"attrs":[],"properties":{"name":"asterisk","id":11,"order":679,"prevSize":28,"code":61545},"setIdx":0,"setId":1,"iconIdx":16},{"icon":{"paths":["M804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v237.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h237.714v-237.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857v237.714h237.714c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["plus"],"defaultCode":61543,"grid":14},"attrs":[],"properties":{"name":"plus","id":12,"order":3,"prevSize":28,"code":61543},"setIdx":0,"setId":1,"iconIdx":17},{"icon":{"paths":["M402.286 717.714v137.143c0 12.571-10.286 22.857-22.857 22.857h-137.143c-12.571 0-22.857-10.286-22.857-22.857v-137.143c0-12.571 10.286-22.857 22.857-22.857h137.143c12.571 0 22.857 10.286 22.857 22.857zM582.857 374.857c0 108.571-73.714 150.286-128 180.571-33.714 19.429-54.857 58.857-54.857 75.429v0c0 12.571-9.714 27.429-22.857 27.429h-137.143c-12.571 0-20.571-19.429-20.571-32v-25.714c0-69.143 68.571-128.571 118.857-151.429 44-20 62.286-38.857 62.286-75.429 0-32-41.714-60.571-88-60.571-25.714 0-49.143 8-61.714 16.571-13.714 9.714-27.429 23.429-61.143 65.714-4.571 5.714-11.429 9.143-17.714 9.143-5.143 0-9.714-1.714-14.286-4.571l-93.714-71.429c-9.714-7.429-12-20-5.714-30.286 61.714-102.286 148.571-152 265.143-152 122.286 0 259.429 97.714 259.429 228.571z"],"width":634.88,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["question"],"defaultCode":61736,"grid":14},"attrs":[],"properties":{"name":"question","id":13,"order":4,"prevSize":28,"code":61736},"setIdx":0,"setId":1,"iconIdx":18},{"icon":{"paths":["M804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-694.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h694.857c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["minus"],"defaultCode":61544,"grid":14},"attrs":[],"properties":{"name":"minus","id":14,"order":5,"prevSize":28,"code":61544},"setIdx":0,"setId":1,"iconIdx":19},{"icon":{"paths":["M877.714 128v640c0 80.571-120.571 109.714-182.857 109.714s-182.857-29.143-182.857-109.714 120.571-109.714 182.857-109.714c37.714 0 75.429 6.857 109.714 22.286v-306.857l-438.857 135.429v405.143c0 80.571-120.571 109.714-182.857 109.714s-182.857-29.143-182.857-109.714 120.571-109.714 182.857-109.714c37.714 0 75.429 6.857 109.714 22.286v-552.571c0-24 16-45.143 38.857-52.571l475.429-146.286c5.143-1.714 10.286-2.286 16-2.286 30.286 0 54.857 24.571 54.857 54.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["music"],"defaultCode":61441,"grid":14},"attrs":[],"properties":{"name":"music","id":15,"order":7,"prevSize":28,"code":61441},"setIdx":0,"setId":1,"iconIdx":20},{"icon":{"paths":["M658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40-33.143 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["search"],"defaultCode":61442,"grid":14},"attrs":[],"properties":{"name":"search","id":16,"order":8,"prevSize":28,"code":61442},"setIdx":0,"setId":1,"iconIdx":21},{"icon":{"paths":["M950.857 859.429v-438.857c-12 13.714-25.143 26.286-39.429 37.714-81.714 62.857-164 126.857-243.429 193.143-42.857 36-96 80-155.429 80h-1.143c-59.429 0-112.571-44-155.429-80-79.429-66.286-161.714-130.286-243.429-193.143-14.286-11.429-27.429-24-39.429-37.714v438.857c0 9.714 8.571 18.286 18.286 18.286h841.143c9.714 0 18.286-8.571 18.286-18.286zM950.857 258.857c0-14.286 3.429-39.429-18.286-39.429h-841.143c-9.714 0-18.286 8.571-18.286 18.286 0 65.143 32.571 121.714 84 162.286 76.571 60 153.143 120.571 229.143 181.143 30.286 24.571 85.143 77.143 125.143 77.143h1.143c40 0 94.857-52.571 125.143-77.143 76-60.571 152.571-121.143 229.143-181.143 37.143-29.143 84-92.571 84-141.143zM1024 237.714v621.714c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h841.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["envelope-o"],"defaultCode":61443,"grid":14},"attrs":[],"properties":{"name":"envelope-o","id":17,"order":9,"prevSize":28,"code":61443},"setIdx":0,"setId":1,"iconIdx":22},{"icon":{"paths":["M512 950.857c-9.143 0-18.286-3.429-25.143-10.286l-356.571-344c-4.571-4-130.286-118.857-130.286-256 0-167.429 102.286-267.429 273.143-267.429 100 0 193.714 78.857 238.857 123.429 45.143-44.571 138.857-123.429 238.857-123.429 170.857 0 273.143 100 273.143 267.429 0 137.143-125.714 252-130.857 257.143l-356 342.857c-6.857 6.857-16 10.286-25.143 10.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["heart"],"defaultCode":61444,"grid":14},"attrs":[],"properties":{"name":"heart","id":18,"order":10,"prevSize":28,"code":61444},"setIdx":0,"setId":1,"iconIdx":23},{"icon":{"paths":["M950.857 369.714c0 10.286-7.429 20-14.857 27.429l-207.429 202.286 49.143 285.714c0.571 4 0.571 7.429 0.571 11.429 0 14.857-6.857 28.571-23.429 28.571-8 0-16-2.857-22.857-6.857l-256.571-134.857-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429s22.857 12.571 28 23.429l128.571 260 286.857 41.714c13.714 2.286 32 9.143 32 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["star"],"defaultCode":61445,"grid":14},"attrs":[],"properties":{"name":"star","id":19,"order":11,"prevSize":28,"code":61445},"setIdx":0,"setId":1,"iconIdx":24},{"icon":{"paths":["M649.714 573.714l174.857-169.714-241.143-35.429-108-218.286-108 218.286-241.143 35.429 174.857 169.714-41.714 240.571 216-113.714 215.429 113.714zM950.857 369.714c0 10.286-7.429 20-14.857 27.429l-207.429 202.286 49.143 285.714c0.571 4 0.571 7.429 0.571 11.429 0 15.429-6.857 28.571-23.429 28.571-8 0-16-2.857-22.857-6.857l-256.571-134.857-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429s22.857 12.571 28 23.429l128.571 260 286.857 41.714c13.714 2.286 32 9.143 32 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["star-o"],"defaultCode":61446,"grid":14},"attrs":[],"properties":{"name":"star-o","id":20,"order":12,"prevSize":28,"code":61446},"setIdx":0,"setId":1,"iconIdx":25},{"icon":{"paths":["M731.429 799.429c0 83.429-54.857 151.429-121.714 151.429h-488c-66.857 0-121.714-68-121.714-151.429 0-150.286 37.143-324 186.857-324 46.286 45.143 109.143 73.143 178.857 73.143s132.571-28 178.857-73.143c149.714 0 186.857 173.714 186.857 324zM585.143 292.571c0 121.143-98.286 219.429-219.429 219.429s-219.429-98.286-219.429-219.429 98.286-219.429 219.429-219.429 219.429 98.286 219.429 219.429z"],"width":731.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["user"],"defaultCode":61447,"grid":14},"attrs":[],"properties":{"name":"user","id":21,"order":13,"prevSize":28,"code":61447},"setIdx":0,"setId":1,"iconIdx":26},{"icon":{"paths":["M219.429 914.286v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM219.429 694.857v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM219.429 475.429v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM804.571 914.286v-292.571c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v292.571c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM219.429 256v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 914.286v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM804.571 475.429v-292.571c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v292.571c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM1024 694.857v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 475.429v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 256v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1097.143 164.571v768c0 50.286-41.143 91.429-91.429 91.429h-914.286c-50.286 0-91.429-41.143-91.429-91.429v-768c0-50.286 41.143-91.429 91.429-91.429h914.286c50.286 0 91.429 41.143 91.429 91.429z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["film"],"defaultCode":61448,"grid":14},"attrs":[],"properties":{"name":"film","id":22,"order":14,"prevSize":28,"code":61448},"setIdx":0,"setId":1,"iconIdx":27},{"icon":{"paths":["M438.857 585.143v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM438.857 146.286v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM950.857 585.143v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM950.857 146.286v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["th-large"],"defaultCode":61449,"grid":14},"attrs":[],"properties":{"name":"th-large","id":23,"order":15,"prevSize":28,"code":61449},"setIdx":0,"setId":1,"iconIdx":28},{"icon":{"paths":["M292.571 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["th"],"defaultCode":61450,"grid":14},"attrs":[],"properties":{"name":"th","id":24,"order":16,"prevSize":28,"code":61450},"setIdx":0,"setId":1,"iconIdx":29},{"icon":{"paths":["M292.571 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857zM292.571 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857zM1024 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["th-list"],"defaultCode":61451,"grid":14},"attrs":[],"properties":{"name":"th-list","id":25,"order":17,"prevSize":28,"code":61451},"setIdx":0,"setId":1,"iconIdx":30},{"icon":{"paths":["M725.322 782.343c3.477 3.448 6.237 7.547 8.118 12.069 1.885 4.515 2.853 9.364 2.853 14.259s-0.967 9.744-2.853 14.266c-1.881 4.515-4.641 8.623-8.118 12.069-3.448 3.472-7.547 6.232-12.069 8.118-4.515 1.881-9.364 2.848-14.259 2.848s-9.744-0.967-14.266-2.848c-4.522-1.885-8.623-4.646-12.069-8.118l-270.371-270.375-270.372 270.375c-3.448 3.472-7.549 6.232-12.069 8.118-4.519 1.881-9.366 2.848-14.263 2.848s-9.744-0.967-14.263-2.848c-4.519-1.885-8.622-4.646-12.069-8.118-3.474-3.448-6.235-7.555-8.118-12.069-1.884-4.522-2.853-9.37-2.853-14.266s0.97-9.744 2.853-14.259c1.884-4.522 4.643-8.623 8.118-12.069l270.372-270.375-270.372-270.372c-3.456-3.456-6.201-7.565-8.072-12.082s-2.835-9.36-2.835-14.25c0-4.891 0.964-9.732 2.835-14.25s4.617-8.626 8.072-12.081c3.456-3.456 7.564-6.201 12.081-8.072s9.361-2.835 14.25-2.835c4.891 0 9.732 0.964 14.25 2.835s8.626 4.617 12.081 8.072l270.372 270.372 270.371-270.372c6.984-6.983 16.455-10.909 26.335-10.909 9.875 0 19.347 3.923 26.33 10.909s10.909 16.456 10.909 26.333c0 9.877-3.923 19.348-10.909 26.333l-270.371 270.372 270.371 270.375z"],"width":804.5714285714286,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[{}]},"tags":["close","remove","times"],"defaultCode":61453,"grid":14},"attrs":[{}],"properties":{"name":"close, remove, times","id":26,"order":19,"prevSize":28,"code":61453},"setIdx":0,"setId":1,"iconIdx":31},{"icon":{"paths":["M585.143 457.143v36.571c0 9.714-8.571 18.286-18.286 18.286h-128v128c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-128h-128c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h128v-128c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286v128h128c9.714 0 18.286 8.571 18.286 18.286zM658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40.571-32.571 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["search-plus"],"defaultCode":61454,"grid":14},"attrs":[],"properties":{"name":"search-plus","id":27,"order":20,"prevSize":28,"code":61454},"setIdx":0,"setId":1,"iconIdx":32},{"icon":{"paths":["M585.143 457.143v36.571c0 9.714-8.571 18.286-18.286 18.286h-329.143c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h329.143c9.714 0 18.286 8.571 18.286 18.286zM658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40.571-32.571 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["search-minus"],"defaultCode":61456,"grid":14},"attrs":[],"properties":{"name":"search-minus","id":28,"order":21,"prevSize":28,"code":61456},"setIdx":0,"setId":1,"iconIdx":33},{"icon":{"paths":["M877.714 512c0 241.714-197.143 438.857-438.857 438.857s-438.857-197.143-438.857-438.857c0-138.857 64-266.857 175.429-350.286 32.571-24.571 78.286-18.286 102.286 14.286 24.571 32 17.714 78.286-14.286 102.286-74.286 56-117.143 141.143-117.143 233.714 0 161.143 131.429 292.571 292.571 292.571s292.571-131.429 292.571-292.571c0-92.571-42.857-177.714-117.143-233.714-32-24-38.857-70.286-14.286-102.286 24-32.571 70.286-38.857 102.286-14.286 111.429 83.429 175.429 211.429 175.429 350.286zM512 73.143v365.714c0 40-33.143 73.143-73.143 73.143s-73.143-33.143-73.143-73.143v-365.714c0-40 33.143-73.143 73.143-73.143s73.143 33.143 73.143 73.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["power-off"],"defaultCode":61457,"grid":14},"attrs":[],"properties":{"name":"power-off","id":29,"order":22,"prevSize":28,"code":61457},"setIdx":0,"setId":1,"iconIdx":34},{"icon":{"paths":["M146.286 822.857v109.714c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM365.714 749.714v182.857c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM585.143 603.429v329.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM804.571 384v548.571c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-548.571c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM1024 91.429v841.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-841.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["signal"],"defaultCode":61458,"grid":14},"attrs":[],"properties":{"name":"signal","id":30,"order":23,"prevSize":28,"code":61458},"setIdx":0,"setId":1,"iconIdx":35},{"icon":{"paths":["M585.143 512c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286 65.714 146.286 146.286 146.286 146.286-65.714 146.286-146.286zM877.714 449.714v126.857c0 8.571-6.857 18.857-16 20.571l-105.714 16c-6.286 18.286-13.143 35.429-22.286 52 19.429 28 40 53.143 61.143 78.857 3.429 4 5.714 9.143 5.714 14.286s-1.714 9.143-5.143 13.143c-13.714 18.286-90.857 102.286-110.286 102.286-5.143 0-10.286-2.286-14.857-5.143l-78.857-61.714c-16.571 8.571-34.286 16-52 21.714-4 34.857-7.429 72-16.571 106.286-2.286 9.143-10.286 16-20.571 16h-126.857c-10.286 0-19.429-7.429-20.571-17.143l-16-105.143c-17.714-5.714-34.857-12.571-51.429-21.143l-80.571 61.143c-4 3.429-9.143 5.143-14.286 5.143s-10.286-2.286-14.286-6.286c-30.286-27.429-70.286-62.857-94.286-96-2.857-4-4-8.571-4-13.143 0-5.143 1.714-9.143 4.571-13.143 19.429-26.286 40.571-51.429 60-78.286-9.714-18.286-17.714-37.143-23.429-56.571l-104.571-15.429c-9.714-1.714-16.571-10.857-16.571-20.571v-126.857c0-8.571 6.857-18.857 15.429-20.571l106.286-16c5.714-18.286 13.143-35.429 22.286-52.571-19.429-27.429-40-53.143-61.143-78.857-3.429-4-5.714-8.571-5.714-13.714s2.286-9.143 5.143-13.143c13.714-18.857 90.857-102.286 110.286-102.286 5.143 0 10.286 2.286 14.857 5.714l78.857 61.143c16.571-8.571 34.286-16 52-21.714 4-34.857 7.429-72 16.571-106.286 2.286-9.143 10.286-16 20.571-16h126.857c10.286 0 19.429 7.429 20.571 17.143l16 105.143c17.714 5.714 34.857 12.571 51.429 21.143l81.143-61.143c3.429-3.429 8.571-5.143 13.714-5.143s10.286 2.286 14.286 5.714c30.286 28 70.286 63.429 94.286 97.143 2.857 3.429 4 8 4 12.571 0 5.143-1.714 9.143-4.571 13.143-19.429 26.286-40.571 51.429-60 78.286 9.714 18.286 17.714 37.143 23.429 56l104.571 16c9.714 1.714 16.571 10.857 16.571 20.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["cog","gear"],"defaultCode":61459,"grid":14},"attrs":[],"properties":{"name":"cog, gear","id":31,"order":24,"prevSize":28,"code":61459},"setIdx":0,"setId":1,"iconIdx":36},{"icon":{"paths":["M292.571 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM438.857 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM585.143 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM658.286 834.286v-541.714h-512v541.714c0 27.429 15.429 43.429 18.286 43.429h475.429c2.857 0 18.286-16 18.286-43.429zM274.286 219.429h256l-27.429-66.857c-1.714-2.286-6.857-5.714-9.714-6.286h-181.143c-3.429 0.571-8 4-9.714 6.286zM804.571 237.714v36.571c0 10.286-8 18.286-18.286 18.286h-54.857v541.714c0 62.857-41.143 116.571-91.429 116.571h-475.429c-50.286 0-91.429-51.429-91.429-114.286v-544h-54.857c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h176.571l40-95.429c11.429-28 45.714-50.857 76-50.857h182.857c30.286 0 64.571 22.857 76 50.857l40 95.429h176.571c10.286 0 18.286 8 18.286 18.286z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["trash-o"],"defaultCode":61460,"grid":14},"attrs":[],"properties":{"name":"trash-o","id":32,"order":25,"prevSize":28,"code":61460},"setIdx":0,"setId":1,"iconIdx":37},{"icon":{"paths":["M804.571 566.857v274.286c0 20-16.571 36.571-36.571 36.571h-219.429v-219.429h-146.286v219.429h-219.429c-20 0-36.571-16.571-36.571-36.571v-274.286c0-1.143 0.571-2.286 0.571-3.429l328.571-270.857 328.571 270.857c0.571 1.143 0.571 2.286 0.571 3.429zM932 527.429l-35.429 42.286c-2.857 3.429-7.429 5.714-12 6.286h-1.714c-4.571 0-8.571-1.143-12-4l-395.429-329.714-395.429 329.714c-4 2.857-8.571 4.571-13.714 4-4.571-0.571-9.143-2.857-12-6.286l-35.429-42.286c-6.286-7.429-5.143-19.429 2.286-25.714l410.857-342.286c24-20 62.857-20 86.857 0l139.429 116.571v-111.429c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v233.143l125.143 104c7.429 6.286 8.571 18.286 2.286 25.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["home"],"defaultCode":61461,"grid":14},"attrs":[],"properties":{"name":"home","id":33,"order":26,"prevSize":28,"code":61461},"setIdx":0,"setId":1,"iconIdx":38},{"icon":{"paths":["M838.857 217.143c21.143 21.143 38.857 63.429 38.857 93.714v658.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-914.286c0-30.286 24.571-54.857 54.857-54.857h512c30.286 0 72.571 17.714 93.714 38.857zM585.143 77.714v214.857h214.857c-3.429-9.714-8.571-19.429-12.571-23.429l-178.857-178.857c-4-4-13.714-9.143-23.429-12.571zM804.571 950.857v-585.143h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-438.857v877.714h731.429z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["file-o"],"defaultCode":61462,"grid":14},"attrs":[],"properties":{"name":"file-o","id":34,"order":27,"prevSize":28,"code":61462},"setIdx":0,"setId":1,"iconIdx":39},{"icon":{"paths":["M512 310.857v256c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h128v-201.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["clock-o"],"defaultCode":61463,"grid":14},"attrs":[],"properties":{"name":"clock-o","id":35,"order":28,"prevSize":28,"code":61463},"setIdx":0,"setId":1,"iconIdx":40},{"icon":{"paths":["M731.429 768c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM877.714 768c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 640v182.857c0 30.286-24.571 54.857-54.857 54.857h-841.143c-30.286 0-54.857-24.571-54.857-54.857v-182.857c0-30.286 24.571-54.857 54.857-54.857h265.714l77.143 77.714c21.143 20.571 48.571 32 77.714 32s56.571-11.429 77.714-32l77.714-77.714h265.143c30.286 0 54.857 24.571 54.857 54.857zM765.143 314.857c5.714 13.714 2.857 29.714-8 40l-256 256c-6.857 7.429-16.571 10.857-25.714 10.857s-18.857-3.429-25.714-10.857l-256-256c-10.857-10.286-13.714-26.286-8-40 5.714-13.143 18.857-22.286 33.714-22.286h146.286v-256c0-20 16.571-36.571 36.571-36.571h146.286c20 0 36.571 16.571 36.571 36.571v256h146.286c14.857 0 28 9.143 33.714 22.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["download"],"defaultCode":61465,"grid":14},"attrs":[],"properties":{"name":"download","id":36,"order":30,"prevSize":28,"code":61465},"setIdx":0,"setId":1,"iconIdx":41},{"icon":{"paths":["M640 530.286c0 5.143-2.286 9.714-5.714 13.714l-182.286 182.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143l-182.857-182.857c-5.143-5.714-6.857-13.143-4-20s9.714-11.429 17.143-11.429h109.714v-201.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v201.143h109.714c10.286 0 18.286 8 18.286 18.286zM438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-o-down"],"defaultCode":61466,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-o-down","id":37,"order":31,"prevSize":28,"code":61466},"setIdx":0,"setId":1,"iconIdx":42},{"icon":{"paths":["M638.857 500.571c-2.857 6.857-9.714 11.429-17.143 11.429h-109.714v201.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-201.143h-109.714c-10.286 0-18.286-8-18.286-18.286 0-5.143 2.286-9.714 5.714-13.714l182.286-182.286c4-3.429 8.571-5.143 13.143-5.143s9.143 1.714 13.143 5.143l182.857 182.857c5.143 5.714 6.857 13.143 4 20zM438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-o-up"],"defaultCode":61467,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-o-up","id":38,"order":32,"prevSize":28,"code":61467},"setIdx":0,"setId":1,"iconIdx":43},{"icon":{"paths":["M584.571 548.571h180.571c-1.143-2.857-1.714-6.286-2.857-9.143l-121.143-283.429h-404.571l-121.143 283.429c-1.143 2.857-1.714 6.286-2.857 9.143h180.571l54.286 109.714h182.857zM877.714 565.714v275.429c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-275.429c0-20.571 6.286-50.857 14.286-70.286l136-315.429c8-18.857 30.857-33.714 50.857-33.714h475.429c20 0 42.857 14.857 50.857 33.714l136 315.429c8 19.429 14.286 49.714 14.286 70.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["inbox"],"defaultCode":61468,"grid":14},"attrs":[],"properties":{"name":"inbox","id":39,"order":33,"prevSize":28,"code":61468},"setIdx":0,"setId":1,"iconIdx":44},{"icon":{"paths":["M676.571 512c0 13.143-6.857 25.143-18.286 31.429l-310.857 182.857c-5.714 3.429-12 5.143-18.286 5.143s-12.571-1.714-18.286-4.571c-11.429-6.857-18.286-18.857-18.286-32v-365.714c0-13.143 6.857-25.143 18.286-32 11.429-6.286 25.714-6.286 36.571 0.571l310.857 182.857c11.429 6.286 18.286 18.286 18.286 31.429zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["play-circle-o"],"defaultCode":61469,"grid":14},"attrs":[],"properties":{"name":"play-circle-o","id":40,"order":34,"prevSize":28,"code":61469},"setIdx":0,"setId":1,"iconIdx":45},{"icon":{"paths":["M877.714 146.286v256c0 20-16.571 36.571-36.571 36.571h-256c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l78.857-78.857c-53.714-49.714-124.571-78.286-199.429-78.286-161.143 0-292.571 131.429-292.571 292.571s131.429 292.571 292.571 292.571c90.857 0 174.857-41.143 230.857-113.714 2.857-4 8-6.286 13.143-6.857 5.143 0 10.286 1.714 14.286 5.143l78.286 78.857c6.857 6.286 6.857 17.143 1.143 24.571-83.429 100.571-206.857 158.286-337.714 158.286-241.714 0-438.857-197.143-438.857-438.857s197.143-438.857 438.857-438.857c112.571 0 221.714 45.143 302.286 121.143l74.286-73.714c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["repeat","rotate-right"],"defaultCode":61470,"grid":14},"attrs":[],"properties":{"name":"repeat, rotate-right","id":41,"order":35,"prevSize":28,"code":61470},"setIdx":0,"setId":1,"iconIdx":46},{"icon":{"paths":["M863.429 603.429c0 1.143 0 2.857-0.571 4-48.571 202.286-215.429 343.429-426.286 343.429-111.429 0-219.429-44-300.571-121.143l-73.714 73.714c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-78.286 78.286c53.714 50.286 125.143 78.857 198.857 78.857 101.714 0 196-52.571 249.143-139.429 13.714-22.286 20.571-44 30.286-66.857 2.857-8 8.571-13.143 17.143-13.143h109.714c10.286 0 18.286 8.571 18.286 18.286zM877.714 146.286v256c0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l78.857-78.857c-54.286-50.286-125.714-78.286-199.429-78.286-101.714 0-196 52.571-249.143 139.429-13.714 22.286-20.571 44-30.286 66.857-2.857 8-8.571 13.143-17.143 13.143h-113.714c-10.286 0-18.286-8.571-18.286-18.286v-4c49.143-202.857 217.714-343.429 428.571-343.429 112 0 221.143 44.571 302.286 121.143l74.286-73.714c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["refresh"],"defaultCode":61473,"grid":14},"attrs":[],"properties":{"name":"refresh","id":42,"order":36,"prevSize":28,"code":61473},"setIdx":0,"setId":1,"iconIdx":47},{"icon":{"paths":["M219.429 676.571v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM219.429 530.286v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM219.429 384v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 676.571v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 530.286v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 384v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM950.857 786.286v-475.429c0-9.714-8.571-18.286-18.286-18.286h-841.143c-9.714 0-18.286 8.571-18.286 18.286v475.429c0 9.714 8.571 18.286 18.286 18.286h841.143c9.714 0 18.286-8.571 18.286-18.286zM1024 164.571v621.714c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h841.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["list-alt"],"defaultCode":61474,"grid":14},"attrs":[],"properties":{"name":"list-alt","id":43,"order":37,"prevSize":28,"code":61474},"setIdx":0,"setId":1,"iconIdx":48},{"icon":{"paths":["M182.857 438.857h292.571v-109.714c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286v109.714zM658.286 493.714v329.143c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-329.143c0-30.286 24.571-54.857 54.857-54.857h18.286v-109.714c0-140.571 115.429-256 256-256s256 115.429 256 256v109.714h18.286c30.286 0 54.857 24.571 54.857 54.857z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["lock"],"defaultCode":61475,"grid":14},"attrs":[],"properties":{"name":"lock","id":44,"order":38,"prevSize":28,"code":61475},"setIdx":0,"setId":1,"iconIdx":49},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["volume-off"],"defaultCode":61478,"grid":14},"attrs":[],"properties":{"name":"volume-off","id":45,"order":41,"prevSize":28,"code":61478},"setIdx":0,"setId":1,"iconIdx":50},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571zM658.286 512c0 57.143-34.857 112.571-88.571 134.286-4.571 2.286-9.714 2.857-14.286 2.857-20 0-36.571-16-36.571-36.571 0-43.429 66.286-31.429 66.286-100.571s-66.286-57.143-66.286-100.571c0-20.571 16.571-36.571 36.571-36.571 4.571 0 9.714 0.571 14.286 2.857 53.714 21.143 88.571 77.143 88.571 134.286z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["volume-down"],"defaultCode":61479,"grid":14},"attrs":[],"properties":{"name":"volume-down","id":46,"order":42,"prevSize":28,"code":61479},"setIdx":0,"setId":1,"iconIdx":51},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571zM658.286 512c0 57.143-34.857 112.571-88.571 134.286-4.571 2.286-9.714 2.857-14.286 2.857-20 0-36.571-16-36.571-36.571 0-43.429 66.286-31.429 66.286-100.571s-66.286-57.143-66.286-100.571c0-20.571 16.571-36.571 36.571-36.571 4.571 0 9.714 0.571 14.286 2.857 53.714 21.143 88.571 77.143 88.571 134.286zM804.571 512c0 116-69.714 224-177.143 269.143-4.571 1.714-9.714 2.857-14.286 2.857-20.571 0-37.143-16.571-37.143-36.571 0-16 9.143-26.857 22.286-33.714 15.429-8 29.714-14.857 43.429-25.143 56.571-41.143 89.714-106.857 89.714-176.571s-33.143-135.429-89.714-176.571c-13.714-10.286-28-17.143-43.429-25.143-13.143-6.857-22.286-17.714-22.286-33.714 0-20 16.571-36.571 36.571-36.571 5.143 0 10.286 1.143 14.857 2.857 107.429 45.143 177.143 153.143 177.143 269.143zM950.857 512c0 175.429-104.571 334.286-265.714 403.429-4.571 1.714-9.714 2.857-14.857 2.857-20 0-36.571-16.571-36.571-36.571 0-16.571 8.571-25.714 22.286-33.714 8-4.571 17.143-7.429 25.714-12 16-8.571 32-18.286 46.857-29.143 93.714-69.143 149.143-178.286 149.143-294.857s-55.429-225.714-149.143-294.857c-14.857-10.857-30.857-20.571-46.857-29.143-8.571-4.571-17.714-7.429-25.714-12-13.714-8-22.286-17.143-22.286-33.714 0-20 16.571-36.571 36.571-36.571 5.143 0 10.286 1.143 14.857 2.857 161.143 69.143 265.714 228 265.714 403.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["volume-up"],"defaultCode":61480,"grid":14},"attrs":[],"properties":{"name":"volume-up","id":47,"order":43,"prevSize":28,"code":61480},"setIdx":0,"setId":1,"iconIdx":52},{"icon":{"paths":["M219.429 658.286v73.143h-73.143v-73.143h73.143zM219.429 219.429v73.143h-73.143v-73.143h73.143zM658.286 219.429v73.143h-73.143v-73.143h73.143zM73.143 804h219.429v-218.857h-219.429v218.857zM73.143 365.714h219.429v-219.429h-219.429v219.429zM512 365.714h219.429v-219.429h-219.429v219.429zM365.714 512v365.714h-365.714v-365.714h365.714zM658.286 804.571v73.143h-73.143v-73.143h73.143zM804.571 804.571v73.143h-73.143v-73.143h73.143zM804.571 512v219.429h-219.429v-73.143h-73.143v219.429h-73.143v-365.714h219.429v73.143h73.143v-73.143h73.143zM365.714 73.143v365.714h-365.714v-365.714h365.714zM804.571 73.143v365.714h-365.714v-365.714h365.714z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["qrcode"],"defaultCode":61481,"grid":14},"attrs":[],"properties":{"name":"qrcode","id":48,"order":44,"prevSize":28,"code":61481},"setIdx":0,"setId":1,"iconIdx":53},{"icon":{"paths":["M256 256c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143 32.571 73.143 73.143 73.143 73.143-32.571 73.143-73.143zM865.714 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-408.571-409.143c-29.143-28.571-52-84-52-124.571v-237.714c0-40 33.143-73.143 73.143-73.143h237.714c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52z"],"width":865.7188571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["tag"],"defaultCode":61483,"grid":14},"attrs":[],"properties":{"name":"tag","id":49,"order":46,"prevSize":28,"code":61483},"setIdx":0,"setId":1,"iconIdx":54},{"icon":{"paths":["M256 256c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143 32.571 73.143 73.143 73.143 73.143-32.571 73.143-73.143zM865.714 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-408.571-409.143c-29.143-28.571-52-84-52-124.571v-237.714c0-40 33.143-73.143 73.143-73.143h237.714c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52zM1085.143 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143-29.714 0-44.571-13.714-64-33.714l268.571-268.571c13.143-13.143 21.143-32 21.143-51.429s-8-38.286-21.143-52l-408.571-408c-29.143-29.143-84.571-52-125.143-52h128c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52z"],"width":1085.1474285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["tags"],"defaultCode":61484,"grid":14},"attrs":[],"properties":{"name":"tags","id":50,"order":47,"prevSize":28,"code":61484},"setIdx":0,"setId":1,"iconIdx":55},{"icon":{"paths":["M936.571 273.143c14.286 20.571 18.286 47.429 10.286 73.714l-157.143 517.714c-14.286 48.571-64.571 86.286-113.714 86.286h-527.429c-58.286 0-120.571-46.286-141.714-105.714-9.143-25.714-9.143-50.857-1.143-72.571 1.143-11.429 3.429-22.857 4-36.571 0.571-9.143-4.571-16.571-3.429-23.429 2.286-13.714 14.286-23.429 23.429-38.857 17.143-28.571 36.571-74.857 42.857-104.571 2.857-10.857-2.857-23.429 0-33.143 2.857-10.857 13.714-18.857 19.429-29.143 15.429-26.286 35.429-77.143 38.286-104 1.143-12-4.571-25.143-1.143-34.286 4-13.143 16.571-18.857 25.143-30.286 13.714-18.857 36.571-73.143 40-103.429 1.143-9.714-4.571-19.429-2.857-29.714 2.286-10.857 16-22.286 25.143-35.429 24-35.429 28.571-113.714 101.143-93.143l-0.571 1.714c9.714-2.286 19.429-5.143 29.143-5.143h434.857c26.857 0 50.857 12 65.143 32 14.857 20.571 18.286 47.429 10.286 74.286l-156.571 517.714c-26.857 88-41.714 107.429-114.286 107.429h-496.571c-7.429 0-16.571 1.714-21.714 8.571-4.571 6.857-5.143 12-0.571 24.571 11.429 33.143 50.857 40 82.286 40h527.429c21.143 0 45.714-12 52-32.571l171.429-564c3.429-10.857 3.429-22.286 2.857-32.571 13.143 5.143 25.143 13.143 33.714 24.571zM328.571 274.286c-3.429 10.286 2.286 18.286 12.571 18.286h347.429c9.714 0 20.571-8 24-18.286l12-36.571c3.429-10.286-2.286-18.286-12.571-18.286h-347.429c-9.714 0-20.571 8-24 18.286zM281.143 420.571c-3.429 10.286 2.286 18.286 12.571 18.286h347.429c9.714 0 20.571-8 24-18.286l12-36.571c3.429-10.286-2.286-18.286-12.571-18.286h-347.429c-9.714 0-20.571 8-24 18.286z"],"width":952.5394285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["book"],"defaultCode":61485,"grid":14},"attrs":[],"properties":{"name":"book","id":51,"order":48,"prevSize":28,"code":61485},"setIdx":0,"setId":1,"iconIdx":56},{"icon":{"paths":["M219.429 877.714h512v-146.286h-512v146.286zM219.429 512h512v-219.429h-91.429c-30.286 0-54.857-24.571-54.857-54.857v-91.429h-365.714v365.714zM877.714 548.571c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 548.571v237.714c0 9.714-8.571 18.286-18.286 18.286h-128v91.429c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-91.429h-128c-9.714 0-18.286-8.571-18.286-18.286v-237.714c0-60 49.714-109.714 109.714-109.714h36.571v-310.857c0-30.286 24.571-54.857 54.857-54.857h384c30.286 0 72 17.143 93.714 38.857l86.857 86.857c21.714 21.714 38.857 63.429 38.857 93.714v146.286h36.571c60 0 109.714 49.714 109.714 109.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["print"],"defaultCode":61487,"grid":14},"attrs":[],"properties":{"name":"print","id":52,"order":50,"prevSize":28,"code":61487},"setIdx":0,"setId":1,"iconIdx":57},{"icon":{"paths":["M996.571 804.571c25.143 0 33.143 16 17.714 36l-72 92.571c-15.429 20-40.571 20-56 0l-72-92.571c-15.429-20-7.429-36 17.714-36h45.714v-585.143h-45.714c-25.143 0-33.143-16-17.714-36l72-92.571c15.429-20 40.571-20 56 0l72 92.571c15.429 20 7.429 36-17.714 36h-45.714v585.143h45.714zM46.286 73.714l30.857 15.429c4 1.714 108.571 2.857 120.571 2.857 50.286 0 100.571-2.286 150.857-2.286 41.143 0 81.714 0.571 122.857 0.571h167.429c22.857 0 36 5.143 51.429-16.571l24-0.571c5.143 0 10.857 0.571 16 0.571 1.143 64 1.143 128 1.143 192 0 20 0.571 42.286-2.857 62.286-12.571 4.571-25.714 8.571-38.857 10.286-13.143-22.857-22.286-48-30.857-73.143-4-11.429-17.714-88.571-18.857-89.714-12-14.857-25.143-12-42.857-12-52 0-106.286-2.286-157.714 4-2.857 25.143-5.143 52-4.571 77.714 0.571 160.571 2.286 321.143 2.286 481.714 0 44-6.857 90.286 5.714 132.571 43.429 22.286 94.857 25.714 139.429 45.714 1.143 9.143 2.857 18.857 2.857 28.571 0 5.143-0.571 10.857-1.714 16.571l-19.429 0.571c-81.143 2.286-161.143-10.286-242.857-10.286-57.714 0-115.429 10.286-173.143 10.286-0.571-9.714-1.714-20-1.714-29.714v-5.143c21.714-34.857 100-35.429 136-56.571 12.571-28 10.857-182.857 10.857-218.857 0-115.429-3.429-230.857-3.429-346.286v-66.857c0-10.286 2.286-51.429-4.571-59.429-8-8.571-82.857-6.857-92.571-6.857-21.143 0-82.286 9.714-98.857 21.714-27.429 18.857-27.429 133.143-61.714 135.429-10.286-6.286-24.571-15.429-32-25.143v-218.857z"],"width":1029.7051428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["text-height"],"defaultCode":61492,"grid":14},"attrs":[],"properties":{"name":"text-height","id":53,"order":694,"prevSize":28,"code":61492},"setIdx":0,"setId":1,"iconIdx":58},{"icon":{"paths":["M46.286 73.714l30.857 15.429c4 1.714 108.571 2.857 120.571 2.857 50.286 0 100.571-2.286 150.857-2.286 151.429 0 304.571-3.429 456 1.714 12.571 0.571 24.571-7.429 32-17.714l24-0.571c5.143 0 10.857 0.571 16 0.571 1.143 64 1.143 128 1.143 192 0 20.571 0.571 42.286-2.857 62.286-12.571 4.571-25.714 8.571-38.857 10.286-13.143-22.857-22.286-48-30.857-73.143-4-11.429-18.286-88.571-18.857-89.714-4-5.143-9.143-8.571-15.429-10.857-4.571-1.714-32-1.143-37.714-1.143-70.286 0-151.429-4-220.571 4-2.857 25.143-5.143 52-4.571 77.714l0.571 86.857v-29.714c0.571 93.143 1.714 185.714 1.714 278.286 0 44-6.857 90.286 5.714 132.571 43.429 22.286 94.857 25.714 139.429 45.714 1.143 9.143 2.857 18.857 2.857 28.571 0 5.143-0.571 10.857-1.714 16.571l-19.429 0.571c-81.143 2.286-161.143-10.286-242.857-10.286-57.714 0-115.429 10.286-173.143 10.286-0.571-9.714-1.714-20-1.714-29.714v-5.143c21.714-34.857 100-35.429 136-56.571 14.286-32 10.286-302.286 10.286-352.571 0-8-2.857-16.571-2.857-25.143 0-23.429 4-157.714-4.571-167.429-8-8.571-82.857-6.857-92.571-6.857-24 0-158.286 12.571-172 21.714-26.857 17.714-27.429 132.571-61.714 135.429-10.286-6.286-24.571-15.429-32-25.143v-218.857zM748.571 806.286c20 0 96 68 111.429 80 8.571 6.857 14.857 16.571 14.857 28s-6.286 21.143-14.857 28c-15.429 12-91.429 80-111.429 80-26.286 0-17.143-61.143-17.143-71.429h-585.143c0 10.286 9.143 71.429-17.143 71.429-20 0-96-68-111.429-80-8.571-6.857-14.857-16.571-14.857-28s6.286-21.143 14.857-28c15.429-12 91.429-80 111.429-80 26.286 0 17.143 61.143 17.143 71.429h585.143c0-10.286-9.143-71.429 17.143-71.429z"],"width":878.2994285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["text-width"],"defaultCode":61493,"grid":14},"attrs":[],"properties":{"name":"text-width","id":54,"order":695,"prevSize":28,"code":61493},"setIdx":0,"setId":1,"iconIdx":59},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM804.571 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-731.429c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h731.429c20 0 36.571 16.571 36.571 36.571zM950.857 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-877.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h877.714c20 0 36.571 16.571 36.571 36.571zM731.429 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-658.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h658.286c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["align-left"],"defaultCode":61494,"grid":14},"attrs":[],"properties":{"name":"align-left","id":55,"order":57,"prevSize":28,"code":61494},"setIdx":0,"setId":1,"iconIdx":60},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM804.571 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571zM950.857 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM731.429 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-365.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h365.714c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["align-center"],"defaultCode":61495,"grid":14},"attrs":[],"properties":{"name":"align-center","id":56,"order":58,"prevSize":28,"code":61495},"setIdx":0,"setId":1,"iconIdx":61},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-731.429c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h731.429c20 0 36.571 16.571 36.571 36.571zM1024 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-877.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h877.714c20 0 36.571 16.571 36.571 36.571zM1024 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-658.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h658.286c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["align-right"],"defaultCode":61496,"grid":14},"attrs":[],"properties":{"name":"align-right","id":57,"order":59,"prevSize":28,"code":61496},"setIdx":0,"setId":1,"iconIdx":62},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["align-justify"],"defaultCode":61497,"grid":14},"attrs":[],"properties":{"name":"align-justify","id":58,"order":60,"prevSize":28,"code":61497},"setIdx":0,"setId":1,"iconIdx":63},{"icon":{"paths":["M146.286 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM146.286 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM146.286 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM146.286 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["list"],"defaultCode":61498,"grid":14},"attrs":[],"properties":{"name":"list","id":59,"order":61,"prevSize":28,"code":61498},"setIdx":0,"setId":1,"iconIdx":64},{"icon":{"paths":["M219.429 310.857v329.143c0 9.714-8.571 18.286-18.286 18.286-4.571 0-9.714-1.714-13.143-5.143l-164.571-164.571c-3.429-3.429-5.143-8.571-5.143-13.143s1.714-9.714 5.143-13.143l164.571-164.571c3.429-3.429 8.571-5.143 13.143-5.143 9.714 0 18.286 8.571 18.286 18.286zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["dedent","outdent"],"defaultCode":61499,"grid":14},"attrs":[],"properties":{"name":"dedent, outdent","id":60,"order":62,"prevSize":28,"code":61499},"setIdx":0,"setId":1,"iconIdx":65},{"icon":{"paths":["M201.143 475.429c0 4.571-1.714 9.714-5.143 13.143l-164.571 164.571c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8.571-18.286-18.286v-329.143c0-9.714 8.571-18.286 18.286-18.286 4.571 0 9.714 1.714 13.143 5.143l164.571 164.571c3.429 3.429 5.143 8.571 5.143 13.143zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["indent"],"defaultCode":61500,"grid":14},"attrs":[],"properties":{"name":"indent","id":61,"order":63,"prevSize":28,"code":61500},"setIdx":0,"setId":1,"iconIdx":66},{"icon":{"paths":["M207.429 877.714l52-52-134.286-134.286-52 52v61.143h73.143v73.143h61.143zM506.286 347.429c0-7.429-5.143-12.571-12.571-12.571-3.429 0-6.857 1.143-9.714 4l-309.714 309.714c-2.857 2.857-4 6.286-4 9.714 0 7.429 5.143 12.571 12.571 12.571 3.429 0 6.857-1.143 9.714-4l309.714-309.714c2.857-2.857 4-6.286 4-9.714zM475.429 237.714l237.714 237.714-475.429 475.429h-237.714v-237.714zM865.714 292.571c0 19.429-8 38.286-21.143 51.429l-94.857 94.857-237.714-237.714 94.857-94.286c13.143-13.714 32-21.714 51.429-21.714s38.286 8 52 21.714l134.286 133.714c13.143 13.714 21.143 32.571 21.143 52z"],"width":865.7188571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["pencil"],"defaultCode":61504,"grid":14},"attrs":[],"properties":{"name":"pencil","id":62,"order":66,"prevSize":28,"code":61504},"setIdx":0,"setId":1,"iconIdx":67},{"icon":{"paths":["M438.857 822.857v-621.714c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["adjust"],"defaultCode":61506,"grid":14},"attrs":[],"properties":{"name":"adjust","id":63,"order":68,"prevSize":28,"code":61506},"setIdx":0,"setId":1,"iconIdx":68},{"icon":{"paths":["M507.429 676.571l66.286-66.286-86.857-86.857-66.286 66.286v32h54.857v54.857h32zM758.857 265.143c-5.143-5.143-13.714-4.571-18.857 0.571l-200 200c-5.143 5.143-5.714 13.714-0.571 18.857s13.714 4.571 18.857-0.571l200-200c5.143-5.143 5.714-13.714 0.571-18.857zM804.571 604.571v108.571c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c22.857 0 45.714 4.571 66.857 14.286 5.143 2.286 9.143 7.429 10.286 13.143 1.143 6.286-0.571 12-5.143 16.571l-28 28c-5.143 5.143-12 6.857-18.286 4.571-8.571-2.286-17.143-3.429-25.714-3.429h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-72c0-4.571 1.714-9.143 5.143-12.571l36.571-36.571c5.714-5.714 13.143-6.857 20-4s11.429 9.143 11.429 16.571zM749.714 182.857l164.571 164.571-384 384h-164.571v-164.571zM1003.429 258.286l-52.571 52.571-164.571-164.571 52.571-52.571c21.143-21.143 56.571-21.143 77.714 0l86.857 86.857c21.143 21.143 21.143 56.571 0 77.714z"],"width":1024.5851428571427,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["edit","pencil-square-o"],"defaultCode":61508,"grid":14},"attrs":[],"properties":{"name":"edit, pencil-square-o","id":64,"order":70,"prevSize":28,"code":61508},"setIdx":0,"setId":1,"iconIdx":69},{"icon":{"paths":["M804.571 565.143v148c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h145.714c9.714 0 18.286 8 18.286 18.286 0 9.143-6.286 16.571-14.857 18.286-28.571 9.714-54.286 21.143-76 34.286-2.857 1.143-5.714 2.286-9.143 2.286h-64c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-122.286c0-6.857 4-13.143 10.286-16.571 11.429-5.143 21.714-12.571 30.857-21.143 5.143-5.143 13.143-7.429 20-4.571s12 9.143 12 16.571zM940 281.714l-219.429 219.429c-6.857 7.429-16 10.857-25.714 10.857-4.571 0-9.714-1.143-14.286-2.857-13.143-5.714-22.286-18.857-22.286-33.714v-109.714h-91.429c-125.714 0-205.714 24-250.286 74.857-46.286 53.143-60 138.857-42.286 270.286 1.143 8-4 16-11.429 19.429-2.286 0.571-4.571 1.143-6.857 1.143-5.714 0-11.429-2.857-14.857-7.429-4-5.714-94.857-134.286-94.857-248.571 0-153.143 48-329.143 420.571-329.143h91.429v-109.714c0-14.857 9.143-28 22.286-33.714 4.571-1.714 9.714-2.857 14.286-2.857 9.714 0 18.857 4 25.714 10.857l219.429 219.429c14.286 14.286 14.286 37.143 0 51.429z"],"width":954.2948571428572,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["share-square-o"],"defaultCode":61509,"grid":14},"attrs":[],"properties":{"name":"share-square-o","id":65,"order":71,"prevSize":28,"code":61509},"setIdx":0,"setId":1,"iconIdx":70},{"icon":{"paths":["M804.571 531.429v181.714c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c22.857 0 45.714 4.571 66.857 14.286 5.143 2.286 9.143 7.429 10.286 13.143 1.143 6.286-0.571 12-5.143 16.571l-28 28c-3.429 3.429-8.571 5.714-13.143 5.714-1.714 0-3.429-0.571-5.143-1.143-8.571-2.286-17.143-3.429-25.714-3.429h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-145.143c0-4.571 1.714-9.143 5.143-12.571l36.571-36.571c4-4 8.571-5.714 13.143-5.714 2.286 0 4.571 0.571 6.857 1.714 6.857 2.857 11.429 9.143 11.429 16.571zM936.571 252l-465.143 465.143c-18.286 18.286-46.857 18.286-65.143 0l-245.714-245.714c-18.286-18.286-18.286-46.857 0-65.143l62.857-62.857c18.286-18.286 46.857-18.286 65.143 0l150.286 150.286 369.714-369.714c18.286-18.286 46.857-18.286 65.143 0l62.857 62.857c18.286 18.286 18.286 46.857 0 65.143z"],"width":954.8799999999999,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["check-square-o"],"defaultCode":61510,"grid":14},"attrs":[],"properties":{"name":"check-square-o","id":66,"order":719,"prevSize":28,"code":61510},"setIdx":0,"setId":1,"iconIdx":71},{"icon":{"paths":["M1024 512c0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-73.143h-219.429v219.429h73.143c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h73.143v-219.429h-219.429v73.143c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v73.143h219.429v-219.429h-73.143c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-73.143v219.429h219.429v-73.143c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrows"],"defaultCode":61511,"grid":14},"attrs":[],"properties":{"name":"arrows","id":67,"order":73,"prevSize":28,"code":61511},"setIdx":0,"setId":1,"iconIdx":72},{"icon":{"paths":["M559.429 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v387.429c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v387.429c1.714-4 4-7.429 7.429-10.857z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["step-backward"],"defaultCode":61512,"grid":14},"attrs":[],"properties":{"name":"step-backward","id":68,"order":74,"prevSize":28,"code":61512},"setIdx":0,"setId":1,"iconIdx":73},{"icon":{"paths":["M998.286 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v405.714c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v387.429c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v387.429c1.714-4 4-7.429 7.429-10.857l405.714-405.714c14.286-14.286 25.714-9.143 25.714 10.857v405.714c1.714-4 4-7.429 7.429-10.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["fast-backward"],"defaultCode":61513,"grid":14},"attrs":[],"properties":{"name":"fast-backward","id":69,"order":75,"prevSize":28,"code":61513},"setIdx":0,"setId":1,"iconIdx":74},{"icon":{"paths":["M925.143 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v405.714c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-14.286-14.286-14.286-37.143 0-51.429l405.714-405.714c14.286-14.286 25.714-9.143 25.714 10.857v405.714c1.714-4 4-7.429 7.429-10.857z"],"width":1017.1245714285715,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["backward"],"defaultCode":61514,"grid":14},"attrs":[],"properties":{"name":"backward","id":70,"order":76,"prevSize":28,"code":61514},"setIdx":0,"setId":1,"iconIdx":75},{"icon":{"paths":["M790.857 529.714l-758.857 421.714c-17.714 9.714-32 1.143-32-18.857v-841.143c0-20 14.286-28.571 32-18.857l758.857 421.714c17.714 9.714 17.714 25.714 0 35.429z"],"width":808.5942857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["play"],"defaultCode":61515,"grid":14},"attrs":[],"properties":{"name":"play","id":71,"order":77,"prevSize":28,"code":61515},"setIdx":0,"setId":1,"iconIdx":76},{"icon":{"paths":["M877.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-292.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571zM365.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-292.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["pause"],"defaultCode":61516,"grid":14},"attrs":[],"properties":{"name":"pause","id":72,"order":78,"prevSize":28,"code":61516},"setIdx":0,"setId":1,"iconIdx":77},{"icon":{"paths":["M877.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["stop"],"defaultCode":61517,"grid":14},"attrs":[],"properties":{"name":"stop","id":73,"order":79,"prevSize":28,"code":61517},"setIdx":0,"setId":1,"iconIdx":78},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-405.714c0-20 11.429-25.143 25.714-10.857l405.714 405.714c14.286 14.286 14.286 37.143 0 51.429l-405.714 405.714c-14.286 14.286-25.714 9.143-25.714-10.857v-405.714c-1.714 4-4 7.429-7.429 10.857z"],"width":884.5897142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["forward"],"defaultCode":61518,"grid":14},"attrs":[],"properties":{"name":"forward","id":74,"order":80,"prevSize":28,"code":61518},"setIdx":0,"setId":1,"iconIdx":79},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-405.714c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-387.429c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v804.571c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-387.429c-1.714 4-4 7.429-7.429 10.857l-405.714 405.714c-14.286 14.286-25.714 9.143-25.714-10.857v-405.714c-1.714 4-4 7.429-7.429 10.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["fast-forward"],"defaultCode":61520,"grid":14},"attrs":[],"properties":{"name":"fast-forward","id":75,"order":81,"prevSize":28,"code":61520},"setIdx":0,"setId":1,"iconIdx":80},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-387.429c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v804.571c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-387.429c-1.714 4-4 7.429-7.429 10.857z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["step-forward"],"defaultCode":61521,"grid":14},"attrs":[],"properties":{"name":"step-forward","id":76,"order":82,"prevSize":28,"code":61521},"setIdx":0,"setId":1,"iconIdx":81},{"icon":{"paths":["M8 559.429l405.714-405.714c14.286-14.286 37.143-14.286 51.429 0l405.714 405.714c14.286 14.286 9.143 25.714-10.857 25.714h-841.143c-20 0-25.143-11.429-10.857-25.714zM841.714 877.714h-804.571c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571v146.286c0 20-16.571 36.571-36.571 36.571z"],"width":878.8845714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["eject"],"defaultCode":61522,"grid":14},"attrs":[],"properties":{"name":"eject","id":77,"order":83,"prevSize":28,"code":61522},"setIdx":0,"setId":1,"iconIdx":82},{"icon":{"paths":["M669.143 172l-303.429 303.429 303.429 303.429c14.286 14.286 14.286 37.143 0 51.429l-94.857 94.857c-14.286 14.286-37.143 14.286-51.429 0l-424-424c-14.286-14.286-14.286-37.143 0-51.429l424-424c14.286-14.286 37.143-14.286 51.429 0l94.857 94.857c14.286 14.286 14.286 37.143 0 51.429z"],"width":768,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-left"],"defaultCode":61523,"grid":14},"attrs":[],"properties":{"name":"chevron-left","id":78,"order":84,"prevSize":28,"code":61523},"setIdx":0,"setId":1,"iconIdx":83},{"icon":{"paths":["M632.571 501.143l-424 424c-14.286 14.286-37.143 14.286-51.429 0l-94.857-94.857c-14.286-14.286-14.286-37.143 0-51.429l303.429-303.429-303.429-303.429c-14.286-14.286-14.286-37.143 0-51.429l94.857-94.857c14.286-14.286 37.143-14.286 51.429 0l424 424c14.286 14.286 14.286 37.143 0 51.429z"],"width":694.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-right"],"defaultCode":61524,"grid":14},"attrs":[],"properties":{"name":"chevron-right","id":79,"order":85,"prevSize":28,"code":61524},"setIdx":0,"setId":1,"iconIdx":84},{"icon":{"paths":["M694.857 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-146.286v-146.286c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v146.286h-146.286c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h146.286v146.286c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-146.286h146.286c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["plus-circle"],"defaultCode":61525,"grid":14},"attrs":[],"properties":{"name":"plus-circle","id":80,"order":86,"prevSize":28,"code":61525},"setIdx":0,"setId":1,"iconIdx":85},{"icon":{"paths":["M694.857 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["minus-circle"],"defaultCode":61526,"grid":14},"attrs":[],"properties":{"name":"minus-circle","id":81,"order":87,"prevSize":28,"code":61526},"setIdx":0,"setId":1,"iconIdx":86},{"icon":{"paths":["M656.571 641.143c0-9.714-4-18.857-10.857-25.714l-103.429-103.429 103.429-103.429c6.857-6.857 10.857-16 10.857-25.714s-4-19.429-10.857-26.286l-51.429-51.429c-6.857-6.857-16.571-10.857-26.286-10.857s-18.857 4-25.714 10.857l-103.429 103.429-103.429-103.429c-6.857-6.857-16-10.857-25.714-10.857s-19.429 4-26.286 10.857l-51.429 51.429c-6.857 6.857-10.857 16.571-10.857 26.286s4 18.857 10.857 25.714l103.429 103.429-103.429 103.429c-6.857 6.857-10.857 16-10.857 25.714s4 19.429 10.857 26.286l51.429 51.429c6.857 6.857 16.571 10.857 26.286 10.857s18.857-4 25.714-10.857l103.429-103.429 103.429 103.429c6.857 6.857 16 10.857 25.714 10.857s19.429-4 26.286-10.857l51.429-51.429c6.857-6.857 10.857-16.571 10.857-26.286zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["times-circle"],"defaultCode":61527,"grid":14},"attrs":[],"properties":{"name":"times-circle","id":82,"order":88,"prevSize":28,"code":61527},"setIdx":0,"setId":1,"iconIdx":87},{"icon":{"paths":["M733.714 419.429c0-9.714-3.429-19.429-10.286-26.286l-52-51.429c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-233.143 232.571-129.143-129.143c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-52 51.429c-6.857 6.857-10.286 16.571-10.286 26.286s3.429 18.857 10.286 25.714l206.857 206.857c6.857 6.857 16.571 10.857 25.714 10.857 9.714 0 19.429-4 26.286-10.857l310.286-310.286c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["check-circle"],"defaultCode":61528,"grid":14},"attrs":[],"properties":{"name":"check-circle","id":83,"order":89,"prevSize":28,"code":61528},"setIdx":0,"setId":1,"iconIdx":88},{"icon":{"paths":["M512 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-109.714c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286zM658.286 402.286c0-104.571-109.714-182.857-208-182.857-93.143 0-162.857 40-212 121.714-5.143 8-2.857 18.286 4.571 24l75.429 57.143c2.857 2.286 6.857 3.429 10.857 3.429 5.143 0 10.857-2.286 14.286-6.857 26.857-34.286 38.286-44.571 49.143-52.571 9.714-6.857 28.571-13.714 49.143-13.714 36.571 0 70.286 23.429 70.286 48.571 0 29.714-15.429 44.571-50.286 60.571-40.571 18.286-96 65.714-96 121.143v20.571c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286v0c0-13.143 16.571-41.143 43.429-56.571 43.429-24.571 102.857-57.714 102.857-144.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["question-circle"],"defaultCode":61529,"grid":14},"attrs":[],"properties":{"name":"question-circle","id":84,"order":90,"prevSize":28,"code":61529},"setIdx":0,"setId":1,"iconIdx":89},{"icon":{"paths":["M585.143 786.286v-91.429c0-10.286-8-18.286-18.286-18.286h-54.857v-292.571c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h54.857v182.857h-54.857c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h256c10.286 0 18.286-8 18.286-18.286zM512 274.286v-91.429c0-10.286-8-18.286-18.286-18.286h-109.714c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["info-circle"],"defaultCode":61530,"grid":14},"attrs":[],"properties":{"name":"info-circle","id":85,"order":91,"prevSize":28,"code":61530},"setIdx":0,"setId":1,"iconIdx":90},{"icon":{"paths":["M684 585.143h-62.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h62.286c-24.571-82.286-89.714-147.429-172-172v62.286c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-62.286c-82.286 24.571-147.429 89.714-172 172h62.286c20 0 36.571 16.571 36.571 36.571v73.143c0 20-16.571 36.571-36.571 36.571h-62.286c24.571 82.286 89.714 147.429 172 172v-62.286c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v62.286c82.286-24.571 147.429-89.714 172-172zM877.714 475.429v73.143c0 20-16.571 36.571-36.571 36.571h-81.714c-28 122.857-124.571 219.429-247.429 247.429v81.714c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-81.714c-122.857-28-219.429-124.571-247.429-247.429h-81.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h81.714c28-122.857 124.571-219.429 247.429-247.429v-81.714c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v81.714c122.857 28 219.429 124.571 247.429 247.429h81.714c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["crosshairs"],"defaultCode":61531,"grid":14},"attrs":[],"properties":{"name":"crosshairs","id":86,"order":92,"prevSize":28,"code":61531},"setIdx":0,"setId":1,"iconIdx":91},{"icon":{"paths":["M626.857 616.571l-83.429 83.429c-7.429 7.429-18.857 7.429-26.286 0l-78.286-78.286-78.286 78.286c-7.429 7.429-18.857 7.429-26.286 0l-83.429-83.429c-7.429-7.429-7.429-18.857 0-26.286l78.286-78.286-78.286-78.286c-7.429-7.429-7.429-18.857 0-26.286l83.429-83.429c7.429-7.429 18.857-7.429 26.286 0l78.286 78.286 78.286-78.286c7.429-7.429 18.857-7.429 26.286 0l83.429 83.429c7.429 7.429 7.429 18.857 0 26.286l-78.286 78.286 78.286 78.286c7.429 7.429 7.429 18.857 0 26.286zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["times-circle-o"],"defaultCode":61532,"grid":14},"attrs":[],"properties":{"name":"times-circle-o","id":87,"order":93,"prevSize":28,"code":61532},"setIdx":0,"setId":1,"iconIdx":92},{"icon":{"paths":["M669.143 464.571l-241.143 241.143c-14.286 14.286-37.143 14.286-51.429 0l-168-168c-14.286-14.286-14.286-37.143 0-51.429l58.286-58.286c14.286-14.286 37.143-14.286 51.429 0l84 84 157.143-157.143c14.286-14.286 37.143-14.286 51.429 0l58.286 58.286c14.286 14.286 14.286 37.143 0 51.429zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["check-circle-o"],"defaultCode":61533,"grid":14},"attrs":[],"properties":{"name":"check-circle-o","id":88,"order":94,"prevSize":28,"code":61533},"setIdx":0,"setId":1,"iconIdx":93},{"icon":{"paths":["M749.714 510.286c0-62.286-18.286-120-49.714-168.571l-430.857 430.286c49.143 32 107.429 50.857 169.714 50.857 171.429 0 310.857-140 310.857-312.571zM178.857 681.143l431.429-430.857c-49.143-33.143-108-52-171.429-52-171.429 0-310.857 140-310.857 312 0 63.429 18.857 121.714 50.857 170.857zM877.714 510.286c0 243.429-196.571 440.571-438.857 440.571s-438.857-197.143-438.857-440.571c0-242.857 196.571-440 438.857-440s438.857 197.143 438.857 440z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["ban"],"defaultCode":61534,"grid":14},"attrs":[],"properties":{"name":"ban","id":89,"order":95,"prevSize":28,"code":61534},"setIdx":0,"setId":1,"iconIdx":94},{"icon":{"paths":["M877.714 512v73.143c0 38.857-25.714 73.143-66.857 73.143h-402.286l167.429 168c13.714 13.143 21.714 32 21.714 51.429s-8 38.286-21.714 51.429l-42.857 43.429c-13.143 13.143-32 21.143-51.429 21.143s-38.286-8-52-21.143l-372-372.571c-13.143-13.143-21.143-32-21.143-51.429s8-38.286 21.143-52l372-371.429c13.714-13.714 32.571-21.714 52-21.714s37.714 8 51.429 21.714l42.857 42.286c13.714 13.714 21.714 32.571 21.714 52s-8 38.286-21.714 52l-167.429 167.429h402.286c41.143 0 66.857 34.286 66.857 73.143z"],"width":914.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-left"],"defaultCode":61536,"grid":14},"attrs":[],"properties":{"name":"arrow-left","id":90,"order":96,"prevSize":28,"code":61536},"setIdx":0,"setId":1,"iconIdx":95},{"icon":{"paths":["M841.143 548.571c0 19.429-7.429 38.286-21.143 52l-372 372c-13.714 13.143-32.571 21.143-52 21.143s-37.714-8-51.429-21.143l-42.857-42.857c-13.714-13.714-21.714-32.571-21.714-52s8-38.286 21.714-52l167.429-167.429h-402.286c-41.143 0-66.857-34.286-66.857-73.143v-73.143c0-38.857 25.714-73.143 66.857-73.143h402.286l-167.429-168c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-51.429l42.857-42.857c13.714-13.714 32-21.714 51.429-21.714s38.286 8 52 21.714l372 372c13.714 13.143 21.143 32 21.143 51.429z"],"width":841.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-right"],"defaultCode":61537,"grid":14},"attrs":[],"properties":{"name":"arrow-right","id":91,"order":97,"prevSize":28,"code":61537},"setIdx":0,"setId":1,"iconIdx":96},{"icon":{"paths":["M920.571 554.857c0 19.429-8 37.714-21.143 51.429l-42.857 42.857c-13.714 13.714-32.571 21.714-52 21.714s-38.286-8-51.429-21.714l-168-167.429v402.286c0 41.143-34.286 66.857-73.143 66.857h-73.143c-38.857 0-73.143-25.714-73.143-66.857v-402.286l-168 167.429c-13.143 13.714-32 21.714-51.429 21.714s-38.286-8-51.429-21.714l-42.857-42.857c-13.714-13.714-21.714-32-21.714-51.429s8-38.286 21.714-52l372-372c13.143-13.714 32-21.143 51.429-21.143s38.286 7.429 52 21.143l372 372c13.143 13.714 21.143 32.571 21.143 52z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-up"],"defaultCode":61538,"grid":14},"attrs":[],"properties":{"name":"arrow-up","id":92,"order":98,"prevSize":28,"code":61538},"setIdx":0,"setId":1,"iconIdx":97},{"icon":{"paths":["M920.571 475.429c0 19.429-8 38.286-21.143 51.429l-372 372.571c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-372-372.571c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-52l42.286-42.857c13.714-13.143 32.571-21.143 52-21.143s38.286 8 51.429 21.143l168 168v-402.286c0-40 33.143-73.143 73.143-73.143h73.143c40 0 73.143 33.143 73.143 73.143v402.286l168-168c13.143-13.143 32-21.143 51.429-21.143s38.286 8 52 21.143l42.857 42.857c13.143 13.714 21.143 32.571 21.143 52z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-down"],"defaultCode":61539,"grid":14},"attrs":[],"properties":{"name":"arrow-down","id":93,"order":99,"prevSize":28,"code":61539},"setIdx":0,"setId":1,"iconIdx":98},{"icon":{"paths":["M1024 365.714c0 9.714-4 18.857-10.857 25.714l-292.571 292.571c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-146.286h-128c-246.286 0-408 47.429-408 320 0 23.429 1.143 46.857 2.857 70.286 0.571 9.143 2.857 19.429 2.857 28.571 0 10.857-6.857 20-18.286 20-8 0-12-4-16-9.714-8.571-12-14.857-30.286-21.143-43.429-32.571-73.143-72.571-177.714-72.571-257.714 0-64 6.286-129.714 30.286-190.286 79.429-197.143 312.571-230.286 500-230.286h128v-146.286c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l292.571 292.571c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["mail-forward","share"],"defaultCode":61540,"grid":14},"attrs":[],"properties":{"name":"mail-forward, share","id":94,"order":100,"prevSize":28,"code":61540},"setIdx":0,"setId":1,"iconIdx":99},{"icon":{"paths":["M431.429 603.429c0 4.571-2.286 9.714-5.714 13.143l-189.714 189.714 82.286 82.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l82.286 82.286 189.714-189.714c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l65.143 65.143c3.429 3.429 5.714 8.571 5.714 13.143zM877.714 109.714v256c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-82.286-82.286-189.714 189.714c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l189.714-189.714-82.286-82.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["expand"],"defaultCode":61541,"grid":14},"attrs":[],"properties":{"name":"expand","id":95,"order":101,"prevSize":28,"code":61541},"setIdx":0,"setId":1,"iconIdx":100},{"icon":{"paths":["M438.857 548.571v256c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-82.286-82.286-189.714 189.714c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l189.714-189.714-82.286-82.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571zM870.286 164.571c0 4.571-2.286 9.714-5.714 13.143l-189.714 189.714 82.286 82.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l82.286 82.286 189.714-189.714c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l65.143 65.143c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["compress"],"defaultCode":61542,"grid":14},"attrs":[],"properties":{"name":"compress","id":96,"order":102,"prevSize":28,"code":61542},"setIdx":0,"setId":1,"iconIdx":101},{"icon":{"paths":["M438.857 73.143c242.286 0 438.857 196.571 438.857 438.857s-196.571 438.857-438.857 438.857-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857zM512 785.714v-108.571c0-10.286-8-18.857-17.714-18.857h-109.714c-10.286 0-18.857 8.571-18.857 18.857v108.571c0 10.286 8.571 18.857 18.857 18.857h109.714c9.714 0 17.714-8.571 17.714-18.857zM510.857 589.143l10.286-354.857c0-4-1.714-8-5.714-10.286-3.429-2.857-8.571-4.571-13.714-4.571h-125.714c-5.143 0-10.286 1.714-13.714 4.571-4 2.286-5.714 6.286-5.714 10.286l9.714 354.857c0 8 8.571 14.286 19.429 14.286h105.714c10.286 0 18.857-6.286 19.429-14.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["exclamation-circle"],"defaultCode":61546,"grid":14},"attrs":[],"properties":{"name":"exclamation-circle","id":97,"order":103,"prevSize":28,"code":61546},"setIdx":0,"setId":1,"iconIdx":102},{"icon":{"paths":["M950.857 548.571c-54.286-84-128.571-156-217.714-201.714 22.857 38.857 34.857 83.429 34.857 128.571 0 141.143-114.857 256-256 256s-256-114.857-256-256c0-45.143 12-89.714 34.857-128.571-89.143 45.714-163.429 117.714-217.714 201.714 97.714 150.857 255.429 256 438.857 256s341.143-105.143 438.857-256zM539.429 329.143c0-14.857-12.571-27.429-27.429-27.429-95.429 0-173.714 78.286-173.714 173.714 0 14.857 12.571 27.429 27.429 27.429s27.429-12.571 27.429-27.429c0-65.143 53.714-118.857 118.857-118.857 14.857 0 27.429-12.571 27.429-27.429zM1024 548.571c0 14.286-4.571 27.429-11.429 39.429-105.143 173.143-297.714 289.714-500.571 289.714s-395.429-117.143-500.571-289.714c-6.857-12-11.429-25.143-11.429-39.429s4.571-27.429 11.429-39.429c105.143-172.571 297.714-289.714 500.571-289.714s395.429 117.143 500.571 289.714c6.857 12 11.429 25.143 11.429 39.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["eye"],"defaultCode":61550,"grid":14},"attrs":[],"properties":{"name":"eye","id":98,"order":107,"prevSize":28,"code":61550},"setIdx":0,"setId":1,"iconIdx":103},{"icon":{"paths":["M317.143 762.857l44.571-80.571c-66.286-48-105.714-125.143-105.714-206.857 0-45.143 12-89.714 34.857-128.571-89.143 45.714-163.429 117.714-217.714 201.714 59.429 92 143.429 169.143 244 214.286zM539.429 329.143c0-14.857-12.571-27.429-27.429-27.429-95.429 0-173.714 78.286-173.714 173.714 0 14.857 12.571 27.429 27.429 27.429s27.429-12.571 27.429-27.429c0-65.714 53.714-118.857 118.857-118.857 14.857 0 27.429-12.571 27.429-27.429zM746.857 220c0 1.143 0 4-0.571 5.143-120.571 215.429-240 432-360.571 647.429l-28 50.857c-3.429 5.714-9.714 9.143-16 9.143-10.286 0-64.571-33.143-76.571-40-5.714-3.429-9.143-9.143-9.143-16 0-9.143 19.429-40 25.143-49.714-110.857-50.286-204-136-269.714-238.857-7.429-11.429-11.429-25.143-11.429-39.429 0-13.714 4-28 11.429-39.429 113.143-173.714 289.714-289.714 500.571-289.714 34.286 0 69.143 3.429 102.857 9.714l30.857-55.429c3.429-5.714 9.143-9.143 16-9.143 10.286 0 64 33.143 76 40 5.714 3.429 9.143 9.143 9.143 15.429zM768 475.429c0 106.286-65.714 201.143-164.571 238.857l160-286.857c2.857 16 4.571 32 4.571 48zM1024 548.571c0 14.857-4 26.857-11.429 39.429-17.714 29.143-40 57.143-62.286 82.857-112 128.571-266.286 206.857-438.286 206.857l42.286-75.429c166.286-14.286 307.429-115.429 396.571-253.714-42.286-65.714-96.571-123.429-161.143-168l36-64c70.857 47.429 142.286 118.857 186.857 192.571 7.429 12.571 11.429 24.571 11.429 39.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["eye-slash"],"defaultCode":61552,"grid":14},"attrs":[],"properties":{"name":"eye-slash","id":99,"order":108,"prevSize":28,"code":61552},"setIdx":0,"setId":1,"iconIdx":104},{"icon":{"paths":["M585.143 785.714v-108.571c0-10.286-8-18.857-18.286-18.857h-109.714c-10.286 0-18.286 8.571-18.286 18.857v108.571c0 10.286 8 18.857 18.286 18.857h109.714c10.286 0 18.286-8.571 18.286-18.857zM584 572l10.286-262.286c0-3.429-1.714-8-5.714-10.857-3.429-2.857-8.571-6.286-13.714-6.286h-125.714c-5.143 0-10.286 3.429-13.714 6.286-4 2.857-5.714 8.571-5.714 12l9.714 261.143c0 7.429 8.571 13.143 19.429 13.143h105.714c10.286 0 18.857-5.714 19.429-13.143zM576 38.286l438.857 804.571c12.571 22.286 12 49.714-1.143 72s-37.143 36-62.857 36h-877.714c-25.714 0-49.714-13.714-62.857-36s-13.714-49.714-1.143-72l438.857-804.571c12.571-23.429 37.143-38.286 64-38.286s51.429 14.857 64 38.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["exclamation-triangle","warning"],"defaultCode":61553,"grid":14},"attrs":[],"properties":{"name":"exclamation-triangle, warning","id":100,"order":109,"prevSize":28,"code":61553},"setIdx":0,"setId":1,"iconIdx":105},{"icon":{"paths":["M73.143 950.857h164.571v-164.571h-164.571v164.571zM274.286 950.857h182.857v-164.571h-182.857v164.571zM73.143 749.714h164.571v-182.857h-164.571v182.857zM274.286 749.714h182.857v-182.857h-182.857v182.857zM73.143 530.286h164.571v-164.571h-164.571v164.571zM493.714 950.857h182.857v-164.571h-182.857v164.571zM274.286 530.286h182.857v-164.571h-182.857v164.571zM713.143 950.857h164.571v-164.571h-164.571v164.571zM493.714 749.714h182.857v-182.857h-182.857v182.857zM292.571 256v-164.571c0-9.714-8.571-18.286-18.286-18.286h-36.571c-9.714 0-18.286 8.571-18.286 18.286v164.571c0 9.714 8.571 18.286 18.286 18.286h36.571c9.714 0 18.286-8.571 18.286-18.286zM713.143 749.714h164.571v-182.857h-164.571v182.857zM493.714 530.286h182.857v-164.571h-182.857v164.571zM713.143 530.286h164.571v-164.571h-164.571v164.571zM731.429 256v-164.571c0-9.714-8.571-18.286-18.286-18.286h-36.571c-9.714 0-18.286 8.571-18.286 18.286v164.571c0 9.714 8.571 18.286 18.286 18.286h36.571c9.714 0 18.286-8.571 18.286-18.286zM950.857 219.429v731.429c0 40-33.143 73.143-73.143 73.143h-804.571c-40 0-73.143-33.143-73.143-73.143v-731.429c0-40 33.143-73.143 73.143-73.143h73.143v-54.857c0-50.286 41.143-91.429 91.429-91.429h36.571c50.286 0 91.429 41.143 91.429 91.429v54.857h219.429v-54.857c0-50.286 41.143-91.429 91.429-91.429h36.571c50.286 0 91.429 41.143 91.429 91.429v54.857h73.143c40 0 73.143 33.143 73.143 73.143z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["calendar"],"defaultCode":61555,"grid":14},"attrs":[],"properties":{"name":"calendar","id":101,"order":111,"prevSize":28,"code":61555},"setIdx":0,"setId":1,"iconIdx":106},{"icon":{"paths":["M380.571 274.857c-32 49.143-55.429 102.286-78.286 156-33.143-69.143-69.714-138.286-156-138.286h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128c101.714 0 176.571 47.429 234.286 128.571zM1024 731.429c0 4.571-1.714 9.714-5.143 13.143l-182.857 182.857c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8.571-18.286-18.286v-109.714c-169.714 0-274.286 20-380-128.571 31.429-49.143 54.857-102.286 77.714-156 33.143 69.143 69.714 138.286 156 138.286h146.286v-109.714c0-10.286 8-18.286 18.286-18.286 5.143 0 9.714 2.286 13.714 5.714l182.286 182.286c3.429 3.429 5.143 8.571 5.143 13.143zM1024 219.429c0 4.571-1.714 9.714-5.143 13.143l-182.857 182.857c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8-18.286-18.286v-109.714h-146.286c-76 0-112 52-144 113.714-16.571 32-30.857 65.143-44.571 97.714-63.429 147.429-137.714 300.571-323.429 300.571h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128c76 0 112-52 144-113.714 16.571-32 30.857-65.143 44.571-97.714 63.429-147.429 137.714-300.571 323.429-300.571h146.286v-109.714c0-10.286 8-18.286 18.286-18.286 5.143 0 9.714 2.286 13.714 5.714l182.286 182.286c3.429 3.429 5.143 8.571 5.143 13.143z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["random"],"defaultCode":61556,"grid":14},"attrs":[],"properties":{"name":"random","id":102,"order":112,"prevSize":28,"code":61556},"setIdx":0,"setId":1,"iconIdx":107},{"icon":{"paths":["M1024 512c0 202.286-229.143 365.714-512 365.714-28 0-56-1.714-82.857-4.571-74.857 66.286-164 113.143-262.857 138.286-20.571 5.714-42.857 9.714-65.143 12.571-12.571 1.143-24.571-8-27.429-21.714v-0.571c-2.857-14.286 6.857-22.857 15.429-33.143 36-40.571 77.143-74.857 104-170.286-117.714-66.857-193.143-170.286-193.143-286.286 0-201.714 229.143-365.714 512-365.714s512 163.429 512 365.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["comment"],"defaultCode":61557,"grid":14},"attrs":[],"properties":{"name":"comment","id":103,"order":113,"prevSize":28,"code":61557},"setIdx":0,"setId":1,"iconIdx":108},{"icon":{"paths":["M961.714 760.571l-94.857 94.286c-14.286 14.286-37.143 14.286-51.429 0l-303.429-303.429-303.429 303.429c-14.286 14.286-37.143 14.286-51.429 0l-94.857-94.286c-14.286-14.286-14.286-37.714 0-52l424-423.429c14.286-14.286 37.143-14.286 51.429 0l424 423.429c14.286 14.286 14.286 37.714 0 52z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-up"],"defaultCode":61559,"grid":14},"attrs":[],"properties":{"name":"chevron-up","id":104,"order":115,"prevSize":28,"code":61559},"setIdx":0,"setId":1,"iconIdx":109},{"icon":{"paths":["M961.714 461.714l-424 423.429c-14.286 14.286-37.143 14.286-51.429 0l-424-423.429c-14.286-14.286-14.286-37.714 0-52l94.857-94.286c14.286-14.286 37.143-14.286 51.429 0l303.429 303.429 303.429-303.429c14.286-14.286 37.143-14.286 51.429 0l94.857 94.286c14.286 14.286 14.286 37.714 0 52z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-down"],"defaultCode":61560,"grid":14},"attrs":[],"properties":{"name":"chevron-down","id":105,"order":116,"prevSize":28,"code":61560},"setIdx":0,"setId":1,"iconIdx":110},{"icon":{"paths":["M731.429 859.429c0 9.714-8.571 18.286-18.286 18.286h-548.571c-21.143 0-18.286-22.286-18.286-36.571v-329.143h-109.714c-20 0-36.571-16.571-36.571-36.571 0-8.571 2.857-17.143 8.571-23.429l182.857-219.429c6.857-8 17.143-12.571 28-12.571s21.143 4.571 28 12.571l182.857 219.429c5.714 6.286 8.571 14.857 8.571 23.429 0 20-16.571 36.571-36.571 36.571h-109.714v219.429h329.143c5.143 0 10.857 2.286 14.286 6.286l91.429 109.714c2.286 3.429 4 8 4 12zM1097.143 621.714c0 8.571-2.857 17.143-8.571 23.429l-182.857 219.429c-6.857 8-17.143 13.143-28 13.143s-21.143-5.143-28-13.143l-182.857-219.429c-5.714-6.286-8.571-14.857-8.571-23.429 0-20 16.571-36.571 36.571-36.571h109.714v-219.429h-329.143c-5.143 0-10.857-2.286-14.286-6.857l-91.429-109.714c-2.286-2.857-4-7.429-4-11.429 0-9.714 8.571-18.286 18.286-18.286h548.571c21.143 0 18.286 22.286 18.286 36.571v329.143h109.714c20 0 36.571 16.571 36.571 36.571z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["retweet"],"defaultCode":61561,"grid":14},"attrs":[],"properties":{"name":"retweet","id":106,"order":117,"prevSize":28,"code":61561},"setIdx":0,"setId":1,"iconIdx":111},{"icon":{"paths":["M950.857 347.429v402.286c0 70.286-57.714 128-128 128h-694.857c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h384c70.286 0 128 57.714 128 128z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["folder"],"defaultCode":61563,"grid":14},"attrs":[],"properties":{"name":"folder","id":107,"order":119,"prevSize":28,"code":61563},"setIdx":0,"setId":1,"iconIdx":112},{"icon":{"paths":["M1073.714 544c0 13.714-8.571 27.429-17.714 37.714l-192 226.286c-33.143 38.857-100.571 69.714-150.857 69.714h-621.714c-20.571 0-49.714-6.286-49.714-32 0-13.714 8.571-27.429 17.714-37.714l192-226.286c33.143-38.857 100.571-69.714 150.857-69.714h621.714c20.571 0 49.714 6.286 49.714 32zM877.714 347.429v91.429h-475.429c-71.429 0-160 40.571-206.286 95.429l-195.429 229.714c0-4.571-0.571-9.714-0.571-14.286v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128z"],"width":1073.7371428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["folder-open"],"defaultCode":61564,"grid":14},"attrs":[],"properties":{"name":"folder-open","id":108,"order":120,"prevSize":28,"code":61564},"setIdx":0,"setId":1,"iconIdx":113},{"icon":{"paths":["M402.286 182.857c0 20-16.571 36.571-36.571 36.571h-73.143v585.143h73.143c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h73.143v-585.143h-73.143c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrows-v"],"defaultCode":61565,"grid":14},"attrs":[],"properties":{"name":"arrows-v","id":109,"order":121,"prevSize":28,"code":61565},"setIdx":0,"setId":1,"iconIdx":114},{"icon":{"paths":["M1024 512c0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-73.143h-585.143v73.143c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v73.143h585.143v-73.143c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrows-h"],"defaultCode":61566,"grid":14},"attrs":[],"properties":{"name":"arrows-h","id":110,"order":122,"prevSize":28,"code":61566},"setIdx":0,"setId":1,"iconIdx":115},{"icon":{"paths":["M512 512c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286 65.714 146.286 146.286 146.286 146.286-65.714 146.286-146.286zM950.857 804.571c0-40-33.143-73.143-73.143-73.143s-73.143 33.143-73.143 73.143c0 40.571 33.143 73.143 73.143 73.143 40.571 0 73.143-33.143 73.143-73.143zM950.857 219.429c0-40-33.143-73.143-73.143-73.143s-73.143 33.143-73.143 73.143c0 40.571 33.143 73.143 73.143 73.143 40.571 0 73.143-33.143 73.143-73.143zM731.429 460v105.714c0 7.429-5.714 16-13.143 17.143l-88.571 13.714c-4.571 14.857-10.857 29.143-18.286 43.429 16 22.857 33.143 44 51.429 65.714 2.286 3.429 4 6.857 4 11.429 0 4-1.143 8-4 10.857-11.429 15.429-75.429 85.143-92 85.143-4.571 0-8.571-1.714-12-4l-65.714-51.429c-14.286 7.429-28.571 13.143-44 17.714-2.857 29.143-5.714 60.571-13.143 88.571-2.286 8-9.143 13.714-17.143 13.714h-106.286c-8 0-16-6.286-17.143-14.286l-13.143-87.429c-14.857-4.571-29.143-10.857-42.857-17.714l-67.429 50.857c-2.857 2.857-7.429 4-11.429 4-4.571 0-8.571-1.714-12-4.571-14.857-13.714-82.286-74.857-82.286-91.429 0-4 1.714-7.429 4-10.857 16.571-21.714 33.714-42.857 50.286-65.143-8-15.429-14.857-30.857-20-46.857l-86.857-13.714c-8-1.143-13.714-8.571-13.714-16.571v-105.714c0-7.429 5.714-16 13.143-17.143l88.571-13.714c4.571-14.857 10.857-29.143 18.286-43.429-16-22.857-33.143-44-51.429-65.714-2.286-3.429-4-7.429-4-11.429s1.143-8 4-11.429c11.429-15.429 75.429-84.571 92-84.571 4.571 0 8.571 1.714 12 4l65.714 51.429c14.286-7.429 28.571-13.143 44-18.286 2.857-28.571 5.714-60 13.143-88 2.286-8 9.143-13.714 17.143-13.714h106.286c8 0 16 6.286 17.143 14.286l13.143 87.429c14.857 4.571 29.143 10.857 42.857 17.714l67.429-50.857c3.429-2.857 7.429-4 11.429-4 4.571 0 8.571 1.714 12 4.571 14.857 13.714 82.286 75.429 82.286 91.429 0 4-1.714 7.429-4 10.857-16.571 22.286-33.714 42.857-49.714 65.143 7.429 15.429 14.286 30.857 19.429 46.857l86.857 13.143c8 1.714 13.714 9.143 13.714 17.143zM1097.143 764.571v80c0 8.571-73.714 16.571-85.143 17.714-4.571 10.857-10.286 20.571-17.143 29.714 5.143 11.429 29.143 68.571 29.143 78.857 0 1.714-0.571 2.857-2.286 4-6.857 4-68 40.571-70.857 40.571-7.429 0-50.286-57.143-56-65.714-5.714 0.571-11.429 1.143-17.143 1.143s-11.429-0.571-17.143-1.143c-5.714 8.571-48.571 65.714-56 65.714-2.857 0-64-36.571-70.857-40.571-1.714-1.143-2.286-2.857-2.286-4 0-9.714 24-67.429 29.143-78.857-6.857-9.143-12.571-18.857-17.143-29.714-11.429-1.143-85.143-9.143-85.143-17.714v-80c0-8.571 73.714-16.571 85.143-17.714 4.571-10.286 10.286-20.571 17.143-29.714-5.143-11.429-29.143-69.143-29.143-78.857 0-1.143 0.571-2.857 2.286-4 6.857-3.429 68-40 70.857-40 7.429 0 50.286 56.571 56 65.143 5.714-0.571 11.429-1.143 17.143-1.143s11.429 0.571 17.143 1.143c16-22.286 33.143-44.571 52.571-64l3.429-1.143c2.857 0 64 36 70.857 40 1.714 1.143 2.286 2.857 2.286 4 0 10.286-24 67.429-29.143 78.857 6.857 9.143 12.571 19.429 17.143 29.714 11.429 1.143 85.143 9.143 85.143 17.714zM1097.143 179.429v80c0 8.571-73.714 16.571-85.143 17.714-4.571 10.857-10.286 20.571-17.143 29.714 5.143 11.429 29.143 68.571 29.143 78.857 0 1.714-0.571 2.857-2.286 4-6.857 4-68 40.571-70.857 40.571-7.429 0-50.286-57.143-56-65.714-5.714 0.571-11.429 1.143-17.143 1.143s-11.429-0.571-17.143-1.143c-5.714 8.571-48.571 65.714-56 65.714-2.857 0-64-36.571-70.857-40.571-1.714-1.143-2.286-2.857-2.286-4 0-9.714 24-67.429 29.143-78.857-6.857-9.143-12.571-18.857-17.143-29.714-11.429-1.143-85.143-9.143-85.143-17.714v-80c0-8.571 73.714-16.571 85.143-17.714 4.571-10.286 10.286-20.571 17.143-29.714-5.143-11.429-29.143-69.143-29.143-78.857 0-1.143 0.571-2.857 2.286-4 6.857-3.429 68-40 70.857-40 7.429 0 50.286 56.571 56 65.143 5.714-0.571 11.429-1.143 17.143-1.143s11.429 0.571 17.143 1.143c16-22.286 33.143-44.571 52.571-64l3.429-1.143c2.857 0 64 36 70.857 40 1.714 1.143 2.286 2.857 2.286 4 0 10.286-24 67.429-29.143 78.857 6.857 9.143 12.571 19.429 17.143 29.714 11.429 1.143 85.143 9.143 85.143 17.714z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["cogs","gears"],"defaultCode":61573,"grid":14},"attrs":[],"properties":{"name":"cogs, gears","id":111,"order":128,"prevSize":28,"code":61573},"setIdx":0,"setId":1,"iconIdx":116},{"icon":{"paths":["M475.429 18.286v765.143l-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429v0z"],"width":475.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["star-half"],"defaultCode":61577,"grid":14},"attrs":[],"properties":{"name":"star-half","id":112,"order":132,"prevSize":28,"code":61577},"setIdx":0,"setId":1,"iconIdx":117},{"icon":{"paths":["M950.857 340.571c0-160.571-108.571-194.286-200-194.286-85.143 0-181.143 92-210.857 127.429-13.714 16.571-42.286 16.571-56 0-29.714-35.429-125.714-127.429-210.857-127.429-91.429 0-200 33.714-200 194.286 0 104.571 105.714 201.714 106.857 202.857l332 320 331.429-319.429c1.714-1.714 107.429-98.857 107.429-203.429zM1024 340.571c0 137.143-125.714 252-130.857 257.143l-356 342.857c-6.857 6.857-16 10.286-25.143 10.286s-18.286-3.429-25.143-10.286l-356.571-344c-4.571-4-130.286-118.857-130.286-256 0-167.429 102.286-267.429 273.143-267.429 100 0 193.714 78.857 238.857 123.429 45.143-44.571 138.857-123.429 238.857-123.429 170.857 0 273.143 100 273.143 267.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["heart-o"],"defaultCode":61578,"grid":14},"attrs":[],"properties":{"name":"heart-o","id":113,"order":133,"prevSize":28,"code":61578},"setIdx":0,"setId":1,"iconIdx":118},{"icon":{"paths":["M365.714 822.857c0 16 7.429 54.857-18.286 54.857h-182.857c-90.857 0-164.571-73.714-164.571-164.571v-402.286c0-90.857 73.714-164.571 164.571-164.571h182.857c9.714 0 18.286 8.571 18.286 18.286 0 16 7.429 54.857-18.286 54.857h-182.857c-50.286 0-91.429 41.143-91.429 91.429v402.286c0 50.286 41.143 91.429 91.429 91.429h164.571c14.286 0 36.571-2.857 36.571 18.286zM896 512c0 9.714-4 18.857-10.857 25.714l-310.857 310.857c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-164.571h-256c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h256v-164.571c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l310.857 310.857c6.857 6.857 10.857 16 10.857 25.714z"],"width":896,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["sign-out"],"defaultCode":61579,"grid":14},"attrs":[],"properties":{"name":"sign-out","id":114,"order":134,"prevSize":28,"code":61579},"setIdx":0,"setId":1,"iconIdx":119},{"icon":{"paths":["M274.286 493.714v-256c0-10.286-8-18.286-18.286-18.286s-18.286 8-18.286 18.286v256c0 10.286 8 18.286 18.286 18.286s18.286-8 18.286-18.286zM658.286 694.857c0 20-16.571 36.571-36.571 36.571h-245.143l-29.143 276c-1.143 9.143-8.571 16.571-17.714 16.571h-0.571c-9.143 0-16.571-6.286-18.286-15.429l-43.429-277.143h-230.857c-20 0-36.571-16.571-36.571-36.571 0-93.714 70.857-182.857 146.286-182.857v-292.571c-40 0-73.143-33.143-73.143-73.143s33.143-73.143 73.143-73.143h365.714c40 0 73.143 33.143 73.143 73.143s-33.143 73.143-73.143 73.143v292.571c75.429 0 146.286 89.143 146.286 182.857z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["thumb-tack"],"defaultCode":61581,"grid":14},"attrs":[],"properties":{"name":"thumb-tack","id":115,"order":136,"prevSize":28,"code":61581},"setIdx":0,"setId":1,"iconIdx":120},{"icon":{"paths":["M804.571 530.286v182.857c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h402.286c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-182.857c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM1024 36.571v292.571c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-100.571-100.571-372.571 372.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l372.571-372.571-100.571-100.571c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["external-link"],"defaultCode":61582,"grid":14},"attrs":[],"properties":{"name":"external-link","id":116,"order":137,"prevSize":28,"code":61582},"setIdx":0,"setId":1,"iconIdx":121},{"icon":{"paths":["M676.571 512c0 9.714-4 18.857-10.857 25.714l-310.857 310.857c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-164.571h-256c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h256v-164.571c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l310.857 310.857c6.857 6.857 10.857 16 10.857 25.714zM877.714 310.857v402.286c0 90.857-73.714 164.571-164.571 164.571h-182.857c-9.714 0-18.286-8.571-18.286-18.286 0-16-7.429-54.857 18.286-54.857h182.857c50.286 0 91.429-41.143 91.429-91.429v-402.286c0-50.286-41.143-91.429-91.429-91.429h-164.571c-14.286 0-36.571 2.857-36.571-18.286 0-16-7.429-54.857 18.286-54.857h182.857c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["sign-in"],"defaultCode":61584,"grid":14},"attrs":[],"properties":{"name":"sign-in","id":117,"order":138,"prevSize":28,"code":61584},"setIdx":0,"setId":1,"iconIdx":122},{"icon":{"paths":["M731.429 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM877.714 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 713.143v182.857c0 30.286-24.571 54.857-54.857 54.857h-841.143c-30.286 0-54.857-24.571-54.857-54.857v-182.857c0-30.286 24.571-54.857 54.857-54.857h244c15.429 42.286 56 73.143 103.429 73.143h146.286c47.429 0 88-30.857 103.429-73.143h244c30.286 0 54.857 24.571 54.857 54.857zM765.143 342.857c-5.714 13.714-18.857 22.857-33.714 22.857h-146.286v256c0 20-16.571 36.571-36.571 36.571h-146.286c-20 0-36.571-16.571-36.571-36.571v-256h-146.286c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l256-256c6.857-7.429 16.571-10.857 25.714-10.857s18.857 3.429 25.714 10.857l256 256c10.857 10.286 13.714 26.286 8 39.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["upload"],"defaultCode":61587,"grid":14},"attrs":[],"properties":{"name":"upload","id":118,"order":141,"prevSize":28,"code":61587},"setIdx":0,"setId":1,"iconIdx":123},{"icon":{"paths":["M640 146.286h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-475.429c0-50.286-41.143-91.429-91.429-91.429zM804.571 237.714v475.429c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c90.857 0 164.571 73.714 164.571 164.571z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["square-o"],"defaultCode":61590,"grid":14},"attrs":[],"properties":{"name":"square-o","id":119,"order":144,"prevSize":28,"code":61590},"setIdx":0,"setId":1,"iconIdx":124},{"icon":{"paths":["M658.286 146.286h-585.143v709.714l292.571-280.571 50.857 48.571 241.714 232v-709.714zM665.143 73.143c8.571 0 17.143 1.714 25.143 5.143 25.143 9.714 41.143 33.143 41.143 58.857v736.571c0 25.714-16 49.143-41.143 58.857-8 3.429-16.571 4.571-25.143 4.571-17.714 0-34.286-6.286-47.429-18.286l-252-242.286-252 242.286c-13.143 12-29.714 18.857-47.429 18.857-8.571 0-17.143-1.714-25.143-5.143-25.143-9.714-41.143-33.143-41.143-58.857v-736.571c0-25.714 16-49.143 41.143-58.857 8-3.429 16.571-5.143 25.143-5.143h598.857z"],"width":731.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["bookmark-o"],"defaultCode":61591,"grid":14},"attrs":[],"properties":{"name":"bookmark-o","id":120,"order":145,"prevSize":28,"code":61591},"setIdx":0,"setId":1,"iconIdx":125},{"icon":{"paths":["M594.286 694.857c0 25.143-20.571 45.714-45.714 45.714s-45.714-20.571-45.714-45.714 20.571-45.714 45.714-45.714 45.714 20.571 45.714 45.714zM740.571 694.857c0 25.143-20.571 45.714-45.714 45.714s-45.714-20.571-45.714-45.714 20.571-45.714 45.714-45.714 45.714 20.571 45.714 45.714zM804.571 786.286v-182.857c0-9.714-8.571-18.286-18.286-18.286h-694.857c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h694.857c9.714 0 18.286-8.571 18.286-18.286zM101.714 512h674.286l-89.714-275.429c-2.857-9.714-13.714-17.143-24-17.143h-446.857c-10.286 0-21.143 7.429-24 17.143zM877.714 603.429v182.857c0 50.286-41.143 91.429-91.429 91.429h-694.857c-50.286 0-91.429-41.143-91.429-91.429v-182.857c0-15.429 4.571-28.571 9.143-42.857l112.571-346.286c13.143-40 51.429-68 93.714-68h446.857c42.286 0 80.571 28 93.714 68l112.571 346.286c4.571 14.286 9.143 27.429 9.143 42.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["hdd-o"],"defaultCode":61600,"grid":14},"attrs":[],"properties":{"name":"hdd-o","id":121,"order":153,"prevSize":28,"code":61600},"setIdx":0,"setId":1,"iconIdx":126},{"icon":{"paths":["M521.143 969.143c0-5.143-4-9.143-9.143-9.143-45.143 0-82.286-37.143-82.286-82.286 0-5.143-4-9.143-9.143-9.143s-9.143 4-9.143 9.143c0 55.429 45.143 100.571 100.571 100.571 5.143 0 9.143-4 9.143-9.143zM140.571 804.571h742.857c-102.286-115.429-152-272-152-475.429 0-73.714-69.714-182.857-219.429-182.857s-219.429 109.143-219.429 182.857c0 203.429-49.714 360-152 475.429zM987.429 804.571c0 40-33.143 73.143-73.143 73.143h-256c0 80.571-65.714 146.286-146.286 146.286s-146.286-65.714-146.286-146.286h-256c-40 0-73.143-33.143-73.143-73.143 84.571-71.429 182.857-199.429 182.857-475.429 0-109.714 90.857-229.714 242.286-252-2.857-6.857-4.571-14.286-4.571-22.286 0-30.286 24.571-54.857 54.857-54.857s54.857 24.571 54.857 54.857c0 8-1.714 15.429-4.571 22.286 151.429 22.286 242.286 142.286 242.286 252 0 276 98.286 404 182.857 475.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["bell-o"],"defaultCode":61602,"grid":14},"attrs":[],"properties":{"name":"bell-o","id":122,"order":686,"prevSize":28,"code":61602},"setIdx":0,"setId":1,"iconIdx":127},{"icon":{"paths":["M786.286 512l78.857 77.143c10.857 10.286 14.857 25.714 11.429 40-4 14.286-15.429 25.714-29.714 29.143l-107.429 27.429 30.286 106.286c4 14.286 0 29.714-10.857 40-10.286 10.857-25.714 14.857-40 10.857l-106.286-30.286-27.429 107.429c-3.429 14.286-14.857 25.714-29.143 29.714-3.429 0.571-7.429 1.143-10.857 1.143-10.857 0-21.714-4.571-29.143-12.571l-77.143-78.857-77.143 78.857c-10.286 10.857-25.714 14.857-40 11.429-14.857-4-25.714-15.429-29.143-29.714l-27.429-107.429-106.286 30.286c-14.286 4-29.714 0-40-10.857-10.857-10.286-14.857-25.714-10.857-40l30.286-106.286-107.429-27.429c-14.286-3.429-25.714-14.857-29.714-29.143-3.429-14.286 0.571-29.714 11.429-40l78.857-77.143-78.857-77.143c-10.857-10.286-14.857-25.714-11.429-40 4-14.286 15.429-25.714 29.714-29.143l107.429-27.429-30.286-106.286c-4-14.286 0-29.714 10.857-40 10.286-10.857 25.714-14.857 40-10.857l106.286 30.286 27.429-107.429c3.429-14.286 14.857-25.714 29.143-29.143 14.286-4 29.714 0 40 10.857l77.143 79.429 77.143-79.429c10.286-10.857 25.143-14.857 40-10.857 14.286 3.429 25.714 14.857 29.143 29.143l27.429 107.429 106.286-30.286c14.286-4 29.714 0 40 10.857 10.857 10.286 14.857 25.714 10.857 40l-30.286 106.286 107.429 27.429c14.286 3.429 25.714 14.857 29.714 29.143 3.429 14.286-0.571 29.714-11.429 40z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["certificate"],"defaultCode":61603,"grid":14},"attrs":[],"properties":{"name":"certificate","id":123,"order":687,"prevSize":28,"code":61603},"setIdx":0,"setId":1,"iconIdx":128},{"icon":{"paths":["M731.429 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-286.857l108-108c6.857-6.857 10.857-16 10.857-25.714s-4-18.857-10.857-25.714l-52-52c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-258.857 258.857c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l258.857 258.857c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l52-52c6.857-6.857 10.286-16 10.286-25.714s-3.429-18.857-10.286-25.714l-108-108h286.857c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-left"],"defaultCode":61608,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-left","id":124,"order":161,"prevSize":28,"code":61608},"setIdx":0,"setId":1,"iconIdx":129},{"icon":{"paths":["M734.286 512c0-9.714-3.429-18.857-10.286-25.714l-258.857-258.857c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-52 52c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l108 108h-286.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h286.857l-108 108c-6.857 6.857-10.857 16-10.857 25.714s4 18.857 10.857 25.714l52 52c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l258.857-258.857c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-right"],"defaultCode":61609,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-right","id":125,"order":162,"prevSize":28,"code":61609},"setIdx":0,"setId":1,"iconIdx":130},{"icon":{"paths":["M733.714 511.429c0-9.714-3.429-18.857-10.286-25.714l-258.857-258.857c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-258.857 258.857c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l52 52c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l108-108v286.857c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-286.857l108 108c6.857 6.857 16 10.857 25.714 10.857s18.857-4 25.714-10.857l52-52c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-up"],"defaultCode":61610,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-up","id":126,"order":163,"prevSize":28,"code":61610},"setIdx":0,"setId":1,"iconIdx":131},{"icon":{"paths":["M733.714 512.571c0-9.714-3.429-18.857-10.286-25.714l-52-52c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-108 108v-286.857c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v286.857l-108-108c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-52 52c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l258.857 258.857c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l258.857-258.857c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrow-circle-down"],"defaultCode":61611,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-down","id":127,"order":164,"prevSize":28,"code":61611},"setIdx":0,"setId":1,"iconIdx":132},{"icon":{"paths":["M219.429 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM587.429 601.143l-389.714 389.714c-13.143 13.143-32 21.143-51.429 21.143s-38.286-8-52-21.143l-60.571-61.714c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-52l389.143-389.143c29.714 74.857 89.714 134.857 164.571 164.571zM949.714 352.571c0 18.857-6.857 42.286-13.143 60.571-36 101.714-133.714 172-241.714 172-141.143 0-256-114.857-256-256s114.857-256 256-256c41.714 0 96 12.571 130.857 36 5.714 4 9.143 9.143 9.143 16 0 6.286-4 12.571-9.143 16l-167.429 96.571v128l110.286 61.143c18.857-10.857 151.429-94.286 162.857-94.286s18.286 8.571 18.286 20z"],"width":961.6822857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["wrench"],"defaultCode":61613,"grid":14},"attrs":[],"properties":{"name":"wrench","id":128,"order":166,"prevSize":28,"code":61613},"setIdx":0,"setId":1,"iconIdx":133},{"icon":{"paths":["M585.143 804.571h365.714v-73.143h-365.714v73.143zM365.714 512h585.143v-73.143h-585.143v73.143zM731.429 219.429h219.429v-73.143h-219.429v73.143zM1024 694.857v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 402.286v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 109.714v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["tasks"],"defaultCode":61614,"grid":14},"attrs":[],"properties":{"name":"tasks","id":129,"order":167,"prevSize":28,"code":61614},"setIdx":0,"setId":1,"iconIdx":134},{"icon":{"paths":["M801.714 168.571c5.714 13.714 2.857 29.714-8 40l-281.714 281.714v424c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714v-277.714l-281.714-281.714c-10.857-10.286-13.714-26.286-8-40 5.714-13.143 18.857-22.286 33.714-22.286h731.429c14.857 0 28 9.143 33.714 22.286z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["filter"],"defaultCode":61616,"grid":14},"attrs":[],"properties":{"name":"filter","id":130,"order":168,"prevSize":28,"code":61616},"setIdx":0,"setId":1,"iconIdx":135},{"icon":{"paths":["M365.714 146.286h292.571v-73.143h-292.571v73.143zM1024 512v274.286c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-274.286h384v91.429c0 20 16.571 36.571 36.571 36.571h182.857c20 0 36.571-16.571 36.571-36.571v-91.429h384zM585.143 512v73.143h-146.286v-73.143h146.286zM1024 237.714v219.429h-1024v-219.429c0-50.286 41.143-91.429 91.429-91.429h201.143v-91.429c0-30.286 24.571-54.857 54.857-54.857h329.143c30.286 0 54.857 24.571 54.857 54.857v91.429h201.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["briefcase"],"defaultCode":61617,"grid":14},"attrs":[],"properties":{"name":"briefcase","id":131,"order":169,"prevSize":28,"code":61617},"setIdx":0,"setId":1,"iconIdx":136},{"icon":{"paths":["M733.143 309.143l-202.857 202.857 202.857 202.857 82.286-82.286c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v256c0 20-16.571 36.571-36.571 36.571h-256c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l82.286-82.286-202.857-202.857-202.857 202.857 82.286 82.286c10.857 10.286 13.714 26.286 8 39.429-5.714 13.714-18.857 22.857-33.714 22.857h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-14.857 9.143-28 22.857-33.714 13.143-5.714 29.143-2.857 39.429 8l82.286 82.286 202.857-202.857-202.857-202.857-82.286 82.286c-6.857 6.857-16 10.857-25.714 10.857-4.571 0-9.714-1.143-13.714-2.857-13.714-5.714-22.857-18.857-22.857-33.714v-256c0-20 16.571-36.571 36.571-36.571h256c14.857 0 28 9.143 33.714 22.857 5.714 13.143 2.857 29.143-8 39.429l-82.286 82.286 202.857 202.857 202.857-202.857-82.286-82.286c-10.857-10.286-13.714-26.286-8-39.429 5.714-13.714 18.857-22.857 33.714-22.857h256c20 0 36.571 16.571 36.571 36.571v256c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-4-25.714-10.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["arrows-alt"],"defaultCode":61618,"grid":14},"attrs":[],"properties":{"name":"arrows-alt","id":132,"order":170,"prevSize":28,"code":61618},"setIdx":0,"setId":1,"iconIdx":137},{"icon":{"paths":["M1097.143 658.286c0 121.143-98.286 219.429-219.429 219.429h-621.714c-141.143 0-256-114.857-256-256 0-102.286 60.571-190.857 147.429-231.429-0.571-8-1.143-16.571-1.143-24.571 0-161.714 130.857-292.571 292.571-292.571 122.286 0 226.857 74.857 270.857 181.714 25.143-22.286 58.286-35.429 94.857-35.429 80.571 0 146.286 65.714 146.286 146.286 0 29.143-8.571 56-23.429 78.857 97.143 22.857 169.714 109.714 169.714 213.714z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["cloud"],"defaultCode":61634,"grid":14},"attrs":[],"properties":{"name":"cloud","id":133,"order":173,"prevSize":28,"code":61634},"setIdx":0,"setId":1,"iconIdx":138},{"icon":{"paths":["M969.143 219.429c30.286 0 54.857 24.571 54.857 54.857v694.857c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-164.571h-310.857c-30.286 0-54.857-24.571-54.857-54.857v-384c0-30.286 17.714-72.571 38.857-93.714l233.143-233.143c21.143-21.143 63.429-38.857 93.714-38.857h237.714c30.286 0 54.857 24.571 54.857 54.857v187.429c22.286-13.143 50.857-22.857 73.143-22.857h237.714zM658.286 341.143l-170.857 170.857h170.857v-170.857zM292.571 121.714l-170.857 170.857h170.857v-170.857zM404.571 491.429l180.571-180.571v-237.714h-219.429v237.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v365.714h292.571v-146.286c0-30.286 17.714-72.571 38.857-93.714zM950.857 950.857v-658.286h-219.429v237.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v365.714h512z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["copy","files-o"],"defaultCode":61637,"grid":14},"attrs":[],"properties":{"name":"copy, files-o","id":134,"order":176,"prevSize":28,"code":61637},"setIdx":0,"setId":1,"iconIdx":139},{"icon":{"paths":["M219.429 877.714h438.857v-219.429h-438.857v219.429zM731.429 877.714h73.143v-512c0-10.857-9.714-34.286-17.143-41.714l-160.571-160.571c-8-8-30.286-17.143-41.714-17.143v237.714c0 30.286-24.571 54.857-54.857 54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-73.143v731.429h73.143v-237.714c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857v237.714zM512 347.429v-182.857c0-9.714-8.571-18.286-18.286-18.286h-109.714c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h109.714c9.714 0 18.286-8.571 18.286-18.286zM877.714 365.714v530.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-768c0-30.286 24.571-54.857 54.857-54.857h530.286c30.286 0 72 17.143 93.714 38.857l160 160c21.714 21.714 38.857 63.429 38.857 93.714z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["floppy-o","save"],"defaultCode":61639,"grid":14},"attrs":[],"properties":{"name":"floppy-o, save","id":135,"order":178,"prevSize":28,"code":61639},"setIdx":0,"setId":1,"iconIdx":140},{"icon":{"paths":["M877.714 237.714v548.571c0 90.857-73.714 164.571-164.571 164.571h-548.571c-90.857 0-164.571-73.714-164.571-164.571v-548.571c0-90.857 73.714-164.571 164.571-164.571h548.571c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["square"],"defaultCode":61640,"grid":14},"attrs":[],"properties":{"name":"square","id":136,"order":179,"prevSize":28,"code":61640},"setIdx":0,"setId":1,"iconIdx":141},{"icon":{"paths":["M877.714 768v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM877.714 475.429v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM877.714 182.857v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["bars","navicon","reorder"],"defaultCode":61641,"grid":14},"attrs":[],"properties":{"name":"bars, navicon, reorder","id":137,"order":180,"prevSize":28,"code":61641},"setIdx":0,"setId":1,"iconIdx":142},{"icon":{"paths":["M219.429 804.571c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM219.429 512c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286zM219.429 219.429c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM1024 457.143v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286zM1024 164.571v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["list-ul"],"defaultCode":61642,"grid":14},"attrs":[],"properties":{"name":"list-ul","id":138,"order":181,"prevSize":28,"code":61642},"setIdx":0,"setId":1,"iconIdx":143},{"icon":{"paths":["M217.714 925.714c0 62.857-49.143 98.286-108.571 98.286-36 0-72.571-12-98.286-37.714l32.571-50.286c15.429 14.286 38.857 25.714 60.571 25.714 20 0 41.143-9.714 41.143-32.571 0-32-36.571-33.714-60-32l-14.857-32c20.571-26.286 39.429-55.429 64-77.714v-0.571c-18.286 0-37.143 1.143-55.429 1.143v30.286h-60.571v-86.857h190.286v50.286l-54.286 65.714c38.286 9.143 63.429 38.857 63.429 78.286zM218.857 567.429v90.857h-206.857c-1.714-10.286-3.429-20.571-3.429-30.857 0-105.714 129.143-121.714 129.143-169.714 0-19.429-12-29.714-30.857-29.714-20 0-36.571 17.143-46.286 33.143l-48.571-33.714c18.857-39.429 57.714-61.714 101.143-61.714 53.143 0 98.857 31.429 98.857 88 0 84.571-124 103.429-125.714 148h72.571v-34.286h60zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8 18.286 18.286zM219.429 236v56.571h-191.429v-56.571h61.143c0-46.286 0.571-92.571 0.571-138.857v-6.857h-1.143c-6.286 12.571-17.714 21.143-28.571 30.857l-40.571-43.429 77.714-72.571h60.571v230.857h61.714zM1024 457.143v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8 18.286 18.286zM1024 164.571v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286z"],"width":1032.5577142857144,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["list-ol"],"defaultCode":61643,"grid":14},"attrs":[],"properties":{"name":"list-ol","id":139,"order":182,"prevSize":28,"code":61643},"setIdx":0,"setId":1,"iconIdx":144},{"icon":{"paths":["M292.571 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM292.571 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM292.571 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM950.857 164.571v621.714c0 50.286-41.143 91.429-91.429 91.429h-768c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h768c50.286 0 91.429 41.143 91.429 91.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["table"],"defaultCode":61646,"grid":14},"attrs":[],"properties":{"name":"table","id":140,"order":185,"prevSize":28,"code":61646},"setIdx":0,"setId":1,"iconIdx":145},{"icon":{"paths":["M585.143 402.286c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["caret-down"],"defaultCode":61655,"grid":14},"attrs":[],"properties":{"name":"caret-down","id":141,"order":193,"prevSize":28,"code":61655},"setIdx":0,"setId":1,"iconIdx":146},{"icon":{"paths":["M585.143 694.857c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["caret-up"],"defaultCode":61656,"grid":14},"attrs":[],"properties":{"name":"caret-up","id":142,"order":194,"prevSize":28,"code":61656},"setIdx":0,"setId":1,"iconIdx":147},{"icon":{"paths":["M365.714 256v512c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":402.2857142857143,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["caret-left"],"defaultCode":61657,"grid":14},"attrs":[],"properties":{"name":"caret-left","id":143,"order":195,"prevSize":28,"code":61657},"setIdx":0,"setId":1,"iconIdx":148},{"icon":{"paths":["M329.143 512c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-512c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":329.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["caret-right"],"defaultCode":61658,"grid":14},"attrs":[],"properties":{"name":"caret-right","id":144,"order":196,"prevSize":28,"code":61658},"setIdx":0,"setId":1,"iconIdx":149},{"icon":{"paths":["M91.429 877.714h347.429v-658.286h-365.714v640c0 9.714 8.571 18.286 18.286 18.286zM877.714 859.429v-640h-365.714v658.286h347.429c9.714 0 18.286-8.571 18.286-18.286zM950.857 164.571v694.857c0 50.286-41.143 91.429-91.429 91.429h-768c-50.286 0-91.429-41.143-91.429-91.429v-694.857c0-50.286 41.143-91.429 91.429-91.429h768c50.286 0 91.429 41.143 91.429 91.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["columns"],"defaultCode":61659,"grid":14},"attrs":[],"properties":{"name":"columns","id":145,"order":197,"prevSize":28,"code":61659},"setIdx":0,"setId":1,"iconIdx":150},{"icon":{"paths":["M585.143 621.714c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571zM585.143 402.286c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["sort","unsorted"],"defaultCode":61660,"grid":14},"attrs":[],"properties":{"name":"sort, unsorted","id":146,"order":198,"prevSize":28,"code":61660},"setIdx":0,"setId":1,"iconIdx":151},{"icon":{"paths":["M585.143 621.714c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["sort-desc","sort-down"],"defaultCode":61661,"grid":14},"attrs":[],"properties":{"name":"sort-desc, sort-down","id":147,"order":199,"prevSize":28,"code":61661},"setIdx":0,"setId":1,"iconIdx":152},{"icon":{"paths":["M585.143 402.286c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["sort-asc","sort-up"],"defaultCode":61662,"grid":14},"attrs":[],"properties":{"name":"sort-asc, sort-up","id":148,"order":200,"prevSize":28,"code":61662},"setIdx":0,"setId":1,"iconIdx":153},{"icon":{"paths":["M877.714 512c0 241.714-197.143 438.857-438.857 438.857-130.857 0-254.286-57.714-337.714-158.286-5.714-7.429-5.143-18.286 1.143-24.571l78.286-78.857c4-3.429 9.143-5.143 14.286-5.143 5.143 0.571 10.286 2.857 13.143 6.857 56 72.571 140 113.714 230.857 113.714 161.143 0 292.571-131.429 292.571-292.571s-131.429-292.571-292.571-292.571c-74.857 0-145.714 28.571-198.857 78.286l78.286 78.857c10.857 10.286 13.714 26.286 8 39.429-5.714 13.714-18.857 22.857-33.714 22.857h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-14.857 9.143-28 22.857-33.714 13.143-5.714 29.143-2.857 39.429 8l74.286 73.714c80.571-76 189.714-121.143 302.286-121.143 241.714 0 438.857 197.143 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["rotate-left","undo"],"defaultCode":61666,"grid":14},"attrs":[],"properties":{"name":"rotate-left, undo","id":149,"order":203,"prevSize":28,"code":61666},"setIdx":0,"setId":1,"iconIdx":154},{"icon":{"paths":["M838.857 217.143c21.143 21.143 38.857 63.429 38.857 93.714v658.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-914.286c0-30.286 24.571-54.857 54.857-54.857h512c30.286 0 72.571 17.714 93.714 38.857zM585.143 77.714v214.857h214.857c-3.429-9.714-8.571-19.429-12.571-23.429l-178.857-178.857c-4-4-13.714-9.143-23.429-12.571zM804.571 950.857v-585.143h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-438.857v877.714h731.429zM219.429 457.143c0-10.286 8-18.286 18.286-18.286h402.286c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571zM640 585.143c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h402.286zM640 731.429c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h402.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["file-text-o"],"defaultCode":61686,"grid":14},"attrs":[],"properties":{"name":"file-text-o","id":150,"order":222,"prevSize":28,"code":61686},"setIdx":0,"setId":1,"iconIdx":155},{"icon":{"paths":["M731.429 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-182.857v-182.857c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v182.857h-182.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h182.857v182.857c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-182.857h182.857c20 0 36.571-16.571 36.571-36.571zM877.714 237.714v548.571c0 90.857-73.714 164.571-164.571 164.571h-548.571c-90.857 0-164.571-73.714-164.571-164.571v-548.571c0-90.857 73.714-164.571 164.571-164.571h548.571c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["plus-square"],"defaultCode":61694,"grid":14},"attrs":[],"properties":{"name":"plus-square","id":151,"order":230,"prevSize":28,"code":61694},"setIdx":0,"setId":1,"iconIdx":156},{"icon":{"paths":["M358.286 786.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143zM577.714 786.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":603.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-double-left"],"defaultCode":61696,"grid":14},"attrs":[],"properties":{"name":"angle-double-left","id":152,"order":231,"prevSize":28,"code":61696},"setIdx":0,"setId":1,"iconIdx":157},{"icon":{"paths":["M340 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143zM559.429 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":566.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-double-right"],"defaultCode":61697,"grid":14},"attrs":[],"properties":{"name":"angle-double-right","id":153,"order":232,"prevSize":28,"code":61697},"setIdx":0,"setId":1,"iconIdx":158},{"icon":{"paths":["M614.286 749.714c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143zM614.286 530.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-double-up"],"defaultCode":61698,"grid":14},"attrs":[],"properties":{"name":"angle-double-up","id":154,"order":233,"prevSize":28,"code":61698},"setIdx":0,"setId":1,"iconIdx":159},{"icon":{"paths":["M614.286 493.714c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143zM614.286 274.286c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-double-down"],"defaultCode":61699,"grid":14},"attrs":[],"properties":{"name":"angle-double-down","id":155,"order":234,"prevSize":28,"code":61699},"setIdx":0,"setId":1,"iconIdx":160},{"icon":{"paths":["M358.286 310.857c0 4.571-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8 5.714 13.143z"],"width":384,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-left"],"defaultCode":61700,"grid":14},"attrs":[],"properties":{"name":"angle-left","id":156,"order":235,"prevSize":28,"code":61700},"setIdx":0,"setId":1,"iconIdx":161},{"icon":{"paths":["M340 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8-5.714-13.143 0-4.571 2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":347.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-right"],"defaultCode":61701,"grid":14},"attrs":[],"properties":{"name":"angle-right","id":157,"order":236,"prevSize":28,"code":61701},"setIdx":0,"setId":1,"iconIdx":162},{"icon":{"paths":["M614.286 676.571c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-up"],"defaultCode":61702,"grid":14},"attrs":[],"properties":{"name":"angle-up","id":158,"order":237,"prevSize":28,"code":61702},"setIdx":0,"setId":1,"iconIdx":163},{"icon":{"paths":["M614.286 420.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["angle-down"],"defaultCode":61703,"grid":14},"attrs":[],"properties":{"name":"angle-down","id":159,"order":238,"prevSize":28,"code":61703},"setIdx":0,"setId":1,"iconIdx":164},{"icon":{"paths":["M438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["circle-o"],"defaultCode":61708,"grid":14},"attrs":[],"properties":{"name":"circle-o","id":160,"order":243,"prevSize":28,"code":61708},"setIdx":0,"setId":1,"iconIdx":165},{"icon":{"paths":["M300.571 796.571c0 40-32.571 73.143-73.143 73.143-40 0-73.143-33.143-73.143-73.143 0-40.571 33.143-73.143 73.143-73.143 40.571 0 73.143 32.571 73.143 73.143zM585.143 914.286c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM182.857 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM869.714 796.571c0 40-33.143 73.143-73.143 73.143-40.571 0-73.143-33.143-73.143-73.143 0-40.571 32.571-73.143 73.143-73.143 40 0 73.143 32.571 73.143 73.143zM318.857 227.429c0 50.286-41.143 91.429-91.429 91.429s-91.429-41.143-91.429-91.429 41.143-91.429 91.429-91.429 91.429 41.143 91.429 91.429zM987.429 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM621.714 109.714c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM924.571 227.429c0 70.857-57.714 128-128 128-70.857 0-128-57.143-128-128 0-70.286 57.143-128 128-128 70.286 0 128 57.714 128 128z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["spinner"],"defaultCode":61712,"grid":14},"attrs":[],"properties":{"name":"spinner","id":161,"order":246,"prevSize":28,"code":61712},"setIdx":0,"setId":1,"iconIdx":166},{"icon":{"paths":["M877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["circle"],"defaultCode":61713,"grid":14},"attrs":[],"properties":{"name":"circle","id":162,"order":247,"prevSize":28,"code":61713},"setIdx":0,"setId":1,"iconIdx":167},{"icon":{"paths":["M1024 640c0 80-40 184.571-72.571 257.714-6.286 13.143-12.571 31.429-21.143 43.429-4 5.714-8 9.714-16 9.714-11.429 0-18.286-9.143-18.286-20 0-9.143 2.286-19.429 2.857-28.571 1.714-23.429 2.857-46.857 2.857-70.286 0-272.571-161.714-320-408-320h-128v146.286c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-292.571-292.571c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l292.571-292.571c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v146.286h128c187.429 0 420.571 33.143 500 230.286 24 60.571 30.286 126.286 30.286 190.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["mail-reply","reply"],"defaultCode":61714,"grid":14},"attrs":[],"properties":{"name":"mail-reply, reply","id":163,"order":248,"prevSize":28,"code":61714},"setIdx":0,"setId":1,"iconIdx":168},{"icon":{"paths":["M877.714 749.714v-402.286c0-30.286-24.571-54.857-54.857-54.857h-402.286c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v548.571c0 30.286 24.571 54.857 54.857 54.857h694.857c30.286 0 54.857-24.571 54.857-54.857zM950.857 347.429v402.286c0 70.286-57.714 128-128 128h-694.857c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h384c70.286 0 128 57.714 128 128z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["folder-o"],"defaultCode":61716,"grid":14},"attrs":[],"properties":{"name":"folder-o","id":164,"order":250,"prevSize":28,"code":61716},"setIdx":0,"setId":1,"iconIdx":169},{"icon":{"paths":["M1017.714 532c0-16-17.714-20-30.286-20h-621.714c-30.286 0-70.286 18.857-89.714 42.286l-168 207.429c-5.143 6.857-10.286 14.286-10.286 22.857 0 16 17.714 20 30.286 20h621.714c30.286 0 70.286-18.857 89.714-42.857l168-207.429c5.143-6.286 10.286-13.714 10.286-22.286zM365.714 438.857h438.857v-91.429c0-30.286-24.571-54.857-54.857-54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v487.429l146.286-180c33.143-40.571 94.286-69.714 146.286-69.714zM1090.857 532c0 25.143-10.857 49.143-26.286 68.571l-168.571 207.429c-32.571 40-94.857 69.714-146.286 69.714h-621.714c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128v91.429h109.714c38.857 0 77.714 17.714 94.857 54.286 5.714 12 8.571 25.143 8.571 38.857z"],"width":1090.8525714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["folder-open-o"],"defaultCode":61717,"grid":14},"attrs":[],"properties":{"name":"folder-open-o","id":165,"order":251,"prevSize":28,"code":61717},"setIdx":0,"setId":1,"iconIdx":170},{"icon":{"paths":["M219.429 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM292.571 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-128c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h128c5.143 0 9.143 4 9.143 9.143zM219.429 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM804.571 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-493.714c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h493.714c5.143 0 9.143 4 9.143 9.143zM438.857 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM365.714 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM585.143 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM512 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM731.429 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM950.857 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM658.286 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM804.571 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM950.857 374.857v201.143c0 5.143-4 9.143-9.143 9.143h-128c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h64v-137.143c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM1024 804.571v-512h-950.857v512h950.857zM1097.143 292.571v512c0 40.571-32.571 73.143-73.143 73.143h-950.857c-40.571 0-73.143-32.571-73.143-73.143v-512c0-40.571 32.571-73.143 73.143-73.143h950.857c40.571 0 73.143 32.571 73.143 73.143z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["keyboard-o"],"defaultCode":61724,"grid":14},"attrs":[],"properties":{"name":"keyboard-o","id":166,"order":256,"prevSize":28,"code":61724},"setIdx":0,"setId":1,"iconIdx":171},{"icon":{"paths":["M334.286 561.714l-266.286 266.286c-7.429 7.429-18.857 7.429-26.286 0l-28.571-28.571c-7.429-7.429-7.429-18.857 0-26.286l224.571-224.571-224.571-224.571c-7.429-7.429-7.429-18.857 0-26.286l28.571-28.571c7.429-7.429 18.857-7.429 26.286 0l266.286 266.286c7.429 7.429 7.429 18.857 0 26.286zM950.857 822.857v36.571c0 10.286-8 18.286-18.286 18.286h-548.571c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h548.571c10.286 0 18.286 8 18.286 18.286z"],"width":956.5622857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["terminal"],"defaultCode":61728,"grid":14},"attrs":[],"properties":{"name":"terminal","id":167,"order":259,"prevSize":28,"code":61728},"setIdx":0,"setId":1,"iconIdx":172},{"icon":{"paths":["M352.571 799.429l-28.571 28.571c-7.429 7.429-18.857 7.429-26.286 0l-266.286-266.286c-7.429-7.429-7.429-18.857 0-26.286l266.286-266.286c7.429-7.429 18.857-7.429 26.286 0l28.571 28.571c7.429 7.429 7.429 18.857 0 26.286l-224.571 224.571 224.571 224.571c7.429 7.429 7.429 18.857 0 26.286zM690.286 189.714l-213.143 737.714c-2.857 9.714-13.143 15.429-22.286 12.571l-35.429-9.714c-9.714-2.857-15.429-13.143-12.571-22.857l213.143-737.714c2.857-9.714 13.143-15.429 22.286-12.571l35.429 9.714c9.714 2.857 15.429 13.143 12.571 22.857zM1065.714 561.714l-266.286 266.286c-7.429 7.429-18.857 7.429-26.286 0l-28.571-28.571c-7.429-7.429-7.429-18.857 0-26.286l224.571-224.571-224.571-224.571c-7.429-7.429-7.429-18.857 0-26.286l28.571-28.571c7.429-7.429 18.857-7.429 26.286 0l266.286 266.286c7.429 7.429 7.429 18.857 0 26.286z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["code"],"defaultCode":61729,"grid":14},"attrs":[],"properties":{"name":"code","id":168,"order":684,"prevSize":28,"code":61729},"setIdx":0,"setId":1,"iconIdx":173},{"icon":{"paths":["M365.714 618.286v40c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-292.571-292.571c-14.286-14.286-14.286-37.143 0-51.429l292.571-292.571c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v39.429l-226.857 227.429c-14.286 14.286-14.286 37.143 0 51.429zM1024 640c0 118.857-89.714 293.714-93.714 301.143-2.857 6.286-9.143 9.714-16 9.714-1.714 0-3.429 0-5.143-0.571-8.571-2.857-13.714-10.857-13.143-19.429 16.571-156-2.857-258.857-60.571-322.857-48.571-54.286-127.429-83.429-250.286-93.143v143.429c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-292.571-292.571c-14.286-14.286-14.286-37.143 0-51.429l292.571-292.571c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v149.714c157.714 10.857 270.286 52.571 342.286 126.286 86.286 88.571 96.571 208.571 96.571 290.857z"],"width":1020.5622857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["mail-reply-all","reply-all"],"defaultCode":61730,"grid":14},"attrs":[],"properties":{"name":"mail-reply-all, reply-all","id":169,"order":685,"prevSize":28,"code":61730},"setIdx":0,"setId":1,"iconIdx":174},{"icon":{"paths":["M677.714 546.857l146.857-142.857-241.143-35.429-17.143-34.286-90.857-184v550.286l33.714 17.714 181.714 96-34.286-202.857-6.857-37.714zM936 397.143l-207.429 202.286 49.143 285.714c4 25.143-5.143 40-22.857 40-6.286 0-14.286-2.286-22.857-6.857l-256.571-134.857-256.571 134.857c-8.571 4.571-16.571 6.857-22.857 6.857-17.714 0-26.857-14.857-22.857-40l49.143-285.714-208-202.286c-24.571-24.571-16.571-48.571 17.714-53.714l286.857-41.714 128.571-260c7.429-15.429 17.714-23.429 28-23.429v0c10.286 0 20 8 28 23.429l128.571 260 286.857 41.714c34.286 5.143 42.286 29.143 17.143 53.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["star-half-empty","star-half-full","star-half-o"],"defaultCode":61731,"grid":14},"attrs":[],"properties":{"name":"star-half-empty, star-half-full, star-half-o","id":170,"order":262,"prevSize":28,"code":61731},"setIdx":0,"setId":1,"iconIdx":175},{"icon":{"paths":["M318.286 731.429h340v-340zM292.571 705.714l340-340h-340v340zM950.857 749.714v109.714c0 10.286-8 18.286-18.286 18.286h-128v128c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-128h-493.714c-10.286 0-18.286-8-18.286-18.286v-493.714h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128v-128c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v128h486.286l140.571-141.143c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286l-141.143 140.571v486.286h128c10.286 0 18.286 8 18.286 18.286z"],"width":952.5394285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["crop"],"defaultCode":61733,"grid":14},"attrs":[],"properties":{"name":"crop","id":171,"order":264,"prevSize":28,"code":61733},"setIdx":0,"setId":1,"iconIdx":176},{"icon":{"paths":["M164.571 841.143c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM164.571 182.857c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM530.286 256c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM585.143 256c0 40.571-22.286 76-54.857 94.857-1.714 206.286-148 252-245.143 282.857-90.857 28.571-120.571 42.286-120.571 97.714v14.857c32.571 18.857 54.857 54.286 54.857 94.857 0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714c0-40.571 22.286-76 54.857-94.857v-468.571c-32.571-18.857-54.857-54.286-54.857-94.857 0-60.571 49.143-109.714 109.714-109.714s109.714 49.143 109.714 109.714c0 40.571-22.286 76-54.857 94.857v284c29.143-14.286 60-24 88-32.571 106.286-33.714 166.857-58.857 168-178.286-32.571-18.857-54.857-54.286-54.857-94.857 0-60.571 49.143-109.714 109.714-109.714s109.714 49.143 109.714 109.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["code-fork"],"defaultCode":61734,"grid":14},"attrs":[],"properties":{"name":"code-fork","id":172,"order":265,"prevSize":28,"code":61734},"setIdx":0,"setId":1,"iconIdx":177},{"icon":{"paths":["M250.857 726.286l-146.286 146.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143c-6.857-7.429-6.857-18.857 0-26.286l146.286-146.286c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286zM347.429 749.714v182.857c0 10.286-8 18.286-18.286 18.286s-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286s18.286 8 18.286 18.286zM219.429 621.714c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286s8-18.286 18.286-18.286h182.857c10.286 0 18.286 8 18.286 18.286zM941.714 694.857c0 44-17.143 85.143-48.571 116l-84 83.429c-30.857 30.857-72 47.429-116 47.429s-85.714-17.143-116.571-48.571l-190.857-191.429c-9.714-9.714-17.143-20.571-24-32l136.571-10.286 156 156.571c20.571 20.571 57.143 21.143 77.714 0.571l84-83.429c10.286-10.286 16-24 16-38.286 0-14.857-5.714-28.571-16-38.857l-156.571-157.143 10.286-136.571c11.429 6.857 22.286 14.286 32 24l192 192c30.857 31.429 48 72.571 48 116.571zM589.143 281.143l-136.571 10.286-156-156.571c-10.286-10.286-24-16-38.857-16s-28.571 5.714-38.857 15.429l-84 83.429c-10.286 10.286-16 24-16 38.286 0 14.857 5.714 28.571 16 38.857l156.571 156.571-10.286 137.143c-11.429-6.857-22.286-14.286-32-24l-192-192c-30.857-31.429-48-72.571-48-116.571s17.143-85.143 48.571-116l84-83.429c30.857-30.857 72-47.429 116-47.429s85.714 17.143 116.571 48.571l190.857 191.429c9.714 9.714 17.143 20.571 24 32zM950.857 329.143c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286s8-18.286 18.286-18.286h182.857c10.286 0 18.286 8 18.286 18.286zM640 18.286v182.857c0 10.286-8 18.286-18.286 18.286s-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286s18.286 8 18.286 18.286zM872.571 104.571l-146.286 146.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143c-6.857-7.429-6.857-18.857 0-26.286l146.286-146.286c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chain-broken","unlink"],"defaultCode":61735,"grid":14},"attrs":[],"properties":{"name":"chain-broken, unlink","id":173,"order":266,"prevSize":28,"code":61735},"setIdx":0,"setId":1,"iconIdx":178},{"icon":{"paths":["M511.999 960c-88.606 0-175.222-26.276-248.895-75.5-73.673-49.229-131.095-119.199-165.002-201.057-33.908-81.864-42.78-171.94-25.494-258.844s59.954-166.729 122.608-229.383c62.654-62.654 142.48-105.322 229.383-122.608s176.98-8.414 258.844 25.494c81.859 33.908 151.828 91.329 201.057 165.002 49.224 73.673 75.5 160.29 75.5 248.895 0 118.815-47.201 232.765-131.215 316.785-84.019 84.014-197.97 131.215-316.785 131.215zM511.999 128c-75.948 0-150.19 22.521-213.339 64.716s-112.367 102.167-141.431 172.334c-29.064 70.167-36.668 147.375-21.852 221.866 14.817 74.486 51.389 142.909 105.093 196.613s122.126 90.276 196.615 105.093c74.488 14.817 151.699 7.214 221.863-21.852 70.17-29.066 130.14-78.285 172.334-141.43 42.194-63.15 64.717-137.39 64.717-213.34 0-101.843-40.458-199.515-112.471-271.529s-169.687-112.471-271.529-112.471z","M495.999 352c26.511 0 48-21.49 48-48s-21.489-48-48-48c-26.51 0-48 21.49-48 48s21.49 48 48 48z","M671.999 704c0 8.489-3.369 16.625-9.375 22.625-6.001 6.006-14.136 9.375-22.625 9.375h-256c-8.487 0-16.626-3.369-22.627-9.375-6.001-6.001-9.373-14.136-9.373-22.625s3.372-16.625 9.373-22.625c6.001-6.006 14.14-9.375 22.627-9.375h96v-192h-64c-8.487 0-16.626-3.372-22.627-9.373s-9.373-14.14-9.373-22.627c0-8.487 3.372-16.626 9.373-22.627s14.14-9.373 22.627-9.373h96c8.489 0 16.625 3.372 22.625 9.373 6.006 6.001 9.375 14.14 9.375 22.627v224h96c8.489 0 16.625 3.369 22.625 9.375 6.006 6.001 9.375 14.136 9.375 22.625z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["info"],"defaultCode":61737,"grid":14},"attrs":[],"properties":{"name":"info","id":174,"order":678,"prevSize":28,"code":61737},"setIdx":0,"setId":1,"iconIdx":179},{"icon":{"paths":["M917.119 944.34h-812.798c-5.469-0.020-10.84-1.444-15.602-4.137-4.762-2.688-8.755-6.554-11.598-11.223-2.809-4.864-4.287-10.383-4.287-16s1.479-11.136 4.287-16l406.4-799.999c2.685-5.242 6.765-9.64 11.79-12.712s10.8-4.697 16.688-4.697c5.893 0 11.668 1.625 16.691 4.697 5.028 3.072 9.103 7.471 11.791 12.712l406.4 799.999c2.806 4.864 4.285 10.383 4.285 16s-1.48 11.136-4.285 16c-3.057 5.059-7.46 9.175-12.713 11.884-5.253 2.714-11.151 3.917-17.050 3.476zM156.481 880.34h708.481l-354.243-697.279-354.238 697.279z","M510.709 816.34c26.511 0 48-21.489 48-48s-21.489-48-48-48c-26.51 0-48 21.489-48 48s21.49 48 48 48z","M510.709 656.34c-8.487 0-16.626-3.369-22.627-9.375-6.001-6.001-9.373-14.136-9.373-22.625v-224c0-8.487 3.372-16.626 9.373-22.627s14.14-9.373 22.627-9.373c8.489 0 16.625 3.372 22.625 9.373 6.006 6.001 9.375 14.14 9.375 22.627v224c0 8.489-3.369 16.625-9.375 22.625-6.001 6.006-14.136 9.375-22.625 9.375z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["exclamation"],"defaultCode":61738,"grid":14},"attrs":[],"properties":{"name":"exclamation","id":175,"order":268,"prevSize":28,"code":61738},"setIdx":0,"setId":1,"iconIdx":180},{"icon":{"paths":["M822.857 256c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM950.857 91.429c0 189.714-52.571 316-188 452-33.143 32.571-70.857 66.286-111.429 100.571l-11.429 216.571c-0.571 5.714-4 11.429-9.143 14.857l-219.429 128c-2.857 1.714-5.714 2.286-9.143 2.286-4.571 0-9.143-1.714-13.143-5.143l-36.571-36.571c-4.571-5.143-6.286-12-4.571-18.286l48.571-157.714-160.571-160.571-157.714 48.571c-1.714 0.571-3.429 0.571-5.143 0.571-4.571 0-9.714-1.714-13.143-5.143l-36.571-36.571c-5.714-6.286-6.857-15.429-2.857-22.286l128-219.429c3.429-5.143 9.143-8.571 14.857-9.143l216.571-11.429c34.286-40.571 68-78.286 100.571-111.429 142.857-142.286 252-188 450.857-188 10.286 0 19.429 8 19.429 18.286z"],"width":967.4605714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["rocket"],"defaultCode":61749,"grid":14},"attrs":[],"properties":{"name":"rocket","id":176,"order":682,"prevSize":28,"code":61749},"setIdx":0,"setId":1,"iconIdx":181},{"icon":{"paths":["M997.143 441.714l-93.714 436h-190.857l101.714-475.429c4.571-20 1.714-38.286-8.571-50.286-9.714-12-26.857-18.857-47.429-18.857h-96.571l-116.571 544.571h-190.857l116.571-544.571h-163.429l-116.571 544.571h-190.857l116.571-544.571-87.429-186.857h729.143c77.143 0 147.429 32 192.571 88 45.714 56 62.286 132 46.286 207.429z"],"width":1013.1748571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["maxcdn"],"defaultCode":61750,"grid":14},"attrs":[],"properties":{"name":"maxcdn","id":177,"order":683,"prevSize":28,"code":61750},"setIdx":0,"setId":1,"iconIdx":182},{"icon":{"paths":["M519.429 797.143l58.286-58.286c14.286-14.286 14.286-37.143 0-51.429l-175.429-175.429 175.429-175.429c14.286-14.286 14.286-37.143 0-51.429l-58.286-58.286c-14.286-14.286-37.143-14.286-51.429 0l-259.429 259.429c-14.286 14.286-14.286 37.143 0 51.429l259.429 259.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-circle-left"],"defaultCode":61751,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-left","id":178,"order":280,"prevSize":28,"code":61751},"setIdx":0,"setId":1,"iconIdx":183},{"icon":{"paths":["M409.714 797.143l259.429-259.429c14.286-14.286 14.286-37.143 0-51.429l-259.429-259.429c-14.286-14.286-37.143-14.286-51.429 0l-58.286 58.286c-14.286 14.286-14.286 37.143 0 51.429l175.429 175.429-175.429 175.429c-14.286 14.286-14.286 37.143 0 51.429l58.286 58.286c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-circle-right"],"defaultCode":61752,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-right","id":179,"order":281,"prevSize":28,"code":61752},"setIdx":0,"setId":1,"iconIdx":184},{"icon":{"paths":["M665.714 650.857l58.286-58.286c14.286-14.286 14.286-37.143 0-51.429l-259.429-259.429c-14.286-14.286-37.143-14.286-51.429 0l-259.429 259.429c-14.286 14.286-14.286 37.143 0 51.429l58.286 58.286c14.286 14.286 37.143 14.286 51.429 0l175.429-175.429 175.429 175.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-circle-up"],"defaultCode":61753,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-up","id":180,"order":282,"prevSize":28,"code":61753},"setIdx":0,"setId":1,"iconIdx":185},{"icon":{"paths":["M464.571 742.286l259.429-259.429c14.286-14.286 14.286-37.143 0-51.429l-58.286-58.286c-14.286-14.286-37.143-14.286-51.429 0l-175.429 175.429-175.429-175.429c-14.286-14.286-37.143-14.286-51.429 0l-58.286 58.286c-14.286 14.286-14.286 37.143 0 51.429l259.429 259.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["chevron-circle-down"],"defaultCode":61754,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-down","id":181,"order":283,"prevSize":28,"code":61754},"setIdx":0,"setId":1,"iconIdx":186},{"icon":{"paths":["M219.429 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857zM512 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857zM804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["ellipsis-h"],"defaultCode":61761,"grid":14},"attrs":[],"properties":{"name":"ellipsis-h","id":182,"order":289,"prevSize":28,"code":61761},"setIdx":0,"setId":1,"iconIdx":187},{"icon":{"paths":["M437.143 742.286c2.857 6.857 1.714 14.286-2.857 20l-200 219.429c-3.429 3.429-8 5.714-13.143 5.714v0c-5.143 0-10.286-2.286-13.714-5.714l-202.857-219.429c-4.571-5.714-5.714-13.143-2.857-20 2.857-6.286 9.143-10.857 16.571-10.857h128v-713.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v713.143h128c7.429 0 13.714 4 16.571 10.857z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["long-arrow-down"],"defaultCode":61813,"grid":14},"attrs":[],"properties":{"name":"long-arrow-down","id":183,"order":338,"prevSize":28,"code":61813},"setIdx":0,"setId":1,"iconIdx":188},{"icon":{"paths":["M437.143 281.714c-2.857 6.286-9.143 10.857-16.571 10.857h-128v713.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-713.143h-128c-7.429 0-13.714-4-16.571-10.857s-1.714-14.286 2.857-20l200-219.429c3.429-3.429 8-5.714 13.143-5.714v0c5.143 0 10.286 2.286 13.714 5.714l202.857 219.429c4.571 5.714 5.714 13.143 2.857 20z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["long-arrow-up"],"defaultCode":61814,"grid":14},"attrs":[],"properties":{"name":"long-arrow-up","id":184,"order":339,"prevSize":28,"code":61814},"setIdx":0,"setId":1,"iconIdx":189},{"icon":{"paths":["M1024 457.143v109.714c0 10.286-8 18.286-18.286 18.286h-713.143v128c0 7.429-4 13.714-10.857 16.571s-14.286 1.714-20-2.857l-219.429-200c-3.429-3.429-5.714-8-5.714-13.143v0c0-5.143 2.286-10.286 5.714-13.714l219.429-202.286c5.714-5.143 13.143-6.286 20-3.429 6.286 2.857 10.857 9.143 10.857 16.571v128h713.143c10.286 0 18.286 8 18.286 18.286z"],"width":1060.5714285714284,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["long-arrow-left"],"defaultCode":61815,"grid":14},"attrs":[],"properties":{"name":"long-arrow-left","id":185,"order":340,"prevSize":28,"code":61815},"setIdx":0,"setId":1,"iconIdx":190},{"icon":{"paths":["M987.429 510.286c0 5.143-2.286 10.286-5.714 13.714l-219.429 202.286c-5.714 5.143-13.143 6.286-20 3.429-6.286-2.857-10.857-9.143-10.857-16.571v-128h-713.143c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h713.143v-128c0-7.429 4-13.714 10.857-16.571s14.286-1.714 20 2.857l219.429 200c3.429 3.429 5.714 8 5.714 13.143v0z"],"width":987.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["long-arrow-right"],"defaultCode":61816,"grid":14},"attrs":[],"properties":{"name":"long-arrow-right","id":186,"order":341,"prevSize":28,"code":61816},"setIdx":0,"setId":1,"iconIdx":191},{"icon":{"paths":["M109.714 731.429v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 585.143v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 438.857v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 292.571v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 146.286v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM731.429 54.857v841.143c0 30.286-24.571 54.857-54.857 54.857h-475.429c-30.286 0-54.857-24.571-54.857-54.857v-841.143c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857zM877.714 758.857v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 612.571v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 466.286v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 320v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 173.714v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[]},"tags":["microchip"],"defaultCode":62171,"grid":14},"attrs":[],"properties":{"name":"microchip","id":187,"order":693,"prevSize":28,"code":62171},"setIdx":0,"setId":1,"iconIdx":192}],"height":1024,"metadata":{"name":"FontAwesome"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"fa-","metadata":{"fontFamily":"FontAwesome","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"noie8":true,"ie7":false,"showSelector":false,"selector":"i","showMetrics":false,"showMetadata":false,"showVersion":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} \ No newline at end of file +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M684.256 793.966l-146.286 146.286c-6.932 6.802-16.255 10.606-25.964 10.606s-19.032-3.803-25.964-10.606l-146.286-146.286c-3.41-3.41-6.115-7.458-7.96-11.913s-2.796-9.23-2.796-14.052c-0.001-9.738 3.868-19.079 10.754-25.965s16.226-10.756 25.964-10.756c4.822 0 9.597 0.949 14.052 2.795s8.504 4.549 11.914 7.959l83.749 84.107v-423.856c0-9.699 3.853-19.002 10.712-25.86s16.16-10.712 25.86-10.712c9.699 0 19.001 3.853 25.86 10.712s10.712 16.16 10.712 25.86v423.856l83.749-84.107c6.886-6.886 16.227-10.756 25.966-10.756s19.079 3.869 25.966 10.756c6.886 6.886 10.755 16.227 10.755 25.966s-3.869 19.079-10.755 25.966z","M786.286 658.285h-128c-9.699 0-19.001-3.852-25.86-10.711s-10.712-16.161-10.712-25.86c0-9.699 3.853-19.001 10.712-25.86s16.16-10.712 25.86-10.712h128c32.768-0.031 64.285-12.618 88.057-35.172 23.779-22.554 38.005-53.361 39.76-86.085s-9.092-64.877-30.318-89.846c-21.219-24.97-51.207-40.858-83.785-44.396-8.316-0.882-16.084-4.59-21.994-10.505-5.917-5.914-9.626-13.678-10.503-21.996-3.35-31.449-18.235-60.542-41.784-81.652-23.551-21.11-54.092-32.737-85.719-32.634-23.597-0.154-46.754 6.384-66.785 18.857-6.953 4.363-15.168 6.269-23.332 5.414s-15.805-4.42-21.704-10.128c-33.699-32.745-78.905-50.956-125.893-50.714-44.461 0.011-87.395 16.221-120.77 45.598s-54.9 69.908-60.551 114.009c-0.856 6.825-3.618 13.27-7.971 18.595s-10.119 9.315-16.636 11.512c-28.688 9.795-52.969 29.455-68.519 55.477s-21.361 56.718-16.396 86.623c4.964 29.905 20.381 57.078 43.504 76.68s52.454 30.362 82.768 30.363h128c9.699 0 19.002 3.853 25.86 10.712s10.711 16.16 10.711 25.86c0 9.699-3.853 19.002-10.711 25.86s-16.161 10.711-25.86 10.711h-128c-45.726-0.010-90.084-15.596-125.767-44.191s-60.559-68.491-70.532-113.116c-9.973-44.625-4.447-91.317 15.667-132.381s53.618-74.052 94.989-93.527c12.401-57.159 43.982-108.357 89.498-145.089s102.228-56.789 160.717-56.839c56.689-0.21 111.801 18.659 156.464 53.571 26.825-11.769 55.891-17.556 85.178-16.958s58.092 7.565 84.415 20.419c26.323 12.854 49.532 31.284 68.007 54.012 18.483 22.728 31.795 49.208 39.007 77.598 47.587 12.004 89.154 40.98 116.875 81.479 27.728 40.499 39.702 89.732 33.675 138.44-6.034 48.708-29.645 93.536-66.406 126.054s-84.136 50.488-133.215 50.527z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud-download"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":723,"id":198,"name":"arduino-cloud-download","prevSize":28,"code":59664},"setIdx":0,"setId":1,"iconIdx":0},{"icon":{"paths":["M854.72 246.726l-671.997 672.001c-6.066 5.946-14.223 9.28-22.719 9.28s-16.653-3.334-22.719-9.28c-5.996-6.042-9.361-14.208-9.361-22.72s3.365-16.678 9.361-22.72l107.52-107.52c-37.22-5.818-71.592-23.424-98.059-50.234s-43.632-61.402-48.97-98.694c-5.338-37.292 1.432-75.312 19.315-108.469s45.935-59.7 80.029-75.724c7.995-36.965 25.219-71.304 50.068-99.816s56.512-50.267 92.038-63.237c35.526-12.971 73.758-16.735 111.132-10.941s72.672 20.956 102.604 44.074c23.899-10.368 49.78-15.369 75.821-14.651 26.038 0.718 51.606 7.138 74.896 18.807l105.6-105.596c6.029-6.026 14.202-9.411 22.72-9.411 8.525 0 16.698 3.385 22.72 9.411 6.029 6.026 9.414 14.198 9.414 22.72s-3.386 16.694-9.414 22.72v0z","M928 592.030c-0.083 46.653-18.65 91.375-51.642 124.36-32.986 32.986-77.702 51.558-124.358 51.642h-322.563l361.283-361.282c1.6 4.797 2.88 9.6 4.166 14.398 38.093 9.509 71.904 31.506 96.032 62.48s37.184 69.139 37.082 108.402v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud-filled-offline"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":724,"id":197,"name":"arduino-cloud-filled-offline","prevSize":28,"code":59665},"setIdx":0,"setId":1,"iconIdx":1},{"icon":{"paths":["M928 591.998c-0.083 46.653-18.65 91.375-51.635 124.36-32.992 32.992-77.709 51.558-124.365 51.642h-479.998c-40.017-0.013-78.836-13.658-110.060-38.688-31.224-25.024-52.989-59.942-61.71-98.999-8.721-39.055-3.876-79.916 13.736-115.849s46.94-64.794 83.151-81.826c7.995-36.965 25.22-71.304 50.068-99.816s56.513-50.266 92.038-63.237c35.526-12.971 73.759-16.735 111.132-10.941s72.672 20.956 102.604 44.074c22.414-9.744 46.599-14.755 71.040-14.72 39.262-0.102 77.425 12.954 108.401 37.083s52.973 57.94 62.483 96.035c38.093 9.508 71.904 31.506 96.032 62.48s37.184 69.14 37.082 108.403z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud-filled"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":725,"id":196,"name":"arduino-cloud-filled","prevSize":28,"code":59666},"setIdx":0,"setId":1,"iconIdx":2},{"icon":{"paths":["M794.88 421.148c-1.28-4.797-2.56-9.601-4.16-14.398l-53.12 53.125c2.080 5.548 5.67 10.404 10.362 14.022 4.698 3.618 10.304 5.853 16.198 6.454 28.493 3.153 54.701 17.094 73.235 38.963 18.541 21.868 28 50.003 26.445 78.628s-14.016 55.569-34.81 75.3c-20.8 19.725-48.365 30.746-77.030 30.79h-258.563l-64 64h322.563c42.944-0.026 84.403-15.744 116.57-44.198s52.832-67.68 58.099-110.301c5.267-42.621-5.216-85.699-29.491-121.13-24.269-35.43-60.646-60.771-102.298-71.254v0z","M854.72 201.3c-6.042-5.997-14.208-9.363-22.72-9.363s-16.678 3.366-22.714 9.363l-105.606 105.595c-23.29-11.669-48.858-18.089-74.898-18.806s-51.923 4.284-75.821 14.652c-29.932-23.118-65.23-38.28-102.604-44.074s-75.606-2.029-111.132 10.941c-35.526 12.971-67.19 34.726-92.039 63.237s-42.073 62.851-50.068 99.816c-34.093 16.024-62.145 42.566-80.028 75.723s-24.653 71.177-19.315 108.468c5.338 37.292 22.502 71.884 48.968 98.693s60.837 44.416 98.057 50.234l-107.52 107.52c-5.996 6.042-9.361 14.208-9.361 22.72s3.364 16.678 9.361 22.72c6.065 5.946 14.223 9.28 22.719 9.28s16.653-3.334 22.719-9.28l672.001-672.001c5.997-6.040 9.357-14.207 9.363-22.718 0-8.511-3.366-16.678-9.363-22.719v0zM306.564 704.019h-34.563c-26.523 0.013-52.188-9.395-72.423-26.541s-33.725-40.92-38.067-67.085c-4.342-26.165 0.747-53.022 14.36-75.785s34.865-39.954 59.97-48.51c5.716-1.953 10.763-5.483 14.557-10.184s6.18-10.379 6.883-16.379c5.021-38.555 23.892-73.968 53.095-99.638s66.744-39.843 105.625-39.878c41.119-0.243 80.673 15.741 110.078 44.484 5.176 4.951 11.848 8.045 18.97 8.797s14.294-0.88 20.39-4.641c17.553-10.974 37.86-16.744 58.562-16.641 10.271 0.061 20.492 1.458 30.399 4.156l-347.836 347.843z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud-offline"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":726,"id":195,"name":"arduino-cloud-offline","prevSize":28,"code":59667},"setIdx":0,"setId":1,"iconIdx":3},{"icon":{"paths":["M684.258 537.965c-6.932 6.799-16.255 10.607-25.964 10.607s-19.032-3.809-25.964-10.607l-83.751-84.118v423.867c0 9.699-3.853 19.003-10.711 25.856-6.859 6.861-16.161 10.715-25.86 10.715s-19.001-3.855-25.86-10.715c-6.859-6.853-10.712-16.157-10.712-25.856v-423.867l-83.749 84.118c-6.886 6.886-16.227 10.756-25.966 10.756s-19.079-3.869-25.966-10.756c-6.886-6.886-10.755-16.227-10.755-25.966s3.869-19.079 10.755-25.966l146.286-146.286c6.903-6.854 16.236-10.701 25.964-10.701s19.062 3.847 25.964 10.701l146.286 146.286c6.853 6.904 10.7 16.237 10.701 25.965s-3.845 19.062-10.698 25.966z","M786.286 694.856h-128c-9.699 0-19.001-3.852-25.86-10.711s-10.712-16.161-10.712-25.86c0-9.699 3.853-19.001 10.712-25.86s16.16-10.712 25.86-10.712h128c32.768-0.031 64.285-12.618 88.057-35.172 23.779-22.554 38.005-53.361 39.76-86.085s-9.092-64.877-30.318-89.846c-21.219-24.97-51.207-40.858-83.785-44.396-8.316-0.882-16.084-4.59-21.994-10.505-5.917-5.914-9.626-13.678-10.503-21.996-3.35-31.449-18.235-60.542-41.784-81.652-23.551-21.11-54.092-32.737-85.719-32.634-23.597-0.154-46.754 6.384-66.785 18.857-6.954 4.362-15.168 6.268-23.331 5.413s-15.805-4.419-21.705-10.127c-33.699-32.745-78.905-50.956-125.893-50.714-44.461 0.011-87.395 16.221-120.77 45.598s-54.9 69.908-60.551 114.009c-0.856 6.825-3.618 13.27-7.971 18.595s-10.119 9.315-16.636 11.512c-28.688 9.795-52.969 29.455-68.519 55.477s-21.361 56.718-16.396 86.623c4.964 29.905 20.381 57.078 43.504 76.68s52.454 30.362 82.768 30.363h128c9.699 0 19.002 3.853 25.86 10.712s10.711 16.16 10.711 25.86c0 9.699-3.853 19.002-10.711 25.86s-16.161 10.711-25.86 10.711h-128c-45.726-0.010-90.084-15.596-125.767-44.191s-60.559-68.491-70.532-113.116c-9.973-44.625-4.447-91.317 15.667-132.381s53.618-74.052 94.989-93.527c12.401-57.159 43.982-108.357 89.498-145.089s102.228-56.789 160.717-56.839c56.689-0.21 111.801 18.659 156.464 53.571 26.825-11.769 55.891-17.556 85.178-16.958s58.092 7.565 84.415 20.419c26.323 12.854 49.532 31.284 68.007 54.012 18.483 22.728 31.795 49.208 39.007 77.598 47.587 12.004 89.154 40.98 116.875 81.479 27.728 40.499 39.702 89.732 33.675 138.44-6.034 48.708-29.645 93.536-66.406 126.054s-84.136 50.488-133.215 50.527z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud-upload"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":727,"id":194,"name":"arduino-cloud-upload","prevSize":28,"code":59668},"setIdx":0,"setId":1,"iconIdx":4},{"icon":{"paths":["M752 768h-480c-40.010-0.006-78.824-13.645-110.046-38.662-31.222-25.024-52.989-59.93-61.716-98.98-8.726-39.047-3.891-79.902 13.709-115.833s46.915-64.796 83.115-81.836c10.851-50.014 38.484-94.812 78.31-126.953s89.45-49.69 140.627-49.734c49.603-0.184 97.826 16.327 136.906 46.875 23.472-10.298 48.904-15.361 74.531-14.838s50.829 6.62 73.862 17.866c23.034 11.247 43.341 27.374 59.507 47.261 16.173 19.887 27.821 43.056 34.131 67.898 41.638 10.504 78.010 35.857 102.266 71.294 24.262 35.437 34.739 78.515 29.466 121.135-5.28 42.623-25.939 81.842-58.106 110.296s-73.619 44.179-116.563 44.211zM416 320.001c-38.904 0.010-76.471 14.193-105.674 39.899s-48.038 61.169-52.982 99.757c-0.749 5.972-3.166 11.611-6.975 16.271s-8.853 8.151-14.556 10.073c-25.102 8.571-46.348 25.773-59.954 48.542s-18.691 49.628-14.347 75.795c4.344 26.167 17.833 49.943 38.066 67.095s45.897 26.566 72.422 26.566h480c28.672-0.026 56.25-11.040 77.050-30.778 20.806-19.731 33.254-46.688 34.79-75.321s-7.955-56.767-26.528-78.616c-18.566-21.848-44.806-35.75-73.312-38.847-7.277-0.772-14.074-4.016-19.245-9.191-5.178-5.176-8.422-11.969-9.19-19.247-2.931-27.518-15.955-52.974-36.563-71.445-20.602-18.471-47.328-28.645-75.002-28.555-20.647-0.135-40.909 5.587-58.437 16.5-6.084 3.816-13.272 5.484-20.415 4.737s-13.83-3.868-18.992-8.861c-29.487-28.652-69.042-44.586-110.156-44.375v0z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-cloud"],"colorPermutations":{"12714014111291321":[]}},"attrs":[],"properties":{"order":728,"id":193,"name":"arduino-cloud","prevSize":28,"code":59669},"setIdx":0,"setId":1,"iconIdx":5},{"icon":{"paths":["M558.545 1024c-23.818 0-47.637-9.095-65.819-27.276l-465.454-465.453c-36.363-36.363-36.363-95.273 0-131.636s95.273-36.363 131.637 0l399.636 399.636 772.003-772c36.361-36.363 95.269-36.363 131.631 0s36.361 95.273 0 131.637l-837.815 837.815c-18.182 18.181-42 27.276-65.818 27.276z"],"attrs":[{}],"width":1489,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-verify"],"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":12,"id":192,"name":"arduino-verify","prevSize":28,"code":59659},"setIdx":0,"setId":1,"iconIdx":6},{"icon":{"paths":["M1072.469 526.509l-409.603 409.598c-13.65 12.971-30.717 19.804-48.467 19.804s-34.817-6.833-48.467-19.804c-26.625-26.617-26.625-70.315 0-96.932l293.551-292.866h-791.217c-37.55 0-68.267-30.717-68.267-68.267s30.717-68.267 68.267-68.267h791.217l-293.551-292.866c-26.625-26.616-26.625-70.317 0-96.934 26.616-26.634 70.317-26.634 96.933 0l409.603 409.6c26.624 26.616 26.624 70.317 0 96.934v0z"],"attrs":[{}],"width":1161,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-upload"],"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":11,"id":191,"name":"arduino-upload","prevSize":28,"code":59660},"setIdx":0,"setId":1,"iconIdx":7},{"icon":{"paths":["M651.891 890.88c-92.835 0-179.095-28.493-250.5-77.197l-129.659 129.658c-22.494 22.496-58.964 22.496-81.458 0s-22.494-58.963 0-81.459l124.954-124.954c-67.75-78.157-108.777-180.090-108.777-291.489 0-245.759 199.68-445.439 445.44-445.439s445.44 199.679 445.44 445.439c0 245.761-199.68 445.441-445.44 445.441zM651.891 153.6c-161.28 0-291.84 130.559-291.84 291.839s130.56 291.841 291.84 291.841c160.512 0 291.84-130.561 291.84-291.841 0-160.511-130.56-291.839-291.84-291.839zM1149.562 478.091c0 35.423 28.717 64.138 64.141 64.138s64.134-28.716 64.134-64.138c0-35.423-28.71-64.139-64.134-64.139s-64.141 28.716-64.141 64.139zM64.064 542.237c-35.382 0-64.064-28.682-64.064-64.063s28.682-64.064 64.064-64.064c35.381 0 64.064 28.682 64.064 64.064s-28.683 64.063-64.064 64.063zM1458.707 542.229c-35.418 0-64.134-28.716-64.134-64.138s28.717-64.139 64.134-64.139c35.424 0 64.141 28.716 64.141 64.139s-28.717 64.138-64.141 64.138zM652.659 526.847c-44.961 0-81.408-36.447-81.408-81.407s36.447-81.408 81.408-81.408c44.96 0 81.408 36.447 81.408 81.408s-36.448 81.407-81.408 81.407z"],"attrs":[{}],"width":1536,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-monitor"],"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":10,"id":190,"name":"arduino-monitor","prevSize":28,"code":59661},"setIdx":0,"setId":1,"iconIdx":8},{"icon":{"paths":["M511.998 603.432c50.495 0 91.432-40.936 91.432-91.432s-40.936-91.432-91.432-91.432c-50.495 0-91.432 40.936-91.432 91.432s40.936 91.432 91.432 91.432z","M923.433 603.432c50.494 0 91.432-40.936 91.432-91.432s-40.937-91.432-91.432-91.432c-50.494 0-91.432 40.936-91.432 91.432s40.937 91.432 91.432 91.432z","M100.565 603.432c50.495 0 91.432-40.936 91.432-91.432s-40.936-91.432-91.432-91.432c-50.495 0-91.432 40.936-91.432 91.432s40.936 91.432 91.432 91.432z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-sketch-tabs-menu"],"colorPermutations":{"12714014111291321":[{},{},{}]}},"attrs":[{},{},{}],"properties":{"order":9,"id":189,"name":"arduino-sketch-tabs-menu","prevSize":28,"code":59662},"setIdx":0,"setId":1,"iconIdx":9},{"icon":{"paths":["M323.368 970.208c-20.263 0-39-11.42-48.21-29.788l-146.789-293.581h-74.474c-29.789 0-53.895-24.107-53.895-53.895s24.105-53.895 53.895-53.895h107.789c20.421 0 39.053 11.528 48.21 29.788l96.527 193.056 180.263-720.949c5.842-23.579 26.737-40.263 51-40.842 23.947-1.579 45.893 15.158 52.894 38.421l150.162 500.526h67.681c29.788 0 53.895 24.107 53.895 53.895s-24.107 53.895-53.895 53.895h-107.789c-23.789 0-44.787-15.629-51.631-38.422l-105.316-351.104-168.052 672.053c-5.474 21.897-23.948 38.055-46.368 40.529-2 0.21-3.947 0.313-5.895 0.313h-0.001z"],"attrs":[{}],"width":862,"isMulticolor":false,"isMulticolor2":false,"grid":14,"tags":["arduino-plotter"],"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":8,"id":188,"name":"arduino-plotter","prevSize":28,"code":59663},"setIdx":0,"setId":1,"iconIdx":10},{"icon":{"paths":["M416.006 800c-4.211 0.026-8.386-0.787-12.285-2.374-3.899-1.594-7.445-3.942-10.435-6.906l-224-224.002c-6.026-6.026-9.411-14.198-9.411-22.72s3.385-16.694 9.411-22.72c6.026-6.026 14.198-9.411 22.72-9.411s16.694 3.386 22.72 9.411l201.28 201.602 425.281-425.602c6.022-6.026 14.195-9.411 22.72-9.411 8.518 0 16.691 3.386 22.72 9.411 6.022 6.026 9.408 14.198 9.408 22.72s-3.386 16.694-9.408 22.72l-448.001 448.002c-2.99 2.963-6.536 5.312-10.435 6.906-3.899 1.587-8.074 2.4-12.285 2.374z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["fa-check"],"grid":14,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":722,"id":0,"name":"fa-check","prevSize":28,"code":59658},"setIdx":0,"setId":1,"iconIdx":11},{"icon":{"paths":["M864 128h-576c-8.484 0.062-16.618 3.385-22.72 9.28l-128 128c-5.969 6.052-9.305 14.219-9.28 22.72v576c0.024 8.48 3.404 16.602 9.4 22.598s14.121 9.376 22.6 9.402h576c8.486-0.038 16.634-3.36 22.72-9.28l128-128c5.894-6.099 9.216-14.234 9.28-22.72v-576c-0.026-8.479-3.405-16.605-9.402-22.6s-14.118-9.375-22.598-9.4zM704 832h-512v-512h512v512zM722.56 256h-485.12l63.68-64h485.44l-64 64zM832 722.88l-64 63.68v-485.12l64-64v485.44z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-3dimensionscube"],"grid":14,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":717,"id":1,"name":"arduino-technology-3dimensionscube","prevSize":28,"code":59654},"setIdx":0,"setId":1,"iconIdx":12},{"icon":{"paths":["M848 224v96c0 8.487-3.373 16.627-9.37 22.627-6.003 6.001-14.144 9.373-22.63 9.373h-16v96c-0.019 5.909-1.67 11.699-4.781 16.725-3.104 5.027-7.539 9.096-12.819 11.755l-238.4 119.36v242.88c16.845 7.354 30.644 20.282 39.079 36.608 8.435 16.333 10.989 35.066 7.233 53.056s-13.59 34.144-27.852 45.734c-14.262 11.597-32.081 17.92-50.46 17.92s-36.198-6.323-50.46-17.92c-14.262-11.59-24.097-27.744-27.852-45.734s-1.201-36.723 7.233-53.056c8.435-16.326 22.234-29.254 39.079-36.608v-82.88l-238.4-119.36c-5.277-2.659-9.715-6.728-12.822-11.755s-4.76-10.816-4.778-16.725v-102.72c-16.845-7.352-30.644-20.279-39.079-36.609s-10.988-35.066-7.233-53.057c3.755-17.992 13.59-34.141 27.852-45.734s32.081-17.921 50.46-17.921c18.38 0 36.198 6.328 50.46 17.921s24.097 27.743 27.852 45.734c3.756 17.992 1.201 36.727-7.233 53.057s-22.234 29.257-39.079 36.609v82.88l192 96v-524.16h-32c-6.372 0.032-12.609-1.839-17.91-5.374s-9.428-8.572-11.85-14.466c-2.41-5.858-3.028-12.3-1.775-18.509s4.321-11.907 8.815-16.371l64-64c2.975-2.999 6.514-5.38 10.413-7.005s8.083-2.461 12.307-2.461c4.225 0 8.407 0.836 12.307 2.461s7.439 4.005 10.413 7.005l64 64c4.44 4.5 7.448 10.214 8.644 16.422s0.526 12.63-1.924 18.458c-2.401 5.844-6.477 10.846-11.716 14.377s-11.406 5.432-17.724 5.463h-32v364.16l192-96v-76.16h-16c-8.486 0-16.627-3.372-22.63-9.373-5.997-6.001-9.37-14.14-9.37-22.627v-96c0-8.487 3.373-16.627 9.37-22.627 6.003-6.001 14.144-9.373 22.63-9.373h96c8.486 0 16.627 3.372 22.63 9.373 5.997 6.001 9.37 14.14 9.37 22.627z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-usb"],"grid":14,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":715,"id":2,"name":"arduino-technology-usb","prevSize":28,"code":59655},"setIdx":0,"setId":1,"iconIdx":13},{"icon":{"paths":["M512 832c35.346 0 64-28.653 64-64s-28.654-64-64-64c-35.346 0-64 28.653-64 64s28.654 64 64 64z","M647.699 664.32c-8.442-0.122-16.493-3.571-22.401-9.6-14.863-14.9-32.519-26.721-51.957-34.787s-40.277-12.218-61.323-12.218c-21.046 0-41.884 4.152-61.323 12.218s-37.094 19.887-51.957 34.787c-5.996 5.958-14.106 9.306-22.56 9.306s-16.564-3.347-22.56-9.306c-5.96-5.997-9.306-14.106-9.306-22.559s3.345-16.564 9.306-22.56c20.801-20.803 45.495-37.304 72.673-48.563s56.308-17.053 85.727-17.053c29.418 0 58.548 5.795 85.726 17.053s51.875 27.761 72.675 48.563c4.512 4.476 7.59 10.194 8.838 16.426 1.254 6.232 0.614 12.695-1.818 18.562-2.438 5.875-6.573 10.886-11.866 14.4-5.299 3.514-11.52 5.37-17.875 5.331z","M919.373 392.639c-4.269 0.195-8.538-0.47-12.55-1.954s-7.686-3.757-10.81-6.686c-101.965-101.613-240.045-158.669-383.997-158.669-143.951 0-282.035 57.056-384 158.669-6.026 5.983-14.181 9.328-22.673 9.298s-16.623-3.432-22.607-9.458c-5.983-6.026-9.327-14.181-9.298-22.673s3.432-16.623 9.458-22.607c114.009-113.924 268.588-177.918 429.76-177.918 161.175 0 315.754 63.994 429.757 177.918 3.002 2.975 5.382 6.514 7.008 10.413s2.458 8.083 2.458 12.307c0 4.225-0.832 8.407-2.458 12.307s-4.006 7.439-7.008 10.413c-3.078 2.89-6.701 5.14-10.656 6.623-3.949 1.483-8.16 2.168-12.384 2.017z","M783.706 528.316c-4.211 0.024-8.384-0.783-12.288-2.375-3.898-1.592-7.443-3.939-10.432-6.905-32.691-32.703-71.501-58.646-114.221-76.346-42.715-17.7-88.501-26.81-134.74-26.81s-92.025 9.11-134.742 26.81c-42.717 17.7-81.529 43.643-114.218 76.346-6.122 5.242-13.996 7.982-22.049 7.671s-15.693-3.65-21.393-9.349c-5.699-5.699-9.037-13.338-9.348-21.392s2.428-15.928 7.67-22.050c78.009-77.968 183.788-121.767 294.080-121.767s216.072 43.799 294.081 121.767c5.958 5.996 9.306 14.106 9.306 22.56s-3.347 16.564-9.306 22.56c-5.958 5.912-14.003 9.245-22.4 9.28z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-connection"],"grid":14,"colorPermutations":{"12714014111291321":[{},{},{},{}]}},"attrs":[{},{},{},{}],"properties":{"order":714,"id":3,"name":"arduino-technology-connection","prevSize":28,"code":59656},"setIdx":0,"setId":1,"iconIdx":14},{"icon":{"paths":["M512.006 991.994c-4.198 0.109-8.362-0.768-12.16-2.56-5.844-2.4-10.846-6.477-14.377-11.712-3.53-5.242-5.431-11.405-5.463-17.728v-370.877l-169.28 169.597c-2.984 2.989-6.525 5.35-10.424 6.97-3.898 1.613-8.077 2.445-12.296 2.445s-8.397-0.832-12.296-2.445c-3.898-1.619-7.441-3.981-10.424-6.97-2.984-2.982-5.35-6.522-6.965-10.419s-2.445-8.077-2.445-12.301c0-4.218 0.831-8.397 2.445-12.294s3.981-7.437 6.965-10.426l201.6-201.277-201.6-201.28c-6.026-6.026-9.411-14.198-9.411-22.72s3.385-16.694 9.411-22.72c6.026-6.026 14.198-9.411 22.72-9.411s16.694 3.386 22.72 9.411l169.28 169.6v-370.88c0.032-6.318 1.933-12.485 5.463-17.724s8.533-9.316 14.377-11.716c5.828-2.451 12.25-3.12 18.458-1.924s11.922 4.204 16.422 8.644l224.001 224c3.002 2.975 5.382 6.514 7.002 10.413 1.626 3.9 2.464 8.082 2.464 12.307s-0.838 8.407-2.464 12.307c-1.619 3.9-4 7.439-7.002 10.413l-201.601 201.28 201.601 201.277c3.002 2.976 5.382 6.515 7.002 10.419 1.626 3.898 2.464 8.077 2.464 12.301 0 4.23-0.838 8.41-2.464 12.307-1.619 3.904-4 7.443-7.002 10.413l-224.001 224c-2.99 2.97-6.536 5.318-10.435 6.906-3.899 1.594-8.074 2.4-12.285 2.374zM544.006 589.117v293.757l146.881-146.88-146.881-146.877zM544.006 141.117v293.76l146.881-146.88-146.881-146.88z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"tags":["technology-bluetooth"],"grid":14,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":713,"id":4,"name":"arduino-technology-bluetooth","prevSize":28,"code":59657},"setIdx":0,"setId":1,"iconIdx":15},{"icon":{"paths":["M613.86 663.104c-8.983 0.005-17.72-2.956-24.841-8.429-7.126-5.474-12.241-13.144-14.55-21.825s-1.685-17.883 1.778-26.173c3.463-8.29 9.57-15.202 17.366-19.661l304.621-173.965-488.052-278.887v296.386c0 10.801-4.291 21.16-11.929 28.799-7.638 7.636-17.997 11.927-28.799 11.927s-21.16-4.291-28.799-11.927c-7.638-7.638-11.929-17.997-11.929-28.799v-366.545c-0.004-7.135 1.867-14.146 5.426-20.33s8.681-11.324 14.852-14.905c6.171-3.581 13.175-5.477 20.31-5.499s14.15 1.832 20.343 5.376l610.91 349.045c6.232 3.561 11.413 8.707 15.020 14.917 3.603 6.21 5.502 13.261 5.502 20.441s-1.899 14.232-5.502 20.441c-3.607 6.21-8.788 11.356-15.020 14.917l-366.545 209.324c-6.135 3.528-13.089 5.381-20.163 5.371z","M491.636 797.094c10.803 0 21.16-4.291 28.798-11.93s11.93-17.994 11.93-28.798c0-10.803-4.291-21.16-11.93-28.798s-17.994-11.93-28.798-11.93h-43.173c-1.991-17.389-5.534-34.56-10.589-51.316l41.949-41.951c3.798-3.793 6.81-8.304 8.867-13.265 2.053-4.962 3.109-10.277 3.109-15.649s-1.057-10.687-3.109-15.649c-2.057-4.962-5.069-9.467-8.867-13.265s-8.304-6.81-13.265-8.867c-4.961-2.053-10.279-3.114-15.649-3.114s-10.688 1.061-15.649 3.114c-4.961 2.057-9.47 5.069-13.267 8.867l-21.585 21.583c-14.553-22.109-34.216-40.387-57.327-53.285-23.11-12.902-48.988-20.052-75.444-20.838-26.456 0.787-52.334 7.936-75.444 20.838s-42.774 31.181-57.327 53.29l-21.585-21.588c-7.669-7.671-18.070-11.976-28.915-11.976s-21.247 4.305-28.916 11.976c-7.669 7.666-11.978 18.069-11.978 28.914s4.308 21.248 11.977 28.914l41.949 41.951c-5.055 16.756-8.599 33.927-10.589 51.316h-43.171c-10.802 0-21.161 4.291-28.799 11.93s-11.929 17.994-11.929 28.798c0 10.803 4.291 21.16 11.929 28.798s17.997 11.93 28.799 11.93h43.173c1.991 17.389 5.534 34.56 10.589 51.316l-1.222 1.224-40.727 40.727c-7.631 7.685-11.913 18.078-11.913 28.914 0 10.831 4.282 21.225 11.913 28.914 7.72 7.568 18.102 11.813 28.915 11.813s21.194-4.245 28.915-11.813l21.585-21.588c14.553 22.109 34.216 40.387 57.327 53.29s48.989 20.052 75.445 20.838c26.456-0.787 52.334-7.936 75.444-20.838s42.774-31.181 57.327-53.29l21.585 21.588c7.72 7.573 18.102 11.813 28.915 11.813s21.194-4.24 28.916-11.813c7.629-7.689 11.911-18.083 11.911-28.914 0-10.836-4.282-21.229-11.911-28.914l-41.95-41.951c5.055-16.756 8.599-33.927 10.589-51.316h43.174zM267.636 593.458c37.058 0 69.644 32.991 87.564 81.455h-175.127c17.92-48.463 50.506-81.455 87.564-81.455zM267.636 919.276c-55.389 0-101.818-74.533-101.818-162.909h203.636c0 88.376-46.429 162.909-101.818 162.909z"],"attrs":[{},{}],"tags":["arduino-debugger"],"grid":14,"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"12714014111291321":[{},{}]}},"attrs":[{},{}],"properties":{"order":696,"id":5,"name":"arduino-debugger","prevSize":28,"code":59653},"setIdx":0,"setId":1,"iconIdx":16},{"icon":{"paths":["M1011.905 953.837l-286.249-286.249c66.349-81.248 98.942-184.882 91.034-289.478-7.903-104.597-55.702-202.157-133.511-272.506-77.804-70.35-179.671-108.111-284.533-105.473s-204.701 45.47-278.874 119.643c-74.172 74.172-117.006 174.012-119.643 278.874s35.123 206.729 105.473 284.537c70.35 77.804 167.91 125.604 272.506 133.506 104.597 7.907 208.231-24.685 289.479-91.034l286.249 286.249c3.8 3.832 8.323 6.874 13.305 8.95s10.328 3.145 15.727 3.145c5.398 0 10.745-1.071 15.727-3.145 4.986-2.075 9.506-5.117 13.31-8.95 3.832-3.804 6.874-8.323 8.95-13.31 2.075-4.982 3.145-10.328 3.145-15.727s-1.071-10.739-3.145-15.727c-2.075-4.982-5.117-9.506-8.95-13.305v0zM410.372 737.512c-64.702 0-127.952-19.184-181.75-55.132-53.798-35.944-95.728-87.038-120.49-146.816s-31.239-125.554-18.616-189.013c12.623-63.459 43.78-121.751 89.532-167.502s104.043-76.909 167.502-89.532c63.459-12.623 129.235-6.145 189.013 18.616s110.868 66.691 146.816 120.489c35.948 53.798 55.132 117.048 55.132 181.75 0 86.766-34.467 169.972-95.815 231.325-61.353 61.349-144.564 95.815-231.326 95.815v0z"],"attrs":[{}],"tags":["arduino-search"],"grid":14,"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":689,"id":6,"name":"arduino-search","prevSize":28,"code":59649},"setIdx":0,"setId":1,"iconIdx":17},{"icon":{"paths":["M997.684 728.889c0 11.506-4.572 22.538-12.707 30.67s-19.165 12.707-30.67 12.707h-433.777c-11.506 0-22.538-4.572-30.673-12.707s-12.705-19.165-12.705-30.67 4.571-22.538 12.705-30.67c8.136-8.134 19.166-12.707 30.673-12.707h433.777c11.506 0 22.538 4.572 30.67 12.707s12.707 19.165 12.707 30.67z","M1201.991 351.068l-74.173-73.742v-199.104c0-11.503-4.572-22.539-12.707-30.673s-19.165-12.705-30.67-12.705h-910.933c-11.503 0-22.539 4.571-30.673 12.705s-12.705 19.168-12.705 30.673v130.133h-86.756c-11.504 0-22.539 4.571-30.673 12.705s-12.705 19.168-12.705 30.673v216.89c0 11.503 4.571 22.539 12.705 30.673s19.168 12.705 30.673 12.705h86.756v433.777c0 11.506 4.571 22.538 12.705 30.67s19.168 12.707 30.673 12.707h910.933c5.71 0.034 11.368-1.062 16.653-3.216 5.285-2.161 10.092-5.342 14.143-9.365l86.756-86.756c4.020-4.052 7.203-8.859 9.365-14.143 2.157-5.285 3.253-10.94 3.216-16.653v-477.156c0.034-5.708-1.062-11.369-3.216-16.654-2.161-5.285-5.342-10.092-9.365-14.145zM86.751 425.243v-130.133h216.89v130.133h-216.89zM1127.818 841.24l-61.159 61.159h-849.774v-390.4h130.133c11.503 0 22.539-4.571 30.673-12.705s12.705-19.168 12.705-30.673v-216.89c0-11.503-4.571-22.539-12.705-30.673s-19.168-12.705-30.673-12.705h-130.133v-86.756h824.177v173.51c-0.034 5.708 1.062 11.369 3.216 16.654 2.161 5.285 5.342 10.092 9.365 14.145l74.173 73.742v441.589z"],"width":1214.5714285714287,"attrs":[{},{}],"tags":["arduino-boards"],"grid":14,"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"12714014111291321":[{},{}]}},"attrs":[{},{}],"properties":{"order":7,"id":7,"name":"arduino-boards","prevSize":28,"code":59650},"setIdx":0,"setId":1,"iconIdx":18},{"icon":{"paths":["M1021.954 918.445l-171.299-652.491c-2.901-9.738-9.491-17.956-18.363-22.903-8.876-4.946-19.333-6.228-29.138-3.571l-141.319 35.427v-230.085c0-10.325-4.102-20.227-11.403-27.529s-17.201-11.403-27.528-11.403h-155.725c-10.327 0-20.226 4.101-27.529 11.403-7.301 7.302-11.403 17.203-11.403 27.529v116.794h-155.725v-77.863c0-10.325-4.101-20.227-11.403-27.529s-17.203-11.403-27.529-11.403h-194.658c-10.325 0-20.227 4.101-27.529 11.403s-11.403 17.203-11.403 27.529v895.424c0 10.327 4.101 20.226 11.403 27.528s17.203 11.403 27.529 11.403h583.972c10.327 0 20.226-4.102 27.528-11.403s11.403-17.201 11.403-27.528v-454.332l119.909 456.668c2.207 8.565 7.265 16.124 14.34 21.433 7.079 5.308 15.751 8.044 24.591 7.764 3.364 0.379 6.758 0.379 10.123 0l164.678-43.212c9.975-2.589 18.518-9.032 23.75-17.908 2.581-4.721 4.156-9.926 4.627-15.288 0.467-5.361-0.178-10.759-1.9-15.857v0zM194.659 940.247h-116.794v-817.56h116.794v817.56zM428.248 940.247h-155.725v-700.766h155.725v700.766zM583.973 940.247h-77.863v-856.491h77.863v856.491zM847.15 923.896l-151.442-576.964 89.543-23.748 151.442 578.132-89.543 22.58z"],"attrs":[{}],"tags":["arduino-library"],"grid":14,"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":691,"id":8,"name":"arduino-library","prevSize":28,"code":59651},"setIdx":0,"setId":1,"iconIdx":19},{"icon":{"paths":["M1189.198 204.801h-542.21l-189.437-189.951c-4.784-4.746-10.457-8.499-16.696-11.048s-12.918-3.84-19.656-3.801h-358.398c-13.579 0-26.602 5.394-36.204 14.997s-14.997 22.624-14.997 36.204v921.597c0 13.581 5.394 26.601 14.997 36.203s22.624 14.998 36.204 14.998h1126.397c13.581 0 26.601-5.395 36.203-14.998s14.998-22.621 14.998-36.203v-716.798c0-13.579-5.395-26.602-14.998-36.204s-22.621-14.997-36.203-14.997zM114.001 102.4h286.208l102.4 102.4h-388.606v-102.4zM1137.998 921.598h-1023.998v-614.398h1023.998v614.398z"],"width":1252,"attrs":[{}],"tags":["arduino-folder"],"grid":14,"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"12714014111291321":[{}]}},"attrs":[{}],"properties":{"order":692,"id":9,"name":"arduino-folder","prevSize":28,"code":59652},"setIdx":0,"setId":1,"iconIdx":20},{"icon":{"paths":["M512.083 959.936c118.817 0 232.769-47.2 316.781-131.213 84.019-84.019 131.219-197.969 131.219-316.785 0-8.487-3.373-16.627-9.376-22.628-5.997-6.001-14.138-9.373-22.624-9.373s-16.627 3.372-22.63 9.373c-5.997 6.001-9.37 14.141-9.37 22.627-0.019 87.81-30.131 172.959-85.318 241.26s-132.115 115.622-217.962 134.086c-85.848 18.458-175.428 6.931-253.811-32.646-78.383-39.584-140.833-104.832-176.941-184.87-36.108-80.045-43.693-170.045-21.49-255.001s72.852-159.737 143.505-211.878c70.653-52.141 157.042-78.492 244.768-74.662s171.487 37.612 237.33 95.712h-158.081c-8.487 0-16.626 3.372-22.627 9.373s-9.373 14.141-9.373 22.627c0 8.487 3.372 16.627 9.373 22.628s14.14 9.372 22.627 9.372h224.001c8.486 0 16.627-3.371 22.624-9.372 6.003-6.001 9.376-14.141 9.376-22.628v-224c0-8.487-3.373-16.626-9.376-22.627-5.997-6.001-14.138-9.373-22.624-9.373s-16.627 3.371-22.63 9.373c-5.997 6.001-9.37 14.14-9.37 22.627v136.96c-55.162-46.332-120.678-78.68-191.002-94.301s-143.375-14.052-212.963 4.571c-69.588 18.623-133.659 53.753-186.78 102.41s-93.725 109.405-118.369 177.096c-24.644 67.69-32.602 140.324-23.199 211.745 9.404 71.419 35.891 139.521 77.216 198.523 41.325 59.008 96.27 107.174 160.174 140.422s134.885 50.598 206.922 50.573v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[{}],"12714014111291321":[{}]},"tags":["reload"],"grid":14},"attrs":[{}],"properties":{"order":681,"id":10,"name":"reload","prevSize":28,"code":59648},"setIdx":0,"setId":1,"iconIdx":21},{"icon":{"paths":["M846.857 600c34.857 20 46.857 65.143 26.857 100l-36.571 62.857c-20 34.857-65.143 46.857-100 26.857l-152-87.429v175.429c0 40-33.143 73.143-73.143 73.143h-73.143c-40 0-73.143-33.143-73.143-73.143v-175.429l-152 87.429c-34.857 20-80 8-100-26.857l-36.571-62.857c-20-34.857-8-80 26.857-100l152-88-152-88c-34.857-20-46.857-65.143-26.857-100l36.571-62.857c20-34.857 65.143-46.857 100-26.857l152 87.429v-175.429c0-40 33.143-73.143 73.143-73.143h73.143c40 0 73.143 33.143 73.143 73.143v175.429l152-87.429c34.857-20 80-8 100 26.857l36.571 62.857c20 34.857 8 80-26.857 100l-152 88z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["asterisk"],"defaultCode":61545,"grid":14},"attrs":[],"properties":{"name":"asterisk","id":11,"order":679,"prevSize":28,"code":61545},"setIdx":0,"setId":1,"iconIdx":22},{"icon":{"paths":["M804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v237.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h237.714v-237.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857v237.714h237.714c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["plus"],"defaultCode":61543,"grid":14},"attrs":[],"properties":{"name":"plus","id":12,"order":3,"prevSize":28,"code":61543},"setIdx":0,"setId":1,"iconIdx":23},{"icon":{"paths":["M402.286 717.714v137.143c0 12.571-10.286 22.857-22.857 22.857h-137.143c-12.571 0-22.857-10.286-22.857-22.857v-137.143c0-12.571 10.286-22.857 22.857-22.857h137.143c12.571 0 22.857 10.286 22.857 22.857zM582.857 374.857c0 108.571-73.714 150.286-128 180.571-33.714 19.429-54.857 58.857-54.857 75.429v0c0 12.571-9.714 27.429-22.857 27.429h-137.143c-12.571 0-20.571-19.429-20.571-32v-25.714c0-69.143 68.571-128.571 118.857-151.429 44-20 62.286-38.857 62.286-75.429 0-32-41.714-60.571-88-60.571-25.714 0-49.143 8-61.714 16.571-13.714 9.714-27.429 23.429-61.143 65.714-4.571 5.714-11.429 9.143-17.714 9.143-5.143 0-9.714-1.714-14.286-4.571l-93.714-71.429c-9.714-7.429-12-20-5.714-30.286 61.714-102.286 148.571-152 265.143-152 122.286 0 259.429 97.714 259.429 228.571z"],"width":634.88,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["question"],"defaultCode":61736,"grid":14},"attrs":[],"properties":{"name":"question","id":13,"order":4,"prevSize":28,"code":61736},"setIdx":0,"setId":1,"iconIdx":24},{"icon":{"paths":["M804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-694.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h694.857c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["minus"],"defaultCode":61544,"grid":14},"attrs":[],"properties":{"name":"minus","id":14,"order":5,"prevSize":28,"code":61544},"setIdx":0,"setId":1,"iconIdx":25},{"icon":{"paths":["M877.714 128v640c0 80.571-120.571 109.714-182.857 109.714s-182.857-29.143-182.857-109.714 120.571-109.714 182.857-109.714c37.714 0 75.429 6.857 109.714 22.286v-306.857l-438.857 135.429v405.143c0 80.571-120.571 109.714-182.857 109.714s-182.857-29.143-182.857-109.714 120.571-109.714 182.857-109.714c37.714 0 75.429 6.857 109.714 22.286v-552.571c0-24 16-45.143 38.857-52.571l475.429-146.286c5.143-1.714 10.286-2.286 16-2.286 30.286 0 54.857 24.571 54.857 54.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["music"],"defaultCode":61441,"grid":14},"attrs":[],"properties":{"name":"music","id":15,"order":7,"prevSize":28,"code":61441},"setIdx":0,"setId":1,"iconIdx":26},{"icon":{"paths":["M658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40-33.143 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["search"],"defaultCode":61442,"grid":14},"attrs":[],"properties":{"name":"search","id":16,"order":8,"prevSize":28,"code":61442},"setIdx":0,"setId":1,"iconIdx":27},{"icon":{"paths":["M950.857 859.429v-438.857c-12 13.714-25.143 26.286-39.429 37.714-81.714 62.857-164 126.857-243.429 193.143-42.857 36-96 80-155.429 80h-1.143c-59.429 0-112.571-44-155.429-80-79.429-66.286-161.714-130.286-243.429-193.143-14.286-11.429-27.429-24-39.429-37.714v438.857c0 9.714 8.571 18.286 18.286 18.286h841.143c9.714 0 18.286-8.571 18.286-18.286zM950.857 258.857c0-14.286 3.429-39.429-18.286-39.429h-841.143c-9.714 0-18.286 8.571-18.286 18.286 0 65.143 32.571 121.714 84 162.286 76.571 60 153.143 120.571 229.143 181.143 30.286 24.571 85.143 77.143 125.143 77.143h1.143c40 0 94.857-52.571 125.143-77.143 76-60.571 152.571-121.143 229.143-181.143 37.143-29.143 84-92.571 84-141.143zM1024 237.714v621.714c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h841.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["envelope-o"],"defaultCode":61443,"grid":14},"attrs":[],"properties":{"name":"envelope-o","id":17,"order":9,"prevSize":28,"code":61443},"setIdx":0,"setId":1,"iconIdx":28},{"icon":{"paths":["M512 950.857c-9.143 0-18.286-3.429-25.143-10.286l-356.571-344c-4.571-4-130.286-118.857-130.286-256 0-167.429 102.286-267.429 273.143-267.429 100 0 193.714 78.857 238.857 123.429 45.143-44.571 138.857-123.429 238.857-123.429 170.857 0 273.143 100 273.143 267.429 0 137.143-125.714 252-130.857 257.143l-356 342.857c-6.857 6.857-16 10.286-25.143 10.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["heart"],"defaultCode":61444,"grid":14},"attrs":[],"properties":{"name":"heart","id":18,"order":10,"prevSize":28,"code":61444},"setIdx":0,"setId":1,"iconIdx":29},{"icon":{"paths":["M950.857 369.714c0 10.286-7.429 20-14.857 27.429l-207.429 202.286 49.143 285.714c0.571 4 0.571 7.429 0.571 11.429 0 14.857-6.857 28.571-23.429 28.571-8 0-16-2.857-22.857-6.857l-256.571-134.857-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429s22.857 12.571 28 23.429l128.571 260 286.857 41.714c13.714 2.286 32 9.143 32 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["star"],"defaultCode":61445,"grid":14},"attrs":[],"properties":{"name":"star","id":19,"order":11,"prevSize":28,"code":61445},"setIdx":0,"setId":1,"iconIdx":30},{"icon":{"paths":["M649.714 573.714l174.857-169.714-241.143-35.429-108-218.286-108 218.286-241.143 35.429 174.857 169.714-41.714 240.571 216-113.714 215.429 113.714zM950.857 369.714c0 10.286-7.429 20-14.857 27.429l-207.429 202.286 49.143 285.714c0.571 4 0.571 7.429 0.571 11.429 0 15.429-6.857 28.571-23.429 28.571-8 0-16-2.857-22.857-6.857l-256.571-134.857-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429s22.857 12.571 28 23.429l128.571 260 286.857 41.714c13.714 2.286 32 9.143 32 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["star-o"],"defaultCode":61446,"grid":14},"attrs":[],"properties":{"name":"star-o","id":20,"order":12,"prevSize":28,"code":61446},"setIdx":0,"setId":1,"iconIdx":31},{"icon":{"paths":["M731.429 799.429c0 83.429-54.857 151.429-121.714 151.429h-488c-66.857 0-121.714-68-121.714-151.429 0-150.286 37.143-324 186.857-324 46.286 45.143 109.143 73.143 178.857 73.143s132.571-28 178.857-73.143c149.714 0 186.857 173.714 186.857 324zM585.143 292.571c0 121.143-98.286 219.429-219.429 219.429s-219.429-98.286-219.429-219.429 98.286-219.429 219.429-219.429 219.429 98.286 219.429 219.429z"],"width":731.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["user"],"defaultCode":61447,"grid":14},"attrs":[],"properties":{"name":"user","id":21,"order":13,"prevSize":28,"code":61447},"setIdx":0,"setId":1,"iconIdx":32},{"icon":{"paths":["M219.429 914.286v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM219.429 694.857v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM219.429 475.429v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM804.571 914.286v-292.571c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v292.571c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM219.429 256v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 914.286v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM804.571 475.429v-292.571c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v292.571c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM1024 694.857v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 475.429v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1024 256v-73.143c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571zM1097.143 164.571v768c0 50.286-41.143 91.429-91.429 91.429h-914.286c-50.286 0-91.429-41.143-91.429-91.429v-768c0-50.286 41.143-91.429 91.429-91.429h914.286c50.286 0 91.429 41.143 91.429 91.429z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["film"],"defaultCode":61448,"grid":14},"attrs":[],"properties":{"name":"film","id":22,"order":14,"prevSize":28,"code":61448},"setIdx":0,"setId":1,"iconIdx":33},{"icon":{"paths":["M438.857 585.143v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM438.857 146.286v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM950.857 585.143v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143zM950.857 146.286v219.429c0 40-33.143 73.143-73.143 73.143h-292.571c-40 0-73.143-33.143-73.143-73.143v-219.429c0-40 33.143-73.143 73.143-73.143h292.571c40 0 73.143 33.143 73.143 73.143z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["th-large"],"defaultCode":61449,"grid":14},"attrs":[],"properties":{"name":"th-large","id":23,"order":15,"prevSize":28,"code":61449},"setIdx":0,"setId":1,"iconIdx":34},{"icon":{"paths":["M292.571 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM658.286 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["th"],"defaultCode":61450,"grid":14},"attrs":[],"properties":{"name":"th","id":24,"order":16,"prevSize":28,"code":61450},"setIdx":0,"setId":1,"iconIdx":35},{"icon":{"paths":["M292.571 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM292.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 713.143v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857zM292.571 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-182.857c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h182.857c30.286 0 54.857 24.571 54.857 54.857zM1024 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857zM1024 128v109.714c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h548.571c30.286 0 54.857 24.571 54.857 54.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["th-list"],"defaultCode":61451,"grid":14},"attrs":[],"properties":{"name":"th-list","id":25,"order":17,"prevSize":28,"code":61451},"setIdx":0,"setId":1,"iconIdx":36},{"icon":{"paths":["M725.322 782.343c3.477 3.448 6.237 7.547 8.118 12.069 1.885 4.515 2.853 9.364 2.853 14.259s-0.967 9.744-2.853 14.266c-1.881 4.515-4.641 8.623-8.118 12.069-3.448 3.472-7.547 6.232-12.069 8.118-4.515 1.881-9.364 2.848-14.259 2.848s-9.744-0.967-14.266-2.848c-4.522-1.885-8.623-4.646-12.069-8.118l-270.371-270.375-270.372 270.375c-3.448 3.472-7.549 6.232-12.069 8.118-4.519 1.881-9.366 2.848-14.263 2.848s-9.744-0.967-14.263-2.848c-4.519-1.885-8.622-4.646-12.069-8.118-3.474-3.448-6.235-7.555-8.118-12.069-1.884-4.522-2.853-9.37-2.853-14.266s0.97-9.744 2.853-14.259c1.884-4.522 4.643-8.623 8.118-12.069l270.372-270.375-270.372-270.372c-3.456-3.456-6.201-7.565-8.072-12.082s-2.835-9.36-2.835-14.25c0-4.891 0.964-9.732 2.835-14.25s4.617-8.626 8.072-12.081c3.456-3.456 7.564-6.201 12.081-8.072s9.361-2.835 14.25-2.835c4.891 0 9.732 0.964 14.25 2.835s8.626 4.617 12.081 8.072l270.372 270.372 270.371-270.372c6.984-6.983 16.455-10.909 26.335-10.909 9.875 0 19.347 3.923 26.33 10.909s10.909 16.456 10.909 26.333c0 9.877-3.923 19.348-10.909 26.333l-270.371 270.372 270.371 270.375z"],"width":804.5714285714286,"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[{}],"12714014111291321":[{}]},"tags":["close","remove","times"],"defaultCode":61453,"grid":14},"attrs":[{}],"properties":{"name":"close, remove, times","id":26,"order":19,"prevSize":28,"code":61453},"setIdx":0,"setId":1,"iconIdx":37},{"icon":{"paths":["M585.143 457.143v36.571c0 9.714-8.571 18.286-18.286 18.286h-128v128c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-128h-128c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h128v-128c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286v128h128c9.714 0 18.286 8.571 18.286 18.286zM658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40.571-32.571 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["search-plus"],"defaultCode":61454,"grid":14},"attrs":[],"properties":{"name":"search-plus","id":27,"order":20,"prevSize":28,"code":61454},"setIdx":0,"setId":1,"iconIdx":38},{"icon":{"paths":["M585.143 457.143v36.571c0 9.714-8.571 18.286-18.286 18.286h-329.143c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h329.143c9.714 0 18.286 8.571 18.286 18.286zM658.286 475.429c0-141.143-114.857-256-256-256s-256 114.857-256 256 114.857 256 256 256 256-114.857 256-256zM950.857 950.857c0 40.571-32.571 73.143-73.143 73.143-19.429 0-38.286-8-51.429-21.714l-196-195.429c-66.857 46.286-146.857 70.857-228 70.857-222.286 0-402.286-180-402.286-402.286s180-402.286 402.286-402.286 402.286 180 402.286 402.286c0 81.143-24.571 161.143-70.857 228l196 196c13.143 13.143 21.143 32 21.143 51.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["search-minus"],"defaultCode":61456,"grid":14},"attrs":[],"properties":{"name":"search-minus","id":28,"order":21,"prevSize":28,"code":61456},"setIdx":0,"setId":1,"iconIdx":39},{"icon":{"paths":["M877.714 512c0 241.714-197.143 438.857-438.857 438.857s-438.857-197.143-438.857-438.857c0-138.857 64-266.857 175.429-350.286 32.571-24.571 78.286-18.286 102.286 14.286 24.571 32 17.714 78.286-14.286 102.286-74.286 56-117.143 141.143-117.143 233.714 0 161.143 131.429 292.571 292.571 292.571s292.571-131.429 292.571-292.571c0-92.571-42.857-177.714-117.143-233.714-32-24-38.857-70.286-14.286-102.286 24-32.571 70.286-38.857 102.286-14.286 111.429 83.429 175.429 211.429 175.429 350.286zM512 73.143v365.714c0 40-33.143 73.143-73.143 73.143s-73.143-33.143-73.143-73.143v-365.714c0-40 33.143-73.143 73.143-73.143s73.143 33.143 73.143 73.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["power-off"],"defaultCode":61457,"grid":14},"attrs":[],"properties":{"name":"power-off","id":29,"order":22,"prevSize":28,"code":61457},"setIdx":0,"setId":1,"iconIdx":40},{"icon":{"paths":["M146.286 822.857v109.714c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM365.714 749.714v182.857c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM585.143 603.429v329.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM804.571 384v548.571c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-548.571c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286zM1024 91.429v841.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-841.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["signal"],"defaultCode":61458,"grid":14},"attrs":[],"properties":{"name":"signal","id":30,"order":23,"prevSize":28,"code":61458},"setIdx":0,"setId":1,"iconIdx":41},{"icon":{"paths":["M585.143 512c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286 65.714 146.286 146.286 146.286 146.286-65.714 146.286-146.286zM877.714 449.714v126.857c0 8.571-6.857 18.857-16 20.571l-105.714 16c-6.286 18.286-13.143 35.429-22.286 52 19.429 28 40 53.143 61.143 78.857 3.429 4 5.714 9.143 5.714 14.286s-1.714 9.143-5.143 13.143c-13.714 18.286-90.857 102.286-110.286 102.286-5.143 0-10.286-2.286-14.857-5.143l-78.857-61.714c-16.571 8.571-34.286 16-52 21.714-4 34.857-7.429 72-16.571 106.286-2.286 9.143-10.286 16-20.571 16h-126.857c-10.286 0-19.429-7.429-20.571-17.143l-16-105.143c-17.714-5.714-34.857-12.571-51.429-21.143l-80.571 61.143c-4 3.429-9.143 5.143-14.286 5.143s-10.286-2.286-14.286-6.286c-30.286-27.429-70.286-62.857-94.286-96-2.857-4-4-8.571-4-13.143 0-5.143 1.714-9.143 4.571-13.143 19.429-26.286 40.571-51.429 60-78.286-9.714-18.286-17.714-37.143-23.429-56.571l-104.571-15.429c-9.714-1.714-16.571-10.857-16.571-20.571v-126.857c0-8.571 6.857-18.857 15.429-20.571l106.286-16c5.714-18.286 13.143-35.429 22.286-52.571-19.429-27.429-40-53.143-61.143-78.857-3.429-4-5.714-8.571-5.714-13.714s2.286-9.143 5.143-13.143c13.714-18.857 90.857-102.286 110.286-102.286 5.143 0 10.286 2.286 14.857 5.714l78.857 61.143c16.571-8.571 34.286-16 52-21.714 4-34.857 7.429-72 16.571-106.286 2.286-9.143 10.286-16 20.571-16h126.857c10.286 0 19.429 7.429 20.571 17.143l16 105.143c17.714 5.714 34.857 12.571 51.429 21.143l81.143-61.143c3.429-3.429 8.571-5.143 13.714-5.143s10.286 2.286 14.286 5.714c30.286 28 70.286 63.429 94.286 97.143 2.857 3.429 4 8 4 12.571 0 5.143-1.714 9.143-4.571 13.143-19.429 26.286-40.571 51.429-60 78.286 9.714 18.286 17.714 37.143 23.429 56l104.571 16c9.714 1.714 16.571 10.857 16.571 20.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["cog","gear"],"defaultCode":61459,"grid":14},"attrs":[],"properties":{"name":"cog, gear","id":31,"order":24,"prevSize":28,"code":61459},"setIdx":0,"setId":1,"iconIdx":42},{"icon":{"paths":["M292.571 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM438.857 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM585.143 420.571v329.143c0 10.286-8 18.286-18.286 18.286h-36.571c-10.286 0-18.286-8-18.286-18.286v-329.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM658.286 834.286v-541.714h-512v541.714c0 27.429 15.429 43.429 18.286 43.429h475.429c2.857 0 18.286-16 18.286-43.429zM274.286 219.429h256l-27.429-66.857c-1.714-2.286-6.857-5.714-9.714-6.286h-181.143c-3.429 0.571-8 4-9.714 6.286zM804.571 237.714v36.571c0 10.286-8 18.286-18.286 18.286h-54.857v541.714c0 62.857-41.143 116.571-91.429 116.571h-475.429c-50.286 0-91.429-51.429-91.429-114.286v-544h-54.857c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h176.571l40-95.429c11.429-28 45.714-50.857 76-50.857h182.857c30.286 0 64.571 22.857 76 50.857l40 95.429h176.571c10.286 0 18.286 8 18.286 18.286z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["trash-o"],"defaultCode":61460,"grid":14},"attrs":[],"properties":{"name":"trash-o","id":32,"order":25,"prevSize":28,"code":61460},"setIdx":0,"setId":1,"iconIdx":43},{"icon":{"paths":["M804.571 566.857v274.286c0 20-16.571 36.571-36.571 36.571h-219.429v-219.429h-146.286v219.429h-219.429c-20 0-36.571-16.571-36.571-36.571v-274.286c0-1.143 0.571-2.286 0.571-3.429l328.571-270.857 328.571 270.857c0.571 1.143 0.571 2.286 0.571 3.429zM932 527.429l-35.429 42.286c-2.857 3.429-7.429 5.714-12 6.286h-1.714c-4.571 0-8.571-1.143-12-4l-395.429-329.714-395.429 329.714c-4 2.857-8.571 4.571-13.714 4-4.571-0.571-9.143-2.857-12-6.286l-35.429-42.286c-6.286-7.429-5.143-19.429 2.286-25.714l410.857-342.286c24-20 62.857-20 86.857 0l139.429 116.571v-111.429c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v233.143l125.143 104c7.429 6.286 8.571 18.286 2.286 25.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["home"],"defaultCode":61461,"grid":14},"attrs":[],"properties":{"name":"home","id":33,"order":26,"prevSize":28,"code":61461},"setIdx":0,"setId":1,"iconIdx":44},{"icon":{"paths":["M838.857 217.143c21.143 21.143 38.857 63.429 38.857 93.714v658.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-914.286c0-30.286 24.571-54.857 54.857-54.857h512c30.286 0 72.571 17.714 93.714 38.857zM585.143 77.714v214.857h214.857c-3.429-9.714-8.571-19.429-12.571-23.429l-178.857-178.857c-4-4-13.714-9.143-23.429-12.571zM804.571 950.857v-585.143h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-438.857v877.714h731.429z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["file-o"],"defaultCode":61462,"grid":14},"attrs":[],"properties":{"name":"file-o","id":34,"order":27,"prevSize":28,"code":61462},"setIdx":0,"setId":1,"iconIdx":45},{"icon":{"paths":["M512 310.857v256c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h128v-201.143c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["clock-o"],"defaultCode":61463,"grid":14},"attrs":[],"properties":{"name":"clock-o","id":35,"order":28,"prevSize":28,"code":61463},"setIdx":0,"setId":1,"iconIdx":46},{"icon":{"paths":["M731.429 768c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM877.714 768c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 640v182.857c0 30.286-24.571 54.857-54.857 54.857h-841.143c-30.286 0-54.857-24.571-54.857-54.857v-182.857c0-30.286 24.571-54.857 54.857-54.857h265.714l77.143 77.714c21.143 20.571 48.571 32 77.714 32s56.571-11.429 77.714-32l77.714-77.714h265.143c30.286 0 54.857 24.571 54.857 54.857zM765.143 314.857c5.714 13.714 2.857 29.714-8 40l-256 256c-6.857 7.429-16.571 10.857-25.714 10.857s-18.857-3.429-25.714-10.857l-256-256c-10.857-10.286-13.714-26.286-8-40 5.714-13.143 18.857-22.286 33.714-22.286h146.286v-256c0-20 16.571-36.571 36.571-36.571h146.286c20 0 36.571 16.571 36.571 36.571v256h146.286c14.857 0 28 9.143 33.714 22.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["download"],"defaultCode":61465,"grid":14},"attrs":[],"properties":{"name":"download","id":36,"order":30,"prevSize":28,"code":61465},"setIdx":0,"setId":1,"iconIdx":47},{"icon":{"paths":["M640 530.286c0 5.143-2.286 9.714-5.714 13.714l-182.286 182.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143l-182.857-182.857c-5.143-5.714-6.857-13.143-4-20s9.714-11.429 17.143-11.429h109.714v-201.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v201.143h109.714c10.286 0 18.286 8 18.286 18.286zM438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-o-down"],"defaultCode":61466,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-o-down","id":37,"order":31,"prevSize":28,"code":61466},"setIdx":0,"setId":1,"iconIdx":48},{"icon":{"paths":["M638.857 500.571c-2.857 6.857-9.714 11.429-17.143 11.429h-109.714v201.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-201.143h-109.714c-10.286 0-18.286-8-18.286-18.286 0-5.143 2.286-9.714 5.714-13.714l182.286-182.286c4-3.429 8.571-5.143 13.143-5.143s9.143 1.714 13.143 5.143l182.857 182.857c5.143 5.714 6.857 13.143 4 20zM438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-o-up"],"defaultCode":61467,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-o-up","id":38,"order":32,"prevSize":28,"code":61467},"setIdx":0,"setId":1,"iconIdx":49},{"icon":{"paths":["M584.571 548.571h180.571c-1.143-2.857-1.714-6.286-2.857-9.143l-121.143-283.429h-404.571l-121.143 283.429c-1.143 2.857-1.714 6.286-2.857 9.143h180.571l54.286 109.714h182.857zM877.714 565.714v275.429c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-275.429c0-20.571 6.286-50.857 14.286-70.286l136-315.429c8-18.857 30.857-33.714 50.857-33.714h475.429c20 0 42.857 14.857 50.857 33.714l136 315.429c8 19.429 14.286 49.714 14.286 70.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["inbox"],"defaultCode":61468,"grid":14},"attrs":[],"properties":{"name":"inbox","id":39,"order":33,"prevSize":28,"code":61468},"setIdx":0,"setId":1,"iconIdx":50},{"icon":{"paths":["M676.571 512c0 13.143-6.857 25.143-18.286 31.429l-310.857 182.857c-5.714 3.429-12 5.143-18.286 5.143s-12.571-1.714-18.286-4.571c-11.429-6.857-18.286-18.857-18.286-32v-365.714c0-13.143 6.857-25.143 18.286-32 11.429-6.286 25.714-6.286 36.571 0.571l310.857 182.857c11.429 6.286 18.286 18.286 18.286 31.429zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["play-circle-o"],"defaultCode":61469,"grid":14},"attrs":[],"properties":{"name":"play-circle-o","id":40,"order":34,"prevSize":28,"code":61469},"setIdx":0,"setId":1,"iconIdx":51},{"icon":{"paths":["M877.714 146.286v256c0 20-16.571 36.571-36.571 36.571h-256c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l78.857-78.857c-53.714-49.714-124.571-78.286-199.429-78.286-161.143 0-292.571 131.429-292.571 292.571s131.429 292.571 292.571 292.571c90.857 0 174.857-41.143 230.857-113.714 2.857-4 8-6.286 13.143-6.857 5.143 0 10.286 1.714 14.286 5.143l78.286 78.857c6.857 6.286 6.857 17.143 1.143 24.571-83.429 100.571-206.857 158.286-337.714 158.286-241.714 0-438.857-197.143-438.857-438.857s197.143-438.857 438.857-438.857c112.571 0 221.714 45.143 302.286 121.143l74.286-73.714c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["repeat","rotate-right"],"defaultCode":61470,"grid":14},"attrs":[],"properties":{"name":"repeat, rotate-right","id":41,"order":35,"prevSize":28,"code":61470},"setIdx":0,"setId":1,"iconIdx":52},{"icon":{"paths":["M863.429 603.429c0 1.143 0 2.857-0.571 4-48.571 202.286-215.429 343.429-426.286 343.429-111.429 0-219.429-44-300.571-121.143l-73.714 73.714c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-78.286 78.286c53.714 50.286 125.143 78.857 198.857 78.857 101.714 0 196-52.571 249.143-139.429 13.714-22.286 20.571-44 30.286-66.857 2.857-8 8.571-13.143 17.143-13.143h109.714c10.286 0 18.286 8.571 18.286 18.286zM877.714 146.286v256c0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l78.857-78.857c-54.286-50.286-125.714-78.286-199.429-78.286-101.714 0-196 52.571-249.143 139.429-13.714 22.286-20.571 44-30.286 66.857-2.857 8-8.571 13.143-17.143 13.143h-113.714c-10.286 0-18.286-8.571-18.286-18.286v-4c49.143-202.857 217.714-343.429 428.571-343.429 112 0 221.143 44.571 302.286 121.143l74.286-73.714c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["refresh"],"defaultCode":61473,"grid":14},"attrs":[],"properties":{"name":"refresh","id":42,"order":36,"prevSize":28,"code":61473},"setIdx":0,"setId":1,"iconIdx":53},{"icon":{"paths":["M219.429 676.571v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM219.429 530.286v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM219.429 384v36.571c0 9.714-8.571 18.286-18.286 18.286h-36.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h36.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 676.571v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 530.286v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM877.714 384v36.571c0 9.714-8.571 18.286-18.286 18.286h-548.571c-9.714 0-18.286-8.571-18.286-18.286v-36.571c0-9.714 8.571-18.286 18.286-18.286h548.571c9.714 0 18.286 8.571 18.286 18.286zM950.857 786.286v-475.429c0-9.714-8.571-18.286-18.286-18.286h-841.143c-9.714 0-18.286 8.571-18.286 18.286v475.429c0 9.714 8.571 18.286 18.286 18.286h841.143c9.714 0 18.286-8.571 18.286-18.286zM1024 164.571v621.714c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h841.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["list-alt"],"defaultCode":61474,"grid":14},"attrs":[],"properties":{"name":"list-alt","id":43,"order":37,"prevSize":28,"code":61474},"setIdx":0,"setId":1,"iconIdx":54},{"icon":{"paths":["M182.857 438.857h292.571v-109.714c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286v109.714zM658.286 493.714v329.143c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-329.143c0-30.286 24.571-54.857 54.857-54.857h18.286v-109.714c0-140.571 115.429-256 256-256s256 115.429 256 256v109.714h18.286c30.286 0 54.857 24.571 54.857 54.857z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["lock"],"defaultCode":61475,"grid":14},"attrs":[],"properties":{"name":"lock","id":44,"order":38,"prevSize":28,"code":61475},"setIdx":0,"setId":1,"iconIdx":55},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["volume-off"],"defaultCode":61478,"grid":14},"attrs":[],"properties":{"name":"volume-off","id":45,"order":41,"prevSize":28,"code":61478},"setIdx":0,"setId":1,"iconIdx":56},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571zM658.286 512c0 57.143-34.857 112.571-88.571 134.286-4.571 2.286-9.714 2.857-14.286 2.857-20 0-36.571-16-36.571-36.571 0-43.429 66.286-31.429 66.286-100.571s-66.286-57.143-66.286-100.571c0-20.571 16.571-36.571 36.571-36.571 4.571 0 9.714 0.571 14.286 2.857 53.714 21.143 88.571 77.143 88.571 134.286z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["volume-down"],"defaultCode":61479,"grid":14},"attrs":[],"properties":{"name":"volume-down","id":46,"order":42,"prevSize":28,"code":61479},"setIdx":0,"setId":1,"iconIdx":57},{"icon":{"paths":["M438.857 201.143v621.714c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-190.286-190.286h-149.714c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h149.714l190.286-190.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571zM658.286 512c0 57.143-34.857 112.571-88.571 134.286-4.571 2.286-9.714 2.857-14.286 2.857-20 0-36.571-16-36.571-36.571 0-43.429 66.286-31.429 66.286-100.571s-66.286-57.143-66.286-100.571c0-20.571 16.571-36.571 36.571-36.571 4.571 0 9.714 0.571 14.286 2.857 53.714 21.143 88.571 77.143 88.571 134.286zM804.571 512c0 116-69.714 224-177.143 269.143-4.571 1.714-9.714 2.857-14.286 2.857-20.571 0-37.143-16.571-37.143-36.571 0-16 9.143-26.857 22.286-33.714 15.429-8 29.714-14.857 43.429-25.143 56.571-41.143 89.714-106.857 89.714-176.571s-33.143-135.429-89.714-176.571c-13.714-10.286-28-17.143-43.429-25.143-13.143-6.857-22.286-17.714-22.286-33.714 0-20 16.571-36.571 36.571-36.571 5.143 0 10.286 1.143 14.857 2.857 107.429 45.143 177.143 153.143 177.143 269.143zM950.857 512c0 175.429-104.571 334.286-265.714 403.429-4.571 1.714-9.714 2.857-14.857 2.857-20 0-36.571-16.571-36.571-36.571 0-16.571 8.571-25.714 22.286-33.714 8-4.571 17.143-7.429 25.714-12 16-8.571 32-18.286 46.857-29.143 93.714-69.143 149.143-178.286 149.143-294.857s-55.429-225.714-149.143-294.857c-14.857-10.857-30.857-20.571-46.857-29.143-8.571-4.571-17.714-7.429-25.714-12-13.714-8-22.286-17.143-22.286-33.714 0-20 16.571-36.571 36.571-36.571 5.143 0 10.286 1.143 14.857 2.857 161.143 69.143 265.714 228 265.714 403.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["volume-up"],"defaultCode":61480,"grid":14},"attrs":[],"properties":{"name":"volume-up","id":47,"order":43,"prevSize":28,"code":61480},"setIdx":0,"setId":1,"iconIdx":58},{"icon":{"paths":["M219.429 658.286v73.143h-73.143v-73.143h73.143zM219.429 219.429v73.143h-73.143v-73.143h73.143zM658.286 219.429v73.143h-73.143v-73.143h73.143zM73.143 804h219.429v-218.857h-219.429v218.857zM73.143 365.714h219.429v-219.429h-219.429v219.429zM512 365.714h219.429v-219.429h-219.429v219.429zM365.714 512v365.714h-365.714v-365.714h365.714zM658.286 804.571v73.143h-73.143v-73.143h73.143zM804.571 804.571v73.143h-73.143v-73.143h73.143zM804.571 512v219.429h-219.429v-73.143h-73.143v219.429h-73.143v-365.714h219.429v73.143h73.143v-73.143h73.143zM365.714 73.143v365.714h-365.714v-365.714h365.714zM804.571 73.143v365.714h-365.714v-365.714h365.714z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["qrcode"],"defaultCode":61481,"grid":14},"attrs":[],"properties":{"name":"qrcode","id":48,"order":44,"prevSize":28,"code":61481},"setIdx":0,"setId":1,"iconIdx":59},{"icon":{"paths":["M256 256c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143 32.571 73.143 73.143 73.143 73.143-32.571 73.143-73.143zM865.714 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-408.571-409.143c-29.143-28.571-52-84-52-124.571v-237.714c0-40 33.143-73.143 73.143-73.143h237.714c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52z"],"width":865.7188571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["tag"],"defaultCode":61483,"grid":14},"attrs":[],"properties":{"name":"tag","id":49,"order":46,"prevSize":28,"code":61483},"setIdx":0,"setId":1,"iconIdx":60},{"icon":{"paths":["M256 256c0-40.571-32.571-73.143-73.143-73.143s-73.143 32.571-73.143 73.143 32.571 73.143 73.143 73.143 73.143-32.571 73.143-73.143zM865.714 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-408.571-409.143c-29.143-28.571-52-84-52-124.571v-237.714c0-40 33.143-73.143 73.143-73.143h237.714c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52zM1085.143 585.143c0 19.429-8 38.286-21.143 51.429l-280.571 281.143c-13.714 13.143-32.571 21.143-52 21.143-29.714 0-44.571-13.714-64-33.714l268.571-268.571c13.143-13.143 21.143-32 21.143-51.429s-8-38.286-21.143-52l-408.571-408c-29.143-29.143-84.571-52-125.143-52h128c40.571 0 96 22.857 125.143 52l408.571 408c13.143 13.714 21.143 32.571 21.143 52z"],"width":1085.1474285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["tags"],"defaultCode":61484,"grid":14},"attrs":[],"properties":{"name":"tags","id":50,"order":47,"prevSize":28,"code":61484},"setIdx":0,"setId":1,"iconIdx":61},{"icon":{"paths":["M936.571 273.143c14.286 20.571 18.286 47.429 10.286 73.714l-157.143 517.714c-14.286 48.571-64.571 86.286-113.714 86.286h-527.429c-58.286 0-120.571-46.286-141.714-105.714-9.143-25.714-9.143-50.857-1.143-72.571 1.143-11.429 3.429-22.857 4-36.571 0.571-9.143-4.571-16.571-3.429-23.429 2.286-13.714 14.286-23.429 23.429-38.857 17.143-28.571 36.571-74.857 42.857-104.571 2.857-10.857-2.857-23.429 0-33.143 2.857-10.857 13.714-18.857 19.429-29.143 15.429-26.286 35.429-77.143 38.286-104 1.143-12-4.571-25.143-1.143-34.286 4-13.143 16.571-18.857 25.143-30.286 13.714-18.857 36.571-73.143 40-103.429 1.143-9.714-4.571-19.429-2.857-29.714 2.286-10.857 16-22.286 25.143-35.429 24-35.429 28.571-113.714 101.143-93.143l-0.571 1.714c9.714-2.286 19.429-5.143 29.143-5.143h434.857c26.857 0 50.857 12 65.143 32 14.857 20.571 18.286 47.429 10.286 74.286l-156.571 517.714c-26.857 88-41.714 107.429-114.286 107.429h-496.571c-7.429 0-16.571 1.714-21.714 8.571-4.571 6.857-5.143 12-0.571 24.571 11.429 33.143 50.857 40 82.286 40h527.429c21.143 0 45.714-12 52-32.571l171.429-564c3.429-10.857 3.429-22.286 2.857-32.571 13.143 5.143 25.143 13.143 33.714 24.571zM328.571 274.286c-3.429 10.286 2.286 18.286 12.571 18.286h347.429c9.714 0 20.571-8 24-18.286l12-36.571c3.429-10.286-2.286-18.286-12.571-18.286h-347.429c-9.714 0-20.571 8-24 18.286zM281.143 420.571c-3.429 10.286 2.286 18.286 12.571 18.286h347.429c9.714 0 20.571-8 24-18.286l12-36.571c3.429-10.286-2.286-18.286-12.571-18.286h-347.429c-9.714 0-20.571 8-24 18.286z"],"width":952.5394285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["book"],"defaultCode":61485,"grid":14},"attrs":[],"properties":{"name":"book","id":51,"order":48,"prevSize":28,"code":61485},"setIdx":0,"setId":1,"iconIdx":62},{"icon":{"paths":["M219.429 877.714h512v-146.286h-512v146.286zM219.429 512h512v-219.429h-91.429c-30.286 0-54.857-24.571-54.857-54.857v-91.429h-365.714v365.714zM877.714 548.571c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 548.571v237.714c0 9.714-8.571 18.286-18.286 18.286h-128v91.429c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-91.429h-128c-9.714 0-18.286-8.571-18.286-18.286v-237.714c0-60 49.714-109.714 109.714-109.714h36.571v-310.857c0-30.286 24.571-54.857 54.857-54.857h384c30.286 0 72 17.143 93.714 38.857l86.857 86.857c21.714 21.714 38.857 63.429 38.857 93.714v146.286h36.571c60 0 109.714 49.714 109.714 109.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["print"],"defaultCode":61487,"grid":14},"attrs":[],"properties":{"name":"print","id":52,"order":50,"prevSize":28,"code":61487},"setIdx":0,"setId":1,"iconIdx":63},{"icon":{"paths":["M996.571 804.571c25.143 0 33.143 16 17.714 36l-72 92.571c-15.429 20-40.571 20-56 0l-72-92.571c-15.429-20-7.429-36 17.714-36h45.714v-585.143h-45.714c-25.143 0-33.143-16-17.714-36l72-92.571c15.429-20 40.571-20 56 0l72 92.571c15.429 20 7.429 36-17.714 36h-45.714v585.143h45.714zM46.286 73.714l30.857 15.429c4 1.714 108.571 2.857 120.571 2.857 50.286 0 100.571-2.286 150.857-2.286 41.143 0 81.714 0.571 122.857 0.571h167.429c22.857 0 36 5.143 51.429-16.571l24-0.571c5.143 0 10.857 0.571 16 0.571 1.143 64 1.143 128 1.143 192 0 20 0.571 42.286-2.857 62.286-12.571 4.571-25.714 8.571-38.857 10.286-13.143-22.857-22.286-48-30.857-73.143-4-11.429-17.714-88.571-18.857-89.714-12-14.857-25.143-12-42.857-12-52 0-106.286-2.286-157.714 4-2.857 25.143-5.143 52-4.571 77.714 0.571 160.571 2.286 321.143 2.286 481.714 0 44-6.857 90.286 5.714 132.571 43.429 22.286 94.857 25.714 139.429 45.714 1.143 9.143 2.857 18.857 2.857 28.571 0 5.143-0.571 10.857-1.714 16.571l-19.429 0.571c-81.143 2.286-161.143-10.286-242.857-10.286-57.714 0-115.429 10.286-173.143 10.286-0.571-9.714-1.714-20-1.714-29.714v-5.143c21.714-34.857 100-35.429 136-56.571 12.571-28 10.857-182.857 10.857-218.857 0-115.429-3.429-230.857-3.429-346.286v-66.857c0-10.286 2.286-51.429-4.571-59.429-8-8.571-82.857-6.857-92.571-6.857-21.143 0-82.286 9.714-98.857 21.714-27.429 18.857-27.429 133.143-61.714 135.429-10.286-6.286-24.571-15.429-32-25.143v-218.857z"],"width":1029.7051428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["text-height"],"defaultCode":61492,"grid":14},"attrs":[],"properties":{"name":"text-height","id":53,"order":694,"prevSize":28,"code":61492},"setIdx":0,"setId":1,"iconIdx":64},{"icon":{"paths":["M46.286 73.714l30.857 15.429c4 1.714 108.571 2.857 120.571 2.857 50.286 0 100.571-2.286 150.857-2.286 151.429 0 304.571-3.429 456 1.714 12.571 0.571 24.571-7.429 32-17.714l24-0.571c5.143 0 10.857 0.571 16 0.571 1.143 64 1.143 128 1.143 192 0 20.571 0.571 42.286-2.857 62.286-12.571 4.571-25.714 8.571-38.857 10.286-13.143-22.857-22.286-48-30.857-73.143-4-11.429-18.286-88.571-18.857-89.714-4-5.143-9.143-8.571-15.429-10.857-4.571-1.714-32-1.143-37.714-1.143-70.286 0-151.429-4-220.571 4-2.857 25.143-5.143 52-4.571 77.714l0.571 86.857v-29.714c0.571 93.143 1.714 185.714 1.714 278.286 0 44-6.857 90.286 5.714 132.571 43.429 22.286 94.857 25.714 139.429 45.714 1.143 9.143 2.857 18.857 2.857 28.571 0 5.143-0.571 10.857-1.714 16.571l-19.429 0.571c-81.143 2.286-161.143-10.286-242.857-10.286-57.714 0-115.429 10.286-173.143 10.286-0.571-9.714-1.714-20-1.714-29.714v-5.143c21.714-34.857 100-35.429 136-56.571 14.286-32 10.286-302.286 10.286-352.571 0-8-2.857-16.571-2.857-25.143 0-23.429 4-157.714-4.571-167.429-8-8.571-82.857-6.857-92.571-6.857-24 0-158.286 12.571-172 21.714-26.857 17.714-27.429 132.571-61.714 135.429-10.286-6.286-24.571-15.429-32-25.143v-218.857zM748.571 806.286c20 0 96 68 111.429 80 8.571 6.857 14.857 16.571 14.857 28s-6.286 21.143-14.857 28c-15.429 12-91.429 80-111.429 80-26.286 0-17.143-61.143-17.143-71.429h-585.143c0 10.286 9.143 71.429-17.143 71.429-20 0-96-68-111.429-80-8.571-6.857-14.857-16.571-14.857-28s6.286-21.143 14.857-28c15.429-12 91.429-80 111.429-80 26.286 0 17.143 61.143 17.143 71.429h585.143c0-10.286-9.143-71.429 17.143-71.429z"],"width":878.2994285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["text-width"],"defaultCode":61493,"grid":14},"attrs":[],"properties":{"name":"text-width","id":54,"order":695,"prevSize":28,"code":61493},"setIdx":0,"setId":1,"iconIdx":65},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM804.571 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-731.429c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h731.429c20 0 36.571 16.571 36.571 36.571zM950.857 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-877.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h877.714c20 0 36.571 16.571 36.571 36.571zM731.429 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-658.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h658.286c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["align-left"],"defaultCode":61494,"grid":14},"attrs":[],"properties":{"name":"align-left","id":55,"order":57,"prevSize":28,"code":61494},"setIdx":0,"setId":1,"iconIdx":66},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM804.571 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571zM950.857 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM731.429 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-365.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h365.714c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["align-center"],"defaultCode":61495,"grid":14},"attrs":[],"properties":{"name":"align-center","id":56,"order":58,"prevSize":28,"code":61495},"setIdx":0,"setId":1,"iconIdx":67},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-731.429c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h731.429c20 0 36.571 16.571 36.571 36.571zM1024 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-877.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h877.714c20 0 36.571 16.571 36.571 36.571zM1024 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-658.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h658.286c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["align-right"],"defaultCode":61496,"grid":14},"attrs":[],"properties":{"name":"align-right","id":57,"order":59,"prevSize":28,"code":61496},"setIdx":0,"setId":1,"iconIdx":68},{"icon":{"paths":["M1024 768v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 548.571v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 329.143v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 109.714v73.143c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["align-justify"],"defaultCode":61497,"grid":14},"attrs":[],"properties":{"name":"align-justify","id":58,"order":60,"prevSize":28,"code":61497},"setIdx":0,"setId":1,"iconIdx":69},{"icon":{"paths":["M146.286 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM146.286 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM146.286 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM146.286 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-109.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h109.714c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-768c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h768c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["list"],"defaultCode":61498,"grid":14},"attrs":[],"properties":{"name":"list","id":59,"order":61,"prevSize":28,"code":61498},"setIdx":0,"setId":1,"iconIdx":70},{"icon":{"paths":["M219.429 310.857v329.143c0 9.714-8.571 18.286-18.286 18.286-4.571 0-9.714-1.714-13.143-5.143l-164.571-164.571c-3.429-3.429-5.143-8.571-5.143-13.143s1.714-9.714 5.143-13.143l164.571-164.571c3.429-3.429 8.571-5.143 13.143-5.143 9.714 0 18.286 8.571 18.286 18.286zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["dedent","outdent"],"defaultCode":61499,"grid":14},"attrs":[],"properties":{"name":"dedent, outdent","id":60,"order":62,"prevSize":28,"code":61499},"setIdx":0,"setId":1,"iconIdx":71},{"icon":{"paths":["M201.143 475.429c0 4.571-1.714 9.714-5.143 13.143l-164.571 164.571c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8.571-18.286-18.286v-329.143c0-9.714 8.571-18.286 18.286-18.286 4.571 0 9.714 1.714 13.143 5.143l164.571 164.571c3.429 3.429 5.143 8.571 5.143 13.143zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286zM1024 530.286v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 310.857v109.714c0 9.714-8.571 18.286-18.286 18.286h-621.714c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h621.714c9.714 0 18.286 8.571 18.286 18.286zM1024 91.429v109.714c0 9.714-8.571 18.286-18.286 18.286h-987.429c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h987.429c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["indent"],"defaultCode":61500,"grid":14},"attrs":[],"properties":{"name":"indent","id":61,"order":63,"prevSize":28,"code":61500},"setIdx":0,"setId":1,"iconIdx":72},{"icon":{"paths":["M207.429 877.714l52-52-134.286-134.286-52 52v61.143h73.143v73.143h61.143zM506.286 347.429c0-7.429-5.143-12.571-12.571-12.571-3.429 0-6.857 1.143-9.714 4l-309.714 309.714c-2.857 2.857-4 6.286-4 9.714 0 7.429 5.143 12.571 12.571 12.571 3.429 0 6.857-1.143 9.714-4l309.714-309.714c2.857-2.857 4-6.286 4-9.714zM475.429 237.714l237.714 237.714-475.429 475.429h-237.714v-237.714zM865.714 292.571c0 19.429-8 38.286-21.143 51.429l-94.857 94.857-237.714-237.714 94.857-94.286c13.143-13.714 32-21.714 51.429-21.714s38.286 8 52 21.714l134.286 133.714c13.143 13.714 21.143 32.571 21.143 52z"],"width":865.7188571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["pencil"],"defaultCode":61504,"grid":14},"attrs":[],"properties":{"name":"pencil","id":62,"order":66,"prevSize":28,"code":61504},"setIdx":0,"setId":1,"iconIdx":73},{"icon":{"paths":["M438.857 822.857v-621.714c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["adjust"],"defaultCode":61506,"grid":14},"attrs":[],"properties":{"name":"adjust","id":63,"order":68,"prevSize":28,"code":61506},"setIdx":0,"setId":1,"iconIdx":74},{"icon":{"paths":["M507.429 676.571l66.286-66.286-86.857-86.857-66.286 66.286v32h54.857v54.857h32zM758.857 265.143c-5.143-5.143-13.714-4.571-18.857 0.571l-200 200c-5.143 5.143-5.714 13.714-0.571 18.857s13.714 4.571 18.857-0.571l200-200c5.143-5.143 5.714-13.714 0.571-18.857zM804.571 604.571v108.571c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c22.857 0 45.714 4.571 66.857 14.286 5.143 2.286 9.143 7.429 10.286 13.143 1.143 6.286-0.571 12-5.143 16.571l-28 28c-5.143 5.143-12 6.857-18.286 4.571-8.571-2.286-17.143-3.429-25.714-3.429h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-72c0-4.571 1.714-9.143 5.143-12.571l36.571-36.571c5.714-5.714 13.143-6.857 20-4s11.429 9.143 11.429 16.571zM749.714 182.857l164.571 164.571-384 384h-164.571v-164.571zM1003.429 258.286l-52.571 52.571-164.571-164.571 52.571-52.571c21.143-21.143 56.571-21.143 77.714 0l86.857 86.857c21.143 21.143 21.143 56.571 0 77.714z"],"width":1024.5851428571427,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["edit","pencil-square-o"],"defaultCode":61508,"grid":14},"attrs":[],"properties":{"name":"edit, pencil-square-o","id":64,"order":70,"prevSize":28,"code":61508},"setIdx":0,"setId":1,"iconIdx":75},{"icon":{"paths":["M804.571 565.143v148c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h145.714c9.714 0 18.286 8 18.286 18.286 0 9.143-6.286 16.571-14.857 18.286-28.571 9.714-54.286 21.143-76 34.286-2.857 1.143-5.714 2.286-9.143 2.286h-64c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-122.286c0-6.857 4-13.143 10.286-16.571 11.429-5.143 21.714-12.571 30.857-21.143 5.143-5.143 13.143-7.429 20-4.571s12 9.143 12 16.571zM940 281.714l-219.429 219.429c-6.857 7.429-16 10.857-25.714 10.857-4.571 0-9.714-1.143-14.286-2.857-13.143-5.714-22.286-18.857-22.286-33.714v-109.714h-91.429c-125.714 0-205.714 24-250.286 74.857-46.286 53.143-60 138.857-42.286 270.286 1.143 8-4 16-11.429 19.429-2.286 0.571-4.571 1.143-6.857 1.143-5.714 0-11.429-2.857-14.857-7.429-4-5.714-94.857-134.286-94.857-248.571 0-153.143 48-329.143 420.571-329.143h91.429v-109.714c0-14.857 9.143-28 22.286-33.714 4.571-1.714 9.714-2.857 14.286-2.857 9.714 0 18.857 4 25.714 10.857l219.429 219.429c14.286 14.286 14.286 37.143 0 51.429z"],"width":954.2948571428572,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["share-square-o"],"defaultCode":61509,"grid":14},"attrs":[],"properties":{"name":"share-square-o","id":65,"order":71,"prevSize":28,"code":61509},"setIdx":0,"setId":1,"iconIdx":76},{"icon":{"paths":["M804.571 531.429v181.714c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c22.857 0 45.714 4.571 66.857 14.286 5.143 2.286 9.143 7.429 10.286 13.143 1.143 6.286-0.571 12-5.143 16.571l-28 28c-3.429 3.429-8.571 5.714-13.143 5.714-1.714 0-3.429-0.571-5.143-1.143-8.571-2.286-17.143-3.429-25.714-3.429h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-145.143c0-4.571 1.714-9.143 5.143-12.571l36.571-36.571c4-4 8.571-5.714 13.143-5.714 2.286 0 4.571 0.571 6.857 1.714 6.857 2.857 11.429 9.143 11.429 16.571zM936.571 252l-465.143 465.143c-18.286 18.286-46.857 18.286-65.143 0l-245.714-245.714c-18.286-18.286-18.286-46.857 0-65.143l62.857-62.857c18.286-18.286 46.857-18.286 65.143 0l150.286 150.286 369.714-369.714c18.286-18.286 46.857-18.286 65.143 0l62.857 62.857c18.286 18.286 18.286 46.857 0 65.143z"],"width":954.8799999999999,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["check-square-o"],"defaultCode":61510,"grid":14},"attrs":[],"properties":{"name":"check-square-o","id":66,"order":719,"prevSize":28,"code":61510},"setIdx":0,"setId":1,"iconIdx":77},{"icon":{"paths":["M1024 512c0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-73.143h-219.429v219.429h73.143c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h73.143v-219.429h-219.429v73.143c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v73.143h219.429v-219.429h-73.143c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-73.143v219.429h219.429v-73.143c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrows"],"defaultCode":61511,"grid":14},"attrs":[],"properties":{"name":"arrows","id":67,"order":73,"prevSize":28,"code":61511},"setIdx":0,"setId":1,"iconIdx":78},{"icon":{"paths":["M559.429 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v387.429c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v387.429c1.714-4 4-7.429 7.429-10.857z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["step-backward"],"defaultCode":61512,"grid":14},"attrs":[],"properties":{"name":"step-backward","id":68,"order":74,"prevSize":28,"code":61512},"setIdx":0,"setId":1,"iconIdx":79},{"icon":{"paths":["M998.286 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v405.714c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v387.429c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v387.429c1.714-4 4-7.429 7.429-10.857l405.714-405.714c14.286-14.286 25.714-9.143 25.714 10.857v405.714c1.714-4 4-7.429 7.429-10.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["fast-backward"],"defaultCode":61513,"grid":14},"attrs":[],"properties":{"name":"fast-backward","id":69,"order":75,"prevSize":28,"code":61513},"setIdx":0,"setId":1,"iconIdx":80},{"icon":{"paths":["M925.143 80.571c14.286-14.286 25.714-9.143 25.714 10.857v841.143c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-3.429-3.429-5.714-6.857-7.429-10.857v405.714c0 20-11.429 25.143-25.714 10.857l-405.714-405.714c-14.286-14.286-14.286-37.143 0-51.429l405.714-405.714c14.286-14.286 25.714-9.143 25.714 10.857v405.714c1.714-4 4-7.429 7.429-10.857z"],"width":1017.1245714285715,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["backward"],"defaultCode":61514,"grid":14},"attrs":[],"properties":{"name":"backward","id":70,"order":76,"prevSize":28,"code":61514},"setIdx":0,"setId":1,"iconIdx":81},{"icon":{"paths":["M790.857 529.714l-758.857 421.714c-17.714 9.714-32 1.143-32-18.857v-841.143c0-20 14.286-28.571 32-18.857l758.857 421.714c17.714 9.714 17.714 25.714 0 35.429z"],"width":808.5942857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["play"],"defaultCode":61515,"grid":14},"attrs":[],"properties":{"name":"play","id":71,"order":77,"prevSize":28,"code":61515},"setIdx":0,"setId":1,"iconIdx":82},{"icon":{"paths":["M877.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-292.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571zM365.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-292.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["pause"],"defaultCode":61516,"grid":14},"attrs":[],"properties":{"name":"pause","id":72,"order":78,"prevSize":28,"code":61516},"setIdx":0,"setId":1,"iconIdx":83},{"icon":{"paths":["M877.714 109.714v804.571c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-804.571c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["stop"],"defaultCode":61517,"grid":14},"attrs":[],"properties":{"name":"stop","id":73,"order":79,"prevSize":28,"code":61517},"setIdx":0,"setId":1,"iconIdx":84},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-405.714c0-20 11.429-25.143 25.714-10.857l405.714 405.714c14.286 14.286 14.286 37.143 0 51.429l-405.714 405.714c-14.286 14.286-25.714 9.143-25.714-10.857v-405.714c-1.714 4-4 7.429-7.429 10.857z"],"width":884.5897142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["forward"],"defaultCode":61518,"grid":14},"attrs":[],"properties":{"name":"forward","id":74,"order":80,"prevSize":28,"code":61518},"setIdx":0,"setId":1,"iconIdx":85},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-405.714c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-387.429c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v804.571c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-387.429c-1.714 4-4 7.429-7.429 10.857l-405.714 405.714c-14.286 14.286-25.714 9.143-25.714-10.857v-405.714c-1.714 4-4 7.429-7.429 10.857z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["fast-forward"],"defaultCode":61520,"grid":14},"attrs":[],"properties":{"name":"fast-forward","id":75,"order":81,"prevSize":28,"code":61520},"setIdx":0,"setId":1,"iconIdx":86},{"icon":{"paths":["M25.714 943.429c-14.286 14.286-25.714 9.143-25.714-10.857v-841.143c0-20 11.429-25.143 25.714-10.857l405.714 405.714c3.429 3.429 5.714 6.857 7.429 10.857v-387.429c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v804.571c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-387.429c-1.714 4-4 7.429-7.429 10.857z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["step-forward"],"defaultCode":61521,"grid":14},"attrs":[],"properties":{"name":"step-forward","id":76,"order":82,"prevSize":28,"code":61521},"setIdx":0,"setId":1,"iconIdx":87},{"icon":{"paths":["M8 559.429l405.714-405.714c14.286-14.286 37.143-14.286 51.429 0l405.714 405.714c14.286 14.286 9.143 25.714-10.857 25.714h-841.143c-20 0-25.143-11.429-10.857-25.714zM841.714 877.714h-804.571c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571v146.286c0 20-16.571 36.571-36.571 36.571z"],"width":878.8845714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["eject"],"defaultCode":61522,"grid":14},"attrs":[],"properties":{"name":"eject","id":77,"order":83,"prevSize":28,"code":61522},"setIdx":0,"setId":1,"iconIdx":88},{"icon":{"paths":["M669.143 172l-303.429 303.429 303.429 303.429c14.286 14.286 14.286 37.143 0 51.429l-94.857 94.857c-14.286 14.286-37.143 14.286-51.429 0l-424-424c-14.286-14.286-14.286-37.143 0-51.429l424-424c14.286-14.286 37.143-14.286 51.429 0l94.857 94.857c14.286 14.286 14.286 37.143 0 51.429z"],"width":768,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-left"],"defaultCode":61523,"grid":14},"attrs":[],"properties":{"name":"chevron-left","id":78,"order":84,"prevSize":28,"code":61523},"setIdx":0,"setId":1,"iconIdx":89},{"icon":{"paths":["M632.571 501.143l-424 424c-14.286 14.286-37.143 14.286-51.429 0l-94.857-94.857c-14.286-14.286-14.286-37.143 0-51.429l303.429-303.429-303.429-303.429c-14.286-14.286-14.286-37.143 0-51.429l94.857-94.857c14.286-14.286 37.143-14.286 51.429 0l424 424c14.286 14.286 14.286 37.143 0 51.429z"],"width":694.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-right"],"defaultCode":61524,"grid":14},"attrs":[],"properties":{"name":"chevron-right","id":79,"order":85,"prevSize":28,"code":61524},"setIdx":0,"setId":1,"iconIdx":90},{"icon":{"paths":["M694.857 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-146.286v-146.286c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v146.286h-146.286c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h146.286v146.286c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-146.286h146.286c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["plus-circle"],"defaultCode":61525,"grid":14},"attrs":[],"properties":{"name":"plus-circle","id":80,"order":86,"prevSize":28,"code":61525},"setIdx":0,"setId":1,"iconIdx":91},{"icon":{"paths":["M694.857 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-438.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h438.857c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["minus-circle"],"defaultCode":61526,"grid":14},"attrs":[],"properties":{"name":"minus-circle","id":81,"order":87,"prevSize":28,"code":61526},"setIdx":0,"setId":1,"iconIdx":92},{"icon":{"paths":["M656.571 641.143c0-9.714-4-18.857-10.857-25.714l-103.429-103.429 103.429-103.429c6.857-6.857 10.857-16 10.857-25.714s-4-19.429-10.857-26.286l-51.429-51.429c-6.857-6.857-16.571-10.857-26.286-10.857s-18.857 4-25.714 10.857l-103.429 103.429-103.429-103.429c-6.857-6.857-16-10.857-25.714-10.857s-19.429 4-26.286 10.857l-51.429 51.429c-6.857 6.857-10.857 16.571-10.857 26.286s4 18.857 10.857 25.714l103.429 103.429-103.429 103.429c-6.857 6.857-10.857 16-10.857 25.714s4 19.429 10.857 26.286l51.429 51.429c6.857 6.857 16.571 10.857 26.286 10.857s18.857-4 25.714-10.857l103.429-103.429 103.429 103.429c6.857 6.857 16 10.857 25.714 10.857s19.429-4 26.286-10.857l51.429-51.429c6.857-6.857 10.857-16.571 10.857-26.286zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["times-circle"],"defaultCode":61527,"grid":14},"attrs":[],"properties":{"name":"times-circle","id":82,"order":88,"prevSize":28,"code":61527},"setIdx":0,"setId":1,"iconIdx":93},{"icon":{"paths":["M733.714 419.429c0-9.714-3.429-19.429-10.286-26.286l-52-51.429c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-233.143 232.571-129.143-129.143c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-52 51.429c-6.857 6.857-10.286 16.571-10.286 26.286s3.429 18.857 10.286 25.714l206.857 206.857c6.857 6.857 16.571 10.857 25.714 10.857 9.714 0 19.429-4 26.286-10.857l310.286-310.286c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["check-circle"],"defaultCode":61528,"grid":14},"attrs":[],"properties":{"name":"check-circle","id":83,"order":89,"prevSize":28,"code":61528},"setIdx":0,"setId":1,"iconIdx":94},{"icon":{"paths":["M512 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-109.714c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286zM658.286 402.286c0-104.571-109.714-182.857-208-182.857-93.143 0-162.857 40-212 121.714-5.143 8-2.857 18.286 4.571 24l75.429 57.143c2.857 2.286 6.857 3.429 10.857 3.429 5.143 0 10.857-2.286 14.286-6.857 26.857-34.286 38.286-44.571 49.143-52.571 9.714-6.857 28.571-13.714 49.143-13.714 36.571 0 70.286 23.429 70.286 48.571 0 29.714-15.429 44.571-50.286 60.571-40.571 18.286-96 65.714-96 121.143v20.571c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286v0c0-13.143 16.571-41.143 43.429-56.571 43.429-24.571 102.857-57.714 102.857-144.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["question-circle"],"defaultCode":61529,"grid":14},"attrs":[],"properties":{"name":"question-circle","id":84,"order":90,"prevSize":28,"code":61529},"setIdx":0,"setId":1,"iconIdx":95},{"icon":{"paths":["M585.143 786.286v-91.429c0-10.286-8-18.286-18.286-18.286h-54.857v-292.571c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h54.857v182.857h-54.857c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h256c10.286 0 18.286-8 18.286-18.286zM512 274.286v-91.429c0-10.286-8-18.286-18.286-18.286h-109.714c-10.286 0-18.286 8-18.286 18.286v91.429c0 10.286 8 18.286 18.286 18.286h109.714c10.286 0 18.286-8 18.286-18.286zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["info-circle"],"defaultCode":61530,"grid":14},"attrs":[],"properties":{"name":"info-circle","id":85,"order":91,"prevSize":28,"code":61530},"setIdx":0,"setId":1,"iconIdx":96},{"icon":{"paths":["M684 585.143h-62.286c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h62.286c-24.571-82.286-89.714-147.429-172-172v62.286c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-62.286c-82.286 24.571-147.429 89.714-172 172h62.286c20 0 36.571 16.571 36.571 36.571v73.143c0 20-16.571 36.571-36.571 36.571h-62.286c24.571 82.286 89.714 147.429 172 172v-62.286c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v62.286c82.286-24.571 147.429-89.714 172-172zM877.714 475.429v73.143c0 20-16.571 36.571-36.571 36.571h-81.714c-28 122.857-124.571 219.429-247.429 247.429v81.714c0 20-16.571 36.571-36.571 36.571h-73.143c-20 0-36.571-16.571-36.571-36.571v-81.714c-122.857-28-219.429-124.571-247.429-247.429h-81.714c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h81.714c28-122.857 124.571-219.429 247.429-247.429v-81.714c0-20 16.571-36.571 36.571-36.571h73.143c20 0 36.571 16.571 36.571 36.571v81.714c122.857 28 219.429 124.571 247.429 247.429h81.714c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["crosshairs"],"defaultCode":61531,"grid":14},"attrs":[],"properties":{"name":"crosshairs","id":86,"order":92,"prevSize":28,"code":61531},"setIdx":0,"setId":1,"iconIdx":97},{"icon":{"paths":["M626.857 616.571l-83.429 83.429c-7.429 7.429-18.857 7.429-26.286 0l-78.286-78.286-78.286 78.286c-7.429 7.429-18.857 7.429-26.286 0l-83.429-83.429c-7.429-7.429-7.429-18.857 0-26.286l78.286-78.286-78.286-78.286c-7.429-7.429-7.429-18.857 0-26.286l83.429-83.429c7.429-7.429 18.857-7.429 26.286 0l78.286 78.286 78.286-78.286c7.429-7.429 18.857-7.429 26.286 0l83.429 83.429c7.429 7.429 7.429 18.857 0 26.286l-78.286 78.286 78.286 78.286c7.429 7.429 7.429 18.857 0 26.286zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["times-circle-o"],"defaultCode":61532,"grid":14},"attrs":[],"properties":{"name":"times-circle-o","id":87,"order":93,"prevSize":28,"code":61532},"setIdx":0,"setId":1,"iconIdx":98},{"icon":{"paths":["M669.143 464.571l-241.143 241.143c-14.286 14.286-37.143 14.286-51.429 0l-168-168c-14.286-14.286-14.286-37.143 0-51.429l58.286-58.286c14.286-14.286 37.143-14.286 51.429 0l84 84 157.143-157.143c14.286-14.286 37.143-14.286 51.429 0l58.286 58.286c14.286 14.286 14.286 37.143 0 51.429zM749.714 512c0-171.429-139.429-310.857-310.857-310.857s-310.857 139.429-310.857 310.857 139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["check-circle-o"],"defaultCode":61533,"grid":14},"attrs":[],"properties":{"name":"check-circle-o","id":88,"order":94,"prevSize":28,"code":61533},"setIdx":0,"setId":1,"iconIdx":99},{"icon":{"paths":["M749.714 510.286c0-62.286-18.286-120-49.714-168.571l-430.857 430.286c49.143 32 107.429 50.857 169.714 50.857 171.429 0 310.857-140 310.857-312.571zM178.857 681.143l431.429-430.857c-49.143-33.143-108-52-171.429-52-171.429 0-310.857 140-310.857 312 0 63.429 18.857 121.714 50.857 170.857zM877.714 510.286c0 243.429-196.571 440.571-438.857 440.571s-438.857-197.143-438.857-440.571c0-242.857 196.571-440 438.857-440s438.857 197.143 438.857 440z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["ban"],"defaultCode":61534,"grid":14},"attrs":[],"properties":{"name":"ban","id":89,"order":95,"prevSize":28,"code":61534},"setIdx":0,"setId":1,"iconIdx":100},{"icon":{"paths":["M877.714 512v73.143c0 38.857-25.714 73.143-66.857 73.143h-402.286l167.429 168c13.714 13.143 21.714 32 21.714 51.429s-8 38.286-21.714 51.429l-42.857 43.429c-13.143 13.143-32 21.143-51.429 21.143s-38.286-8-52-21.143l-372-372.571c-13.143-13.143-21.143-32-21.143-51.429s8-38.286 21.143-52l372-371.429c13.714-13.714 32.571-21.714 52-21.714s37.714 8 51.429 21.714l42.857 42.286c13.714 13.714 21.714 32.571 21.714 52s-8 38.286-21.714 52l-167.429 167.429h402.286c41.143 0 66.857 34.286 66.857 73.143z"],"width":914.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-left"],"defaultCode":61536,"grid":14},"attrs":[],"properties":{"name":"arrow-left","id":90,"order":96,"prevSize":28,"code":61536},"setIdx":0,"setId":1,"iconIdx":101},{"icon":{"paths":["M841.143 548.571c0 19.429-7.429 38.286-21.143 52l-372 372c-13.714 13.143-32.571 21.143-52 21.143s-37.714-8-51.429-21.143l-42.857-42.857c-13.714-13.714-21.714-32.571-21.714-52s8-38.286 21.714-52l167.429-167.429h-402.286c-41.143 0-66.857-34.286-66.857-73.143v-73.143c0-38.857 25.714-73.143 66.857-73.143h402.286l-167.429-168c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-51.429l42.857-42.857c13.714-13.714 32-21.714 51.429-21.714s38.286 8 52 21.714l372 372c13.714 13.143 21.143 32 21.143 51.429z"],"width":841.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-right"],"defaultCode":61537,"grid":14},"attrs":[],"properties":{"name":"arrow-right","id":91,"order":97,"prevSize":28,"code":61537},"setIdx":0,"setId":1,"iconIdx":102},{"icon":{"paths":["M920.571 554.857c0 19.429-8 37.714-21.143 51.429l-42.857 42.857c-13.714 13.714-32.571 21.714-52 21.714s-38.286-8-51.429-21.714l-168-167.429v402.286c0 41.143-34.286 66.857-73.143 66.857h-73.143c-38.857 0-73.143-25.714-73.143-66.857v-402.286l-168 167.429c-13.143 13.714-32 21.714-51.429 21.714s-38.286-8-51.429-21.714l-42.857-42.857c-13.714-13.714-21.714-32-21.714-51.429s8-38.286 21.714-52l372-372c13.143-13.714 32-21.143 51.429-21.143s38.286 7.429 52 21.143l372 372c13.143 13.714 21.143 32.571 21.143 52z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-up"],"defaultCode":61538,"grid":14},"attrs":[],"properties":{"name":"arrow-up","id":92,"order":98,"prevSize":28,"code":61538},"setIdx":0,"setId":1,"iconIdx":103},{"icon":{"paths":["M920.571 475.429c0 19.429-8 38.286-21.143 51.429l-372 372.571c-13.714 13.143-32.571 21.143-52 21.143s-38.286-8-51.429-21.143l-372-372.571c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-52l42.286-42.857c13.714-13.143 32.571-21.143 52-21.143s38.286 8 51.429 21.143l168 168v-402.286c0-40 33.143-73.143 73.143-73.143h73.143c40 0 73.143 33.143 73.143 73.143v402.286l168-168c13.143-13.143 32-21.143 51.429-21.143s38.286 8 52 21.143l42.857 42.857c13.143 13.714 21.143 32.571 21.143 52z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-down"],"defaultCode":61539,"grid":14},"attrs":[],"properties":{"name":"arrow-down","id":93,"order":99,"prevSize":28,"code":61539},"setIdx":0,"setId":1,"iconIdx":104},{"icon":{"paths":["M1024 365.714c0 9.714-4 18.857-10.857 25.714l-292.571 292.571c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-146.286h-128c-246.286 0-408 47.429-408 320 0 23.429 1.143 46.857 2.857 70.286 0.571 9.143 2.857 19.429 2.857 28.571 0 10.857-6.857 20-18.286 20-8 0-12-4-16-9.714-8.571-12-14.857-30.286-21.143-43.429-32.571-73.143-72.571-177.714-72.571-257.714 0-64 6.286-129.714 30.286-190.286 79.429-197.143 312.571-230.286 500-230.286h128v-146.286c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l292.571 292.571c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["mail-forward","share"],"defaultCode":61540,"grid":14},"attrs":[],"properties":{"name":"mail-forward, share","id":94,"order":100,"prevSize":28,"code":61540},"setIdx":0,"setId":1,"iconIdx":105},{"icon":{"paths":["M431.429 603.429c0 4.571-2.286 9.714-5.714 13.143l-189.714 189.714 82.286 82.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l82.286 82.286 189.714-189.714c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l65.143 65.143c3.429 3.429 5.714 8.571 5.714 13.143zM877.714 109.714v256c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-82.286-82.286-189.714 189.714c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l189.714-189.714-82.286-82.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["expand"],"defaultCode":61541,"grid":14},"attrs":[],"properties":{"name":"expand","id":95,"order":101,"prevSize":28,"code":61541},"setIdx":0,"setId":1,"iconIdx":106},{"icon":{"paths":["M438.857 548.571v256c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-82.286-82.286-189.714 189.714c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l189.714-189.714-82.286-82.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h256c20 0 36.571 16.571 36.571 36.571zM870.286 164.571c0 4.571-2.286 9.714-5.714 13.143l-189.714 189.714 82.286 82.286c6.857 6.857 10.857 16 10.857 25.714 0 20-16.571 36.571-36.571 36.571h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l82.286 82.286 189.714-189.714c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l65.143 65.143c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["compress"],"defaultCode":61542,"grid":14},"attrs":[],"properties":{"name":"compress","id":96,"order":102,"prevSize":28,"code":61542},"setIdx":0,"setId":1,"iconIdx":107},{"icon":{"paths":["M438.857 73.143c242.286 0 438.857 196.571 438.857 438.857s-196.571 438.857-438.857 438.857-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857zM512 785.714v-108.571c0-10.286-8-18.857-17.714-18.857h-109.714c-10.286 0-18.857 8.571-18.857 18.857v108.571c0 10.286 8.571 18.857 18.857 18.857h109.714c9.714 0 17.714-8.571 17.714-18.857zM510.857 589.143l10.286-354.857c0-4-1.714-8-5.714-10.286-3.429-2.857-8.571-4.571-13.714-4.571h-125.714c-5.143 0-10.286 1.714-13.714 4.571-4 2.286-5.714 6.286-5.714 10.286l9.714 354.857c0 8 8.571 14.286 19.429 14.286h105.714c10.286 0 18.857-6.286 19.429-14.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["exclamation-circle"],"defaultCode":61546,"grid":14},"attrs":[],"properties":{"name":"exclamation-circle","id":97,"order":103,"prevSize":28,"code":61546},"setIdx":0,"setId":1,"iconIdx":108},{"icon":{"paths":["M950.857 548.571c-54.286-84-128.571-156-217.714-201.714 22.857 38.857 34.857 83.429 34.857 128.571 0 141.143-114.857 256-256 256s-256-114.857-256-256c0-45.143 12-89.714 34.857-128.571-89.143 45.714-163.429 117.714-217.714 201.714 97.714 150.857 255.429 256 438.857 256s341.143-105.143 438.857-256zM539.429 329.143c0-14.857-12.571-27.429-27.429-27.429-95.429 0-173.714 78.286-173.714 173.714 0 14.857 12.571 27.429 27.429 27.429s27.429-12.571 27.429-27.429c0-65.143 53.714-118.857 118.857-118.857 14.857 0 27.429-12.571 27.429-27.429zM1024 548.571c0 14.286-4.571 27.429-11.429 39.429-105.143 173.143-297.714 289.714-500.571 289.714s-395.429-117.143-500.571-289.714c-6.857-12-11.429-25.143-11.429-39.429s4.571-27.429 11.429-39.429c105.143-172.571 297.714-289.714 500.571-289.714s395.429 117.143 500.571 289.714c6.857 12 11.429 25.143 11.429 39.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["eye"],"defaultCode":61550,"grid":14},"attrs":[],"properties":{"name":"eye","id":98,"order":107,"prevSize":28,"code":61550},"setIdx":0,"setId":1,"iconIdx":109},{"icon":{"paths":["M317.143 762.857l44.571-80.571c-66.286-48-105.714-125.143-105.714-206.857 0-45.143 12-89.714 34.857-128.571-89.143 45.714-163.429 117.714-217.714 201.714 59.429 92 143.429 169.143 244 214.286zM539.429 329.143c0-14.857-12.571-27.429-27.429-27.429-95.429 0-173.714 78.286-173.714 173.714 0 14.857 12.571 27.429 27.429 27.429s27.429-12.571 27.429-27.429c0-65.714 53.714-118.857 118.857-118.857 14.857 0 27.429-12.571 27.429-27.429zM746.857 220c0 1.143 0 4-0.571 5.143-120.571 215.429-240 432-360.571 647.429l-28 50.857c-3.429 5.714-9.714 9.143-16 9.143-10.286 0-64.571-33.143-76.571-40-5.714-3.429-9.143-9.143-9.143-16 0-9.143 19.429-40 25.143-49.714-110.857-50.286-204-136-269.714-238.857-7.429-11.429-11.429-25.143-11.429-39.429 0-13.714 4-28 11.429-39.429 113.143-173.714 289.714-289.714 500.571-289.714 34.286 0 69.143 3.429 102.857 9.714l30.857-55.429c3.429-5.714 9.143-9.143 16-9.143 10.286 0 64 33.143 76 40 5.714 3.429 9.143 9.143 9.143 15.429zM768 475.429c0 106.286-65.714 201.143-164.571 238.857l160-286.857c2.857 16 4.571 32 4.571 48zM1024 548.571c0 14.857-4 26.857-11.429 39.429-17.714 29.143-40 57.143-62.286 82.857-112 128.571-266.286 206.857-438.286 206.857l42.286-75.429c166.286-14.286 307.429-115.429 396.571-253.714-42.286-65.714-96.571-123.429-161.143-168l36-64c70.857 47.429 142.286 118.857 186.857 192.571 7.429 12.571 11.429 24.571 11.429 39.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["eye-slash"],"defaultCode":61552,"grid":14},"attrs":[],"properties":{"name":"eye-slash","id":99,"order":108,"prevSize":28,"code":61552},"setIdx":0,"setId":1,"iconIdx":110},{"icon":{"paths":["M585.143 785.714v-108.571c0-10.286-8-18.857-18.286-18.857h-109.714c-10.286 0-18.286 8.571-18.286 18.857v108.571c0 10.286 8 18.857 18.286 18.857h109.714c10.286 0 18.286-8.571 18.286-18.857zM584 572l10.286-262.286c0-3.429-1.714-8-5.714-10.857-3.429-2.857-8.571-6.286-13.714-6.286h-125.714c-5.143 0-10.286 3.429-13.714 6.286-4 2.857-5.714 8.571-5.714 12l9.714 261.143c0 7.429 8.571 13.143 19.429 13.143h105.714c10.286 0 18.857-5.714 19.429-13.143zM576 38.286l438.857 804.571c12.571 22.286 12 49.714-1.143 72s-37.143 36-62.857 36h-877.714c-25.714 0-49.714-13.714-62.857-36s-13.714-49.714-1.143-72l438.857-804.571c12.571-23.429 37.143-38.286 64-38.286s51.429 14.857 64 38.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["exclamation-triangle","warning"],"defaultCode":61553,"grid":14},"attrs":[],"properties":{"name":"exclamation-triangle, warning","id":100,"order":109,"prevSize":28,"code":61553},"setIdx":0,"setId":1,"iconIdx":111},{"icon":{"paths":["M73.143 950.857h164.571v-164.571h-164.571v164.571zM274.286 950.857h182.857v-164.571h-182.857v164.571zM73.143 749.714h164.571v-182.857h-164.571v182.857zM274.286 749.714h182.857v-182.857h-182.857v182.857zM73.143 530.286h164.571v-164.571h-164.571v164.571zM493.714 950.857h182.857v-164.571h-182.857v164.571zM274.286 530.286h182.857v-164.571h-182.857v164.571zM713.143 950.857h164.571v-164.571h-164.571v164.571zM493.714 749.714h182.857v-182.857h-182.857v182.857zM292.571 256v-164.571c0-9.714-8.571-18.286-18.286-18.286h-36.571c-9.714 0-18.286 8.571-18.286 18.286v164.571c0 9.714 8.571 18.286 18.286 18.286h36.571c9.714 0 18.286-8.571 18.286-18.286zM713.143 749.714h164.571v-182.857h-164.571v182.857zM493.714 530.286h182.857v-164.571h-182.857v164.571zM713.143 530.286h164.571v-164.571h-164.571v164.571zM731.429 256v-164.571c0-9.714-8.571-18.286-18.286-18.286h-36.571c-9.714 0-18.286 8.571-18.286 18.286v164.571c0 9.714 8.571 18.286 18.286 18.286h36.571c9.714 0 18.286-8.571 18.286-18.286zM950.857 219.429v731.429c0 40-33.143 73.143-73.143 73.143h-804.571c-40 0-73.143-33.143-73.143-73.143v-731.429c0-40 33.143-73.143 73.143-73.143h73.143v-54.857c0-50.286 41.143-91.429 91.429-91.429h36.571c50.286 0 91.429 41.143 91.429 91.429v54.857h219.429v-54.857c0-50.286 41.143-91.429 91.429-91.429h36.571c50.286 0 91.429 41.143 91.429 91.429v54.857h73.143c40 0 73.143 33.143 73.143 73.143z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["calendar"],"defaultCode":61555,"grid":14},"attrs":[],"properties":{"name":"calendar","id":101,"order":111,"prevSize":28,"code":61555},"setIdx":0,"setId":1,"iconIdx":112},{"icon":{"paths":["M380.571 274.857c-32 49.143-55.429 102.286-78.286 156-33.143-69.143-69.714-138.286-156-138.286h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128c101.714 0 176.571 47.429 234.286 128.571zM1024 731.429c0 4.571-1.714 9.714-5.143 13.143l-182.857 182.857c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8.571-18.286-18.286v-109.714c-169.714 0-274.286 20-380-128.571 31.429-49.143 54.857-102.286 77.714-156 33.143 69.143 69.714 138.286 156 138.286h146.286v-109.714c0-10.286 8-18.286 18.286-18.286 5.143 0 9.714 2.286 13.714 5.714l182.286 182.286c3.429 3.429 5.143 8.571 5.143 13.143zM1024 219.429c0 4.571-1.714 9.714-5.143 13.143l-182.857 182.857c-3.429 3.429-8.571 5.143-13.143 5.143-9.714 0-18.286-8-18.286-18.286v-109.714h-146.286c-76 0-112 52-144 113.714-16.571 32-30.857 65.143-44.571 97.714-63.429 147.429-137.714 300.571-323.429 300.571h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128c76 0 112-52 144-113.714 16.571-32 30.857-65.143 44.571-97.714 63.429-147.429 137.714-300.571 323.429-300.571h146.286v-109.714c0-10.286 8-18.286 18.286-18.286 5.143 0 9.714 2.286 13.714 5.714l182.286 182.286c3.429 3.429 5.143 8.571 5.143 13.143z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["random"],"defaultCode":61556,"grid":14},"attrs":[],"properties":{"name":"random","id":102,"order":112,"prevSize":28,"code":61556},"setIdx":0,"setId":1,"iconIdx":113},{"icon":{"paths":["M1024 512c0 202.286-229.143 365.714-512 365.714-28 0-56-1.714-82.857-4.571-74.857 66.286-164 113.143-262.857 138.286-20.571 5.714-42.857 9.714-65.143 12.571-12.571 1.143-24.571-8-27.429-21.714v-0.571c-2.857-14.286 6.857-22.857 15.429-33.143 36-40.571 77.143-74.857 104-170.286-117.714-66.857-193.143-170.286-193.143-286.286 0-201.714 229.143-365.714 512-365.714s512 163.429 512 365.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["comment"],"defaultCode":61557,"grid":14},"attrs":[],"properties":{"name":"comment","id":103,"order":113,"prevSize":28,"code":61557},"setIdx":0,"setId":1,"iconIdx":114},{"icon":{"paths":["M961.714 760.571l-94.857 94.286c-14.286 14.286-37.143 14.286-51.429 0l-303.429-303.429-303.429 303.429c-14.286 14.286-37.143 14.286-51.429 0l-94.857-94.286c-14.286-14.286-14.286-37.714 0-52l424-423.429c14.286-14.286 37.143-14.286 51.429 0l424 423.429c14.286 14.286 14.286 37.714 0 52z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-up"],"defaultCode":61559,"grid":14},"attrs":[],"properties":{"name":"chevron-up","id":104,"order":115,"prevSize":28,"code":61559},"setIdx":0,"setId":1,"iconIdx":115},{"icon":{"paths":["M961.714 461.714l-424 423.429c-14.286 14.286-37.143 14.286-51.429 0l-424-423.429c-14.286-14.286-14.286-37.714 0-52l94.857-94.286c14.286-14.286 37.143-14.286 51.429 0l303.429 303.429 303.429-303.429c14.286-14.286 37.143-14.286 51.429 0l94.857 94.286c14.286 14.286 14.286 37.714 0 52z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-down"],"defaultCode":61560,"grid":14},"attrs":[],"properties":{"name":"chevron-down","id":105,"order":116,"prevSize":28,"code":61560},"setIdx":0,"setId":1,"iconIdx":116},{"icon":{"paths":["M731.429 859.429c0 9.714-8.571 18.286-18.286 18.286h-548.571c-21.143 0-18.286-22.286-18.286-36.571v-329.143h-109.714c-20 0-36.571-16.571-36.571-36.571 0-8.571 2.857-17.143 8.571-23.429l182.857-219.429c6.857-8 17.143-12.571 28-12.571s21.143 4.571 28 12.571l182.857 219.429c5.714 6.286 8.571 14.857 8.571 23.429 0 20-16.571 36.571-36.571 36.571h-109.714v219.429h329.143c5.143 0 10.857 2.286 14.286 6.286l91.429 109.714c2.286 3.429 4 8 4 12zM1097.143 621.714c0 8.571-2.857 17.143-8.571 23.429l-182.857 219.429c-6.857 8-17.143 13.143-28 13.143s-21.143-5.143-28-13.143l-182.857-219.429c-5.714-6.286-8.571-14.857-8.571-23.429 0-20 16.571-36.571 36.571-36.571h109.714v-219.429h-329.143c-5.143 0-10.857-2.286-14.286-6.857l-91.429-109.714c-2.286-2.857-4-7.429-4-11.429 0-9.714 8.571-18.286 18.286-18.286h548.571c21.143 0 18.286 22.286 18.286 36.571v329.143h109.714c20 0 36.571 16.571 36.571 36.571z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["retweet"],"defaultCode":61561,"grid":14},"attrs":[],"properties":{"name":"retweet","id":106,"order":117,"prevSize":28,"code":61561},"setIdx":0,"setId":1,"iconIdx":117},{"icon":{"paths":["M950.857 347.429v402.286c0 70.286-57.714 128-128 128h-694.857c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h384c70.286 0 128 57.714 128 128z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["folder"],"defaultCode":61563,"grid":14},"attrs":[],"properties":{"name":"folder","id":107,"order":119,"prevSize":28,"code":61563},"setIdx":0,"setId":1,"iconIdx":118},{"icon":{"paths":["M1073.714 544c0 13.714-8.571 27.429-17.714 37.714l-192 226.286c-33.143 38.857-100.571 69.714-150.857 69.714h-621.714c-20.571 0-49.714-6.286-49.714-32 0-13.714 8.571-27.429 17.714-37.714l192-226.286c33.143-38.857 100.571-69.714 150.857-69.714h621.714c20.571 0 49.714 6.286 49.714 32zM877.714 347.429v91.429h-475.429c-71.429 0-160 40.571-206.286 95.429l-195.429 229.714c0-4.571-0.571-9.714-0.571-14.286v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128z"],"width":1073.7371428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["folder-open"],"defaultCode":61564,"grid":14},"attrs":[],"properties":{"name":"folder-open","id":108,"order":120,"prevSize":28,"code":61564},"setIdx":0,"setId":1,"iconIdx":119},{"icon":{"paths":["M402.286 182.857c0 20-16.571 36.571-36.571 36.571h-73.143v585.143h73.143c20 0 36.571 16.571 36.571 36.571 0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h73.143v-585.143h-73.143c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrows-v"],"defaultCode":61565,"grid":14},"attrs":[],"properties":{"name":"arrows-v","id":109,"order":121,"prevSize":28,"code":61565},"setIdx":0,"setId":1,"iconIdx":120},{"icon":{"paths":["M1024 512c0 9.714-4 18.857-10.857 25.714l-146.286 146.286c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-73.143h-585.143v73.143c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l146.286-146.286c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v73.143h585.143v-73.143c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l146.286 146.286c6.857 6.857 10.857 16 10.857 25.714z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrows-h"],"defaultCode":61566,"grid":14},"attrs":[],"properties":{"name":"arrows-h","id":110,"order":122,"prevSize":28,"code":61566},"setIdx":0,"setId":1,"iconIdx":121},{"icon":{"paths":["M512 512c0-80.571-65.714-146.286-146.286-146.286s-146.286 65.714-146.286 146.286 65.714 146.286 146.286 146.286 146.286-65.714 146.286-146.286zM950.857 804.571c0-40-33.143-73.143-73.143-73.143s-73.143 33.143-73.143 73.143c0 40.571 33.143 73.143 73.143 73.143 40.571 0 73.143-33.143 73.143-73.143zM950.857 219.429c0-40-33.143-73.143-73.143-73.143s-73.143 33.143-73.143 73.143c0 40.571 33.143 73.143 73.143 73.143 40.571 0 73.143-33.143 73.143-73.143zM731.429 460v105.714c0 7.429-5.714 16-13.143 17.143l-88.571 13.714c-4.571 14.857-10.857 29.143-18.286 43.429 16 22.857 33.143 44 51.429 65.714 2.286 3.429 4 6.857 4 11.429 0 4-1.143 8-4 10.857-11.429 15.429-75.429 85.143-92 85.143-4.571 0-8.571-1.714-12-4l-65.714-51.429c-14.286 7.429-28.571 13.143-44 17.714-2.857 29.143-5.714 60.571-13.143 88.571-2.286 8-9.143 13.714-17.143 13.714h-106.286c-8 0-16-6.286-17.143-14.286l-13.143-87.429c-14.857-4.571-29.143-10.857-42.857-17.714l-67.429 50.857c-2.857 2.857-7.429 4-11.429 4-4.571 0-8.571-1.714-12-4.571-14.857-13.714-82.286-74.857-82.286-91.429 0-4 1.714-7.429 4-10.857 16.571-21.714 33.714-42.857 50.286-65.143-8-15.429-14.857-30.857-20-46.857l-86.857-13.714c-8-1.143-13.714-8.571-13.714-16.571v-105.714c0-7.429 5.714-16 13.143-17.143l88.571-13.714c4.571-14.857 10.857-29.143 18.286-43.429-16-22.857-33.143-44-51.429-65.714-2.286-3.429-4-7.429-4-11.429s1.143-8 4-11.429c11.429-15.429 75.429-84.571 92-84.571 4.571 0 8.571 1.714 12 4l65.714 51.429c14.286-7.429 28.571-13.143 44-18.286 2.857-28.571 5.714-60 13.143-88 2.286-8 9.143-13.714 17.143-13.714h106.286c8 0 16 6.286 17.143 14.286l13.143 87.429c14.857 4.571 29.143 10.857 42.857 17.714l67.429-50.857c3.429-2.857 7.429-4 11.429-4 4.571 0 8.571 1.714 12 4.571 14.857 13.714 82.286 75.429 82.286 91.429 0 4-1.714 7.429-4 10.857-16.571 22.286-33.714 42.857-49.714 65.143 7.429 15.429 14.286 30.857 19.429 46.857l86.857 13.143c8 1.714 13.714 9.143 13.714 17.143zM1097.143 764.571v80c0 8.571-73.714 16.571-85.143 17.714-4.571 10.857-10.286 20.571-17.143 29.714 5.143 11.429 29.143 68.571 29.143 78.857 0 1.714-0.571 2.857-2.286 4-6.857 4-68 40.571-70.857 40.571-7.429 0-50.286-57.143-56-65.714-5.714 0.571-11.429 1.143-17.143 1.143s-11.429-0.571-17.143-1.143c-5.714 8.571-48.571 65.714-56 65.714-2.857 0-64-36.571-70.857-40.571-1.714-1.143-2.286-2.857-2.286-4 0-9.714 24-67.429 29.143-78.857-6.857-9.143-12.571-18.857-17.143-29.714-11.429-1.143-85.143-9.143-85.143-17.714v-80c0-8.571 73.714-16.571 85.143-17.714 4.571-10.286 10.286-20.571 17.143-29.714-5.143-11.429-29.143-69.143-29.143-78.857 0-1.143 0.571-2.857 2.286-4 6.857-3.429 68-40 70.857-40 7.429 0 50.286 56.571 56 65.143 5.714-0.571 11.429-1.143 17.143-1.143s11.429 0.571 17.143 1.143c16-22.286 33.143-44.571 52.571-64l3.429-1.143c2.857 0 64 36 70.857 40 1.714 1.143 2.286 2.857 2.286 4 0 10.286-24 67.429-29.143 78.857 6.857 9.143 12.571 19.429 17.143 29.714 11.429 1.143 85.143 9.143 85.143 17.714zM1097.143 179.429v80c0 8.571-73.714 16.571-85.143 17.714-4.571 10.857-10.286 20.571-17.143 29.714 5.143 11.429 29.143 68.571 29.143 78.857 0 1.714-0.571 2.857-2.286 4-6.857 4-68 40.571-70.857 40.571-7.429 0-50.286-57.143-56-65.714-5.714 0.571-11.429 1.143-17.143 1.143s-11.429-0.571-17.143-1.143c-5.714 8.571-48.571 65.714-56 65.714-2.857 0-64-36.571-70.857-40.571-1.714-1.143-2.286-2.857-2.286-4 0-9.714 24-67.429 29.143-78.857-6.857-9.143-12.571-18.857-17.143-29.714-11.429-1.143-85.143-9.143-85.143-17.714v-80c0-8.571 73.714-16.571 85.143-17.714 4.571-10.286 10.286-20.571 17.143-29.714-5.143-11.429-29.143-69.143-29.143-78.857 0-1.143 0.571-2.857 2.286-4 6.857-3.429 68-40 70.857-40 7.429 0 50.286 56.571 56 65.143 5.714-0.571 11.429-1.143 17.143-1.143s11.429 0.571 17.143 1.143c16-22.286 33.143-44.571 52.571-64l3.429-1.143c2.857 0 64 36 70.857 40 1.714 1.143 2.286 2.857 2.286 4 0 10.286-24 67.429-29.143 78.857 6.857 9.143 12.571 19.429 17.143 29.714 11.429 1.143 85.143 9.143 85.143 17.714z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["cogs","gears"],"defaultCode":61573,"grid":14},"attrs":[],"properties":{"name":"cogs, gears","id":111,"order":128,"prevSize":28,"code":61573},"setIdx":0,"setId":1,"iconIdx":122},{"icon":{"paths":["M475.429 18.286v765.143l-256.571 134.857c-7.429 4-14.857 6.857-22.857 6.857-16.571 0-24-13.714-24-28.571 0-4 0.571-7.429 1.143-11.429l49.143-285.714-208-202.286c-6.857-7.429-14.286-17.143-14.286-27.429 0-17.143 17.714-24 32-26.286l286.857-41.714 128.571-260c5.143-10.857 14.857-23.429 28-23.429v0z"],"width":475.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["star-half"],"defaultCode":61577,"grid":14},"attrs":[],"properties":{"name":"star-half","id":112,"order":132,"prevSize":28,"code":61577},"setIdx":0,"setId":1,"iconIdx":123},{"icon":{"paths":["M950.857 340.571c0-160.571-108.571-194.286-200-194.286-85.143 0-181.143 92-210.857 127.429-13.714 16.571-42.286 16.571-56 0-29.714-35.429-125.714-127.429-210.857-127.429-91.429 0-200 33.714-200 194.286 0 104.571 105.714 201.714 106.857 202.857l332 320 331.429-319.429c1.714-1.714 107.429-98.857 107.429-203.429zM1024 340.571c0 137.143-125.714 252-130.857 257.143l-356 342.857c-6.857 6.857-16 10.286-25.143 10.286s-18.286-3.429-25.143-10.286l-356.571-344c-4.571-4-130.286-118.857-130.286-256 0-167.429 102.286-267.429 273.143-267.429 100 0 193.714 78.857 238.857 123.429 45.143-44.571 138.857-123.429 238.857-123.429 170.857 0 273.143 100 273.143 267.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["heart-o"],"defaultCode":61578,"grid":14},"attrs":[],"properties":{"name":"heart-o","id":113,"order":133,"prevSize":28,"code":61578},"setIdx":0,"setId":1,"iconIdx":124},{"icon":{"paths":["M365.714 822.857c0 16 7.429 54.857-18.286 54.857h-182.857c-90.857 0-164.571-73.714-164.571-164.571v-402.286c0-90.857 73.714-164.571 164.571-164.571h182.857c9.714 0 18.286 8.571 18.286 18.286 0 16 7.429 54.857-18.286 54.857h-182.857c-50.286 0-91.429 41.143-91.429 91.429v402.286c0 50.286 41.143 91.429 91.429 91.429h164.571c14.286 0 36.571-2.857 36.571 18.286zM896 512c0 9.714-4 18.857-10.857 25.714l-310.857 310.857c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-164.571h-256c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h256v-164.571c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l310.857 310.857c6.857 6.857 10.857 16 10.857 25.714z"],"width":896,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["sign-out"],"defaultCode":61579,"grid":14},"attrs":[],"properties":{"name":"sign-out","id":114,"order":134,"prevSize":28,"code":61579},"setIdx":0,"setId":1,"iconIdx":125},{"icon":{"paths":["M274.286 493.714v-256c0-10.286-8-18.286-18.286-18.286s-18.286 8-18.286 18.286v256c0 10.286 8 18.286 18.286 18.286s18.286-8 18.286-18.286zM658.286 694.857c0 20-16.571 36.571-36.571 36.571h-245.143l-29.143 276c-1.143 9.143-8.571 16.571-17.714 16.571h-0.571c-9.143 0-16.571-6.286-18.286-15.429l-43.429-277.143h-230.857c-20 0-36.571-16.571-36.571-36.571 0-93.714 70.857-182.857 146.286-182.857v-292.571c-40 0-73.143-33.143-73.143-73.143s33.143-73.143 73.143-73.143h365.714c40 0 73.143 33.143 73.143 73.143s-33.143 73.143-73.143 73.143v292.571c75.429 0 146.286 89.143 146.286 182.857z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["thumb-tack"],"defaultCode":61581,"grid":14},"attrs":[],"properties":{"name":"thumb-tack","id":115,"order":136,"prevSize":28,"code":61581},"setIdx":0,"setId":1,"iconIdx":126},{"icon":{"paths":["M804.571 530.286v182.857c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h402.286c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-182.857c0-10.286 8-18.286 18.286-18.286h36.571c10.286 0 18.286 8 18.286 18.286zM1024 36.571v292.571c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-100.571-100.571-372.571 372.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-65.143-65.143c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l372.571-372.571-100.571-100.571c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h292.571c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["external-link"],"defaultCode":61582,"grid":14},"attrs":[],"properties":{"name":"external-link","id":116,"order":137,"prevSize":28,"code":61582},"setIdx":0,"setId":1,"iconIdx":127},{"icon":{"paths":["M676.571 512c0 9.714-4 18.857-10.857 25.714l-310.857 310.857c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-164.571h-256c-20 0-36.571-16.571-36.571-36.571v-219.429c0-20 16.571-36.571 36.571-36.571h256v-164.571c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l310.857 310.857c6.857 6.857 10.857 16 10.857 25.714zM877.714 310.857v402.286c0 90.857-73.714 164.571-164.571 164.571h-182.857c-9.714 0-18.286-8.571-18.286-18.286 0-16-7.429-54.857 18.286-54.857h182.857c50.286 0 91.429-41.143 91.429-91.429v-402.286c0-50.286-41.143-91.429-91.429-91.429h-164.571c-14.286 0-36.571 2.857-36.571-18.286 0-16-7.429-54.857 18.286-54.857h182.857c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["sign-in"],"defaultCode":61584,"grid":14},"attrs":[],"properties":{"name":"sign-in","id":117,"order":138,"prevSize":28,"code":61584},"setIdx":0,"setId":1,"iconIdx":128},{"icon":{"paths":["M731.429 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM877.714 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM950.857 713.143v182.857c0 30.286-24.571 54.857-54.857 54.857h-841.143c-30.286 0-54.857-24.571-54.857-54.857v-182.857c0-30.286 24.571-54.857 54.857-54.857h244c15.429 42.286 56 73.143 103.429 73.143h146.286c47.429 0 88-30.857 103.429-73.143h244c30.286 0 54.857 24.571 54.857 54.857zM765.143 342.857c-5.714 13.714-18.857 22.857-33.714 22.857h-146.286v256c0 20-16.571 36.571-36.571 36.571h-146.286c-20 0-36.571-16.571-36.571-36.571v-256h-146.286c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l256-256c6.857-7.429 16.571-10.857 25.714-10.857s18.857 3.429 25.714 10.857l256 256c10.857 10.286 13.714 26.286 8 39.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["upload"],"defaultCode":61587,"grid":14},"attrs":[],"properties":{"name":"upload","id":118,"order":141,"prevSize":28,"code":61587},"setIdx":0,"setId":1,"iconIdx":129},{"icon":{"paths":["M640 146.286h-475.429c-50.286 0-91.429 41.143-91.429 91.429v475.429c0 50.286 41.143 91.429 91.429 91.429h475.429c50.286 0 91.429-41.143 91.429-91.429v-475.429c0-50.286-41.143-91.429-91.429-91.429zM804.571 237.714v475.429c0 90.857-73.714 164.571-164.571 164.571h-475.429c-90.857 0-164.571-73.714-164.571-164.571v-475.429c0-90.857 73.714-164.571 164.571-164.571h475.429c90.857 0 164.571 73.714 164.571 164.571z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["square-o"],"defaultCode":61590,"grid":14},"attrs":[],"properties":{"name":"square-o","id":119,"order":144,"prevSize":28,"code":61590},"setIdx":0,"setId":1,"iconIdx":130},{"icon":{"paths":["M658.286 146.286h-585.143v709.714l292.571-280.571 50.857 48.571 241.714 232v-709.714zM665.143 73.143c8.571 0 17.143 1.714 25.143 5.143 25.143 9.714 41.143 33.143 41.143 58.857v736.571c0 25.714-16 49.143-41.143 58.857-8 3.429-16.571 4.571-25.143 4.571-17.714 0-34.286-6.286-47.429-18.286l-252-242.286-252 242.286c-13.143 12-29.714 18.857-47.429 18.857-8.571 0-17.143-1.714-25.143-5.143-25.143-9.714-41.143-33.143-41.143-58.857v-736.571c0-25.714 16-49.143 41.143-58.857 8-3.429 16.571-5.143 25.143-5.143h598.857z"],"width":731.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["bookmark-o"],"defaultCode":61591,"grid":14},"attrs":[],"properties":{"name":"bookmark-o","id":120,"order":145,"prevSize":28,"code":61591},"setIdx":0,"setId":1,"iconIdx":131},{"icon":{"paths":["M594.286 694.857c0 25.143-20.571 45.714-45.714 45.714s-45.714-20.571-45.714-45.714 20.571-45.714 45.714-45.714 45.714 20.571 45.714 45.714zM740.571 694.857c0 25.143-20.571 45.714-45.714 45.714s-45.714-20.571-45.714-45.714 20.571-45.714 45.714-45.714 45.714 20.571 45.714 45.714zM804.571 786.286v-182.857c0-9.714-8.571-18.286-18.286-18.286h-694.857c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h694.857c9.714 0 18.286-8.571 18.286-18.286zM101.714 512h674.286l-89.714-275.429c-2.857-9.714-13.714-17.143-24-17.143h-446.857c-10.286 0-21.143 7.429-24 17.143zM877.714 603.429v182.857c0 50.286-41.143 91.429-91.429 91.429h-694.857c-50.286 0-91.429-41.143-91.429-91.429v-182.857c0-15.429 4.571-28.571 9.143-42.857l112.571-346.286c13.143-40 51.429-68 93.714-68h446.857c42.286 0 80.571 28 93.714 68l112.571 346.286c4.571 14.286 9.143 27.429 9.143 42.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["hdd-o"],"defaultCode":61600,"grid":14},"attrs":[],"properties":{"name":"hdd-o","id":121,"order":153,"prevSize":28,"code":61600},"setIdx":0,"setId":1,"iconIdx":132},{"icon":{"paths":["M521.143 969.143c0-5.143-4-9.143-9.143-9.143-45.143 0-82.286-37.143-82.286-82.286 0-5.143-4-9.143-9.143-9.143s-9.143 4-9.143 9.143c0 55.429 45.143 100.571 100.571 100.571 5.143 0 9.143-4 9.143-9.143zM140.571 804.571h742.857c-102.286-115.429-152-272-152-475.429 0-73.714-69.714-182.857-219.429-182.857s-219.429 109.143-219.429 182.857c0 203.429-49.714 360-152 475.429zM987.429 804.571c0 40-33.143 73.143-73.143 73.143h-256c0 80.571-65.714 146.286-146.286 146.286s-146.286-65.714-146.286-146.286h-256c-40 0-73.143-33.143-73.143-73.143 84.571-71.429 182.857-199.429 182.857-475.429 0-109.714 90.857-229.714 242.286-252-2.857-6.857-4.571-14.286-4.571-22.286 0-30.286 24.571-54.857 54.857-54.857s54.857 24.571 54.857 54.857c0 8-1.714 15.429-4.571 22.286 151.429 22.286 242.286 142.286 242.286 252 0 276 98.286 404 182.857 475.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["bell-o"],"defaultCode":61602,"grid":14},"attrs":[],"properties":{"name":"bell-o","id":122,"order":686,"prevSize":28,"code":61602},"setIdx":0,"setId":1,"iconIdx":133},{"icon":{"paths":["M786.286 512l78.857 77.143c10.857 10.286 14.857 25.714 11.429 40-4 14.286-15.429 25.714-29.714 29.143l-107.429 27.429 30.286 106.286c4 14.286 0 29.714-10.857 40-10.286 10.857-25.714 14.857-40 10.857l-106.286-30.286-27.429 107.429c-3.429 14.286-14.857 25.714-29.143 29.714-3.429 0.571-7.429 1.143-10.857 1.143-10.857 0-21.714-4.571-29.143-12.571l-77.143-78.857-77.143 78.857c-10.286 10.857-25.714 14.857-40 11.429-14.857-4-25.714-15.429-29.143-29.714l-27.429-107.429-106.286 30.286c-14.286 4-29.714 0-40-10.857-10.857-10.286-14.857-25.714-10.857-40l30.286-106.286-107.429-27.429c-14.286-3.429-25.714-14.857-29.714-29.143-3.429-14.286 0.571-29.714 11.429-40l78.857-77.143-78.857-77.143c-10.857-10.286-14.857-25.714-11.429-40 4-14.286 15.429-25.714 29.714-29.143l107.429-27.429-30.286-106.286c-4-14.286 0-29.714 10.857-40 10.286-10.857 25.714-14.857 40-10.857l106.286 30.286 27.429-107.429c3.429-14.286 14.857-25.714 29.143-29.143 14.286-4 29.714 0 40 10.857l77.143 79.429 77.143-79.429c10.286-10.857 25.143-14.857 40-10.857 14.286 3.429 25.714 14.857 29.143 29.143l27.429 107.429 106.286-30.286c14.286-4 29.714 0 40 10.857 10.857 10.286 14.857 25.714 10.857 40l-30.286 106.286 107.429 27.429c14.286 3.429 25.714 14.857 29.714 29.143 3.429 14.286-0.571 29.714-11.429 40z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["certificate"],"defaultCode":61603,"grid":14},"attrs":[],"properties":{"name":"certificate","id":123,"order":687,"prevSize":28,"code":61603},"setIdx":0,"setId":1,"iconIdx":134},{"icon":{"paths":["M731.429 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-286.857l108-108c6.857-6.857 10.857-16 10.857-25.714s-4-18.857-10.857-25.714l-52-52c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-258.857 258.857c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l258.857 258.857c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l52-52c6.857-6.857 10.286-16 10.286-25.714s-3.429-18.857-10.286-25.714l-108-108h286.857c20 0 36.571-16.571 36.571-36.571zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-left"],"defaultCode":61608,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-left","id":124,"order":161,"prevSize":28,"code":61608},"setIdx":0,"setId":1,"iconIdx":135},{"icon":{"paths":["M734.286 512c0-9.714-3.429-18.857-10.286-25.714l-258.857-258.857c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-52 52c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l108 108h-286.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h286.857l-108 108c-6.857 6.857-10.857 16-10.857 25.714s4 18.857 10.857 25.714l52 52c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l258.857-258.857c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-right"],"defaultCode":61609,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-right","id":125,"order":162,"prevSize":28,"code":61609},"setIdx":0,"setId":1,"iconIdx":136},{"icon":{"paths":["M733.714 511.429c0-9.714-3.429-18.857-10.286-25.714l-258.857-258.857c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-258.857 258.857c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l52 52c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l108-108v286.857c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-286.857l108 108c6.857 6.857 16 10.857 25.714 10.857s18.857-4 25.714-10.857l52-52c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-up"],"defaultCode":61610,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-up","id":126,"order":163,"prevSize":28,"code":61610},"setIdx":0,"setId":1,"iconIdx":137},{"icon":{"paths":["M733.714 512.571c0-9.714-3.429-18.857-10.286-25.714l-52-52c-6.857-6.857-16-10.286-25.714-10.286s-18.857 3.429-25.714 10.286l-108 108v-286.857c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v286.857l-108-108c-6.857-6.857-16-10.857-25.714-10.857s-18.857 4-25.714 10.857l-52 52c-6.857 6.857-10.286 16-10.286 25.714s3.429 18.857 10.286 25.714l258.857 258.857c6.857 6.857 16 10.286 25.714 10.286s18.857-3.429 25.714-10.286l258.857-258.857c6.857-6.857 10.286-16 10.286-25.714zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrow-circle-down"],"defaultCode":61611,"grid":14},"attrs":[],"properties":{"name":"arrow-circle-down","id":127,"order":164,"prevSize":28,"code":61611},"setIdx":0,"setId":1,"iconIdx":138},{"icon":{"paths":["M219.429 841.143c0-20-16.571-36.571-36.571-36.571s-36.571 16.571-36.571 36.571 16.571 36.571 36.571 36.571 36.571-16.571 36.571-36.571zM587.429 601.143l-389.714 389.714c-13.143 13.143-32 21.143-51.429 21.143s-38.286-8-52-21.143l-60.571-61.714c-13.714-13.143-21.714-32-21.714-51.429s8-38.286 21.714-52l389.143-389.143c29.714 74.857 89.714 134.857 164.571 164.571zM949.714 352.571c0 18.857-6.857 42.286-13.143 60.571-36 101.714-133.714 172-241.714 172-141.143 0-256-114.857-256-256s114.857-256 256-256c41.714 0 96 12.571 130.857 36 5.714 4 9.143 9.143 9.143 16 0 6.286-4 12.571-9.143 16l-167.429 96.571v128l110.286 61.143c18.857-10.857 151.429-94.286 162.857-94.286s18.286 8.571 18.286 20z"],"width":961.6822857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["wrench"],"defaultCode":61613,"grid":14},"attrs":[],"properties":{"name":"wrench","id":128,"order":166,"prevSize":28,"code":61613},"setIdx":0,"setId":1,"iconIdx":139},{"icon":{"paths":["M585.143 804.571h365.714v-73.143h-365.714v73.143zM365.714 512h585.143v-73.143h-585.143v73.143zM731.429 219.429h219.429v-73.143h-219.429v73.143zM1024 694.857v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 402.286v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571zM1024 109.714v146.286c0 20-16.571 36.571-36.571 36.571h-950.857c-20 0-36.571-16.571-36.571-36.571v-146.286c0-20 16.571-36.571 36.571-36.571h950.857c20 0 36.571 16.571 36.571 36.571z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["tasks"],"defaultCode":61614,"grid":14},"attrs":[],"properties":{"name":"tasks","id":129,"order":167,"prevSize":28,"code":61614},"setIdx":0,"setId":1,"iconIdx":140},{"icon":{"paths":["M801.714 168.571c5.714 13.714 2.857 29.714-8 40l-281.714 281.714v424c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-146.286-146.286c-6.857-6.857-10.857-16-10.857-25.714v-277.714l-281.714-281.714c-10.857-10.286-13.714-26.286-8-40 5.714-13.143 18.857-22.286 33.714-22.286h731.429c14.857 0 28 9.143 33.714 22.286z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["filter"],"defaultCode":61616,"grid":14},"attrs":[],"properties":{"name":"filter","id":130,"order":168,"prevSize":28,"code":61616},"setIdx":0,"setId":1,"iconIdx":141},{"icon":{"paths":["M365.714 146.286h292.571v-73.143h-292.571v73.143zM1024 512v274.286c0 50.286-41.143 91.429-91.429 91.429h-841.143c-50.286 0-91.429-41.143-91.429-91.429v-274.286h384v91.429c0 20 16.571 36.571 36.571 36.571h182.857c20 0 36.571-16.571 36.571-36.571v-91.429h384zM585.143 512v73.143h-146.286v-73.143h146.286zM1024 237.714v219.429h-1024v-219.429c0-50.286 41.143-91.429 91.429-91.429h201.143v-91.429c0-30.286 24.571-54.857 54.857-54.857h329.143c30.286 0 54.857 24.571 54.857 54.857v91.429h201.143c50.286 0 91.429 41.143 91.429 91.429z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["briefcase"],"defaultCode":61617,"grid":14},"attrs":[],"properties":{"name":"briefcase","id":131,"order":169,"prevSize":28,"code":61617},"setIdx":0,"setId":1,"iconIdx":142},{"icon":{"paths":["M733.143 309.143l-202.857 202.857 202.857 202.857 82.286-82.286c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v256c0 20-16.571 36.571-36.571 36.571h-256c-14.857 0-28-9.143-33.714-22.857-5.714-13.143-2.857-29.143 8-39.429l82.286-82.286-202.857-202.857-202.857 202.857 82.286 82.286c10.857 10.286 13.714 26.286 8 39.429-5.714 13.714-18.857 22.857-33.714 22.857h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-14.857 9.143-28 22.857-33.714 13.143-5.714 29.143-2.857 39.429 8l82.286 82.286 202.857-202.857-202.857-202.857-82.286 82.286c-6.857 6.857-16 10.857-25.714 10.857-4.571 0-9.714-1.143-13.714-2.857-13.714-5.714-22.857-18.857-22.857-33.714v-256c0-20 16.571-36.571 36.571-36.571h256c14.857 0 28 9.143 33.714 22.857 5.714 13.143 2.857 29.143-8 39.429l-82.286 82.286 202.857 202.857 202.857-202.857-82.286-82.286c-10.857-10.286-13.714-26.286-8-39.429 5.714-13.714 18.857-22.857 33.714-22.857h256c20 0 36.571 16.571 36.571 36.571v256c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-4-25.714-10.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["arrows-alt"],"defaultCode":61618,"grid":14},"attrs":[],"properties":{"name":"arrows-alt","id":132,"order":170,"prevSize":28,"code":61618},"setIdx":0,"setId":1,"iconIdx":143},{"icon":{"paths":["M1097.143 658.286c0 121.143-98.286 219.429-219.429 219.429h-621.714c-141.143 0-256-114.857-256-256 0-102.286 60.571-190.857 147.429-231.429-0.571-8-1.143-16.571-1.143-24.571 0-161.714 130.857-292.571 292.571-292.571 122.286 0 226.857 74.857 270.857 181.714 25.143-22.286 58.286-35.429 94.857-35.429 80.571 0 146.286 65.714 146.286 146.286 0 29.143-8.571 56-23.429 78.857 97.143 22.857 169.714 109.714 169.714 213.714z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["cloud"],"defaultCode":61634,"grid":14},"attrs":[],"properties":{"name":"cloud","id":133,"order":173,"prevSize":28,"code":61634},"setIdx":0,"setId":1,"iconIdx":144},{"icon":{"paths":["M969.143 219.429c30.286 0 54.857 24.571 54.857 54.857v694.857c0 30.286-24.571 54.857-54.857 54.857h-548.571c-30.286 0-54.857-24.571-54.857-54.857v-164.571h-310.857c-30.286 0-54.857-24.571-54.857-54.857v-384c0-30.286 17.714-72.571 38.857-93.714l233.143-233.143c21.143-21.143 63.429-38.857 93.714-38.857h237.714c30.286 0 54.857 24.571 54.857 54.857v187.429c22.286-13.143 50.857-22.857 73.143-22.857h237.714zM658.286 341.143l-170.857 170.857h170.857v-170.857zM292.571 121.714l-170.857 170.857h170.857v-170.857zM404.571 491.429l180.571-180.571v-237.714h-219.429v237.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v365.714h292.571v-146.286c0-30.286 17.714-72.571 38.857-93.714zM950.857 950.857v-658.286h-219.429v237.714c0 30.286-24.571 54.857-54.857 54.857h-237.714v365.714h512z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["copy","files-o"],"defaultCode":61637,"grid":14},"attrs":[],"properties":{"name":"copy, files-o","id":134,"order":176,"prevSize":28,"code":61637},"setIdx":0,"setId":1,"iconIdx":145},{"icon":{"paths":["M219.429 877.714h438.857v-219.429h-438.857v219.429zM731.429 877.714h73.143v-512c0-10.857-9.714-34.286-17.143-41.714l-160.571-160.571c-8-8-30.286-17.143-41.714-17.143v237.714c0 30.286-24.571 54.857-54.857 54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-73.143v731.429h73.143v-237.714c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857v237.714zM512 347.429v-182.857c0-9.714-8.571-18.286-18.286-18.286h-109.714c-9.714 0-18.286 8.571-18.286 18.286v182.857c0 9.714 8.571 18.286 18.286 18.286h109.714c9.714 0 18.286-8.571 18.286-18.286zM877.714 365.714v530.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-768c0-30.286 24.571-54.857 54.857-54.857h530.286c30.286 0 72 17.143 93.714 38.857l160 160c21.714 21.714 38.857 63.429 38.857 93.714z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["floppy-o","save"],"defaultCode":61639,"grid":14},"attrs":[],"properties":{"name":"floppy-o, save","id":135,"order":178,"prevSize":28,"code":61639},"setIdx":0,"setId":1,"iconIdx":146},{"icon":{"paths":["M877.714 237.714v548.571c0 90.857-73.714 164.571-164.571 164.571h-548.571c-90.857 0-164.571-73.714-164.571-164.571v-548.571c0-90.857 73.714-164.571 164.571-164.571h548.571c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["square"],"defaultCode":61640,"grid":14},"attrs":[],"properties":{"name":"square","id":136,"order":179,"prevSize":28,"code":61640},"setIdx":0,"setId":1,"iconIdx":147},{"icon":{"paths":["M877.714 768v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM877.714 475.429v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571zM877.714 182.857v73.143c0 20-16.571 36.571-36.571 36.571h-804.571c-20 0-36.571-16.571-36.571-36.571v-73.143c0-20 16.571-36.571 36.571-36.571h804.571c20 0 36.571 16.571 36.571 36.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["bars","navicon","reorder"],"defaultCode":61641,"grid":14},"attrs":[],"properties":{"name":"bars, navicon, reorder","id":137,"order":180,"prevSize":28,"code":61641},"setIdx":0,"setId":1,"iconIdx":148},{"icon":{"paths":["M219.429 804.571c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM219.429 512c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286zM219.429 219.429c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM1024 457.143v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286zM1024 164.571v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-9.714 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8.571-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["list-ul"],"defaultCode":61642,"grid":14},"attrs":[],"properties":{"name":"list-ul","id":138,"order":181,"prevSize":28,"code":61642},"setIdx":0,"setId":1,"iconIdx":149},{"icon":{"paths":["M217.714 925.714c0 62.857-49.143 98.286-108.571 98.286-36 0-72.571-12-98.286-37.714l32.571-50.286c15.429 14.286 38.857 25.714 60.571 25.714 20 0 41.143-9.714 41.143-32.571 0-32-36.571-33.714-60-32l-14.857-32c20.571-26.286 39.429-55.429 64-77.714v-0.571c-18.286 0-37.143 1.143-55.429 1.143v30.286h-60.571v-86.857h190.286v50.286l-54.286 65.714c38.286 9.143 63.429 38.857 63.429 78.286zM218.857 567.429v90.857h-206.857c-1.714-10.286-3.429-20.571-3.429-30.857 0-105.714 129.143-121.714 129.143-169.714 0-19.429-12-29.714-30.857-29.714-20 0-36.571 17.143-46.286 33.143l-48.571-33.714c18.857-39.429 57.714-61.714 101.143-61.714 53.143 0 98.857 31.429 98.857 88 0 84.571-124 103.429-125.714 148h72.571v-34.286h60zM1024 749.714v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8 18.286 18.286zM219.429 236v56.571h-191.429v-56.571h61.143c0-46.286 0.571-92.571 0.571-138.857v-6.857h-1.143c-6.286 12.571-17.714 21.143-28.571 30.857l-40.571-43.429 77.714-72.571h60.571v230.857h61.714zM1024 457.143v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8 18.286 18.286zM1024 164.571v109.714c0 9.714-8.571 18.286-18.286 18.286h-694.857c-10.286 0-18.286-8.571-18.286-18.286v-109.714c0-9.714 8-18.286 18.286-18.286h694.857c9.714 0 18.286 8.571 18.286 18.286z"],"width":1032.5577142857144,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["list-ol"],"defaultCode":61643,"grid":14},"attrs":[],"properties":{"name":"list-ol","id":139,"order":182,"prevSize":28,"code":61643},"setIdx":0,"setId":1,"iconIdx":150},{"icon":{"paths":["M292.571 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM292.571 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM292.571 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 786.286v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM585.143 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 566.857v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM877.714 347.429v-109.714c0-10.286-8-18.286-18.286-18.286h-182.857c-10.286 0-18.286 8-18.286 18.286v109.714c0 10.286 8 18.286 18.286 18.286h182.857c10.286 0 18.286-8 18.286-18.286zM950.857 164.571v621.714c0 50.286-41.143 91.429-91.429 91.429h-768c-50.286 0-91.429-41.143-91.429-91.429v-621.714c0-50.286 41.143-91.429 91.429-91.429h768c50.286 0 91.429 41.143 91.429 91.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["table"],"defaultCode":61646,"grid":14},"attrs":[],"properties":{"name":"table","id":140,"order":185,"prevSize":28,"code":61646},"setIdx":0,"setId":1,"iconIdx":151},{"icon":{"paths":["M585.143 402.286c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["caret-down"],"defaultCode":61655,"grid":14},"attrs":[],"properties":{"name":"caret-down","id":141,"order":193,"prevSize":28,"code":61655},"setIdx":0,"setId":1,"iconIdx":152},{"icon":{"paths":["M585.143 694.857c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["caret-up"],"defaultCode":61656,"grid":14},"attrs":[],"properties":{"name":"caret-up","id":142,"order":194,"prevSize":28,"code":61656},"setIdx":0,"setId":1,"iconIdx":153},{"icon":{"paths":["M365.714 256v512c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571z"],"width":402.2857142857143,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["caret-left"],"defaultCode":61657,"grid":14},"attrs":[],"properties":{"name":"caret-left","id":143,"order":195,"prevSize":28,"code":61657},"setIdx":0,"setId":1,"iconIdx":154},{"icon":{"paths":["M329.143 512c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857-20 0-36.571-16.571-36.571-36.571v-512c0-20 16.571-36.571 36.571-36.571 9.714 0 18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":329.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["caret-right"],"defaultCode":61658,"grid":14},"attrs":[],"properties":{"name":"caret-right","id":144,"order":196,"prevSize":28,"code":61658},"setIdx":0,"setId":1,"iconIdx":155},{"icon":{"paths":["M91.429 877.714h347.429v-658.286h-365.714v640c0 9.714 8.571 18.286 18.286 18.286zM877.714 859.429v-640h-365.714v658.286h347.429c9.714 0 18.286-8.571 18.286-18.286zM950.857 164.571v694.857c0 50.286-41.143 91.429-91.429 91.429h-768c-50.286 0-91.429-41.143-91.429-91.429v-694.857c0-50.286 41.143-91.429 91.429-91.429h768c50.286 0 91.429 41.143 91.429 91.429z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["columns"],"defaultCode":61659,"grid":14},"attrs":[],"properties":{"name":"columns","id":145,"order":197,"prevSize":28,"code":61659},"setIdx":0,"setId":1,"iconIdx":156},{"icon":{"paths":["M585.143 621.714c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571zM585.143 402.286c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["sort","unsorted"],"defaultCode":61660,"grid":14},"attrs":[],"properties":{"name":"sort, unsorted","id":146,"order":198,"prevSize":28,"code":61660},"setIdx":0,"setId":1,"iconIdx":157},{"icon":{"paths":["M585.143 621.714c0 9.714-4 18.857-10.857 25.714l-256 256c-6.857 6.857-16 10.857-25.714 10.857s-18.857-4-25.714-10.857l-256-256c-6.857-6.857-10.857-16-10.857-25.714 0-20 16.571-36.571 36.571-36.571h512c20 0 36.571 16.571 36.571 36.571z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["sort-desc","sort-down"],"defaultCode":61661,"grid":14},"attrs":[],"properties":{"name":"sort-desc, sort-down","id":147,"order":199,"prevSize":28,"code":61661},"setIdx":0,"setId":1,"iconIdx":158},{"icon":{"paths":["M585.143 402.286c0 20-16.571 36.571-36.571 36.571h-512c-20 0-36.571-16.571-36.571-36.571 0-9.714 4-18.857 10.857-25.714l256-256c6.857-6.857 16-10.857 25.714-10.857s18.857 4 25.714 10.857l256 256c6.857 6.857 10.857 16 10.857 25.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["sort-asc","sort-up"],"defaultCode":61662,"grid":14},"attrs":[],"properties":{"name":"sort-asc, sort-up","id":148,"order":200,"prevSize":28,"code":61662},"setIdx":0,"setId":1,"iconIdx":159},{"icon":{"paths":["M877.714 512c0 241.714-197.143 438.857-438.857 438.857-130.857 0-254.286-57.714-337.714-158.286-5.714-7.429-5.143-18.286 1.143-24.571l78.286-78.857c4-3.429 9.143-5.143 14.286-5.143 5.143 0.571 10.286 2.857 13.143 6.857 56 72.571 140 113.714 230.857 113.714 161.143 0 292.571-131.429 292.571-292.571s-131.429-292.571-292.571-292.571c-74.857 0-145.714 28.571-198.857 78.286l78.286 78.857c10.857 10.286 13.714 26.286 8 39.429-5.714 13.714-18.857 22.857-33.714 22.857h-256c-20 0-36.571-16.571-36.571-36.571v-256c0-14.857 9.143-28 22.857-33.714 13.143-5.714 29.143-2.857 39.429 8l74.286 73.714c80.571-76 189.714-121.143 302.286-121.143 241.714 0 438.857 197.143 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["rotate-left","undo"],"defaultCode":61666,"grid":14},"attrs":[],"properties":{"name":"rotate-left, undo","id":149,"order":203,"prevSize":28,"code":61666},"setIdx":0,"setId":1,"iconIdx":160},{"icon":{"paths":["M838.857 217.143c21.143 21.143 38.857 63.429 38.857 93.714v658.286c0 30.286-24.571 54.857-54.857 54.857h-768c-30.286 0-54.857-24.571-54.857-54.857v-914.286c0-30.286 24.571-54.857 54.857-54.857h512c30.286 0 72.571 17.714 93.714 38.857zM585.143 77.714v214.857h214.857c-3.429-9.714-8.571-19.429-12.571-23.429l-178.857-178.857c-4-4-13.714-9.143-23.429-12.571zM804.571 950.857v-585.143h-237.714c-30.286 0-54.857-24.571-54.857-54.857v-237.714h-438.857v877.714h731.429zM219.429 457.143c0-10.286 8-18.286 18.286-18.286h402.286c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571zM640 585.143c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h402.286zM640 731.429c10.286 0 18.286 8 18.286 18.286v36.571c0 10.286-8 18.286-18.286 18.286h-402.286c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h402.286z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["file-text-o"],"defaultCode":61686,"grid":14},"attrs":[],"properties":{"name":"file-text-o","id":150,"order":222,"prevSize":28,"code":61686},"setIdx":0,"setId":1,"iconIdx":161},{"icon":{"paths":["M731.429 548.571v-73.143c0-20-16.571-36.571-36.571-36.571h-182.857v-182.857c0-20-16.571-36.571-36.571-36.571h-73.143c-20 0-36.571 16.571-36.571 36.571v182.857h-182.857c-20 0-36.571 16.571-36.571 36.571v73.143c0 20 16.571 36.571 36.571 36.571h182.857v182.857c0 20 16.571 36.571 36.571 36.571h73.143c20 0 36.571-16.571 36.571-36.571v-182.857h182.857c20 0 36.571-16.571 36.571-36.571zM877.714 237.714v548.571c0 90.857-73.714 164.571-164.571 164.571h-548.571c-90.857 0-164.571-73.714-164.571-164.571v-548.571c0-90.857 73.714-164.571 164.571-164.571h548.571c90.857 0 164.571 73.714 164.571 164.571z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["plus-square"],"defaultCode":61694,"grid":14},"attrs":[],"properties":{"name":"plus-square","id":151,"order":230,"prevSize":28,"code":61694},"setIdx":0,"setId":1,"iconIdx":162},{"icon":{"paths":["M358.286 786.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143zM577.714 786.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":603.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-double-left"],"defaultCode":61696,"grid":14},"attrs":[],"properties":{"name":"angle-double-left","id":152,"order":231,"prevSize":28,"code":61696},"setIdx":0,"setId":1,"iconIdx":163},{"icon":{"paths":["M340 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143zM559.429 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":566.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-double-right"],"defaultCode":61697,"grid":14},"attrs":[],"properties":{"name":"angle-double-right","id":153,"order":232,"prevSize":28,"code":61697},"setIdx":0,"setId":1,"iconIdx":164},{"icon":{"paths":["M614.286 749.714c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143zM614.286 530.286c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-double-up"],"defaultCode":61698,"grid":14},"attrs":[],"properties":{"name":"angle-double-up","id":154,"order":233,"prevSize":28,"code":61698},"setIdx":0,"setId":1,"iconIdx":165},{"icon":{"paths":["M614.286 493.714c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143zM614.286 274.286c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-double-down"],"defaultCode":61699,"grid":14},"attrs":[],"properties":{"name":"angle-double-down","id":155,"order":234,"prevSize":28,"code":61699},"setIdx":0,"setId":1,"iconIdx":166},{"icon":{"paths":["M358.286 310.857c0 4.571-2.286 9.714-5.714 13.143l-224.571 224.571 224.571 224.571c3.429 3.429 5.714 8.571 5.714 13.143s-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8 5.714 13.143z"],"width":384,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-left"],"defaultCode":61700,"grid":14},"attrs":[],"properties":{"name":"angle-left","id":156,"order":235,"prevSize":28,"code":61700},"setIdx":0,"setId":1,"iconIdx":167},{"icon":{"paths":["M340 548.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8-5.714-13.143 0-4.571 2.286-9.714 5.714-13.143l224.571-224.571-224.571-224.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":347.4285714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-right"],"defaultCode":61701,"grid":14},"attrs":[],"properties":{"name":"angle-right","id":157,"order":236,"prevSize":28,"code":61701},"setIdx":0,"setId":1,"iconIdx":168},{"icon":{"paths":["M614.286 676.571c0 4.571-2.286 9.714-5.714 13.143l-28.571 28.571c-3.429 3.429-8 5.714-13.143 5.714-4.571 0-9.714-2.286-13.143-5.714l-224.571-224.571-224.571 224.571c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-28.571-28.571c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l266.286-266.286c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l266.286 266.286c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-up"],"defaultCode":61702,"grid":14},"attrs":[],"properties":{"name":"angle-up","id":158,"order":237,"prevSize":28,"code":61702},"setIdx":0,"setId":1,"iconIdx":169},{"icon":{"paths":["M614.286 420.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z"],"width":658.2857142857142,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["angle-down"],"defaultCode":61703,"grid":14},"attrs":[],"properties":{"name":"angle-down","id":159,"order":238,"prevSize":28,"code":61703},"setIdx":0,"setId":1,"iconIdx":170},{"icon":{"paths":["M438.857 201.143c-171.429 0-310.857 139.429-310.857 310.857s139.429 310.857 310.857 310.857 310.857-139.429 310.857-310.857-139.429-310.857-310.857-310.857zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857v0c242.286 0 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["circle-o"],"defaultCode":61708,"grid":14},"attrs":[],"properties":{"name":"circle-o","id":160,"order":243,"prevSize":28,"code":61708},"setIdx":0,"setId":1,"iconIdx":171},{"icon":{"paths":["M300.571 796.571c0 40-32.571 73.143-73.143 73.143-40 0-73.143-33.143-73.143-73.143 0-40.571 33.143-73.143 73.143-73.143 40.571 0 73.143 32.571 73.143 73.143zM585.143 914.286c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM182.857 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM869.714 796.571c0 40-33.143 73.143-73.143 73.143-40.571 0-73.143-33.143-73.143-73.143 0-40.571 32.571-73.143 73.143-73.143 40 0 73.143 32.571 73.143 73.143zM318.857 227.429c0 50.286-41.143 91.429-91.429 91.429s-91.429-41.143-91.429-91.429 41.143-91.429 91.429-91.429 91.429 41.143 91.429 91.429zM987.429 512c0 40.571-32.571 73.143-73.143 73.143s-73.143-32.571-73.143-73.143 32.571-73.143 73.143-73.143 73.143 32.571 73.143 73.143zM621.714 109.714c0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714 49.143-109.714 109.714-109.714 109.714 49.143 109.714 109.714zM924.571 227.429c0 70.857-57.714 128-128 128-70.857 0-128-57.143-128-128 0-70.286 57.143-128 128-128 70.286 0 128 57.714 128 128z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["spinner"],"defaultCode":61712,"grid":14},"attrs":[],"properties":{"name":"spinner","id":161,"order":246,"prevSize":28,"code":61712},"setIdx":0,"setId":1,"iconIdx":172},{"icon":{"paths":["M877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["circle"],"defaultCode":61713,"grid":14},"attrs":[],"properties":{"name":"circle","id":162,"order":247,"prevSize":28,"code":61713},"setIdx":0,"setId":1,"iconIdx":173},{"icon":{"paths":["M1024 640c0 80-40 184.571-72.571 257.714-6.286 13.143-12.571 31.429-21.143 43.429-4 5.714-8 9.714-16 9.714-11.429 0-18.286-9.143-18.286-20 0-9.143 2.286-19.429 2.857-28.571 1.714-23.429 2.857-46.857 2.857-70.286 0-272.571-161.714-320-408-320h-128v146.286c0 20-16.571 36.571-36.571 36.571-9.714 0-18.857-4-25.714-10.857l-292.571-292.571c-6.857-6.857-10.857-16-10.857-25.714s4-18.857 10.857-25.714l292.571-292.571c6.857-6.857 16-10.857 25.714-10.857 20 0 36.571 16.571 36.571 36.571v146.286h128c187.429 0 420.571 33.143 500 230.286 24 60.571 30.286 126.286 30.286 190.286z"],"width":1024,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["mail-reply","reply"],"defaultCode":61714,"grid":14},"attrs":[],"properties":{"name":"mail-reply, reply","id":163,"order":248,"prevSize":28,"code":61714},"setIdx":0,"setId":1,"iconIdx":174},{"icon":{"paths":["M877.714 749.714v-402.286c0-30.286-24.571-54.857-54.857-54.857h-402.286c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v548.571c0 30.286 24.571 54.857 54.857 54.857h694.857c30.286 0 54.857-24.571 54.857-54.857zM950.857 347.429v402.286c0 70.286-57.714 128-128 128h-694.857c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h384c70.286 0 128 57.714 128 128z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["folder-o"],"defaultCode":61716,"grid":14},"attrs":[],"properties":{"name":"folder-o","id":164,"order":250,"prevSize":28,"code":61716},"setIdx":0,"setId":1,"iconIdx":175},{"icon":{"paths":["M1017.714 532c0-16-17.714-20-30.286-20h-621.714c-30.286 0-70.286 18.857-89.714 42.286l-168 207.429c-5.143 6.857-10.286 14.286-10.286 22.857 0 16 17.714 20 30.286 20h621.714c30.286 0 70.286-18.857 89.714-42.857l168-207.429c5.143-6.286 10.286-13.714 10.286-22.286zM365.714 438.857h438.857v-91.429c0-30.286-24.571-54.857-54.857-54.857h-329.143c-30.286 0-54.857-24.571-54.857-54.857v-36.571c0-30.286-24.571-54.857-54.857-54.857h-182.857c-30.286 0-54.857 24.571-54.857 54.857v487.429l146.286-180c33.143-40.571 94.286-69.714 146.286-69.714zM1090.857 532c0 25.143-10.857 49.143-26.286 68.571l-168.571 207.429c-32.571 40-94.857 69.714-146.286 69.714h-621.714c-70.286 0-128-57.714-128-128v-548.571c0-70.286 57.714-128 128-128h182.857c70.286 0 128 57.714 128 128v18.286h310.857c70.286 0 128 57.714 128 128v91.429h109.714c38.857 0 77.714 17.714 94.857 54.286 5.714 12 8.571 25.143 8.571 38.857z"],"width":1090.8525714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["folder-open-o"],"defaultCode":61717,"grid":14},"attrs":[],"properties":{"name":"folder-open-o","id":165,"order":251,"prevSize":28,"code":61717},"setIdx":0,"setId":1,"iconIdx":176},{"icon":{"paths":["M219.429 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM292.571 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-128c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h128c5.143 0 9.143 4 9.143 9.143zM219.429 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM804.571 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-493.714c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h493.714c5.143 0 9.143 4 9.143 9.143zM438.857 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM365.714 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM585.143 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM512 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM731.429 521.143v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM950.857 667.429v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM658.286 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM804.571 374.857v54.857c0 5.143-4 9.143-9.143 9.143h-54.857c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM950.857 374.857v201.143c0 5.143-4 9.143-9.143 9.143h-128c-5.143 0-9.143-4-9.143-9.143v-54.857c0-5.143 4-9.143 9.143-9.143h64v-137.143c0-5.143 4-9.143 9.143-9.143h54.857c5.143 0 9.143 4 9.143 9.143zM1024 804.571v-512h-950.857v512h950.857zM1097.143 292.571v512c0 40.571-32.571 73.143-73.143 73.143h-950.857c-40.571 0-73.143-32.571-73.143-73.143v-512c0-40.571 32.571-73.143 73.143-73.143h950.857c40.571 0 73.143 32.571 73.143 73.143z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["keyboard-o"],"defaultCode":61724,"grid":14},"attrs":[],"properties":{"name":"keyboard-o","id":166,"order":256,"prevSize":28,"code":61724},"setIdx":0,"setId":1,"iconIdx":177},{"icon":{"paths":["M334.286 561.714l-266.286 266.286c-7.429 7.429-18.857 7.429-26.286 0l-28.571-28.571c-7.429-7.429-7.429-18.857 0-26.286l224.571-224.571-224.571-224.571c-7.429-7.429-7.429-18.857 0-26.286l28.571-28.571c7.429-7.429 18.857-7.429 26.286 0l266.286 266.286c7.429 7.429 7.429 18.857 0 26.286zM950.857 822.857v36.571c0 10.286-8 18.286-18.286 18.286h-548.571c-10.286 0-18.286-8-18.286-18.286v-36.571c0-10.286 8-18.286 18.286-18.286h548.571c10.286 0 18.286 8 18.286 18.286z"],"width":956.5622857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["terminal"],"defaultCode":61728,"grid":14},"attrs":[],"properties":{"name":"terminal","id":167,"order":259,"prevSize":28,"code":61728},"setIdx":0,"setId":1,"iconIdx":178},{"icon":{"paths":["M352.571 799.429l-28.571 28.571c-7.429 7.429-18.857 7.429-26.286 0l-266.286-266.286c-7.429-7.429-7.429-18.857 0-26.286l266.286-266.286c7.429-7.429 18.857-7.429 26.286 0l28.571 28.571c7.429 7.429 7.429 18.857 0 26.286l-224.571 224.571 224.571 224.571c7.429 7.429 7.429 18.857 0 26.286zM690.286 189.714l-213.143 737.714c-2.857 9.714-13.143 15.429-22.286 12.571l-35.429-9.714c-9.714-2.857-15.429-13.143-12.571-22.857l213.143-737.714c2.857-9.714 13.143-15.429 22.286-12.571l35.429 9.714c9.714 2.857 15.429 13.143 12.571 22.857zM1065.714 561.714l-266.286 266.286c-7.429 7.429-18.857 7.429-26.286 0l-28.571-28.571c-7.429-7.429-7.429-18.857 0-26.286l224.571-224.571-224.571-224.571c-7.429-7.429-7.429-18.857 0-26.286l28.571-28.571c7.429-7.429 18.857-7.429 26.286 0l266.286 266.286c7.429 7.429 7.429 18.857 0 26.286z"],"width":1097.142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["code"],"defaultCode":61729,"grid":14},"attrs":[],"properties":{"name":"code","id":168,"order":684,"prevSize":28,"code":61729},"setIdx":0,"setId":1,"iconIdx":179},{"icon":{"paths":["M365.714 618.286v40c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-292.571-292.571c-14.286-14.286-14.286-37.143 0-51.429l292.571-292.571c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v39.429l-226.857 227.429c-14.286 14.286-14.286 37.143 0 51.429zM1024 640c0 118.857-89.714 293.714-93.714 301.143-2.857 6.286-9.143 9.714-16 9.714-1.714 0-3.429 0-5.143-0.571-8.571-2.857-13.714-10.857-13.143-19.429 16.571-156-2.857-258.857-60.571-322.857-48.571-54.286-127.429-83.429-250.286-93.143v143.429c0 14.857-9.143 28-22.286 33.714-4.571 1.714-9.714 2.857-14.286 2.857-9.714 0-18.857-3.429-25.714-10.857l-292.571-292.571c-14.286-14.286-14.286-37.143 0-51.429l292.571-292.571c10.286-10.857 26.286-13.714 40-8 13.143 5.714 22.286 18.857 22.286 33.714v149.714c157.714 10.857 270.286 52.571 342.286 126.286 86.286 88.571 96.571 208.571 96.571 290.857z"],"width":1020.5622857142856,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["mail-reply-all","reply-all"],"defaultCode":61730,"grid":14},"attrs":[],"properties":{"name":"mail-reply-all, reply-all","id":169,"order":685,"prevSize":28,"code":61730},"setIdx":0,"setId":1,"iconIdx":180},{"icon":{"paths":["M677.714 546.857l146.857-142.857-241.143-35.429-17.143-34.286-90.857-184v550.286l33.714 17.714 181.714 96-34.286-202.857-6.857-37.714zM936 397.143l-207.429 202.286 49.143 285.714c4 25.143-5.143 40-22.857 40-6.286 0-14.286-2.286-22.857-6.857l-256.571-134.857-256.571 134.857c-8.571 4.571-16.571 6.857-22.857 6.857-17.714 0-26.857-14.857-22.857-40l49.143-285.714-208-202.286c-24.571-24.571-16.571-48.571 17.714-53.714l286.857-41.714 128.571-260c7.429-15.429 17.714-23.429 28-23.429v0c10.286 0 20 8 28 23.429l128.571 260 286.857 41.714c34.286 5.143 42.286 29.143 17.143 53.714z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["star-half-empty","star-half-full","star-half-o"],"defaultCode":61731,"grid":14},"attrs":[],"properties":{"name":"star-half-empty, star-half-full, star-half-o","id":170,"order":262,"prevSize":28,"code":61731},"setIdx":0,"setId":1,"iconIdx":181},{"icon":{"paths":["M318.286 731.429h340v-340zM292.571 705.714l340-340h-340v340zM950.857 749.714v109.714c0 10.286-8 18.286-18.286 18.286h-128v128c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-128h-493.714c-10.286 0-18.286-8-18.286-18.286v-493.714h-128c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h128v-128c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v128h486.286l140.571-141.143c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286l-141.143 140.571v486.286h128c10.286 0 18.286 8 18.286 18.286z"],"width":952.5394285714285,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["crop"],"defaultCode":61733,"grid":14},"attrs":[],"properties":{"name":"crop","id":171,"order":264,"prevSize":28,"code":61733},"setIdx":0,"setId":1,"iconIdx":182},{"icon":{"paths":["M164.571 841.143c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM164.571 182.857c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM530.286 256c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM585.143 256c0 40.571-22.286 76-54.857 94.857-1.714 206.286-148 252-245.143 282.857-90.857 28.571-120.571 42.286-120.571 97.714v14.857c32.571 18.857 54.857 54.286 54.857 94.857 0 60.571-49.143 109.714-109.714 109.714s-109.714-49.143-109.714-109.714c0-40.571 22.286-76 54.857-94.857v-468.571c-32.571-18.857-54.857-54.286-54.857-94.857 0-60.571 49.143-109.714 109.714-109.714s109.714 49.143 109.714 109.714c0 40.571-22.286 76-54.857 94.857v284c29.143-14.286 60-24 88-32.571 106.286-33.714 166.857-58.857 168-178.286-32.571-18.857-54.857-54.286-54.857-94.857 0-60.571 49.143-109.714 109.714-109.714s109.714 49.143 109.714 109.714z"],"width":585.1428571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["code-fork"],"defaultCode":61734,"grid":14},"attrs":[],"properties":{"name":"code-fork","id":172,"order":265,"prevSize":28,"code":61734},"setIdx":0,"setId":1,"iconIdx":183},{"icon":{"paths":["M250.857 726.286l-146.286 146.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143c-6.857-7.429-6.857-18.857 0-26.286l146.286-146.286c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286zM347.429 749.714v182.857c0 10.286-8 18.286-18.286 18.286s-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286s18.286 8 18.286 18.286zM219.429 621.714c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286s8-18.286 18.286-18.286h182.857c10.286 0 18.286 8 18.286 18.286zM941.714 694.857c0 44-17.143 85.143-48.571 116l-84 83.429c-30.857 30.857-72 47.429-116 47.429s-85.714-17.143-116.571-48.571l-190.857-191.429c-9.714-9.714-17.143-20.571-24-32l136.571-10.286 156 156.571c20.571 20.571 57.143 21.143 77.714 0.571l84-83.429c10.286-10.286 16-24 16-38.286 0-14.857-5.714-28.571-16-38.857l-156.571-157.143 10.286-136.571c11.429 6.857 22.286 14.286 32 24l192 192c30.857 31.429 48 72.571 48 116.571zM589.143 281.143l-136.571 10.286-156-156.571c-10.286-10.286-24-16-38.857-16s-28.571 5.714-38.857 15.429l-84 83.429c-10.286 10.286-16 24-16 38.286 0 14.857 5.714 28.571 16 38.857l156.571 156.571-10.286 137.143c-11.429-6.857-22.286-14.286-32-24l-192-192c-30.857-31.429-48-72.571-48-116.571s17.143-85.143 48.571-116l84-83.429c30.857-30.857 72-47.429 116-47.429s85.714 17.143 116.571 48.571l190.857 191.429c9.714 9.714 17.143 20.571 24 32zM950.857 329.143c0 10.286-8 18.286-18.286 18.286h-182.857c-10.286 0-18.286-8-18.286-18.286s8-18.286 18.286-18.286h182.857c10.286 0 18.286 8 18.286 18.286zM640 18.286v182.857c0 10.286-8 18.286-18.286 18.286s-18.286-8-18.286-18.286v-182.857c0-10.286 8-18.286 18.286-18.286s18.286 8 18.286 18.286zM872.571 104.571l-146.286 146.286c-4 3.429-8.571 5.143-13.143 5.143s-9.143-1.714-13.143-5.143c-6.857-7.429-6.857-18.857 0-26.286l146.286-146.286c7.429-6.857 18.857-6.857 26.286 0 6.857 7.429 6.857 18.857 0 26.286z"],"width":950.8571428571428,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chain-broken","unlink"],"defaultCode":61735,"grid":14},"attrs":[],"properties":{"name":"chain-broken, unlink","id":173,"order":266,"prevSize":28,"code":61735},"setIdx":0,"setId":1,"iconIdx":184},{"icon":{"paths":["M511.999 960c-88.606 0-175.222-26.276-248.895-75.5-73.673-49.229-131.095-119.199-165.002-201.057-33.908-81.864-42.78-171.94-25.494-258.844s59.954-166.729 122.608-229.383c62.654-62.654 142.48-105.322 229.383-122.608s176.98-8.414 258.844 25.494c81.859 33.908 151.828 91.329 201.057 165.002 49.224 73.673 75.5 160.29 75.5 248.895 0 118.815-47.201 232.765-131.215 316.785-84.019 84.014-197.97 131.215-316.785 131.215zM511.999 128c-75.948 0-150.19 22.521-213.339 64.716s-112.367 102.167-141.431 172.334c-29.064 70.167-36.668 147.375-21.852 221.866 14.817 74.486 51.389 142.909 105.093 196.613s122.126 90.276 196.615 105.093c74.488 14.817 151.699 7.214 221.863-21.852 70.17-29.066 130.14-78.285 172.334-141.43 42.194-63.15 64.717-137.39 64.717-213.34 0-101.843-40.458-199.515-112.471-271.529s-169.687-112.471-271.529-112.471z","M495.999 352c26.511 0 48-21.49 48-48s-21.489-48-48-48c-26.51 0-48 21.49-48 48s21.49 48 48 48z","M671.999 704c0 8.489-3.369 16.625-9.375 22.625-6.001 6.006-14.136 9.375-22.625 9.375h-256c-8.487 0-16.626-3.369-22.627-9.375-6.001-6.001-9.373-14.136-9.373-22.625s3.372-16.625 9.373-22.625c6.001-6.006 14.14-9.375 22.627-9.375h96v-192h-64c-8.487 0-16.626-3.372-22.627-9.373s-9.373-14.14-9.373-22.627c0-8.487 3.372-16.626 9.373-22.627s14.14-9.373 22.627-9.373h96c8.489 0 16.625 3.372 22.625 9.373 6.006 6.001 9.375 14.14 9.375 22.627v224h96c8.489 0 16.625 3.369 22.625 9.375 6.006 6.001 9.375 14.136 9.375 22.625z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["info"],"defaultCode":61737,"grid":14},"attrs":[],"properties":{"name":"info","id":174,"order":678,"prevSize":28,"code":61737},"setIdx":0,"setId":1,"iconIdx":185},{"icon":{"paths":["M917.119 944.34h-812.798c-5.469-0.020-10.84-1.444-15.602-4.137-4.762-2.688-8.755-6.554-11.598-11.223-2.809-4.864-4.287-10.383-4.287-16s1.479-11.136 4.287-16l406.4-799.999c2.685-5.242 6.765-9.64 11.79-12.712s10.8-4.697 16.688-4.697c5.893 0 11.668 1.625 16.691 4.697 5.028 3.072 9.103 7.471 11.791 12.712l406.4 799.999c2.806 4.864 4.285 10.383 4.285 16s-1.48 11.136-4.285 16c-3.057 5.059-7.46 9.175-12.713 11.884-5.253 2.714-11.151 3.917-17.050 3.476zM156.481 880.34h708.481l-354.243-697.279-354.238 697.279z","M510.709 816.34c26.511 0 48-21.489 48-48s-21.489-48-48-48c-26.51 0-48 21.489-48 48s21.49 48 48 48z","M510.709 656.34c-8.487 0-16.626-3.369-22.627-9.375-6.001-6.001-9.373-14.136-9.373-22.625v-224c0-8.487 3.372-16.626 9.373-22.627s14.14-9.373 22.627-9.373c8.489 0 16.625 3.372 22.625 9.373 6.006 6.001 9.375 14.14 9.375 22.627v224c0 8.489-3.369 16.625-9.375 22.625-6.001 6.006-14.136 9.375-22.625 9.375z"],"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["exclamation"],"defaultCode":61738,"grid":14},"attrs":[],"properties":{"name":"exclamation","id":175,"order":268,"prevSize":28,"code":61738},"setIdx":0,"setId":1,"iconIdx":186},{"icon":{"paths":["M822.857 256c0-30.286-24.571-54.857-54.857-54.857s-54.857 24.571-54.857 54.857 24.571 54.857 54.857 54.857 54.857-24.571 54.857-54.857zM950.857 91.429c0 189.714-52.571 316-188 452-33.143 32.571-70.857 66.286-111.429 100.571l-11.429 216.571c-0.571 5.714-4 11.429-9.143 14.857l-219.429 128c-2.857 1.714-5.714 2.286-9.143 2.286-4.571 0-9.143-1.714-13.143-5.143l-36.571-36.571c-4.571-5.143-6.286-12-4.571-18.286l48.571-157.714-160.571-160.571-157.714 48.571c-1.714 0.571-3.429 0.571-5.143 0.571-4.571 0-9.714-1.714-13.143-5.143l-36.571-36.571c-5.714-6.286-6.857-15.429-2.857-22.286l128-219.429c3.429-5.143 9.143-8.571 14.857-9.143l216.571-11.429c34.286-40.571 68-78.286 100.571-111.429 142.857-142.286 252-188 450.857-188 10.286 0 19.429 8 19.429 18.286z"],"width":967.4605714285714,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["rocket"],"defaultCode":61749,"grid":14},"attrs":[],"properties":{"name":"rocket","id":176,"order":682,"prevSize":28,"code":61749},"setIdx":0,"setId":1,"iconIdx":187},{"icon":{"paths":["M997.143 441.714l-93.714 436h-190.857l101.714-475.429c4.571-20 1.714-38.286-8.571-50.286-9.714-12-26.857-18.857-47.429-18.857h-96.571l-116.571 544.571h-190.857l116.571-544.571h-163.429l-116.571 544.571h-190.857l116.571-544.571-87.429-186.857h729.143c77.143 0 147.429 32 192.571 88 45.714 56 62.286 132 46.286 207.429z"],"width":1013.1748571428571,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["maxcdn"],"defaultCode":61750,"grid":14},"attrs":[],"properties":{"name":"maxcdn","id":177,"order":683,"prevSize":28,"code":61750},"setIdx":0,"setId":1,"iconIdx":188},{"icon":{"paths":["M519.429 797.143l58.286-58.286c14.286-14.286 14.286-37.143 0-51.429l-175.429-175.429 175.429-175.429c14.286-14.286 14.286-37.143 0-51.429l-58.286-58.286c-14.286-14.286-37.143-14.286-51.429 0l-259.429 259.429c-14.286 14.286-14.286 37.143 0 51.429l259.429 259.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-circle-left"],"defaultCode":61751,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-left","id":178,"order":280,"prevSize":28,"code":61751},"setIdx":0,"setId":1,"iconIdx":189},{"icon":{"paths":["M409.714 797.143l259.429-259.429c14.286-14.286 14.286-37.143 0-51.429l-259.429-259.429c-14.286-14.286-37.143-14.286-51.429 0l-58.286 58.286c-14.286 14.286-14.286 37.143 0 51.429l175.429 175.429-175.429 175.429c-14.286 14.286-14.286 37.143 0 51.429l58.286 58.286c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-circle-right"],"defaultCode":61752,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-right","id":179,"order":281,"prevSize":28,"code":61752},"setIdx":0,"setId":1,"iconIdx":190},{"icon":{"paths":["M665.714 650.857l58.286-58.286c14.286-14.286 14.286-37.143 0-51.429l-259.429-259.429c-14.286-14.286-37.143-14.286-51.429 0l-259.429 259.429c-14.286 14.286-14.286 37.143 0 51.429l58.286 58.286c14.286 14.286 37.143 14.286 51.429 0l175.429-175.429 175.429 175.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-circle-up"],"defaultCode":61753,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-up","id":180,"order":282,"prevSize":28,"code":61753},"setIdx":0,"setId":1,"iconIdx":191},{"icon":{"paths":["M464.571 742.286l259.429-259.429c14.286-14.286 14.286-37.143 0-51.429l-58.286-58.286c-14.286-14.286-37.143-14.286-51.429 0l-175.429 175.429-175.429-175.429c-14.286-14.286-37.143-14.286-51.429 0l-58.286 58.286c-14.286 14.286-14.286 37.143 0 51.429l259.429 259.429c14.286 14.286 37.143 14.286 51.429 0zM877.714 512c0 242.286-196.571 438.857-438.857 438.857s-438.857-196.571-438.857-438.857 196.571-438.857 438.857-438.857 438.857 196.571 438.857 438.857z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["chevron-circle-down"],"defaultCode":61754,"grid":14},"attrs":[],"properties":{"name":"chevron-circle-down","id":181,"order":283,"prevSize":28,"code":61754},"setIdx":0,"setId":1,"iconIdx":192},{"icon":{"paths":["M219.429 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857zM512 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857zM804.571 420.571v109.714c0 30.286-24.571 54.857-54.857 54.857h-109.714c-30.286 0-54.857-24.571-54.857-54.857v-109.714c0-30.286 24.571-54.857 54.857-54.857h109.714c30.286 0 54.857 24.571 54.857 54.857z"],"width":804.5714285714286,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["ellipsis-h"],"defaultCode":61761,"grid":14},"attrs":[],"properties":{"name":"ellipsis-h","id":182,"order":289,"prevSize":28,"code":61761},"setIdx":0,"setId":1,"iconIdx":193},{"icon":{"paths":["M437.143 742.286c2.857 6.857 1.714 14.286-2.857 20l-200 219.429c-3.429 3.429-8 5.714-13.143 5.714v0c-5.143 0-10.286-2.286-13.714-5.714l-202.857-219.429c-4.571-5.714-5.714-13.143-2.857-20 2.857-6.286 9.143-10.857 16.571-10.857h128v-713.143c0-10.286 8-18.286 18.286-18.286h109.714c10.286 0 18.286 8 18.286 18.286v713.143h128c7.429 0 13.714 4 16.571 10.857z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["long-arrow-down"],"defaultCode":61813,"grid":14},"attrs":[],"properties":{"name":"long-arrow-down","id":183,"order":338,"prevSize":28,"code":61813},"setIdx":0,"setId":1,"iconIdx":194},{"icon":{"paths":["M437.143 281.714c-2.857 6.286-9.143 10.857-16.571 10.857h-128v713.143c0 10.286-8 18.286-18.286 18.286h-109.714c-10.286 0-18.286-8-18.286-18.286v-713.143h-128c-7.429 0-13.714-4-16.571-10.857s-1.714-14.286 2.857-20l200-219.429c3.429-3.429 8-5.714 13.143-5.714v0c5.143 0 10.286 2.286 13.714 5.714l202.857 219.429c4.571 5.714 5.714 13.143 2.857 20z"],"width":438.85714285714283,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["long-arrow-up"],"defaultCode":61814,"grid":14},"attrs":[],"properties":{"name":"long-arrow-up","id":184,"order":339,"prevSize":28,"code":61814},"setIdx":0,"setId":1,"iconIdx":195},{"icon":{"paths":["M1024 457.143v109.714c0 10.286-8 18.286-18.286 18.286h-713.143v128c0 7.429-4 13.714-10.857 16.571s-14.286 1.714-20-2.857l-219.429-200c-3.429-3.429-5.714-8-5.714-13.143v0c0-5.143 2.286-10.286 5.714-13.714l219.429-202.286c5.714-5.143 13.143-6.286 20-3.429 6.286 2.857 10.857 9.143 10.857 16.571v128h713.143c10.286 0 18.286 8 18.286 18.286z"],"width":1060.5714285714284,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["long-arrow-left"],"defaultCode":61815,"grid":14},"attrs":[],"properties":{"name":"long-arrow-left","id":185,"order":340,"prevSize":28,"code":61815},"setIdx":0,"setId":1,"iconIdx":196},{"icon":{"paths":["M987.429 510.286c0 5.143-2.286 10.286-5.714 13.714l-219.429 202.286c-5.714 5.143-13.143 6.286-20 3.429-6.286-2.857-10.857-9.143-10.857-16.571v-128h-713.143c-10.286 0-18.286-8-18.286-18.286v-109.714c0-10.286 8-18.286 18.286-18.286h713.143v-128c0-7.429 4-13.714 10.857-16.571s14.286-1.714 20 2.857l219.429 200c3.429 3.429 5.714 8 5.714 13.143v0z"],"width":987.4285714285713,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["long-arrow-right"],"defaultCode":61816,"grid":14},"attrs":[],"properties":{"name":"long-arrow-right","id":186,"order":341,"prevSize":28,"code":61816},"setIdx":0,"setId":1,"iconIdx":197},{"icon":{"paths":["M109.714 731.429v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 585.143v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 438.857v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 292.571v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM109.714 146.286v73.143h-64c-5.143 0-9.143-4-9.143-9.143v-9.143h-27.429c-5.143 0-9.143-4-9.143-9.143v-18.286c0-5.143 4-9.143 9.143-9.143h27.429v-9.143c0-5.143 4-9.143 9.143-9.143h64zM731.429 54.857v841.143c0 30.286-24.571 54.857-54.857 54.857h-475.429c-30.286 0-54.857-24.571-54.857-54.857v-841.143c0-30.286 24.571-54.857 54.857-54.857h475.429c30.286 0 54.857 24.571 54.857 54.857zM877.714 758.857v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 612.571v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 466.286v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 320v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143zM877.714 173.714v18.286c0 5.143-4 9.143-9.143 9.143h-27.429v9.143c0 5.143-4 9.143-9.143 9.143h-64v-73.143h64c5.143 0 9.143 4 9.143 9.143v9.143h27.429c5.143 0 9.143 4 9.143 9.143z"],"width":877.7142857142857,"attrs":[],"isMulticolor":false,"isMulticolor2":false,"colorPermutations":{"18919919916779841":[],"12714014111291321":[]},"tags":["microchip"],"defaultCode":62171,"grid":14},"attrs":[],"properties":{"name":"microchip","id":187,"order":693,"prevSize":28,"code":62171},"setIdx":0,"setId":1,"iconIdx":198}],"height":1024,"metadata":{"name":"FontAwesome"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"fa-","metadata":{"fontFamily":"FontAwesome","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"noie8":true,"ie7":false,"showSelector":false,"selector":"i","showMetrics":false,"showMetadata":false,"showVersion":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} diff --git a/arduino-ide-extension/package.json b/arduino-ide-extension/package.json index 3cf6e2c6e..f717a4d9a 100644 --- a/arduino-ide-extension/package.json +++ b/arduino-ide-extension/package.json @@ -53,7 +53,6 @@ "@types/js-yaml": "^3.12.2", "@types/keytar": "^4.4.0", "@types/lodash.debounce": "^4.0.6", - "@types/ncp": "^2.0.4", "@types/node-fetch": "^2.5.7", "@types/p-queue": "^2.3.1", "@types/ps-tree": "^1.1.0", @@ -66,6 +65,7 @@ "auth0-js": "^9.14.0", "btoa": "^1.2.1", "classnames": "^2.3.1", + "cpy": "^8.1.2", "cross-fetch": "^3.1.5", "dateformat": "^3.0.3", "deepmerge": "2.0.1", @@ -76,6 +76,7 @@ "glob": "^7.1.6", "google-protobuf": "^3.20.1", "hash.js": "^1.1.7", + "is-online": "^9.0.1", "js-yaml": "^3.13.1", "jsonc-parser": "^2.2.0", "just-diff": "^5.1.1", @@ -83,7 +84,6 @@ "keytar": "7.2.0", "lodash.debounce": "^4.0.8", "minimatch": "^3.1.2", - "ncp": "^2.0.0", "node-fetch": "^2.6.1", "open": "^8.0.6", "p-debounce": "^2.1.0", @@ -120,6 +120,7 @@ "mocha": "^7.0.0", "mockdate": "^3.0.5", "moment": "^2.24.0", + "ncp": "^2.0.0", "protoc": "^1.0.4", "shelljs": "^0.8.3", "uuid": "^3.2.1", diff --git a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts index 73ed052e9..6c6b44a63 100644 --- a/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts +++ b/arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts @@ -93,6 +93,8 @@ import { EditorCommandContribution as TheiaEditorCommandContribution } from '@th import { FrontendConnectionStatusService, ApplicationConnectionStatusContribution, + DaemonPort, + IsOnline, } from './theia/core/connection-status-service'; import { FrontendConnectionStatusService as TheiaFrontendConnectionStatusService, @@ -353,6 +355,7 @@ import { CreateFeatures } from './create/create-features'; import { Account } from './contributions/account'; import { SidebarBottomMenuWidget } from './theia/core/sidebar-bottom-menu-widget'; import { SidebarBottomMenuWidget as TheiaSidebarBottomMenuWidget } from '@theia/core/lib/browser/shell/sidebar-bottom-menu-widget'; +import { CreateCloudCopy } from './contributions/create-cloud-copy'; export default new ContainerModule((bind, unbind, isBound, rebind) => { // Commands and toolbar items @@ -741,6 +744,8 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { Contribution.configure(bind, ValidateSketch); Contribution.configure(bind, RenameCloudSketch); Contribution.configure(bind, Account); + Contribution.configure(bind, CloudSketchbookContribution); + Contribution.configure(bind, CreateCloudCopy); bindContributionProvider(bind, StartupTaskProvider); bind(StartupTaskProvider).toService(BoardsServiceProvider); // to reuse the boards config in another window @@ -919,8 +924,6 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { bind(CreateFsProvider).toSelf().inSingletonScope(); bind(FrontendApplicationContribution).toService(CreateFsProvider); bind(FileServiceContribution).toService(CreateFsProvider); - bind(CloudSketchbookContribution).toSelf().inSingletonScope(); - bind(CommandContribution).toService(CloudSketchbookContribution); bind(LocalCacheFsProvider).toSelf().inSingletonScope(); bind(FileServiceContribution).toService(LocalCacheFsProvider); bind(CloudSketchbookCompositeWidget).toSelf(); @@ -1026,4 +1029,9 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => { rebind(TheiaSidebarBottomMenuWidget).toService(SidebarBottomMenuWidget); bind(ArduinoComponentContextMenuRenderer).toSelf().inSingletonScope(); + + bind(DaemonPort).toSelf().inSingletonScope(); + bind(FrontendApplicationContribution).toService(DaemonPort); + bind(IsOnline).toSelf().inSingletonScope(); + bind(FrontendApplicationContribution).toService(IsOnline); }); diff --git a/arduino-ide-extension/src/browser/contributions/account.ts b/arduino-ide-extension/src/browser/contributions/account.ts index cb82229ad..a8f728de2 100644 --- a/arduino-ide-extension/src/browser/contributions/account.ts +++ b/arduino-ide-extension/src/browser/contributions/account.ts @@ -8,6 +8,7 @@ import { inject, injectable } from '@theia/core/shared/inversify'; import { CloudUserCommands, LEARN_MORE_URL } from '../auth/cloud-user-commands'; import { CreateFeatures } from '../create/create-features'; import { ArduinoMenus } from '../menu/arduino-menus'; +import { ApplicationConnectionStatusContribution } from '../theia/core/connection-status-service'; import { Command, CommandRegistry, @@ -29,6 +30,8 @@ export class Account extends Contribution { private readonly windowService: WindowService; @inject(CreateFeatures) private readonly createFeatures: CreateFeatures; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; private readonly toDispose = new DisposableCollection(); private app: FrontendApplication; @@ -50,21 +53,28 @@ export class Account extends Contribution { override registerCommands(registry: CommandRegistry): void { const openExternal = (url: string) => this.windowService.openNewWindow(url, { external: true }); + const loggedIn = () => Boolean(this.createFeatures.session); + const loggedInWithInternetConnection = () => + loggedIn() && this.connectionStatus.offlineStatus !== 'internet'; registry.registerCommand(Account.Commands.LEARN_MORE, { execute: () => openExternal(LEARN_MORE_URL), - isEnabled: () => !Boolean(this.createFeatures.session), + isEnabled: () => !loggedIn(), + isVisible: () => !loggedIn(), }); registry.registerCommand(Account.Commands.GO_TO_PROFILE, { execute: () => openExternal('https://id.arduino.cc/'), - isEnabled: () => Boolean(this.createFeatures.session), + isEnabled: () => loggedInWithInternetConnection(), + isVisible: () => loggedIn(), }); registry.registerCommand(Account.Commands.GO_TO_CLOUD_EDITOR, { execute: () => openExternal('https://create.arduino.cc/editor'), - isEnabled: () => Boolean(this.createFeatures.session), + isEnabled: () => loggedInWithInternetConnection(), + isVisible: () => loggedIn(), }); registry.registerCommand(Account.Commands.GO_TO_IOT_CLOUD, { execute: () => openExternal('https://create.arduino.cc/iot/'), - isEnabled: () => Boolean(this.createFeatures.session), + isEnabled: () => loggedInWithInternetConnection(), + isVisible: () => loggedIn(), }); } diff --git a/arduino-ide-extension/src/browser/contributions/cloud-contribution.ts b/arduino-ide-extension/src/browser/contributions/cloud-contribution.ts index c13abd89c..47e14210d 100644 --- a/arduino-ide-extension/src/browser/contributions/cloud-contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/cloud-contribution.ts @@ -93,7 +93,7 @@ export abstract class CloudSketchContribution extends SketchContribution { ); } try { - await treeModel.sketchbookTree().pull({ node }); + await treeModel.sketchbookTree().pull({ node }, true); return node; } catch (err) { if (isNotFound(err)) { diff --git a/arduino-ide-extension/src/browser/contributions/contribution.ts b/arduino-ide-extension/src/browser/contributions/contribution.ts index 3260ab7b9..c53bac1ff 100644 --- a/arduino-ide-extension/src/browser/contributions/contribution.ts +++ b/arduino-ide-extension/src/browser/contributions/contribution.ts @@ -14,7 +14,6 @@ import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; import { MessageService } from '@theia/core/lib/common/message-service'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { open, OpenerService } from '@theia/core/lib/browser/opener-service'; - import { MenuModelRegistry, MenuContribution, @@ -58,7 +57,7 @@ import { ClipboardService } from '@theia/core/lib/browser/clipboard-service'; import { ExecuteWithProgress } from '../../common/protocol/progressible'; import { BoardsServiceProvider } from '../boards/boards-service-provider'; import { BoardsDataStore } from '../boards/boards-data-store'; -import { NotificationManager } from '../theia/messages/notifications-manager'; +import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager'; import { MessageType } from '@theia/core/lib/common/message-service-protocol'; import { WorkspaceService } from '../theia/workspace/workspace-service'; import { MainMenuManager } from '../../common/main-menu-manager'; @@ -295,7 +294,7 @@ export abstract class CoreServiceContribution extends SketchContribution { } private notificationId(message: string, ...actions: string[]): string { - return this.notificationManager.getMessageId({ + return this.notificationManager['getMessageId']({ text: message, actions, type: MessageType.Error, diff --git a/arduino-ide-extension/src/browser/contributions/create-cloud-copy.ts b/arduino-ide-extension/src/browser/contributions/create-cloud-copy.ts new file mode 100644 index 000000000..73b967f0f --- /dev/null +++ b/arduino-ide-extension/src/browser/contributions/create-cloud-copy.ts @@ -0,0 +1,118 @@ +import { FrontendApplication } from '@theia/core/lib/browser/frontend-application'; +import { ApplicationShell } from '@theia/core/lib/browser/shell'; +import type { Command, CommandRegistry } from '@theia/core/lib/common/command'; +import { Progress } from '@theia/core/lib/common/message-service-protocol'; +import { nls } from '@theia/core/lib/common/nls'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import { Create } from '../create/typings'; +import { ApplicationConnectionStatusContribution } from '../theia/core/connection-status-service'; +import { CloudSketchbookTree } from '../widgets/cloud-sketchbook/cloud-sketchbook-tree'; +import { SketchbookTree } from '../widgets/sketchbook/sketchbook-tree'; +import { SketchbookTreeModel } from '../widgets/sketchbook/sketchbook-tree-model'; +import { CloudSketchContribution, pushingSketch } from './cloud-contribution'; +import { + CreateNewCloudSketchCallback, + NewCloudSketch, + NewCloudSketchParams, +} from './new-cloud-sketch'; +import { saveOntoCopiedSketch } from './save-as-sketch'; + +interface CreateCloudCopyParams { + readonly model: SketchbookTreeModel; + readonly node: SketchbookTree.SketchDirNode; +} +function isCreateCloudCopyParams(arg: unknown): arg is CreateCloudCopyParams { + return ( + typeof arg === 'object' && + (arg).model !== undefined && + (arg).model instanceof SketchbookTreeModel && + (arg).node !== undefined && + SketchbookTree.SketchDirNode.is((arg).node) + ); +} + +@injectable() +export class CreateCloudCopy extends CloudSketchContribution { + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; + + private shell: ApplicationShell; + + override onStart(app: FrontendApplication): void { + this.shell = app.shell; + } + + override registerCommands(registry: CommandRegistry): void { + registry.registerCommand(CreateCloudCopy.Commands.CREATE_CLOUD_COPY, { + execute: (args: CreateCloudCopyParams) => this.createCloudCopy(args), + isEnabled: (args: unknown) => + Boolean(this.createFeatures.session) && isCreateCloudCopyParams(args), + isVisible: (args: unknown) => + Boolean(this.createFeatures.enabled) && + Boolean(this.createFeatures.session) && + this.connectionStatus.offlineStatus !== 'internet' && + isCreateCloudCopyParams(args), + }); + } + + /** + * - creates new cloud sketch with the name of the params sketch, + * - pulls the cloud sketch, + * - copies files from params sketch to pulled cloud sketch in the cache folder, + * - pushes the cloud sketch, and + * - opens in new window. + */ + private async createCloudCopy(params: CreateCloudCopyParams): Promise { + const sketch = await this.sketchesService.loadSketch( + params.node.fileStat.resource.toString() + ); + const callback: CreateNewCloudSketchCallback = async ( + newSketch: Create.Sketch, + newNode: CloudSketchbookTree.CloudSketchDirNode, + progress: Progress + ) => { + const treeModel = await this.treeModel(); + if (!treeModel) { + throw new Error('Could not retrieve the cloud sketchbook tree model.'); + } + + progress.report({ + message: nls.localize( + 'arduino/createCloudCopy/copyingSketchFilesMessage', + 'Copying local sketch files...' + ), + }); + const localCacheFolderUri = newNode.uri.toString(); + await this.sketchesService.copy(sketch, { + destinationUri: localCacheFolderUri, + onlySketchFiles: true, + }); + await saveOntoCopiedSketch( + sketch, + localCacheFolderUri, + this.shell, + this.editorManager + ); + + progress.report({ message: pushingSketch(newSketch.name) }); + await treeModel.sketchbookTree().push(newNode, true, true); + }; + return this.commandService.executeCommand( + NewCloudSketch.Commands.NEW_CLOUD_SKETCH.id, + { + initialValue: params.node.fileStat.name, + callback, + skipShowErrorMessageOnOpen: false, + } + ); + } +} + +export namespace CreateCloudCopy { + export namespace Commands { + export const CREATE_CLOUD_COPY: Command = { + id: 'arduino-create-cloud-copy', + iconClass: 'fa fa-arduino-cloud-upload', + }; + } +} diff --git a/arduino-ide-extension/src/browser/contributions/new-cloud-sketch.ts b/arduino-ide-extension/src/browser/contributions/new-cloud-sketch.ts index 4d449b121..d165c4779 100644 --- a/arduino-ide-extension/src/browser/contributions/new-cloud-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/new-cloud-sketch.ts @@ -6,7 +6,7 @@ import { Progress } from '@theia/core/lib/common/message-service-protocol'; import { nls } from '@theia/core/lib/common/nls'; import { injectable } from '@theia/core/shared/inversify'; import { CreateUri } from '../create/create-uri'; -import { isConflict } from '../create/typings'; +import { Create, isConflict } from '../create/typings'; import { ArduinoMenus } from '../menu/arduino-menus'; import { TaskFactoryImpl, @@ -15,13 +15,36 @@ import { import { CloudSketchbookTree } from '../widgets/cloud-sketchbook/cloud-sketchbook-tree'; import { CloudSketchbookTreeModel } from '../widgets/cloud-sketchbook/cloud-sketchbook-tree-model'; import { SketchbookCommands } from '../widgets/sketchbook/sketchbook-commands'; -import { Command, CommandRegistry, Sketch } from './contribution'; import { CloudSketchContribution, pullingSketch, sketchAlreadyExists, synchronizingSketchbook, } from './cloud-contribution'; +import { Command, CommandRegistry, Sketch } from './contribution'; + +export interface CreateNewCloudSketchCallback { + ( + newSketch: Create.Sketch, + newNode: CloudSketchbookTree.CloudSketchDirNode, + progress: Progress + ): Promise; +} + +export interface NewCloudSketchParams { + /** + * Value to populate the dialog `` when it opens. + */ + readonly initialValue?: string | undefined; + /** + * Additional callback to call when the new cloud sketch has been created. + */ + readonly callback?: CreateNewCloudSketchCallback; + /** + * If `true`, the validation error message will not be visible in the input dialog, but the `OK` button will be disabled. Defaults to `true`. + */ + readonly skipShowErrorMessageOnOpen?: boolean; +} @injectable() export class NewCloudSketch extends CloudSketchContribution { @@ -43,7 +66,12 @@ export class NewCloudSketch extends CloudSketchContribution { override registerCommands(registry: CommandRegistry): void { registry.registerCommand(NewCloudSketch.Commands.NEW_CLOUD_SKETCH, { - execute: () => this.createNewSketch(true), + execute: (params: NewCloudSketchParams) => + this.createNewSketch( + params?.skipShowErrorMessageOnOpen === false ? false : true, + params?.initialValue, + params?.callback + ), isEnabled: () => Boolean(this.createFeatures.session), isVisible: () => this.createFeatures.enabled, }); @@ -66,7 +94,8 @@ export class NewCloudSketch extends CloudSketchContribution { private async createNewSketch( skipShowErrorMessageOnOpen: boolean, - initialValue?: string | undefined + initialValue?: string | undefined, + callback?: CreateNewCloudSketchCallback ): Promise { const treeModel = await this.treeModel(); if (treeModel) { @@ -75,7 +104,8 @@ export class NewCloudSketch extends CloudSketchContribution { rootNode, treeModel, skipShowErrorMessageOnOpen, - initialValue + initialValue, + callback ); } } @@ -84,13 +114,14 @@ export class NewCloudSketch extends CloudSketchContribution { rootNode: CompositeTreeNode, treeModel: CloudSketchbookTreeModel, skipShowErrorMessageOnOpen: boolean, - initialValue?: string | undefined + initialValue?: string | undefined, + callback?: CreateNewCloudSketchCallback ): Promise { const existingNames = rootNode.children .filter(CloudSketchbookTree.CloudSketchDirNode.is) .map(({ fileStat }) => fileStat.name); const taskFactory = new TaskFactoryImpl((value) => - this.createNewSketchWithProgress(treeModel, value) + this.createNewSketchWithProgress(treeModel, value, callback) ); try { const dialog = new WorkspaceInputDialogWithProgress( @@ -118,7 +149,11 @@ export class NewCloudSketch extends CloudSketchContribution { } catch (err) { if (isConflict(err)) { await treeModel.refresh(); - return this.createNewSketch(false, taskFactory.value ?? initialValue); + return this.createNewSketch( + false, + taskFactory.value ?? initialValue, + callback + ); } throw err; } @@ -126,7 +161,8 @@ export class NewCloudSketch extends CloudSketchContribution { private createNewSketchWithProgress( treeModel: CloudSketchbookTreeModel, - value: string + value: string, + callback?: CreateNewCloudSketchCallback ): ( progress: Progress ) => Promise { @@ -143,6 +179,9 @@ export class NewCloudSketch extends CloudSketchContribution { await treeModel.refresh(); progress.report({ message: pullingSketch(sketch.name) }); const node = await this.pull(sketch); + if (callback && node) { + await callback(sketch, node, progress); + } return node; }; } @@ -152,7 +191,7 @@ export class NewCloudSketch extends CloudSketchContribution { ): Promise { return this.commandService.executeCommand( SketchbookCommands.OPEN_NEW_WINDOW.id, - { node } + { node, treeWidgetId: 'cloud-sketchbook-composite-widget' } ); } } diff --git a/arduino-ide-extension/src/browser/contributions/rename-cloud-sketch.ts b/arduino-ide-extension/src/browser/contributions/rename-cloud-sketch.ts index faed8d070..5cee63f0e 100644 --- a/arduino-ide-extension/src/browser/contributions/rename-cloud-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/rename-cloud-sketch.ts @@ -123,7 +123,7 @@ export class RenameCloudSketch extends CloudSketchContribution { const toPosixPath = params.cloudUri.parent.resolve(value).path.toString(); // push progress.report({ message: pushingSketch(params.sketch.name) }); - await treeModel.sketchbookTree().push(node); + await treeModel.sketchbookTree().push(node, true); // rename progress.report({ diff --git a/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts b/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts index 82fcec530..e57f16191 100644 --- a/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts +++ b/arduino-ide-extension/src/browser/contributions/save-as-sketch.ts @@ -6,6 +6,7 @@ import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shel import { WindowService } from '@theia/core/lib/browser/window/window-service'; import { nls } from '@theia/core/lib/common/nls'; import { inject, injectable } from '@theia/core/shared/inversify'; +import { EditorManager } from '@theia/editor/lib/browser/editor-manager'; import { WorkspaceInput } from '@theia/workspace/lib/browser/workspace-service'; import { StartupTask } from '../../electron-common/startup-task'; import { ArduinoMenus } from '../menu/arduino-menus'; @@ -28,7 +29,7 @@ import { @injectable() export class SaveAsSketch extends CloudSketchContribution { @inject(ApplicationShell) - private readonly applicationShell: ApplicationShell; + private readonly shell: ApplicationShell; @inject(WindowService) private readonly windowService: WindowService; @@ -80,14 +81,17 @@ export class SaveAsSketch extends CloudSketchContribution { return false; } - const newWorkspaceUri = await this.sketchesService.copy(sketch, { + const copiedSketch = await this.sketchesService.copy(sketch, { destinationUri, }); - if (!newWorkspaceUri) { - return false; - } + const newWorkspaceUri = copiedSketch.uri; - await this.saveOntoCopiedSketch(sketch, newWorkspaceUri); + await saveOntoCopiedSketch( + sketch, + newWorkspaceUri, + this.shell, + this.editorManager + ); if (markAsRecentlyOpened) { this.sketchesService.markAsRecentlyOpened(newWorkspaceUri); } @@ -238,53 +242,6 @@ ${dialogContent.question}`.trim(); } return sketchFolderDestinationUri; } - - private async saveOntoCopiedSketch( - sketch: Sketch, - newSketchFolderUri: string - ): Promise { - const widgets = this.applicationShell.widgets; - const snapshots = new Map(); - for (const widget of widgets) { - const saveable = Saveable.getDirty(widget); - const uri = NavigatableWidget.getUri(widget); - if (!uri) { - continue; - } - const uriString = uri.toString(); - let relativePath: string; - if ( - uriString.includes(sketch.uri) && - saveable && - saveable.createSnapshot - ) { - // The main file will change its name during the copy process - // We need to store the new name in the map - if (sketch.mainFileUri === uriString) { - const lastPart = new URI(newSketchFolderUri).path.base + uri.path.ext; - relativePath = '/' + lastPart; - } else { - relativePath = uri.toString().substring(sketch.uri.length); - } - snapshots.set(relativePath, saveable.createSnapshot()); - } - } - await Promise.all( - Array.from(snapshots.entries()).map(async ([path, snapshot]) => { - const widgetUri = new URI(newSketchFolderUri + path); - try { - const widget = await this.editorManager.getOrCreateByUri(widgetUri); - const saveable = Saveable.get(widget); - if (saveable && saveable.applySnapshot) { - saveable.applySnapshot(snapshot); - await saveable.save(); - } - } catch (e) { - console.error(e); - } - }) - ); - } } interface InvalidSketchFolderDialogContent { @@ -317,3 +274,48 @@ export namespace SaveAsSketch { }; } } + +export async function saveOntoCopiedSketch( + sketch: Sketch, + newSketchFolderUri: string, + shell: ApplicationShell, + editorManager: EditorManager +): Promise { + const widgets = shell.widgets; + const snapshots = new Map(); + for (const widget of widgets) { + const saveable = Saveable.getDirty(widget); + const uri = NavigatableWidget.getUri(widget); + if (!uri) { + continue; + } + const uriString = uri.toString(); + let relativePath: string; + if (uriString.includes(sketch.uri) && saveable && saveable.createSnapshot) { + // The main file will change its name during the copy process + // We need to store the new name in the map + if (sketch.mainFileUri === uriString) { + const lastPart = new URI(newSketchFolderUri).path.base + uri.path.ext; + relativePath = '/' + lastPart; + } else { + relativePath = uri.toString().substring(sketch.uri.length); + } + snapshots.set(relativePath, saveable.createSnapshot()); + } + } + await Promise.all( + Array.from(snapshots.entries()).map(async ([path, snapshot]) => { + const widgetUri = new URI(newSketchFolderUri + path); + try { + const widget = await editorManager.getOrCreateByUri(widgetUri); + const saveable = Saveable.get(widget); + if (saveable && saveable.applySnapshot) { + saveable.applySnapshot(snapshot); + await saveable.save(); + } + } catch (e) { + console.error(e); + } + }) + ); +} diff --git a/arduino-ide-extension/src/browser/create/create-api.ts b/arduino-ide-extension/src/browser/create/create-api.ts index 4c988f5df..72c27cbb0 100644 --- a/arduino-ide-extension/src/browser/create/create-api.ts +++ b/arduino-ide-extension/src/browser/create/create-api.ts @@ -2,7 +2,7 @@ import { MaybePromise } from '@theia/core/lib/common/types'; import { inject, injectable } from '@theia/core/shared/inversify'; import { fetch } from 'cross-fetch'; import { SketchesService } from '../../common/protocol'; -import { unit8ArrayToString } from '../../common/utils'; +import { uint8ArrayToString } from '../../common/utils'; import { ArduinoPreferences } from '../arduino-preferences'; import { AuthenticationClientService } from '../auth/authentication-client-service'; import { SketchCache } from '../widgets/cloud-sketchbook/cloud-sketch-cache'; @@ -10,11 +10,11 @@ import * as createPaths from './create-paths'; import { posix } from './create-paths'; import { Create, CreateError } from './typings'; -export interface ResponseResultProvider { +interface ResponseResultProvider { // eslint-disable-next-line @typescript-eslint/no-explicit-any (response: Response): Promise; } -export namespace ResponseResultProvider { +namespace ResponseResultProvider { export const NOOP: ResponseResultProvider = async () => undefined; export const TEXT: ResponseResultProvider = (response) => response.text(); export const JSON: ResponseResultProvider = (response) => response.json(); @@ -288,10 +288,9 @@ export class CreateApi { if (sketch) { const url = new URL(`${this.domain()}/sketches/${sketch.id}`); const headers = await this.headers(); - // parse the secret file const secrets = ( - typeof content === 'string' ? content : unit8ArrayToString(content) + typeof content === 'string' ? content : uint8ArrayToString(content) ) .split(/\r?\n/) .reduce((prev, curr) => { @@ -355,7 +354,7 @@ export class CreateApi { const headers = await this.headers(); let data: string = - typeof content === 'string' ? content : unit8ArrayToString(content); + typeof content === 'string' ? content : uint8ArrayToString(content); data = await this.toggleSecretsInclude(posixPath, data, 'remove'); const payload = { data: btoa(data) }; diff --git a/arduino-ide-extension/src/browser/create/create-features.ts b/arduino-ide-extension/src/browser/create/create-features.ts index bb61de5b5..befce589d 100644 --- a/arduino-ide-extension/src/browser/create/create-features.ts +++ b/arduino-ide-extension/src/browser/create/create-features.ts @@ -8,6 +8,9 @@ import { AuthenticationSession } from '../../node/auth/types'; import { ArduinoPreferences } from '../arduino-preferences'; import { AuthenticationClientService } from '../auth/authentication-client-service'; import { LocalCacheFsProvider } from '../local-cache/local-cache-fs-provider'; +import { CreateUri } from './create-uri'; + +export type CloudSketchState = 'push' | 'pull'; @injectable() export class CreateFeatures implements FrontendApplicationContribution { @@ -18,13 +21,22 @@ export class CreateFeatures implements FrontendApplicationContribution { @inject(LocalCacheFsProvider) private readonly localCacheFsProvider: LocalCacheFsProvider; + /** + * The keys are the Create URI of the sketches. + */ + private readonly _cloudSketchStates = new Map(); private readonly onDidChangeSessionEmitter = new Emitter< AuthenticationSession | undefined >(); private readonly onDidChangeEnabledEmitter = new Emitter(); + private readonly onDidChangeCloudSketchStateEmitter = new Emitter<{ + uri: URI; + state: CloudSketchState | undefined; + }>(); private readonly toDispose = new DisposableCollection( this.onDidChangeSessionEmitter, - this.onDidChangeEnabledEmitter + this.onDidChangeEnabledEmitter, + this.onDidChangeCloudSketchStateEmitter ); private _enabled: boolean; private _session: AuthenticationSession | undefined; @@ -64,14 +76,46 @@ export class CreateFeatures implements FrontendApplicationContribution { return this.onDidChangeEnabledEmitter.event; } - get enabled(): boolean { - return this._enabled; + get onDidChangeCloudSketchState(): Event<{ + uri: URI; + state: CloudSketchState | undefined; + }> { + return this.onDidChangeCloudSketchStateEmitter.event; } get session(): AuthenticationSession | undefined { return this._session; } + get enabled(): boolean { + return this._enabled; + } + + cloudSketchState(uri: URI): CloudSketchState | undefined { + return this._cloudSketchStates.get(uri.toString()); + } + + setCloudSketchState(uri: URI, state: CloudSketchState | undefined): void { + if (uri.scheme !== CreateUri.scheme) { + throw new Error( + `Expected a URI with '${uri.scheme}' scheme. Got: ${uri.toString()}` + ); + } + const key = uri.toString(); + if (!state) { + if (!this._cloudSketchStates.delete(key)) { + console.warn( + `Could not reset the cloud sketch state of ${key}. No state existed for the the cloud sketch.` + ); + } else { + this.onDidChangeCloudSketchStateEmitter.fire({ uri, state: undefined }); + } + } else { + this._cloudSketchStates.set(key, state); + this.onDidChangeCloudSketchStateEmitter.fire({ uri, state }); + } + } + /** * `true` if the sketch is under `directories.data/RemoteSketchbook`. Otherwise, `false`. * Returns with `undefined` if `dataDirUri` is `undefined`. @@ -83,7 +127,10 @@ export class CreateFeatures implements FrontendApplicationContribution { ); return undefined; } - return dataDirUri.isEqualOrParent(new URI(sketch.uri)); + return dataDirUri + .resolve('RemoteSketchbook') + .resolve('ArduinoCloud') + .isEqualOrParent(new URI(sketch.uri)); } cloudUri(sketch: Sketch): URI | undefined { diff --git a/arduino-ide-extension/src/browser/style/pull-sketch-icon.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud-download.svg similarity index 100% rename from arduino-ide-extension/src/browser/style/pull-sketch-icon.svg rename to arduino-ide-extension/src/browser/icons/arduino-cloud-download.svg diff --git a/arduino-ide-extension/src/browser/icons/arduino-cloud-filled-offline.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud-filled-offline.svg new file mode 100644 index 000000000..b86bb5209 --- /dev/null +++ b/arduino-ide-extension/src/browser/icons/arduino-cloud-filled-offline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/arduino-ide-extension/src/browser/icons/arduino-cloud-filled.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud-filled.svg new file mode 100644 index 000000000..e51c12063 --- /dev/null +++ b/arduino-ide-extension/src/browser/icons/arduino-cloud-filled.svg @@ -0,0 +1,3 @@ + + + diff --git a/arduino-ide-extension/src/browser/icons/arduino-cloud-offline.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud-offline.svg new file mode 100644 index 000000000..26a284adc --- /dev/null +++ b/arduino-ide-extension/src/browser/icons/arduino-cloud-offline.svg @@ -0,0 +1,4 @@ + + + + diff --git a/arduino-ide-extension/src/browser/style/push-sketch-icon.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud-upload.svg similarity index 100% rename from arduino-ide-extension/src/browser/style/push-sketch-icon.svg rename to arduino-ide-extension/src/browser/icons/arduino-cloud-upload.svg diff --git a/arduino-ide-extension/src/browser/icons/arduino-cloud.svg b/arduino-ide-extension/src/browser/icons/arduino-cloud.svg new file mode 100644 index 000000000..4d23d15ae --- /dev/null +++ b/arduino-ide-extension/src/browser/icons/arduino-cloud.svg @@ -0,0 +1,3 @@ + + + diff --git a/arduino-ide-extension/src/browser/style/account-icon.svg b/arduino-ide-extension/src/browser/style/account-icon.svg deleted file mode 100644 index 2759d882f..000000000 --- a/arduino-ide-extension/src/browser/style/account-icon.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/arduino-ide-extension/src/browser/style/cloud-sketchbook.css b/arduino-ide-extension/src/browser/style/cloud-sketchbook.css index f19159260..8982aaf34 100644 --- a/arduino-ide-extension/src/browser/style/cloud-sketchbook.css +++ b/arduino-ide-extension/src/browser/style/cloud-sketchbook.css @@ -15,10 +15,10 @@ .p-TabBar-tabIcon.cloud-sketchbook-tree-icon { background-color: var(--theia-foreground); - -webkit-mask: url(./cloud-sketchbook-tree-icon.svg); + -webkit-mask: url(../icons/arduino-cloud.svg); -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; - width: var(--theia-icon-size); + width: 19px !important; height: var(--theia-icon-size); -webkit-mask-size: 100%; } @@ -26,7 +26,7 @@ .p-mod-current .cloud-sketchbook-tree-icon { background-color: var(--theia-foreground); - -webkit-mask: url(./cloud-sketchbook-tree-icon-filled.svg); + -webkit-mask: url(../icons/arduino-cloud-filled.svg); -webkit-mask-position: center; -webkit-mask-repeat: no-repeat; -webkit-mask-size: 100%; @@ -99,26 +99,7 @@ color: var(--theia-textLink-foreground); } -.pull-sketch-icon { - background-color: var(--theia-foreground); - -webkit-mask: url(./pull-sketch-icon.svg); - -webkit-mask-position: center; - -webkit-mask-repeat: no-repeat; - width: var(--theia-icon-size); - height: var(--theia-icon-size); -} - -.push-sketch-icon { - background-color: var(--theia-foreground); - -webkit-mask: url(./push-sketch-icon.svg); - -webkit-mask-position: center; - -webkit-mask-repeat: no-repeat; - width: var(--theia-icon-size); - height: var(--theia-icon-size); -} - .account-icon { - background: url("./account-icon.svg") center center no-repeat; width: var(--theia-private-sidebar-icon-size); height: var(--theia-private-sidebar-icon-size); border-radius: 50%; @@ -199,3 +180,12 @@ .arduino-share-sketch-dialog .sketch-link-embed textarea { width: 100%; } + +.actions.item.flex-line .fa, +.theia-file-icons-js.file-icon .fa { + font-size: var(--theia-icon-size); +} + +.theia-file-icons-js.file-icon.not-in-sync-offline .fa { + color: var(--theia-activityBar-inactiveForeground); +} diff --git a/arduino-ide-extension/src/browser/style/fonts.css b/arduino-ide-extension/src/browser/style/fonts.css index 65ab9f337..93a855910 100644 --- a/arduino-ide-extension/src/browser/style/fonts.css +++ b/arduino-ide-extension/src/browser/style/fonts.css @@ -11,9 +11,9 @@ @font-face { font-family: 'FontAwesome'; src: - url('fonts/FontAwesome.ttf?2jhpmq') format('truetype'), - url('fonts/FontAwesome.woff?2jhpmq') format('woff'), - url('fonts/FontAwesome.svg?2jhpmq#FontAwesome') format('svg'); + url('fonts/FontAwesome.ttf?h959em') format('truetype'), + url('fonts/FontAwesome.woff?h959em') format('woff'), + url('fonts/FontAwesome.svg?h959em#FontAwesome') format('svg'); font-weight: normal; font-style: normal; font-display: block; @@ -679,3 +679,21 @@ .fa-microchip:before { content: "\f2db"; } +.fa-arduino-cloud-download:before { + content: "\e910"; +} +.fa-arduino-cloud-upload:before { + content: "\e914"; +} +.fa-arduino-cloud:before { + content: "\e915"; +} +.fa-arduino-cloud-filled:before { + content: "\e912"; +} +.fa-arduino-cloud-offline:before { + content: "\e913"; +} +.fa-arduino-cloud-filled-offline:before { + content: "\e911"; +} diff --git a/arduino-ide-extension/src/browser/style/fonts/FontAwesome.svg b/arduino-ide-extension/src/browser/style/fonts/FontAwesome.svg index c1594c55c..867d29761 100644 --- a/arduino-ide-extension/src/browser/style/fonts/FontAwesome.svg +++ b/arduino-ide-extension/src/browser/style/fonts/FontAwesome.svg @@ -23,6 +23,12 @@ + + + + + + diff --git a/arduino-ide-extension/src/browser/style/fonts/FontAwesome.ttf b/arduino-ide-extension/src/browser/style/fonts/FontAwesome.ttf index 5f0d75b8db6452688aeeb5e11ca85d590ffce5bc..6810cc6265e69d7b238b6e0bf3f523c8d57c4886 100644 GIT binary patch delta 3093 zcmcJRd2Ce29mi+h{nop0-u>R*mv`6pF6(1`g7J-Qj(`oQN!zHg3E_$%Zr~4+(yUd{ zmZmLAF+~vyM^OqWqO=teRESFM@mFIt3E~fwqKcv@rBRi%G^A95ZGZ1Q+c6@_e_g$6 zW_~mCoB95JpV@QoQnznWWrPtzRcH#)sA1iP`X-{1??KHKxW}H}IX-!??Ymz_2uI+) zv2}d+B-G0YQTO02Y@K*v%Z2}(-Ho6#LT5&{Ju|*JGqj=>p*KdLqIDZoh!;5+?~Mac zuHLqD&)(mC({~%n=b%qv;<=}L$4Bxnv?BDg>oCEqJID7IByd4*XF6w83FonEoXffc!kC^nUD$GsydLoM21rxq4zUu? zOY9+7_;y=ZZUcM>0hZ-BcFR zHWjsCt0}_zIj)Kg_Esmmf}uEr8JZSZBklJKG-D}B-kMr8Ou8o=t`>NKkjA)JOsCct z@*^odZ<={cPf3!_R(BeP!mz1uWJRWY?2zNgA&O(bQShAQC`>WbMtqhJu;3cU2KdSo z8yzEW0SCa_xs|AjQV0f%nr2a$Wtl48$`e`fi8PHl#tz%2xh%>07>1?zsIDzBtsEg_ zejJuHO=D>}l^lr28%TatBpi!`L=jhszObUy7-C&4K9s5Mv+WRsE27XQWYH(7f1{=7 zF@!|y#)+qSw-+soRRWD3&Z*{!+Nin8rjr<2Vr9q7Xrv#1Fy?HspJiYn6Okre z4>F7|Ak_xBkgC;(!tIeri>YRHEvs(-%yMNoX!oWozs5U2?nslWYShewF=q_6iigpj zWkR}MibUG&V9p;Y8Aej{aV%&i@K_XgFl-qt{TyG#R?eh*gLW8iry*jJmen40R*lhS zbO~1dCMrT<&hbY=^0UP*ib{h%={c8(by!w{=lDP%A6~o~rCN=a+bui6yPo5%t_QlN zmSWLm;c#7GvBSKescKVX-Zk2l;{?c&MdRrE;2dNa@9e0%;|m#)CF+x z8j`Vy%ekzRXA74j8eC8|bSDi<&>MFF2(r0G2MkU+FG|Lig_HzSa~>9$4uc#mm}O{@ zF*A}RVXVq>jZt~fgZmSmK|97UvZ}VkJIkJy+tsY5XH~NWqzZ@XH8sQqYo!3hZcx{o zA``BnZhTNDo$m)X(t3u-8qEkkUtD7Zie{LwX|_e<9VX*r*(yeg$^zjlKc!Sqw1wem z`027zYnVBS$UT-}bR-hp(NvxT zrvf{^z|d~kae!_dGQ`24wa@^8_Ap#sK|Hwfu8?Wa$CY?NQSZak^-;E#AJ)@BJznH4!{|{F2F~^UMl_wmcIzNfWXBR=#gD%vT!QdDm z(ODU=7KpmU4%VxhMRR}<&aRVX1!JGc0AZP6$U~|KX9FNr(+iea1Ht4%+C5S%!(5t7 z4a8%OQhs$f5)Fq05&L`&QFDf`E*2ZE&h*;BIidnv%Jd2962N6A9KFd$((8-l!0utn zyHT`Q&1iZ?QDc6;!p2)vRc4r&9qde0 zei3am%`n5zl)z|lpHE$m86*~90k=NJ?1*1-xE77M zT+8;tp<-JOgI5cJO-Nc5GT~5nBGF+O7M?LQtvSkwG{a&(2s@|g>40C7iIg*qT1D0! zEodL716hb5(om#L3!w{X{m2i)dw(_h6zRN+su&00=w@i@srmQxwV$*}Z+Z1@Bci6G zr}}NEsfBwJ+?(g#PI>c%u~TnTIO`&G8=1%RGYX4j}Tz4}+k-t^wDI6%g zv&3F9w&Zd#ReZU4rFgx*uKr*{s^NCyK;wr^KWMsMqDsZm@zQUbx#l&^hgx^E9%(b% zCflyG*R+?X+V6B!ckJl6v2=2of7!lefA4&-MJBcWMJgT$Zd19ee}TS>}X|u)A}vz Sk8U^%hcZHMUATPu4*nlG3hm|q delta 841 zcmaFyh-uA5rg{cO1_lOhh6V;^1_S?KeItG${x+b<9w1Ig&P^<+{y*b70|TQB5I;#z zEG__w3orl`0|7^RPG#Das@3*DJ_iHCycHR#i7ColTNg4gEZhK;H_HGDaBgF30rFn} z`6?N?B^B#yIk^}Z7V!Y}NaW-vJ0{-n+*rfFuv7(TL0@iSMFGP##&8CPWm|w66!H>t zQ(LEe6$bLJ0Ohw8|W6Wl4oFMZk%|aTKEKzlgHq|z{;Qp^p66A!At(hK8!g` z3_azaq{mAR-_vAS56tz%Rfnz$3sdz%IZdz%0Ndz$n1L|Cj#{|8M?Z{6G0W z^MBxf&;O494gV|tNBj@@@ABW_zs-M!{}lg8{^R`n`S%*Yo@Ez5+Uoaq>i_jL8d_*eCyFa@(xUd{1EWQJE>d(z@-<@%%Pl8Ms-14rO4t z_s3#3jGkPw%3SCeL>w&1zyzdNChuJ3yjf)Rd8T>|hEt4wjQ^Orn69y~u>`Qnv8k~g zW9MKuVb9_a;_%|=<2c1>z&VTa0hbn68`mA~13WT3H+Z9X-|^M){o>Ezzay|o&`ofW z-~*u`p%cPB!skTzL^?$Nh)xi55Ni-yA@)K1l!Tf@n#3i^9?4fyOQdt8kI5*=RLESA zt&#mAms2lyK%Py0l7g1PB1IL&2*o9eHx$1pX(+iVRVW=%`lhU*9Hd;Qd_zS>Wu7XN zYM1I4wH|c|^*;4C8YUVw8b>sFG}AQCX_;wdXtiiv)3(w+r!z(8gYGmv3%wS-b$Yk- zz4Y_+H|hT{urm@faxyw(EMuHue8oh^WS+?dQ!&#Hvw9h`9p)P5Gb}hPDlFbvdRW$3 zp0WzCnq~FNI>EZm`jCy4%?sN-womN1?2PQ9>?YXVuxGH>u%G83=aA-b!_muekCUEL zj?*fq7tU(V4K6$`HZId#Zn%25Rk&?)mvdj?{>{V7rg}&iU@{y|?L0f1!=9uNfMm5CzvSE>TtPdn<*e-=mEm71Z*}&+HhVq$so% z$+rImiE#tdE#|(n8FelQMi5E75ZWTqH9d+d5f6ndR`t0~7iu&m>uxWK9GrX*J zD=0yC9s1Rd_+IB;-nwJYUeMix`2|OQ`%VAtiCxct-RcWqgkE)IH2*^Dj`6+l;h$ZF zi3wN!gr3+rzT;WYInKTA$hQyQRVR1t-UIO*Ua(`J#W4G)1Lzy_474YxUW%m(5O?Bl z`t(sWF)h#&TTLw4k|mjvA!(8#$&w@mB%dTmyu?YYL`z7b$bU(N+#`3%C*)t`pX6im zSMmY5McyMf$=l>j@&__Yen);yE|9b23^`3sk`v@r@?&zCyh8SqvEauP<8JQ6^eSff z;#ubRQkkY|!MS&tov=v|S%w!;I+d+QMU*R|mgd&BZd7VA%ovIzc~MW77Y1~VF&NQ^W7(j<@R;G4bNKkjA*Lm`<%N!R z9-ZTZEV#z8LB8_jddJ8M-~f0#7l|Uv1=}vFs!1c3#Z|nSCz9;CL&FmW@GFRinTTuQq=lTxIGeSF_f&PW|eK9SuPLTR$sdEE3_Tpjx;HX zO3ysl;H<$`@vz!+IHYN%NTl7ebAd=n*ONX!#{y;ok9@xEm@R{4fa9y!%Gq?EZH3V` z1~MjTn(a|1YD8_KE<@Cps3LUc9DgJwKMQtIR_e?t&$&db!!#2-#|MM?@ZxCXY9(53 zH?0KkdXBcZ9%!mkibXra;kw{rhj~F&l%~kMYm5uWNq{3ujZ@zP=b*xPXGh%~U#N&A zpIlswjcr9JZ;m+DP>e-X&SjlCTeuz2;D)}gIb~Ra*{B5m`EgJ7Iu%BhCuo#sD z!dHGmD}ZPV<{7v&Nv_q6oJgczQ`b8ZiJo#OoDps~OKykU=LOlsEa&$nb-fe`VTHMeqVsSGgea;kxH z&WJgJmECMA&k?5#JHEi7J+R|Ix^buwhX&1s0Z6om$<+nKBUj!9G7b2+5HBF=H9TA& z<<|1Ucsf)M-}aJV{^_j%{VvI`<6}+1cpL6;)(*LM9#8h5jCZRSOTb|7fN0p4KWn?85 z2*_-_MNuS-W0u{OsQf(IW*A|N8Ct+<-0v4Kqe>*Bp_@idk`#oX(6hRG;4ms7Ii19U zEYPhV8y)e>4zERHF0W<#;83wlhl5uNf<;JL5i;RWPa@Hw>n57fRkb;aeGFz1Z^O>1 zS~?gIB_iewy;hbq2Mfl}X}~N*@G;P343nZR?$VC@AiVdNV^5Q=yHpi+2%NeZntFQv zJ)Jn+Ccfe6-9d_;-gbJx0!=N*MvzT&Z>PWM;`!5W(&ZU6h(4jG=vn4I9%3~v!d>Mm zd>y|*5QJV~zwd}&@;_D85Lg6)<)}wJ!-!nIvlzlx*r~l#3C<7u0*rZo3ZZLz4%Nbl-N^F%qFXo zZ>2_3GifdT)$|9|FI9h<*_%0^xtA?uN3#2}N3*jzE4L!IFLx$)t)@^jS#ziM%e8;5 z8>zdQpUB@T^cD^j-dbWU*|6kFF;#q}c(wRWeO>**hE&7t#=*u9o4()lPKhoROD9Ud zY37<&H6Lo--g>0XXq#-i+FsLMo@&3-QQfh<txO(TB;+pfL+UVfuk#2QSOieN1PHIM<>boAPX?;;#F32w~0s7|#Tpcrz#mw9|nTN4j_ymxh$Kb%g%Ag1I zw*rH~Oa93-7;~5y3?{QM^55aV&3}gf6#q&7gYU8@YeSk-X=LT;S?>oLazF+(~ z{C5O43Aza`5_}*OBy>X9NBEowpGb$uAJGY74q^>rE5tsCpOR3MNRzlE*(3Q%YKe4? z^f4I)nF^T;vNf__q28zdM#Ds-M&pPkk7kV*e1-*w zMTNyXOApIB%TrbXRrStnT6Ss${ovUy><$M%UGmz|Mal-&fo8}$D|}b^-jnbX@^kYC<^gbqI>s2vzz>clCSZ0F-h6-kRYm|*GX;PE diff --git a/arduino-ide-extension/src/browser/style/main.css b/arduino-ide-extension/src/browser/style/main.css index fa98d63f3..874db8448 100644 --- a/arduino-ide-extension/src/browser/style/main.css +++ b/arduino-ide-extension/src/browser/style/main.css @@ -77,7 +77,7 @@ .arduino-upload-sketch--toolbar-icon { -webkit-mask: url(../icons/upload.svg) center no-repeat; - background-color: var(--theia-titleBar-activeBackground); + background-color: var(--theia-titleBar-activeBackground); } .toggle-serial-monitor-icon { @@ -114,6 +114,10 @@ z-index: 0; } +.p-TabBar-toolbar .item > div { + text-align: center; +} + :root { --theia-private-menubar-height: 40px; /* set the topbar height */ } diff --git a/arduino-ide-extension/src/browser/style/sketch-folder-icon.svg b/arduino-ide-extension/src/browser/style/sketch-folder-icon.svg deleted file mode 100644 index 363c5df10..000000000 --- a/arduino-ide-extension/src/browser/style/sketch-folder-icon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/arduino-ide-extension/src/browser/style/sketchbook.css b/arduino-ide-extension/src/browser/style/sketchbook.css index 87143e60c..8a9270c36 100644 --- a/arduino-ide-extension/src/browser/style/sketchbook.css +++ b/arduino-ide-extension/src/browser/style/sketchbook.css @@ -3,13 +3,6 @@ mask: url('./sketchbook.svg'); } -.sketch-folder-icon { - background: url('./sketch-folder-icon.svg') center center no-repeat; - background-position-x: 1px; - width: var(--theia-icon-size); - height: var(--theia-icon-size); -} - .p-TabBar-tabIcon.sketchbook-tree-icon { background-color: var(--theia-foreground); -webkit-mask: url(./sketchbook-tree-icon.svg); diff --git a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts index 0738772c6..a0eb05941 100644 --- a/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts +++ b/arduino-ide-extension/src/browser/theia/core/connection-status-service.ts @@ -1,106 +1,324 @@ +import { + ApplicationConnectionStatusContribution as TheiaApplicationConnectionStatusContribution, + ConnectionStatus, + FrontendConnectionStatusService as TheiaFrontendConnectionStatusService, +} from '@theia/core/lib/browser/connection-status-service'; +import type { FrontendApplicationContribution } from '@theia/core/lib/browser/frontend-application'; +import { StatusBarAlignment } from '@theia/core/lib/browser/status-bar/status-bar'; +import { Disposable } from '@theia/core/lib/common/disposable'; +import { Emitter, Event } from '@theia/core/lib/common/event'; +import { MessageService } from '@theia/core/lib/common/message-service'; +import { MessageType } from '@theia/core/lib/common/message-service-protocol'; +import { nls } from '@theia/core/lib/common/nls'; import { inject, injectable, postConstruct, } from '@theia/core/shared/inversify'; -import { Disposable } from '@theia/core/lib/common/disposable'; -import { StatusBarAlignment } from '@theia/core/lib/browser/status-bar/status-bar'; -import { - FrontendConnectionStatusService as TheiaFrontendConnectionStatusService, - ApplicationConnectionStatusContribution as TheiaApplicationConnectionStatusContribution, - ConnectionStatus, -} from '@theia/core/lib/browser/connection-status-service'; +import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager'; import { ArduinoDaemon } from '../../../common/protocol'; +import { assertUnreachable } from '../../../common/utils'; +import { CreateFeatures } from '../../create/create-features'; import { NotificationCenter } from '../../notification-center'; -import { nls } from '@theia/core/lib/common'; import debounce = require('lodash.debounce'); +import isOnline = require('is-online'); @injectable() -export class FrontendConnectionStatusService extends TheiaFrontendConnectionStatusService { - @inject(ArduinoDaemon) - protected readonly daemon: ArduinoDaemon; +export class IsOnline implements FrontendApplicationContribution { + private readonly onDidChangeOnlineEmitter = new Emitter(); + private _online = false; + private stopped = false; + + onStart(): void { + const checkOnline = async () => { + if (!this.stopped) { + try { + const online = await isOnline(); + this.setOnline(online); + } finally { + window.setTimeout(() => checkOnline(), 6_000); // 6 seconds poll interval + } + } + }; + checkOnline(); + } + + onStop(): void { + this.stopped = true; + this.onDidChangeOnlineEmitter.dispose(); + } + + get online(): boolean { + return this._online; + } + get onDidChangeOnline(): Event { + return this.onDidChangeOnlineEmitter.event; + } + + private setOnline(online: boolean) { + const oldOnline = this._online; + this._online = online; + if (!this.stopped && this._online !== oldOnline) { + this.onDidChangeOnlineEmitter.fire(this._online); + } + } +} + +@injectable() +export class DaemonPort implements FrontendApplicationContribution { + @inject(ArduinoDaemon) + private readonly daemon: ArduinoDaemon; @inject(NotificationCenter) - protected readonly notificationCenter: NotificationCenter; + private readonly notificationCenter: NotificationCenter; + + private readonly onPortDidChangeEmitter = new Emitter(); + private _port: string | undefined; + + onStart(): void { + this.daemon.tryGetPort().then( + (port) => this.setPort(port), + (reason) => + console.warn('Could not retrieve the CLI daemon port.', reason) + ); + this.notificationCenter.onDaemonDidStart((port) => this.setPort(port)); + this.notificationCenter.onDaemonDidStop(() => this.setPort(undefined)); + } + + onStop(): void { + this.onPortDidChangeEmitter.dispose(); + } - protected connectedPort: string | undefined; + get port(): string | undefined { + return this._port; + } + + get onDidChangePort(): Event { + return this.onPortDidChangeEmitter.event; + } + + private setPort(port: string | undefined): void { + const oldPort = this._port; + this._port = port; + if (this._port !== oldPort) { + this.onPortDidChangeEmitter.fire(this._port); + } + } +} + +@injectable() +export class FrontendConnectionStatusService extends TheiaFrontendConnectionStatusService { + @inject(DaemonPort) + private readonly daemonPort: DaemonPort; + @inject(IsOnline) + private readonly isOnline: IsOnline; @postConstruct() protected override async init(): Promise { this.schedulePing(); - try { - this.connectedPort = await this.daemon.tryGetPort(); - } catch {} - this.notificationCenter.onDaemonDidStart( - (port) => (this.connectedPort = port) - ); - this.notificationCenter.onDaemonDidStop( - () => (this.connectedPort = undefined) - ); const refresh = debounce(() => { - this.updateStatus(!!this.connectedPort); + this.updateStatus(Boolean(this.daemonPort.port) && this.isOnline.online); this.schedulePing(); }, this.options.offlineTimeout - 10); this.wsConnectionProvider.onIncomingMessageActivity(() => refresh()); } + + protected override async performPingRequest(): Promise { + try { + await this.pingService.ping(); + this.updateStatus(this.isOnline.online); + } catch (e) { + this.updateStatus(false); + this.logger.error(e); + } + } } +const connectionStatusStatusBar = 'connection-status'; +const theiaOffline = 'theia-mod-offline'; + +export type OfflineConnectionStatus = + /** + * There is no websocket connection between the frontend and the backend. + */ + | 'backend' + /** + * The CLI daemon port is not available. Could not establish the gRPC connection between the backend and the CLI. + */ + | 'daemon' + /** + * Cloud not connect to the Internet from the browser. + */ + | 'internet'; + @injectable() export class ApplicationConnectionStatusContribution extends TheiaApplicationConnectionStatusContribution { - @inject(ArduinoDaemon) - protected readonly daemon: ArduinoDaemon; + @inject(DaemonPort) + private readonly daemonPort: DaemonPort; + @inject(IsOnline) + private readonly isOnline: IsOnline; + @inject(MessageService) + private readonly messageService: MessageService; + @inject(NotificationManager) + private readonly notificationManager: NotificationManager; + @inject(CreateFeatures) + private readonly createFeatures: CreateFeatures; - @inject(NotificationCenter) - protected readonly notificationCenter: NotificationCenter; + private readonly offlineStatusDidChangeEmitter = new Emitter< + OfflineConnectionStatus | undefined + >(); + private noInternetConnectionNotificationId: string | undefined; + private _offlineStatus: OfflineConnectionStatus | undefined; - protected connectedPort: string | undefined; + get offlineStatus(): OfflineConnectionStatus | undefined { + return this._offlineStatus; + } - @postConstruct() - protected async init(): Promise { - try { - this.connectedPort = await this.daemon.tryGetPort(); - } catch {} - this.notificationCenter.onDaemonDidStart( - (port) => (this.connectedPort = port) - ); - this.notificationCenter.onDaemonDidStop( - () => (this.connectedPort = undefined) - ); + get onOfflineStatusDidChange(): Event { + return this.offlineStatusDidChangeEmitter.event; } protected override onStateChange(state: ConnectionStatus): void { - if (!this.connectedPort && state === ConnectionStatus.ONLINE) { + if ( + (!Boolean(this.daemonPort.port) || !this.isOnline.online) && + state === ConnectionStatus.ONLINE + ) { return; } super.onStateChange(state); } protected override handleOffline(): void { - this.statusBar.setElement('connection-status', { + const params = { + port: this.daemonPort.port, + online: this.isOnline.online, + }; + this._offlineStatus = offlineConnectionStatusType(params); + const { text, tooltip } = offlineMessage(params); + this.statusBar.setElement(connectionStatusStatusBar, { alignment: StatusBarAlignment.LEFT, - text: this.connectedPort - ? nls.localize('theia/core/offline', 'Offline') - : '$(bolt) ' + - nls.localize('theia/core/daemonOffline', 'CLI Daemon Offline'), - tooltip: this.connectedPort - ? nls.localize( - 'theia/core/cannotConnectBackend', - 'Cannot connect to the backend.' - ) - : nls.localize( - 'theia/core/cannotConnectDaemon', - 'Cannot connect to the CLI daemon.' - ), + text, + tooltip, priority: 5000, }); - this.toDisposeOnOnline.push( - Disposable.create(() => this.statusBar.removeElement('connection-status')) - ); - document.body.classList.add('theia-mod-offline'); - this.toDisposeOnOnline.push( + document.body.classList.add(theiaOffline); + this.toDisposeOnOnline.pushAll([ Disposable.create(() => - document.body.classList.remove('theia-mod-offline') - ) - ); + this.statusBar.removeElement(connectionStatusStatusBar) + ), + Disposable.create(() => document.body.classList.remove(theiaOffline)), + Disposable.create(() => { + this._offlineStatus = undefined; + this.fireStatusDidChange(); + }), + ]); + if (!this.isOnline.online) { + const text = nls.localize( + 'arduino/connectionStatus/connectionLost', + "Connection lost. Cloud sketch actions and updates won't be available." + ); + this.noInternetConnectionNotificationId = this.notificationManager[ + 'getMessageId' + ]({ text, type: MessageType.Warning }); + if (this.createFeatures.enabled) { + this.messageService.warn(text); + } + this.toDisposeOnOnline.push( + Disposable.create(() => this.clearNoInternetConnectionNotification()) + ); + } + this.fireStatusDidChange(); + } + + private clearNoInternetConnectionNotification(): void { + if (this.noInternetConnectionNotificationId) { + this.notificationManager.clear(this.noInternetConnectionNotificationId); + this.noInternetConnectionNotificationId = undefined; + } + } + + private fireStatusDidChange(): void { + if (this.createFeatures.enabled) { + return this.offlineStatusDidChangeEmitter.fire(this._offlineStatus); + } + } +} + +interface OfflineMessageParams { + readonly port: string | undefined; + readonly online: boolean; +} +interface OfflineMessage { + readonly text: string; + readonly tooltip: string; +} + +/** + * (non-API) exported for testing + * + * The precedence of the offline states are the following: + * - No connection to the Theia backend, + * - CLI daemon is offline, and + * - There is no Internet connection. + */ +export function offlineMessage(params: OfflineMessageParams): OfflineMessage { + const statusType = offlineConnectionStatusType(params); + const text = getOfflineText(statusType); + const tooltip = getOfflineTooltip(statusType); + return { text, tooltip }; +} + +function offlineConnectionStatusType( + params: OfflineMessageParams +): OfflineConnectionStatus { + const { port, online } = params; + if (port && online) { + return 'backend'; + } + if (!port) { + return 'daemon'; + } + return 'internet'; +} + +export const backendOfflineText = nls.localize('theia/core/offline', 'Offline'); +export const daemonOfflineText = nls.localize( + 'theia/core/daemonOffline', + 'CLI Daemon Offline' +); +export const offlineText = nls.localize('theia/core/offlineText', 'Offline'); +export const backendOfflineTooltip = nls.localize( + 'theia/core/cannotConnectBackend', + 'Cannot connect to the backend.' +); +export const daemonOfflineTooltip = nls.localize( + 'theia/core/cannotConnectDaemon', + 'Cannot connect to the CLI daemon.' +); +export const offlineTooltip = offlineText; + +function getOfflineText(statusType: OfflineConnectionStatus): string { + switch (statusType) { + case 'backend': + return backendOfflineText; + case 'daemon': + return '$(bolt) ' + daemonOfflineText; + case 'internet': + return '$(alert) ' + offlineText; + default: + assertUnreachable(statusType); + } +} + +function getOfflineTooltip(statusType: OfflineConnectionStatus): string { + switch (statusType) { + case 'backend': + return backendOfflineTooltip; + case 'daemon': + return daemonOfflineTooltip; + case 'internet': + return offlineTooltip; + default: + assertUnreachable(statusType); } } diff --git a/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx b/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx index 308d77260..0c7104c85 100644 --- a/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx +++ b/arduino-ide-extension/src/browser/theia/core/sidebar-bottom-menu-widget.tsx @@ -10,17 +10,21 @@ import { import * as React from '@theia/core/shared/react'; import { accountMenu } from '../../contributions/account'; import { CreateFeatures } from '../../create/create-features'; +import { ApplicationConnectionStatusContribution } from './connection-status-service'; @injectable() export class SidebarBottomMenuWidget extends TheiaSidebarBottomMenuWidget { @inject(CreateFeatures) private readonly createFeatures: CreateFeatures; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatue: ApplicationConnectionStatusContribution; @postConstruct() protected init(): void { - this.toDispose.push( - this.createFeatures.onDidChangeSession(() => this.update()) - ); + this.toDispose.pushAll([ + this.createFeatures.onDidChangeSession(() => this.update()), + this.connectionStatue.onOfflineStatusDidChange(() => this.update()), + ]); } protected override onClick( @@ -28,7 +32,7 @@ export class SidebarBottomMenuWidget extends TheiaSidebarBottomMenuWidget { menuPath: MenuPath ): void { const button = e.currentTarget.getBoundingClientRect(); - this.contextMenuRenderer.render({ + const options = { menuPath, includeAnchorArg: false, anchor: { @@ -37,7 +41,9 @@ export class SidebarBottomMenuWidget extends TheiaSidebarBottomMenuWidget { // https://github.com/eclipse-theia/theia/discussions/12170 y: button.top, }, - }); + showDisabled: true, + }; + this.contextMenuRenderer.render(options); } protected override render(): React.ReactNode { @@ -55,7 +61,9 @@ export class SidebarBottomMenuWidget extends TheiaSidebarBottomMenuWidget { } const arduinoAccount = menu.id === accountMenu.id; const picture = - arduinoAccount && this.createFeatures.session?.account.picture; + arduinoAccount && + this.connectionStatue.offlineStatus !== 'internet' && + this.createFeatures.session?.account.picture; const className = typeof picture === 'string' ? undefined : menu.iconClass; return ( + this.maybeSetCloudPrefix() + ), + this.configServiceClient.onDidChangeDataDirUri(() => + this.maybeSetCloudPrefix() + ), + ]); + } + + onStop(): void { + this.toDispose.dispose(); + } + protected override handleWidgetChange(widget?: Widget | undefined): void { if (isOSX) { this.maybeUpdateRepresentedFilename(widget); @@ -54,7 +90,7 @@ export class WindowTitleUpdater extends TheiaWindowTitleUpdater { protected override updateTitleWidget(widget?: Widget | undefined): void { let activeEditorShort = ''; - const rootName = this.workspaceService.workspace?.name ?? ''; + let rootName = this.workspaceService.workspace?.name ?? ''; let appName = `${this.applicationName}${ this.applicationVersion ? ` ${this.applicationVersion}` : '' }`; @@ -69,6 +105,12 @@ export class WindowTitleUpdater extends TheiaWindowTitleUpdater { activeEditorShort = ` - ${base} `; } } + if (this.hasCloudPrefix) { + rootName = `[${nls.localize( + 'arduino/title/cloud', + 'Cloud' + )}] ${rootName}`; + } this.windowTitleService.update({ rootName, appName, activeEditorShort }); } @@ -77,10 +119,32 @@ export class WindowTitleUpdater extends TheiaWindowTitleUpdater { const { uri } = widget.editor; const filename = uri.path.toString(); // Do not necessarily require the current window if not needed. It's a synchronous, blocking call. - if (this._previousRepresentedFilename !== filename) { + if (this.previousRepresentedFilename !== filename) { const currentWindow = remote.getCurrentWindow(); currentWindow.setRepresentedFilename(uri.path.toString()); - this._previousRepresentedFilename = filename; + this.previousRepresentedFilename = filename; + } + } + } + + private maybeSetCloudPrefix(): void { + if (typeof this.hasCloudPrefix === 'boolean') { + return; + } + const sketch = this.sketchesServiceClient.tryGetCurrentSketch(); + if (!CurrentSketch.isValid(sketch)) { + return; + } + const dataDirUri = this.configServiceClient.tryGetDataDirUri(); + if (!dataDirUri) { + return; + } + this.hasCloudPrefix = this.createFeatures.isCloud(sketch, dataDirUri); + if (typeof this.hasCloudPrefix === 'boolean') { + const editor = + this.editorManager.activeEditor ?? this.editorManager.currentEditor; + if (editor) { + this.updateTitleWidget(editor); } } } diff --git a/arduino-ide-extension/src/browser/theia/messages/notifications-manager.ts b/arduino-ide-extension/src/browser/theia/messages/notifications-manager.ts index bdc1ed35f..51339dbf3 100644 --- a/arduino-ide-extension/src/browser/theia/messages/notifications-manager.ts +++ b/arduino-ide-extension/src/browser/theia/messages/notifications-manager.ts @@ -1,6 +1,5 @@ import { CancellationToken } from '@theia/core/lib/common/cancellation'; import type { - Message, ProgressMessage, ProgressUpdate, } from '@theia/core/lib/common/message-service-protocol'; @@ -46,11 +45,4 @@ export class NotificationManager extends TheiaNotificationManager { } return Math.min((update.work.done / update.work.total) * 100, 100); } - - /** - * For `public` visibility. - */ - override getMessageId(message: Message): string { - return super.getMessageId(message); - } } diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-commands.ts b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-commands.ts new file mode 100644 index 000000000..7f4602a21 --- /dev/null +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-commands.ts @@ -0,0 +1,88 @@ +import { TreeNode } from '@theia/core/lib/browser/tree'; +import { Command } from '@theia/core/lib/common/command'; +import { CloudSketchbookTreeModel } from './cloud-sketchbook-tree-model'; + +export namespace CloudSketchbookCommands { + export interface Arg { + model: CloudSketchbookTreeModel; + node: TreeNode; + event?: MouseEvent; + } + export namespace Arg { + export function is(arg: unknown): arg is Arg { + return ( + typeof arg === 'object' && + (arg).model !== undefined && + (arg).model instanceof CloudSketchbookTreeModel && + (arg).node !== undefined && + TreeNode.is((arg).node) + ); + } + } + + export const TOGGLE_CLOUD_SKETCHBOOK = Command.toLocalizedCommand( + { + id: 'arduino-cloud-sketchbook--disable', + label: 'Show/Hide Cloud Sketchbook', + }, + 'arduino/cloud/showHideSketchbook' + ); + + export const PULL_SKETCH = Command.toLocalizedCommand( + { + id: 'arduino-cloud-sketchbook--pull-sketch', + label: 'Pull Sketch', + iconClass: 'fa fa-arduino-cloud-download', + }, + 'arduino/cloud/pullSketch' + ); + + export const PUSH_SKETCH = Command.toLocalizedCommand( + { + id: 'arduino-cloud-sketchbook--push-sketch', + label: 'Push Sketch', + iconClass: 'fa fa-arduino-cloud-upload', + }, + 'arduino/cloud/pullSketch' + ); + + export const PULL_SKETCH__TOOLBAR = { + ...PULL_SKETCH, + id: `${PULL_SKETCH.id}-toolbar`, + }; + + export const PUSH_SKETCH__TOOLBAR = { + ...PUSH_SKETCH, + id: `${PUSH_SKETCH.id}-toolbar`, + }; + + export const OPEN_IN_CLOUD_EDITOR = Command.toLocalizedCommand( + { + id: 'arduino-cloud-sketchbook--open-in-cloud-editor', + label: 'Open in Cloud Editor', + }, + 'arduino/cloud/openInCloudEditor' + ); + + export const OPEN_SKETCHBOOKSYNC_CONTEXT_MENU = Command.toLocalizedCommand( + { + id: 'arduino-sketchbook-sync--open-sketch-context-menu', + label: 'Options...', + iconClass: 'sketchbook-tree__opts', + }, + 'arduino/cloud/options' + ); + + export const OPEN_SKETCH_SHARE_DIALOG = Command.toLocalizedCommand( + { + id: 'arduino-cloud-sketchbook--share-modal', + label: 'Share...', + }, + 'arduino/cloud/share' + ); + + export const OPEN_PROFILE_CONTEXT_MENU: Command = { + id: 'arduino-cloud-sketchbook--open-profile-menu', + label: 'Contextual menu', + }; +} diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-composite-widget.tsx b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-composite-widget.tsx index 0b4d26a94..46e273b25 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-composite-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-composite-widget.tsx @@ -5,7 +5,7 @@ import { injectable, postConstruct, } from '@theia/core/shared/inversify'; -import { CloudStatus } from './cloud-user-status'; +import { CloudStatus } from './cloud-status'; import { nls } from '@theia/core/lib/common/nls'; import { CloudSketchbookTreeWidget } from './cloud-sketchbook-tree-widget'; import { AuthenticationClientService } from '../../auth/authentication-client-service'; @@ -13,6 +13,7 @@ import { CloudSketchbookTreeModel } from './cloud-sketchbook-tree-model'; import { BaseSketchbookCompositeWidget } from '../sketchbook/sketchbook-composite-widget'; import { CreateNew } from '../sketchbook/create-new'; import { AuthenticationSession } from '../../../node/auth/types'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; @injectable() export class CloudSketchbookCompositeWidget extends BaseSketchbookCompositeWidget { @@ -20,6 +21,9 @@ export class CloudSketchbookCompositeWidget extends BaseSketchbookCompositeWidge private readonly authenticationService: AuthenticationClientService; @inject(CloudSketchbookTreeWidget) private readonly cloudSketchbookTreeWidget: CloudSketchbookTreeWidget; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; + private _session: AuthenticationSession | undefined; constructor() { @@ -66,6 +70,7 @@ export class CloudSketchbookCompositeWidget extends BaseSketchbookCompositeWidge this.cloudSketchbookTreeWidget.model as CloudSketchbookTreeModel } authenticationService={this.authenticationService} + connectionStatus={this.connectionStatus} /> ); diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts index 212fc5f62..f58f747e7 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts @@ -1,145 +1,94 @@ -import { inject, injectable } from '@theia/core/shared/inversify'; -import { TreeNode } from '@theia/core/lib/browser/tree'; -import { FileService } from '@theia/filesystem/lib/browser/file-service'; -import { Command, CommandRegistry } from '@theia/core/lib/common/command'; import { ContextMenuRenderer, RenderContextMenuOptions, -} from '@theia/core/lib/browser'; +} from '@theia/core/lib/browser/context-menu-renderer'; +import { FrontendApplication } from '@theia/core/lib/browser/frontend-application'; +import { + PreferenceScope, + PreferenceService, +} from '@theia/core/lib/browser/preferences/preference-service'; +import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell'; +import { WindowService } from '@theia/core/lib/browser/window/window-service'; +import { CommandRegistry } from '@theia/core/lib/common/command'; import { Disposable, DisposableCollection, } from '@theia/core/lib/common/disposable'; -import { WindowService } from '@theia/core/lib/browser/window/window-service'; +import { Emitter, Event } from '@theia/core/lib/common/event'; import { MenuModelRegistry } from '@theia/core/lib/common/menu'; -import { CloudSketchbookTree } from './cloud-sketchbook-tree'; -import { CloudSketchbookTreeModel } from './cloud-sketchbook-tree-model'; -import { ShareSketchDialog } from '../../dialogs/cloud-share-sketch-dialog'; -import { CreateApi } from '../../create/create-api'; +import { nls } from '@theia/core/lib/common/nls'; +import { Widget } from '@theia/core/shared/@phosphor/widgets'; +import { inject, injectable } from '@theia/core/shared/inversify'; +import { ArduinoPreferences } from '../../arduino-preferences'; +import { ConfigServiceClient } from '../../config/config-service-client'; +import { CloudSketchContribution } from '../../contributions/cloud-contribution'; import { - PreferenceService, - PreferenceScope, -} from '@theia/core/lib/browser/preferences/preference-service'; + Sketch, + TabBarToolbarRegistry, +} from '../../contributions/contribution'; +import { ShareSketchDialog } from '../../dialogs/cloud-share-sketch-dialog'; import { ArduinoMenus, PlaceholderMenuNode } from '../../menu/arduino-menus'; +import { CurrentSketch } from '../../sketches-service-client-impl'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; import { SketchbookCommands } from '../sketchbook/sketchbook-commands'; -import { - CurrentSketch, - SketchesServiceClientImpl, -} from '../../sketches-service-client-impl'; -import { Contribution } from '../../contributions/contribution'; -import { ArduinoPreferences } from '../../arduino-preferences'; -import { MainMenuManager } from '../../../common/main-menu-manager'; -import { nls } from '@theia/core/lib/common'; +import { CloudSketchbookCommands } from './cloud-sketchbook-commands'; +import { CloudSketchbookTree } from './cloud-sketchbook-tree'; +import { CreateUri } from '../../create/create-uri'; -export const SKETCHBOOKSYNC__CONTEXT = ['arduino-sketchbook-sync--context']; +const SKETCHBOOKSYNC__CONTEXT = ['arduino-sketchbook-sync--context']; // `Open Folder`, `Open in New Window` -export const SKETCHBOOKSYNC__CONTEXT__MAIN_GROUP = [ +const SKETCHBOOKSYNC__CONTEXT__MAIN_GROUP = [ ...SKETCHBOOKSYNC__CONTEXT, '0_main', ]; -export namespace CloudSketchbookCommands { - export interface Arg { - model: CloudSketchbookTreeModel; - node: TreeNode; - event?: MouseEvent; - } - export namespace Arg { - export function is(arg: Partial | undefined): arg is Arg { - return ( - !!arg && !!arg.node && arg.model instanceof CloudSketchbookTreeModel - ); - } - } - - export const TOGGLE_CLOUD_SKETCHBOOK = Command.toLocalizedCommand( - { - id: 'arduino-cloud-sketchbook--disable', - label: 'Show/Hide Cloud Sketchbook', - }, - 'arduino/cloud/showHideSketchbook' - ); - - export const PULL_SKETCH = Command.toLocalizedCommand( - { - id: 'arduino-cloud-sketchbook--pull-sketch', - label: 'Pull Sketch', - iconClass: 'pull-sketch-icon', - }, - 'arduino/cloud/pullSketch' - ); - - export const PUSH_SKETCH = Command.toLocalizedCommand( - { - id: 'arduino-cloud-sketchbook--push-sketch', - label: 'Push Sketch', - iconClass: 'push-sketch-icon', - }, - 'arduino/cloud/pullSketch' - ); - - export const OPEN_IN_CLOUD_EDITOR = Command.toLocalizedCommand( - { - id: 'arduino-cloud-sketchbook--open-in-cloud-editor', - label: 'Open in Cloud Editor', - }, - 'arduino/cloud/openInCloudEditor' - ); - - export const OPEN_SKETCHBOOKSYNC_CONTEXT_MENU = Command.toLocalizedCommand( - { - id: 'arduino-sketchbook-sync--open-sketch-context-menu', - label: 'Options...', - iconClass: 'sketchbook-tree__opts', - }, - 'arduino/cloud/options' - ); - - export const OPEN_SKETCH_SHARE_DIALOG = Command.toLocalizedCommand( - { - id: 'arduino-cloud-sketchbook--share-modal', - label: 'Share...', - }, - 'arduino/cloud/share' - ); - - export const OPEN_PROFILE_CONTEXT_MENU: Command = { - id: 'arduino-cloud-sketchbook--open-profile-menu', - label: 'Contextual menu', - }; -} - @injectable() -export class CloudSketchbookContribution extends Contribution { - @inject(FileService) - protected readonly fileService: FileService; - +export class CloudSketchbookContribution extends CloudSketchContribution { @inject(ContextMenuRenderer) - protected readonly contextMenuRenderer: ContextMenuRenderer; - + private readonly contextMenuRenderer: ContextMenuRenderer; @inject(MenuModelRegistry) - protected readonly menuRegistry: MenuModelRegistry; - - @inject(SketchesServiceClientImpl) - protected readonly sketchServiceClient: SketchesServiceClientImpl; - + private readonly menuRegistry: MenuModelRegistry; + @inject(CommandRegistry) + private readonly commandRegistry: CommandRegistry; @inject(WindowService) - protected readonly windowService: WindowService; - - @inject(CreateApi) - protected readonly createApi: CreateApi; - + private readonly windowService: WindowService; @inject(ArduinoPreferences) - protected readonly arduinoPreferences: ArduinoPreferences; - + private readonly arduinoPreferences: ArduinoPreferences; @inject(PreferenceService) - protected readonly preferenceService: PreferenceService; - - @inject(MainMenuManager) - protected readonly mainMenuManager: MainMenuManager; + private readonly preferenceService: PreferenceService; + @inject(ConfigServiceClient) + private readonly configServiceClient: ConfigServiceClient; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; + + private readonly onDidChangeToolbarEmitter = new Emitter(); + private readonly toDisposeBeforeNewContextMenu = new DisposableCollection(); + private readonly toDisposeOnStop = new DisposableCollection( + this.onDidChangeToolbarEmitter, + this.toDisposeBeforeNewContextMenu + ); + private shell: ApplicationShell | undefined; + + override onStart(app: FrontendApplication): void { + this.shell = app.shell; + this.toDisposeOnStop.pushAll([ + this.connectionStatus.onOfflineStatusDidChange((offlineStatus) => { + if (!offlineStatus || offlineStatus === 'internet') { + this.fireToolbarChange(); + } + }), + this.createFeatures.onDidChangeSession(() => this.fireToolbarChange()), + this.createFeatures.onDidChangeEnabled(() => this.fireToolbarChange()), + this.createFeatures.onDidChangeCloudSketchState(() => + this.fireToolbarChange() + ), + ]); + } - protected readonly toDisposeBeforeNewContextMenu = new DisposableCollection(); + onStop(): void { + this.toDisposeOnStop.dispose(); + } override registerMenus(menus: MenuModelRegistry): void { menus.registerMenuAction(ArduinoMenus.FILE__ADVANCED_SUBMENU, { @@ -149,6 +98,23 @@ export class CloudSketchbookContribution extends Contribution { }); } + override registerToolbarItems(registry: TabBarToolbarRegistry): void { + registry.registerItem({ + id: CloudSketchbookCommands.PULL_SKETCH__TOOLBAR.id, + command: CloudSketchbookCommands.PULL_SKETCH__TOOLBAR.id, + tooltip: CloudSketchbookCommands.PULL_SKETCH__TOOLBAR.label, + priority: -2, + onDidChange: this.onDidChangeToolbar, + }); + registry.registerItem({ + id: CloudSketchbookCommands.PUSH_SKETCH__TOOLBAR.id, + command: CloudSketchbookCommands.PUSH_SKETCH__TOOLBAR.id, + tooltip: CloudSketchbookCommands.PUSH_SKETCH__TOOLBAR.label, + priority: -1, + onDidChange: this.onDidChangeToolbar, + }); + } + override registerCommands(registry: CommandRegistry): void { registry.registerCommand(CloudSketchbookCommands.TOGGLE_CLOUD_SKETCHBOOK, { execute: () => { @@ -158,32 +124,41 @@ export class CloudSketchbookContribution extends Contribution { PreferenceScope.User ); }, - isEnabled: () => true, - isVisible: () => true, }); registry.registerCommand(CloudSketchbookCommands.PULL_SKETCH, { execute: (arg) => arg.model.sketchbookTree().pull(arg), - isEnabled: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), - isVisible: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), + isEnabled: (arg) => this.isCloudSketchDirNodeCommandArg(arg), + isVisible: (arg) => this.isCloudSketchDirNodeCommandArg(arg), }); registry.registerCommand(CloudSketchbookCommands.PUSH_SKETCH, { execute: (arg) => arg.model.sketchbookTree().push(arg.node), isEnabled: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node) && + this.isCloudSketchDirNodeCommandArg(arg) && CloudSketchbookTree.CloudSketchTreeNode.isSynced(arg.node), isVisible: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node) && + this.isCloudSketchDirNodeCommandArg(arg) && CloudSketchbookTree.CloudSketchTreeNode.isSynced(arg.node), }); + registry.registerCommand(CloudSketchbookCommands.PUSH_SKETCH__TOOLBAR, { + execute: () => + this.executeDelegateWithCurrentSketch( + CloudSketchbookCommands.PUSH_SKETCH.id + ), + isEnabled: (arg) => this.isEnabledCloudSketchToolbar(arg), + isVisible: (arg) => this.isVisibleCloudSketchToolbar(arg), + }); + registry.registerCommand(CloudSketchbookCommands.PULL_SKETCH__TOOLBAR, { + execute: () => + this.executeDelegateWithCurrentSketch( + CloudSketchbookCommands.PULL_SKETCH.id + ), + isEnabled: (arg) => this.isEnabledCloudSketchToolbar(arg), + isVisible: (arg) => this.isVisibleCloudSketchToolbar(arg), + }); + registry.registerCommand(CloudSketchbookCommands.OPEN_IN_CLOUD_EDITOR, { execute: (arg) => { this.windowService.openNewWindow( @@ -191,12 +166,8 @@ export class CloudSketchbookContribution extends Contribution { { external: true } ); }, - isEnabled: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), - isVisible: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), + isEnabled: (arg) => this.isCloudSketchDirNodeCommandArg(arg), + isVisible: (arg) => this.isCloudSketchDirNodeCommandArg(arg), }); registry.registerCommand(CloudSketchbookCommands.OPEN_SKETCH_SHARE_DIALOG, { @@ -207,12 +178,8 @@ export class CloudSketchbookContribution extends Contribution { createApi: this.createApi, }).open(); }, - isEnabled: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), - isVisible: (arg) => - CloudSketchbookCommands.Arg.is(arg) && - CloudSketchbookTree.CloudSketchDirNode.is(arg.node), + isEnabled: (arg) => this.isCloudSketchDirNodeCommandArg(arg), + isVisible: (arg) => this.isCloudSketchDirNodeCommandArg(arg), }); registry.registerCommand( @@ -316,7 +283,118 @@ export class CloudSketchbookContribution extends Contribution { }, } ); + } + + private get currentCloudSketch(): Sketch | undefined { + const currentSketch = this.sketchServiceClient.tryGetCurrentSketch(); + // could not load sketch via CLI + if (!CurrentSketch.isValid(currentSketch)) { + return undefined; + } + // cannot determine if the sketch is in the cloud cache folder + const dataDirUri = this.configServiceClient.tryGetDataDirUri(); + if (!dataDirUri) { + return undefined; + } + // sketch is not in the cache folder + if (!this.createFeatures.isCloud(currentSketch, dataDirUri)) { + return undefined; + } + return currentSketch; + } + + private isVisibleCloudSketchToolbar(arg: unknown): boolean { + // cloud preference is disabled + if (!this.createFeatures.enabled) { + return false; + } + if (!this.currentCloudSketch) { + return false; + } + if (arg instanceof Widget) { + return !!this.shell && this.shell.getWidgets('main').indexOf(arg) !== -1; + } + return false; + } + + private isEnabledCloudSketchToolbar(arg: unknown): boolean { + if (!this.isVisibleCloudSketchToolbar(arg)) { + return false; + } + // not logged in + if (!this.createFeatures.session) { + return false; + } + // no Internet connection + if (this.connectionStatus.offlineStatus === 'internet') { + return false; + } + // no pull/push context for the current cloud sketch + const sketch = this.currentCloudSketch; + if (sketch) { + const cloudUri = this.createFeatures.cloudUri(sketch); + if (cloudUri) { + return !this.createFeatures.cloudSketchState( + CreateUri.toUri(cloudUri.path.toString()) + ); + } + } + return false; + } + + private isCloudSketchDirNodeCommandArg( + arg: unknown + ): arg is CloudSketchbookCommands.Arg & { + node: CloudSketchbookTree.CloudSketchDirNode; + } { + return ( + CloudSketchbookCommands.Arg.is(arg) && + CloudSketchbookTree.CloudSketchDirNode.is(arg.node) && + !this.createFeatures.cloudSketchState(arg.node.remoteUri) + ); + } + + private async commandArgFromCurrentSketch(): Promise< + CloudSketchbookCommands.Arg | undefined + > { + const sketch = this.currentCloudSketch; + if (!sketch) { + return undefined; + } + const model = await this.treeModel(); + if (!model) { + return undefined; + } + const cloudUri = this.createFeatures.cloudUri(sketch); + if (!cloudUri) { + return undefined; + } + const posixPath = cloudUri.path.toString(); + const node = model.getNode(posixPath); + if (CloudSketchbookTree.CloudSketchDirNode.is(node)) { + return { model, node }; + } + return undefined; + } + + private async executeDelegateWithCurrentSketch(id: string): Promise { + const arg = await this.commandArgFromCurrentSketch(); + if (!arg) { + return; + } + if (!this.commandRegistry.getActiveHandler(id, arg)) { + throw new Error( + `No active handler was available for the delegate command: ${id}. Cloud sketch tree node: ${arg.node.id}` + ); + } + return this.commandRegistry.executeCommand(id, arg); + } + + private fireToolbarChange(): void { + this.onDidChangeToolbarEmitter.fire(); + } - this.registerMenus(this.menuRegistry); + private get onDidChangeToolbar(): Event { + return this.onDidChangeToolbarEmitter.event; } } diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-model.ts b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-model.ts index 3211a85f0..e57926465 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-model.ts +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-model.ts @@ -20,6 +20,7 @@ import URI from '@theia/core/lib/common/uri'; import { Create } from '../../create/typings'; import { nls } from '@theia/core/lib/common/nls'; import { Deferred } from '@theia/core/lib/common/promise-util'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; function sketchBaseDir(sketch: Create.Sketch): FileStat { // extract the sketch path @@ -63,15 +64,22 @@ export class CloudSketchbookTreeModel extends SketchbookTreeModel { private readonly authenticationService: AuthenticationClientService; @inject(LocalCacheFsProvider) private readonly localCacheFsProvider: LocalCacheFsProvider; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; private _localCacheFsProviderReady: Deferred | undefined; @postConstruct() protected override init(): void { super.init(); - this.toDispose.push( - this.authenticationService.onSessionDidChange(() => this.updateRoot()) - ); + this.toDispose.pushAll([ + this.authenticationService.onSessionDidChange(() => this.updateRoot()), + this.connectionStatus.onOfflineStatusDidChange((offlineStatus) => { + if (!offlineStatus) { + this.updateRoot(); + } + }), + ]); } override *getNodesByUri(uri: URI): IterableIterator { diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx index 3f1ae430f..8877d2381 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx @@ -15,6 +15,7 @@ import { CompositeTreeNode } from '@theia/core/lib/browser'; import { shell } from '@theia/core/electron-shared/@electron/remote'; import { SketchbookTreeWidget } from '../sketchbook/sketchbook-tree-widget'; import { nls } from '@theia/core/lib/common'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; @injectable() export class CloudSketchbookTreeWidget extends SketchbookTreeWidget { @@ -27,6 +28,9 @@ export class CloudSketchbookTreeWidget extends SketchbookTreeWidget { @inject(CloudSketchbookTree) protected readonly cloudSketchbookTree: CloudSketchbookTree; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; + protected override renderTree(model: TreeModel): React.ReactNode { if (this.shouldShowWelcomeView()) return this.renderViewWelcome(); if (this.shouldShowEmptyView()) return this.renderEmptyView(); @@ -91,10 +95,33 @@ export class CloudSketchbookTreeWidget extends SketchbookTreeWidget { return classNames; } + protected override renderIcon( + node: TreeNode, + props: NodeProps + ): React.ReactNode { + if (CloudSketchbookTree.CloudSketchDirNode.is(node)) { + const synced = CloudSketchbookTree.CloudSketchTreeNode.isSynced(node); + const offline = this.connectionStatus.offlineStatus === 'internet'; + const icon = `fa fa-arduino-cloud${synced ? '-filled' : ''}${ + offline ? '-offline' : '' + }`; + return ( +
+
+
+ ); + } + return super.renderIcon(node, props); + } + protected override renderInlineCommands(node: any): React.ReactNode { if (CloudSketchbookTree.CloudSketchDirNode.is(node) && node.commands) { return Array.from(new Set(node.commands)).map((command) => - this.renderInlineCommand(command.id, node, { + this.renderInlineCommand(command, node, { username: this.authenticationService.session?.account?.label, }) ); diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree.ts b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree.ts index e3dd60e70..9a5571da2 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree.ts +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree.ts @@ -22,15 +22,22 @@ import { LocalCacheFsProvider, LocalCacheUri, } from '../../local-cache/local-cache-fs-provider'; -import { CloudSketchbookCommands } from './cloud-sketchbook-contributions'; +import { CloudSketchbookCommands } from './cloud-sketchbook-commands'; import { DoNotAskAgainConfirmDialog } from '../../dialogs/do-not-ask-again-dialog'; import { SketchbookTree } from '../sketchbook/sketchbook-tree'; -import { firstToUpperCase } from '../../../common/utils'; +import { assertUnreachable } from '../../../common/utils'; import { FileStat } from '@theia/filesystem/lib/common/files'; import { WorkspaceNode } from '@theia/navigator/lib/browser/navigator-tree'; import { posix, splitSketchPath } from '../../create/create-paths'; import { Create } from '../../create/typings'; import { nls } from '@theia/core/lib/common'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; +import { ExecuteWithProgress } from '../../../common/protocol/progressible'; +import { + pullingSketch, + pushingSketch, +} from '../../contributions/cloud-contribution'; +import { CloudSketchState, CreateFeatures } from '../../create/create-features'; const MESSAGE_TIMEOUT = 5 * 1000; const deepmerge = require('deepmerge').default; @@ -54,6 +61,19 @@ export class CloudSketchbookTree extends SketchbookTree { @inject(CreateApi) private readonly createApi: CreateApi; + @inject(ApplicationConnectionStatusContribution) + private readonly connectionStatus: ApplicationConnectionStatusContribution; + + @inject(CreateFeatures) + private readonly createFeatures: CreateFeatures; + + protected override init(): void { + this.toDispose.push( + this.connectionStatus.onOfflineStatusDidChange(() => this.refresh()) + ); + super.init(); + } + async pushPublicWarn( node: CloudSketchbookTree.CloudSketchDirNode ): Promise { @@ -84,7 +104,7 @@ export class CloudSketchbookTree extends SketchbookTree { } // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any - async pull(arg: any): Promise { + async pull(arg: any, noProgress = false): Promise { const { // model, node, @@ -118,32 +138,45 @@ export class CloudSketchbookTree extends SketchbookTree { return; } } - return this.runWithState(node, 'pulling', async (node) => { - const commandsCopy = node.commands; - node.commands = []; + return this.runWithState( + node, + 'pull', + async (node) => { + await this.pullNode(node); + }, + noProgress + ); + } - const localUri = await this.fileService.toUnderlyingResource( - LocalCacheUri.root.resolve(node.remoteUri.path) - ); - await this.sync(node.remoteUri, localUri); + private async pullNode(node: CloudSketchbookTree.CloudSketchDirNode) { + const commandsCopy = node.commands; + node.commands = []; - this.createApi.sketchCache.purgeByPath(node.remoteUri.path.toString()); + const localUri = await this.fileService.toUnderlyingResource( + LocalCacheUri.root.resolve(node.remoteUri.path) + ); + await this.sync(node.remoteUri, localUri); - node.commands = commandsCopy; - this.messageService.info( - nls.localize( - 'arduino/cloud/donePulling', - 'Done pulling ‘{0}’.', - node.fileStat.name - ), - { - timeout: MESSAGE_TIMEOUT, - } - ); - }); + this.createApi.sketchCache.purgeByPath(node.remoteUri.path.toString()); + + node.commands = commandsCopy; + this.messageService.info( + nls.localize( + 'arduino/cloud/donePulling', + "Done pulling '{0}'.", + node.fileStat.name + ), + { + timeout: MESSAGE_TIMEOUT, + } + ); } - async push(node: CloudSketchbookTree.CloudSketchDirNode): Promise { + async push( + node: CloudSketchbookTree.CloudSketchDirNode, + noProgress = false, + ignorePushWarnings = false + ): Promise { if (!CloudSketchbookTree.CloudSketchTreeNode.isSynced(node)) { throw new Error( nls.localize( @@ -158,7 +191,8 @@ export class CloudSketchbookTree extends SketchbookTree { return; } - const warn = this.arduinoPreferences['arduino.cloud.push.warn']; + const warn = + !ignorePushWarnings && this.arduinoPreferences['arduino.cloud.push.warn']; if (warn) { const ok = await new DoNotAskAgainConfirmDialog({ @@ -178,37 +212,46 @@ export class CloudSketchbookTree extends SketchbookTree { return; } } - return this.runWithState(node, 'pushing', async (node) => { - if (!CloudSketchbookTree.CloudSketchTreeNode.isSynced(node)) { - throw new Error( - nls.localize( - 'arduino/cloud/pullFirst', - 'You have to pull first to be able to push to the Cloud.' - ) - ); - } - const commandsCopy = node.commands; - node.commands = []; + return this.runWithState( + node, + 'push', + async (node) => { + await this.pushNode(node); + }, + noProgress + ); + } - const localUri = await this.fileService.toUnderlyingResource( - LocalCacheUri.root.resolve(node.remoteUri.path) + private async pushNode(node: CloudSketchbookTree.CloudSketchDirNode) { + if (!CloudSketchbookTree.CloudSketchTreeNode.isSynced(node)) { + throw new Error( + nls.localize( + 'arduino/cloud/pullFirst', + 'You have to pull first to be able to push to the Cloud.' + ) ); - await this.sync(localUri, node.remoteUri); + } + const commandsCopy = node.commands; + node.commands = []; - this.createApi.sketchCache.purgeByPath(node.remoteUri.path.toString()); + const localUri = await this.fileService.toUnderlyingResource( + LocalCacheUri.root.resolve(node.remoteUri.path) + ); + await this.sync(localUri, node.remoteUri); - node.commands = commandsCopy; - this.messageService.info( - nls.localize( - 'arduino/cloud/donePushing', - 'Done pushing ‘{0}’.', - node.fileStat.name - ), - { - timeout: MESSAGE_TIMEOUT, - } - ); - }); + this.createApi.sketchCache.purgeByPath(node.remoteUri.path.toString()); + + node.commands = commandsCopy; + this.messageService.info( + nls.localize( + 'arduino/cloud/donePushing', + "Done pushing '{0}'.", + node.fileStat.name + ), + { + timeout: MESSAGE_TIMEOUT, + } + ); } private async recursiveURIs(uri: URI): Promise { @@ -310,31 +353,37 @@ export class CloudSketchbookTree extends SketchbookTree { private async runWithState( node: CloudSketchbookTree.CloudSketchDirNode & Partial, - state: CloudSketchbookTree.CloudSketchDirNode.State, - task: (node: CloudSketchbookTree.CloudSketchDirNode) => MaybePromise + state: CloudSketchState, + task: (node: CloudSketchbookTree.CloudSketchDirNode) => MaybePromise, + noProgress = false ): Promise { - const decoration: WidgetDecoration.TailDecoration = { - data: `${firstToUpperCase(state)}...`, - fontData: { - color: 'var(--theia-list-highlightForeground)', - }, - }; + this.createFeatures.setCloudSketchState(node.remoteUri, state); try { - node.state = state; - this.mergeDecoration(node, { tailDecorations: [decoration] }); + const result = await (noProgress + ? task(node) + : ExecuteWithProgress.withProgress( + this.taskMessage(state, node.uri.path.name), + this.messageService, + async (progress) => { + progress.report({ work: { done: 0, total: NaN } }); + return task(node); + } + )); await this.refresh(node); - const result = await task(node); return result; } finally { - delete node.state; - // TODO: find a better way to attach and detach decorators. Do we need a proper `TreeDecorator` instead? - const index = node.decorationData?.tailDecorations?.findIndex( - (candidate) => JSON.stringify(decoration) === JSON.stringify(candidate) - ); - if (typeof index === 'number' && index !== -1) { - node.decorationData?.tailDecorations?.splice(index, 1); - } - await this.refresh(node); + this.createFeatures.setCloudSketchState(node.remoteUri, undefined); + } + } + + private taskMessage(state: CloudSketchState, input: string): string { + switch (state) { + case 'pull': + return pullingSketch(input); + case 'push': + return pushingSketch(input); + default: + assertUnreachable(state); } } @@ -501,7 +550,7 @@ export class CloudSketchbookTree extends SketchbookTree { }; } - protected readonly notInSyncDecoration: WidgetDecoration.Data = { + protected readonly notInSyncOfflineDecoration: WidgetDecoration.Data = { fontData: { color: 'var(--theia-activityBar-inactiveForeground)', }, @@ -522,11 +571,15 @@ export class CloudSketchbookTree extends SketchbookTree { node.fileStat.resource.path.toString() ); - const commands = [CloudSketchbookCommands.PULL_SKETCH]; + const commands: Command[] = []; + if (this.connectionStatus.offlineStatus !== 'internet') { + commands.push(CloudSketchbookCommands.PULL_SKETCH); + } if ( CloudSketchbookTree.CloudSketchTreeNode.is(node) && - CloudSketchbookTree.CloudSketchTreeNode.isSynced(node) + CloudSketchbookTree.CloudSketchTreeNode.isSynced(node) && + this.connectionStatus.offlineStatus !== 'internet' ) { commands.push(CloudSketchbookCommands.PUSH_SKETCH); } @@ -557,14 +610,15 @@ export class CloudSketchbookTree extends SketchbookTree { } } - // add style decoration for not-in-sync files + // add style decoration for not-in-sync files when offline if ( CloudSketchbookTree.CloudSketchTreeNode.is(node) && - !CloudSketchbookTree.CloudSketchTreeNode.isSynced(node) + !CloudSketchbookTree.CloudSketchTreeNode.isSynced(node) && + this.connectionStatus.offlineStatus === 'internet' ) { - this.mergeDecoration(node, this.notInSyncDecoration); + this.mergeDecoration(node, this.notInSyncOfflineDecoration); } else { - this.removeDecoration(node, this.notInSyncDecoration); + this.removeDecoration(node, this.notInSyncOfflineDecoration); } return node; @@ -644,7 +698,7 @@ export namespace CloudSketchbookTree { export interface CloudSketchDirNode extends Omit, CloudSketchTreeNode { - state?: CloudSketchDirNode.State; + state?: CloudSketchState; isPublic?: boolean; sketchId?: string; commands?: Command[]; @@ -653,7 +707,5 @@ export namespace CloudSketchbookTree { export function is(node: TreeNode | undefined): node is CloudSketchDirNode { return SketchbookTree.SketchDirNode.is(node); } - - export type State = 'syncing' | 'pulling' | 'pushing'; } } diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-user-status.tsx b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-status.tsx similarity index 62% rename from arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-user-status.tsx rename to arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-status.tsx index 68a7da5eb..cd329369d 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-user-status.tsx +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-status.tsx @@ -1,19 +1,17 @@ import * as React from '@theia/core/shared/react'; -import { - Disposable, - DisposableCollection, -} from '@theia/core/lib/common/disposable'; +import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { CloudSketchbookTreeModel } from './cloud-sketchbook-tree-model'; import { AuthenticationClientService } from '../../auth/authentication-client-service'; import { nls } from '@theia/core/lib/common'; +import { ApplicationConnectionStatusContribution } from '../../theia/core/connection-status-service'; export class CloudStatus extends React.Component< - UserStatus.Props, - UserStatus.State + CloudStatus.Props, + CloudStatus.State > { protected readonly toDispose = new DisposableCollection(); - constructor(props: UserStatus.Props) { + constructor(props: CloudStatus.Props) { super(props); this.state = { status: this.status, @@ -22,17 +20,11 @@ export class CloudStatus extends React.Component< } override componentDidMount(): void { - const statusListener = () => this.setState({ status: this.status }); - window.addEventListener('online', statusListener); - window.addEventListener('offline', statusListener); - this.toDispose.pushAll([ - Disposable.create(() => - window.removeEventListener('online', statusListener) - ), - Disposable.create(() => - window.removeEventListener('offline', statusListener) - ), - ]); + this.toDispose.push( + this.props.connectionStatus.onOfflineStatusDidChange(() => + this.setState({ status: this.status }) + ) + ); } override componentWillUnmount(): void { @@ -58,14 +50,21 @@ export class CloudStatus extends React.Component< : nls.localize('arduino/cloud/offline', 'Offline')}
-
+ {this.props.connectionStatus.offlineStatus === 'internet' ? ( +
+ ) : ( +
+ )}
); @@ -83,14 +82,17 @@ export class CloudStatus extends React.Component< }; private get status(): 'connected' | 'offline' { - return window.navigator.onLine ? 'connected' : 'offline'; + return this.props.connectionStatus.offlineStatus === 'internet' + ? 'offline' + : 'connected'; } } -export namespace UserStatus { +export namespace CloudStatus { export interface Props { readonly model: CloudSketchbookTreeModel; readonly authenticationService: AuthenticationClientService; + readonly connectionStatus: ApplicationConnectionStatusContribution; } export interface State { status: 'connected' | 'offline'; diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-commands.ts b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-commands.ts index 50b5f9008..c8935d663 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-commands.ts +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-commands.ts @@ -27,17 +27,14 @@ export namespace SketchbookCommands { export const OPEN_SKETCHBOOK_CONTEXT_MENU: Command = { id: 'arduino-sketchbook--open-sketch-context-menu', - label: 'Contextual menu', iconClass: 'sketchbook-tree__opts', }; export const SKETCHBOOK_HIDE_FILES: Command = { id: 'arduino-sketchbook--hide-files', - label: 'Contextual menu', }; export const SKETCHBOOK_SHOW_FILES: Command = { id: 'arduino-sketchbook--show-files', - label: 'Contextual menu', }; } diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx index ece7a1a20..5d1152e21 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx @@ -5,7 +5,7 @@ import { postConstruct, } from '@theia/core/shared/inversify'; import { TreeNode } from '@theia/core/lib/browser/tree/tree'; -import { CommandRegistry } from '@theia/core/lib/common/command'; +import { Command, CommandRegistry } from '@theia/core/lib/common/command'; import { NodeProps, TreeProps, @@ -23,7 +23,6 @@ import { SketchesServiceClientImpl, } from '../../sketches-service-client-impl'; import { SelectableTreeNode } from '@theia/core/lib/browser/tree/tree-selection'; -import { Sketch } from '../../contributions/contribution'; import { nls } from '@theia/core/lib/common'; const customTreeProps: TreeProps = { @@ -91,8 +90,8 @@ export class SketchbookTreeWidget extends FileTreeWidget { node: TreeNode, props: NodeProps ): React.ReactNode { - if (SketchbookTree.SketchDirNode.is(node) || Sketch.isSketchFile(node.id)) { - return
; + if (SketchbookTree.SketchDirNode.is(node)) { + return undefined; } const icon = this.toNodeIcon(node); if (icon) { @@ -133,26 +132,34 @@ export class SketchbookTreeWidget extends FileTreeWidget { protected renderInlineCommands(node: TreeNode): React.ReactNode { if (SketchbookTree.SketchDirNode.is(node) && node.commands) { return Array.from(new Set(node.commands)).map((command) => - this.renderInlineCommand(command.id, node) + this.renderInlineCommand(command, node) ); } return undefined; } protected renderInlineCommand( - commandId: string, + command: Command | string | [command: string, label: string], node: SketchbookTree.SketchDirNode, options?: any ): React.ReactNode { - const command = this.commandRegistry.getCommand(commandId); - const icon = command?.iconClass; + const commandId = Command.is(command) + ? command.id + : Array.isArray(command) + ? command[0] + : command; + const resolvedCommand = this.commandRegistry.getCommand(commandId); + const icon = resolvedCommand?.iconClass; const args = { model: this.model, node: node, ...options }; if ( - command && + resolvedCommand && icon && this.commandRegistry.isEnabled(commandId, args) && this.commandRegistry.isVisible(commandId, args) ) { + const label = Array.isArray(command) + ? command[1] + : resolvedCommand.label ?? resolvedCommand.id; const className = [ TREE_NODE_SEGMENT_CLASS, TREE_NODE_TAIL_CLASS, @@ -164,7 +171,7 @@ export class SketchbookTreeWidget extends FileTreeWidget {
{ event.preventDefault(); event.stopPropagation(); diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree.ts b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree.ts index 6726f12b6..86391c7db 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree.ts +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree.ts @@ -9,6 +9,7 @@ import { WorkspaceRootNode, } from '@theia/navigator/lib/browser/navigator-tree'; import { ArduinoPreferences } from '../../arduino-preferences'; +import { nls } from '@theia/core/lib/common/nls'; @injectable() export class SketchbookTree extends FileNavigatorTree { @@ -18,7 +19,9 @@ export class SketchbookTree extends FileNavigatorTree { @inject(ArduinoPreferences) protected readonly arduinoPreferences: ArduinoPreferences; - override async resolveChildren(parent: CompositeTreeNode): Promise { + override async resolveChildren( + parent: CompositeTreeNode + ): Promise { const showAllFiles = this.arduinoPreferences['arduino.sketchbook.showAllFiles']; @@ -71,7 +74,13 @@ export class SketchbookTree extends FileNavigatorTree { protected async augmentSketchNode(node: DirNode): Promise { Object.assign(node, { type: 'sketch', - commands: [SketchbookCommands.OPEN_SKETCHBOOK_CONTEXT_MENU], + commands: [ + [ + 'arduino-create-cloud-copy', + nls.localize('arduino/createCloudCopy', 'Push Sketch to Cloud'), + ], + SketchbookCommands.OPEN_SKETCHBOOK_CONTEXT_MENU, + ], }); } @@ -96,7 +105,10 @@ export class SketchbookTree extends FileNavigatorTree { export namespace SketchbookTree { export interface SketchDirNode extends DirNode { readonly type: 'sketch'; - readonly commands?: Command[]; + /** + * Theia command, the command ID string, or a tuple of command ID and preferred UI label. If the array construct is used, the label is the 1st of the array. + */ + readonly commands?: (Command | string | [string, string])[]; } export namespace SketchDirNode { export function is( diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts index ba3794233..511ac486f 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-widget-contribution.ts @@ -106,7 +106,7 @@ export class SketchbookWidgetContribution this.revealSketchNode(treeWidgetId, nodeUri), }); registry.registerCommand(SketchbookCommands.OPEN_NEW_WINDOW, { - execute: (arg) => this.openNewWindow(arg.node), + execute: (arg) => this.openNewWindow(arg.node, arg?.treeWidgetId), isEnabled: (arg) => !!arg && 'node' in arg && SketchbookTree.SketchDirNode.is(arg.node), isVisible: (arg) => @@ -209,14 +209,20 @@ export class SketchbookWidgetContribution }); } - private openNewWindow(node: SketchbookTree.SketchDirNode): void { - const widget = this.tryGetWidget(); - if (widget) { - const treeWidgetId = widget.activeTreeWidgetId(); - if (!treeWidgetId) { + private openNewWindow( + node: SketchbookTree.SketchDirNode, + treeWidgetId?: string + ): void { + if (!treeWidgetId) { + const widget = this.tryGetWidget(); + if (!widget) { console.warn(`Could not retrieve active sketchbook tree ID.`); return; } + treeWidgetId = widget.activeTreeWidgetId(); + } + const widget = this.tryGetWidget(); + if (widget) { const nodeUri = node.uri.toString(); const options: WorkspaceInput = {}; Object.assign(options, { diff --git a/arduino-ide-extension/src/common/protocol/sketches-service.ts b/arduino-ide-extension/src/common/protocol/sketches-service.ts index 7953be720..9364639f6 100644 --- a/arduino-ide-extension/src/common/protocol/sketches-service.ts +++ b/arduino-ide-extension/src/common/protocol/sketches-service.ts @@ -74,12 +74,15 @@ export interface SketchesService { isTemp(sketch: SketchRef): Promise; /** - * If `isTemp` is `true` for the `sketch`, you can call this method to move the sketch from the temp - * location to `directories.user`. Resolves with the URI of the sketch after the move. Rejects, when the sketch - * was not in the temp folder. This method always overrides. It's the callers responsibility to ask the user whether - * the files at the destination can be overwritten or not. + * Recursively copies the sketch folder content including all files into the destination folder. + * Resolves with the new URI of the sketch after the move. This method always overrides. It's the callers responsibility to ask the user whether + * the files at the destination can be overwritten or not. This method copies all filesystem files, if you want to copy only sketch files, + * but exclude, for example, language server log file, set the `onlySketchFiles` property to `true`. `onlySketchFiles` is `false` by default. */ - copy(sketch: Sketch, options: { destinationUri: string }): Promise; + copy( + sketch: Sketch, + options: { destinationUri: string; onlySketchFiles?: boolean } + ): Promise; /** * Returns with the container sketch for the input `uri`. If the `uri` is not in a sketch folder, the promise resolves to `undefined`. diff --git a/arduino-ide-extension/src/common/utils.ts b/arduino-ide-extension/src/common/utils.ts index 994e02ec0..56ed366c1 100644 --- a/arduino-ide-extension/src/common/utils.ts +++ b/arduino-ide-extension/src/common/utils.ts @@ -21,8 +21,15 @@ export function isNullOrUndefined(what: unknown): what is undefined | null { return what === undefined || what === null; } +// Use it for and exhaustive `switch` statements +// https://stackoverflow.com/a/39419171/5529090 +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export function assertUnreachable(_: never): never { + throw new Error(); +} + // Text encoder can crash in electron browser: https://github.com/arduino/arduino-ide/issues/634#issuecomment-1440039171 -export function unit8ArrayToString(uint8Array: Uint8Array): string { +export function uint8ArrayToString(uint8Array: Uint8Array): string { return uint8Array.reduce( (text, byte) => text + String.fromCharCode(byte), '' diff --git a/arduino-ide-extension/src/node/sketches-service-impl.ts b/arduino-ide-extension/src/node/sketches-service-impl.ts index f4ff29db2..c6fd56a8a 100644 --- a/arduino-ide-extension/src/node/sketches-service-impl.ts +++ b/arduino-ide-extension/src/node/sketches-service-impl.ts @@ -6,7 +6,6 @@ import * as path from 'path'; import * as glob from 'glob'; import * as crypto from 'crypto'; import * as PQueue from 'p-queue'; -import { ncp } from 'ncp'; import { Mutable } from '@theia/core/lib/common/types'; import URI from '@theia/core/lib/common/uri'; import { ILogger } from '@theia/core/lib/common/logger'; @@ -44,6 +43,7 @@ import { startsWithUpperCase, } from '../common/utils'; import { SettingsReader } from './settings-reader'; +import cpy = require('cpy'); const RecentSketches = 'recent-sketches.json'; const DefaultIno = `void setup() { @@ -368,63 +368,66 @@ export class SketchesServiceImpl const destinationUri = FileUri.create( path.join(parentPath, sketch.name) ).toString(); - const copiedSketchUri = await this.copy(sketch, { destinationUri }); - return this.doLoadSketch(copiedSketchUri, false); - } - - async createNewSketch(): Promise { - const monthNames = [ - 'jan', - 'feb', - 'mar', - 'apr', - 'may', - 'jun', - 'jul', - 'aug', - 'sep', - 'oct', - 'nov', - 'dec', - ]; - const today = new Date(); + const copiedSketch = await this.copy(sketch, { destinationUri }); + return this.doLoadSketch(copiedSketch.uri, false); + } + + async createNewSketch(name?: string, content?: string): Promise { + let sketchName: string | undefined = name; const parentPath = await this.createTempFolder(); - const sketchBaseName = `sketch_${ - monthNames[today.getMonth()] - }${today.getDate()}`; - const { config } = await this.configService.getConfiguration(); - const sketchbookPath = config?.sketchDirUri - ? FileUri.fsPath(config?.sketchDirUri) - : os.homedir(); - let sketchName: string | undefined; - - // If it's another day, reset the count of sketches created today - if (this.lastSketchBaseName !== sketchBaseName) this.sketchSuffixIndex = 1; - - let nameFound = false; - while (!nameFound) { - const sketchNameCandidate = `${sketchBaseName}${sketchIndexToLetters( - this.sketchSuffixIndex++ - )}`; - // Note: we check the future destination folder (`directories.user`) for name collision and not the temp folder! - const sketchExists = await exists( - path.join(sketchbookPath, sketchNameCandidate) - ); - if (!sketchExists) { - nameFound = true; - sketchName = sketchNameCandidate; + if (!sketchName) { + const monthNames = [ + 'jan', + 'feb', + 'mar', + 'apr', + 'may', + 'jun', + 'jul', + 'aug', + 'sep', + 'oct', + 'nov', + 'dec', + ]; + const today = new Date(); + const sketchBaseName = `sketch_${ + monthNames[today.getMonth()] + }${today.getDate()}`; + const { config } = await this.configService.getConfiguration(); + const sketchbookPath = config?.sketchDirUri + ? FileUri.fsPath(config?.sketchDirUri) + : os.homedir(); + + // If it's another day, reset the count of sketches created today + if (this.lastSketchBaseName !== sketchBaseName) + this.sketchSuffixIndex = 1; + + let nameFound = false; + while (!nameFound) { + const sketchNameCandidate = `${sketchBaseName}${sketchIndexToLetters( + this.sketchSuffixIndex++ + )}`; + // Note: we check the future destination folder (`directories.user`) for name collision and not the temp folder! + const sketchExists = await exists( + path.join(sketchbookPath, sketchNameCandidate) + ); + if (!sketchExists) { + nameFound = true; + sketchName = sketchNameCandidate; + } } + this.lastSketchBaseName = sketchBaseName; } if (!sketchName) { throw new Error('Cannot create a unique sketch name'); } - this.lastSketchBaseName = sketchBaseName; const sketchDir = path.join(parentPath, sketchName); const sketchFile = path.join(sketchDir, `${sketchName}.ino`); const [inoContent] = await Promise.all([ - this.loadInoContent(), + content ? content : this.loadInoContent(), fs.mkdir(sketchDir, { recursive: true }), ]); await fs.writeFile(sketchFile, inoContent, { encoding: 'utf8' }); @@ -441,7 +444,7 @@ export class SketchesServiceImpl * For example, on Windows, instead of getting an [8.3 filename](https://en.wikipedia.org/wiki/8.3_filename), callers will get a fully resolved path. * `C:\\Users\\KITTAA~1\\AppData\\Local\\Temp\\.arduinoIDE-unsaved2022615-21100-iahybb.yyvh\\sketch_jul15a` will be `C:\\Users\\kittaakos\\AppData\\Local\\Temp\\.arduinoIDE-unsaved2022615-21100-iahybb.yyvh\\sketch_jul15a` */ - private createTempFolder(): Promise { + createTempFolder(): Promise { return new Promise((resolve, reject) => { temp.mkdir({ prefix: TempSketchPrefix }, (createError, dirPath) => { if (createError) { @@ -499,58 +502,37 @@ export class SketchesServiceImpl async copy( sketch: Sketch, - { destinationUri }: { destinationUri: string } - ): Promise { - const source = FileUri.fsPath(sketch.uri); - const sketchExists = await exists(source); - if (!sketchExists) { - throw new Error(`Sketch does not exist: ${sketch}`); + { + destinationUri, + onlySketchFiles, + }: { destinationUri: string; onlySketchFiles?: boolean } + ): Promise { + const sourceUri = sketch.uri; + const source = FileUri.fsPath(sourceUri); + const destination = FileUri.fsPath(destinationUri); + if (source === destination) { + const reloadedSketch = await this.doLoadSketch(sourceUri, false); + return reloadedSketch; } - // Nothing to do when source and destination are the same. - if (sketch.uri === destinationUri) { - await this.doLoadSketch(sketch.uri, false); // Sanity check. - return sketch.uri; + const sourceFolderBasename = path.basename(source); + const destinationFolderBasename = path.basename(destination); + let filter: cpy.Options['filter']; + if (onlySketchFiles) { + const sketchFilePaths = Sketch.uris(sketch).map(FileUri.fsPath); + filter = (file) => sketchFilePaths.includes(file.path); + } else { + filter = () => true; } - - const copy = async (sourcePath: string, destinationPath: string) => { - return new Promise((resolve, reject) => { - ncp.ncp(sourcePath, destinationPath, async (error) => { - if (error) { - reject(error); - return; - } - const newName = path.basename(destinationPath); - try { - const oldPath = path.join( - destinationPath, - new URI(sketch.mainFileUri).path.base - ); - const newPath = path.join(destinationPath, `${newName}.ino`); - if (oldPath !== newPath) { - await fs.rename(oldPath, newPath); - } - await this.doLoadSketch( - FileUri.create(destinationPath).toString(), - false - ); // Sanity check. - resolve(); - } catch (e) { - reject(e); - } - }); - }); - }; - // https://github.com/arduino/arduino-ide/issues/65 - // When copying `/path/to/sketchbook/sketch_A` to `/path/to/sketchbook/sketch_A/anything` on a non-POSIX filesystem, - // `ncp` makes a recursion and copies the folders over and over again. In such cases, we copy the source into a temp folder, - // then move it to the desired destination. - const destination = FileUri.fsPath(destinationUri); - let tempDestination = await this.createTempFolder(); - tempDestination = path.join(tempDestination, sketch.name); - await fs.mkdir(tempDestination, { recursive: true }); - await copy(source, tempDestination); - await copy(tempDestination, destination); - return FileUri.create(destination).toString(); + await cpy(source, destination, { + rename: (basename) => + sourceFolderBasename !== destinationFolderBasename && + basename === `${sourceFolderBasename}.ino` + ? `${destinationFolderBasename}.ino` + : basename, + filter, + }); + const copiedSketch = await this.doLoadSketch(destinationUri, false); + return copiedSketch; } async archive(sketch: Sketch, destinationUri: string): Promise { diff --git a/arduino-ide-extension/src/test/browser/connection-status-service.test.ts b/arduino-ide-extension/src/test/browser/connection-status-service.test.ts new file mode 100644 index 000000000..1f1228ce6 --- /dev/null +++ b/arduino-ide-extension/src/test/browser/connection-status-service.test.ts @@ -0,0 +1,46 @@ +import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom'; +const disableJSDOM = enableJSDOM(); + +import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider'; +FrontendApplicationConfigProvider.set({}); + +import { expect } from 'chai'; +import { + backendOfflineText, + backendOfflineTooltip, + daemonOfflineText, + daemonOfflineTooltip, + offlineText, + offlineTooltip, + offlineMessage, +} from '../../browser/theia/core/connection-status-service'; + +disableJSDOM(); + +describe('connection-status-service', () => { + describe('offlineMessage', () => { + it('should warn about the offline backend if connected to both CLI daemon and Internet but offline', () => { + const actual = offlineMessage({ port: '50051', online: true }); + expect(actual.text).to.be.equal(backendOfflineText); + expect(actual.tooltip).to.be.equal(backendOfflineTooltip); + }); + + it('should warn about the offline CLI daemon if the CLI daemon port is missing but has Internet connection', () => { + const actual = offlineMessage({ port: undefined, online: true }); + expect(actual.text.endsWith(daemonOfflineText)).to.be.true; + expect(actual.tooltip).to.be.equal(daemonOfflineTooltip); + }); + + it('should warn about the offline CLI daemon if the CLI daemon port is missing and has no Internet connection', () => { + const actual = offlineMessage({ port: undefined, online: false }); + expect(actual.text.endsWith(daemonOfflineText)).to.be.true; + expect(actual.tooltip).to.be.equal(daemonOfflineTooltip); + }); + + it('should warn about no Internet connection if CLI daemon port is available but the Internet connection is offline', () => { + const actual = offlineMessage({ port: '50051', online: false }); + expect(actual.text.endsWith(offlineText)).to.be.true; + expect(actual.tooltip).to.be.equal(offlineTooltip); + }); + }); +}); diff --git a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts index dd9ec71ae..fe89cc4b2 100644 --- a/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/boards-service-impl.slow-test.ts @@ -1,4 +1,4 @@ -import { Disposable } from '@theia/core/lib/common/disposable'; +import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { BoardSearch, BoardsService } from '../../common/protocol'; @@ -10,26 +10,18 @@ import { describe('boards-service-impl', () => { let boardService: BoardsService; - let toDispose: Disposable[] = []; + let toDispose: DisposableCollection; before(async function () { configureBackendApplicationConfigProvider(); this.timeout(20_000); - toDispose = []; + toDispose = new DisposableCollection(); const container = createContainer(); await start(container, toDispose); boardService = container.get(BoardsService); }); - after(() => { - let disposable = toDispose.pop(); - while (disposable) { - try { - disposable?.dispose(); - } catch {} - disposable = toDispose.pop(); - } - }); + after(() => toDispose.dispose()); describe('search', () => { it('should run search', async function () { @@ -37,7 +29,7 @@ describe('boards-service-impl', () => { expect(result).is.not.empty; }); - it("should boost a result when 'types' includes 'arduino', and lower the score if deprecated", async function () { + it("should boost a result when 'types' includes 'arduino', and lower the score if deprecated", async () => { const result = await boardService.search({}); const arduinoIndexes: number[] = []; const otherIndexes: number[] = []; @@ -108,7 +100,7 @@ function createContainer(): Container { async function start( container: Container, - toDispose: Disposable[] + toDispose: DisposableCollection ): Promise { return startDaemon(container, toDispose); } diff --git a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts index fa73f6549..700673c32 100644 --- a/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/core-service-impl.slow-test.ts @@ -1,6 +1,6 @@ import { CancellationTokenSource } from '@theia/core/lib/common/cancellation'; import { CommandRegistry } from '@theia/core/lib/common/command'; -import { Disposable } from '@theia/core/lib/common/disposable'; +import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { isWindows } from '@theia/core/lib/common/os'; import { FileUri } from '@theia/core/lib/node/file-uri'; import { Container, injectable } from '@theia/core/shared/inversify'; @@ -23,7 +23,7 @@ const uno = 'arduino:avr:uno'; describe('core-service-impl', () => { let container: Container; - let toDispose: Disposable[]; + let toDispose: DisposableCollection; before(() => { configureBackendApplicationConfigProvider(); @@ -31,20 +31,12 @@ describe('core-service-impl', () => { beforeEach(async function () { this.timeout(setupTimeout); - toDispose = []; + toDispose = new DisposableCollection(); container = createContainer(); await start(container, toDispose); }); - afterEach(() => { - let disposable = toDispose.pop(); - while (disposable) { - try { - disposable?.dispose(); - } catch {} - disposable = toDispose.pop(); - } - }); + afterEach(() => toDispose.dispose()); describe('compile', () => { it('should execute a command with the build path', async function () { @@ -92,7 +84,7 @@ describe('core-service-impl', () => { async function start( container: Container, - toDispose: Disposable[] + toDispose: DisposableCollection ): Promise { await startDaemon(container, toDispose, async (container) => { const boardService = container.get(BoardsService); diff --git a/arduino-ide-extension/src/test/node/library-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/library-service-impl.slow-test.ts index cd0f85737..95613395e 100644 --- a/arduino-ide-extension/src/test/node/library-service-impl.slow-test.ts +++ b/arduino-ide-extension/src/test/node/library-service-impl.slow-test.ts @@ -1,4 +1,4 @@ -import { Disposable } from '@theia/core/lib/common/disposable'; +import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Container } from '@theia/core/shared/inversify'; import { expect } from 'chai'; import { LibrarySearch, LibraryService } from '../../common/protocol'; @@ -11,26 +11,18 @@ import { describe('library-service-impl', () => { let libraryService: LibraryService; - let toDispose: Disposable[] = []; + let toDispose: DisposableCollection; before(async function () { configureBackendApplicationConfigProvider(); this.timeout(20_000); - toDispose = []; + toDispose = new DisposableCollection(); const container = createContainer(); await start(container, toDispose); libraryService = container.get(LibraryService); }); - after(() => { - let disposable = toDispose.pop(); - while (disposable) { - try { - disposable?.dispose(); - } catch {} - disposable = toDispose.pop(); - } - }); + after(() => toDispose.dispose()); describe('search', () => { it('should run search', async function () { @@ -89,7 +81,7 @@ function createContainer(): Container { async function start( container: Container, - toDispose: Disposable[] + toDispose: DisposableCollection ): Promise { return startDaemon(container, toDispose); } diff --git a/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts new file mode 100644 index 000000000..7669971b1 --- /dev/null +++ b/arduino-ide-extension/src/test/node/sketches-service-impl.slow-test.ts @@ -0,0 +1,262 @@ +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; +import { FileUri } from '@theia/core/lib/node/file-uri'; +import { Container } from '@theia/core/shared/inversify'; +import { expect } from 'chai'; +import { promises as fs } from 'fs'; +import { basename, join } from 'path'; +import { sync as rimrafSync } from 'rimraf'; +import { Sketch, SketchesService } from '../../common/protocol'; +import { SketchesServiceImpl } from '../../node/sketches-service-impl'; +import { ErrnoException } from '../../node/utils/errors'; +import { + configureBackendApplicationConfigProvider, + createBaseContainer, + startDaemon, +} from './test-bindings'; + +const testTimeout = 10_000; + +describe('sketches-service-impl', () => { + let container: Container; + let toDispose: DisposableCollection; + + before(async () => { + configureBackendApplicationConfigProvider(); + toDispose = new DisposableCollection(); + container = createContainer(); + await start(container, toDispose); + }); + + after(() => toDispose.dispose()); + + describe('copy', () => { + it('should copy a sketch when the destination does not exist', async function () { + this.timeout(testTimeout); + const sketchesService = + container.get(SketchesService); + const destinationPath = await sketchesService['createTempFolder'](); + let sketch = await sketchesService.createNewSketch(); + toDispose.push(disposeSketch(sketch)); + const sourcePath = FileUri.fsPath(sketch.uri); + const libBasename = 'lib.cpp'; + const libContent = 'lib content'; + const libPath = join(sourcePath, libBasename); + await fs.writeFile(libPath, libContent, { encoding: 'utf8' }); + const headerBasename = 'header.h'; + const headerContent = 'header content'; + const headerPath = join(sourcePath, headerBasename); + await fs.writeFile(headerPath, headerContent, { encoding: 'utf8' }); + + sketch = await sketchesService.loadSketch(sketch.uri); + expect(Sketch.isInSketch(FileUri.create(libPath), sketch)).to.be.true; + expect(Sketch.isInSketch(FileUri.create(headerPath), sketch)).to.be.true; + + const copied = await sketchesService.copy(sketch, { + destinationUri: FileUri.create(destinationPath).toString(), + }); + toDispose.push(disposeSketch(copied)); + expect(copied.name).to.be.equal(basename(destinationPath)); + expect( + Sketch.isInSketch( + FileUri.create( + join(destinationPath, `${basename(destinationPath)}.ino`) + ), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, libBasename)), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, headerBasename)), + copied + ) + ).to.be.true; + }); + + it("should copy only sketch files if 'onlySketchFiles' is true", async function () { + this.timeout(testTimeout); + const sketchesService = + container.get(SketchesService); + const destinationPath = await sketchesService['createTempFolder'](); + let sketch = await sketchesService.createNewSketch(); + toDispose.push(disposeSketch(sketch)); + const sourcePath = FileUri.fsPath(sketch.uri); + const libBasename = 'lib.cpp'; + const libContent = 'lib content'; + const libPath = join(sourcePath, libBasename); + await fs.writeFile(libPath, libContent, { encoding: 'utf8' }); + const headerBasename = 'header.h'; + const headerContent = 'header content'; + const headerPath = join(sourcePath, headerBasename); + await fs.writeFile(headerPath, headerContent, { encoding: 'utf8' }); + const logBasename = 'inols-clangd-err.log'; + const logContent = 'log file content'; + const logPath = join(sourcePath, logBasename); + await fs.writeFile(logPath, logContent, { encoding: 'utf8' }); + + sketch = await sketchesService.loadSketch(sketch.uri); + expect(Sketch.isInSketch(FileUri.create(libPath), sketch)).to.be.true; + expect(Sketch.isInSketch(FileUri.create(headerPath), sketch)).to.be.true; + expect(Sketch.isInSketch(FileUri.create(logPath), sketch)).to.be.false; + const reloadedLogContent = await fs.readFile(logPath, { + encoding: 'utf8', + }); + expect(reloadedLogContent).to.be.equal(logContent); + + const copied = await sketchesService.copy(sketch, { + destinationUri: FileUri.create(destinationPath).toString(), + onlySketchFiles: true, + }); + toDispose.push(disposeSketch(copied)); + expect(copied.name).to.be.equal(basename(destinationPath)); + expect( + Sketch.isInSketch( + FileUri.create( + join(destinationPath, `${basename(destinationPath)}.ino`) + ), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, libBasename)), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, headerBasename)), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, logBasename)), + copied + ) + ).to.be.false; + try { + await fs.readFile(join(destinationPath, logBasename), { + encoding: 'utf8', + }); + expect.fail( + 'Log file must not exist in the destination. Expected ENOENT when loading the log file.' + ); + } catch (err) { + expect(ErrnoException.isENOENT(err)).to.be.true; + } + }); + + it('should copy sketch inside the sketch folder', async function () { + this.timeout(testTimeout); + const sketchesService = + container.get(SketchesService); + let sketch = await sketchesService.createNewSketch(); + const destinationPath = join(FileUri.fsPath(sketch.uri), 'nested_copy'); + toDispose.push(disposeSketch(sketch)); + const sourcePath = FileUri.fsPath(sketch.uri); + const libBasename = 'lib.cpp'; + const libContent = 'lib content'; + const libPath = join(sourcePath, libBasename); + await fs.writeFile(libPath, libContent, { encoding: 'utf8' }); + const headerBasename = 'header.h'; + const headerContent = 'header content'; + const headerPath = join(sourcePath, headerBasename); + await fs.writeFile(headerPath, headerContent, { encoding: 'utf8' }); + + sketch = await sketchesService.loadSketch(sketch.uri); + expect(Sketch.isInSketch(FileUri.create(libPath), sketch)).to.be.true; + expect(Sketch.isInSketch(FileUri.create(headerPath), sketch)).to.be.true; + + const copied = await sketchesService.copy(sketch, { + destinationUri: FileUri.create(destinationPath).toString(), + }); + toDispose.push(disposeSketch(copied)); + expect(copied.name).to.be.equal(basename(destinationPath)); + expect( + Sketch.isInSketch( + FileUri.create( + join(destinationPath, `${basename(destinationPath)}.ino`) + ), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, libBasename)), + copied + ) + ).to.be.true; + expect( + Sketch.isInSketch( + FileUri.create(join(destinationPath, headerBasename)), + copied + ) + ).to.be.true; + }); + + it('should copy sketch with overwrite when source and destination sketch folder names are the same', async function () { + this.timeout(testTimeout); + const sketchesService = + container.get(SketchesService); + const sketchFolderName = 'alma'; + const contentOne = 'korte'; + const contentTwo = 'szilva'; + const [sketchOne, sketchTwo] = await Promise.all([ + sketchesService.createNewSketch(sketchFolderName, contentOne), + sketchesService.createNewSketch(sketchFolderName, contentTwo), + ]); + toDispose.push(disposeSketch(sketchOne, sketchTwo)); + const [mainFileContentOne, mainFileContentTwo] = await Promise.all([ + mainFileContentOf(sketchOne), + mainFileContentOf(sketchTwo), + ]); + expect(mainFileContentOne).to.be.equal(contentOne); + expect(mainFileContentTwo).to.be.equal(contentTwo); + + await sketchesService.copy(sketchOne, { destinationUri: sketchTwo.uri }); + const [mainFileContentOneAfterCopy, mainFileContentTwoAfterCopy] = + await Promise.all([ + mainFileContentOf(sketchOne), + mainFileContentOf(sketchTwo), + ]); + expect(mainFileContentOneAfterCopy).to.be.equal(contentOne); + expect(mainFileContentTwoAfterCopy).to.be.equal(contentOne); + }); + }); +}); + +function disposeSketch(...sketch: Sketch[]): Disposable { + return new DisposableCollection( + ...sketch + .map(({ uri }) => FileUri.fsPath(uri)) + .map((path) => + Disposable.create(() => rimrafSync(path, { maxBusyTries: 5 })) + ) + ); +} + +async function mainFileContentOf(sketch: Sketch): Promise { + return fs.readFile(FileUri.fsPath(sketch.mainFileUri), { + encoding: 'utf8', + }); +} + +async function start( + container: Container, + toDispose: DisposableCollection +): Promise { + await startDaemon(container, toDispose); +} + +function createContainer(): Container { + return createBaseContainer(); +} diff --git a/arduino-ide-extension/src/test/node/test-bindings.ts b/arduino-ide-extension/src/test/node/test-bindings.ts index 19b99f3a3..80a3eea7c 100644 --- a/arduino-ide-extension/src/test/node/test-bindings.ts +++ b/arduino-ide-extension/src/test/node/test-bindings.ts @@ -4,7 +4,10 @@ import { CommandService, } from '@theia/core/lib/common/command'; import { bindContributionProvider } from '@theia/core/lib/common/contribution-provider'; -import { Disposable } from '@theia/core/lib/common/disposable'; +import { + Disposable, + DisposableCollection, +} from '@theia/core/lib/common/disposable'; import { EnvVariablesServer as TheiaEnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { ILogger, Loggable } from '@theia/core/lib/common/logger'; import { LogLevel } from '@theia/core/lib/common/logger-protocol'; @@ -289,18 +292,23 @@ export function createBaseContainer( export async function startDaemon( container: Container, - toDispose: Disposable[], + toDispose: DisposableCollection, startCustomizations?: ( container: Container, - toDispose: Disposable[] + toDispose: DisposableCollection ) => Promise ): Promise { const daemon = container.get(ArduinoDaemonImpl); const configService = container.get(ConfigServiceImpl); + const coreClientProvider = + container.get(CoreClientProvider); toDispose.push(Disposable.create(() => daemon.stop())); configService.onStart(); daemon.onStart(); - await waitForEvent(daemon.onDaemonStarted, 10_000); + await Promise.all([ + waitForEvent(daemon.onDaemonStarted, 10_000), + coreClientProvider.client, + ]); if (startCustomizations) { await startCustomizations(container, toDispose); } diff --git a/i18n/en.json b/i18n/en.json index b6e67e855..22419c5bf 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -93,8 +93,8 @@ "cloudSketchbook": "Cloud Sketchbook", "connected": "Connected", "continue": "Continue", - "donePulling": "Done pulling ‘{0}’.", - "donePushing": "Done pushing ‘{0}’.", + "donePulling": "Done pulling '{0}'.", + "donePushing": "Done pushing '{0}'.", "embed": "Embed:", "emptySketchbook": "Your Sketchbook is empty", "goToCloud": "Go to Cloud", @@ -179,6 +179,9 @@ "inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}" } }, + "connectionStatus": { + "connectionLost": "Connection lost. Cloud sketch actions and updates won't be available." + }, "contributions": { "addFile": "Add File", "fileAdded": "One file added to the sketch.", @@ -199,6 +202,7 @@ "copyError": "Copy error messages", "noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu." }, + "createCloudCopy": "Push Sketch to Cloud", "daemon": { "restart": "Restart Daemon", "start": "Start Daemon", @@ -462,6 +466,9 @@ "dismissSurvey": "Don't show again", "surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better." }, + "title": { + "cloud": "Cloud" + }, "updateIndexes": { "updateIndexes": "Update Indexes", "updateLibraryIndex": "Update Library Index", @@ -494,6 +501,7 @@ "couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.", "daemonOffline": "CLI Daemon Offline", "offline": "Offline", + "offlineText": "Offline", "quitTitle": "Are you sure you want to quit?" }, "editor": { diff --git a/yarn.lock b/yarn.lock index 3ed199799..44833b671 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1184,6 +1184,11 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + "@lerna/add@6.1.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-6.1.0.tgz#0f09495c5e1af4c4f316344af34b6d1a91b15b19" @@ -1890,6 +1895,14 @@ semver "^7.3.5" tar "^6.1.11" +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + "@msgpackr-extract/msgpackr-extract-darwin-arm64@2.1.2": version "2.1.2" resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-2.1.2.tgz#9571b87be3a3f2c46de05585470bc4f3af2f6f00" @@ -1933,6 +1946,11 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + "@nodelib/fs.walk@^1.2.3": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" @@ -3294,7 +3312,7 @@ dependencies: "@types/node" "*" -"@types/glob@*", "@types/glob@^7.2.0": +"@types/glob@*", "@types/glob@^7.1.1", "@types/glob@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== @@ -3461,13 +3479,6 @@ dependencies: "@types/express" "*" -"@types/ncp@^2.0.4": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/ncp/-/ncp-2.0.5.tgz#5c53b229a321946102a188b603306162137f4fb9" - integrity sha512-ocK0p8JuFmX7UkMabFPjY0F7apPvQyLWt5qtdvuvQEBz9i4m2dbzV+6L1zNaUp042RfnL6pHnxDE53OH6XQ9VQ== - dependencies: - "@types/node" "*" - "@types/node-fetch@^2.5.7": version "2.6.2" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" @@ -4531,7 +4542,7 @@ array-sort@^0.1.4: get-value "^2.0.6" kind-of "^5.0.2" -array-union@^1.0.1: +array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== @@ -5187,6 +5198,11 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +call-me-maybe@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" + integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -5943,6 +5959,31 @@ cp-file@^6.1.0: pify "^4.0.1" safe-buffer "^5.0.1" +cp-file@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" + integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw== + dependencies: + graceful-fs "^4.1.2" + make-dir "^3.0.0" + nested-error-stacks "^2.0.0" + p-event "^4.1.0" + +cpy@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/cpy/-/cpy-8.1.2.tgz#e339ea54797ad23f8e3919a5cffd37bfc3f25935" + integrity sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg== + dependencies: + arrify "^2.0.1" + cp-file "^7.0.0" + globby "^9.2.0" + has-glob "^1.0.0" + junk "^3.1.0" + nested-error-stacks "^2.1.0" + p-all "^2.1.0" + p-filter "^2.1.0" + p-map "^3.0.0" + create-frame@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/create-frame/-/create-frame-1.0.0.tgz#8b95f2691e3249b6080443e33d0bad9f8f6975aa" @@ -6402,7 +6443,7 @@ diff@^5.0.0: resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== -dir-glob@^2.0.0: +dir-glob@^2.0.0, dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== @@ -6416,6 +6457,20 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dns-packet@^5.2.4: + version "5.4.0" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" + integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dns-socket@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/dns-socket/-/dns-socket-4.2.2.tgz#58b0186ec053ea0731feb06783c7eeac4b95b616" + integrity sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg== + dependencies: + dns-packet "^5.2.4" + doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -7236,6 +7291,18 @@ fast-glob@3.2.7: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + fast-glob@^3.2.5, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" @@ -7925,6 +7992,14 @@ github-from-package@0.0.0: resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -7932,6 +8007,11 @@ glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" @@ -8049,6 +8129,20 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + google-protobuf@3.12.4: version "3.12.4" resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.12.4.tgz#fd89b7e5052cdb35a80f9b455612851d542a5c9f" @@ -8076,6 +8170,23 @@ got@^11.7.0, got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" +got@^11.8.0: + version "11.8.6" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" + integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + got@^8.3.1: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -8257,6 +8368,13 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" + integrity sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g== + dependencies: + is-glob "^3.0.0" + has-property-descriptors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" @@ -8595,7 +8713,7 @@ ignore@^3.3.5: resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== -ignore@^4.0.6: +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -8745,6 +8863,11 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + ip@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" @@ -8900,7 +9023,7 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.1: +is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== @@ -8922,6 +9045,13 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-glob@^3.0.0, is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== + dependencies: + is-extglob "^2.1.0" + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -8934,6 +9064,13 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" @@ -9002,6 +9139,16 @@ is-odd@^0.1.2: dependencies: is-number "^3.0.0" +is-online@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/is-online/-/is-online-9.0.1.tgz#71a34202fa826bae6f3ff8bea420c56573448a5f" + integrity sha512-+08dRW0dcFOtleR2N3rHRVxDyZtQitUp9cC+KpKTds0mXibbQyW5js7xX0UGyQXkaLUJObe0w6uQ4ex34lX9LA== + dependencies: + got "^11.8.0" + p-any "^3.0.0" + p-timeout "^3.2.0" + public-ip "^4.0.4" + is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -9418,6 +9565,11 @@ jsprim@^1.2.2: array-includes "^3.1.5" object.assign "^4.1.2" +junk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" + integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== + just-diff-apply@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.1.tgz#1debed059ad009863b4db0e8d8f333d743cdd83b" @@ -10167,7 +10319,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -10372,7 +10524,7 @@ micromark@^3.0.0: micromark-util-types "^1.0.1" uvu "^0.5.0" -micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -10841,7 +10993,7 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -nested-error-stacks@^2.0.0: +nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== @@ -11438,6 +11590,21 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +p-all@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-all/-/p-all-2.1.0.tgz#91419be56b7dee8fe4c5db875d55e0da084244a0" + integrity sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA== + dependencies: + p-map "^2.0.0" + +p-any@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-any/-/p-any-3.0.0.tgz#79847aeed70b5d3a10ea625296c0c3d2e90a87b9" + integrity sha512-5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w== + dependencies: + p-cancelable "^2.0.0" + p-some "^5.0.0" + p-cancelable@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" @@ -11470,6 +11637,20 @@ p-event@^2.1.0: dependencies: p-timeout "^2.0.1" +p-event@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" + integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== + dependencies: + p-timeout "^3.1.0" + +p-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -11532,6 +11713,11 @@ p-map-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + p-map@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" @@ -11569,6 +11755,14 @@ p-reduce@^2.0.0, p-reduce@^2.1.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== +p-some@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-some/-/p-some-5.0.0.tgz#8b730c74b4fe5169d7264a240ad010b6ebc686a4" + integrity sha512-Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig== + dependencies: + aggregate-error "^3.0.0" + p-cancelable "^2.0.0" + p-timeout@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" @@ -11576,7 +11770,7 @@ p-timeout@^2.0.1: dependencies: p-finally "^1.0.0" -p-timeout@^3.2.0: +p-timeout@^3.1.0, p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -11719,6 +11913,11 @@ path-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -12147,6 +12346,15 @@ psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== +public-ip@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/public-ip/-/public-ip-4.0.4.tgz#b3784a5a1ff1b81d015b9a18450be65ffd929eb3" + integrity sha512-EJ0VMV2vF6Cu7BIPo3IMW1Maq6ME+fbR0NcPmqDfpfNGIRPue1X8QrGjrg/rfjDkOsIkKHIf2S5FlEa48hFMTA== + dependencies: + dns-socket "^4.2.2" + got "^9.6.0" + is-ip "^3.1.0" + pump@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" @@ -13229,6 +13437,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"