-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathslotMachineClock.star
267 lines (248 loc) · 191 KB
/
slotMachineClock.star
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
load("animation.star", "animation")
load("encoding/base64.star", "base64")
load("render.star", "render")
load("schema.star", "schema")
load("time.star", "time")
BLANK = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAAEAAAAgCAYAAADT5RIaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAFUlEQVQYV2P4////fyYGBgaGwUkAAIeoBDt7wUf9AAAAAElFTkSuQmCC")
SPACER = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAAQAAAAgCAYAAAA1zNleAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAKklEQVQoU2N8K6PynwEJMCFzBr+A0LU7DELX7uBRgQwYaebbweIOagsAAJlFDdKnzHwdAAAAAElFTkSuQmCC")
LEVER_PULL = base64.decode("R0lGODlhCAAgAPEAAAAAALl6V//yAAAAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAQA/wAsAAAAAAgAIAAAAiGEj6nLvQIFivLQE67JcYeQfCAmkh8ijp7qOe4Lx/JMOwUAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACHoSPqcvtb4QUaNJj6zwhgwCCXyiOIVei0Mq27guvBQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIchI+py+0PlZgC0XruCTd4Tn2fISJehKbqyrZKAQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIYhI+py+0PYxNUoCqCDnjz6nWaRJbmiZ4FACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAQA/wAsAAAAAAgAIAAAAhqEj6nL7Q+jXKGmWoUWOGyOfYh4kNOJpmpTAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIdhI+py+0Po1whqFoRxmaLLxwBGB4kcprgxLauVAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACHoSPqcvtD6NcIahqEa5n875pwiggZHmcJrmO0wu/BQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIghI+py+0Po1whqGoRzmYnr1Wf+AmmcAQneqyI257TTBcAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACHoSPqcvtD6NcIahqEa5n875pwiggZHmcJrmO0wu/BQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIdhI+py+0Po1whqFoRxmaLLxwBGB4kcprgxLauVAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACGoSPqcvtD6NcoaZahRY4bI59iHiQ04mmalMAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAQA/wAsAAAAAAgAIAAAAhiEj6nL7Q9jE1SgKoIOePPqdZpEluaJngUAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACHISPqcvtD5WYAtF67gk3eE59nyEiXoSm6sq2SgEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABAD/ACwAAAAACAAgAAACHoSPqcvtb4QUaNJj6zwhgwCCXyiOIVei0Mq27guvBQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAEAP8ALAAAAAAIACAAAAIhhI+py70CBYry0BOuyXGHkHwgJpIfIo6e6jnuC8fyTDsFADs=")
LEVER = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAAgAAAAgCAYAAAAv8DnQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYYAAB2GAV2iE4EAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAYUlEQVQ4T2NkYGD4z4AHMKELoIPBoIAR3Rf/PyHziDCBNAU7q8KRuQwM6AqwAbgjkXW7t62EswmawMSAw24YYEKXRDaegWgrYABdNwOyAmySDNjiAh2Q5gZsYFQBBNBBAQB1zBIqanG1rAAAAABJRU5ErkJggg==")
TEN_HOUR_START = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAw0lEQVQ4T+3TIQ6DMBSA4Z8dAT2JwnABOAhqQXOAnWGnWKZ2EHAoDEHsCuMKm1lJS/seBIPZnyAo/dImtNH7nHwA4uFF2zcA5FmBXds35FnBlCYAnJyvARDKQ1v6o1+ryPw7Ow+1fTNPDAFCyCQBNKQV2WdvLXP2HKRtST2wWzoYXabbcsgpiPhBCYtIS0SP+ArCVkWEBZepSOpAlJYVXT0uh50clJaV/QpAV4/euLeS3XKySUVSDhqe9/nR2nUJd133LwijSiQ4KSo0AAAAAElFTkSuQmCC")
TEN_HOUR_TO_BLANK = base64.decode("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")
TEN_HOUR_IS_BLANK = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAp0lEQVQ4T+3TsQ3CMBBA0Q8jUKeKXKVhAbxBpIzAPIxjKRscC9BQoWyQFFngaJzITg6BqP0bS7af7caMldOxcqozKiIKKKB1aLNRZ3TZeyTJe08d2nTKLEO/liERYej69bY6tAxdj4ik2/Y3LRAwARYigRYAOIyVU4DT87Vd2zU1Drbo/rBPBric/YrM532roFhBsYJif6Hy3WMmuk637VSWiYjwE34Dx3NVrIC+UqAAAAAASUVORK5CYII=")
TEN_HOUR_TO_ONE = base64.decode("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")
TEN_HOUR_IS_ONE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA9UlEQVQ4T92Tsa3CMBBAXxiAgjpVlIqGBcgGkRjhz8M4kdjgWICGCrFBKLLAUYDR2b6ARfMlnmRFOvvpcr4zY93qWLeqEyoiCiigzdBHX53QcHaBoes6mqG3IZdIKiWSRITr7vDK1gw9190BEbHH8kxBBFwBT8KIngBQjXWrAKvzJd3LuK1bSDMdTxKtagnV8hG3uL/H8/rncKUg6JTuPMikTwKpVCKQShQIeFK4sXdkYzTXUEuWqYRflKIpt1cd+hViOs1Medi0DfaanUklZFKYCLtSoprSx2bZbrpXTV89968yZTWV8M/S322fhiJciac4J98BjOeAG7mFPvUAAAAASUVORK5CYII=")
TEN_HOUR_LOOP = base64.decode("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")
HOUR_START = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAACSSURBVDhPzdDBCYAwDAXQDOJJHMdlnaHzeHGBSg6RNPQ3aa2g8NFCniWfzmXLnHyRG5kljVJKT4jKs4sYrMdewPlIgEQgRPoG++5CQzd17xRGQ+29RqHKLdLvJpKaw6g2/A2yJQwXEa5coD5D5KWK9J9t5iLeA6WJ+HkG9beHZDiMUCCyy/+8CA2bCAUiuzwq4gZIh7vq9Q6FQAAAAABJRU5ErkJggg==")
HOUR_LOOP = base64.decode("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")
HOUR_TO_ZERO = base64.decode("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")
HOUR_IS_ZERO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA7klEQVQ4T+2UMQ6CMBSGP4yzgzOT6cTiBXw3MPGIjs4m3qBewIXJeAMYuMBzUBDaVzDq6Jc0JK/98rc8SlblTgGW5ZW6cCzLKwB14QAoD3sANmvpajNGaIWQUSlFJNWF67aRIuuf6Xzx4XzH22dKMUiawkw6XzzZgmiE2x4kZQvQZjD/WPSsm0nv8jupfx4LUwLwPt2zpDTGX3qSlEQkLHWYkjavYWFKU3wveW/fp/CT+ugf8dF1n/eL/SQRGWxrs361wHwRIsLquE32ypSmiKQ2BUinVbnTKneqDQro6rg1n9qg7dooKeS2O0V9ugNs3XD4q+zxWQAAAABJRU5ErkJggg==")
HOUR_TO_ONE = base64.decode("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")
HOUR_IS_ONE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABAklEQVQ4T92UO47CMBBAX1ZbU1CnQq7ScAF8A6Q9IuXWSHsDcwGaVIgbJEUuMBQwwd/EotwnWZHGfhp/ZtIMrRGAbX9j7Azb/gbA2BkA+t8TAIe9nWNfLKBCzKJUIpHGzszbKNH4Z7pcXTw/U32mEkGmNbKZLlcXjGYDzeYZ9yluz1obh2aykgoyxTNPEmlNIJZqBGKJCoGcpDe2RCA553CuXBVKkqmG/ygFVe5ftb6XxmQqVLlO+g+ce+xEqiGRtCL8EfPRP+Kjdv/2g34ma21Qh4f9u5OTM/ESdudjseWz0hqJpFmAcrahNTK0RmRCANmdj9mvTIiuTTLF3H/+ksZ8AJZpf2QpyL14AAAAAElFTkSuQmCC")
HOUR_TO_TWO = base64.decode("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")
HOUR_IS_TWO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABG0lEQVQ4T52UMY7CMBBFX1ZbU1CnQq7ScAF8A6Q94pZbI+0NnAukSYX2BkmRC3gLsLFnbIN4koWY5OmPJ066pTceYD9fWQfDfr4CsA4GgPnnG4DT0cbaBw2CIGlKNZS0Dia2UaNL9zROTl6PvLynGlnSM4pJ4+QYJ0e3I65QS1HtWWsB8Fv+PyVrr9vdikGAW1qoFdsLFxE3S5T0CkoKA2iRSc65uFqoJCoTSylKFAaSoqRSimxXSVTGnJJJMqXUGlKisBfZGqVjJKVA8xgF/PZYkqrUQknpu1Q7Um99I9563T/TYppkrc3GfTo+nqHaE3fhcDmrhx0oSs9QUkgB6mlLb/zSG+83POAPl3Px12/4cK9Kkvx9/arz9w+fBZH2Rx1fJAAAAABJRU5ErkJggg==")
HOUR_TO_THREE = base64.decode("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")
HOUR_IS_THREE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABH0lEQVQ4T52UMY6DMBBFH6vUFKmpIlc0uUB8g0h7xC23jrQ3MBegoYpyAyi4gLdYzNozNqA8CSGP/fnjj6EaG+MBzsOTqTWchycAU2sAGL6/ALhd7Vr7YIMgkGyKSijR1Jq1jRJVvKeud3J+5fCeSiROe2Sdut7R9Y6qJrlk24lTVf8V/RwtiGpZpzC5NSYnYnl6cMihRFUNzpWjR4qcc7sCpChgrZWlBCUKglwAgURkrcXPOnLZsnKS+Fm3q4KIT0IJ5XQkQbUn2UoO5ZTbg0SJWISHIyc61aUxUhQCkAnKYN76R7z1uZ/iYuxkrU3aul3/E1VBsAguj3sx+qxoDyUKLkDZbWyMHxvj/YwH/OVxz979jA9rlZPk9fmj3tMvSMGRI1ois9AAAAAASUVORK5CYII=")
HOUR_TO_FOUR = base64.decode("R0lGODlhDQAgAPIAAAAAAO0cJCKxTP/yAMPDw////wAAAAAAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAh/ihHSUYgY3JlYXRlZCB3aXRoIGh0dHBzOi8vZXpnaWYuY29tL21ha2VyACwAAAAADQAgAAADYxgx3K1qkAkmGXBRUW+WBMBNGCSJwlhGYsutiwtU8CCTX5h29cbnup9powLKejPO6yNbmpoAZKo4DOKqIUvN4QBarpGvljkrR5mFWfr8LKTXNXO5J/Y85WzWGo7e52N4dGIlCQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANmGDEE8oAMpYa7Akxqc45bhUUStTQQUXLqpYYnSsIMmq1V62kmA4y0USa4G/ZsN5pudmypcIuBdCptPl/Wa/DH5XEAhV/YKyqEx9suOXaFWtRryxjdA8/j8Hgb+4UH73hmYD9pXRsJACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA2MYMQQigJChFGtQ0npdnNUiOdlmjRBkioCnhoPrrXE6w9gT0ejHjxIQZ0AsEnHB4C8ptLSeLRqg0KICpAWqVQqNIpncLrbq5Uyt1DB0mVQ/x9OyMxu/wrpyEbOpB8OMRl9tCgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXhgxRCAPDKUYiHDSgaOuXUYtjmACxEeWaDoyTetuQ23Xb6M3KrzPoItQ8gIULkfixnhM9obC3o9XhCpBSWexkL0urF7f7ml9dsNM44UMlU7dv97tlnvX43cfXJ/XaRIAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXhgxBPKADKVYE1HSRXrW1CCO42Z16BSirFoBcAy4C1DA92zad04PstiPldoFdSEbDvbjLZvHIRH0iu5yvmuPaQxKid+WiUQyTamc6fe0Lq46bLNEBJeT0Awyfj4CJQAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWBgx1E5DKfZalAPoDe4EhRZ20gKGo2dymkpVLtuW2ZjSp0hi8j5VFpwsZpvxCijjZ0gDQppA12BKnUJh14fL8dpauNculBrEWMjbKiNdfZrV7h+cjW7OFQkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWhgxUNUADKVYvJIuwjuZlIVlIWSCVfNA6DJG7eB18Uum61o7pyZisRknKIwNjsijT/hZFp0fGlQ2nEpDw2MV+0E2sUlZMPytdL3jZHlDTqOXbbh3TY1uzc9AAgAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANYGDFQ0G8oxYqDcrLHQaZEKBLf0nFl9Vxp47CTeXrxMIrpHaZD7/c1HSmoy+1wRBJSg1uCSL0d8Tdk/my5axWkzVK9vu0CGgZHzVLmMf28Gd21qy85etcVCQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANWGDHQDkMpVlqFcoFSb5TM03wTYZ4EuaCnOrwwnA2s6dbp3La6zYM7Ww8mBKaItxgtGcsBlc4SlInUTa1NKi268hVLtVt4ppQZWWJ0T31GiQXunmBeTAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADVBgx1E5DKfZalCNrLVe1HVVdkyOSnmWG5opZGfhCGsRuDJpv9ov3pZ+OVhsKbzxjDZiCuEqfYTSE48xGrOn1IcXOBNysYCyDjsFMCpgsRYPbjbciAQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANXGDHUTkMp1iiUy9kot8bUIFZgJTLcBJ1oybbdel7xS6t2muUue++zn4cUexBVRuHrVErqLI9nUjiVEgTRpmB7zFy51Os3jBVby9hzI61dUxXup6QxUSQAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA1sYMUTzbSjF3GNy4ovnspfjbWFGgZD5cZ2Gticrulw0Ng6uVrjt9j4K63IDzk7GnfH4SRYFPSVBQA02qVBmBVqVZqHeBvgp1panZkV5N2lQRm0NXC3/ud/2qCIBACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA1oYMTTuTSn24JCr1Sjpvp32cJPIkBnRqOjJqmD5wlhl1zMd5nE6964XUCUQ4giCpE6WLLaIyOIQCZ06pcfrk0odKqo1iWoS/nbKAcJ5NyazjR3b4/ijw2X1QAIAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWxgxNO5NKfZYlLaRPeTaIOdlYYdV1RiC5rSK2Hu5b/sRQqniQj7fPZ/Nkuv9iJvcMMlc4po7n1KlgGIkm8kIe+0GCN5bVhurjVCP3cq5VuvC4Q5qsW3Jtyd6IAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWxgx1E5DqUFrleu5KJmGmKdx0wd2jfCQGSG8Deu96lm6riqn/I7jvpouxAMSFb2QpDFRIjvOAAGKclBvo5DFQvz4slVwEzNubhdKUkSmRVfHvkXElpnMd3IkJwEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWxgx1E5DKfZalFS8O5v4lrR4ICRmBMiNqWdibrui8hlrM6G4s9RMJx8muBvCHMZO5TUZOJ9O2zI3lVZ6IuAQGulxusTmQqqlLiLMkTjNOO+w0dD2IgfG6+P7KwEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXhgxRPJtKMWcE0TOiq2mTYd9S2iS3DmVirpNDbV+xGsHtbw1sQ7yPNRgSBzOgMEjMqNEola3xaIofX0kzw1WqUPFjMwdRRIGTVtZcFlqxK2x5MjsnIzWf84mUFgkKhIAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADYhgxRNJvKMUcJHIydTOdzaeBYxkQ5tKEIrW+3jLM9DypbxNX+Z7rt1hKUiMGF6Nd0KhhZXwoGyaIkp181uvRCkxmuh8pGCmeplbQHvW3K9KCgDghDtjVAfNBHa7P7zV3fhkJACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA18YMRrUDLanYiWYrrayt8sgjiI3eBl4ooTKtiYnSSSjbhWeQ7aJ7a5HCQahDF0hBRHIwNxKjuVm6IxRpaCUjxVEqWojE2BMGANUZ0B5cBaz121IGo5+p+vqu9vMrpPiCQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANlGDHcrWqQScmAq9ILpbYYhy3h4pAdSoqq2XpR3E0uOEeXHRFuoKMM3+8SFLKIucmxpixBNqHPUHp0nDqALCELOHYB20E39A2PsWKzN/1dg9tkcVa8dpwjXbuXy7hnJnl+HmF0CgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADYxgx2sqNjTmXk9HmiCMhT+iBFQE94MKYFwmxWwmHVfCdljzn6305n90gSMQNiT4OZXkBOAlOgFEKgA6kzasVG6Fup1oquCrORq/gJfchVU/P6NanvV4E6cb7pH60xkd+fHp/CQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANlGDFEOk+9tiCBkj2LZ1WXtGxB040DZopQWq7Z14SxNJ/MfLP6nqVAIAtAJBABOCTAOEAOm0xnRhlNQpXWJfZ5bFqD0gcSnOx6eY1xeDFT49qpdY55zsDrk3T8ne6iezhBQX9LMAkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADZRgxy0HEKTYYjGq2B+XKHJYNV+mRZQdWbLsCMAEDJw3IA/3muD7avRrPJrwRd7OcsOWb0Ji1pHJ1eTYX1coVhZuOst4JeDs+VZPUlGjScn0hN9UbIIibZXW5mC7I1+qAW3SDNw4JADs=")
HOUR_IS_FOUR = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA4klEQVQ4T+WUvQ2DMBBGP6LUKaipkCuaLMBtgJQRU6ZGygZmARoqlA2g8AKXCuOfMyC6KE+ykA1Pnw8fZFOhGADyYcRcKeTDCACYKwUAGF5PAEB9J7t2wQaLELIppYikuVJ2Gykyt6au1+F9y+GaUnhJe4hJ2W0dXa+9uUu0PTbbc0jSEX5VIqJwySJKbNYhIUp7RFLqQF08SWttxxZR0hH+Tkq9+lP/iFOf+9VddJOIyDvk+r42sFgTEaFsm2Sni9IekbSkAEinTYXiqVDMBgyAy7YRr2zAy7NRUsjn8Y66/gsa82k5t73QlAAAAABJRU5ErkJggg==")
HOUR_TO_FIVE = base64.decode("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")
HOUR_IS_FIVE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABB0lEQVQ4T62UO47CMBBAX1ZbU1CnQq7ScAF8A6Q9IiU10t7Ae4FtUiFukBS5wGyxODgej4MQT7Ki2Hmaj+00Q+sEYNtfGTvHtr8CMHYOgP58AuCw9/PcBxWikFOVLJQ0dm5Ow6JJa/r5Dfn6zNM1WSwirVGM1GzskaLSk0mPHCU9gylZqVGTIiEEQlhuhSnFWrz3+ZItURGVlNex2r00/1IDIioSd7lGUVrjfVLerZzFKbe61mz+34unnOTARkpdVFKJvJtKqt2jyEv/iJeu+2c6mUby3i9qOewf26Bq4i7sLkdzv4rSGkqKUQA72tA6GVonMiGA7C7H4lMmJH6rIuXcvr7V5v4BWYmCc2KCthwAAAAASUVORK5CYII=")
HOUR_TO_SIX = base64.decode("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")
HOUR_IS_SIX = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABBUlEQVQ4T9WTvW3DMBBGHwPXKlyrMlip8QK+DQxkRJepDWQDegE3qoxsIBVagCmEkyn+yUjS5AEEgSMfPvJAmqG1HmDfPxg7y75/ADB2FoD+4wLA6ShL7Y0KKsRUpRKJNHZ2OUYJE97pdnfx+sLLdyqxStoim3S7O0xDMuJjr5JMMxf9FGwIatkkXdwikZRcqlKUavy9pN2LqUrOuWWEVCURQUTiclny07NzsViU/kHLS/xecm7+GgQNMM1cD0mSVNQRC+QkKi9B+dF334XF8FuLyCrpdHy+iuzxRITD9Zw8HyUrbZFImgKU04bW+qG13k94wB+u5+zsJ7zuTZJivt4/k9Z/A8W2gBzsjUhVAAAAAElFTkSuQmCC")
HOUR_TO_SEVEN = base64.decode("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")
HOUR_IS_SEVEN = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABAklEQVQ4T62UMW6DMBSGP6rOGTIzRZ5YcoG8G0TqETN2jtQb0At0YYp6Axi4gLvUru33DFbUT7JAho//PRvo5t55gOP0YBkcx+kBwDI4AKb3GwCXs8S5FzYIQsmmVENJy+BiGTW6tKfPr7G8HmnuqUaWtIeZ1B3qI0WV51c9SpTUwqZUlhWoSjUBS0obt/qhlMZxjCNgJaokABHJUtKHUJP2UJKIxPPuoFOwJDYWIGBKe2RSS2mUEg2lYUkt/I9kfT8lT/0jnvrcX9PJNElEsiW/nP+2Q/XEr3C6X7N9SzGlPZQUUoB62tw7P/fO+xUP+NP9ah79ig/3qqSS77cP9Q7+ADkMdzkaVmUuAAAAAElFTkSuQmCC")
HOUR_TO_EIGHT = base64.decode("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")
HOUR_IS_EIGHT = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABGklEQVQ4T62UMY7CMBBFX1ZbU1CnQq7ScAF8A6Q9IuXWSHsDcwGaVGhvkBS+gLcIE5zxOCC0T7Iij/3zZ8ZxmqF1CWDb3xg7x7a/ATB2DoD++wTAYe/n2AcriECzKqpRiMbOzWnUaPKaLteg12derqnGwukZptPlGmg2FEOnvXBqNlMwxWxDFjOdZFEcZK4pREIIU6oWVZH3XodmTFGKj2FRiHRKeo4WhTC1VjbKU+JC4fQK/3dOa3MsEfe35wesMUUYxedURWuYohSnL8KqB0ukO2jVVT3cvBG6vrf+EW9d9888mDt57xdpHfaPq1I0grtgdz5W75QpekYhEheg7ja0Lg2tSymSgLQ7H81niiTZWzhpfr9+inP6A0/0j7WI69HxAAAAAElFTkSuQmCC")
HOUR_TO_NINE = base64.decode("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")
HOUR_IS_NINE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABBElEQVQ4T9WUMW6DMBSGP6rOGTIzRZ5YcoG8G0TqETN2jtQbOBfIwhT1BjBwgdchMrWfbYJQl34SQnr2x2/7Ac3QOgXY9w/GzrHvHwCMnQOg/7wAcDrKXHtjgSBYFqUamTR2bl5GjSbe0+3u7fjM6j3VSJJeUUy63T3Njuyyy06Smt2zqFM0IaoVk8IgZrIlk9bw36SlAwgkkvfPfoT+1MiSvPezXCOTRAQRseWERBIRdFreD1Zay99Im488pnT0WRJRn4JgH7bpH7Hpc3+Pi3GSiCTLOh1/G17ck4hwuJ6rb0ZRekUmhRSgnja0TofWqU4ooIfruXjXCQ1zsyTL98dX1qcfeml82gBlrgwAAAAASUVORK5CYII=")
TEN_MINUTE_START = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAAyUlEQVQ4T+2SuxGDMBBE1y7BsUJFSmgACnHoyggpBBogUeQWROAG5ARppLvTJ2Ac+SUwJ73bZQY4pb1T2vsPsmdtfgfhMDq+P+w7Owtkkl1m2GVOR9mSAEsKpCl0EZPM80VHDCYhSZGqgUpSCq0GKqEjBZKUIqWgJZVg0mF0tRoA3JzSHue3bPtKzyPjMMVlLKmHLKlFSPpdvaI0DhMdRYpSjeukUK1UUZRSJJFJ0iUKk3r4SydNSfrzmbTta7woCZCkQElATarxBaHCXtjy5v3HAAAAAElFTkSuQmCC")
TEN_MINUTE_LOOP = base64.decode("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")
TEN_MINUTE_TO_ZERO = base64.decode("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")
TEN_MINUTE_IS_ZERO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA5klEQVQ4T+2UsQ3CMBBF/zEABXUqlCoNC5ANWICSmqEoqZnhp6OiQRSsEIoscBQQE9tngwBR8aST7PM9nWPFRluU2halagclqf2cpJLU6W6hJFU7uLURBlTL1XAKANivT1Hek0LC4p6slMKTjtuNixzSFqUCwOR4RnNguO6Yz2pcqhIIpWf0kre95kDIGFGEO/A6yRjQzlu/Fd3zZqdX+Z40/B4LUwIAMn38SSnHX7qTlOq6DlMOU9LuERam9IzPJdK+T+Ev9bvr/lantw4ieiNSZN8IVTXHQyIJmeKeSBIRiIgbW1wBmWh8eFjDqo4AAAAASUVORK5CYII=")
TEN_MINUTE_TO_ONE = base64.decode("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")
TEN_MINUTE_IS_ONE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA+UlEQVQ4T92TPW4CMRBGv+EAFKm3QlvRcIHsDbhASmoORZk6Z/joqGhQCq6wKfYCkwKNZY9/sFJQ5Ekj2TN+stfjxTyMOg+j6gIlqTYnqSR187VXkqoLQm2FiO3HIZ4CAC7H7yyfSB6/2GhKNRLp9nkK0ULmYVQAeLvdcb7S1wPvuwk/2xHw0jNMSo53vjIJWQOyfuRjqhcxTZNPBYqSCbr4yoNMeibASz0CvIQOASXJbqxFIpEEWW+wke3Uw3+UklceX7X1y3K6VF65FeMGl5qdST1kkr2IODyv+93/tFP2TT1U++Rp90m1OI7JJDQWG5kkIhCRMC7xC8L0iuTk+85kAAAAAElFTkSuQmCC")
TEN_MINUTE_TO_TWO = base64.decode("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")
TEN_MINUTE_IS_TWO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABEklEQVQ4T72TvW0DMQxGP2YAF6mvCq5ykwVyG2SBlKk9VMrUmYHXubrGcOEVLsUtwBQGFYqkFCOFHyBAfw+kKAnrMMo6jCIbhJlFx8wszCxPX6/CzCIbytoDDPu3dzsEABwP5zBfSR6/WelKLSrp9PlRWg9ah1EA4PF0wbywXy+8PE/43o+Al/5CpSq9eWHMC4N2KE3nLKEQ0zQBAGSrx5YqPdpdJ1UArtF0Lk1PF+E2e4J0C0HSAvSoJGYurUeIhEbFLKmEpCCWIGVRfLpBQqPMlkryUbLU4CUkZ/GpIXtGXlK6z0iR7bd5mlKPINm/1HpS9/vu/4oUznQL4Z5adO9JRNK+JUjobFaCREQgotLP+AHLkJ12gOl21QAAAABJRU5ErkJggg==")
TEN_MINUTE_TO_THREE = base64.decode("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")
TEN_MINUTE_IS_THREE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABGElEQVQ4T72UvU3EQBCF31KAA2JHyNElNMB2QAOExBRFSEwNzxmRkxMBLZhgGxgCbqzdmfGeRcAnWfL+fJ7xk71Yx0nWcRIpEJKiY5JCUu7eH4WkSMG2doOK09NzPQQAfLx8uvlGstjNSlfao5HOb6/b1SOt4yQAcHv+wrzQrm883Gd8nybAStdQqWlvXoh5IdKA5rIdNJXS8DsppdpQzYWVdLE3RiTh8nStEOGkNADkfoqwEsmrAqyk5JztVIOTVIgCUBop5wwpPnLbsqtkkeLbdUHUX8IertKRBN072VYiXKXoHSxOwkU8HDmqr3pvDCtpADZBG8z//e5/quSCOEJ4RkT0zwiR8L7GSehsVpyUUkJKabuP+AF1TJyjpgSuagAAAABJRU5ErkJggg==")
TEN_MINUTE_TO_FOUR = base64.decode("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")
TEN_MINUTE_IS_FOUR = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA30lEQVQ4T+WUO07EMBRFr1kABXUqlCoNG5jsYDZASc2iKKeeNdx0VGkiitlCKLyBS2XH/0QUSGiO9CQ/20fPH9lYu15r10sWIimXkxRJPV/PIilZ+LEHBAyvb2EKAPh8/8r6IyklnexoSjUiabl8+Ghh1q4XADwtN0wz03HP6WXE99ADqbSHk6LlmcctpplRHpIdhGw7R0k6wn+VxnFMuzxFSXaLEkVpj0yqXWhIJJH00SKrdIS7k2pH/3fP/VeVmnuqEVUqbdohW/mNAEBSsR2SSWhMdmSSMQbGGN8u8QNHfnS5P+8r6AAAAABJRU5ErkJggg==")
TEN_MINUTE_TO_FIVE = base64.decode("R0lGODlhDQAgAPIAAO0cJP/yAMPDwwAAACKxTP///wAAAAAAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAh/ihHSUYgY3JlYXRlZCB3aXRoIGh0dHBzOi8vZXpnaWYuY29tL21ha2VyACwAAAAADQAgAAACVQRylqhsgdwR4tlGDxIyVA1wygSG3bOJTUmdUNiOUapeBlVPON7tvAwJBmW+GKbYa/2OnOWD59QFjU/OtCf0YIU5LXd7JWa71jBmDPaQlVSdL/k2FAAAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADWwgQohFAQLXaU5IuB0Wm0BV9ztJ5U3l55EaxacXCGjOj9aPr9Y2DvpZNQgOiig4YUqb7JSXNGGM37VGF0Kh1h71Ks48u98vFHp2y29cnpfKMgsHSNiDIzfX7JAEAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXAgQy/JMrQaeiApXKJf9WvBZYWCeZieOl8q20nqRLkTH5J1BJodfJ9gOJQoBg0ai0KNMopbFpxPpekJzvh3LuFURTzXBQOcRE8ZXM9o4ILjHobb8HD+f4ar5WpEAACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA1oIENIuQalAa5XruSiZhpgHbeFGdmbDTSqlllAFohazZvXM5rdt6bhfLyYb8ko/oGgJ0ww/vdoF1RicWIIBwaqsbl8oLeHb05q35e3WmjaDWWLu093NfuvxWQIAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADYQgQ0uxKPTFDXI1mG1/4UOd8DCdRZHmVKbWipCum6tyaGC2fOs6CO4xj88oQRcaQhEYqCgbH05MADT4GVCUGS8j6sGDql0qFjsFaBrfqa6Ct7ix86i2GB+3B/UzGr+5iCgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXwgQIvEsKBVhnMtZhyvkk/eAlPZJoTmipXWlG5k1DN01uJ3mOuVCt8YAx5oNCENZ7ZgsMo4EpJKJRDqpg+G12rxBuztmzyhVCqPaINYpyHK36w7W6o1K2e2y8/cI8lAJACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA2gIEBLuTSn2YJCr1Sjpvp0GcZNgMieGmixYsq1aVSo7xKEwEDeZ6bxUaEcIuha7JO8YUA5uTKewROwxTcnpL+tDVbtY3rL2FA+i5nHHqaYWjTWgVTZzxGFgfPfJf0YLT4BnKgMFgIIgCQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANmCBASzk0p2IQNctl9M+WY9IyOtw1bOFkDgUYi63ZxS8zq0u5uHvADlA9IW9lePhnSJNgVNc2bkAlMBl09DzAr2g6sNxx1BpuQHkxOGaoeBt9fbSE4j3cL87obbl+p1z98fTp1egoJACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA2IIENytKog5pghwUVJvlsLATRgkicRYRmLLrYs7VHAgk1+YdvXG57qfaaMCynozzusjW5qaA2SqOAziTA4H0HKNcC21mXgWLszMUWbBjA6PyVuu+10+w59r+3zc+3qeb2kACQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANlCBAy9EMEpYK7ZExqc45bhUUStTSQUHLqpYYnSsIMmq1V62kmM4y0USa4G/ZsN5pu1gs4n86jaoqLUauWn5bHGRR+X66o8A0Htz/lFYtO97xgd5ccP6PVV/s2GDa/6X5dbXhUGwkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADYQgQMkRDiKAUa1DSel2c1SI52WaNEGSKg6eGgeutcTrD2BPR6EcHwCAQJymCOMYircVsLQst6OAJlS6bTmLyin1Gs5xBQQrlNnnJowULXpPbC3EVHmOjt1rjTxjMK/0aCgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXwgQIkNvBKXYiHDSgKOuXUYtDmEOwkeWaDoGcBy/Td2ojH2/V3/hg8JFKOEVhESg70fTuTZLJpSYNFKL0CjO+QRpjUMp6BgUL6LYCnfrxMlkTR1bHrfN7U0CftMw6Z8JACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA2AIEDL0QwSlWCNR0hW675sljONEiaR2Dmw7mNVQsPMbynMNL267o6RfjyWs6W4Fo201/KWCtyaSRkTmqsye86mqcLucjyf03T7NKTT0NCKkyYKHG2yRl+DuB73N387dJgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADXQgQ0i5BqTCqHVHSUjmWy1BwXjZdlrk8jkqhnyZ2lSt6nA27bKOjNlwNtCENZTtiD6LsuQLQKLTJ4jmpD2u1SchyCV2mpgEOW7tg8YTMPre577Eg3OUp4hNJIw9IAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANeCBDTPkGpIKoVUbLX8hxFE0LSAo6hZ3KkdlnqxsWg2JVMEY40G7+VHzAWKBqLOCAmOWS+hE8m4SIkWIPS69IlmF6rlSm4u52Ez2NxUoHGSSoTN1sjBwjoXHg8T1UkAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANfCBBTNW0EpRi8ki7Bu5iUhWVhZIJV8zxkOrabx6GxTAd4nmuBPPO+D9B3CxYFBM+RwPyFOMyk8IlEJpfQaSVbxXaH0itQkb1ROBXeOaQms6noNFzJ0+l4LxjDrpfoSAkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADZAgQU9MvKMWKc0NO9nqeiyCOgkaRo7kEbMuCASqqsUzLJYzfAkHyhOBM1xPmNiKfEJg8nnpNJlTquymisImIkr1uugDBFzkaP1E0lwvm6dAyrs8G3pJT4J436zGc1wdOC3QcGgkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADZAgQ0i5BqUBrleu5KJmGmKdx0wd2DfGQmUC8Deu96lm6riqn/I7jvpouxAMSFb2QpDFRIjtOgACKclBvo5DFEhp4vwNZ2BLubsudMVhM8cbM7YFtMY6LvRX0DR/QtwRqPoBtHAkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADYggQ0i5BKfZalJS8Oxv5lrR4ICRmAsiNqWdibrui8hlrs6C4s9RMJx8muBvCHMZO5TUJOJ/O02BKHcysUKsUGtBisNWrcxr6Psnis3dCPecE0/EbLrc1wHO8Pd698vtbahcJACH/C0ltYWdlTWFnaWNrDWdhbW1hPTAuNDU0NTUAIfkEAAUA/wAsAAAAAA0AIAAAA2UIECL0LSjFnCNCzoqtpk2HfUtoktw5lYq6TQ21fsJrA7W8NbEO8jxUYEgczgbI5AC1LC6PxcBz01Qyh8gIFDvIbLlMJHH6E0tRvCq6oZ6lsWszeZEcX8fz89hLVXbXQHwUUUQKCQAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAFAP8ALAAAAAANACAAAANlCBAi1C8oxRwUcjJ1M53Np4FjCQjm0oQitb7eEsz0PC1Drg9xwNe8m682FP52veOgkaTlMEZgUKNz9hq52dSF1V67Rc3q+M2GKVVv1LnFAaHU3fL7glOINGGdqd8n5W0+BTmDUwkAIf8LSW1hZ2VNYWdpY2sNZ2FtbWE9MC40NTQ1NQAh+QQABQD/ACwAAAAADQAgAAADZAgQoiJEBKWma4tmR22l2FY9T6cxJOktQeu25yDPwxrUbx2/t43TvpbsERQOJDuXzLcU2h5NXYf0e0KdJyp2Kogycb2ksShEdmhDa8pc4bmya/YiLr+hpZVBQbbHL/R7fV9ACgkAOw==")
TEN_MINUTE_IS_FIVE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA/UlEQVQ4T72TPW4CMRCF33AACuqt0FY0uUD2BrlASuocKmXqnOGlo0qDKHKFTbEXGAqYlT1jexFCfJIl/32y/Wxj7Hodu151gpJUa5NUkrr9flOSqhPmsRUSdu/7tAkAOHycQn8mefxkoynVyKTj1+dcWsjY9QoAm+Mffn7px2deXwb873rAS0uYlG1P1vWSEoLQKRZPkG6hKtW2hpZkkASZp1qV7CzDMPihuoSGGCR/jsX00v2XAjDCSrjKLYrSEo+TfFqe7JXXUpP1pV185UgerFFKMUglfJpBav0j43nf/a6VwpluoXpPnvY9qRbrKUFCY7IRJBGBiMz1EmeGFI3ztFJVgwAAAABJRU5ErkJggg==")
MINUTE_START = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA/ElEQVQ4T72TPRKCQAxGPzyAhbWlFY0NpQwtV7D0ZJZegZYJJQ0NlVfQK2gh2ckmWWAo/Ga22J/HC5nd7HU8fQDgMD7xzk/gjI878ustzOX+LqxOB3nMJZOmbiC9H3I5l8EUQUtxobWm6J/WZhMUlSdbrpNsOW/qoWMgTF3i4cVA8qBngYa82+DZjIkjLfpDBpKXNBUDQVi80qAhz6JLg4awwgIPkvEsWIJSMdDcTeD87z1teu6RqRsI2R7R6AYyZbvlVXWPqu4BAGVZ6u0Y0gdSoDHxwbYp0DZFmMsYCBMwFxfieBZ4kLboOTRERCD6tVdaeI1jTLJTngUAvqQ1iGT6dlgsAAAAAElFTkSuQmCC")
MINUTE_LOOP = base64.decode("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")
MINUTE_TO_ZERO = base64.decode("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")
MINUTE_IS_ZERO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA5UlEQVQ4T+2TsQ3CMBBFXxggBXWqKBUNC+ANIjEC8zBOJDa4LJCGCrFBKLLAURCC7VwgCpQ8ybJ0vqcvWz7arNA2K1Q7VEQUUEDzqgx27dBn7woP5xx5Vfolk0CaSyCJCNf9aUjLq5Lr/oSI+G3jpKcImAKWhCdaAkDSZoUCrM+X+GzEbVNAnFQ3QpIyWnUTJgZJSQraBeePpr5uJs3ld5J/HwtTon/2KSald/ylnknJOReXBkxJu9eyMKVPfC+J2PMUf6lgnuJh89lt3TBPi8Z9UdL3DzGX30mH2zEuBZgSvTgl3wFjW3Gv1rKjMQAAAABJRU5ErkJggg==")
MINUTE_TO_ONE = base64.decode("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")
MINUTE_IS_ONE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA9UlEQVQ4T92Tsa3CMBBAXxiAgjpVlIqGBcgGkRjhz8M4kdjgWICGCrFBKLLAUYDR2b6ARfMlnmRFOvvpcr4zY93qWLeqEyoiCiigzdBHX53QcHaBoes6mqG3IZdIKiWSRITr7vDK1gw9190BEbHH8kxBBFwBT8KIngBQjXWrAKvzJd3LuK1bSDMdTxKtagnV8hG3uL/H8/rncKUg6JTuPMikTwKpVCKQShQIeFK4sXdkYzTXUEuWqYRflKIpt1cd+hViOs1Medi0DfaanUklZFKYCLtSoprSx2bZbrpXTV89968yZTWV8M/S322fhiJciac4J98BjOeAG7mFPvUAAAAASUVORK5CYII=")
MINUTE_TO_TWO = base64.decode("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")
MINUTE_IS_TWO = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABEElEQVQ4T8WTsW3DQAwATxnARWpVgqo0WSC/gQCPkHk8jgBvQC/gJlXgDeRCCzCF8wr/SQmCmxzwEMT/A8nHk6ntdWp71RkVEQUU0G4ciq/OaD77giGlRDcONhRSSHspJBHhdjwv2bpx4HY8IyL2mM+URSAUiCSMGAkAzdT2CvD69V3vOe5vPdSZLlfhchWaA8vKMYsrL6UEgM7lv6Uorzk8glmAR7YcC8vLm1SHa5y0ByflC9jCvYi8tnCZWLkxSygRXIjFSVGWulwnsXLNFjeElqg0aomgl7o0omdUS5nNZ5TR+W/VrEpbOMnO0tqTKnqqh83y8Z6Wnp4a96cyuZ728M/S5/1UhwpCiV9xTf4BlYOSrZcs/cUAAAAASUVORK5CYII=")
MINUTE_TO_THREE = base64.decode("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")
MINUTE_IS_THREE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABF0lEQVQ4T8WTsW3DMBBFnzKAitSqBFVpskC4gQCPkHkyjgBvcFpATarAG8gFF7gUFg3yjnIEN/mAIPDIp09+8Vi7QdduUI2oiCiggPbTWLw1omntC5lCCPTTmJeqKqCjKiAR4XI63936aeRyOiMi+TLvlECgClCDyMAaANCs3aAAr98/ds7p+jaAdZoXYV6EpqV45qV0LJya9lbUmC3IalWnNPloTA1i+3pyqMlBTXtL75Hcz/0LwEJJIQRbKuSgBNQCSHK3XKOP3G7ZOVlp9Nt1QeQ3YU/O6UiC7kx2KzU5p9oZrBzEBh6OnOxW742xUArAJmiDKfrJNluuj/dw76en2v0pJxfEEf0z9Hn9sqVCVYgN3IN/AT8/kdrh41XxAAAAAElFTkSuQmCC")
MINUTE_TO_FOUR = base64.decode("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")
MINUTE_IS_FOUR = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA2klEQVQ4T+WTvQ2DQAxGPzJAitRU6Ko0WSDeAIkRMk/GQWIDswBNqogNoLgFnCbA/fgIoomiPMlCZ+7pgwNjyI0MuRGxEGYWAAJAirr0rmIh094DHIgIRV26LRVP2oonMTP6qpnTirpEXzVgZndbnDSJAFQBmgRH1AQAyIbcCACcHs/wXsR4NkCYlB2Xajv21i7R44ldX0OTtvCrEhGFrRlVEruUhip9IpJSH9Ql+sunWiNK2sLfSamj9ya37dJHfb3QPLm7xn1X0uo7pfiydBvvYctDlfAWU/ILEXFp8EldzQMAAAAASUVORK5CYII=")
MINUTE_TO_FIVE = base64.decode("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")
MINUTE_IS_FIVE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA/0lEQVQ4T8WTsW3DMBBFnzyAi9SqBFVpvEC4gQCP4Hk8jgBvcFnATarAG8iFFrgUMQ2Sd5QFw4AfQAgi+XC8L4qp7XVqe9UZFREFFNBuHLKnzmjcuyEhhEA3DumUSyatJZNEhMv+dK/WjQOX/QkRSbfZSlEEXAFPIhE9AaCZ2l4BPn5+yzXD9bOHslKzrY8Uczyd7Sgx0hqqUu1oLEkRETEpVqXYSwihXKpLLIhGKvt4mF56fi+AiKnETV7ClR7xOqlMqyS75bXUmu3/u3vLSS5sxEvRSB5lmkZa+o8iWU/f5/r3+dqFe09P/e5PVTI9reHN0uF6LKcyXImbWJP/AFAHgyo4yCdHAAAAAElFTkSuQmCC")
MINUTE_TO_SIX = base64.decode("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")
MINUTE_IS_SIX = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA+klEQVQ4T9WTz2nDYAxHnzuADz37ZHzqJQtUGxgyQufpOIZsoCyQS08lGzgHL6Ae3C/V988NaaH0gTDo0+MHwmLuBpu7wWzBVNUAA6yfxuhrCxZmH3CICP00+laRSLqVSFJVzvvDNa2fRs77A6rqx/KkIAJFgZKEE0sCQDN3gwE8vr2nbxmXpwHSpONJaVqyOp7ixCipademLW7A9YpJ4fE7MilQSg1UpS1+XwrbS9mUVPVank1JRBCRtF2XbPnaXCpWpX+w8ho/l1TX08AtoGnXvidLCmKoVKAksfEnBO4690hKz9rzvJP65d7CH0svl9e0FVGU+BRr8ge8NIDTVxCtKwAAAABJRU5ErkJggg==")
MINUTE_TO_SEVEN = base64.decode("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")
MINUTE_IS_SEVEN = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA+klEQVQ4T8WTsW3DQAxFnzKAi9SqBFVpskBuAwEeIfNkHAHegFkgTarAG8iFFmAan3BHUvbBCJAHHCSc7uGTksjSj7r0o+qKiogCCugwT9VVVzSffaIgpcQwT+VWSCW1Ukkiwvl42tKGeeJ8PCEi5TGflEUgFIgkCjESALqlHxXg+fvHPnNcXkawSd1hf5W48nT1y+KkFm5KtqzMrrQnEEll41E/WElEtpWJEl0S1x+3TLEfOZTu4aSU0nbfHXwKkcSNF5AJpXtUUktpWImG0oikFv5GiubHUk3u51fcOMDba9om96FxfyjJ9dTCP0vvlw+7VRFKXMU9+Rcvinfw8NExrwAAAABJRU5ErkJggg==")
MINUTE_TO_EIGHT = base64.decode("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")
MINUTE_IS_EIGHT = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAABEUlEQVQ4T8WTsW3DMBBFnzKAi9SqBFVpvEC4gQCPkHk8jgBvcF7AjavAG8gFF7gUMhXyeDIEI0A+QBA83tPn8USmttep7VUjKiIKKKDdOBSzRjTlvpEphEA3DnnIVQFtVQGJCLfDaXHrxoHb4YSI5Gm1UwIBF8CDyEAPAGimtleA9+u33at0/+jBOp0vQrOjGudL6Vg4Nbs5qDFLyGKuU9pMDmltVUFJIvNRPa1CIQQbWuRCGn+HpwqyR7JrLJSamRLTbJtcOW3R3/Xp2RoP4vH1vMFWLoRTfK5V6JlcSOP8R3j14EH2Br26VpubX4Str+iTfWy5Pvdh6dNLz/0lp+oituifoa/70YYKuRAPcA3+AUZykGz0z5DwAAAAAElFTkSuQmCC")
MINUTE_TO_NINE = base64.decode("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")
MINUTE_IS_NINE = base64.decode("iVBORw0KGgoAAAANSUhEUgAAAA0AAAAgCAYAAADJ2fKUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAHYcAAB2HAY/l8WUAAAGHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyI+PHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj48dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCjw/eHBhY2tldCBlbmQ9J3cnPz4slJgLAAAA+0lEQVQ4T9WTwWnDQBBFn1KADznrJHTKxQ1kOhC4hNTjcgTuYNyALz4FdyAf1MDkEK+Z3R07QgRCHgjB7Dx9drXD1PY2tb3ZjKmqAQZYNw7Z22Ys9b7gEBG6cfClkExaSiapKpfd4Z7WjQOX3QFV9W11UhKBUCCScGIkADRT2xvA6/mzXKu4vvVQJh1PSrOheo6nPDFLajbfRZtdg6uFSWmRormkkpbw36RnB5Co7h43MckRVZKqPrw+iUoSEUSkLGdUQ2jz8/1QSkv5HWn1kXuio6+ScP8pCeXHsnkqh83zvpX7PK0a91VJ4Z5+4o+lj+u+LGWEEjfxkfwFcOd9kXieWIwAAAAASUVORK5CYII=")
def main(config):
speed = int(config.str("speed", 2)) #takes user input equating to how many loops to spin before displaying time
current_time = get_current_time_as_tuple()
ten_hour_value = current_time[0]
hour_value = current_time[1]
ten_minute_value = current_time[2]
minute_value = current_time[3]
ten_hour_images = set_ten_hour_images(ten_hour_value) #call helper functions to determine which images to use depending on the time
hour_images = set_hour_images(hour_value)
ten_minute_images = set_ten_minute_images(ten_minute_value)
minute_images = set_minute_images(minute_value)
spacer_images = [SPACER, SPACER, SPACER] #because these dont change on the time, we can directly set their values
lever_images = [LEVER, LEVER_PULL, LEVER]
ten_hour_frames = render_frame_list(ten_hour_images, 0, 15, 22, speed, 24) #turn the images into an Animation object so we can play them side-by-side in a Row
hour_frames = render_frame_list(hour_images, 13, 20, 23, speed, 24) #and adds in the loops to each animation
spacer_frames = render_frame_list(spacer_images, 26, 0, 0, speed, 48) #also inserts the wait time before subsequent slots start
ten_minute_frames = render_frame_list(ten_minute_images, 30, 25, 22, speed, 24)
minute_frames = render_frame_list(minute_images, 43, 30, 24, speed, 29)
lever_frames = render_frame_list(lever_images, 56, 0, 15, speed, 0)
return render.Root(
child = render.Stack(
children = [
render.Sequence(
children = lever_frames, #must be rendered right to left so that the spacing blank images are drawn over, and they dont draw over our clock
),
render.Sequence(
children = minute_frames,
),
render.Sequence(
children = ten_minute_frames,
),
render.Sequence(
children = spacer_frames,
),
render.Sequence(
children = hour_frames,
),
render.Sequence(
children = ten_hour_frames,
),
],
),
)
def render_frame(image, position, frames): #given an image, its horizontal displacement, and its frame length
renderedImage = render.Image(image) #returns an Animation object displaced the correct amount with white
blank_image = render.Image(BLANK) #spacing image, meant to be drawn over in a Stack
trans_child_children = [
renderedImage,
]
for _ in range(position):
trans_child_children.insert(0, blank_image)
return animation.Transformation(
duration = frames,
delay = 0,
keyframes = [],
child = render.Row(
main_align = "start",
cross_align = "center",
children = trans_child_children,
),
)
def render_frame_list(images, position, waitTime, movementFrames, loops, loopFrames): #combines the starting frame, looping
new_frames = [] #gif, finishing gif, and final frame
new_frames.append(render_frame(images[0], position, waitTime)) #all into one list of Animation objects.
if (len(images) > 3): #Meant to be played as a Sequence
for _ in range(loops):
new_frames.append(render_frame(images[3], position, loopFrames))
new_frames.append(render_frame(images[1], position, movementFrames))
new_frames.append(render_frame(images[2], position, 1500))
return new_frames
def get_schema():
options = [
schema.Option(
display = "Slow", #Slow speed = 3 loops before displaying time
value = "3",
),
schema.Option(
display = "Medium", #Medium = 2 loops...etc
value = "2",
),
schema.Option(
display = "Fast",
value = "1",
),
]
return schema.Schema(
version = "1",
fields = [
schema.Dropdown(
id = "speed",
name = "Speed of slot machine",
desc = "Determines how long to spin before it takes to land on the time",
icon = "forwardFast",
default = options[1].value,
options = options,
),
],
) #returns the time as a tuple of each digit
def get_current_time_as_tuple():
total_hour = list(time.now().format("3:04").partition(":")[0].elems()) #gets the hour as a list of single character strings
ten_hour_value = 0
hour_value = int(total_hour[0])
if (len(total_hour) == 2): #if theres a ten's digit for hours, set ten_hour to 1 and fix hour
ten_hour_value = 1
hour_value = int(total_hour[1])
total_minute = list(time.now().format("3:04").partition(":")[2].elems()) #gets minute at a list of single character strings
ten_minute_value = int(total_minute[0])
minute_value = int(total_minute[1])
return (ten_hour_value, hour_value, ten_minute_value, minute_value)
def swap_time(old_images, new_movement, new_final): #swaps out middle 2 values in list with new given values
old_images.pop(2)
old_images.pop(1)
old_images.insert(1, new_movement)
old_images.insert(2, new_final)
return old_images
def set_ten_hour_images(ten_hour_value):
return_images = [TEN_HOUR_START, TEN_HOUR_TO_BLANK, TEN_HOUR_IS_BLANK, TEN_HOUR_LOOP]
if (ten_hour_value == 1):
return_images = swap_time(return_images, TEN_HOUR_TO_ONE, TEN_HOUR_IS_ONE)
return return_images
def set_hour_images(hour_value):
return_images = [HOUR_START, HOUR_TO_ZERO, HOUR_IS_ZERO, HOUR_LOOP]
if (hour_value == 1):
return_images = swap_time(return_images, HOUR_TO_ONE, HOUR_IS_ONE) # Would love to use a switch statement
elif (hour_value == 2): # for all these functions, but as far as
return_images = swap_time(return_images, HOUR_TO_TWO, HOUR_IS_TWO) # I can tell, Starlark doesnt support switch statements
elif (hour_value == 3):
return_images = swap_time(return_images, HOUR_TO_THREE, HOUR_IS_THREE)
elif (hour_value == 4):
return_images = swap_time(return_images, HOUR_TO_FOUR, HOUR_IS_FOUR)
elif (hour_value == 5):
return_images = swap_time(return_images, HOUR_TO_FIVE, HOUR_IS_FIVE)
elif (hour_value == 6):
return_images = swap_time(return_images, HOUR_TO_SIX, HOUR_IS_SIX)
elif (hour_value == 7):
return_images = swap_time(return_images, HOUR_TO_SEVEN, HOUR_IS_SEVEN)
elif (hour_value == 8):
return_images = swap_time(return_images, HOUR_TO_EIGHT, HOUR_IS_EIGHT)
elif (hour_value == 9):
return_images = swap_time(return_images, HOUR_TO_NINE, HOUR_IS_NINE)
return return_images
def set_ten_minute_images(ten_minute_value):
return_images = [TEN_MINUTE_START, TEN_MINUTE_TO_ZERO, TEN_MINUTE_IS_ZERO, TEN_MINUTE_LOOP]
if (ten_minute_value == 1):
return_images = swap_time(return_images, TEN_MINUTE_TO_ONE, TEN_MINUTE_IS_ONE)
elif (ten_minute_value == 2):
return_images = swap_time(return_images, TEN_MINUTE_TO_TWO, TEN_MINUTE_IS_TWO)
elif (ten_minute_value == 3):
return_images = swap_time(return_images, TEN_MINUTE_TO_THREE, TEN_MINUTE_IS_THREE)
elif (ten_minute_value == 4):
return_images = swap_time(return_images, TEN_MINUTE_TO_FOUR, TEN_MINUTE_IS_FOUR)
elif (ten_minute_value == 5):
return_images = swap_time(return_images, TEN_MINUTE_TO_FIVE, TEN_MINUTE_IS_FIVE)
return return_images
def set_minute_images(minute_value):
return_images = [MINUTE_START, MINUTE_TO_ZERO, MINUTE_IS_ZERO, MINUTE_LOOP]
if (minute_value == 1):
return_images = swap_time(return_images, MINUTE_TO_ONE, MINUTE_IS_ONE)
elif (minute_value == 2):
return_images = swap_time(return_images, MINUTE_TO_TWO, MINUTE_IS_TWO)
elif (minute_value == 3):
return_images = swap_time(return_images, MINUTE_TO_THREE, MINUTE_IS_THREE)
elif (minute_value == 4):
return_images = swap_time(return_images, MINUTE_TO_FOUR, MINUTE_IS_FOUR)
elif (minute_value == 5):
return_images = swap_time(return_images, MINUTE_TO_FIVE, MINUTE_IS_FIVE)
elif (minute_value == 6):
return_images = swap_time(return_images, MINUTE_TO_SIX, MINUTE_IS_SIX)
elif (minute_value == 7):
return_images = swap_time(return_images, MINUTE_TO_SEVEN, MINUTE_IS_SEVEN)
elif (minute_value == 8):
return_images = swap_time(return_images, MINUTE_TO_EIGHT, MINUTE_IS_EIGHT)
elif (minute_value == 9):
return_images = swap_time(return_images, MINUTE_TO_NINE, MINUTE_IS_NINE)
return return_images