-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshapeDefinitions.swift
More file actions
672 lines (624 loc) · 38 KB
/
shapeDefinitions.swift
File metadata and controls
672 lines (624 loc) · 38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
//
// shapeDefinitions.swift
// project-mars
//
// Created by Aleksandr Grin on 1/13/17.
// Copyright © 2017 AleksandrGrin. All rights reserved.
//
import Foundation
import SpriteKit
class shapeContainer{
var shapeStorage:Array<CGMutablePath> = []
init(){
let offsetX = 0
let offsetY = 0
var path = CGMutablePath()
path.move(to:CGPoint(x: 56, y: 326))
path.addLine(to: CGPoint(x: 56 - offsetX, y: 307 - offsetY))
path.addLine(to: CGPoint(x: 29 - offsetX, y: 296 - offsetY))
path.addLine(to: CGPoint(x: 3 - offsetX, y: 300 - offsetY))
path.addLine(to: CGPoint(x: 2 - offsetX, y: 359 - offsetY))
path.addLine(to: CGPoint(x: 84 - offsetX, y: 352 - offsetY))
path.addLine(to: CGPoint(x: 78 - offsetX, y: 341 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 1
path = CGMutablePath()
path.move(to: CGPoint(x: 2 - offsetX, y: 241 - offsetY))
path.addLine(to: CGPoint(x: 2 - offsetX, y: 298 - offsetY))
path.addLine(to: CGPoint(x: 28 - offsetX, y: 296 - offsetY))
path.addLine(to: CGPoint(x: 43 - offsetX, y: 300 - offsetY))
path.addLine(to: CGPoint(x: 53 - offsetX, y: 289 - offsetY))
path.addLine(to: CGPoint(x: 80 - offsetX, y: 281 - offsetY))
path.addLine(to: CGPoint(x: 107 - offsetX, y: 267 - offsetY))
path.addLine(to: CGPoint(x: 113 - offsetX, y: 259 - offsetY))
path.addLine(to: CGPoint(x: 69 - offsetX, y: 235 - offsetY))
path.addLine(to: CGPoint(x: 46 - offsetX, y: 245 - offsetY))
path.addLine(to: CGPoint(x: 14 - offsetX, y: 247 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 2
path = CGMutablePath()
path.move(to: CGPoint(x: 46 - offsetX, y: 300 - offsetY))
path.addLine(to: CGPoint(x: 56 - offsetX, y: 306 - offsetY))
path.addLine(to: CGPoint(x: 57 - offsetX, y: 327 - offsetY))
path.addLine(to: CGPoint(x: 77 - offsetX, y: 341 - offsetY))
path.addLine(to: CGPoint(x: 84 - offsetX, y: 351 - offsetY))
path.addLine(to: CGPoint(x: 120 - offsetX, y: 353 - offsetY))
path.addLine(to: CGPoint(x: 131 - offsetX, y: 337 - offsetY))
path.addLine(to: CGPoint(x: 143 - offsetX, y: 322 - offsetY))
path.addLine(to: CGPoint(x: 112 - offsetX, y: 299 - offsetY))
path.addLine(to: CGPoint(x: 88 - offsetX, y: 281 - offsetY))
path.addLine(to: CGPoint(x: 58 - offsetX, y: 287 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 3
path = CGMutablePath()
path.move(to: CGPoint(x: 84 - offsetX, y: 280 - offsetY))
path.addLine(to: CGPoint(x: 108 - offsetX, y: 269 - offsetY))
path.addLine(to: CGPoint(x: 112 - offsetX, y: 260 - offsetY))
path.addLine(to: CGPoint(x: 123 - offsetX, y: 264 - offsetY))
path.addLine(to: CGPoint(x: 135 - offsetX, y: 263 - offsetY))
path.addLine(to: CGPoint(x: 149 - offsetX, y: 257 - offsetY))
path.addLine(to: CGPoint(x: 159 - offsetX, y: 271 - offsetY))
path.addLine(to: CGPoint(x: 167 - offsetX, y: 275 - offsetY))
path.addLine(to: CGPoint(x: 180 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 170 - offsetX, y: 285 - offsetY))
path.addLine(to: CGPoint(x: 157 - offsetX, y: 303 - offsetY))
path.addLine(to: CGPoint(x: 140 - offsetX, y: 304 - offsetY))
path.addLine(to: CGPoint(x: 134 - offsetX, y: 309 - offsetY))
path.addLine(to: CGPoint(x: 113 - offsetX, y: 299 - offsetY))
path.addLine(to: CGPoint(x: 104 - offsetX, y: 286 - offsetY))
path.addLine(to: CGPoint(x: 94 - offsetX, y: 281 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 4
path = CGMutablePath()
path.move(to: CGPoint(x: 124 - offsetX, y: 354 - offsetY))
path.addLine(to: CGPoint(x: 173 - offsetX, y: 356 - offsetY))
path.addLine(to: CGPoint(x: 217 - offsetX, y: 350 - offsetY))
path.addLine(to: CGPoint(x: 217 - offsetX, y: 338 - offsetY))
path.addLine(to: CGPoint(x: 203 - offsetX, y: 329 - offsetY))
path.addLine(to: CGPoint(x: 178 - offsetX, y: 331 - offsetY))
path.addLine(to: CGPoint(x: 173 - offsetX, y: 327 - offsetY))
path.addLine(to: CGPoint(x: 143 - offsetX, y: 325 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 5
path = CGMutablePath()
path.move(to: CGPoint(x: 179 - offsetX, y: 330 - offsetY))
path.addLine(to: CGPoint(x: 210 - offsetX, y: 329 - offsetY))
path.addLine(to: CGPoint(x: 227 - offsetX, y: 311 - offsetY))
path.addLine(to: CGPoint(x: 220 - offsetX, y: 297 - offsetY))
path.addLine(to: CGPoint(x: 179 - offsetX, y: 292 - offsetY))
path.addLine(to: CGPoint(x: 160 - offsetX, y: 300 - offsetY))
path.addLine(to: CGPoint(x: 137 - offsetX, y: 308 - offsetY))
path.addLine(to: CGPoint(x: 144 - offsetX, y: 322 - offsetY))
path.addLine(to: CGPoint(x: 164 - offsetX, y: 320 - offsetY))
path.addLine(to: CGPoint(x: 176 - offsetX, y: 324 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 6
path = CGMutablePath()
path.move(to: CGPoint(x: 220 - offsetX, y: 350 - offsetY))
path.addLine(to: CGPoint(x: 232 - offsetX, y: 349 - offsetY))
path.addLine(to: CGPoint(x: 246 - offsetX, y: 333 - offsetY))
path.addLine(to: CGPoint(x: 262 - offsetX, y: 330 - offsetY))
path.addLine(to: CGPoint(x: 283 - offsetX, y: 330 - offsetY))
path.addLine(to: CGPoint(x: 296 - offsetX, y: 325 - offsetY))
path.addLine(to: CGPoint(x: 300 - offsetX, y: 312 - offsetY))
path.addLine(to: CGPoint(x: 308 - offsetX, y: 309 - offsetY))
path.addLine(to: CGPoint(x: 284 - offsetX, y: 295 - offsetY))
path.addLine(to: CGPoint(x: 227 - offsetX, y: 303 - offsetY))
path.addLine(to: CGPoint(x: 231 - offsetX, y: 311 - offsetY))
path.addLine(to: CGPoint(x: 213 - offsetX, y: 328 - offsetY))
path.addLine(to: CGPoint(x: 222 - offsetX, y: 337 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 7
path = CGMutablePath()
path.move(to: CGPoint(x: 170 - offsetX, y: 291 - offsetY))
path.addLine(to: CGPoint(x: 181 - offsetX, y: 289 - offsetY))
path.addLine(to: CGPoint(x: 222 - offsetX, y: 295 - offsetY))
path.addLine(to: CGPoint(x: 233 - offsetX, y: 299 - offsetY))
path.addLine(to: CGPoint(x: 269 - offsetX, y: 292 - offsetY))
path.addLine(to: CGPoint(x: 268 - offsetX, y: 282 - offsetY))
path.addLine(to: CGPoint(x: 255 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 237 - offsetX, y: 257 - offsetY))
path.addLine(to: CGPoint(x: 230 - offsetX, y: 271 - offsetY))
path.addLine(to: CGPoint(x: 213 - offsetX, y: 277 - offsetY))
path.addLine(to: CGPoint(x: 184 - offsetX, y: 273 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 8
path = CGMutablePath()
path.move(to: CGPoint(x: 237 - offsetX, y: 255 - offsetY))
path.addLine(to: CGPoint(x: 227 - offsetX, y: 242 - offsetY))
path.addLine(to: CGPoint(x: 234 - offsetX, y: 223 - offsetY))
path.addLine(to: CGPoint(x: 261 - offsetX, y: 230 - offsetY))
path.addLine(to: CGPoint(x: 288 - offsetX, y: 227 - offsetY))
path.addLine(to: CGPoint(x: 317 - offsetX, y: 220 - offsetY))
path.addLine(to: CGPoint(x: 316 - offsetX, y: 227 - offsetY))
path.addLine(to: CGPoint(x: 308 - offsetX, y: 236 - offsetY))
path.addLine(to: CGPoint(x: 306 - offsetX, y: 246 - offsetY))
path.addLine(to: CGPoint(x: 288 - offsetX, y: 254 - offsetY))
path.addLine(to: CGPoint(x: 281 - offsetX, y: 272 - offsetY))
path.addLine(to: CGPoint(x: 270 - offsetX, y: 279 - offsetY))
path.addLine(to: CGPoint(x: 257 - offsetX, y: 268 - offsetY))
path.addLine(to: CGPoint(x: 247 - offsetX, y: 256 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 9
path = CGMutablePath()
path.move(to: CGPoint(x: 272 - offsetX, y: 291 - offsetY))
path.addLine(to: CGPoint(x: 270 - offsetX, y: 282 - offsetY))
path.addLine(to: CGPoint(x: 285 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 291 - offsetX, y: 256 - offsetY))
path.addLine(to: CGPoint(x: 321 - offsetX, y: 269 - offsetY))
path.addLine(to: CGPoint(x: 332 - offsetX, y: 271 - offsetY))
path.addLine(to: CGPoint(x: 349 - offsetX, y: 297 - offsetY))
path.addLine(to: CGPoint(x: 335 - offsetX, y: 298 - offsetY))
path.addLine(to: CGPoint(x: 334 - offsetX, y: 305 - offsetY))
path.addLine(to: CGPoint(x: 313 - offsetX, y: 310 - offsetY))
path.addLine(to: CGPoint(x: 297 - offsetX, y: 296 - offsetY))
path.addLine(to: CGPoint(x: 284 - offsetX, y: 290 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 10
path = CGMutablePath()
path.move(to: CGPoint(x: 297 - offsetX, y: 253 - offsetY))
path.addLine(to: CGPoint(x: 308 - offsetX, y: 248 - offsetY))
path.addLine(to: CGPoint(x: 321 - offsetX, y: 220 - offsetY))
path.addLine(to: CGPoint(x: 341 - offsetX, y: 233 - offsetY))
path.addLine(to: CGPoint(x: 343 - offsetX, y: 240 - offsetY))
path.addLine(to: CGPoint(x: 373 - offsetX, y: 253 - offsetY))
path.addLine(to: CGPoint(x: 376 - offsetX, y: 264 - offsetY))
path.addLine(to: CGPoint(x: 378 - offsetX, y: 280 - offsetY))
path.addLine(to: CGPoint(x: 370 - offsetX, y: 301 - offsetY))
path.addLine(to: CGPoint(x: 353 - offsetX, y: 296 - offsetY))
path.addLine(to: CGPoint(x: 348 - offsetX, y: 281 - offsetY))
path.addLine(to: CGPoint(x: 334 - offsetX, y: 268 - offsetY))
path.addLine(to: CGPoint(x: 311 - offsetX, y: 256 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 11
path = CGMutablePath()
path.move(to: CGPoint(x: 149 - offsetX, y: 245 - offsetY))
path.addLine(to: CGPoint(x: 160 - offsetX, y: 266 - offsetY))
path.addLine(to: CGPoint(x: 188 - offsetX, y: 268 - offsetY))
path.addLine(to: CGPoint(x: 211 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 230 - offsetX, y: 261 - offsetY))
path.addLine(to: CGPoint(x: 224 - offsetX, y: 249 - offsetY))
path.addLine(to: CGPoint(x: 224 - offsetX, y: 237 - offsetY))
path.addLine(to: CGPoint(x: 204 - offsetX, y: 238 - offsetY))
path.addLine(to: CGPoint(x: 188 - offsetX, y: 249 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 12
path = CGMutablePath()
path.move(to: CGPoint(x: 147 - offsetX, y: 245 - offsetY))
path.addLine(to: CGPoint(x: 152 - offsetX, y: 211 - offsetY))
path.addLine(to: CGPoint(x: 137 - offsetX, y: 182 - offsetY))
path.addLine(to: CGPoint(x: 167 - offsetX, y: 173 - offsetY))
path.addLine(to: CGPoint(x: 182 - offsetX, y: 197 - offsetY))
path.addLine(to: CGPoint(x: 189 - offsetX, y: 224 - offsetY))
path.addLine(to: CGPoint(x: 184 - offsetX, y: 234 - offsetY))
path.addLine(to: CGPoint(x: 185 - offsetX, y: 247 - offsetY))
path.addLine(to: CGPoint(x: 164 - offsetX, y: 237 - offsetY))
path.addLine(to: CGPoint(x: 152 - offsetX, y: 240 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 13
path = CGMutablePath()
path.move(to: CGPoint(x: 187 - offsetX, y: 246 - offsetY))
path.addLine(to: CGPoint(x: 188 - offsetX, y: 234 - offsetY))
path.addLine(to: CGPoint(x: 191 - offsetX, y: 225 - offsetY))
path.addLine(to: CGPoint(x: 192 - offsetX, y: 206 - offsetY))
path.addLine(to: CGPoint(x: 195 - offsetX, y: 195 - offsetY))
path.addLine(to: CGPoint(x: 205 - offsetX, y: 192 - offsetY))
path.addLine(to: CGPoint(x: 211 - offsetX, y: 182 - offsetY))
path.addLine(to: CGPoint(x: 216 - offsetX, y: 177 - offsetY))
path.addLine(to: CGPoint(x: 215 - offsetX, y: 165 - offsetY))
path.addLine(to: CGPoint(x: 225 - offsetX, y: 175 - offsetY))
path.addLine(to: CGPoint(x: 225 - offsetX, y: 193 - offsetY))
path.addLine(to: CGPoint(x: 233 - offsetX, y: 212 - offsetY))
path.addLine(to: CGPoint(x: 229 - offsetX, y: 225 - offsetY))
path.addLine(to: CGPoint(x: 224 - offsetX, y: 233 - offsetY))
path.addLine(to: CGPoint(x: 202 - offsetX, y: 235 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 14
path = CGMutablePath()
path.move(to: CGPoint(x: 94 - offsetX, y: 139 - offsetY))
path.addLine(to: CGPoint(x: 106 - offsetX, y: 144 - offsetY))
path.addLine(to: CGPoint(x: 120 - offsetX, y: 165 - offsetY))
path.addLine(to: CGPoint(x: 135 - offsetX, y: 178 - offsetY))
path.addLine(to: CGPoint(x: 156 - offsetX, y: 170 - offsetY))
path.addLine(to: CGPoint(x: 168 - offsetX, y: 171 - offsetY))
path.addLine(to: CGPoint(x: 192 - offsetX, y: 197 - offsetY))
path.addLine(to: CGPoint(x: 194 - offsetX, y: 192 - offsetY))
path.addLine(to: CGPoint(x: 202 - offsetX, y: 190 - offsetY))
path.addLine(to: CGPoint(x: 213 - offsetX, y: 175 - offsetY))
path.addLine(to: CGPoint(x: 213 - offsetX, y: 162 - offsetY))
path.addLine(to: CGPoint(x: 197 - offsetX, y: 142 - offsetY))
path.addLine(to: CGPoint(x: 172 - offsetX, y: 138 - offsetY))
path.addLine(to: CGPoint(x: 150 - offsetX, y: 129 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 15
path = CGMutablePath()
path.move(to: CGPoint(x: 25 - offsetX, y: 131 - offsetY))
path.addLine(to: CGPoint(x: 34 - offsetX, y: 108 - offsetY))
path.addLine(to: CGPoint(x: 52 - offsetX, y: 114 - offsetY))
path.addLine(to: CGPoint(x: 54 - offsetX, y: 123 - offsetY))
path.addLine(to: CGPoint(x: 76 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 63 - offsetX, y: 144 - offsetY))
path.addLine(to: CGPoint(x: 50 - offsetX, y: 155 - offsetY))
path.addLine(to: CGPoint(x: 32 - offsetX, y: 146 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 16
path = CGMutablePath()
path.move(to: CGPoint(x: 35 - offsetX, y: 106 - offsetY))
path.addLine(to: CGPoint(x: 49 - offsetX, y: 89 - offsetY))
path.addLine(to: CGPoint(x: 52 - offsetX, y: 65 - offsetY))
path.addLine(to: CGPoint(x: 78 - offsetX, y: 63 - offsetY))
path.addLine(to: CGPoint(x: 92 - offsetX, y: 87 - offsetY))
path.addLine(to: CGPoint(x: 111 - offsetX, y: 103 - offsetY))
path.addLine(to: CGPoint(x: 89 - offsetX, y: 112 - offsetY))
path.addLine(to: CGPoint(x: 73 - offsetX, y: 112 - offsetY))
path.addLine(to: CGPoint(x: 62 - offsetX, y: 122 - offsetY))
path.addLine(to: CGPoint(x: 52 - offsetX, y: 108 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 17
path = CGMutablePath()
path.move(to: CGPoint(x: 52 - offsetX, y: 62 - offsetY))
path.addLine(to: CGPoint(x: 40 - offsetX, y: 50 - offsetY))
path.addLine(to: CGPoint(x: 42 - offsetX, y: 32 - offsetY))
path.addLine(to: CGPoint(x: 55 - offsetX, y: 27 - offsetY))
path.addLine(to: CGPoint(x: 60 - offsetX, y: 21 - offsetY))
path.addLine(to: CGPoint(x: 92 - offsetX, y: 23 - offsetY))
path.addLine(to: CGPoint(x: 109 - offsetX, y: 7 - offsetY))
path.addLine(to: CGPoint(x: 122 - offsetX, y: 8 - offsetY))
path.addLine(to: CGPoint(x: 111 - offsetX, y: 23 - offsetY))
path.addLine(to: CGPoint(x: 101 - offsetX, y: 44 - offsetY))
path.addLine(to: CGPoint(x: 97 - offsetX, y: 57 - offsetY))
path.addLine(to: CGPoint(x: 83 - offsetX, y: 63 - offsetY))
path.addLine(to: CGPoint(x: 68 - offsetX, y: 58 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 18
path = CGMutablePath()
path.move(to: CGPoint(x: 63 - offsetX, y: 124 - offsetY))
path.addLine(to: CGPoint(x: 74 - offsetX, y: 115 - offsetY))
path.addLine(to: CGPoint(x: 88 - offsetX, y: 115 - offsetY))
path.addLine(to: CGPoint(x: 116 - offsetX, y: 104 - offsetY))
path.addLine(to: CGPoint(x: 129 - offsetX, y: 110 - offsetY))
path.addLine(to: CGPoint(x: 132 - offsetX, y: 120 - offsetY))
path.addLine(to: CGPoint(x: 141 - offsetX, y: 126 - offsetY))
path.addLine(to: CGPoint(x: 99 - offsetX, y: 133 - offsetY))
path.addLine(to: CGPoint(x: 82 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 74 - offsetX, y: 130 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 19
path = CGMutablePath()
path.move(to: CGPoint(x: 83 - offsetX, y: 66 - offsetY))
path.addLine(to: CGPoint(x: 98 - offsetX, y: 60 - offsetY))
path.addLine(to: CGPoint(x: 109 - offsetX, y: 37 - offsetY))
path.addLine(to: CGPoint(x: 131 - offsetX, y: 52 - offsetY))
path.addLine(to: CGPoint(x: 127 - offsetX, y: 67 - offsetY))
path.addLine(to: CGPoint(x: 135 - offsetX, y: 78 - offsetY))
path.addLine(to: CGPoint(x: 131 - offsetX, y: 107 - offsetY))
path.addLine(to: CGPoint(x: 114 - offsetX, y: 100 - offsetY))
path.addLine(to: CGPoint(x: 110 - offsetX, y: 90 - offsetY))
path.addLine(to: CGPoint(x: 96 - offsetX, y: 84 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 20
path = CGMutablePath()
path.move(to: CGPoint(x: 145 - offsetX, y: 126 - offsetY))
path.addLine(to: CGPoint(x: 132 - offsetX, y: 110 - offsetY))
path.addLine(to: CGPoint(x: 135 - offsetX, y: 106 - offsetY))
path.addLine(to: CGPoint(x: 137 - offsetX, y: 96 - offsetY))
path.addLine(to: CGPoint(x: 147 - offsetX, y: 91 - offsetY))
path.addLine(to: CGPoint(x: 169 - offsetX, y: 98 - offsetY))
path.addLine(to: CGPoint(x: 175 - offsetX, y: 105 - offsetY))
path.addLine(to: CGPoint(x: 177 - offsetX, y: 115 - offsetY))
path.addLine(to: CGPoint(x: 188 - offsetX, y: 122 - offsetY))
path.addLine(to: CGPoint(x: 194 - offsetX, y: 136 - offsetY))
path.addLine(to: CGPoint(x: 168 - offsetX, y: 131 - offsetY))
path.addLine(to: CGPoint(x: 158 - offsetX, y: 127 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 21
path = CGMutablePath()
path.move(to: CGPoint(x: 111 - offsetX, y: 34 - offsetY))
path.addLine(to: CGPoint(x: 126 - offsetX, y: 8 - offsetY))
path.addLine(to: CGPoint(x: 176 - offsetX, y: 17 - offsetY))
path.addLine(to: CGPoint(x: 193 - offsetX, y: 27 - offsetY))
path.addLine(to: CGPoint(x: 254 - offsetX, y: 38 - offsetY))
path.addLine(to: CGPoint(x: 234 - offsetX, y: 72 - offsetY))
path.addLine(to: CGPoint(x: 219 - offsetX, y: 85 - offsetY))
path.addLine(to: CGPoint(x: 201 - offsetX, y: 87 - offsetY))
path.addLine(to: CGPoint(x: 175 - offsetX, y: 97 - offsetY))
path.addLine(to: CGPoint(x: 154 - offsetX, y: 90 - offsetY))
path.addLine(to: CGPoint(x: 138 - offsetX, y: 89 - offsetY))
path.addLine(to: CGPoint(x: 139 - offsetX, y: 78 - offsetY))
path.addLine(to: CGPoint(x: 134 - offsetX, y: 66 - offsetY))
path.addLine(to: CGPoint(x: 134 - offsetX, y: 50 - offsetY))
path.addLine(to: CGPoint(x: 123 - offsetX, y: 39 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 22
path = CGMutablePath()
path.move(to: CGPoint(x: 177 - offsetX, y: 99 - offsetY))
path.addLine(to: CGPoint(x: 213 - offsetX, y: 90 - offsetY))
path.addLine(to: CGPoint(x: 252 - offsetX, y: 101 - offsetY))
path.addLine(to: CGPoint(x: 248 - offsetX, y: 122 - offsetY))
path.addLine(to: CGPoint(x: 252 - offsetX, y: 134 - offsetY))
path.addLine(to: CGPoint(x: 241 - offsetX, y: 162 - offsetY))
path.addLine(to: CGPoint(x: 242 - offsetX, y: 171 - offsetY))
path.addLine(to: CGPoint(x: 225 - offsetX, y: 170 - offsetY))
path.addLine(to: CGPoint(x: 209 - offsetX, y: 154 - offsetY))
path.addLine(to: CGPoint(x: 204 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 199 - offsetX, y: 134 - offsetY))
path.addLine(to: CGPoint(x: 196 - offsetX, y: 119 - offsetY))
path.addLine(to: CGPoint(x: 182 - offsetX, y: 114 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 23
path = CGMutablePath()
path.move(to: CGPoint(x: 218 - offsetX, y: 88 - offsetY))
path.addLine(to: CGPoint(x: 236 - offsetX, y: 75 - offsetY))
path.addLine(to: CGPoint(x: 258 - offsetX, y: 39 - offsetY))
path.addLine(to: CGPoint(x: 280 - offsetX, y: 49 - offsetY))
path.addLine(to: CGPoint(x: 288 - offsetX, y: 72 - offsetY))
path.addLine(to: CGPoint(x: 300 - offsetX, y: 82 - offsetY))
path.addLine(to: CGPoint(x: 281 - offsetX, y: 96 - offsetY))
path.addLine(to: CGPoint(x: 262 - offsetX, y: 100 - offsetY))
path.addLine(to: CGPoint(x: 237 - offsetX, y: 91 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 24
path = CGMutablePath()
path.move(to: CGPoint(x: 249 - offsetX, y: 173 - offsetY))
path.addLine(to: CGPoint(x: 245 - offsetX, y: 163 - offsetY))
path.addLine(to: CGPoint(x: 256 - offsetX, y: 134 - offsetY))
path.addLine(to: CGPoint(x: 252 - offsetX, y: 124 - offsetY))
path.addLine(to: CGPoint(x: 255 - offsetX, y: 102 - offsetY))
path.addLine(to: CGPoint(x: 271 - offsetX, y: 104 - offsetY))
path.addLine(to: CGPoint(x: 303 - offsetX, y: 85 - offsetY))
path.addLine(to: CGPoint(x: 327 - offsetX, y: 86 - offsetY))
path.addLine(to: CGPoint(x: 362 - offsetX, y: 91 - offsetY))
path.addLine(to: CGPoint(x: 348 - offsetX, y: 106 - offsetY))
path.addLine(to: CGPoint(x: 304 - offsetX, y: 111 - offsetY))
path.addLine(to: CGPoint(x: 292 - offsetX, y: 119 - offsetY))
path.addLine(to: CGPoint(x: 292 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 309 - offsetX, y: 161 - offsetY))
path.addLine(to: CGPoint(x: 300 - offsetX, y: 170 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 25
path = CGMutablePath()
path.move(to: CGPoint(x: 312 - offsetX, y: 159 - offsetY))
path.addLine(to: CGPoint(x: 298 - offsetX, y: 137 - offsetY))
path.addLine(to: CGPoint(x: 298 - offsetX, y: 120 - offsetY))
path.addLine(to: CGPoint(x: 346 - offsetX, y: 110 - offsetY))
path.addLine(to: CGPoint(x: 382 - offsetX, y: 87 - offsetY))
path.addLine(to: CGPoint(x: 401 - offsetX, y: 103 - offsetY))
path.addLine(to: CGPoint(x: 400 - offsetX, y: 143 - offsetY))
path.addLine(to: CGPoint(x: 376 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 343 - offsetX, y: 153 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 26
path = CGMutablePath()
path.move(to: CGPoint(x: 404 - offsetX, y: 141 - offsetY))
path.addLine(to: CGPoint(x: 408 - offsetX, y: 126 - offsetY))
path.addLine(to: CGPoint(x: 441 - offsetX, y: 145 - offsetY))
path.addLine(to: CGPoint(x: 447 - offsetX, y: 167 - offsetY))
path.addLine(to: CGPoint(x: 480 - offsetX, y: 175 - offsetY))
path.addLine(to: CGPoint(x: 507 - offsetX, y: 195 - offsetY))
path.addLine(to: CGPoint(x: 488 - offsetX, y: 203 - offsetY))
path.addLine(to: CGPoint(x: 483 - offsetX, y: 215 - offsetY))
path.addLine(to: CGPoint(x: 468 - offsetX, y: 204 - offsetY))
path.addLine(to: CGPoint(x: 447 - offsetX, y: 193 - offsetY))
path.addLine(to: CGPoint(x: 435 - offsetX, y: 174 - offsetY))
path.addLine(to: CGPoint(x: 416 - offsetX, y: 159 - offsetY))
path.addLine(to: CGPoint(x: 411 - offsetX, y: 146 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 27
path = CGMutablePath()
path.move(to: CGPoint(x: 451 - offsetX, y: 164 - offsetY))
path.addLine(to: CGPoint(x: 441 - offsetX, y: 135 - offsetY))
path.addLine(to: CGPoint(x: 512 - offsetX, y: 130 - offsetY))
path.addLine(to: CGPoint(x: 532 - offsetX, y: 155 - offsetY))
path.addLine(to: CGPoint(x: 532 - offsetX, y: 168 - offsetY))
path.addLine(to: CGPoint(x: 544 - offsetX, y: 203 - offsetY))
path.addLine(to: CGPoint(x: 527 - offsetX, y: 202 - offsetY))
path.addLine(to: CGPoint(x: 510 - offsetX, y: 190 - offsetY))
path.addLine(to: CGPoint(x: 491 - offsetX, y: 174 - offsetY))
path.addLine(to: CGPoint(x: 471 - offsetX, y: 166 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 28
path = CGMutablePath()
path.move(to: CGPoint(x: 408 - offsetX, y: 124 - offsetY))
path.addLine(to: CGPoint(x: 406 - offsetX, y: 104 - offsetY))
path.addLine(to: CGPoint(x: 479 - offsetX, y: 70 - offsetY))
path.addLine(to: CGPoint(x: 485 - offsetX, y: 80 - offsetY))
path.addLine(to: CGPoint(x: 503 - offsetX, y: 101 - offsetY))
path.addLine(to: CGPoint(x: 513 - offsetX, y: 112 - offsetY))
path.addLine(to: CGPoint(x: 512 - offsetX, y: 127 - offsetY))
path.addLine(to: CGPoint(x: 468 - offsetX, y: 127 - offsetY))
path.addLine(to: CGPoint(x: 439 - offsetX, y: 130 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 29
path = CGMutablePath()
path.move(to: CGPoint(x: 404 - offsetX, y: 98 - offsetY))
path.addLine(to: CGPoint(x: 386 - offsetX, y: 85 - offsetY))
path.addLine(to: CGPoint(x: 403 - offsetX, y: 62 - offsetY))
path.addLine(to: CGPoint(x: 411 - offsetX, y: 64 - offsetY))
path.addLine(to: CGPoint(x: 419 - offsetX, y: 57 - offsetY))
path.addLine(to: CGPoint(x: 441 - offsetX, y: 58 - offsetY))
path.addLine(to: CGPoint(x: 474 - offsetX, y: 40 - offsetY))
path.addLine(to: CGPoint(x: 489 - offsetX, y: 42 - offsetY))
path.addLine(to: CGPoint(x: 508 - offsetX, y: 37 - offsetY))
path.addLine(to: CGPoint(x: 500 - offsetX, y: 54 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 30
path = CGMutablePath()
path.move(to: CGPoint(x: 511 - offsetX, y: 106 - offsetY))
path.addLine(to: CGPoint(x: 502 - offsetX, y: 84 - offsetY))
path.addLine(to: CGPoint(x: 484 - offsetX, y: 67 - offsetY))
path.addLine(to: CGPoint(x: 504 - offsetX, y: 58 - offsetY))
path.addLine(to: CGPoint(x: 512 - offsetX, y: 37 - offsetY))
path.addLine(to: CGPoint(x: 544 - offsetX, y: 34 - offsetY))
path.addLine(to: CGPoint(x: 602 - offsetX, y: 22 - offsetY))
path.addLine(to: CGPoint(x: 606 - offsetX, y: 34 - offsetY))
path.addLine(to: CGPoint(x: 601 - offsetX, y: 48 - offsetY))
path.addLine(to: CGPoint(x: 611 - offsetX, y: 60 - offsetY))
path.addLine(to: CGPoint(x: 584 - offsetX, y: 69 - offsetY))
path.addLine(to: CGPoint(x: 571 - offsetX, y: 67 - offsetY))
path.addLine(to: CGPoint(x: 548 - offsetX, y: 92 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 31
path = CGMutablePath()
path.move(to: CGPoint(x: 538 - offsetX, y: 163 - offsetY))
path.addLine(to: CGPoint(x: 516 - offsetX, y: 128 - offsetY))
path.addLine(to: CGPoint(x: 517 - offsetX, y: 109 - offsetY))
path.addLine(to: CGPoint(x: 556 - offsetX, y: 91 - offsetY))
path.addLine(to: CGPoint(x: 572 - offsetX, y: 71 - offsetY))
path.addLine(to: CGPoint(x: 585 - offsetX, y: 73 - offsetY))
path.addLine(to: CGPoint(x: 591 - offsetX, y: 84 - offsetY))
path.addLine(to: CGPoint(x: 581 - offsetX, y: 111 - offsetY))
path.addLine(to: CGPoint(x: 589 - offsetX, y: 138 - offsetY))
path.addLine(to: CGPoint(x: 581 - offsetX, y: 169 - offsetY))
path.addLine(to: CGPoint(x: 562 - offsetX, y: 159 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 32
path = CGMutablePath()
path.move(to: CGPoint(x: 547 - offsetX, y: 204 - offsetY))
path.addLine(to: CGPoint(x: 536 - offsetX, y: 167 - offsetY))
path.addLine(to: CGPoint(x: 566 - offsetX, y: 165 - offsetY))
path.addLine(to: CGPoint(x: 582 - offsetX, y: 182 - offsetY))
path.addLine(to: CGPoint(x: 608 - offsetX, y: 183 - offsetY))
path.addLine(to: CGPoint(x: 630 - offsetX, y: 190 - offsetY))
path.addLine(to: CGPoint(x: 627 - offsetX, y: 203 - offsetY))
path.addLine(to: CGPoint(x: 599 - offsetX, y: 216 - offsetY))
path.addLine(to: CGPoint(x: 596 - offsetX, y: 229 - offsetY))
path.addLine(to: CGPoint(x: 580 - offsetX, y: 223 - offsetY))
path.addLine(to: CGPoint(x: 571 - offsetX, y: 226 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 33
path = CGMutablePath()
path.move(to: CGPoint(x: 632 - offsetX, y: 186 - offsetY))
path.addLine(to: CGPoint(x: 587 - offsetX, y: 177 - offsetY))
path.addLine(to: CGPoint(x: 594 - offsetX, y: 156 - offsetY))
path.addLine(to: CGPoint(x: 594 - offsetX, y: 135 - offsetY))
path.addLine(to: CGPoint(x: 587 - offsetX, y: 116 - offsetY))
path.addLine(to: CGPoint(x: 623 - offsetX, y: 116 - offsetY))
path.addLine(to: CGPoint(x: 657 - offsetX, y: 136 - offsetY))
path.addLine(to: CGPoint(x: 653 - offsetX, y: 160 - offsetY))
path.addLine(to: CGPoint(x: 651 - offsetX, y: 172 - offsetY))
path.addLine(to: CGPoint(x: 641 - offsetX, y: 176 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 34
path = CGMutablePath()
path.move(to: CGPoint(x: 658 - offsetX, y: 131 - offsetY))
path.addLine(to: CGPoint(x: 661 - offsetX, y: 108 - offsetY))
path.addLine(to: CGPoint(x: 655 - offsetX, y: 96 - offsetY))
path.addLine(to: CGPoint(x: 651 - offsetX, y: 45 - offsetY))
path.addLine(to: CGPoint(x: 642 - offsetX, y: 39 - offsetY))
path.addLine(to: CGPoint(x: 634 - offsetX, y: 22 - offsetY))
path.addLine(to: CGPoint(x: 609 - offsetX, y: 22 - offsetY))
path.addLine(to: CGPoint(x: 611 - offsetX, y: 35 - offsetY))
path.addLine(to: CGPoint(x: 607 - offsetX, y: 45 - offsetY))
path.addLine(to: CGPoint(x: 618 - offsetX, y: 62 - offsetY))
path.addLine(to: CGPoint(x: 594 - offsetX, y: 73 - offsetY))
path.addLine(to: CGPoint(x: 596 - offsetX, y: 86 - offsetY))
path.addLine(to: CGPoint(x: 588 - offsetX, y: 106 - offsetY))
path.addLine(to: CGPoint(x: 619 - offsetX, y: 108 - offsetY))
path.addLine(to: CGPoint(x: 640 - offsetX, y: 117 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 35
path = CGMutablePath()
path.move(to: CGPoint(x: 386 - offsetX, y: 338 - offsetY))
path.addLine(to: CGPoint(x: 424 - offsetX, y: 347 - offsetY))
path.addLine(to: CGPoint(x: 466 - offsetX, y: 347 - offsetY))
path.addLine(to: CGPoint(x: 467 - offsetX, y: 328 - offsetY))
path.addLine(to: CGPoint(x: 476 - offsetX, y: 307 - offsetY))
path.addLine(to: CGPoint(x: 446 - offsetX, y: 277 - offsetY))
path.addLine(to: CGPoint(x: 435 - offsetX, y: 253 - offsetY))
path.addLine(to: CGPoint(x: 413 - offsetX, y: 266 - offsetY))
path.addLine(to: CGPoint(x: 383 - offsetX, y: 263 - offsetY))
path.addLine(to: CGPoint(x: 383 - offsetX, y: 282 - offsetY))
path.addLine(to: CGPoint(x: 374 - offsetX, y: 300 - offsetY))
path.addLine(to: CGPoint(x: 398 - offsetX, y: 316 - offsetY))
path.addLine(to: CGPoint(x: 398 - offsetX, y: 327 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 36
path = CGMutablePath()
path.move(to: CGPoint(x: 472 - offsetX, y: 348 - offsetY))
path.addLine(to: CGPoint(x: 533 - offsetX, y: 348 - offsetY))
path.addLine(to: CGPoint(x: 582 - offsetX, y: 352 - offsetY))
path.addLine(to: CGPoint(x: 554 - offsetX, y: 336 - offsetY))
path.addLine(to: CGPoint(x: 542 - offsetX, y: 324 - offsetY))
path.addLine(to: CGPoint(x: 517 - offsetX, y: 321 - offsetY))
path.addLine(to: CGPoint(x: 481 - offsetX, y: 308 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 37
path = CGMutablePath()
path.move(to: CGPoint(x: 444 - offsetX, y: 261 - offsetY))
path.addLine(to: CGPoint(x: 449 - offsetX, y: 273 - offsetY))
path.addLine(to: CGPoint(x: 483 - offsetX, y: 305 - offsetY))
path.addLine(to: CGPoint(x: 504 - offsetX, y: 308 - offsetY))
path.addLine(to: CGPoint(x: 522 - offsetX, y: 317 - offsetY))
path.addLine(to: CGPoint(x: 541 - offsetX, y: 301 - offsetY))
path.addLine(to: CGPoint(x: 541 - offsetX, y: 291 - offsetY))
path.addLine(to: CGPoint(x: 524 - offsetX, y: 254 - offsetY))
path.addLine(to: CGPoint(x: 498 - offsetX, y: 245 - offsetY))
path.addLine(to: CGPoint(x: 488 - offsetX, y: 239 - offsetY))
path.addLine(to: CGPoint(x: 491 - offsetX, y: 249 - offsetY))
path.addLine(to: CGPoint(x: 486 - offsetX, y: 271 - offsetY))
path.addLine(to: CGPoint(x: 466 - offsetX, y: 271 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 38
path = CGMutablePath()
path.move(to: CGPoint(x: 527 - offsetX, y: 320 - offsetY))
path.addLine(to: CGPoint(x: 545 - offsetX, y: 304 - offsetY))
path.addLine(to: CGPoint(x: 547 - offsetX, y: 292 - offsetY))
path.addLine(to: CGPoint(x: 555 - offsetX, y: 281 - offsetY))
path.addLine(to: CGPoint(x: 576 - offsetX, y: 280 - offsetY))
path.addLine(to: CGPoint(x: 581 - offsetX, y: 277 - offsetY))
path.addLine(to: CGPoint(x: 602 - offsetX, y: 285 - offsetY))
path.addLine(to: CGPoint(x: 613 - offsetX, y: 288 - offsetY))
path.addLine(to: CGPoint(x: 626 - offsetX, y: 319 - offsetY))
path.addLine(to: CGPoint(x: 582 - offsetX, y: 345 - offsetY))
path.addLine(to: CGPoint(x: 559 - offsetX, y: 333 - offsetY))
path.addLine(to: CGPoint(x: 549 - offsetX, y: 320 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 39
path = CGMutablePath()
path.move(to: CGPoint(x: 664 - offsetX, y: 363 - offsetY))
path.addLine(to: CGPoint(x: 666 - offsetX, y: 309 - offsetY))
path.addLine(to: CGPoint(x: 635 - offsetX, y: 320 - offsetY))
path.addLine(to: CGPoint(x: 616 - offsetX, y: 334 - offsetY))
path.addLine(to: CGPoint(x: 586 - offsetX, y: 349 - offsetY))
path.addLine(to: CGPoint(x: 630 - offsetX, y: 352 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 40
path = CGMutablePath()
path.move(to: CGPoint(x: 665 - offsetX, y: 306 - offsetY))
path.addLine(to: CGPoint(x: 665 - offsetX, y: 255 - offsetY))
path.addLine(to: CGPoint(x: 656 - offsetX, y: 278 - offsetY))
path.addLine(to: CGPoint(x: 634 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 622 - offsetX, y: 259 - offsetY))
path.addLine(to: CGPoint(x: 603 - offsetX, y: 253 - offsetY))
path.addLine(to: CGPoint(x: 587 - offsetX, y: 274 - offsetY))
path.addLine(to: CGPoint(x: 615 - offsetX, y: 285 - offsetY))
path.addLine(to: CGPoint(x: 627 - offsetX, y: 303 - offsetY))
path.addLine(to: CGPoint(x: 632 - offsetX, y: 313 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 41
path = CGMutablePath()
path.move(to: CGPoint(x: 546 - offsetX, y: 287 - offsetY))
path.addLine(to: CGPoint(x: 530 - offsetX, y: 255 - offsetY))
path.addLine(to: CGPoint(x: 548 - offsetX, y: 245 - offsetY))
path.addLine(to: CGPoint(x: 562 - offsetX, y: 225 - offsetY))
path.addLine(to: CGPoint(x: 572 - offsetX, y: 231 - offsetY))
path.addLine(to: CGPoint(x: 586 - offsetX, y: 228 - offsetY))
path.addLine(to: CGPoint(x: 595 - offsetX, y: 235 - offsetY))
path.addLine(to: CGPoint(x: 602 - offsetX, y: 250 - offsetY))
path.addLine(to: CGPoint(x: 584 - offsetX, y: 272 - offsetY))
path.addLine(to: CGPoint(x: 558 - offsetX, y: 277 - offsetY))
path.addLine(to: CGPoint(x: 549 - offsetX, y: 282 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 42
path = CGMutablePath()
path.move(to: CGPoint(x: 487 - offsetX, y: 233 - offsetY))
path.addLine(to: CGPoint(x: 487 - offsetX, y: 213 - offsetY))
path.addLine(to: CGPoint(x: 511 - offsetX, y: 198 - offsetY))
path.addLine(to: CGPoint(x: 530 - offsetX, y: 209 - offsetY))
path.addLine(to: CGPoint(x: 545 - offsetX, y: 210 - offsetY))
path.addLine(to: CGPoint(x: 558 - offsetX, y: 224 - offsetY))
path.addLine(to: CGPoint(x: 529 - offsetX, y: 250 - offsetY))
path.closeSubpath()
self.shapeStorage.append(path) ///Province 43
}
}