-
Notifications
You must be signed in to change notification settings - Fork 0
/
puf.js
304 lines (289 loc) · 64 KB
/
puf.js
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
// ==UserScript==
// @name WME Persian UI Fix
// @author Nobody
// @namespace [email protected]
// @version 2.1
// @description Add some alternation to fix waze editor UI for Persian editors
// @include https://www.waze.com/*/editor*
// @include https://www.waze.com/editor*
// @include https://beta.waze.com/*
// @exclude https://www.waze.com/*user/*editor/*
// @match https://www.waze.com/editor*
// @match https://www.waze.com/*/editor*
// @copyright 2017+, an Unknown Person of Web
// @grant GM_addStyle
// @grant GM_getValue
// @grant GM_setValue
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAABD92lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE3LTEyLTA4VDEzOjI2OjMzKzAzOjMwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTItMDhUMTM6NDM6MjUrMDM6MzA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE3LTEyLTA4VDEzOjQzOjI1KzAzOjMwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+2YE8L3Bob3Rvc2hvcDpMYXllck5hbWU+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJUZXh0PtmBPC9waG90b3Nob3A6TGF5ZXJUZXh0PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJOYW1lPtinPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD7YpzwvcGhvdG9zaG9wOkxheWVyVGV4dD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphNzhhMzVhZC03OTM2LTZiNGEtODcxZC02NjI1OWRkNTljZjk8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NWJhMjZjMy1kYzAwLTExZTctODM2MS1lNzBlMDEyOWRmODg8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2ZTk4MDZkMC03YjE1LWRjNDYtYjk2YS1hZGJiOWY3ZjQ4N2U8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NmU5ODA2ZDAtN2IxNS1kYzQ2LWI5NmEtYWRiYjlmN2Y0ODdlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTEyLTA4VDEzOjI2OjMzKzAzOjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBpbWFnZS9wbmcgdG8gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcDwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MWEyNzY1MTgtNjFkOS03OTQwLTgyOTMtNDA4ZDQ2ZGQ1NGIxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTEyLTA4VDEzOjM0OjUyKzAzOjMwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjdjNGM3YjVhLTUxYzctMDk0Mi05YzM4LThlNTZjMWRmOTlmYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMi0wOFQxMzo0MzoyNSswMzozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5kZXJpdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphNzhhMzVhZC03OTM2LTZiNGEtODcxZC02NjI1OWRkNTljZjk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMTItMDhUMTM6NDM6MjUrMDM6MzA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjdjNGM3YjVhLTUxYzctMDk0Mi05YzM4LThlNTZjMWRmOTlmYjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDo2ZTk4MDZkMC03YjE1LWRjNDYtYjk2YS1hZGJiOWY3ZjQ4N2U8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgICAgIDxzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2ZTk4MDZkMC03YjE1LWRjNDYtYjk2YS1hZGJiOWY3ZjQ4N2U8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEyODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMjg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvM3HEoAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAOetJREFUeNrsnXecnVWd8L/nPO3WudNLJj0BklCkSBEJIIpSFFmRFV13BdQV2d1X9911Ke66C66uu+or+tqwgb7qFixggUUsIUqJGqUTEtIzyfSZ2+/Tznn/eO6dzEymzyQE1pPP85nJnXuf89zz611sOhAw1yUFeCEMlhXlUBM3IWYI2pOSIVfjBpqmmKAcgCnBVZpK9fe0JfAUJCxByVMUfNAIBJrGuGS4oij6EDfBFFAOo78qrTGkwJDR59qSkmKg8UJNnS1QStQlLbHymcFgRVNMLikH+ti8r9P1tmjzFa2VUKeVxgCk0ljV7+ELgRIQxgyRtyS9w57uztgiFzfF1lKg9yYtsb3k691L6kS+vwSOBQlD0FNSpCyB0lDywZQaSwpipiBQUAk1SVNQHxMMuQqto7NrjAmGXAgUWBJMKQBNqMELNUnLINQaN1A0xSR1jmBPXlEJNEIIYiYLshboNkduCcAQYEmBFBAqVlcCTin7nFX09MvdUB/jK90BsK+gkCJC1ANFjSGjz4rqjUT1nqGKfmqgHGhCpXFMQX9Zo9FYErKuxpJ07cyyTcBvFGKTI/m9IdhhyQiQL8ZlvpiALgUEStiVUJ9fCtRrC54+d9gNT/YVltagAFn9QIQkB+8xFcUIcXAf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
// @license GPLv3
// ==/UserScript==
/* Changelog
2.1 - 1398/12/22
-- Fix Speedlimit text direction
-- Fix Lane arrows in Lane width panel
-- Fix Comment Box
-- Compatibility with WME Speedhelper plugin
-- Compatibility with WME Lanetools plugin
-- Some minor changes
2.0 - 1400/12/13
-- Add Segment Lane Panel
-- Add User Info Box
-- Add Permalink Share Box
-- Add Voice Prompt Box
-- Add Status Card Box
-- Fix Edit Panel direction
-- Fix Side panels direction
-- Fix Resteriction panel direction
-- Fix Conversation panel direction
-- Fix Toolbar direction
-- Fix Tooltip box direction
-- Fix Layer switcher direction and icons
-- Fix Save chnagelog menu
-- Compatibility with major plugins (UR-MP, URC, JA, WME_FU, WME Color Highlights, WME Bookmark & ...)
-- Some other changes for compatibility with new editor
1.91 - 1400/12/01
-- Some minor changes
1.9 - 1398/12/04
-- Fix Layer Menu
-- Fix Toolbox Comatibility
-- Some minor changes
1.8 - 1398/09/16
-- Add versionCheck Control
-- Fix Top menu font
-- Fix Layers Menu UI
-- Some minor changes
1.7 - 1397/09/07
-- Fix Top Menu icon position
-- Some minor changes
1.6 - 1397/05/25
-- Add Save menu changelog UI Fix
-- Some minor changes
1.5 - 1396/12/07
-- Fix Top menu position with standard code
-- Some minor changes
1.4 - 1396/12/06
-- Add Map loading indicator direction Fix
-- Add Node edit detail panel UI Fix
-- Fix Place work hours direction
-- Some minor changes
1.3 - 1396/11/02
-- Add Vazir webfont as default UI font (https://github.com/rastikerdar/vazir-font)
--- (With this change, all platforms may see the correct font)
-- Some small UI Fix for comapatibility with new web font
1.2 - 1396/10/28
-- Add Menubar UI Fix
-- Some minor changes
1.1 - 1396/10/16
-- Add Notification panel UI Fix
-- Fix Segment detail direction
-- Fix Closures alert direction
-- Fix Place attribute form direction
-- Fix Place image view form direction
-- Fix Place image dialog direction
-- Fix Buttons direction in save error popup
-- Fix Author level position in comment dialog
-- Fix PM to All icon position in comment dialog (WME Magic)
-- Some minor changes
1.0 - 1396/10/11 .o0=~ First Public Release ~=0o. (2018-01-01)
-- Add Editor language Alarm
-- Add Editor detail menu UI Fix
-- Add Landmark edit panel UI Fix
-- Add Map comment panel UI Fix
-- Add Place update panel UI Fix
-- Add Save popup UI Fix
-- Fix Segment tab direction
-- Fix Selected segment count direcction
-- Fix Save counter position
-- Some minor changes
1.0rc - 1396/09/27
-- Add Editor language detection
-- Add Archive panel UI Fix
-- Add Align motivation text to left for better readability
-- Fix Segment City input box clickable spot
-- Fix Restriction button icon position
-- Fix Problem comment indent
-- Some minor changes
0.9 - 1396/09/27
-- Add Segment restriction UI Fix
-- Fix Radiobutton icon position
-- Some minor changes
0.8 - 1396/09/26
-- Fix Delete icon position in feed list
-- Fix Speed section position in segment edit
-- Fix Close icon position in problem edit panel
-- Fix ColorDot icon position in problem edit panel
-- Fix Checkbox icon position
-- Some minor changes
0.7 - 1396/09/25
-- Update PUF Panel content
-- Add Feedback link to PUF panel
-- Some minor changes
0.6 - 1396/09/23
-- Add Userinfo panel UI Fix
-- Add Feed panel UI Fix
-- Add Drive panel UI Fix
-- Add Location panel UI Fix
-- Add Segment history UI Fix
-- Add a lot of other UI Fixes
0.5 - 1396/09/20
-- Fix PUF panel problem
-- Borrow a lot of code form WME Fix UI project by https://greasyfork.org/en/users/46070
-- Some code improvment
0.4 - 1396/09/18
-- Normalize Code
0.3 - 1396/09/17
-- Add New Panel
0.2 - 1396/09/16
-- Update default font to Segoe UI then Tahoma
-- Add font change for address and and edit form, feed panel, comments panel
-- Add some direction chnage for persian texts
-- Fix position of comment max length left
0.1 - initial version
-- Change font of street name to Tahoma;
*/
var wmepuf_version = '2.1';
var prefix = "wmePUF";
var wmePUFAddon;
var tabAttempts = 0;
function wmePUF_bootstrap()
{
var bGreasemonkeyServiceDefined = false;
try
{
if ("object" === typeof Components.interfaces.gmIGreasemonkeyService)
{
bGreasemonkeyServiceDefined = true;
}
}
catch (err)
{
//Ignore.
}
if ( "undefined" === typeof unsafeWindow || ! bGreasemonkeyServiceDefined)
{
unsafeWindow = ( function ()
{
var dummyElem = document.createElement('p');
dummyElem.setAttribute ('onclick', 'return window;');
return dummyElem.onclick ();
} ) ();
}
/* begin running the code! */
wmePUF_init();
}
function wmePUF_init()
{
// create tab content and store it
wmePUFAddon = createAddon();
// insert the content as a tab
addMyTab(null,0);
wmePUF_VersionCheck()
//run your code here
injectPUFStyle();
}
function wmePUF_VersionCheck()
{
//checking script version
if (GM_getValue("version", "") < wmepuf_version) {
GM_setValue("version", wmepuf_version);
alert("افزونه Persian UI Fix بروزشد.\n\nتغییرات:\n- اصلاح جهت متن در محدودیت سرعت\n- اصلاح فلشهای جهت در پنجره لین\n- اصلاح موقعیت دکمه ویرایش توضیحات\n- هماهنگی با افزونههای : WME Speedhelper و WME Lanetools \n- برخی تغییرات جزیی دیگر");
}
}
// [...]
function createAddon() {
//create the contents of my side-panel tab
var addon = document.createElement('section');
var section = document.createElement('p');
addon.id = "sidepanel-PersianUIFix";
section.style.paddingTop = "0px";
section.style.lineHeight = "16px";
section.id = "pufContent";
section.innerHTML = "";
section.innerHTML += '<div style="text-align:center;"><b>PERSIAN UI FIX</b></div>';
section.innerHTML += '<div style="text-align:center;"><b style="text-align:center;">نگارش : </b>' + wmepuf_version + '</div>';
section.innerHTML += '<div style="text-align:center;"><b style="text-align:center;">اصلاح محیط ویرایشگر برای فارسی زبانان</b></div>';
section.innerHTML += '<br><br>';
if (!isPersianEditor()) {
section.innerHTML += '<div style="text-align:center;color:yellow;background-color:black;padding:5px"><b>برای فعال‌سازی افزونه زبان ویرایشگر را روی پارسی تنظیم کنید</b></div><br>';
}
section.innerHTML += 'مواردی که این اسکریپت مرتفع میکند:<br>';
section.innerHTML += '<ul>';
section.innerHTML += '<li>اصلاح فونت فارسی در محیط ویرایشگر برای خوانایی بیشتر</li>';
section.innerHTML += '<li>راست‌چین کردن منوی تنظیمات ویرایشگر</li>';
section.innerHTML += '<li>راست‌چین کردن برگه خوراک و سایر زیرمنوها</li>';
section.innerHTML += '<li>راست‌چین کردن برگه سفرها</li>';
section.innerHTML += '<li>راست‌چین کردن برگه منطقه‌ها</li>';
section.innerHTML += '<li>راست‌چین کردن برگه مشخصات سگمنت</li>';
section.innerHTML += '<li>راست‌چین کردن برگه لین و عرض سگمنت</li>';
section.innerHTML += '<li>راست‌چین کردن برگه مشخصات مکان</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره تغییرات هنگام ذخیره</li>';
section.innerHTML += '<li>راست‌چین کردن منوهای رسم سگمنت و محل</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره گزارشات کاربران</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره ساختار نقشه</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره پیغام‌های صوتی</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره اشتراک‌گذاری پرمالینک</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره اطلاعات کاربر</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره دوربین‌ها</li>';
section.innerHTML += '<li>راست‌چین کردن پنجره اعلانات</li>';
section.innerHTML += '<li>راست‌چین کردن قسمت تاریخچه سگمنت</li>';
section.innerHTML += '<li>راست‌چین کردن قسمت محدودیت‌های سگمنت</li>';
section.innerHTML += '<li>راست‌چین کردن دیگر قسمت‌ها جهت همخوانی با عبارات فارسی</li>';
section.innerHTML += '<li>اصلاح برخی فواصل متون جهت نمایش بهتر</li>';
section.innerHTML += '<li>اصلاح مکان برخی آیکون‌ها</li>';
section.innerHTML += '<ul>';
section.innerHTML += '<div style="text-align:left;"><b>بدست افرادناشناس</b><br><br></div>';
addon.appendChild(section);
addon.className = "tab-pane";
return addon;
}
function addMyTab(model,modeID) {
if (modeID === 0) {
tabAttempts = 0;
tabsLooper();
} else {
return;
}
}
function tabsLooper() {
tabAttempts += 1;
if (tabAttempts > 20) {
// tried 20 times to create tab without luck
return;
}
var userTabs = getId('user-info');
var navTabs = getElementsByClassName('nav-tabs', userTabs)[0];
if (typeof navTabs === "undefined") {
//the basic tabs aren't there yet, so I can't add mine
setTimeout(tabsLooper, 200);
} else{
var tabContent = getElementsByClassName('tab-content', userTabs)[0];
newtab = document.createElement('li');
newtab.innerHTML = '<a href="#sidepanel-PersianUIFix" data-toggle="tab" title="Persian UI Fix">PUF</a>';
navTabs.appendChild(newtab);
tabContent.appendChild(wmePUFAddon);
}
}
function injectPUFStyle() {
if (isPersianEditor()) {
GM_addStyle ( " @import url(https://cdn.rawgit.com/rastikerdar/vazir-font/master/dist/font-face.css);section#sidepanel-PersianUIFix{direction:rtl;font-family:Vazir,Calibri,'Segoe UI',Tahoma;}.feed-issue .type,.feed-notifications .title,.notification-detail.panel.show h2{font-family:Calibri;font-weight:700;}ul.nav,ul.result-list,.transactions ul,.save-popover ul,ul.additional-attributes.list-unstyled.side-panel-section,ul.comment-list.list-unstyled{padding-right:0;}.content{padding-left:inherit;padding-right:5px;}.delete,.input-max-length.new-comment-max-length,.save-popover .close-popover{right:inherit!important;left:10px;}.panel .header .dot{right:13px;left:inherit!important;}.panel .close-panel{right:inherit!important;left:14px;}.counter{right:inherit!important;left:-5px;}.feed-item .content{width:100%;}.motivation{text-align:left;}.list-unstyled{padding-right:0;padding-left:inherit;}#sidebar #sidepanel-prefs .controls .btn-group{right:inherit!important;left:0;}#sidebar .nav-tab-icon{padding-right:10px;padding-left:0;}ul.dropdown-menu.scrollable-dropdown-menu{right:0;left:inherit;text-align:right;}.direction-label,.conversation-view span.username,.save-popover .error-list .actions .edit{float:right!important;}.direction-icons{margin-right:inherit!important;margin-left:8px;}.controls-container input[type='checkbox']:not(:checked) + label,.controls-container input[type='checkbox']:checked + label{padding-right:25px;padding-left:inherit!important;}.controls-container input[type='checkbox']:not(:checked) + label:after,.controls-container input[type='checkbox']:checked + label:after,.controls-container input[type='radio']:not(:checked) + label:after,.controls-container input[type='radio']:checked + label:after{right:3px;left:inherit;}.controls-container input[type='radio']:not(:checked) + label,.controls-container input[type='radio']:checked + label{padding-right:23px;padding-left:inherit;margin-right:5px;margin-left:inherit;}#edit-panel .selection-icon:before,.edit-panel .selection-icon:before,.restriction-editing-region .drive-profile-editing-region .drive-profile-edit-free .drive-profile-item .restriction-chip .restriction-chip-content{margin-right:inherit;margin-left:5px;}#edit-panel .categories .select2-search-choice-close,.edit-panel .categories .select2-search-choice-close{padding-right:3px;padding-left:0;}.map-comment-name-editor .edit-button{right:inherit;left:15px;}.conversation-view .new-comment-form .send-button{margin-left:inherit;margin-right:auto;}th.restriction-segment-attribute{padding-right:20px!important;padding-left:8px!important;}span.restriction-item-badge.restriction-item-badge-allowed,.venue-image-dialog .delete-button:before{margin-right:inherit!important;margin-left:5px;}#edit-panel .edit-restrictions:before,.edit-panel .edit-restrictions:before{right:-2px;left:inherit;}.restrictions-summary .btn.do-create{margin-right:32px;margin-left:inherit;}.restriction-editing-region .timeframe-editing-region .timeframe-section-hours .timepicker{margin-right:inherit;margin-left:15px;}.restriction-editing-region .timeframe-editing-region .timeframe-section-dates .label-datepicker{margin-right:5px;margin-left:5px;}.restriction-editing-region .drive-profile-editing-region .drive-profile-edit-free .drive-profile-item .restriction-chip{padding:5px 12px 5px 7px;}.lane-arrows div{direction:ltr!important;text-align:center;}.turns-region div{direction:ltr!important;}.direction-lanes .lane-instruction .drawing{margin-right:inherit;margin-left:21px;}.toolbar .group-title{margin-right:30px;margin-left:inherit!important;}span.menu-title{margin-right:8px;margin-left:inherit!important;}#edit-buttons .toolbar-group .toolbar-group-item{padding-left:inherit;}#edit-buttons .toolbar-group .toolbar-group-item .menu-title{padding-right:0;padding-left:15px;}#edit-buttons .toolbar-group .toolbar-group-item .item-container{padding-left:0;padding-right:40px;}ul.list-unstyled.togglers{padding:0;}.layer-switcher .togglers .group{padding:0 6px 0 12px;}.layer-switcher .togglers .text-checkboxes .text-checkbox{margin-right:12px;margin-left:inherit;}.layer-switcher .togglers ul{padding-right:26px;padding-left:inherit;}.layer-switcher .menu .wz-checkbox input[type='checkbox'] + label:before{margin-right:0;margin-left:8px;}.layer-switcher .layer-switcher-toggler-tree-category>.w-icon.w-icon-caret-down.upside-down{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.tippy-box[data-theme='user-box'] .user-box-container .user-box-header .user-box-header-details{padding:18px 0 18px 18px;}.tippy-box[data-theme='share-location-pop-up'] .share-location-pop-up-wrapper .share-location-pop-up h5 i.w-icon{float:left;margin-right:12px;margin-left:0;}.turn-preview-inner .turn-preview-content{padding-right:12px;padding-left:0!important;}.turn-instructions-panel .locale-selector{float:left;}.turn-instructions-panel .play-button{left:6px;right:inherit!important;}.radio input[type='radio'],.radio-inline input[type='radio'],.checkbox input[type='checkbox'],.checkbox-inline input[type='checkbox']{margin-right:-20px;margin-left:inherit;}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:right;}.pull-left.to-label{float:right!important;margin-right:inherit!important;margin-left:10px;}.toolbar .toolbar-button.waze-icon-save .counter{left:5%;}.changes-log-region .action-item .left-side .dot-container .dot{left:inherit;right:5px;}.changes-log-region .action-item .left-side .dot-container .dot:after{left:inherit;right:-2px;}.changes-log-region .action-item .right-side{margin-left:inherit;margin-right:18px;}.changes-log-region .header h6{direction:rtl;font-family:Vazir,'Segoe UI',Tahoma,sans-serif!important;text-align:right;}.changes-log-region .action-item .right-side .title{font-family:Vazir,'Segoe UI',Tahoma,sans-serif!important;text-align:right;}.tile-build-status-card .tile-build-status-card-content{padding-right:inherit;padding-left:45px;}.tile-build-status-card .tile-build-status-card-block .tile-build-status-card-block__upper wz-button{margin:9px 0 0 9px;}.tile-build-status-card .tile-build-status-card-block .tile-build-status-card-block__upper wz-button .phone-icon{margin-right:inherit;margin-left:9px;}#WazeMap .snapshot-message .snapshot-mode-message .snapshot-mode-text .car-icon{margin-right:inherit;margin-left:10px;}#WazeMap .snapshot-message .snapshot-mode-message .snapshot-mode-text .w-icon-info{margin-right:10px;margin-left:inherit;}.wz-toggle-switch .wz-toggle-label{margin-inline-end:16px;margin-inline-start:inherit;}div#WMEFP-UR-ALLPM{right:inherit!important;left:40px;margin-right:-40px;margin-left:inherit!important;float:left!important;}.WazeControlDrawFeature input{margin-right:5px;}.WazeControlDrawFeature label{margin-right:0!important;}.WazeControlDrawFeature .tbLegend{float:right;margin-right:0;margin-left:5px;}span[id^='purt-categoriespur'],span[id^='purt-namepur'],span[id^='mct-subjectmc'],span[id^='mct-bodymc'],span[id^='mpt-descriptionmp'],span[id^='urt-descriptionur']{font-family:Vazir,'Segoe UI',Tahoma,sans-serif!important;font-weight:300;}#panel-container .mapUpdateRequest.panel .problem-edit .header{padding-right:30px;padding-left:inherit;}#sidepanel-highlights input[type='checkbox']{margin-left:-20px;}body,label.control-label,.tooltip,.changes-log-region,.group-title,.menu-title,.toolbar,label,h5,.title h6,.btn,.panel .waze-plain-btn,wz-checkbox,wz-menu-item,.conversation-view .text,.panel.place-update-edit .header .main-title,.restrictions-summary .restriction-summary-title,.restriction-editing-region .restriction-editing-title,.restriction-editing-region .restriction-validation-region .restriction-validation-title,.turn-preview-inner .turn-preview-content,.turn-instructions-panel .panel-header,#panel-container .mapUpdateRequest.panel .problem-edit .header .main-title,#sidebar{font-family:Vazir,'Segoe UI',Tahoma,sans-serif!important;}.problem-edit,.title,.user-about,div#segment-edit-general,div#landmark-edit-general,.map-comment-feature-editor div.tab-content,.camera div.tab-content,.settings.side-panel-section,.direction-message,.save-popover,p.message,span.street,ul.feed-list,ul.result-list,.modal-content,.archive-panel,.selection.selection-icon,.tabs-container,.place-update,.menu,ul.nav.nav-tabs,.notification-detail.panel.show,.segment-details,.alert-danger,.attributes-form,.image-view,div#node-edit-general,.topbar .loading-indicator,.changes-log-region,#edit-panel .additional-attributes,.edit-panel .additional-attributes,.transactions,div#segment-edit-lanes,.toolbar-submenu,.toolbar-button.restricted-driving-area,.tippy-box[data-theme='user-box'] .user-box-container,div#big-tooltip-region,.turn-instructions-panel,div#wz-dialog-container,#WazeMap .snapshot-message .snapshot-mode-message{direction:rtl;}.controls.input-group,input.form-control,.venue-image-dialog .user,.conversation-view .comment-title,div#urceShortcutsExpandDiv,#sidepanel-ja form.attributes-form.side-panel-section{direction:ltr;}th,.toolbar-tooltip-text,.tippy-box[data-theme='user-box'] .user-box-container ul.user-box-links,.tippy-box[data-theme='share-location-pop-up'] .share-location-pop-up-wrapper .share-location-pop-up h5{text-align:right;}.controls-container.in-label.toggle-empty,.unit-label,.problem-edit .section .title::after,button.send-button.waze-btn.waze-btn-blue,.pinned.text-checkbox,.venue-image-dialog .delete-button,.close,.save-popover .error-list .actions .save,.speed-limit :not(.average-speed-camera,#signsholder div){float:left!important;}.modal-footer .btn + .btn,.tile-build-status-card .tile-build-status-card-block .tile-build-status-card-block__small-title .fa-check-circle{margin-right:5px;margin-left:inherit;}.controls-container input[type='checkbox']:not(:checked) + label:before,.controls-container input[type='checkbox']:checked + label:before,.controls-container input[type='radio']:not(:checked) + label:before,.controls-container input[type='radio']:checked + label:before,#edit-buttons .toolbar-group-map-comments .dropdown-menu .drawing-controls{right:2px;left:inherit;}#sidepanel-Comments,#sidepanel-feed .subtext,textarea.form-control.new-comment-text,.tippy-box[data-theme='share-location-pop-up'] .share-location-pop-up-wrapper .share-location-pop-up wz-checkbox{direction:rtl;text-align:right;}.toolbar-group-drawing menu.dropdown-menu,.toolbar-group-venues menu.dropdown-menu,.toolbar-group-map-comments menu.dropdown-menu{right:10px;left:inherit!important;}#edit-buttons .toolbar-group .toolbar-group-item .item-icon,.changes-log-region .action-item .left-side{left:inherit;right:0;}.layer-switcher .layer-switcher-toggler-tree-category wz-toggle-switch,.changes-log-region .actions-group-container .actions{right:inherit;left:0;}.tippy-box[data-theme='user-box'] .user-box-container .user-box-numbers .number-label,.tippy-box[data-theme='user-box'] .user-box-container .user-box-numbers .number{text-align:center;} " );
}
}
function getElementsByClassName(classname, node) {
if(!node) { node = document.getElementsByTagName("body")[0]; }
var a = [];
var re = new RegExp('\\b' + classname + '\\b');
var els = node.getElementsByTagName("*");
for (var i=0,j=els.length; i<j; i++) {
if (re.test(els[i].className)) { a.push(els[i]); }
}
return a;
}
function getId(node) {
return document.getElementById(node);
}
function isPersianEditor() {
var editorURL = window.location.pathname;
return editorURL.includes("fa-IR");
}
// then at the end of your script, call the bootstrap to get things started
wmePUF_bootstrap();