summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--maps/map1.mapbin84 -> 0 bytes
-rw-r--r--maps/map1.pdfbin78962 -> 0 bytes
-rw-r--r--maps/map1.svg1558
-rw-r--r--maps/map1.txt16
-rw-r--r--maps/map2.mapbin17 -> 0 bytes
-rw-r--r--maps/map2.txt5
-rwxr-xr-xmaps/mapgen.py31
-rwxr-xr-xmaps/mappdf.py56
-rwxr-xr-xmaps/mapprint.py24
-rw-r--r--maps/readme.md45
-rw-r--r--maps/tiles/0.svg3
-rw-r--r--maps/tiles/1.svg11
-rw-r--r--maps/tiles/2.svg11
-rw-r--r--maps/tiles/3.svg11
-rw-r--r--maps/tiles/4.svg11
-rw-r--r--maps/tiles/5.svg11
-rw-r--r--maps/tiles/6.svg11
-rw-r--r--maps/tiles/7.svg11
-rw-r--r--maps/tiles/8.svg11
-rw-r--r--maps/tiles/9.svg11
-rw-r--r--maps/tiles/a.svg11
-rw-r--r--maps/tiles/b.svg11
-rw-r--r--maps/tiles/c.svg11
-rw-r--r--maps/tiles/d.svg11
-rw-r--r--maps/tiles/e.svg11
-rw-r--r--maps/tiles/f.svg11
-rw-r--r--readme.md49
27 files changed, 49 insertions, 1903 deletions
diff --git a/maps/map1.map b/maps/map1.map
deleted file mode 100644
index 980c069..0000000
--- a/maps/map1.map
+++ /dev/null
Binary files differ
diff --git a/maps/map1.pdf b/maps/map1.pdf
deleted file mode 100644
index a87deef..0000000
--- a/maps/map1.pdf
+++ /dev/null
Binary files differ
diff --git a/maps/map1.svg b/maps/map1.svg
deleted file mode 100644
index 4b6e46b..0000000
--- a/maps/map1.svg
+++ /dev/null
@@ -1,1558 +0,0 @@
-<?xml version='1.0' encoding='ASCII' standalone='yes'?>
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3590.551181102362px" viewBox="0 0 3590.551181102362 5744.881889763779" height="5744.881889763779px">
- <g>
- <g transform="translate(0, 0) scale(14.960629921259843 14.960629921259843) "><g transform="translate(0, 0) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 0) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 0) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 0) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 0) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 0) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 0) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 0) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 0) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 0) scale(1 1) "><g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 24) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 24) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 24) scale(1 1) "><g clip-path="url(#clip0_3_34)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_34">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 24) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 24) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 24) scale(1 1) "><g clip-path="url(#clip0_3_34)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_34">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 24) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 24) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 24) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 24) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 48) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 48) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 48) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 48) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 48) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 48) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 48) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 48) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 48) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 48) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 72) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 72) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 72) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 72) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 72) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 72) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 72) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 72) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 72) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 72) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 96) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 96) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 96) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 96) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 96) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 96) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 96) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 96) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 96) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 96) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 120) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 120) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 120) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 120) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 120) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 120) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 120) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 120) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 120) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 120) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 144) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 144) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 144) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 144) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 144) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 144) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 144) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 144) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 144) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 144) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 168) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 168) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 168) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 168) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 168) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 168) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 168) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 168) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 168) scale(1 1) "><g clip-path="url(#clip0_3_34)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_34">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 168) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 192) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 192) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 192) scale(1 1) "><g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 192) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 192) scale(1 1) "><g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 192) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 192) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 192) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 192) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 192) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 216) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 216) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 216) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 216) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 216) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 216) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 216) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 216) scale(1 1) "><g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 216) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 216) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 240) scale(1 1) "><g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 240) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 240) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 240) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 240) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 240) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 240) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 240) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 240) scale(1 1) "><g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 240) scale(1 1) "><g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 264) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 264) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 264) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 264) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 264) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 264) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 264) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 264) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 264) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 264) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 288) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 288) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 288) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 288) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 288) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(120, 288) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(144, 288) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(168, 288) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 288) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 288) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 312) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 312) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 312) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 312) scale(1 1) "><g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 312) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(120, 312) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(144, 312) scale(1 1) "><rect width="24" height="24" fill="white"/>
-</g>
- <g transform="translate(168, 312) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 312) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 312) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 336) scale(1 1) "><g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 336) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 336) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 336) scale(1 1) "><g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 336) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 336) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 336) scale(1 1) "><g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 336) scale(1 1) "><g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 336) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 336) scale(1 1) "><g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(0, 360) scale(1 1) "><g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(24, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(48, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(72, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(96, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(120, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(144, 360) scale(1 1) "><g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(168, 360) scale(1 1) "><g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(192, 360) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
- <g transform="translate(216, 360) scale(1 1) "><g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</g>
-</g>
- </g>
-</svg>
diff --git a/maps/map1.txt b/maps/map1.txt
deleted file mode 100644
index 37ab452..0000000
--- a/maps/map1.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-c559e59c98
-ac16f163aa
-aac92c553a
-6ba6969c9a
-c369ac7be3
-69cba2c3e9
-c3aae9ac3a
-2c3a26361a
-c38a8c559a
-6d3673c532
-cfddddf988
-efff777baa
-eff3000aaa
-eff9000efb
-efffdddbaa
-6777777322
diff --git a/maps/map2.map b/maps/map2.map
deleted file mode 100644
index c7777c9..0000000
--- a/maps/map2.map
+++ /dev/null
Binary files differ
diff --git a/maps/map2.txt b/maps/map2.txt
deleted file mode 100644
index 6465c5a..0000000
--- a/maps/map2.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-c5559
-ac59a
-aa8aa
-a63aa
-6553a
diff --git a/maps/mapgen.py b/maps/mapgen.py
deleted file mode 100755
index a7e6817..0000000
--- a/maps/mapgen.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import sys
-from struct import pack
-
-def mapgen(filename):
- file = open(filename, 'r')
- target = open(filename + '.map', 'wb')
- contents = file.read()
-
- lines = contents.strip().split("\n")
- target.write(pack('>H', len(lines[0])))
- target.write(pack('>H', len(lines)))
-
- first_nibble = False
- temp_byte = 0
- for char in contents.replace('\n', '').strip():
- first_nibble = not first_nibble
- num = int(char, 16)
- temp_byte |= num << (4 * first_nibble)
- if not first_nibble:
- target.write(pack('B', temp_byte))
- temp_byte = 0
- if first_nibble: target.write(pack('B', temp_byte))
-
- file.close()
- target.close()
-
-if __name__ == "__main__":
- if len(sys.argv) > 1:
- mapgen(sys.argv[1])
- else:
- exit(1)
diff --git a/maps/mappdf.py b/maps/mappdf.py
deleted file mode 100755
index 4f4a45d..0000000
--- a/maps/mappdf.py
+++ /dev/null
@@ -1,56 +0,0 @@
-import sys
-from struct import unpack
-import svgutils.transform as sg
-import svgutils.compose as sc
-
-SVG_TILE_SIZE = 24
-DPI = 96
-INCH = 2.54
-ROBOT_SIZE = 9.5
-ROBOT_SIZE_UNIT = "cm"
-
-RESIZE_FACTOR = ROBOT_SIZE / (SVG_TILE_SIZE / DPI * INCH)
-
-def read_tiles():
- tiles = []
- for x in range(16):
- tile = open(f"./tiles/{x:x}.svg", "r")
- tiles.append(tile.read())
- tile.close()
- return tiles
-
-def mappdf(filename):
- file = open(filename, 'rb')
- contents = file.read()
- file.close()
- tiles = read_tiles()
-
- width, height = unpack('>HH', contents[0:4])
-
- target = sg.SVGFigure()
- target.set_size((f"{width * SVG_TILE_SIZE}px", f"{height * SVG_TILE_SIZE}px"))
-
- for y in range(height):
- for x in range(width):
- nibble = x + y * width
- byte = int(nibble / 2)
- shift = byte * 2 - nibble + 1
- num = (contents[4 + byte] & (0xf << 4 * shift)) >> 4 * shift
-
- tile = sg.fromstring(tiles[num]).getroot()
- tile.moveto(x * SVG_TILE_SIZE, y * SVG_TILE_SIZE)
- target.append(tile)
-
- target.save(f"{filename}.svg")
- target_scaled = sc.SVG(f"{filename}.svg")
- target_scaled.scale(RESIZE_FACTOR)
- target = sc.Figure(width * SVG_TILE_SIZE * RESIZE_FACTOR, height * SVG_TILE_SIZE * RESIZE_FACTOR, target_scaled)
- target.save(f"{filename}.svg")
- print(f"inkscape --export-pdf={filename}.pdf {filename}.svg")
-
-
-if __name__ == "__main__":
- if len(sys.argv) > 1:
- mappdf(sys.argv[1])
- else:
- exit(1)
diff --git a/maps/mapprint.py b/maps/mapprint.py
deleted file mode 100755
index 4b56db6..0000000
--- a/maps/mapprint.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import sys
-from struct import unpack
-
-def mapprint(filename):
- file = open(filename, 'rb')
- contents = file.read()
- file.close()
-
- width, height = unpack('>HH', contents[0:4])
-
- for y in range(height):
- for x in range(width):
- nibble = x + y * width
- byte = int(nibble / 2)
- shift = byte * 2 - nibble + 1
- num = (contents[4 + byte] & (0xf << 4 * shift)) >> 4 * shift
- print(" ─│┘──└┴│┐│┤┌┬├┼"[num], end='')
- print("\n", end='')
-
-if __name__ == "__main__":
- if len(sys.argv) > 1:
- mapprint(sys.argv[1])
- else:
- exit(1)
diff --git a/maps/readme.md b/maps/readme.md
deleted file mode 100644
index 2629b4a..0000000
--- a/maps/readme.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# maps
-
-this directory contains map files. a .map file contains a binary representation
-of a maze, and can be sent to the robot over the wireless serial connection.
-map files have the following structure: first the width of the map as an
-unsigned 16-bit integer, then the height of the map also as an unsigned 16-bit
-integer. the rest of the file is the map content in reading order, where each
-byte contains two (nibble) map tiles. tiles are stored in the most significant
-portion of the byte first, so the last byte of a map file containing an uneven
-amount of tiles would look like `0x?0`.
-
-example tile:
-
-```
-┌───────┐ ┌───┬───┐
-│ b │ │ │ │
-│ a c │ │ └───┤
-│ d │ │ │
-└───────┘ └───────┘
- 0bDCBA 0b0110 (0x6)
-```
-
-garbage python scripts for generating and viewing these maps are included.
-[this](https://www.figma.com/file/GUKV1am9sqWpPoes9h8Ram/robotrun?node-id=0%3A1)
-figma file can be used to create a map, and then read out the hexadecimal
-notation for the map. google drive ocr works well enough to read out the red
-characters if you turn off path visibility in the figma document. figma also
-allows pdf export so you can print the maps, but the tiles are 24x24 pixels,
-not robot-sized (one tile is supposed to have about the same width and height
-as the robot's diameter).
-
-## exporting maps as pdf or svg
-
-```sh
-# generate svg file
-python3 mappdf.py [file]
-
-# render svg as pdf
-inkscape --export-pdf=map.pdf [file].svg
-
-# (optional) convert to tiles for printing at home
-# loop up map size using pdfinfo on map.pdf file
-pdfposter map.pdf tiles.pdf -m a4 -p [map size]
-```
-
diff --git a/maps/tiles/0.svg b/maps/tiles/0.svg
deleted file mode 100644
index fcdfaaa..0000000
--- a/maps/tiles/0.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<rect width="24" height="24" fill="white"/>
-</svg>
diff --git a/maps/tiles/1.svg b/maps/tiles/1.svg
deleted file mode 100644
index 171df35..0000000
--- a/maps/tiles/1.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_34)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_34">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/2.svg b/maps/tiles/2.svg
deleted file mode 100644
index e3eb06b..0000000
--- a/maps/tiles/2.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_35)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12H9ZM9 0V12H15V0H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_35">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/3.svg b/maps/tiles/3.svg
deleted file mode 100644
index 1e0dbad..0000000
--- a/maps/tiles/3.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_36)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM9 0V6H15V0H9ZM6 9H0V15H6V9ZM9 6C9 7.65685 7.65685 9 6 9V15C10.9706 15 15 10.9706 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_36">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/4.svg b/maps/tiles/4.svg
deleted file mode 100644
index a85e022..0000000
--- a/maps/tiles/4.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_40)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_40">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/5.svg b/maps/tiles/5.svg
deleted file mode 100644
index fdbcd25..0000000
--- a/maps/tiles/5.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_39)">
-<rect width="24" height="24" fill="white"/>
-<path d="M24 12L0 12" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_39">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/6.svg b/maps/tiles/6.svg
deleted file mode 100644
index 181d7e2..0000000
--- a/maps/tiles/6.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_38)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V6H15V0H9ZM18 15H24V9H18V15ZM9 6C9 10.9706 13.0294 15 18 15V9C16.3431 9 15 7.65685 15 6H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_38">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/7.svg b/maps/tiles/7.svg
deleted file mode 100644
index ca8166b..0000000
--- a/maps/tiles/7.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_37)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 0V12H15V0H9ZM12 9H0V15H12V9ZM12 15H24V9H12V15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_37">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/8.svg b/maps/tiles/8.svg
deleted file mode 100644
index 9da7e0d..0000000
--- a/maps/tiles/8.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_41)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12L15 12ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 12V24H15V12L9 12Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_41">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/9.svg b/maps/tiles/9.svg
deleted file mode 100644
index d499439..0000000
--- a/maps/tiles/9.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_42)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V18H9V24H15ZM6 9H0V15H6V9ZM15 18C15 13.0294 10.9706 9 6 9V15C7.65685 15 9 16.3431 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_42">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/a.svg b/maps/tiles/a.svg
deleted file mode 100644
index e787a43..0000000
--- a/maps/tiles/a.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_44)">
-<rect width="24" height="24" fill="white"/>
-<path d="M12 24V-1.90735e-06" stroke="black" stroke-width="6" stroke-linecap="round"/>
-</g>
-<defs>
-<clipPath id="clip0_3_44">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/b.svg b/maps/tiles/b.svg
deleted file mode 100644
index 9cd38e6..0000000
--- a/maps/tiles/b.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_45)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_45">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/c.svg b/maps/tiles/c.svg
deleted file mode 100644
index 2f5d16b..0000000
--- a/maps/tiles/c.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_49)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM15 24V18H9V24H15ZM18 15H24V9H18V15ZM15 18C15 16.3431 16.3431 15 18 15V9C13.0294 9 9 13.0294 9 18H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_49">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/d.svg b/maps/tiles/d.svg
deleted file mode 100644
index 1ad64ea..0000000
--- a/maps/tiles/d.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_48)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_48">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/e.svg b/maps/tiles/e.svg
deleted file mode 100644
index 9c9759a..0000000
--- a/maps/tiles/e.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_47)">
-<rect width="24" height="24" fill="white"/>
-<path d="M15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM9 0V12H15V0H9ZM12 15H24V9H12V15ZM9 12V24H15V12H9Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_47">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/maps/tiles/f.svg b/maps/tiles/f.svg
deleted file mode 100644
index a13b768..0000000
--- a/maps/tiles/f.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0_3_46)">
-<rect width="24" height="24" fill="white"/>
-<path d="M9 24C9 25.6569 10.3431 27 12 27C13.6569 27 15 25.6569 15 24H9ZM24 15C25.6569 15 27 13.6569 27 12C27 10.3431 25.6569 9 24 9V15ZM0 9C-1.65685 9 -3 10.3431 -3 12C-3 13.6569 -1.65685 15 0 15V9ZM15 0C15 -1.65685 13.6569 -3 12 -3C10.3431 -3 9 -1.65685 9 0H15ZM15 24V12H9V24H15ZM12 15H24V9H12V15ZM12 9H0V15H12V9ZM15 12V0H9V12H15Z" fill="black"/>
-</g>
-<defs>
-<clipPath id="clip0_3_46">
-<rect width="24" height="24" fill="white"/>
-</clipPath>
-</defs>
-</svg>
diff --git a/readme.md b/readme.md
index 7e3946b..9f96a8a 100644
--- a/readme.md
+++ b/readme.md
@@ -14,6 +14,55 @@ gebruikte externe libraries:
|-|-|
|[yan9a/serial](https://github.com/yan9a/serial)|cross-compatibiliteit voor seriële poorten lezen/schrijven voor windows en linux|
+## samenvatting werking
+
+Globaal gezien draait de robot altijd in een van twee 'standen'. De eerste
+stand is voor het doolhof-gedeelte van de kaart, en de tweede is voor het
+warenhuis-gedeelte. Tijdens de assessment kan het zijn dat de robot opgetild
+wordt en ergens anders wordt neergezet in het doolhof gedeelte, en hier moet de
+robot tegen kunnen. Om het doolhof op te lossen wordt of de rechterhandregel of
+de linkerhandregel gebruikt, zodat de robot altijd een uitgang van het doolhof
+kan vinden, zonder dat de robot zijn eigen positie binnen het doolhof hoeft te
+weten, of überhaupt bewust hoeft te zijn van de lay-out van het doolhof zelf.
+De overgang tussen het doolhof en het warenhuis wordt aangegeven met een soort
+zebrapad die dezelfde breedte als de rest van de lijnen heeft. Vooraf wordt via
+de client aangegeven aan de robot hoe groot het warenhuis is, en waar de in- en
+uitgangen van het warenhuis zitten, zodat de robot zelfstandig naar het
+afleverpunt en het oplaadstation kan rijden zodra alle bestellingen opgehaald
+zijn. De volgende specificaties moeten nog exact afgesproken worden voordat er
+een kaart gemaakt kan worden:
+
+- breedte van de lijn
+- tegelgrootte (binnen warenhuis)
+- exacte afmetingen van, en de hoeveelheid van de strepen in het zebrapad
+
+De lijnen van het doolhof hoeven niet te voldoen aan de tegelgrootte, maar de
+in- en uitgangen moeten wel een rechte overloop hebben op het
+warenhuis-gedeelte.
+
+## te bespreken
+
+- Consequent snake case gebruiken inplaats van camel case
+- Hoe wordt de controle over de robot 'overhandigd' tussen verschillende
+ standen?
+- Hoe weet de robot via welke in-/uitgang hij het warenhuis in/uit rijdt?
+ (barcode-scanner implementeren?)
+- Globale status met alle sensor data en andere diagnostische info in een
+ struct zetten en toeganklijk maken vanuit aansturingsstanden?
+- Middleware maken zodat er een soort pseudo-supervisor draait die het
+ overschakelen tussen standen kan beheren, en alle sensordata update in de
+ globale status struct?
+- Misschien een globaal software diagram maken?
+- Is het slim om de test stand voor de natte vloer (spinnen) ook een losse
+ 'stand' te maken?
+ - Noodstop ook een stand maken?
+- Welke software wordt er gebruikt om de kaart te maken?
+ (moet met exacte afstanden kunnen werken, lieft in centimeters; als het kan
+ ook fijn om in samen te werken)
+ - Figma?
+ - Adobe Illustrator?
+ - MS Visio?
+
## noob hoek
hier wat korte uitleg over dingen die niet zijn uitgelegd in vorige blokken van