@yz-social/civildefense.io 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/announce.js +24 -0
- package/docs/YZ-Brief.pdf +0 -0
- package/index.js +2 -0
- package/movie/camera.jpg +0 -0
- package/movie/movie.js +151 -0
- package/movie/script.js +272 -0
- package/movie/test.js +2 -0
- package/nginx/nginx.conf +83 -0
- package/nginx/yz.social +81 -0
- package/package.json +34 -0
- package/public/.well-known/appspecific/com.chrome.devtools.json +1 -0
- package/public/about/CivilDefense.mp4 +0 -0
- package/public/about/In case of Nazis, use CivilDefense.io.png +0 -0
- package/public/about/broadcast.png +0 -0
- package/public/about/civil-defense.png +0 -0
- package/public/about/conversation-and-image-high.png +0 -0
- package/public/about/conversation-and-image.png +0 -0
- package/public/about/en.html +157 -0
- package/public/about/es.html +142 -0
- package/public/about/flood-fire-ice-high.png +0 -0
- package/public/about/flood-fire-ice.png +0 -0
- package/public/about/hero-high.png +0 -0
- package/public/about/hero.png +0 -0
- package/public/about/index.html +8 -0
- package/public/about/nazis.png +0 -0
- package/public/about/script.js +69 -0
- package/public/about/streaming-radio-high.png +0 -0
- package/public/about/streaming-radio.png +0 -0
- package/public/about/style.css +306 -0
- package/public/control-safe-rectangle.html +40 -0
- package/public/favicon.ico +0 -0
- package/public/images/Achtung.png +0 -0
- package/public/images/YZ Owl.png +0 -0
- package/public/images/civil-defense-122.png +0 -0
- package/public/images/civil-defense-192.png +0 -0
- package/public/images/civil-defense-240.png +0 -0
- package/public/images/civil-defense-512.png +0 -0
- package/public/images/civil-defense.png +0 -0
- package/public/images/hero-small.png +0 -0
- package/public/images/qr-scan.svg +2 -0
- package/public/images/qr.png +0 -0
- package/public/images/qr.svg +155 -0
- package/public/images/recenter.svg +5 -0
- package/public/images/share.png +0 -0
- package/public/images/share.svg +2 -0
- package/public/index.html +170 -0
- package/public/javascripts/agent.js +324 -0
- package/public/javascripts/display.js +25 -0
- package/public/javascripts/hashtags.js +205 -0
- package/public/javascripts/main.js +394 -0
- package/public/javascripts/map.js +725 -0
- package/public/javascripts/p2pWebNetwork.js +245 -0
- package/public/javascripts/s2.js +77 -0
- package/public/javascripts/scripting.js +112 -0
- package/public/javascripts/service-manager.js +149 -0
- package/public/javascripts/translations.js +139 -0
- package/public/javascripts/versions.js +23 -0
- package/public/manifest.json +25 -0
- package/public/owl.ico +0 -0
- package/public/platformer.html +52 -0
- package/public/robots.txt +6 -0
- package/public/service-worker.js +218 -0
- package/public/stylesheets/style.css +442 -0
- package/routes/index.js +123 -0
- package/server/app.js +116 -0
- package/server/bridge.js +397 -0
- package/server/dirname.js +15 -0
- package/server/getLocation.js +18 -0
- package/server/identity.js +111 -0
- package/server/location.json +12 -0
- package/spec/axonSpec.gratuitousNameChangeForSignal +246 -0
- package/spec/axonSpec.js +280 -0
- package/spec/axonSpec.jsRemoveThePartAfterJS +252 -0
- package/spec/civildefenseSpec.js +61 -0
- package/spec/pubsubSpec.js +128 -0
- package/spec/support/jasmine.mjs +14 -0
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/* ── Tokens ─────────────────────────────────────────────── */
|
|
2
|
+
:root {
|
|
3
|
+
--navy: #1A3A8F;
|
|
4
|
+
--navy-dark: #112566;
|
|
5
|
+
--navy-mid: #1E4BAD;
|
|
6
|
+
--red: #C41230;
|
|
7
|
+
--red-light: #E8192C;
|
|
8
|
+
--white: #FFFFFF;
|
|
9
|
+
--off-white: #F4F6FC;
|
|
10
|
+
--grey-light: #E2E8F5;
|
|
11
|
+
--grey-text: #5A6A8A;
|
|
12
|
+
--body-text: #1C2A45;
|
|
13
|
+
--font-display: 'Barlow Condensed', sans-serif;
|
|
14
|
+
--font-body: 'Inter', sans-serif;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* ── Reset ──────────────────────────────────────────────── */
|
|
18
|
+
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
19
|
+
html { scroll-behavior: smooth; }
|
|
20
|
+
body {
|
|
21
|
+
font-family: var(--font-body);
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
color: var(--body-text);
|
|
24
|
+
background: var(--off-white);
|
|
25
|
+
line-height: 1.65;
|
|
26
|
+
}
|
|
27
|
+
img { max-width: 100%; display: block; }
|
|
28
|
+
a { color: var(--navy-mid); text-decoration: underline; }
|
|
29
|
+
a:hover { color: var(--red); }
|
|
30
|
+
|
|
31
|
+
/* ── Header / Hero ──────────────────────────────────────── */
|
|
32
|
+
.hero {
|
|
33
|
+
background: var(--navy-dark);
|
|
34
|
+
position: relative;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
padding: 3rem 1.5rem 3.5rem;
|
|
37
|
+
text-align: center;
|
|
38
|
+
}
|
|
39
|
+
/* Diagonal alert stripe — the signature element */
|
|
40
|
+
.hero::before {
|
|
41
|
+
content: '';
|
|
42
|
+
position: absolute;
|
|
43
|
+
top: -60px; left: -80px;
|
|
44
|
+
width: 320px; height: 320px;
|
|
45
|
+
background: var(--red);
|
|
46
|
+
opacity: 0.12;
|
|
47
|
+
transform: rotate(-30deg);
|
|
48
|
+
border-radius: 24px;
|
|
49
|
+
pointer-events: none;
|
|
50
|
+
}
|
|
51
|
+
.hero::after {
|
|
52
|
+
content: '';
|
|
53
|
+
position: absolute;
|
|
54
|
+
bottom: -80px; right: -60px;
|
|
55
|
+
width: 280px; height: 280px;
|
|
56
|
+
background: var(--red);
|
|
57
|
+
opacity: 0.09;
|
|
58
|
+
transform: rotate(-30deg);
|
|
59
|
+
border-radius: 24px;
|
|
60
|
+
pointer-events: none;
|
|
61
|
+
}
|
|
62
|
+
.language-selector {
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 5px;
|
|
65
|
+
right: 10px;
|
|
66
|
+
}
|
|
67
|
+
.hero-inner {
|
|
68
|
+
position: relative;
|
|
69
|
+
z-index: 1;
|
|
70
|
+
max-width: 680px;
|
|
71
|
+
margin: 0 auto;
|
|
72
|
+
}
|
|
73
|
+
.hero-logo {
|
|
74
|
+
width: 80px;
|
|
75
|
+
height: 80px;
|
|
76
|
+
margin: 0 auto 1.25rem;
|
|
77
|
+
border-radius: 50%;
|
|
78
|
+
box-shadow: 0 4px 24px rgba(0,0,0,0.4);
|
|
79
|
+
}
|
|
80
|
+
.hero h1 {
|
|
81
|
+
font-family: var(--font-display);
|
|
82
|
+
font-weight: 800;
|
|
83
|
+
font-size: clamp(2.4rem, 8vw, 4rem);
|
|
84
|
+
letter-spacing: 0.04em;
|
|
85
|
+
text-transform: uppercase;
|
|
86
|
+
color: var(--white);
|
|
87
|
+
line-height: 1;
|
|
88
|
+
margin-bottom: 0.75rem;
|
|
89
|
+
}
|
|
90
|
+
.hero h1 span { color: var(--red-light); }
|
|
91
|
+
.hero-tagline {
|
|
92
|
+
font-size: clamp(0.95rem, 2.5vw, 1.1rem);
|
|
93
|
+
color: rgba(255,255,255,0.75);
|
|
94
|
+
margin: 0 auto;
|
|
95
|
+
}
|
|
96
|
+
.hero-divider {
|
|
97
|
+
width: 64px;
|
|
98
|
+
height: 4px;
|
|
99
|
+
background: var(--red);
|
|
100
|
+
margin: 1.25rem auto 1.25rem;
|
|
101
|
+
border-radius: 2px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* ── Carousel ───────────────────────────────────────────── */
|
|
105
|
+
.carousel-section {
|
|
106
|
+
background: var(--navy);
|
|
107
|
+
padding: 2.5rem 0 2rem;
|
|
108
|
+
}
|
|
109
|
+
.carousel-section h2 {
|
|
110
|
+
font-family: var(--font-display);
|
|
111
|
+
font-weight: 700;
|
|
112
|
+
font-size: clamp(1.3rem, 4vw, 1.7rem);
|
|
113
|
+
letter-spacing: 0.06em;
|
|
114
|
+
text-transform: uppercase;
|
|
115
|
+
color: var(--white);
|
|
116
|
+
text-align: center;
|
|
117
|
+
margin-bottom: 1.5rem;
|
|
118
|
+
}
|
|
119
|
+
.carousel-wrap {
|
|
120
|
+
position: relative;
|
|
121
|
+
max-width: 760px;
|
|
122
|
+
margin: auto;
|
|
123
|
+
margin: 0 auto;
|
|
124
|
+
padding: 0 1rem;
|
|
125
|
+
}
|
|
126
|
+
.carousel-track-outer {
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
border-radius: 10px;
|
|
129
|
+
box-shadow: 0 8px 40px rgba(0,0,0,0.45);
|
|
130
|
+
}
|
|
131
|
+
.carousel-track {
|
|
132
|
+
display: flex;
|
|
133
|
+
transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
|
|
134
|
+
will-change: transform;
|
|
135
|
+
}
|
|
136
|
+
.carousel-slide {
|
|
137
|
+
min-width: 100%;
|
|
138
|
+
position: relative;
|
|
139
|
+
background: #0e2060;
|
|
140
|
+
}
|
|
141
|
+
.carousel-slide img, .carousel-slide video {
|
|
142
|
+
width: 100%;
|
|
143
|
+
max-height: 70vh;
|
|
144
|
+
height: auto;
|
|
145
|
+
display: block;
|
|
146
|
+
object-fit: contain;
|
|
147
|
+
}
|
|
148
|
+
.carousel-caption {
|
|
149
|
+
background: rgba(10, 24, 70, 0.92);
|
|
150
|
+
color: rgba(255,255,255,0.88);
|
|
151
|
+
padding: 0.8rem 1.1rem;
|
|
152
|
+
font-size: 18px;
|
|
153
|
+
line-height: 1.5;
|
|
154
|
+
text-align: center;
|
|
155
|
+
border-top: 2px solid var(--red);
|
|
156
|
+
min-height: 3.4rem;
|
|
157
|
+
display: flex;
|
|
158
|
+
align-items: center;
|
|
159
|
+
justify-content: center;
|
|
160
|
+
}
|
|
161
|
+
/* Prev / Next buttons */
|
|
162
|
+
.carousel-btn {
|
|
163
|
+
position: absolute;
|
|
164
|
+
top: 50%;
|
|
165
|
+
transform: translateY(calc(-50% - 1.5rem));
|
|
166
|
+
background: rgba(10, 24, 70, 0.82);
|
|
167
|
+
border: 2px solid var(--red);
|
|
168
|
+
color: var(--white);
|
|
169
|
+
width: 42px;
|
|
170
|
+
height: 42px;
|
|
171
|
+
border-radius: 50%;
|
|
172
|
+
cursor: pointer;
|
|
173
|
+
font-size: 1.2rem;
|
|
174
|
+
display: flex; align-items: center; justify-content: center;
|
|
175
|
+
z-index: 10;
|
|
176
|
+
transition: background 0.2s, transform 0.15s;
|
|
177
|
+
-webkit-tap-highlight-color: transparent;
|
|
178
|
+
}
|
|
179
|
+
.carousel-btn:hover { background: var(--red); transform: translateY(calc(-50% - 1.5rem)) scale(1.07); }
|
|
180
|
+
.carousel-btn.prev { left: -4px; }
|
|
181
|
+
.carousel-btn.next { right: -4px; }
|
|
182
|
+
/* Dots */
|
|
183
|
+
.carousel-dots {
|
|
184
|
+
display: flex;
|
|
185
|
+
justify-content: center;
|
|
186
|
+
gap: 10px;
|
|
187
|
+
margin-top: 1.1rem;
|
|
188
|
+
}
|
|
189
|
+
.dot {
|
|
190
|
+
width: 10px; height: 10px;
|
|
191
|
+
border-radius: 50%;
|
|
192
|
+
background: rgba(255,255,255,0.3);
|
|
193
|
+
border: none;
|
|
194
|
+
cursor: pointer;
|
|
195
|
+
transition: background 0.2s, transform 0.2s;
|
|
196
|
+
padding: 0;
|
|
197
|
+
}
|
|
198
|
+
.dot.active {
|
|
199
|
+
background: var(--red);
|
|
200
|
+
transform: scale(1.25);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/* ── Main content ───────────────────────────────────────── */
|
|
204
|
+
.content-wrap {
|
|
205
|
+
max-width: 740px;
|
|
206
|
+
margin: 0 auto;
|
|
207
|
+
padding: 2.5rem 1.25rem 4rem;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/* Section headings */
|
|
211
|
+
.content-wrap h1 {
|
|
212
|
+
font-family: var(--font-display);
|
|
213
|
+
font-weight: 800;
|
|
214
|
+
font-size: clamp(1.6rem, 5vw, 2.4rem);
|
|
215
|
+
letter-spacing: 0.03em;
|
|
216
|
+
text-transform: uppercase;
|
|
217
|
+
color: var(--navy-dark);
|
|
218
|
+
padding-top: 2.5rem;
|
|
219
|
+
padding-bottom: 0.3rem;
|
|
220
|
+
border-bottom: 3px solid var(--red);
|
|
221
|
+
margin-bottom: 1rem;
|
|
222
|
+
}
|
|
223
|
+
.content-wrap h2 {
|
|
224
|
+
font-family: var(--font-display);
|
|
225
|
+
font-weight: 700;
|
|
226
|
+
font-size: clamp(1.25rem, 4vw, 1.7rem);
|
|
227
|
+
letter-spacing: 0.04em;
|
|
228
|
+
text-transform: uppercase;
|
|
229
|
+
color: var(--navy);
|
|
230
|
+
padding-top: 2rem;
|
|
231
|
+
margin-bottom: 0.75rem;
|
|
232
|
+
}
|
|
233
|
+
.content-wrap h3 {
|
|
234
|
+
font-family: var(--font-display);
|
|
235
|
+
font-weight: 600;
|
|
236
|
+
font-size: clamp(1rem, 3vw, 1.2rem);
|
|
237
|
+
letter-spacing: 0.05em;
|
|
238
|
+
text-transform: uppercase;
|
|
239
|
+
color: var(--red);
|
|
240
|
+
padding-top: 1.25rem;
|
|
241
|
+
margin-bottom: 0.4rem;
|
|
242
|
+
}
|
|
243
|
+
.content-wrap p {
|
|
244
|
+
margin-bottom: 0.9rem;
|
|
245
|
+
color: var(--body-text);
|
|
246
|
+
}
|
|
247
|
+
.content-wrap ul {
|
|
248
|
+
margin: 0.4rem 0 1rem 1.2rem;
|
|
249
|
+
}
|
|
250
|
+
.content-wrap li {
|
|
251
|
+
margin-bottom: 0.5rem;
|
|
252
|
+
color: var(--body-text);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/* Red rule between major sections */
|
|
256
|
+
.rule {
|
|
257
|
+
border: none;
|
|
258
|
+
height: 2px;
|
|
259
|
+
background: linear-gradient(90deg, var(--red) 0%, rgba(196,18,48,0.15) 100%);
|
|
260
|
+
margin: 2.5rem 0;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.launch-btn {
|
|
264
|
+
display: block;
|
|
265
|
+
margin: 0 auto;
|
|
266
|
+
width: fit-content;
|
|
267
|
+
align-items: center;
|
|
268
|
+
gap: 10px;
|
|
269
|
+
background: #FF5A00;
|
|
270
|
+
color: #fff;
|
|
271
|
+
font-family: 'Rajdhani', sans-serif;
|
|
272
|
+
font-size: 1.1rem;
|
|
273
|
+
font-weight: 700;
|
|
274
|
+
letter-spacing: 0.08em;
|
|
275
|
+
text-transform: uppercase;
|
|
276
|
+
padding: 14px 38px;
|
|
277
|
+
border-radius: 4px;
|
|
278
|
+
text-decoration: none;
|
|
279
|
+
box-shadow: 0 4px 28px rgba(255,90,0,0.45);
|
|
280
|
+
transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
|
|
281
|
+
}
|
|
282
|
+
.launch-btn:hover {
|
|
283
|
+
background: #ff7020;
|
|
284
|
+
box-shadow: 0 6px 36px rgba(255,90,0,0.65);
|
|
285
|
+
transform: translateY(-2px);
|
|
286
|
+
}
|
|
287
|
+
.centered {
|
|
288
|
+
display: block;
|
|
289
|
+
margin: 0 auto;
|
|
290
|
+
width: fit-content;
|
|
291
|
+
padding-bottom: 20px;
|
|
292
|
+
}
|
|
293
|
+
/* ── Footer ─────────────────────────────────────────────── */
|
|
294
|
+
footer {
|
|
295
|
+
background: var(--navy-dark);
|
|
296
|
+
color: rgba(255,255,255,0.5);
|
|
297
|
+
text-align: center;
|
|
298
|
+
font-size: 0.8rem;
|
|
299
|
+
padding: 1.5rem 1rem;
|
|
300
|
+
}
|
|
301
|
+
footer a { color: rgba(255,255,255,0.7); }
|
|
302
|
+
|
|
303
|
+
/* ── Responsive tweaks ──────────────────────────────────── */
|
|
304
|
+
<!-- @media (max-width: 520px) { -->
|
|
305
|
+
<!-- .carousel-btn { display: none; } -->
|
|
306
|
+
<!-- } -->
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
|
4
|
+
<style>
|
|
5
|
+
html, body { /* eg: 393 x 641 on my phone */
|
|
6
|
+
padding: 0;
|
|
7
|
+
margin: 0;
|
|
8
|
+
}
|
|
9
|
+
/*
|
|
10
|
+
apple "compact" setting in portrait:
|
|
11
|
+
top is below notch and top bar
|
|
12
|
+
bottom is through the middle of the overlayed control bars
|
|
13
|
+
apple "bottom" setting in portrait:
|
|
14
|
+
top is below notch and top bar
|
|
15
|
+
bottom is through lower third of overlayed control bars - probably same position
|
|
16
|
+
apple "top" setting in portrait:
|
|
17
|
+
top is blow address bar
|
|
18
|
+
bottom is at bezel, with control bars overlayed
|
|
19
|
+
apple landscape with "landscape tab bar" off.
|
|
20
|
+
full screen
|
|
21
|
+
*/
|
|
22
|
+
.full {
|
|
23
|
+
background: red;
|
|
24
|
+
height: 100vh; /* vw = lvw = 852; dvw = svw = 641*/
|
|
25
|
+
width: 100vw; /* vw = lvw = dvw = 393*/
|
|
26
|
+
position: absolute;
|
|
27
|
+
}
|
|
28
|
+
.safe {
|
|
29
|
+
background: green;
|
|
30
|
+
height: calc(100dvh - env(safe-area-inset-bottom, 0));
|
|
31
|
+
width: clac(100dvw - env(safe-area-inset-left, 0));
|
|
32
|
+
}
|
|
33
|
+
</style>
|
|
34
|
+
</head>
|
|
35
|
+
<body>
|
|
36
|
+
<div class="full">
|
|
37
|
+
<div class="safe"></div>
|
|
38
|
+
</div>
|
|
39
|
+
</body>
|
|
40
|
+
</html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg fill="#0A2E7C" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" data-name="Layer 1"><path d="M8,21H4a1,1,0,0,1-1-1V16a1,1,0,0,0-2,0v4a3,3,0,0,0,3,3H8a1,1,0,0,0,0-2Zm14-6a1,1,0,0,0-1,1v4a1,1,0,0,1-1,1H16a1,1,0,0,0,0,2h4a3,3,0,0,0,3-3V16A1,1,0,0,0,22,15ZM20,1H16a1,1,0,0,0,0,2h4a1,1,0,0,1,1,1V8a1,1,0,0,0,2,0V4A3,3,0,0,0,20,1ZM2,9A1,1,0,0,0,3,8V4A1,1,0,0,1,4,3H8A1,1,0,0,0,8,1H4A3,3,0,0,0,1,4V8A1,1,0,0,0,2,9Zm8-4H6A1,1,0,0,0,5,6v4a1,1,0,0,0,1,1h4a1,1,0,0,0,1-1V6A1,1,0,0,0,10,5ZM9,9H7V7H9Zm5,2h4a1,1,0,0,0,1-1V6a1,1,0,0,0-1-1H14a1,1,0,0,0-1,1v4A1,1,0,0,0,14,11Zm1-4h2V9H15Zm-5,6H6a1,1,0,0,0-1,1v4a1,1,0,0,0,1,1h4a1,1,0,0,0,1-1V14A1,1,0,0,0,10,13ZM9,17H7V15H9Zm5-1a1,1,0,0,0,1-1,1,1,0,0,0,0-2H14a1,1,0,0,0-1,1v1A1,1,0,0,0,14,16Zm4-3a1,1,0,0,0-1,1v3a1,1,0,0,0,0,2h1a1,1,0,0,0,1-1V14A1,1,0,0,0,18,13Zm-4,4a1,1,0,1,0,1,1A1,1,0,0,0,14,17Z"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
3
|
+
<svg fill="#0A2E7C" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
4
|
+
viewBox="0 0 512 512" xml:space="preserve">
|
|
5
|
+
<g>
|
|
6
|
+
<g>
|
|
7
|
+
<rect x="51.2" y="51.2" width="51.2" height="51.2"/>
|
|
8
|
+
</g>
|
|
9
|
+
</g>
|
|
10
|
+
<g>
|
|
11
|
+
<g>
|
|
12
|
+
<path d="M358.4,0v25.6h-25.6v25.6h25.6v102.4H384v25.6h-25.6v25.6H384h25.6v-51.2h76.8v25.6H512v-25.6V0H358.4z M486.4,128H384
|
|
13
|
+
V25.6h102.4V128z"/>
|
|
14
|
+
</g>
|
|
15
|
+
</g>
|
|
16
|
+
<g>
|
|
17
|
+
<g>
|
|
18
|
+
<rect x="409.6" y="51.2" width="51.2" height="51.2"/>
|
|
19
|
+
</g>
|
|
20
|
+
</g>
|
|
21
|
+
<g>
|
|
22
|
+
<g>
|
|
23
|
+
<rect x="51.2" y="409.6" width="51.2" height="51.2"/>
|
|
24
|
+
</g>
|
|
25
|
+
</g>
|
|
26
|
+
<g>
|
|
27
|
+
<g>
|
|
28
|
+
<rect x="358.4" y="358.4" width="25.6" height="25.6"/>
|
|
29
|
+
</g>
|
|
30
|
+
</g>
|
|
31
|
+
<g>
|
|
32
|
+
<g>
|
|
33
|
+
<rect x="230.4" y="486.4" width="25.6" height="25.6"/>
|
|
34
|
+
</g>
|
|
35
|
+
</g>
|
|
36
|
+
<g>
|
|
37
|
+
<g>
|
|
38
|
+
<rect x="256" y="384" width="25.6" height="25.6"/>
|
|
39
|
+
</g>
|
|
40
|
+
</g>
|
|
41
|
+
<g>
|
|
42
|
+
<g>
|
|
43
|
+
<rect x="256" y="435.2" width="25.6" height="25.6"/>
|
|
44
|
+
</g>
|
|
45
|
+
</g>
|
|
46
|
+
<g>
|
|
47
|
+
<g>
|
|
48
|
+
<rect x="486.4" y="307.2" width="25.6" height="25.6"/>
|
|
49
|
+
</g>
|
|
50
|
+
</g>
|
|
51
|
+
<g>
|
|
52
|
+
<g>
|
|
53
|
+
<rect y="307.2" width="25.6" height="25.6"/>
|
|
54
|
+
</g>
|
|
55
|
+
</g>
|
|
56
|
+
<g>
|
|
57
|
+
<g>
|
|
58
|
+
<rect y="179.2" width="25.6" height="25.6"/>
|
|
59
|
+
</g>
|
|
60
|
+
</g>
|
|
61
|
+
<g>
|
|
62
|
+
<g>
|
|
63
|
+
<polygon points="281.6,25.6 281.6,51.2 230.4,51.2 230.4,76.8 307.2,76.8 307.2,51.2 307.2,25.6 "/>
|
|
64
|
+
</g>
|
|
65
|
+
</g>
|
|
66
|
+
<g>
|
|
67
|
+
<g>
|
|
68
|
+
<path d="M486.4,204.8v25.6h-51.2V256h-76.8v-25.6h-25.6V256h-51.2v25.6h76.8v25.6h-51.2h-25.6v-25.6H256v25.6h-25.6v-25.6h-25.6
|
|
69
|
+
v25.6h-25.6v25.6h51.2v25.6H256v-25.6h51.2v25.6h-25.6V384h25.6v51.2h25.6v25.6h25.6v-25.6h76.8V384h25.6v-25.6h-25.6v-51.2H384
|
|
70
|
+
v-25.6h51.2v25.6h25.6v-25.6h25.6V256H512v-25.6v-25.6H486.4z M409.6,332.8v76.8h-76.8v-76.8H409.6z"/>
|
|
71
|
+
</g>
|
|
72
|
+
</g>
|
|
73
|
+
<g>
|
|
74
|
+
<g>
|
|
75
|
+
<polygon points="332.8,153.6 307.2,153.6 307.2,179.2 281.6,179.2 281.6,204.8 281.6,230.4 307.2,230.4 307.2,204.8 332.8,204.8
|
|
76
|
+
332.8,179.2 358.4,179.2 358.4,153.6 "/>
|
|
77
|
+
</g>
|
|
78
|
+
</g>
|
|
79
|
+
<g>
|
|
80
|
+
<g>
|
|
81
|
+
<rect x="281.6" y="486.4" width="51.2" height="25.6"/>
|
|
82
|
+
</g>
|
|
83
|
+
</g>
|
|
84
|
+
<g>
|
|
85
|
+
<g>
|
|
86
|
+
<rect x="204.8" y="25.6" width="25.6" height="25.6"/>
|
|
87
|
+
</g>
|
|
88
|
+
</g>
|
|
89
|
+
<g>
|
|
90
|
+
<g>
|
|
91
|
+
<rect x="409.6" y="204.8" width="25.6" height="25.6"/>
|
|
92
|
+
</g>
|
|
93
|
+
</g>
|
|
94
|
+
<g>
|
|
95
|
+
<g>
|
|
96
|
+
<rect x="435.2" y="179.2" width="25.6" height="25.6"/>
|
|
97
|
+
</g>
|
|
98
|
+
</g>
|
|
99
|
+
<g>
|
|
100
|
+
<g>
|
|
101
|
+
<rect x="102.4" y="307.2" width="25.6" height="25.6"/>
|
|
102
|
+
</g>
|
|
103
|
+
</g>
|
|
104
|
+
<g>
|
|
105
|
+
<g>
|
|
106
|
+
<path d="M153.6,486.4V384h25.6v-25.6v-25.6h-25.6v25.6H76.8v-25.6H51.2H25.6v25.6H0V512h153.6h51.2v-25.6H153.6z M128,486.4H25.6
|
|
107
|
+
V384H128V486.4z"/>
|
|
108
|
+
</g>
|
|
109
|
+
</g>
|
|
110
|
+
<g>
|
|
111
|
+
<g>
|
|
112
|
+
<rect x="153.6" y="153.6" width="25.6" height="25.6"/>
|
|
113
|
+
</g>
|
|
114
|
+
</g>
|
|
115
|
+
<g>
|
|
116
|
+
<g>
|
|
117
|
+
<path d="M179.2,0h-25.6H0v153.6h25.6v25.6h25.6v-25.6h25.6v25.6h25.6v-25.6h51.2v-51.2h25.6V76.8h-25.6V25.6h25.6h25.6V0H179.2z
|
|
118
|
+
M128,128H25.6V25.6H128V128z"/>
|
|
119
|
+
</g>
|
|
120
|
+
</g>
|
|
121
|
+
<g>
|
|
122
|
+
<g>
|
|
123
|
+
<rect x="307.2" y="76.8" width="25.6" height="25.6"/>
|
|
124
|
+
</g>
|
|
125
|
+
</g>
|
|
126
|
+
<g>
|
|
127
|
+
<g>
|
|
128
|
+
<rect x="256" width="25.6" height="25.6"/>
|
|
129
|
+
</g>
|
|
130
|
+
</g>
|
|
131
|
+
<g>
|
|
132
|
+
<g>
|
|
133
|
+
<path d="M307.2,153.6V128h-25.6v-25.6H256V128h-51.2v-25.6h-25.6V128v25.6h25.6v51.2H128v-25.6h-25.6v25.6H25.6v25.6h51.2V256H0
|
|
134
|
+
v25.6h76.8v25.6h25.6v-25.6H128v25.6h25.6v-25.6h51.2V256h-25.6v-25.6h25.6h25.6V256H256h25.6v-25.6H256v-25.6h-25.6v-51.2H307.2z
|
|
135
|
+
M153.6,256h-51.2v-25.6h51.2V256z"/>
|
|
136
|
+
</g>
|
|
137
|
+
</g>
|
|
138
|
+
<g>
|
|
139
|
+
<g>
|
|
140
|
+
<polygon points="230.4,409.6 230.4,384 230.4,358.4 204.8,358.4 204.8,384 179.2,384 179.2,409.6 204.8,409.6 204.8,435.2
|
|
141
|
+
179.2,435.2 179.2,460.8 230.4,460.8 230.4,435.2 256,435.2 256,409.6 "/>
|
|
142
|
+
</g>
|
|
143
|
+
</g>
|
|
144
|
+
<g>
|
|
145
|
+
<g>
|
|
146
|
+
<polygon points="460.8,460.8 460.8,435.2 435.2,435.2 435.2,460.8 358.4,460.8 358.4,486.4 409.6,486.4 409.6,512 435.2,512
|
|
147
|
+
435.2,486.4 486.4,486.4 486.4,512 512,512 512,486.4 512,460.8 "/>
|
|
148
|
+
</g>
|
|
149
|
+
</g>
|
|
150
|
+
<g>
|
|
151
|
+
<g>
|
|
152
|
+
<polygon points="486.4,358.4 486.4,384 460.8,384 460.8,409.6 512,409.6 512,384 512,358.4 "/>
|
|
153
|
+
</g>
|
|
154
|
+
</g>
|
|
155
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" fill="none" viewBox="0 0 128 128" id="recenter">
|
|
2
|
+
<path stroke="#0A2E7C" stroke-linecap="round" stroke-linejoin="round" stroke-width="7" d="M38 74L49 63.5 38 53M53.5 37.5L64 48.5 74.5 37.5M90 53L79 63.5 90 74M74.5 89.5L64 78.5 53.5 89.5"></path>
|
|
3
|
+
<path stroke="#0A2E7C" stroke-linecap="round" stroke-width="7" d="M44 64L16 64M63.5 43.5L63.5 15.5M84 63L112 63M64.5 83.5L64.5 111.5"></path>
|
|
4
|
+
<circle cx="64" cy="64" r="5" fill="#0A2E7C"></circle>
|
|
5
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg fill="#0A2E7C" width="800px" height="800px" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M30.3 13.7L25 8.4l-5.3 5.3-1.4-1.4L25 5.6l6.7 6.7z"/><path d="M24 7h2v21h-2z"/><path d="M35 40H15c-1.7 0-3-1.3-3-3V19c0-1.7 1.3-3 3-3h7v2h-7c-.6 0-1 .4-1 1v18c0 .6.4 1 1 1h20c.6 0 1-.4 1-1V19c0-.6-.4-1-1-1h-7v-2h7c1.7 0 3 1.3 3 3v18c0 1.7-1.3 3-3 3z"/></svg>
|