tangled
alpha
login
or
join now
chadtmiller.com
/
conf-demo
2
fork
atom
Gleam Lustre Fullstack Atproto Demo App w/Slices.Network GraphQL API
2
fork
atom
overview
issues
pulls
pipelines
add project edit page, form, and location input
chadtmiller.com
4 months ago
7b81c53f
7e12c44b
+16033
-231
14 changed files
expand all
collapse all
unified
split
client
.gitignore
gleam.toml
manifest.toml
package-lock.json
package.json
src
client.gleam
client_ffi.mjs
pages
profile.gleam
profile_edit.gleam
ui
location_input.gleam
textarea.gleam
utils
location.gleam
server
priv
static
client.js
src
server.gleam
+1
client/.gitignore
···
6
6
#Added automatically by Lustre Dev Tools
7
7
/.lustre
8
8
/dist
9
9
+
/node_modules
-1
client/gleam.toml
···
17
17
shared = { path = "../shared" }
18
18
gleam_stdlib = ">= 0.44.0 and < 2.0.0"
19
19
lustre = ">= 5.3.5 and < 6.0.0"
20
20
-
rsvp = ">= 1.1.3 and < 2.0.0"
21
20
modem = ">= 2.0.1 and < 3.0.0"
22
21
gleam_json = ">= 3.0.2 and < 4.0.0"
23
22
gleam_http = ">= 4.3.0 and < 5.0.0"
+1
-4
client/manifest.toml
···
12
12
{ name = "gleam_community_colour", version = "2.0.2", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib"], otp_app = "gleam_community_colour", source = "hex", outer_checksum = "E34DD2C896AC3792151EDA939DA435FF3B69922F33415ED3C4406C932FBE9634" },
13
13
{ name = "gleam_crypto", version = "1.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_crypto", source = "hex", outer_checksum = "50774BAFFF1144E7872814C566C5D653D83A3EBF23ACC3156B757A1B6819086E" },
14
14
{ name = "gleam_erlang", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "1124AD3AA21143E5AF0FC5CF3D9529F6DB8CA03E43A55711B60B6B7B3874375C" },
15
15
-
{ name = "gleam_fetch", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_http", "gleam_javascript", "gleam_stdlib"], otp_app = "gleam_fetch", source = "hex", outer_checksum = "2CBF9F2E1C71AEBBFB13A9D5720CD8DB4263EB02FE60C5A7A1C6E17B0151C20C" },
16
15
{ name = "gleam_http", version = "4.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "82EA6A717C842456188C190AFB372665EA56CE13D8559BF3B1DD9E40F619EE0C" },
17
16
{ name = "gleam_httpc", version = "5.0.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_http", "gleam_stdlib"], otp_app = "gleam_httpc", source = "hex", outer_checksum = "C545172618D07811494E97AAA4A0FB34DA6F6D0061FDC8041C2F8E3BE2B2E48F" },
18
17
{ name = "gleam_javascript", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_javascript", source = "hex", outer_checksum = "EF6C77A506F026C6FB37941889477CD5E4234FCD4337FF0E9384E297CB8F97EB" },
···
39
38
{ name = "platform", version = "1.0.0", build_tools = ["gleam"], requirements = [], otp_app = "platform", source = "hex", outer_checksum = "8339420A95AD89AAC0F82F4C3DB8DD401041742D6C3F46132A8739F6AEB75391" },
40
39
{ name = "plinth", version = "0.7.2", build_tools = ["gleam"], requirements = ["gleam_javascript", "gleam_json", "gleam_stdlib"], otp_app = "plinth", source = "hex", outer_checksum = "3D70AF096A6F46DC71023C28B16BCCC6D7FAB9A467711426DAEB05902022B08F" },
41
40
{ name = "polly", version = "2.1.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib", "simplifile"], otp_app = "polly", source = "hex", outer_checksum = "1BA4D0ACE9BCF52AEA6AD9DE020FD8220CCA399A379E50A1775FC5C1204FCF56" },
42
42
-
{ name = "rsvp", version = "1.1.3", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_fetch", "gleam_http", "gleam_httpc", "gleam_javascript", "gleam_json", "gleam_stdlib", "lustre"], otp_app = "rsvp", source = "hex", outer_checksum = "4A582C9C49B4EC3197631E78FDB4D0A8703F14043EC12EAAC608E7B9347C2211" },
43
41
{ name = "shared", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_json", "gleam_stdlib"], source = "local", path = "../shared" },
44
42
{ name = "simplifile", version = "2.3.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "0A868DAC6063D9E983477981839810DC2E553285AB4588B87E3E9C96A7FB4CB4" },
45
43
{ name = "snag", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "snag", source = "hex", outer_checksum = "7E9F06390040EB5FAB392CE642771484136F2EC103A92AE11BA898C8167E6E17" },
···
50
48
51
49
[requirements]
52
50
gleam_http = { version = ">= 4.3.0 and < 5.0.0" }
51
51
+
gleam_javascript = { version = ">= 1.0.0 and < 2.0.0" }
53
52
gleam_json = { version = ">= 3.0.2 and < 4.0.0" }
54
53
gleam_stdlib = { version = ">= 0.44.0 and < 2.0.0" }
55
54
gleeunit = { version = ">= 1.0.0 and < 2.0.0" }
···
57
56
lustre_dev_tools = { version = ">= 2.1.3 and < 3.0.0" }
58
57
modem = { version = ">= 2.0.1 and < 3.0.0" }
59
58
plinth = { version = ">= 0.7.2 and < 1.0.0" }
60
60
-
rsvp = { version = ">= 1.1.3 and < 2.0.0" }
61
59
shared = { path = "../shared" }
62
62
-
gleam_javascript = { version = ">= 1.0.0 and < 2.0.0" }
+26
client/package-lock.json
···
1
1
+
{
2
2
+
"name": "lustre-fullstack-client",
3
3
+
"version": "1.0.0",
4
4
+
"lockfileVersion": 3,
5
5
+
"requires": true,
6
6
+
"packages": {
7
7
+
"": {
8
8
+
"name": "lustre-fullstack-client",
9
9
+
"version": "1.0.0",
10
10
+
"dependencies": {
11
11
+
"h3-js": "^4.1.0"
12
12
+
}
13
13
+
},
14
14
+
"node_modules/h3-js": {
15
15
+
"version": "4.3.0",
16
16
+
"resolved": "https://registry.npmjs.org/h3-js/-/h3-js-4.3.0.tgz",
17
17
+
"integrity": "sha512-zgvyHZz5bEKeuyYGh0bF9/kYSxJ2SqroopkXHqKnD3lfjaZawcxulcI9nWbNC54gakl/2eObRLHWueTf1iLSaA==",
18
18
+
"license": "Apache-2.0",
19
19
+
"engines": {
20
20
+
"node": ">=4",
21
21
+
"npm": ">=3",
22
22
+
"yarn": ">=1.3.0"
23
23
+
}
24
24
+
}
25
25
+
}
26
26
+
}
+8
client/package.json
···
1
1
+
{
2
2
+
"name": "lustre-fullstack-client",
3
3
+
"version": "1.0.0",
4
4
+
"type": "module",
5
5
+
"dependencies": {
6
6
+
"h3-js": "^4.1.0"
7
7
+
}
8
8
+
}
+186
-7
client/src/client.gleam
···
13
13
import modem
14
14
import pages/home
15
15
import pages/profile as profile_page
16
16
+
import pages/profile_edit
16
17
import plinth/browser/document
18
18
+
import ui/location_input
17
19
import plinth/browser/element as plinth_element
18
20
import shared/profile.{type Profile}
19
21
import ui/layout
···
30
32
pub type Route {
31
33
Home
32
34
Profile(handle: String)
35
35
+
ProfileEdit(handle: String)
33
36
NotFound(uri: Uri)
34
37
}
35
38
···
41
44
}
42
45
43
46
type Model {
44
44
-
Model(route: Route, profile_state: ProfileState)
47
47
+
Model(
48
48
+
route: Route,
49
49
+
profile_state: ProfileState,
50
50
+
edit_form_data: profile_edit.FormData,
51
51
+
)
45
52
}
46
53
47
54
fn init(_flags) -> #(Model, Effect(Msg)) {
···
59
66
// Use prerendered data if available, otherwise show loading
60
67
case prerendered_profile {
61
68
Some(profile_data) -> {
62
62
-
let model = Model(route: route, profile_state: Loaded(profile_data))
69
69
+
let model =
70
70
+
Model(
71
71
+
route: route,
72
72
+
profile_state: Loaded(profile_data),
73
73
+
edit_form_data: profile_edit.init_form_data(None),
74
74
+
)
75
75
+
#(model, effect.none())
76
76
+
}
77
77
+
None -> {
78
78
+
let model =
79
79
+
Model(
80
80
+
route: route,
81
81
+
profile_state: Failed("Profile not found"),
82
82
+
edit_form_data: profile_edit.init_form_data(None),
83
83
+
)
84
84
+
#(model, effect.none())
85
85
+
}
86
86
+
}
87
87
+
}
88
88
+
ProfileEdit(handle: _handle) -> {
89
89
+
// Use prerendered data if available
90
90
+
case prerendered_profile {
91
91
+
Some(profile_data) -> {
92
92
+
let model =
93
93
+
Model(
94
94
+
route: route,
95
95
+
profile_state: Loaded(profile_data),
96
96
+
edit_form_data: profile_edit.init_form_data(Some(profile_data)),
97
97
+
)
63
98
#(model, effect.none())
64
99
}
65
100
None -> {
66
101
let model =
67
67
-
Model(route: route, profile_state: Failed("Profile not found"))
102
102
+
Model(
103
103
+
route: route,
104
104
+
profile_state: Failed("Profile not found"),
105
105
+
edit_form_data: profile_edit.init_form_data(None),
106
106
+
)
68
107
#(model, effect.none())
69
108
}
70
109
}
71
110
}
72
111
_ -> {
73
73
-
let model = Model(route: route, profile_state: NotAsked)
112
112
+
let model =
113
113
+
Model(
114
114
+
route: route,
115
115
+
profile_state: NotAsked,
116
116
+
edit_form_data: profile_edit.init_form_data(None),
117
117
+
)
74
118
#(model, effect.none())
75
119
}
76
120
}
···
103
147
case uri.path_segments(uri.path) {
104
148
[] | [""] -> Home
105
149
["profile", handle] -> Profile(handle: handle)
150
150
+
["profile", handle, "edit"] -> ProfileEdit(handle: handle)
106
151
_ -> NotFound(uri: uri)
107
152
}
108
153
}
···
112
157
type Msg {
113
158
UserNavigatedTo(route: Route)
114
159
ProfileFetched(Result(option.Option(Profile), String))
160
160
+
ProfileEditMsg(profile_edit.Msg)
115
161
}
116
162
117
163
fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
···
123
169
case route {
124
170
Profile(handle: handle) -> {
125
171
io.println("Navigating to profile: " <> handle)
126
126
-
let model = Model(..model, profile_state: Loading)
127
127
-
#(model, fetch_profile(handle))
172
172
+
// Check if we have the correct profile loaded
173
173
+
case model.profile_state {
174
174
+
Loaded(p) -> {
175
175
+
// Check if loaded profile matches the requested handle
176
176
+
case p.handle {
177
177
+
option.Some(loaded_handle) if loaded_handle == handle -> {
178
178
+
// Already have the correct profile loaded
179
179
+
#(model, effect.none())
180
180
+
}
181
181
+
_ -> {
182
182
+
// Profile doesn't match, fetch the correct one
183
183
+
let model = Model(..model, profile_state: Loading)
184
184
+
#(model, fetch_profile(handle))
185
185
+
}
186
186
+
}
187
187
+
}
188
188
+
_ -> {
189
189
+
// No profile loaded, fetch it
190
190
+
let model = Model(..model, profile_state: Loading)
191
191
+
#(model, fetch_profile(handle))
192
192
+
}
193
193
+
}
194
194
+
}
195
195
+
ProfileEdit(handle: handle) -> {
196
196
+
io.println("Navigating to profile edit: " <> handle)
197
197
+
// Check if we have the correct profile loaded
198
198
+
case model.profile_state {
199
199
+
Loaded(p) -> {
200
200
+
// Check if loaded profile matches the requested handle
201
201
+
case p.handle {
202
202
+
option.Some(loaded_handle) if loaded_handle == handle -> {
203
203
+
let form_data = profile_edit.init_form_data(Some(p))
204
204
+
#(
205
205
+
Model(..model, edit_form_data: form_data),
206
206
+
effect.none(),
207
207
+
)
208
208
+
}
209
209
+
_ -> {
210
210
+
// Profile doesn't match, fetch the correct one
211
211
+
let model = Model(..model, profile_state: Loading)
212
212
+
#(model, fetch_profile(handle))
213
213
+
}
214
214
+
}
215
215
+
}
216
216
+
_ -> {
217
217
+
// No profile loaded, fetch it
218
218
+
let model = Model(..model, profile_state: Loading)
219
219
+
#(model, fetch_profile(handle))
220
220
+
}
221
221
+
}
128
222
}
129
223
_ -> #(model, effect.none())
130
224
}
···
137
231
Ok(None) -> Failed("Profile not found")
138
232
Error(error) -> Failed(error)
139
233
}
140
140
-
#(Model(..model, profile_state: profile_state), effect.none())
234
234
+
235
235
+
// If we're on the edit page and profile was loaded, initialize form data
236
236
+
let edit_form_data = case model.route, profile_state {
237
237
+
ProfileEdit(_), Loaded(profile_data) ->
238
238
+
profile_edit.init_form_data(Some(profile_data))
239
239
+
_, _ -> model.edit_form_data
240
240
+
}
241
241
+
242
242
+
#(
243
243
+
Model(..model, profile_state: profile_state, edit_form_data: edit_form_data),
244
244
+
effect.none(),
245
245
+
)
246
246
+
}
247
247
+
248
248
+
ProfileEditMsg(edit_msg) -> {
249
249
+
case edit_msg {
250
250
+
profile_edit.DisplayNameUpdated(value) -> {
251
251
+
let form_data =
252
252
+
profile_edit.FormData(..model.edit_form_data, display_name: value)
253
253
+
#(Model(..model, edit_form_data: form_data), effect.none())
254
254
+
}
255
255
+
profile_edit.DescriptionUpdated(value) -> {
256
256
+
let form_data =
257
257
+
profile_edit.FormData(..model.edit_form_data, description: value)
258
258
+
#(Model(..model, edit_form_data: form_data), effect.none())
259
259
+
}
260
260
+
profile_edit.LocationInputMsg(location_msg) -> {
261
261
+
let #(location_model, location_effect) =
262
262
+
location_input.update(model.edit_form_data.location_input, location_msg)
263
263
+
264
264
+
let form_data =
265
265
+
profile_edit.FormData(..model.edit_form_data, location_input: location_model)
266
266
+
267
267
+
#(
268
268
+
Model(..model, edit_form_data: form_data),
269
269
+
location_effect |> effect.map(fn(msg) { ProfileEditMsg(profile_edit.LocationInputMsg(msg)) }),
270
270
+
)
271
271
+
}
272
272
+
profile_edit.InterestsUpdated(value) -> {
273
273
+
let form_data =
274
274
+
profile_edit.FormData(..model.edit_form_data, interests: value)
275
275
+
#(Model(..model, edit_form_data: form_data), effect.none())
276
276
+
}
277
277
+
profile_edit.AvatarFileSelected(_file_url) -> {
278
278
+
// TODO: Handle avatar file selection
279
279
+
#(model, effect.none())
280
280
+
}
281
281
+
profile_edit.FormSubmitted -> {
282
282
+
// TODO: Handle form submission
283
283
+
io.println("Profile form submitted")
284
284
+
#(model, effect.none())
285
285
+
}
286
286
+
profile_edit.CancelClicked -> {
287
287
+
// Navigate back to profile page
288
288
+
case model.route {
289
289
+
ProfileEdit(handle: handle) -> {
290
290
+
#(model, modem.push("/profile/" <> handle, None, None))
291
291
+
}
292
292
+
_ -> #(model, effect.none())
293
293
+
}
294
294
+
}
295
295
+
}
141
296
}
142
297
}
143
298
}
···
202
357
]),
203
358
])
204
359
Loaded(p) -> profile_page.view(p)
360
360
+
Failed(error: error) ->
361
361
+
html.div([attribute.class("text-center py-12")], [
362
362
+
html.h2([attribute.class("text-2xl font-bold text-white mb-4")], [
363
363
+
html.text("Error"),
364
364
+
]),
365
365
+
html.p([attribute.class("text-zinc-400")], [html.text(error)]),
366
366
+
])
367
367
+
}
368
368
+
}
369
369
+
ProfileEdit(handle: handle) -> {
370
370
+
case model.profile_state {
371
371
+
NotAsked | Loading ->
372
372
+
html.div([attribute.class("text-center py-12")], [
373
373
+
html.p([attribute.class("text-zinc-400")], [
374
374
+
html.text("Loading profile..."),
375
375
+
]),
376
376
+
])
377
377
+
Loaded(p) ->
378
378
+
profile_edit.view(
379
379
+
Some(p),
380
380
+
model.edit_form_data,
381
381
+
handle,
382
382
+
ProfileEditMsg,
383
383
+
)
205
384
Failed(error: error) ->
206
385
html.div([attribute.class("text-center py-12")], [
207
386
html.h2([attribute.class("text-2xl font-bold text-white mb-4")], [
+86
-1
client/src/client_ffi.mjs
···
1
1
-
import { Error, Ok } from "./gleam.mjs";
1
1
+
import { Error, Ok, Empty, NonEmpty } from "./gleam.mjs";
2
2
+
import { latLngToCell } from "h3-js";
3
3
+
4
4
+
// Convert JavaScript array to Gleam List
5
5
+
function toList(array) {
6
6
+
let list = new Empty();
7
7
+
for (let i = array.length - 1; i >= 0; i--) {
8
8
+
list = new NonEmpty(array[i], list);
9
9
+
}
10
10
+
return list;
11
11
+
}
2
12
3
13
export function fetchUrl(url) {
4
14
return fetch(url)
···
13
23
return new Error(error.message || "Network error");
14
24
});
15
25
}
26
26
+
27
27
+
/**
28
28
+
* Search for locations using the Nominatim OpenStreetMap geocoding API
29
29
+
* Returns a Promise that resolves to Result(List(NominatimResult), String)
30
30
+
*/
31
31
+
export function searchLocations(query) {
32
32
+
if (!query || query.trim().length < 2) {
33
33
+
return Promise.resolve(new Ok(toList([])));
34
34
+
}
35
35
+
36
36
+
const url = new URL("https://nominatim.openstreetmap.org/search");
37
37
+
url.searchParams.set("format", "json");
38
38
+
url.searchParams.set("q", query.trim());
39
39
+
url.searchParams.set("limit", "5");
40
40
+
url.searchParams.set("addressdetails", "1");
41
41
+
42
42
+
return fetch(url.toString(), {
43
43
+
headers: {
44
44
+
// Nominatim requires a User-Agent header
45
45
+
"User-Agent": "lustre-fullstack-app/1.0",
46
46
+
},
47
47
+
})
48
48
+
.then((response) => {
49
49
+
if (!response.ok) {
50
50
+
throw new Error(`Nominatim API error: ${response.statusText}`);
51
51
+
}
52
52
+
return response.json();
53
53
+
})
54
54
+
.then((results) => {
55
55
+
// Convert JavaScript array to Gleam List
56
56
+
return new Ok(toList(results));
57
57
+
})
58
58
+
.catch((error) => {
59
59
+
console.error("Error fetching locations from Nominatim:", error);
60
60
+
return new Error(error.message || "Failed to fetch locations");
61
61
+
});
62
62
+
}
63
63
+
64
64
+
/**
65
65
+
* Convert latitude/longitude coordinates to an H3 index
66
66
+
* @param lat Latitude
67
67
+
* @param lon Longitude
68
68
+
* @param resolution H3 resolution (0-15). Default is 5 (~5km hexagons, city-level)
69
69
+
* @returns H3 index string
70
70
+
*/
71
71
+
export function latLonToH3(lat, lon, resolution = 5) {
72
72
+
return latLngToCell(lat, lon, resolution);
73
73
+
}
74
74
+
75
75
+
/**
76
76
+
* Debounce helper - executes callback after delay
77
77
+
* Returns a function that can be called to cancel the timeout
78
78
+
*/
79
79
+
let debounceTimer = null;
80
80
+
81
81
+
export function debounce(callback, delay) {
82
82
+
// Clear any existing timer
83
83
+
if (debounceTimer !== null) {
84
84
+
clearTimeout(debounceTimer);
85
85
+
}
86
86
+
87
87
+
// Set new timer
88
88
+
debounceTimer = setTimeout(() => {
89
89
+
callback();
90
90
+
debounceTimer = null;
91
91
+
}, delay);
92
92
+
93
93
+
// Return cancel function
94
94
+
return () => {
95
95
+
if (debounceTimer !== null) {
96
96
+
clearTimeout(debounceTimer);
97
97
+
debounceTimer = null;
98
98
+
}
99
99
+
};
100
100
+
}
+13
-2
client/src/pages/profile.gleam
···
5
5
import lustre/element/html
6
6
import shared/profile.{type Profile}
7
7
import ui/avatar
8
8
-
import ui/button
9
8
10
9
pub fn view(p: Profile) -> Element(msg) {
11
10
html.div([attribute.class("space-y-8")], [
···
47
46
]),
48
47
49
48
// Edit button
50
50
-
button.button([], button.Default, button.Md, [html.text("Edit Profile")]),
49
49
+
html.a(
50
50
+
[
51
51
+
attribute.href(
52
52
+
"/profile/"
53
53
+
<> option.unwrap(p.handle, p.did)
54
54
+
<> "/edit",
55
55
+
),
56
56
+
attribute.class(
57
57
+
"px-4 py-2 text-sm text-zinc-400 border border-zinc-800 hover:border-zinc-700 hover:text-zinc-300 rounded transition-colors cursor-pointer",
58
58
+
),
59
59
+
],
60
60
+
[html.text("Edit Profile")],
61
61
+
),
51
62
]),
52
63
53
64
// Profile sections
+214
client/src/pages/profile_edit.gleam
···
1
1
+
import gleam/option.{type Option}
2
2
+
import gleam/string
3
3
+
import lustre/attribute
4
4
+
import lustre/element.{type Element}
5
5
+
import lustre/element/html
6
6
+
import lustre/event
7
7
+
import shared/profile.{type Profile}
8
8
+
import ui/avatar
9
9
+
import ui/button
10
10
+
import ui/input
11
11
+
import ui/location_input
12
12
+
import ui/textarea
13
13
+
14
14
+
pub type Msg {
15
15
+
DisplayNameUpdated(String)
16
16
+
DescriptionUpdated(String)
17
17
+
InterestsUpdated(String)
18
18
+
AvatarFileSelected(String)
19
19
+
LocationInputMsg(location_input.Msg)
20
20
+
FormSubmitted
21
21
+
CancelClicked
22
22
+
}
23
23
+
24
24
+
pub type FormData {
25
25
+
FormData(
26
26
+
display_name: String,
27
27
+
description: String,
28
28
+
location_input: location_input.Model,
29
29
+
interests: String,
30
30
+
avatar_preview_url: Option(String),
31
31
+
)
32
32
+
}
33
33
+
34
34
+
pub fn init_form_data(profile: Option(Profile)) -> FormData {
35
35
+
case profile {
36
36
+
option.Some(p) -> {
37
37
+
let interests_str = case p.interests {
38
38
+
option.Some(list) -> string.join(list, ", ")
39
39
+
option.None -> ""
40
40
+
}
41
41
+
42
42
+
// For now, just use the home_town string as is
43
43
+
// TODO: Parse JSON if needed
44
44
+
let location_data = case p.home_town {
45
45
+
option.Some(_town) -> option.None
46
46
+
option.None -> option.None
47
47
+
}
48
48
+
49
49
+
FormData(
50
50
+
display_name: option.unwrap(p.display_name, ""),
51
51
+
description: option.unwrap(p.description, ""),
52
52
+
location_input: location_input.init(location_data),
53
53
+
interests: interests_str,
54
54
+
avatar_preview_url: p.avatar_url,
55
55
+
)
56
56
+
}
57
57
+
option.None ->
58
58
+
FormData(
59
59
+
display_name: "",
60
60
+
description: "",
61
61
+
location_input: location_input.init(option.None),
62
62
+
interests: "",
63
63
+
avatar_preview_url: option.None,
64
64
+
)
65
65
+
}
66
66
+
}
67
67
+
68
68
+
pub fn view(
69
69
+
profile: Option(Profile),
70
70
+
form_data: FormData,
71
71
+
handle: String,
72
72
+
on_msg: fn(Msg) -> msg,
73
73
+
) -> Element(msg) {
74
74
+
html.div([attribute.class("space-y-8")], [
75
75
+
// Header
76
76
+
html.div([attribute.class("border-b border-zinc-800 pb-6")], [
77
77
+
html.button(
78
78
+
[
79
79
+
attribute.class(
80
80
+
"inline-flex items-center gap-2 text-zinc-400 hover:text-zinc-200 transition-colors mb-4",
81
81
+
),
82
82
+
event.on_click(on_msg(CancelClicked)),
83
83
+
],
84
84
+
[
85
85
+
html.text("← Back to Profile"),
86
86
+
],
87
87
+
),
88
88
+
html.h2([attribute.class("text-3xl font-bold text-white mb-2")], [
89
89
+
html.text("Profile Settings"),
90
90
+
]),
91
91
+
html.p([attribute.class("text-zinc-500 text-sm")], [
92
92
+
html.text("@" <> handle),
93
93
+
]),
94
94
+
]),
95
95
+
// Form
96
96
+
html.form(
97
97
+
[
98
98
+
attribute.class("space-y-6"),
99
99
+
event.on_submit(fn(_) { on_msg(FormSubmitted) }),
100
100
+
],
101
101
+
[
102
102
+
html.div(
103
103
+
[
104
104
+
attribute.class(
105
105
+
"bg-zinc-900 border border-zinc-800 rounded-lg p-6 space-y-6",
106
106
+
),
107
107
+
],
108
108
+
[
109
109
+
// Avatar Section
110
110
+
html.div([attribute.class("space-y-2")], [
111
111
+
html.label([attribute.class("text-sm font-medium text-white")], [
112
112
+
html.text("Avatar"),
113
113
+
]),
114
114
+
html.div([attribute.class("flex items-center gap-4")], [
115
115
+
avatar.avatar(
116
116
+
form_data.avatar_preview_url,
117
117
+
option.unwrap(
118
118
+
profile |> option.then(fn(p) { p.display_name }),
119
119
+
handle,
120
120
+
),
121
121
+
avatar.Lg,
122
122
+
),
123
123
+
html.label(
124
124
+
[
125
125
+
attribute.attribute("for", "avatar-upload"),
126
126
+
attribute.class(
127
127
+
"cursor-pointer px-4 py-2 bg-zinc-800 hover:bg-zinc-700 text-zinc-300 rounded text-sm transition-colors",
128
128
+
),
129
129
+
],
130
130
+
[html.text("Change Avatar")],
131
131
+
),
132
132
+
html.input([
133
133
+
attribute.type_("file"),
134
134
+
attribute.id("avatar-upload"),
135
135
+
attribute.accept(["image/*"]),
136
136
+
attribute.class("hidden"),
137
137
+
// Note: File handling will require FFI
138
138
+
]),
139
139
+
]),
140
140
+
]),
141
141
+
// Display Name
142
142
+
html.div([attribute.class("space-y-2")], [
143
143
+
html.label([attribute.class("text-sm font-medium text-white")], [
144
144
+
html.text("Display Name"),
145
145
+
]),
146
146
+
input.input([
147
147
+
attribute.type_("text"),
148
148
+
attribute.placeholder("Your display name"),
149
149
+
attribute.value(form_data.display_name),
150
150
+
event.on_input(fn(value) { on_msg(DisplayNameUpdated(value)) }),
151
151
+
]),
152
152
+
]),
153
153
+
// Description
154
154
+
html.div([attribute.class("space-y-2")], [
155
155
+
html.label([attribute.class("text-sm font-medium text-white")], [
156
156
+
html.text("Description"),
157
157
+
]),
158
158
+
textarea.textarea(
159
159
+
[
160
160
+
attribute.placeholder("Tell us about yourself..."),
161
161
+
event.on_input(fn(value) { on_msg(DescriptionUpdated(value)) }),
162
162
+
],
163
163
+
form_data.description,
164
164
+
),
165
165
+
]),
166
166
+
// Home Town
167
167
+
html.div([attribute.class("space-y-2")], [
168
168
+
html.label([attribute.class("text-sm font-medium text-white")], [
169
169
+
html.text("Home Town"),
170
170
+
]),
171
171
+
location_input.view(
172
172
+
form_data.location_input,
173
173
+
"Search for your hometown...",
174
174
+
)
175
175
+
|> element.map(fn(msg) { on_msg(LocationInputMsg(msg)) }),
176
176
+
]),
177
177
+
// Interests
178
178
+
html.div([attribute.class("space-y-2")], [
179
179
+
html.label([attribute.class("text-sm font-medium text-white")], [
180
180
+
html.text("Interests"),
181
181
+
]),
182
182
+
html.p([attribute.class("text-xs text-zinc-400")], [
183
183
+
html.text("Enter your interests, separated by commas"),
184
184
+
]),
185
185
+
input.input([
186
186
+
attribute.type_("text"),
187
187
+
attribute.placeholder(
188
188
+
"e.g., web development, photography, hiking",
189
189
+
),
190
190
+
attribute.value(form_data.interests),
191
191
+
event.on_input(fn(value) { on_msg(InterestsUpdated(value)) }),
192
192
+
]),
193
193
+
]),
194
194
+
],
195
195
+
),
196
196
+
// Action Buttons
197
197
+
html.div([attribute.class("flex justify-end gap-3")], [
198
198
+
button.button(
199
199
+
[
200
200
+
attribute.type_("button"),
201
201
+
event.on_click(on_msg(CancelClicked)),
202
202
+
],
203
203
+
button.Default,
204
204
+
button.Md,
205
205
+
[html.text("Cancel")],
206
206
+
),
207
207
+
button.button([attribute.type_("submit")], button.Primary, button.Md, [
208
208
+
html.text("Save Changes"),
209
209
+
]),
210
210
+
]),
211
211
+
],
212
212
+
),
213
213
+
])
214
214
+
}
+280
client/src/ui/location_input.gleam
···
1
1
+
import gleam/dynamic/decode
2
2
+
import gleam/float
3
3
+
import gleam/javascript/promise
4
4
+
import gleam/list
5
5
+
import gleam/option.{type Option, None, Some}
6
6
+
import gleam/string
7
7
+
import lustre/attribute
8
8
+
import lustre/effect.{type Effect}
9
9
+
import lustre/element.{type Element}
10
10
+
import lustre/element/html
11
11
+
import lustre/event
12
12
+
import utils/location
13
13
+
14
14
+
pub type Model {
15
15
+
Model(
16
16
+
input_value: String,
17
17
+
selected_location: Option(location.LocationData),
18
18
+
suggestions: List(location.NominatimResult),
19
19
+
is_loading: Bool,
20
20
+
show_dropdown: Bool,
21
21
+
)
22
22
+
}
23
23
+
24
24
+
pub type Msg {
25
25
+
UserTypedQuery(String)
26
26
+
UserClickedSuggestion(location.NominatimResult)
27
27
+
UserFocusedInput
28
28
+
UserBlurredInput
29
29
+
GotSearchResults(Result(List(location.NominatimResult), String))
30
30
+
}
31
31
+
32
32
+
pub fn init(initial_value: Option(location.LocationData)) -> Model {
33
33
+
Model(
34
34
+
input_value: case initial_value {
35
35
+
Some(loc) -> loc.name
36
36
+
None -> ""
37
37
+
},
38
38
+
selected_location: initial_value,
39
39
+
suggestions: [],
40
40
+
is_loading: False,
41
41
+
show_dropdown: False,
42
42
+
)
43
43
+
}
44
44
+
45
45
+
pub fn update(model: Model, msg: Msg) -> #(Model, Effect(Msg)) {
46
46
+
case msg {
47
47
+
UserTypedQuery(query) -> {
48
48
+
let model = Model(..model, input_value: query)
49
49
+
50
50
+
case string.length(query) >= 2 {
51
51
+
True -> {
52
52
+
let model = Model(..model, is_loading: True, show_dropdown: True)
53
53
+
#(model, debounced_search_effect(query))
54
54
+
}
55
55
+
False -> {
56
56
+
#(
57
57
+
Model(
58
58
+
..model,
59
59
+
suggestions: [],
60
60
+
show_dropdown: False,
61
61
+
selected_location: None,
62
62
+
),
63
63
+
effect.none(),
64
64
+
)
65
65
+
}
66
66
+
}
67
67
+
}
68
68
+
69
69
+
UserClickedSuggestion(result) -> {
70
70
+
let lat = case float.parse(result.lat) {
71
71
+
Ok(v) -> v
72
72
+
Error(_) -> 0.0
73
73
+
}
74
74
+
let lon = case float.parse(result.lon) {
75
75
+
Ok(v) -> v
76
76
+
Error(_) -> 0.0
77
77
+
}
78
78
+
79
79
+
let h3_index = location.lat_lon_to_h3(lat, lon)
80
80
+
let formatted_name = format_location_name(result)
81
81
+
82
82
+
let location_data =
83
83
+
location.LocationData(
84
84
+
name: formatted_name,
85
85
+
lat: lat,
86
86
+
lon: lon,
87
87
+
h3_index: h3_index,
88
88
+
)
89
89
+
90
90
+
#(
91
91
+
Model(
92
92
+
..model,
93
93
+
input_value: formatted_name,
94
94
+
selected_location: Some(location_data),
95
95
+
show_dropdown: False,
96
96
+
suggestions: [],
97
97
+
),
98
98
+
effect.none(),
99
99
+
)
100
100
+
}
101
101
+
102
102
+
UserFocusedInput -> {
103
103
+
case string.length(model.input_value) >= 2 {
104
104
+
True -> {
105
105
+
let model = Model(..model, is_loading: True, show_dropdown: True)
106
106
+
#(model, debounced_search_effect(model.input_value))
107
107
+
}
108
108
+
False -> #(model, effect.none())
109
109
+
}
110
110
+
}
111
111
+
112
112
+
UserBlurredInput -> {
113
113
+
// Delay hiding dropdown to allow click on suggestion
114
114
+
#(model, effect.none())
115
115
+
}
116
116
+
117
117
+
GotSearchResults(result) -> {
118
118
+
case result {
119
119
+
Ok(results) -> {
120
120
+
#(
121
121
+
Model(
122
122
+
..model,
123
123
+
suggestions: results,
124
124
+
is_loading: False,
125
125
+
show_dropdown: results != [],
126
126
+
),
127
127
+
effect.none(),
128
128
+
)
129
129
+
}
130
130
+
Error(_err) -> {
131
131
+
#(
132
132
+
Model(..model, suggestions: [], is_loading: False),
133
133
+
effect.none(),
134
134
+
)
135
135
+
}
136
136
+
}
137
137
+
}
138
138
+
}
139
139
+
}
140
140
+
141
141
+
// FFI function for debouncing
142
142
+
@external(javascript, "../client_ffi.mjs", "debounce")
143
143
+
fn debounce(callback: fn() -> Nil, delay: Int) -> fn() -> Nil
144
144
+
145
145
+
fn debounced_search_effect(query: String) -> Effect(Msg) {
146
146
+
effect.from(fn(dispatch) {
147
147
+
// Debounce the search by 300ms
148
148
+
debounce(
149
149
+
fn() {
150
150
+
location.search_locations(query)
151
151
+
|> promise.map(fn(result) {
152
152
+
case result {
153
153
+
Ok(dynamic_list) -> {
154
154
+
// Decode each dynamic result using filter_map which expects Result
155
155
+
let decoded_results =
156
156
+
list.filter_map(dynamic_list, fn(dyn) {
157
157
+
decode.run(dyn, location.nominatim_result_decoder())
158
158
+
})
159
159
+
160
160
+
dispatch(GotSearchResults(Ok(decoded_results)))
161
161
+
}
162
162
+
Error(err) -> {
163
163
+
dispatch(GotSearchResults(Error(err)))
164
164
+
}
165
165
+
}
166
166
+
})
167
167
+
|> promise.await(fn(_) { promise.resolve(Nil) })
168
168
+
169
169
+
Nil
170
170
+
},
171
171
+
300,
172
172
+
)
173
173
+
174
174
+
Nil
175
175
+
})
176
176
+
}
177
177
+
178
178
+
fn format_location_name(result: location.NominatimResult) -> String {
179
179
+
let parts = []
180
180
+
181
181
+
// Append items to maintain order: City, State, Country
182
182
+
let parts = case result.address.city {
183
183
+
"" -> parts
184
184
+
city -> list.append(parts, [city])
185
185
+
}
186
186
+
187
187
+
let parts = case result.address.state {
188
188
+
"" -> parts
189
189
+
state -> list.append(parts, [state])
190
190
+
}
191
191
+
192
192
+
let parts = case result.address.country {
193
193
+
"" -> parts
194
194
+
country -> list.append(parts, [country])
195
195
+
}
196
196
+
197
197
+
case parts {
198
198
+
[] -> result.display_name
199
199
+
_ -> string.join(parts, ", ")
200
200
+
}
201
201
+
}
202
202
+
203
203
+
pub fn view(model: Model, placeholder: String) -> Element(Msg) {
204
204
+
html.div([attribute.class("relative")], [
205
205
+
html.div([attribute.class("relative")], [
206
206
+
input_element(model.input_value, placeholder, model.is_loading),
207
207
+
icon_element(),
208
208
+
]),
209
209
+
dropdown_element(model.show_dropdown, model.suggestions),
210
210
+
])
211
211
+
}
212
212
+
213
213
+
fn input_element(
214
214
+
value: String,
215
215
+
placeholder: String,
216
216
+
_is_loading: Bool,
217
217
+
) -> Element(Msg) {
218
218
+
html.input([
219
219
+
attribute.type_("text"),
220
220
+
attribute.value(value),
221
221
+
attribute.placeholder(placeholder),
222
222
+
attribute.class(
223
223
+
"w-full px-3 py-2 pr-10 bg-zinc-900 border border-zinc-800 rounded text-sm text-zinc-300 focus:outline-none focus:border-zinc-700",
224
224
+
),
225
225
+
event.on_input(UserTypedQuery),
226
226
+
event.on_focus(UserFocusedInput),
227
227
+
event.on_blur(UserBlurredInput),
228
228
+
])
229
229
+
}
230
230
+
231
231
+
fn icon_element() -> Element(Msg) {
232
232
+
html.div(
233
233
+
[
234
234
+
attribute.class(
235
235
+
"absolute right-3 top-1/2 -translate-y-1/2 text-zinc-500",
236
236
+
),
237
237
+
],
238
238
+
[html.text("📍")],
239
239
+
)
240
240
+
}
241
241
+
242
242
+
fn dropdown_element(
243
243
+
show: Bool,
244
244
+
suggestions: List(location.NominatimResult),
245
245
+
) -> Element(Msg) {
246
246
+
case show && suggestions != [] {
247
247
+
True ->
248
248
+
html.div(
249
249
+
[
250
250
+
attribute.class(
251
251
+
"absolute z-50 w-full mt-1 bg-zinc-900 border border-zinc-800 rounded-lg shadow-lg max-h-60 overflow-y-auto",
252
252
+
),
253
253
+
],
254
254
+
list.map(suggestions, suggestion_item),
255
255
+
)
256
256
+
False -> element.none()
257
257
+
}
258
258
+
}
259
259
+
260
260
+
fn suggestion_item(result: location.NominatimResult) -> Element(Msg) {
261
261
+
html.button(
262
262
+
[
263
263
+
attribute.type_("button"),
264
264
+
attribute.class(
265
265
+
"w-full px-4 py-3 text-left hover:bg-zinc-800 transition-colors border-b border-zinc-800 last:border-b-0",
266
266
+
),
267
267
+
event.on_click(UserClickedSuggestion(result)),
268
268
+
],
269
269
+
[
270
270
+
html.div([attribute.class("flex items-start gap-2")], [
271
271
+
html.div([attribute.class("text-zinc-500 mt-1 flex-shrink-0")], [
272
272
+
html.text("📍"),
273
273
+
]),
274
274
+
html.div([attribute.class("text-sm text-zinc-300")], [
275
275
+
html.text(format_location_name(result)),
276
276
+
]),
277
277
+
]),
278
278
+
],
279
279
+
)
280
280
+
}
+13
client/src/ui/textarea.gleam
···
1
1
+
import lustre/attribute.{type Attribute}
2
2
+
import lustre/element.{type Element}
3
3
+
import lustre/element/html
4
4
+
5
5
+
pub fn textarea(
6
6
+
attributes: List(Attribute(msg)),
7
7
+
value: String,
8
8
+
) -> Element(msg) {
9
9
+
let classes =
10
10
+
"w-full px-3 py-2 bg-zinc-900 border border-zinc-800 rounded text-sm text-zinc-300 focus:outline-none focus:border-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed resize-y min-h-[100px]"
11
11
+
12
12
+
html.textarea([attribute.class(classes), ..attributes], value)
13
13
+
}
+60
client/src/utils/location.gleam
···
1
1
+
import gleam/dynamic.{type Dynamic}
2
2
+
import gleam/dynamic/decode
3
3
+
import gleam/javascript/promise.{type Promise}
4
4
+
import gleam/option
5
5
+
6
6
+
pub type NominatimResult {
7
7
+
NominatimResult(
8
8
+
display_name: String,
9
9
+
lat: String,
10
10
+
lon: String,
11
11
+
place_id: Int,
12
12
+
address: NominatimAddress,
13
13
+
)
14
14
+
}
15
15
+
16
16
+
pub type NominatimAddress {
17
17
+
NominatimAddress(city: String, state: String, country: String)
18
18
+
}
19
19
+
20
20
+
pub type LocationData {
21
21
+
LocationData(name: String, lat: Float, lon: Float, h3_index: String)
22
22
+
}
23
23
+
24
24
+
/// Search for locations using Nominatim API
25
25
+
@external(javascript, "../client_ffi.mjs", "searchLocations")
26
26
+
pub fn search_locations(
27
27
+
query: String,
28
28
+
) -> Promise(Result(List(Dynamic), String))
29
29
+
30
30
+
/// Convert lat/lon to H3 index
31
31
+
@external(javascript, "../client_ffi.mjs", "latLonToH3")
32
32
+
pub fn lat_lon_to_h3(lat: Float, lon: Float) -> String
33
33
+
34
34
+
// Decoder for NominatimAddress
35
35
+
pub fn nominatim_address_decoder() -> decode.Decoder(NominatimAddress) {
36
36
+
use city <- decode.field("city", decode.optional(decode.string))
37
37
+
use state <- decode.field("state", decode.optional(decode.string))
38
38
+
use country <- decode.field("country", decode.optional(decode.string))
39
39
+
decode.success(NominatimAddress(
40
40
+
city: option.unwrap(city, ""),
41
41
+
state: option.unwrap(state, ""),
42
42
+
country: option.unwrap(country, ""),
43
43
+
))
44
44
+
}
45
45
+
46
46
+
// Decoder for NominatimResult
47
47
+
pub fn nominatim_result_decoder() -> decode.Decoder(NominatimResult) {
48
48
+
use display_name <- decode.field("display_name", decode.string)
49
49
+
use lat <- decode.field("lat", decode.string)
50
50
+
use lon <- decode.field("lon", decode.string)
51
51
+
use place_id <- decode.field("place_id", decode.int)
52
52
+
use address <- decode.field("address", nominatim_address_decoder())
53
53
+
decode.success(NominatimResult(
54
54
+
display_name: display_name,
55
55
+
lat: lat,
56
56
+
lon: lon,
57
57
+
place_id: place_id,
58
58
+
address: address,
59
59
+
))
60
60
+
}
+15144
-216
server/priv/static/client.js
···
194
194
return true;
195
195
}
196
196
}
197
197
-
class Error extends Result {
197
197
+
class Error2 extends Result {
198
198
constructor(detail) {
199
199
super();
200
200
this[0] = detail;
···
307
307
return x;
308
308
} else {
309
309
return default$;
310
310
+
}
311
311
+
}
312
312
+
function then$(option, fun) {
313
313
+
if (option instanceof Some) {
314
314
+
let x = option[0];
315
315
+
return fun(x);
316
316
+
} else {
317
317
+
return option;
310
318
}
311
319
}
312
320
···
1512
1520
if (errors instanceof Empty) {
1513
1521
return new Ok(maybe_invalid_data);
1514
1522
} else {
1515
1515
-
return new Error(errors);
1523
1523
+
return new Error2(errors);
1516
1524
}
1517
1525
}
1518
1526
function success(data) {
···
1709
1717
function identity(x) {
1710
1718
return x;
1711
1719
}
1720
1720
+
function parse_float(value) {
1721
1721
+
if (/^[-+]?(\d+)\.(\d+)([eE][-+]?\d+)?$/.test(value)) {
1722
1722
+
return new Ok(parseFloat(value));
1723
1723
+
} else {
1724
1724
+
return new Error2(Nil);
1725
1725
+
}
1726
1726
+
}
1712
1727
function to_string(term) {
1713
1728
return term.toString();
1714
1729
}
1730
1730
+
function string_length(string3) {
1731
1731
+
if (string3 === "") {
1732
1732
+
return 0;
1733
1733
+
}
1734
1734
+
const iterator = graphemes_iterator(string3);
1735
1735
+
if (iterator) {
1736
1736
+
let i = 0;
1737
1737
+
for (const _ of iterator) {
1738
1738
+
i++;
1739
1739
+
}
1740
1740
+
return i;
1741
1741
+
} else {
1742
1742
+
return string3.match(/./gsu).length;
1743
1743
+
}
1744
1744
+
}
1715
1745
function graphemes(string3) {
1716
1746
const iterator = graphemes_iterator(string3);
1717
1747
if (iterator) {
···
1738
1768
if (first2) {
1739
1769
return new Ok([first2, string3.slice(first2.length)]);
1740
1770
} else {
1741
1741
-
return new Error(Nil);
1771
1771
+
return new Error2(Nil);
1742
1772
}
1743
1773
}
1744
1774
function uppercase(string3) {
···
1776
1806
function map_get(map3, key) {
1777
1807
const value = map3.get(key, NOT_FOUND);
1778
1808
if (value === NOT_FOUND) {
1779
1779
-
return new Error(Nil);
1809
1809
+
return new Error2(Nil);
1780
1810
}
1781
1811
return new Ok(value);
1782
1812
}
···
2012
2042
return new Ok(new Some(value));
2013
2043
i++;
2014
2044
}
2015
2015
-
return new Error("Indexable");
2045
2045
+
return new Error2("Indexable");
2016
2046
}
2017
2047
if (key_is_int && Array.isArray(data) || data && typeof data === "object" || data && Object.getPrototypeOf(data) === Object.prototype) {
2018
2048
if (key in data)
2019
2049
return new Ok(new Some(data[key]));
2020
2050
return new Ok(new None);
2021
2051
}
2022
2022
-
return new Error(key_is_int ? "Indexable" : "Dict");
2052
2052
+
return new Error2(key_is_int ? "Indexable" : "Dict");
2023
2053
}
2024
2054
function list(data, decode, pushPath, index4, emptyList) {
2025
2055
if (!(data instanceof List || Array.isArray(data))) {
···
2042
2072
function int(data) {
2043
2073
if (Number.isInteger(data))
2044
2074
return new Ok(data);
2045
2045
-
return new Error(0);
2075
2075
+
return new Error2(0);
2046
2076
}
2047
2077
function string(data) {
2048
2078
if (typeof data === "string")
2049
2079
return new Ok(data);
2050
2050
-
return new Error("");
2080
2080
+
return new Error2("");
2051
2081
}
2052
2082
function is_null(data) {
2053
2083
return data === null || data === undefined;
···
2099
2129
static unwrap(value) {
2100
2130
return value instanceof PromiseLayer ? value.promise : value;
2101
2131
}
2132
2132
+
}
2133
2133
+
function resolve(value) {
2134
2134
+
return Promise.resolve(PromiseLayer.wrap(value));
2135
2135
+
}
2136
2136
+
function then_await(promise, fn) {
2137
2137
+
return promise.then((value) => fn(PromiseLayer.unwrap(value)));
2102
2138
}
2103
2139
function map_promise(promise, fn) {
2104
2140
return promise.then((value) => PromiseLayer.wrap(fn(PromiseLayer.unwrap(value))));
···
2127
2163
return result;
2128
2164
} else {
2129
2165
let error = result[0];
2130
2130
-
return new Error(fun(error));
2166
2166
+
return new Error2(fun(error));
2131
2167
}
2132
2168
}
2133
2169
function try$(result, fun) {
···
2142
2178
if (result instanceof Ok) {
2143
2179
return result;
2144
2180
} else {
2145
2145
-
return new Error(error);
2181
2181
+
return new Error2(error);
2146
2182
}
2147
2183
}
2184
2184
+
function values2(results) {
2185
2185
+
return filter_map(results, (result) => {
2186
2186
+
return result;
2187
2187
+
});
2188
2188
+
}
2148
2189
// build/dev/javascript/gleam_json/gleam_json_ffi.mjs
2190
2190
+
function identity2(x) {
2191
2191
+
return x;
2192
2192
+
}
2149
2193
function decode(string3) {
2150
2194
try {
2151
2195
const result = JSON.parse(string3);
2152
2196
return new Ok(result);
2153
2197
} catch (err) {
2154
2154
-
return new Error(getJsonDecodeError(err, string3));
2198
2198
+
return new Error2(getJsonDecodeError(err, string3));
2155
2199
}
2156
2200
}
2157
2201
function getJsonDecodeError(stdErr, json) {
···
2260
2304
function parse(json, decoder) {
2261
2305
return do_parse(json, decoder);
2262
2306
}
2307
2307
+
function string3(input) {
2308
2308
+
return identity2(input);
2309
2309
+
}
2263
2310
2264
2311
// build/dev/javascript/gleam_stdlib/gleam/uri.mjs
2265
2312
class Uri extends CustomType {
···
2312
2359
function path_segments(path) {
2313
2360
return remove_dot_segments(split2(path, "/"));
2314
2361
}
2362
2362
+
function to_string2(uri) {
2363
2363
+
let _block;
2364
2364
+
let $ = uri.fragment;
2365
2365
+
if ($ instanceof Some) {
2366
2366
+
let fragment = $[0];
2367
2367
+
_block = toList(["#", fragment]);
2368
2368
+
} else {
2369
2369
+
_block = toList([]);
2370
2370
+
}
2371
2371
+
let parts = _block;
2372
2372
+
let _block$1;
2373
2373
+
let $1 = uri.query;
2374
2374
+
if ($1 instanceof Some) {
2375
2375
+
let query = $1[0];
2376
2376
+
_block$1 = prepend("?", prepend(query, parts));
2377
2377
+
} else {
2378
2378
+
_block$1 = parts;
2379
2379
+
}
2380
2380
+
let parts$1 = _block$1;
2381
2381
+
let parts$2 = prepend(uri.path, parts$1);
2382
2382
+
let _block$2;
2383
2383
+
let $2 = uri.host;
2384
2384
+
let $3 = starts_with(uri.path, "/");
2385
2385
+
if ($2 instanceof Some && !$3) {
2386
2386
+
let host = $2[0];
2387
2387
+
if (host !== "") {
2388
2388
+
_block$2 = prepend("/", parts$2);
2389
2389
+
} else {
2390
2390
+
_block$2 = parts$2;
2391
2391
+
}
2392
2392
+
} else {
2393
2393
+
_block$2 = parts$2;
2394
2394
+
}
2395
2395
+
let parts$3 = _block$2;
2396
2396
+
let _block$3;
2397
2397
+
let $4 = uri.host;
2398
2398
+
let $5 = uri.port;
2399
2399
+
if ($4 instanceof Some && $5 instanceof Some) {
2400
2400
+
let port = $5[0];
2401
2401
+
_block$3 = prepend(":", prepend(to_string(port), parts$3));
2402
2402
+
} else {
2403
2403
+
_block$3 = parts$3;
2404
2404
+
}
2405
2405
+
let parts$4 = _block$3;
2406
2406
+
let _block$4;
2407
2407
+
let $6 = uri.scheme;
2408
2408
+
let $7 = uri.userinfo;
2409
2409
+
let $8 = uri.host;
2410
2410
+
if ($6 instanceof Some) {
2411
2411
+
if ($7 instanceof Some) {
2412
2412
+
if ($8 instanceof Some) {
2413
2413
+
let s = $6[0];
2414
2414
+
let u = $7[0];
2415
2415
+
let h = $8[0];
2416
2416
+
_block$4 = prepend(s, prepend("://", prepend(u, prepend("@", prepend(h, parts$4)))));
2417
2417
+
} else {
2418
2418
+
let s = $6[0];
2419
2419
+
_block$4 = prepend(s, prepend(":", parts$4));
2420
2420
+
}
2421
2421
+
} else if ($8 instanceof Some) {
2422
2422
+
let s = $6[0];
2423
2423
+
let h = $8[0];
2424
2424
+
_block$4 = prepend(s, prepend("://", prepend(h, parts$4)));
2425
2425
+
} else {
2426
2426
+
let s = $6[0];
2427
2427
+
_block$4 = prepend(s, prepend(":", parts$4));
2428
2428
+
}
2429
2429
+
} else if ($7 instanceof None && $8 instanceof Some) {
2430
2430
+
let h = $8[0];
2431
2431
+
_block$4 = prepend("//", prepend(h, parts$4));
2432
2432
+
} else {
2433
2433
+
_block$4 = parts$4;
2434
2434
+
}
2435
2435
+
let parts$5 = _block$4;
2436
2436
+
return concat2(parts$5);
2437
2437
+
}
2315
2438
// build/dev/javascript/gleam_stdlib/gleam/bool.mjs
2316
2439
function guard(requirement, consequence, alternative) {
2317
2440
if (requirement) {
···
2389
2512
this.message = message;
2390
2513
}
2391
2514
}
2515
2515
+
class Never extends CustomType {
2516
2516
+
constructor(kind) {
2517
2517
+
super();
2518
2518
+
this.kind = kind;
2519
2519
+
}
2520
2520
+
}
2521
2521
+
class Always extends CustomType {
2522
2522
+
constructor(kind) {
2523
2523
+
super();
2524
2524
+
this.kind = kind;
2525
2525
+
}
2526
2526
+
}
2392
2527
function merge(loop$attributes, loop$merged) {
2393
2528
while (true) {
2394
2529
let attributes = loop$attributes;
···
2519
2654
return new Attribute(attribute_kind, name, value);
2520
2655
}
2521
2656
var property_kind = 1;
2657
2657
+
function property(name, value) {
2658
2658
+
return new Property(property_kind, name, value);
2659
2659
+
}
2522
2660
var event_kind = 2;
2661
2661
+
function event(name, handler, include, prevent_default, stop_propagation, immediate, debounce, throttle) {
2662
2662
+
return new Event2(event_kind, name, handler, include, prevent_default, stop_propagation, immediate, debounce, throttle);
2663
2663
+
}
2523
2664
var never_kind = 0;
2665
2665
+
var never = /* @__PURE__ */ new Never(never_kind);
2524
2666
var always_kind = 2;
2667
2667
+
var always = /* @__PURE__ */ new Always(always_kind);
2525
2668
2526
2669
// build/dev/javascript/lustre/lustre/attribute.mjs
2527
2670
function attribute2(name, value) {
2528
2671
return attribute(name, value);
2529
2672
}
2673
2673
+
function property2(name, value) {
2674
2674
+
return property(name, value);
2675
2675
+
}
2530
2676
function class$(name) {
2531
2677
return attribute2("class", name);
2532
2678
}
2679
2679
+
function id(value) {
2680
2680
+
return attribute2("id", value);
2681
2681
+
}
2533
2682
function href(url) {
2534
2683
return attribute2("href", url);
2535
2684
}
···
2539
2688
function src(url) {
2540
2689
return attribute2("src", url);
2541
2690
}
2691
2691
+
function accept(values3) {
2692
2692
+
return attribute2("accept", join(values3, ","));
2693
2693
+
}
2694
2694
+
function placeholder(text) {
2695
2695
+
return attribute2("placeholder", text);
2696
2696
+
}
2697
2697
+
function type_(control_type) {
2698
2698
+
return attribute2("type", control_type);
2699
2699
+
}
2700
2700
+
function value(control_value) {
2701
2701
+
return attribute2("value", control_value);
2702
2702
+
}
2542
2703
2543
2704
// build/dev/javascript/lustre/lustre/effect.mjs
2544
2705
class Effect extends CustomType {
···
2560
2721
this.provide = provide;
2561
2722
}
2562
2723
}
2724
2724
+
function do_comap_select(_, _1, _2) {
2725
2725
+
return;
2726
2726
+
}
2727
2727
+
function do_comap_actions(actions, f) {
2728
2728
+
return new Actions((msg) => {
2729
2729
+
return actions.dispatch(f(msg));
2730
2730
+
}, actions.emit, (selector) => {
2731
2731
+
return do_comap_select(actions, selector, f);
2732
2732
+
}, actions.root, actions.provide);
2733
2733
+
}
2734
2734
+
function do_map(effects, f) {
2735
2735
+
return map(effects, (effect) => {
2736
2736
+
return (actions) => {
2737
2737
+
return effect(do_comap_actions(actions, f));
2738
2738
+
};
2739
2739
+
});
2740
2740
+
}
2741
2741
+
function map5(effect, f) {
2742
2742
+
return new Effect(do_map(effect.synchronous, f), do_map(effect.before_paint, f), do_map(effect.after_paint, f));
2743
2743
+
}
2563
2744
function perform(effect, dispatch, emit, select, root2, provide) {
2564
2745
let actions = new Actions(dispatch, emit, select, root2, provide);
2565
2746
return each(effect.synchronous, (run2) => {
···
2587
2768
function empty2() {
2588
2769
return null;
2589
2770
}
2590
2590
-
function get(map5, key) {
2591
2591
-
const value = map5?.get(key);
2592
2592
-
if (value != null) {
2593
2593
-
return new Ok(value);
2771
2771
+
function get(map6, key) {
2772
2772
+
const value2 = map6?.get(key);
2773
2773
+
if (value2 != null) {
2774
2774
+
return new Ok(value2);
2594
2775
} else {
2595
2595
-
return new Error(undefined);
2776
2776
+
return new Error2(undefined);
2596
2777
}
2597
2778
}
2598
2598
-
function has_key2(map5, key) {
2599
2599
-
return map5 && map5.has(key);
2779
2779
+
function has_key2(map6, key) {
2780
2780
+
return map6 && map6.has(key);
2600
2781
}
2601
2601
-
function insert2(map5, key, value) {
2602
2602
-
map5 ??= new Map;
2603
2603
-
map5.set(key, value);
2604
2604
-
return map5;
2782
2782
+
function insert2(map6, key, value2) {
2783
2783
+
map6 ??= new Map;
2784
2784
+
map6.set(key, value2);
2785
2785
+
return map6;
2605
2786
}
2606
2606
-
function remove(map5, key) {
2607
2607
-
map5?.delete(key);
2608
2608
-
return map5;
2787
2787
+
function remove(map6, key) {
2788
2788
+
map6?.delete(key);
2789
2789
+
return map6;
2609
2790
}
2610
2791
2611
2792
// build/dev/javascript/lustre/lustre/vdom/path.mjs
···
2679
2860
}
2680
2861
}
2681
2862
}
2682
2682
-
function to_string2(path) {
2863
2863
+
function to_string3(path) {
2683
2864
return do_to_string(path, toList([]));
2684
2865
}
2685
2866
function matches(path, candidates) {
2686
2867
if (candidates instanceof Empty) {
2687
2868
return false;
2688
2869
} else {
2689
2689
-
return do_matches(to_string2(path), candidates);
2870
2870
+
return do_matches(to_string3(path), candidates);
2690
2871
}
2691
2872
}
2692
2873
var separator_event = `
2693
2874
`;
2694
2694
-
function event(path, event2) {
2695
2695
-
return do_to_string(path, toList([separator_event, event2]));
2875
2875
+
function event2(path, event3) {
2876
2876
+
return do_to_string(path, toList([separator_event, event3]));
2696
2877
}
2697
2878
2698
2879
// build/dev/javascript/lustre/lustre/vdom/vnode.mjs
···
2848
3029
return false;
2849
3030
}
2850
3031
while (index5--) {
2851
2851
-
const property2 = properties[index5];
2852
2852
-
if (!Object.hasOwn(b, property2)) {
3032
3032
+
const property3 = properties[index5];
3033
3033
+
if (!Object.hasOwn(b, property3)) {
2853
3034
return false;
2854
3035
}
2855
2855
-
if (!isEqual2(a[property2], b[property2])) {
3036
3036
+
if (!isEqual2(a[property3], b[property3])) {
2856
3037
return false;
2857
3038
}
2858
3039
}
···
2875
3056
return new Events(events.handlers, events.next_dispatched_paths, empty_list);
2876
3057
}
2877
3058
function do_remove_event(handlers, path, name) {
2878
2878
-
return remove(handlers, event(path, name));
3059
3059
+
return remove(handlers, event2(path, name));
2879
3060
}
2880
3061
function remove_event(events, path, name) {
2881
3062
let handlers = do_remove_event(events.handlers, path, name);
···
2891
3072
}
2892
3073
});
2893
3074
}
2894
2894
-
function handle(events, path, name, event2) {
3075
3075
+
function handle(events, path, name, event3) {
2895
3076
let next_dispatched_paths = prepend(path, events.next_dispatched_paths);
2896
3077
let events$1 = new Events(events.handlers, events.dispatched_paths, next_dispatched_paths);
2897
3078
let $ = get(events$1.handlers, path + separator_event + name);
2898
3079
if ($ instanceof Ok) {
2899
3080
let handler = $[0];
2900
2900
-
return [events$1, run(event2, handler)];
3081
3081
+
return [events$1, run(event3, handler)];
2901
3082
} else {
2902
2902
-
return [events$1, new Error(toList([]))];
3083
3083
+
return [events$1, new Error2(toList([]))];
2903
3084
}
2904
3085
}
2905
3086
function has_dispatched_events(events, path) {
2906
3087
return matches(path, events.dispatched_paths);
2907
3088
}
2908
3089
function do_add_event(handlers, mapper, path, name, handler) {
2909
2909
-
return insert2(handlers, event(path, name), map2(handler, (handler2) => {
3090
3090
+
return insert2(handlers, event2(path, name), map2(handler, (handler2) => {
2910
3091
return new Handler(handler2.prevent_default, handler2.stop_propagation, identity3(mapper)(handler2.message));
2911
3092
}));
2912
3093
}
···
3049
3230
function none2() {
3050
3231
return text("", identity3, "");
3051
3232
}
3233
3233
+
function map6(element3, f) {
3234
3234
+
let mapper = identity3(compose_mapper(identity3(f), element3.mapper));
3235
3235
+
if (element3 instanceof Fragment) {
3236
3236
+
let children = element3.children;
3237
3237
+
let keyed_children = element3.keyed_children;
3238
3238
+
return new Fragment(element3.kind, element3.key, mapper, identity3(children), identity3(keyed_children));
3239
3239
+
} else if (element3 instanceof Element2) {
3240
3240
+
let attributes = element3.attributes;
3241
3241
+
let children = element3.children;
3242
3242
+
let keyed_children = element3.keyed_children;
3243
3243
+
return new Element2(element3.kind, element3.key, mapper, element3.namespace, element3.tag, identity3(attributes), identity3(children), identity3(keyed_children), element3.self_closing, element3.void);
3244
3244
+
} else if (element3 instanceof Text) {
3245
3245
+
return identity3(element3);
3246
3246
+
} else {
3247
3247
+
let attributes = element3.attributes;
3248
3248
+
return new UnsafeInnerHtml(element3.kind, element3.key, mapper, element3.namespace, element3.tag, identity3(attributes), element3.inner_html);
3249
3249
+
}
3250
3250
+
}
3052
3251
3053
3252
// build/dev/javascript/lustre/lustre/element/html.mjs
3054
3253
function text3(content) {
···
3080
3279
}
3081
3280
function button(attrs, children) {
3082
3281
return element2("button", attrs, children);
3282
3282
+
}
3283
3283
+
function form(attrs, children) {
3284
3284
+
return element2("form", attrs, children);
3285
3285
+
}
3286
3286
+
function input(attrs) {
3287
3287
+
return element2("input", attrs, empty_list);
3288
3288
+
}
3289
3289
+
function label(attrs, children) {
3290
3290
+
return element2("label", attrs, children);
3291
3291
+
}
3292
3292
+
function textarea(attrs, content) {
3293
3293
+
return element2("textarea", prepend(property2("value", string3(content)), attrs), toList([text2(content)]));
3083
3294
}
3084
3295
3085
3296
// build/dev/javascript/lustre/lustre/vdom/patch.mjs
···
3207
3418
}
3208
3419
}
3209
3420
class Provide extends CustomType {
3210
3210
-
constructor(kind, key, value) {
3421
3421
+
constructor(kind, key, value2) {
3211
3422
super();
3212
3423
this.kind = kind;
3213
3424
this.key = key;
3214
3214
-
this.value = value;
3425
3425
+
this.value = value2;
3215
3426
}
3216
3427
}
3217
3428
class Batch extends CustomType {
···
3222
3433
}
3223
3434
}
3224
3435
class AttributeChanged extends CustomType {
3225
3225
-
constructor(kind, name, value) {
3436
3436
+
constructor(kind, name, value2) {
3226
3437
super();
3227
3438
this.kind = kind;
3228
3439
this.name = name;
3229
3229
-
this.value = value;
3440
3440
+
this.value = value2;
3230
3441
}
3231
3442
}
3232
3443
class PropertyChanged extends CustomType {
3233
3233
-
constructor(kind, name, value) {
3444
3444
+
constructor(kind, name, value2) {
3234
3445
super();
3235
3446
this.kind = kind;
3236
3447
this.name = name;
3237
3237
-
this.value = value;
3448
3448
+
this.value = value2;
3238
3449
}
3239
3450
}
3240
3451
class EventFired extends CustomType {
3241
3241
-
constructor(kind, path, name, event2) {
3452
3452
+
constructor(kind, path, name, event3) {
3242
3453
super();
3243
3454
this.kind = kind;
3244
3455
this.path = path;
3245
3456
this.name = name;
3246
3246
-
this.event = event2;
3457
3457
+
this.event = event3;
3247
3458
}
3248
3459
}
3249
3460
class ContextProvided extends CustomType {
3250
3250
-
constructor(kind, key, value) {
3461
3461
+
constructor(kind, key, value2) {
3251
3462
super();
3252
3463
this.kind = kind;
3253
3464
this.key = key;
3254
3254
-
this.value = value;
3465
3465
+
this.value = value2;
3255
3466
}
3256
3467
}
3257
3468
var mount_kind = 0;
···
3267
3478
return new Emit(emit_kind, name, data);
3268
3479
}
3269
3480
var provide_kind = 3;
3270
3270
-
function provide(key, value) {
3271
3271
-
return new Provide(provide_kind, key, value);
3481
3481
+
function provide(key, value2) {
3482
3482
+
return new Provide(provide_kind, key, value2);
3272
3483
}
3273
3484
3274
3485
// build/dev/javascript/lustre/lustre/vdom/diff.mjs
···
4074
4285
}
4075
4286
4076
4287
// build/dev/javascript/lustre/lustre/vdom/reconciler.ffi.mjs
4077
4077
-
var setTimeout = globalThis.setTimeout;
4078
4078
-
var clearTimeout = globalThis.clearTimeout;
4288
4288
+
var setTimeout2 = globalThis.setTimeout;
4289
4289
+
var clearTimeout2 = globalThis.clearTimeout;
4079
4290
var createElementNS = (ns, name) => document2().createElementNS(ns, name);
4080
4291
var createTextNode = (data) => document2().createTextNode(data);
4081
4292
var createDocumentFragment = () => document2().createDocumentFragment();
···
4083
4294
var moveBefore = SUPPORTS_MOVE_BEFORE ? (parent, node, reference) => parent.moveBefore(node, reference) : insertBefore;
4084
4295
var removeChild = (parent, child) => parent.removeChild(child);
4085
4296
var getAttribute = (node, name) => node.getAttribute(name);
4086
4086
-
var setAttribute = (node, name, value) => node.setAttribute(name, value);
4297
4297
+
var setAttribute = (node, name, value2) => node.setAttribute(name, value2);
4087
4298
var removeAttribute = (node, name) => node.removeAttribute(name);
4088
4299
var addEventListener = (node, name, handler, options) => node.addEventListener(name, handler, options);
4089
4300
var removeEventListener = (node, name, handler) => node.removeEventListener(name, handler);
···
4262
4473
const { debouncers, children } = node;
4263
4474
for (const { timeout } of debouncers.values()) {
4264
4475
if (timeout) {
4265
4265
-
clearTimeout(timeout);
4476
4476
+
clearTimeout2(timeout);
4266
4477
}
4267
4478
}
4268
4479
debouncers.clear();
···
4336
4547
const {
4337
4548
kind,
4338
4549
name,
4339
4339
-
value,
4550
4550
+
value: value2,
4340
4551
prevent_default: prevent,
4341
4552
debounce: debounceDelay,
4342
4553
throttle: throttleDelay
4343
4554
} = attribute3;
4344
4555
switch (kind) {
4345
4556
case attribute_kind: {
4346
4346
-
const valueOrDefault = value ?? "";
4557
4557
+
const valueOrDefault = value2 ?? "";
4347
4558
if (name === "virtual:defaultValue") {
4348
4559
node.defaultValue = valueOrDefault;
4349
4560
return;
···
4355
4566
break;
4356
4567
}
4357
4568
case property_kind:
4358
4358
-
node[name] = value;
4569
4569
+
node[name] = value2;
4359
4570
break;
4360
4571
case event_kind: {
4361
4572
if (handlers.has(name)) {
···
4365
4576
addEventListener(node, name, handleEvent, { passive });
4366
4577
this.#updateDebounceThrottle(throttles, name, throttleDelay);
4367
4578
this.#updateDebounceThrottle(debouncers, name, debounceDelay);
4368
4368
-
handlers.set(name, (event2) => this.#handleEvent(attribute3, event2));
4579
4579
+
handlers.set(name, (event3) => this.#handleEvent(attribute3, event3));
4369
4580
break;
4370
4581
}
4371
4582
}
4372
4583
}
4373
4373
-
#updateDebounceThrottle(map5, name, delay) {
4374
4374
-
const debounceOrThrottle = map5.get(name);
4584
4584
+
#updateDebounceThrottle(map7, name, delay) {
4585
4585
+
const debounceOrThrottle = map7.get(name);
4375
4586
if (delay > 0) {
4376
4587
if (debounceOrThrottle) {
4377
4588
debounceOrThrottle.delay = delay;
4378
4589
} else {
4379
4379
-
map5.set(name, { delay });
4590
4590
+
map7.set(name, { delay });
4380
4591
}
4381
4592
} else if (debounceOrThrottle) {
4382
4593
const { timeout } = debounceOrThrottle;
4383
4594
if (timeout) {
4384
4384
-
clearTimeout(timeout);
4595
4595
+
clearTimeout2(timeout);
4385
4596
}
4386
4386
-
map5.delete(name);
4597
4597
+
map7.delete(name);
4387
4598
}
4388
4599
}
4389
4389
-
#handleEvent(attribute3, event2) {
4390
4390
-
const { currentTarget, type } = event2;
4600
4600
+
#handleEvent(attribute3, event3) {
4601
4601
+
const { currentTarget, type } = event3;
4391
4602
const { debouncers, throttles } = currentTarget[meta];
4392
4603
const path = getPath(currentTarget);
4393
4604
const {
···
4397
4608
immediate
4398
4609
} = attribute3;
4399
4610
if (prevent.kind === always_kind)
4400
4400
-
event2.preventDefault();
4611
4611
+
event3.preventDefault();
4401
4612
if (stop.kind === always_kind)
4402
4402
-
event2.stopPropagation();
4613
4613
+
event3.stopPropagation();
4403
4614
if (type === "submit") {
4404
4404
-
event2.detail ??= {};
4405
4405
-
event2.detail.formData = [
4406
4406
-
...new FormData(event2.target, event2.submitter).entries()
4615
4615
+
event3.detail ??= {};
4616
4616
+
event3.detail.formData = [
4617
4617
+
...new FormData(event3.target, event3.submitter).entries()
4407
4618
];
4408
4619
}
4409
4409
-
const data = this.#useServerEvents ? createServerEvent(event2, include ?? []) : event2;
4620
4620
+
const data = this.#useServerEvents ? createServerEvent(event3, include ?? []) : event3;
4410
4621
const throttle = throttles.get(type);
4411
4622
if (throttle) {
4412
4623
const now = Date.now();
4413
4624
const last = throttle.last || 0;
4414
4625
if (now > last + throttle.delay) {
4415
4626
throttle.last = now;
4416
4416
-
throttle.lastEvent = event2;
4627
4627
+
throttle.lastEvent = event3;
4417
4628
this.#dispatch(data, path, type, immediate);
4418
4629
}
4419
4630
}
4420
4631
const debounce = debouncers.get(type);
4421
4632
if (debounce) {
4422
4422
-
clearTimeout(debounce.timeout);
4423
4423
-
debounce.timeout = setTimeout(() => {
4424
4424
-
if (event2 === throttles.get(type)?.lastEvent)
4633
4633
+
clearTimeout2(debounce.timeout);
4634
4634
+
debounce.timeout = setTimeout2(() => {
4635
4635
+
if (event3 === throttles.get(type)?.lastEvent)
4425
4636
return;
4426
4637
this.#dispatch(data, path, type, immediate);
4427
4638
}, debounce.delay);
···
4442
4653
}
4443
4654
}
4444
4655
};
4445
4445
-
var handleEvent = (event2) => {
4446
4446
-
const { currentTarget, type } = event2;
4656
4656
+
var handleEvent = (event3) => {
4657
4657
+
const { currentTarget, type } = event3;
4447
4658
const handler = currentTarget[meta].handlers.get(type);
4448
4448
-
handler(event2);
4659
4659
+
handler(event3);
4449
4660
};
4450
4450
-
var createServerEvent = (event2, include = []) => {
4661
4661
+
var createServerEvent = (event3, include = []) => {
4451
4662
const data = {};
4452
4452
-
if (event2.type === "input" || event2.type === "change") {
4663
4663
+
if (event3.type === "input" || event3.type === "change") {
4453
4664
include.push("target.value");
4454
4665
}
4455
4455
-
if (event2.type === "submit") {
4666
4666
+
if (event3.type === "submit") {
4456
4667
include.push("detail.formData");
4457
4668
}
4458
4669
for (const property3 of include) {
4459
4670
const path = property3.split(".");
4460
4460
-
for (let i = 0, input = event2, output = data;i < path.length; i++) {
4671
4671
+
for (let i = 0, input2 = event3, output = data;i < path.length; i++) {
4461
4672
if (i === path.length - 1) {
4462
4462
-
output[path[i]] = input[path[i]];
4673
4673
+
output[path[i]] = input2[path[i]];
4463
4674
break;
4464
4675
}
4465
4676
output = output[path[i]] ??= {};
4466
4466
-
input = input[path[i]];
4677
4677
+
input2 = input2[path[i]];
4467
4678
}
4468
4679
}
4469
4680
return data;
···
4480
4691
};
4481
4692
var syncedAttribute = (name) => {
4482
4693
return {
4483
4483
-
added(node, value) {
4484
4484
-
node[name] = value;
4694
4694
+
added(node, value2) {
4695
4695
+
node[name] = value2;
4485
4696
}
4486
4697
};
4487
4698
};
···
4571
4782
virtualisableRootChildren += 1;
4572
4783
}
4573
4784
if (virtualisableRootChildren === 0) {
4574
4574
-
const placeholder = document2().createTextNode("");
4575
4575
-
insertMetadataChild(text_kind, rootMeta, placeholder, 0, null);
4576
4576
-
root3.replaceChildren(placeholder);
4785
4785
+
const placeholder2 = document2().createTextNode("");
4786
4786
+
insertMetadataChild(text_kind, rootMeta, placeholder2, 0, null);
4787
4787
+
root3.replaceChildren(placeholder2);
4577
4788
return none2();
4578
4789
}
4579
4790
if (virtualisableRootChildren === 1) {
···
4623
4834
};
4624
4835
var INPUT_ELEMENTS = ["input", "select", "textarea"];
4625
4836
var virtualiseInputEvents = (tag, node) => {
4626
4626
-
const value = node.value;
4837
4837
+
const value2 = node.value;
4627
4838
const checked = node.checked;
4628
4839
if (tag === "input" && node.type === "checkbox" && !checked)
4629
4840
return;
4630
4841
if (tag === "input" && node.type === "radio" && !checked)
4631
4842
return;
4632
4632
-
if (node.type !== "checkbox" && node.type !== "radio" && !value)
4843
4843
+
if (node.type !== "checkbox" && node.type !== "radio" && !value2)
4633
4844
return;
4634
4845
queueMicrotask(() => {
4635
4635
-
node.value = value;
4846
4846
+
node.value = value2;
4636
4847
node.checked = checked;
4637
4848
node.dispatchEvent(new Event("input", { bubbles: true }));
4638
4849
node.dispatchEvent(new Event("change", { bubbles: true }));
···
4685
4896
};
4686
4897
var virtualiseAttribute = (attr) => {
4687
4898
const name = attr.localName;
4688
4688
-
const value = attr.value;
4689
4689
-
return attribute2(name, value);
4899
4899
+
const value2 = attr.value;
4900
4900
+
return attribute2(name, value2);
4690
4901
};
4691
4902
4692
4903
// build/dev/javascript/lustre/lustre/runtime/client/runtime.ffi.mjs
···
4697
4908
this.#model = model;
4698
4909
this.#view = view;
4699
4910
this.#update = update2;
4700
4700
-
this.root.addEventListener("context-request", (event2) => {
4701
4701
-
if (!(event2.context && event2.callback))
4911
4911
+
this.root.addEventListener("context-request", (event3) => {
4912
4912
+
if (!(event3.context && event3.callback))
4702
4913
return;
4703
4703
-
if (!this.#contexts.has(event2.context))
4914
4914
+
if (!this.#contexts.has(event3.context))
4704
4915
return;
4705
4705
-
event2.stopImmediatePropagation();
4706
4706
-
const context = this.#contexts.get(event2.context);
4707
4707
-
if (event2.subscribe) {
4916
4916
+
event3.stopImmediatePropagation();
4917
4917
+
const context = this.#contexts.get(event3.context);
4918
4918
+
if (event3.subscribe) {
4708
4919
const unsubscribe = () => {
4709
4709
-
context.subscribers = context.subscribers.filter((subscriber) => subscriber !== event2.callback);
4920
4920
+
context.subscribers = context.subscribers.filter((subscriber) => subscriber !== event3.callback);
4710
4921
};
4711
4711
-
context.subscribers.push([event2.callback, unsubscribe]);
4712
4712
-
event2.callback(context.value, unsubscribe);
4922
4922
+
context.subscribers.push([event3.callback, unsubscribe]);
4923
4923
+
event3.callback(context.value, unsubscribe);
4713
4924
} else {
4714
4714
-
event2.callback(context.value);
4925
4925
+
event3.callback(context.value);
4715
4926
}
4716
4927
});
4717
4717
-
this.#reconciler = new Reconciler(this.root, (event2, path, name) => {
4718
4718
-
const [events, result] = handle(this.#events, path, name, event2);
4928
4928
+
this.#reconciler = new Reconciler(this.root, (event3, path, name) => {
4929
4929
+
const [events, result] = handle(this.#events, path, name, event3);
4719
4930
this.#events = events;
4720
4931
if (result.isOk()) {
4721
4932
const handler = result[0];
4722
4933
if (handler.stop_propagation)
4723
4723
-
event2.stopPropagation();
4934
4934
+
event3.stopPropagation();
4724
4935
if (handler.prevent_default)
4725
4725
-
event2.preventDefault();
4936
4936
+
event3.preventDefault();
4726
4937
this.dispatch(handler.message, false);
4727
4938
}
4728
4939
});
···
4742
4953
this.#tick(effects);
4743
4954
}
4744
4955
}
4745
4745
-
emit(event2, data) {
4956
4956
+
emit(event3, data) {
4746
4957
const target = this.root.host ?? this.root;
4747
4747
-
target.dispatchEvent(new CustomEvent(event2, {
4958
4958
+
target.dispatchEvent(new CustomEvent(event3, {
4748
4959
detail: data,
4749
4960
bubbles: true,
4750
4961
composed: true
4751
4962
}));
4752
4963
}
4753
4753
-
provide(key, value) {
4964
4964
+
provide(key, value2) {
4754
4965
if (!this.#contexts.has(key)) {
4755
4755
-
this.#contexts.set(key, { value, subscribers: [] });
4966
4966
+
this.#contexts.set(key, { value: value2, subscribers: [] });
4756
4967
} else {
4757
4968
const context = this.#contexts.get(key);
4758
4758
-
context.value = value;
4969
4969
+
context.value = value2;
4759
4970
for (let i = context.subscribers.length - 1;i >= 0; i--) {
4760
4971
const [subscriber, unsubscribe] = context.subscribers[i];
4761
4972
if (!subscriber) {
4762
4973
context.subscribers.splice(i, 1);
4763
4974
continue;
4764
4975
}
4765
4765
-
subscriber(value, unsubscribe);
4976
4976
+
subscriber(value2, unsubscribe);
4766
4977
}
4767
4978
}
4768
4979
}
···
4781
4992
#shouldFlush = false;
4782
4993
#actions = {
4783
4994
dispatch: (msg, immediate) => this.dispatch(msg, immediate),
4784
4784
-
emit: (event2, data) => this.emit(event2, data),
4995
4995
+
emit: (event3, data) => this.emit(event3, data),
4785
4996
select: () => {},
4786
4997
root: () => this.root,
4787
4787
-
provide: (key, value) => this.provide(key, value)
4998
4998
+
provide: (key, value2) => this.provide(key, value2)
4788
4999
};
4789
5000
#tick(effects) {
4790
5001
this.#shouldQueue = true;
···
4885
5096
}
4886
5097
}
4887
5098
class EffectProvidedValue extends CustomType {
4888
4888
-
constructor(key, value) {
5099
5099
+
constructor(key, value2) {
4889
5100
super();
4890
5101
this.key = key;
4891
4891
-
this.value = value;
5102
5102
+
this.value = value2;
4892
5103
}
4893
5104
}
4894
5105
class SystemRequestedShutdown extends CustomType {
···
4940
5151
dispatch(msg, immediate) {
4941
5152
this.#runtime.dispatch(msg, immediate);
4942
5153
}
4943
4943
-
emit(event2, data) {
4944
4944
-
this.#runtime.emit(event2, data);
5154
5154
+
emit(event3, data) {
5155
5155
+
this.#runtime.emit(event3, data);
4945
5156
}
4946
5157
}
4947
5158
var start = ({ init, update: update2, view }, selector, flags) => {
4948
5159
if (!is_browser())
4949
4949
-
return new Error(new NotABrowser);
5160
5160
+
return new Error2(new NotABrowser);
4950
5161
const root3 = selector instanceof HTMLElement ? selector : document2().querySelector(selector);
4951
5162
if (!root3)
4952
4952
-
return new Error(new ElementNotFound(selector));
5163
5163
+
return new Error2(new ElementNotFound(selector));
4953
5164
return new Ok(new Spa(root3, init(flags), update2, view));
4954
5165
};
4955
5166
···
5012
5223
return;
5013
5224
}
5014
5225
case EffectProvidedValue: {
5015
5015
-
const { key, value } = msg;
5016
5016
-
this.#providers = insert(this.#providers, key, value);
5017
5017
-
this.broadcast(provide(key, value));
5226
5226
+
const { key, value: value2 } = msg;
5227
5227
+
this.#providers = insert(this.#providers, key, value2);
5228
5228
+
this.broadcast(provide(key, value2));
5018
5229
return;
5019
5230
}
5020
5231
case SystemRequestedShutdown: {
···
5056
5267
return this.#view(this.#model);
5057
5268
}
5058
5269
case AttributeChanged: {
5059
5059
-
const { name, value } = msg;
5060
5060
-
const result = this.#handle_attribute_change(name, value);
5061
5061
-
if (result instanceof Error) {
5270
5270
+
const { name, value: value2 } = msg;
5271
5271
+
const result = this.#handle_attribute_change(name, value2);
5272
5272
+
if (result instanceof Error2) {
5062
5273
return this.#vdom;
5063
5274
} else {
5064
5275
const [model, effects] = this.#update(this.#model, result[0]);
···
5068
5279
}
5069
5280
}
5070
5281
case PropertyChanged: {
5071
5071
-
const { name, value } = msg;
5072
5072
-
const result = this.#handle_properties_change(name, value);
5073
5073
-
if (result instanceof Error) {
5282
5282
+
const { name, value: value2 } = msg;
5283
5283
+
const result = this.#handle_properties_change(name, value2);
5284
5284
+
if (result instanceof Error2) {
5074
5285
return this.#vdom;
5075
5286
} else {
5076
5287
const [model, effects] = this.#update(this.#model, result[0]);
···
5080
5291
}
5081
5292
}
5082
5293
case EventFired: {
5083
5083
-
const { path, name, event: event2 } = msg;
5084
5084
-
const [events, result] = handle(this.#events, path, name, event2);
5294
5294
+
const { path, name, event: event3 } = msg;
5295
5295
+
const [events, result] = handle(this.#events, path, name, event3);
5085
5296
this.#events = events;
5086
5086
-
if (result instanceof Error) {
5297
5297
+
if (result instanceof Error2) {
5087
5298
return this.#vdom;
5088
5299
} else {
5089
5300
const [model, effects] = this.#update(this.#model, result[0].message);
···
5093
5304
}
5094
5305
}
5095
5306
case ContextProvided: {
5096
5096
-
const { key, value } = msg;
5307
5307
+
const { key, value: value2 } = msg;
5097
5308
let result = map_get(this.#config.contexts, key);
5098
5098
-
if (result instanceof Error) {
5309
5309
+
if (result instanceof Error2) {
5099
5310
return this.#vdom;
5100
5311
}
5101
5101
-
result = run(value, result[0]);
5102
5102
-
if (result instanceof Error) {
5312
5312
+
result = run(value2, result[0]);
5313
5313
+
if (result instanceof Error2) {
5103
5314
return this.#vdom;
5104
5315
}
5105
5316
const [model, effects] = this.#update(this.#model, result[0]);
···
5109
5320
}
5110
5321
}
5111
5322
}
5112
5112
-
#handle_attribute_change(name, value) {
5323
5323
+
#handle_attribute_change(name, value2) {
5113
5324
const result = map_get(this.#config.attributes, name);
5114
5325
switch (result.constructor) {
5115
5326
case Ok:
5116
5116
-
return result[0](value);
5117
5117
-
case Error:
5118
5118
-
return new Error(undefined);
5327
5327
+
return result[0](value2);
5328
5328
+
case Error2:
5329
5329
+
return new Error2(undefined);
5119
5330
}
5120
5331
}
5121
5121
-
#handle_properties_change(name, value) {
5332
5332
+
#handle_properties_change(name, value2) {
5122
5333
const result = map_get(this.#config.properties, name);
5123
5334
switch (result.constructor) {
5124
5335
case Ok:
5125
5125
-
return result[0](value);
5126
5126
-
case Error:
5127
5127
-
return new Error(undefined);
5336
5336
+
return result[0](value2);
5337
5337
+
case Error2:
5338
5338
+
return new Error2(undefined);
5128
5339
}
5129
5340
}
5130
5341
#handle_effect(effect) {
···
5136
5347
const internals = () => {
5137
5348
return;
5138
5349
};
5139
5139
-
const provide2 = (key, value) => this.send(new EffectProvidedValue(key, value));
5350
5350
+
const provide2 = (key, value2) => this.send(new EffectProvidedValue(key, value2));
5140
5351
globalThis.queueMicrotask(() => {
5141
5352
perform(effect, dispatch, emit2, select, internals, provide2);
5142
5353
});
···
5165
5376
return new App(init, update2, view, new$6(empty_list));
5166
5377
}
5167
5378
function start3(app, selector, start_args) {
5168
5168
-
return guard(!is_browser(), new Error(new NotABrowser), () => {
5379
5379
+
return guard(!is_browser(), new Error2(new NotABrowser), () => {
5169
5380
return start(app, selector, start_args);
5170
5381
});
5382
5382
+
}
5383
5383
+
5384
5384
+
// build/dev/javascript/gleam_stdlib/gleam/pair.mjs
5385
5385
+
function new$7(first2, second) {
5386
5386
+
return [first2, second];
5171
5387
}
5172
5388
// build/dev/javascript/modem/modem.ffi.mjs
5173
5389
var defaults = {
···
5177
5393
var initial_location = globalThis?.window?.location?.href;
5178
5394
var do_initial_uri = () => {
5179
5395
if (!initial_location) {
5180
5180
-
return new Error(undefined);
5396
5396
+
return new Error2(undefined);
5181
5397
} else {
5182
5398
return new Ok(uri_from_url(new URL(initial_location)));
5183
5399
}
5184
5400
};
5185
5401
var do_init = (dispatch, options = defaults) => {
5186
5186
-
document.addEventListener("click", (event2) => {
5187
5187
-
const a2 = find_anchor(event2.target);
5402
5402
+
document.addEventListener("click", (event3) => {
5403
5403
+
const a2 = find_anchor(event3.target);
5188
5404
if (!a2)
5189
5405
return;
5190
5406
try {
···
5195
5411
return;
5196
5412
if (!options.handle_internal_links && !is_external)
5197
5413
return;
5198
5198
-
event2.preventDefault();
5414
5414
+
event3.preventDefault();
5199
5415
if (!is_external) {
5200
5416
window.history.pushState({}, "", a2.href);
5201
5417
window.requestAnimationFrame(() => {
···
5231
5447
dispatch(detail);
5232
5448
});
5233
5449
};
5450
5450
+
var do_push = (uri) => {
5451
5451
+
window.history.pushState({}, "", to_string2(uri));
5452
5452
+
window.requestAnimationFrame(() => {
5453
5453
+
if (uri.fragment[0]) {
5454
5454
+
document.getElementById(uri.fragment[0])?.scrollIntoView();
5455
5455
+
}
5456
5456
+
});
5457
5457
+
window.dispatchEvent(new CustomEvent("modem-push", { detail: uri }));
5458
5458
+
};
5234
5459
var find_anchor = (el) => {
5235
5460
if (!el || el.tagName === "BODY") {
5236
5461
return null;
···
5256
5481
});
5257
5482
});
5258
5483
}
5484
5484
+
var relative = /* @__PURE__ */ new Uri(/* @__PURE__ */ new None, /* @__PURE__ */ new None, /* @__PURE__ */ new None, /* @__PURE__ */ new None, "", /* @__PURE__ */ new None, /* @__PURE__ */ new None);
5485
5485
+
function push(path, query, fragment3) {
5486
5486
+
return from((_) => {
5487
5487
+
return guard(!is_browser(), undefined, () => {
5488
5488
+
return do_push(new Uri(relative.scheme, relative.userinfo, relative.host, relative.port, path, query, fragment3));
5489
5489
+
});
5490
5490
+
});
5491
5491
+
}
5259
5492
// build/dev/javascript/plinth/document_ffi.mjs
5260
5493
function querySelector(query) {
5261
5494
let found = document.querySelector(query);
5262
5495
if (!found) {
5263
5263
-
return new Error;
5496
5496
+
return new Error2;
5264
5497
}
5265
5498
return new Ok(found);
5266
5499
}
···
5271
5504
}
5272
5505
// build/dev/javascript/shared/shared/profile.mjs
5273
5506
class Profile extends CustomType {
5274
5274
-
constructor(id, uri, cid, did, handle2, display_name, description, avatar_url, home_town, interests, indexed_at) {
5507
5507
+
constructor(id2, uri, cid, did, handle2, display_name, description, avatar_url, home_town, interests, indexed_at) {
5275
5508
super();
5276
5276
-
this.id = id;
5509
5509
+
this.id = id2;
5277
5510
this.uri = uri;
5278
5511
this.cid = cid;
5279
5512
this.did = did;
···
5287
5520
}
5288
5521
}
5289
5522
function profile_decoder() {
5290
5290
-
return field("id", string2, (id) => {
5523
5523
+
return field("id", string2, (id2) => {
5291
5524
return field("uri", string2, (uri) => {
5292
5525
return field("cid", string2, (cid) => {
5293
5526
return field("did", string2, (did) => {
···
5298
5531
return field("home_town", optional(string2), (home_town) => {
5299
5532
return field("interests", optional(list2(string2)), (interests) => {
5300
5533
return field("indexed_at", string2, (indexed_at) => {
5301
5301
-
return success(new Profile(id, uri, cid, did, handle2, display_name, description, avatar_url, home_town, interests, indexed_at));
5534
5534
+
return success(new Profile(id2, uri, cid, did, handle2, display_name, description, avatar_url, home_town, interests, indexed_at));
5302
5535
});
5303
5536
});
5304
5537
});
···
5311
5544
});
5312
5545
});
5313
5546
}
5547
5547
+
// node_modules/h3-js/dist/browser/h3-js.es.js
5548
5548
+
var libh3 = function(libh32) {
5549
5549
+
libh32 = libh32 || {};
5550
5550
+
var Module = typeof libh32 !== "undefined" ? libh32 : {};
5551
5551
+
var moduleOverrides = {};
5552
5552
+
var key2;
5553
5553
+
for (key2 in Module) {
5554
5554
+
if (Module.hasOwnProperty(key2)) {
5555
5555
+
moduleOverrides[key2] = Module[key2];
5556
5556
+
}
5557
5557
+
}
5558
5558
+
var arguments_ = [];
5559
5559
+
var scriptDirectory = "";
5560
5560
+
function locateFile(path) {
5561
5561
+
if (Module["locateFile"]) {
5562
5562
+
return Module["locateFile"](path, scriptDirectory);
5563
5563
+
}
5564
5564
+
return scriptDirectory + path;
5565
5565
+
}
5566
5566
+
var readAsync;
5567
5567
+
{
5568
5568
+
if (typeof document !== "undefined" && document.currentScript) {
5569
5569
+
scriptDirectory = document.currentScript.src;
5570
5570
+
}
5571
5571
+
if (scriptDirectory.indexOf("blob:") !== 0) {
5572
5572
+
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1);
5573
5573
+
} else {
5574
5574
+
scriptDirectory = "";
5575
5575
+
}
5576
5576
+
readAsync = function readAsync(url, onload, onerror) {
5577
5577
+
var xhr = new XMLHttpRequest;
5578
5578
+
xhr.open("GET", url, true);
5579
5579
+
xhr.responseType = "arraybuffer";
5580
5580
+
xhr.onload = function xhr_onload() {
5581
5581
+
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
5582
5582
+
onload(xhr.response);
5583
5583
+
return;
5584
5584
+
}
5585
5585
+
var data = tryParseAsDataURI(url);
5586
5586
+
if (data) {
5587
5587
+
onload(data.buffer);
5588
5588
+
return;
5589
5589
+
}
5590
5590
+
onerror();
5591
5591
+
};
5592
5592
+
xhr.onerror = onerror;
5593
5593
+
xhr.send(null);
5594
5594
+
};
5595
5595
+
}
5596
5596
+
var out = Module["print"] || console.log.bind(console);
5597
5597
+
var err = Module["printErr"] || console.warn.bind(console);
5598
5598
+
for (key2 in moduleOverrides) {
5599
5599
+
if (moduleOverrides.hasOwnProperty(key2)) {
5600
5600
+
Module[key2] = moduleOverrides[key2];
5601
5601
+
}
5602
5602
+
}
5603
5603
+
moduleOverrides = null;
5604
5604
+
if (Module["arguments"]) {
5605
5605
+
arguments_ = Module["arguments"];
5606
5606
+
}
5607
5607
+
var tempRet0 = 0;
5608
5608
+
var setTempRet0 = function(value3) {
5609
5609
+
tempRet0 = value3;
5610
5610
+
};
5611
5611
+
var getTempRet0 = function() {
5612
5612
+
return tempRet0;
5613
5613
+
};
5614
5614
+
var GLOBAL_BASE = 8;
5615
5615
+
function setValue2(ptr, value3, type, noSafe) {
5616
5616
+
type = type || "i8";
5617
5617
+
if (type.charAt(type.length - 1) === "*") {
5618
5618
+
type = "i32";
5619
5619
+
}
5620
5620
+
switch (type) {
5621
5621
+
case "i1":
5622
5622
+
HEAP8[ptr >> 0] = value3;
5623
5623
+
break;
5624
5624
+
case "i8":
5625
5625
+
HEAP8[ptr >> 0] = value3;
5626
5626
+
break;
5627
5627
+
case "i16":
5628
5628
+
HEAP16[ptr >> 1] = value3;
5629
5629
+
break;
5630
5630
+
case "i32":
5631
5631
+
HEAP32[ptr >> 2] = value3;
5632
5632
+
break;
5633
5633
+
case "i64":
5634
5634
+
tempI64 = [value3 >>> 0, (tempDouble = value3, +Math_abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
5635
5635
+
break;
5636
5636
+
case "float":
5637
5637
+
HEAPF32[ptr >> 2] = value3;
5638
5638
+
break;
5639
5639
+
case "double":
5640
5640
+
HEAPF64[ptr >> 3] = value3;
5641
5641
+
break;
5642
5642
+
default:
5643
5643
+
abort("invalid type for setValue: " + type);
5644
5644
+
}
5645
5645
+
}
5646
5646
+
function getValue(ptr, type, noSafe) {
5647
5647
+
type = type || "i8";
5648
5648
+
if (type.charAt(type.length - 1) === "*") {
5649
5649
+
type = "i32";
5650
5650
+
}
5651
5651
+
switch (type) {
5652
5652
+
case "i1":
5653
5653
+
return HEAP8[ptr >> 0];
5654
5654
+
case "i8":
5655
5655
+
return HEAP8[ptr >> 0];
5656
5656
+
case "i16":
5657
5657
+
return HEAP16[ptr >> 1];
5658
5658
+
case "i32":
5659
5659
+
return HEAP32[ptr >> 2];
5660
5660
+
case "i64":
5661
5661
+
return HEAP32[ptr >> 2];
5662
5662
+
case "float":
5663
5663
+
return HEAPF32[ptr >> 2];
5664
5664
+
case "double":
5665
5665
+
return HEAPF64[ptr >> 3];
5666
5666
+
default:
5667
5667
+
abort("invalid type for getValue: " + type);
5668
5668
+
}
5669
5669
+
return null;
5670
5670
+
}
5671
5671
+
var ABORT = false;
5672
5672
+
function assert(condition, text4) {
5673
5673
+
if (!condition) {
5674
5674
+
abort("Assertion failed: " + text4);
5675
5675
+
}
5676
5676
+
}
5677
5677
+
function getCFunc(ident) {
5678
5678
+
var func = Module["_" + ident];
5679
5679
+
assert(func, "Cannot call unknown function " + ident + ", make sure it is exported");
5680
5680
+
return func;
5681
5681
+
}
5682
5682
+
function ccall(ident, returnType, argTypes, args, opts) {
5683
5683
+
var toC = {
5684
5684
+
string: function(str) {
5685
5685
+
var ret2 = 0;
5686
5686
+
if (str !== null && str !== undefined && str !== 0) {
5687
5687
+
var len = (str.length << 2) + 1;
5688
5688
+
ret2 = stackAlloc(len);
5689
5689
+
stringToUTF8(str, ret2, len);
5690
5690
+
}
5691
5691
+
return ret2;
5692
5692
+
},
5693
5693
+
array: function(arr) {
5694
5694
+
var ret2 = stackAlloc(arr.length);
5695
5695
+
writeArrayToMemory(arr, ret2);
5696
5696
+
return ret2;
5697
5697
+
}
5698
5698
+
};
5699
5699
+
function convertReturnValue(ret2) {
5700
5700
+
if (returnType === "string") {
5701
5701
+
return UTF8ToString(ret2);
5702
5702
+
}
5703
5703
+
if (returnType === "boolean") {
5704
5704
+
return Boolean(ret2);
5705
5705
+
}
5706
5706
+
return ret2;
5707
5707
+
}
5708
5708
+
var func = getCFunc(ident);
5709
5709
+
var cArgs = [];
5710
5710
+
var stack = 0;
5711
5711
+
if (args) {
5712
5712
+
for (var i = 0;i < args.length; i++) {
5713
5713
+
var converter = toC[argTypes[i]];
5714
5714
+
if (converter) {
5715
5715
+
if (stack === 0) {
5716
5716
+
stack = stackSave();
5717
5717
+
}
5718
5718
+
cArgs[i] = converter(args[i]);
5719
5719
+
} else {
5720
5720
+
cArgs[i] = args[i];
5721
5721
+
}
5722
5722
+
}
5723
5723
+
}
5724
5724
+
var ret = func.apply(null, cArgs);
5725
5725
+
ret = convertReturnValue(ret);
5726
5726
+
if (stack !== 0) {
5727
5727
+
stackRestore(stack);
5728
5728
+
}
5729
5729
+
return ret;
5730
5730
+
}
5731
5731
+
function cwrap(ident, returnType, argTypes, opts) {
5732
5732
+
argTypes = argTypes || [];
5733
5733
+
var numericArgs = argTypes.every(function(type) {
5734
5734
+
return type === "number";
5735
5735
+
});
5736
5736
+
var numericRet = returnType !== "string";
5737
5737
+
if (numericRet && numericArgs && !opts) {
5738
5738
+
return getCFunc(ident);
5739
5739
+
}
5740
5740
+
return function() {
5741
5741
+
return ccall(ident, returnType, argTypes, arguments, opts);
5742
5742
+
};
5743
5743
+
}
5744
5744
+
var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
5745
5745
+
function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
5746
5746
+
var endIdx = idx + maxBytesToRead;
5747
5747
+
var endPtr = idx;
5748
5748
+
while (u8Array[endPtr] && !(endPtr >= endIdx)) {
5749
5749
+
++endPtr;
5750
5750
+
}
5751
5751
+
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
5752
5752
+
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
5753
5753
+
} else {
5754
5754
+
var str = "";
5755
5755
+
while (idx < endPtr) {
5756
5756
+
var u0 = u8Array[idx++];
5757
5757
+
if (!(u0 & 128)) {
5758
5758
+
str += String.fromCharCode(u0);
5759
5759
+
continue;
5760
5760
+
}
5761
5761
+
var u1 = u8Array[idx++] & 63;
5762
5762
+
if ((u0 & 224) == 192) {
5763
5763
+
str += String.fromCharCode((u0 & 31) << 6 | u1);
5764
5764
+
continue;
5765
5765
+
}
5766
5766
+
var u2 = u8Array[idx++] & 63;
5767
5767
+
if ((u0 & 240) == 224) {
5768
5768
+
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
5769
5769
+
} else {
5770
5770
+
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63;
5771
5771
+
}
5772
5772
+
if (u0 < 65536) {
5773
5773
+
str += String.fromCharCode(u0);
5774
5774
+
} else {
5775
5775
+
var ch = u0 - 65536;
5776
5776
+
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
5777
5777
+
}
5778
5778
+
}
5779
5779
+
}
5780
5780
+
return str;
5781
5781
+
}
5782
5782
+
function UTF8ToString(ptr, maxBytesToRead) {
5783
5783
+
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
5784
5784
+
}
5785
5785
+
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
5786
5786
+
if (!(maxBytesToWrite > 0)) {
5787
5787
+
return 0;
5788
5788
+
}
5789
5789
+
var startIdx = outIdx;
5790
5790
+
var endIdx = outIdx + maxBytesToWrite - 1;
5791
5791
+
for (var i = 0;i < str.length; ++i) {
5792
5792
+
var u = str.charCodeAt(i);
5793
5793
+
if (u >= 55296 && u <= 57343) {
5794
5794
+
var u1 = str.charCodeAt(++i);
5795
5795
+
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
5796
5796
+
}
5797
5797
+
if (u <= 127) {
5798
5798
+
if (outIdx >= endIdx) {
5799
5799
+
break;
5800
5800
+
}
5801
5801
+
outU8Array[outIdx++] = u;
5802
5802
+
} else if (u <= 2047) {
5803
5803
+
if (outIdx + 1 >= endIdx) {
5804
5804
+
break;
5805
5805
+
}
5806
5806
+
outU8Array[outIdx++] = 192 | u >> 6;
5807
5807
+
outU8Array[outIdx++] = 128 | u & 63;
5808
5808
+
} else if (u <= 65535) {
5809
5809
+
if (outIdx + 2 >= endIdx) {
5810
5810
+
break;
5811
5811
+
}
5812
5812
+
outU8Array[outIdx++] = 224 | u >> 12;
5813
5813
+
outU8Array[outIdx++] = 128 | u >> 6 & 63;
5814
5814
+
outU8Array[outIdx++] = 128 | u & 63;
5815
5815
+
} else {
5816
5816
+
if (outIdx + 3 >= endIdx) {
5817
5817
+
break;
5818
5818
+
}
5819
5819
+
outU8Array[outIdx++] = 240 | u >> 18;
5820
5820
+
outU8Array[outIdx++] = 128 | u >> 12 & 63;
5821
5821
+
outU8Array[outIdx++] = 128 | u >> 6 & 63;
5822
5822
+
outU8Array[outIdx++] = 128 | u & 63;
5823
5823
+
}
5824
5824
+
}
5825
5825
+
outU8Array[outIdx] = 0;
5826
5826
+
return outIdx - startIdx;
5827
5827
+
}
5828
5828
+
function stringToUTF8(str, outPtr, maxBytesToWrite) {
5829
5829
+
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
5830
5830
+
}
5831
5831
+
var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
5832
5832
+
function writeArrayToMemory(array3, buffer2) {
5833
5833
+
HEAP8.set(array3, buffer2);
5834
5834
+
}
5835
5835
+
function alignUp(x, multiple) {
5836
5836
+
if (x % multiple > 0) {
5837
5837
+
x += multiple - x % multiple;
5838
5838
+
}
5839
5839
+
return x;
5840
5840
+
}
5841
5841
+
var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
5842
5842
+
function updateGlobalBufferAndViews(buf) {
5843
5843
+
buffer = buf;
5844
5844
+
Module["HEAP8"] = HEAP8 = new Int8Array(buf);
5845
5845
+
Module["HEAP16"] = HEAP16 = new Int16Array(buf);
5846
5846
+
Module["HEAP32"] = HEAP32 = new Int32Array(buf);
5847
5847
+
Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
5848
5848
+
Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
5849
5849
+
Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
5850
5850
+
Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
5851
5851
+
Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
5852
5852
+
}
5853
5853
+
var DYNAMIC_BASE = 5271520, DYNAMICTOP_PTR = 28608;
5854
5854
+
var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 33554432;
5855
5855
+
if (Module["buffer"]) {
5856
5856
+
buffer = Module["buffer"];
5857
5857
+
} else {
5858
5858
+
buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY);
5859
5859
+
}
5860
5860
+
INITIAL_TOTAL_MEMORY = buffer.byteLength;
5861
5861
+
updateGlobalBufferAndViews(buffer);
5862
5862
+
HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
5863
5863
+
function callRuntimeCallbacks(callbacks) {
5864
5864
+
while (callbacks.length > 0) {
5865
5865
+
var callback = callbacks.shift();
5866
5866
+
if (typeof callback == "function") {
5867
5867
+
callback();
5868
5868
+
continue;
5869
5869
+
}
5870
5870
+
var func = callback.func;
5871
5871
+
if (typeof func === "number") {
5872
5872
+
if (callback.arg === undefined) {
5873
5873
+
Module["dynCall_v"](func);
5874
5874
+
} else {
5875
5875
+
Module["dynCall_vi"](func, callback.arg);
5876
5876
+
}
5877
5877
+
} else {
5878
5878
+
func(callback.arg === undefined ? null : callback.arg);
5879
5879
+
}
5880
5880
+
}
5881
5881
+
}
5882
5882
+
var __ATPRERUN__ = [];
5883
5883
+
var __ATINIT__ = [];
5884
5884
+
var __ATMAIN__ = [];
5885
5885
+
var __ATPOSTRUN__ = [];
5886
5886
+
function preRun() {
5887
5887
+
if (Module["preRun"]) {
5888
5888
+
if (typeof Module["preRun"] == "function") {
5889
5889
+
Module["preRun"] = [Module["preRun"]];
5890
5890
+
}
5891
5891
+
while (Module["preRun"].length) {
5892
5892
+
addOnPreRun(Module["preRun"].shift());
5893
5893
+
}
5894
5894
+
}
5895
5895
+
callRuntimeCallbacks(__ATPRERUN__);
5896
5896
+
}
5897
5897
+
function initRuntime() {
5898
5898
+
callRuntimeCallbacks(__ATINIT__);
5899
5899
+
}
5900
5900
+
function preMain() {
5901
5901
+
callRuntimeCallbacks(__ATMAIN__);
5902
5902
+
}
5903
5903
+
function postRun() {
5904
5904
+
if (Module["postRun"]) {
5905
5905
+
if (typeof Module["postRun"] == "function") {
5906
5906
+
Module["postRun"] = [Module["postRun"]];
5907
5907
+
}
5908
5908
+
while (Module["postRun"].length) {
5909
5909
+
addOnPostRun(Module["postRun"].shift());
5910
5910
+
}
5911
5911
+
}
5912
5912
+
callRuntimeCallbacks(__ATPOSTRUN__);
5913
5913
+
}
5914
5914
+
function addOnPreRun(cb) {
5915
5915
+
__ATPRERUN__.unshift(cb);
5916
5916
+
}
5917
5917
+
function addOnPostRun(cb) {
5918
5918
+
__ATPOSTRUN__.unshift(cb);
5919
5919
+
}
5920
5920
+
var Math_abs = Math.abs;
5921
5921
+
var Math_ceil = Math.ceil;
5922
5922
+
var Math_floor = Math.floor;
5923
5923
+
var Math_min = Math.min;
5924
5924
+
var runDependencies = 0;
5925
5925
+
var runDependencyWatcher = null;
5926
5926
+
var dependenciesFulfilled = null;
5927
5927
+
function addRunDependency(id2) {
5928
5928
+
runDependencies++;
5929
5929
+
if (Module["monitorRunDependencies"]) {
5930
5930
+
Module["monitorRunDependencies"](runDependencies);
5931
5931
+
}
5932
5932
+
}
5933
5933
+
function removeRunDependency(id2) {
5934
5934
+
runDependencies--;
5935
5935
+
if (Module["monitorRunDependencies"]) {
5936
5936
+
Module["monitorRunDependencies"](runDependencies);
5937
5937
+
}
5938
5938
+
if (runDependencies == 0) {
5939
5939
+
if (runDependencyWatcher !== null) {
5940
5940
+
clearInterval(runDependencyWatcher);
5941
5941
+
runDependencyWatcher = null;
5942
5942
+
}
5943
5943
+
if (dependenciesFulfilled) {
5944
5944
+
var callback = dependenciesFulfilled;
5945
5945
+
dependenciesFulfilled = null;
5946
5946
+
callback();
5947
5947
+
}
5948
5948
+
}
5949
5949
+
}
5950
5950
+
Module["preloadedImages"] = {};
5951
5951
+
Module["preloadedAudios"] = {};
5952
5952
+
var memoryInitializer = null;
5953
5953
+
var dataURIPrefix = "data:application/octet-stream;base64,";
5954
5954
+
function isDataURI(filename) {
5955
5955
+
return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0;
5956
5956
+
}
5957
5957
+
var tempDouble;
5958
5958
+
var tempI64;
5959
5959
+
memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAABgAAAAoAAAALAAAAAAAAAAEAAAAFAAAAAwAAAA0AAAABAAAABwAAAAQAAAAMAAAAAAAAAAQAAAB/AAAADwAAAAgAAAADAAAAAAAAAAwAAAAFAAAAAgAAABIAAAAKAAAACAAAAAAAAAAQAAAABgAAAA4AAAALAAAAEQAAAAEAAAAJAAAAAgAAAAcAAAAVAAAACQAAABMAAAADAAAADQAAAAEAAAAIAAAABQAAABYAAAAQAAAABAAAAAAAAAAPAAAACQAAABMAAAAOAAAAFAAAAAEAAAAHAAAABgAAAAoAAAALAAAAGAAAABcAAAAFAAAAAgAAABIAAAALAAAAEQAAABcAAAAZAAAAAgAAAAYAAAAKAAAADAAAABwAAAANAAAAGgAAAAQAAAAPAAAAAwAAAA0AAAAaAAAAFQAAAB0AAAADAAAADAAAAAcAAAAOAAAAfwAAABEAAAAbAAAACQAAABQAAAAGAAAADwAAABYAAAAcAAAAHwAAAAQAAAAIAAAADAAAABAAAAASAAAAIQAAAB4AAAAIAAAABQAAABYAAAARAAAACwAAAA4AAAAGAAAAIwAAABkAAAAbAAAAEgAAABgAAAAeAAAAIAAAAAUAAAAKAAAAEAAAABMAAAAiAAAAFAAAACQAAAAHAAAAFQAAAAkAAAAUAAAADgAAABMAAAAJAAAAKAAAABsAAAAkAAAAFQAAACYAAAATAAAAIgAAAA0AAAAdAAAABwAAABYAAAAQAAAAKQAAACEAAAAPAAAACAAAAB8AAAAXAAAAGAAAAAsAAAAKAAAAJwAAACUAAAAZAAAAGAAAAH8AAAAgAAAAJQAAAAoAAAAXAAAAEgAAABkAAAAXAAAAEQAAAAsAAAAtAAAAJwAAACMAAAAaAAAAKgAAAB0AAAArAAAADAAAABwAAAANAAAAGwAAACgAAAAjAAAALgAAAA4AAAAUAAAAEQAAABwAAAAfAAAAKgAAACwAAAAMAAAADwAAABoAAAAdAAAAKwAAACYAAAAvAAAADQAAABoAAAAVAAAAHgAAACAAAAAwAAAAMgAAABAAAAASAAAAIQAAAB8AAAApAAAALAAAADUAAAAPAAAAFgAAABwAAAAgAAAAHgAAABgAAAASAAAANAAAADIAAAAlAAAAIQAAAB4AAAAxAAAAMAAAABYAAAAQAAAAKQAAACIAAAATAAAAJgAAABUAAAA2AAAAJAAAADMAAAAjAAAALgAAAC0AAAA4AAAAEQAAABsAAAAZAAAAJAAAABQAAAAiAAAAEwAAADcAAAAoAAAANgAAACUAAAAnAAAANAAAADkAAAAYAAAAFwAAACAAAAAmAAAAfwAAACIAAAAzAAAAHQAAAC8AAAAVAAAAJwAAACUAAAAZAAAAFwAAADsAAAA5AAAALQAAACgAAAAbAAAAJAAAABQAAAA8AAAALgAAADcAAAApAAAAMQAAADUAAAA9AAAAFgAAACEAAAAfAAAAKgAAADoAAAArAAAAPgAAABwAAAAsAAAAGgAAACsAAAA+AAAALwAAAEAAAAAaAAAAKgAAAB0AAAAsAAAANQAAADoAAABBAAAAHAAAAB8AAAAqAAAALQAAACcAAAAjAAAAGQAAAD8AAAA7AAAAOAAAAC4AAAA8AAAAOAAAAEQAAAAbAAAAKAAAACMAAAAvAAAAJgAAACsAAAAdAAAARQAAADMAAABAAAAAMAAAADEAAAAeAAAAIQAAAEMAAABCAAAAMgAAADEAAAB/AAAAPQAAAEIAAAAhAAAAMAAAACkAAAAyAAAAMAAAACAAAAAeAAAARgAAAEMAAAA0AAAAMwAAAEUAAAA2AAAARwAAACYAAAAvAAAAIgAAADQAAAA5AAAARgAAAEoAAAAgAAAAJQAAADIAAAA1AAAAPQAAAEEAAABLAAAAHwAAACkAAAAsAAAANgAAAEcAAAA3AAAASQAAACIAAAAzAAAAJAAAADcAAAAoAAAANgAAACQAAABIAAAAPAAAAEkAAAA4AAAARAAAAD8AAABNAAAAIwAAAC4AAAAtAAAAOQAAADsAAABKAAAATgAAACUAAAAnAAAANAAAADoAAAB/AAAAPgAAAEwAAAAsAAAAQQAAACoAAAA7AAAAPwAAAE4AAABPAAAAJwAAAC0AAAA5AAAAPAAAAEgAAABEAAAAUAAAACgAAAA3AAAALgAAAD0AAAA1AAAAMQAAACkAAABRAAAASwAAAEIAAAA+AAAAKwAAADoAAAAqAAAAUgAAAEAAAABMAAAAPwAAAH8AAAA4AAAALQAAAE8AAAA7AAAATQAAAEAAAAAvAAAAPgAAACsAAABUAAAARQAAAFIAAABBAAAAOgAAADUAAAAsAAAAVgAAAEwAAABLAAAAQgAAAEMAAABRAAAAVQAAADEAAAAwAAAAPQAAAEMAAABCAAAAMgAAADAAAABXAAAAVQAAAEYAAABEAAAAOAAAADwAAAAuAAAAWgAAAE0AAABQAAAARQAAADMAAABAAAAALwAAAFkAAABHAAAAVAAAAEYAAABDAAAANAAAADIAAABTAAAAVwAAAEoAAABHAAAAWQAAAEkAAABbAAAAMwAAAEUAAAA2AAAASAAAAH8AAABJAAAANwAAAFAAAAA8AAAAWAAAAEkAAABbAAAASAAAAFgAAAA2AAAARwAAADcAAABKAAAATgAAAFMAAABcAAAANAAAADkAAABGAAAASwAAAEEAAAA9AAAANQAAAF4AAABWAAAAUQAAAEwAAABWAAAAUgAAAGAAAAA6AAAAQQAAAD4AAABNAAAAPwAAAEQAAAA4AAAAXQAAAE8AAABaAAAATgAAAEoAAAA7AAAAOQAAAF8AAABcAAAATwAAAE8AAABOAAAAPwAAADsAAABdAAAAXwAAAE0AAABQAAAARAAAAEgAAAA8AAAAYwAAAFoAAABYAAAAUQAAAFUAAABeAAAAZQAAAD0AAABCAAAASwAAAFIAAABgAAAAVAAAAGIAAAA+AAAATAAAAEAAAABTAAAAfwAAAEoAAABGAAAAZAAAAFcAAABcAAAAVAAAAEUAAABSAAAAQAAAAGEAAABZAAAAYgAAAFUAAABXAAAAZQAAAGYAAABCAAAAQwAAAFEAAABWAAAATAAAAEsAAABBAAAAaAAAAGAAAABeAAAAVwAAAFMAAABmAAAAZAAAAEMAAABGAAAAVQAAAFgAAABIAAAAWwAAAEkAAABjAAAAUAAAAGkAAABZAAAAYQAAAFsAAABnAAAARQAAAFQAAABHAAAAWgAAAE0AAABQAAAARAAAAGoAAABdAAAAYwAAAFsAAABJAAAAWQAAAEcAAABpAAAAWAAAAGcAAABcAAAAUwAAAE4AAABKAAAAbAAAAGQAAABfAAAAXQAAAE8AAABaAAAATQAAAG0AAABfAAAAagAAAF4AAABWAAAAUQAAAEsAAABrAAAAaAAAAGUAAABfAAAAXAAAAE8AAABOAAAAbQAAAGwAAABdAAAAYAAAAGgAAABiAAAAbgAAAEwAAABWAAAAUgAAAGEAAAB/AAAAYgAAAFQAAABnAAAAWQAAAG8AAABiAAAAbgAAAGEAAABvAAAAUgAAAGAAAABUAAAAYwAAAFAAAABpAAAAWAAAAGoAAABaAAAAcQAAAGQAAABmAAAAUwAAAFcAAABsAAAAcgAAAFwAAABlAAAAZgAAAGsAAABwAAAAUQAAAFUAAABeAAAAZgAAAGUAAABXAAAAVQAAAHIAAABwAAAAZAAAAGcAAABbAAAAYQAAAFkAAAB0AAAAaQAAAG8AAABoAAAAawAAAG4AAABzAAAAVgAAAF4AAABgAAAAaQAAAFgAAABnAAAAWwAAAHEAAABjAAAAdAAAAGoAAABdAAAAYwAAAFoAAAB1AAAAbQAAAHEAAABrAAAAfwAAAGUAAABeAAAAcwAAAGgAAABwAAAAbAAAAGQAAABfAAAAXAAAAHYAAAByAAAAbQAAAG0AAABsAAAAXQAAAF8AAAB1AAAAdgAAAGoAAABuAAAAYgAAAGgAAABgAAAAdwAAAG8AAABzAAAAbwAAAGEAAABuAAAAYgAAAHQAAABnAAAAdwAAAHAAAABrAAAAZgAAAGUAAAB4AAAAcwAAAHIAAABxAAAAYwAAAHQAAABpAAAAdQAAAGoAAAB5AAAAcgAAAHAAAABkAAAAZgAAAHYAAAB4AAAAbAAAAHMAAABuAAAAawAAAGgAAAB4AAAAdwAAAHAAAAB0AAAAZwAAAHcAAABvAAAAcQAAAGkAAAB5AAAAdQAAAH8AAABtAAAAdgAAAHEAAAB5AAAAagAAAHYAAAB4AAAAbAAAAHIAAAB1AAAAeQAAAG0AAAB3AAAAbwAAAHMAAABuAAAAeQAAAHQAAAB4AAAAeAAAAHMAAAByAAAAcAAAAHkAAAB3AAAAdgAAAHkAAAB0AAAAeAAAAHcAAAB1AAAAcQAAAHYAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAACAAAABQAAAAEAAAAAAAAA/////wEAAAAAAAAAAwAAAAQAAAACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAABQAAABoAAAAFAAAAAAAAAAEAAAADAAAAAAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAcAAAAAAAAAGgAAAAAAAAAqAAAAAAAAADoAAAAAAAAAHQAAAAAAAAArAAAAAAAAAD4AAAADAAAAJgAAAAEAAAAvAAAAAwAAAEAAAAADAAAADAAAAAAAAAAcAAAABQAAACwAAAAFAAAADQAAAAAAAAAaAAAAAAAAACoAAAAAAAAAFQAAAAEAAAAdAAAAAAAAACsAAAAAAAAABAAAAAMAAAAPAAAABQAAAB8AAAAFAAAAAwAAAAEAAAAMAAAAAAAAABwAAAAFAAAABwAAAAEAAAANAAAAAAAAABoAAAAAAAAAHwAAAAAAAAApAAAAAAAAADEAAAAAAAAALAAAAAAAAAA1AAAAAAAAAD0AAAADAAAAOgAAAAEAAABBAAAAAwAAAEsAAAADAAAADwAAAAAAAAAWAAAABQAAACEAAAAFAAAAHAAAAAAAAAAfAAAAAAAAACkAAAAAAAAAKgAAAAEAAAAsAAAAAAAAADUAAAAAAAAABAAAAAQAAAAIAAAABQAAABAAAAAFAAAADAAAAAEAAAAPAAAAAAAAABYAAAAFAAAAGgAAAAEAAAAcAAAAAAAAAB8AAAAAAAAAMgAAAAAAAAAwAAAAAAAAADEAAAADAAAAIAAAAAAAAAAeAAAAAwAAACEAAAADAAAAGAAAAAMAAAASAAAAAwAAABAAAAADAAAARgAAAAAAAABDAAAAAAAAAEIAAAADAAAANAAAAAMAAAAyAAAAAAAAADAAAAAAAAAAJQAAAAMAAAAgAAAAAAAAAB4AAAADAAAAUwAAAAAAAABXAAAAAwAAAFUAAAADAAAASgAAAAMAAABGAAAAAAAAAEMAAAAAAAAAOQAAAAEAAAA0AAAAAwAAADIAAAAAAAAAGQAAAAAAAAAXAAAAAAAAABgAAAADAAAAEQAAAAAAAAALAAAAAwAAAAoAAAADAAAADgAAAAMAAAAGAAAAAwAAAAIAAAADAAAALQAAAAAAAAAnAAAAAAAAACUAAAADAAAAIwAAAAMAAAAZAAAAAAAAABcAAAAAAAAAGwAAAAMAAAARAAAAAAAAAAsAAAADAAAAPwAAAAAAAAA7AAAAAwAAADkAAAADAAAAOAAAAAMAAAAtAAAAAAAAACcAAAAAAAAALgAAAAMAAAAjAAAAAwAAABkAAAAAAAAAJAAAAAAAAAAUAAAAAAAAAA4AAAADAAAAIgAAAAAAAAATAAAAAwAAAAkAAAADAAAAJgAAAAMAAAAVAAAAAwAAAAcAAAADAAAANwAAAAAAAAAoAAAAAAAAABsAAAADAAAANgAAAAMAAAAkAAAAAAAAABQAAAAAAAAAMwAAAAMAAAAiAAAAAAAAABMAAAADAAAASAAAAAAAAAA8AAAAAwAAAC4AAAADAAAASQAAAAMAAAA3AAAAAAAAACgAAAAAAAAARwAAAAMAAAA2AAAAAwAAACQAAAAAAAAAQAAAAAAAAAAvAAAAAAAAACYAAAADAAAAPgAAAAAAAAArAAAAAwAAAB0AAAADAAAAOgAAAAMAAAAqAAAAAwAAABoAAAADAAAAVAAAAAAAAABFAAAAAAAAADMAAAADAAAAUgAAAAMAAABAAAAAAAAAAC8AAAAAAAAATAAAAAMAAAA+AAAAAAAAACsAAAADAAAAYQAAAAAAAABZAAAAAwAAAEcAAAADAAAAYgAAAAMAAABUAAAAAAAAAEUAAAAAAAAAYAAAAAMAAABSAAAAAwAAAEAAAAAAAAAASwAAAAAAAABBAAAAAAAAADoAAAADAAAAPQAAAAAAAAA1AAAAAwAAACwAAAADAAAAMQAAAAMAAAApAAAAAwAAAB8AAAADAAAAXgAAAAAAAABWAAAAAAAAAEwAAAADAAAAUQAAAAMAAABLAAAAAAAAAEEAAAAAAAAAQgAAAAMAAAA9AAAAAAAAADUAAAADAAAAawAAAAAAAABoAAAAAwAAAGAAAAADAAAAZQAAAAMAAABeAAAAAAAAAFYAAAAAAAAAVQAAAAMAAABRAAAAAwAAAEsAAAAAAAAAOQAAAAAAAAA7AAAAAAAAAD8AAAADAAAASgAAAAAAAABOAAAAAwAAAE8AAAADAAAAUwAAAAMAAABcAAAAAwAAAF8AAAADAAAAJQAAAAAAAAAnAAAAAwAAAC0AAAADAAAANAAAAAAAAAA5AAAAAAAAADsAAAAAAAAARgAAAAMAAABKAAAAAAAAAE4AAAADAAAAGAAAAAAAAAAXAAAAAwAAABkAAAADAAAAIAAAAAMAAAAlAAAAAAAAACcAAAADAAAAMgAAAAMAAAA0AAAAAAAAADkAAAAAAAAALgAAAAAAAAA8AAAAAAAAAEgAAAADAAAAOAAAAAAAAABEAAAAAwAAAFAAAAADAAAAPwAAAAMAAABNAAAAAwAAAFoAAAADAAAAGwAAAAAAAAAoAAAAAwAAADcAAAADAAAAIwAAAAAAAAAuAAAAAAAAADwAAAAAAAAALQAAAAMAAAA4AAAAAAAAAEQAAAADAAAADgAAAAAAAAAUAAAAAwAAACQAAAADAAAAEQAAAAMAAAAbAAAAAAAAACgAAAADAAAAGQAAAAMAAAAjAAAAAAAAAC4AAAAAAAAARwAAAAAAAABZAAAAAAAAAGEAAAADAAAASQAAAAAAAABbAAAAAwAAAGcAAAADAAAASAAAAAMAAABYAAAAAwAAAGkAAAADAAAAMwAAAAAAAABFAAAAAwAAAFQAAAADAAAANgAAAAAAAABHAAAAAAAAAFkAAAAAAAAANwAAAAMAAABJAAAAAAAAAFsAAAADAAAAJgAAAAAAAAAvAAAAAwAAAEAAAAADAAAAIgAAAAMAAAAzAAAAAAAAAEUAAAADAAAAJAAAAAMAAAA2AAAAAAAAAEcAAAAAAAAAYAAAAAAAAABoAAAAAAAAAGsAAAADAAAAYgAAAAAAAABuAAAAAwAAAHMAAAADAAAAYQAAAAMAAABvAAAAAwAAAHcAAAADAAAATAAAAAAAAABWAAAAAwAAAF4AAAADAAAAUgAAAAAAAABgAAAAAAAAAGgAAAAAAAAAVAAAAAMAAABiAAAAAAAAAG4AAAADAAAAOgAAAAAAAABBAAAAAwAAAEsAAAADAAAAPgAAAAMAAABMAAAAAAAAAFYAAAADAAAAQAAAAAMAAABSAAAAAAAAAGAAAAAAAAAAVQAAAAAAAABXAAAAAAAAAFMAAAADAAAAZQAAAAAAAABmAAAAAwAAAGQAAAADAAAAawAAAAMAAABwAAAAAwAAAHIAAAADAAAAQgAAAAAAAABDAAAAAwAAAEYAAAADAAAAUQAAAAAAAABVAAAAAAAAAFcAAAAAAAAAXgAAAAMAAABlAAAAAAAAAGYAAAADAAAAMQAAAAAAAAAwAAAAAwAAADIAAAADAAAAPQAAAAMAAABCAAAAAAAAAEMAAAADAAAASwAAAAMAAABRAAAAAAAAAFUAAAAAAAAAXwAAAAAAAABcAAAAAAAAAFMAAAAAAAAATwAAAAAAAABOAAAAAAAAAEoAAAADAAAAPwAAAAEAAAA7AAAAAwAAADkAAAADAAAAbQAAAAAAAABsAAAAAAAAAGQAAAAFAAAAXQAAAAEAAABfAAAAAAAAAFwAAAAAAAAATQAAAAEAAABPAAAAAAAAAE4AAAAAAAAAdQAAAAQAAAB2AAAABQAAAHIAAAAFAAAAagAAAAEAAABtAAAAAAAAAGwAAAAAAAAAWgAAAAEAAABdAAAAAQAAAF8AAAAAAAAAWgAAAAAAAABNAAAAAAAAAD8AAAAAAAAAUAAAAAAAAABEAAAAAAAAADgAAAADAAAASAAAAAEAAAA8AAAAAwAAAC4AAAADAAAAagAAAAAAAABdAAAAAAAAAE8AAAAFAAAAYwAAAAEAAABaAAAAAAAAAE0AAAAAAAAAWAAAAAEAAABQAAAAAAAAAEQAAAAAAAAAdQAAAAMAAABtAAAABQAAAF8AAAAFAAAAcQAAAAEAAABqAAAAAAAAAF0AAAAAAAAAaQAAAAEAAABjAAAAAQAAAFoAAAAAAAAAaQAAAAAAAABYAAAAAAAAAEgAAAAAAAAAZwAAAAAAAABbAAAAAAAAAEkAAAADAAAAYQAAAAEAAABZAAAAAwAAAEcAAAADAAAAcQAAAAAAAABjAAAAAAAAAFAAAAAFAAAAdAAAAAEAAABpAAAAAAAAAFgAAAAAAAAAbwAAAAEAAABnAAAAAAAAAFsAAAAAAAAAdQAAAAIAAABqAAAABQAAAFoAAAAFAAAAeQAAAAEAAABxAAAAAAAAAGMAAAAAAAAAdwAAAAEAAAB0AAAAAQAAAGkAAAAAAAAAdwAAAAAAAABvAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABuAAAAAAAAAGIAAAADAAAAawAAAAEAAABoAAAAAwAAAGAAAAADAAAAeQAAAAAAAAB0AAAAAAAAAGcAAAAFAAAAeAAAAAEAAAB3AAAAAAAAAG8AAAAAAAAAcAAAAAEAAABzAAAAAAAAAG4AAAAAAAAAdQAAAAEAAABxAAAABQAAAGkAAAAFAAAAdgAAAAEAAAB5AAAAAAAAAHQAAAAAAAAAcgAAAAEAAAB4AAAAAQAAAHcAAAAAAAAAcgAAAAAAAABwAAAAAAAAAGsAAAAAAAAAZAAAAAAAAABmAAAAAAAAAGUAAAADAAAAUwAAAAEAAABXAAAAAwAAAFUAAAADAAAAdgAAAAAAAAB4AAAAAAAAAHMAAAAFAAAAbAAAAAEAAAByAAAAAAAAAHAAAAAAAAAAXAAAAAEAAABkAAAAAAAAAGYAAAAAAAAAdQAAAAAAAAB5AAAABQAAAHcAAAAFAAAAbQAAAAEAAAB2AAAAAAAAAHgAAAAAAAAAXwAAAAEAAABsAAAAAQAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAGAAAAAgAAAAUAAAABAAAABAAAAAAAAAAAAAAABQAAAAMAAAABAAAABgAAAAQAAAACAAAAAAAAAH6iBfbytuk/Gq6akm/58z/Xrm0Liez0P5doSdOpSwRAWs602ULg8D/dT7Rcbo/1v1N1RQHFNOM/g9Snx7HW3L8HWsP8Q3jfP6VwOLosutk/9rjk1YQcxj+gnmKMsNn6P/HDeuPFY+M/YHwDjqKhB0Ci19/fCVrbP4UxKkDWOP6/pvljWa09tL9wi7wrQXjnv/Z6yLImkM2/3yTlOzY14D+m+WNZrT20PzwKVQnrQwNA9nrIsiaQzT/g40rFrRQFwPa45NWEHMa/kbslHEZq97/xw3rjxWPjv4cLC2SMBci/otff3wla27+rKF5oIAv0P1N1RQHFNOO/iDJPGyWHBUAHWsP8Q3jfvwQf/by16gXAfqIF9vK26b8XrO0Vh0r+v9eubQuJ7PS/BxLrA0ZZ479azrTZQuDwv1MK1EuItPw/yscgV9Z6FkAwHBR2WjQMQJNRzXsQ5vY/GlUHVJYKF0DONuFv2lMNQNCGZ28QJfk/0WUwoIL36D8ggDOMQuATQNqMOeAy/wZAWFYOYM+M2z/LWC4uH3oSQDE+LyTsMgRAkJzhRGWFGEDd4soovCQQQKqk0DJMEP8/rGmNdwOLBUAW2X/9xCbjP4hu3dcqJhNAzuYItRvdB0CgzW3zJW/sPxotm/Y2TxRAQAk9XmdDDEC1Kx9MKgT3P1M+NctcghZAFVqcLlb0C0Bgzd3sB2b2P77mZDPUWhZAFROHJpUGCEDAfma5CxXtPz1DWq/zYxRAmhYY5824F0DOuQKWSbAOQNCMqrvu3fs/L6DR22K2wT9nAAxPBU8RQGiN6mW43AFAZhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAA6B6FaUp9QQTPXMuL4myJBraiDfBwx9UBYJseitzTIQOL5if9jqZtAnXX+Z+ycb0C3pucbhRBCQG8wJBYqpRRAlWbDCzCY5z/eFWBUEve6P/+qo4Q50Y4/D9YM3iCcYT8fcA2QJSA0P4ADxu0qAAc/BNcGolVJ2j5d9FACqwquPh9z7MthtI9CSUSYJke/YUJQ/64OyjU0Qpi0+HCmFQdCm3GfIVdh2kHsJ11kAyauQYC3UDFJOoFBSJsFV1OwU0FK5fcxX4AmQWhy/zZIt/lACqaCPsBjzUDbdUNIScugQMYQlVJ4MXNANiuq8GTvRUDxTXnulxEZQFZ8QX5kpuw/qmG/JwYFlEAluh3Q6DB+QKn4vyNq0GZAKOXekas+UUB8xabXXhI6QG63C2pLtSNAdDBtyNfLDUDyOcu67ID2P0rCMvRXAeE/Ki2TSVyzyT9Dk+8Sz2uzP5J+w5ARWp0/NQAoOiMuhj9YnP+RyMJwPxgW7TvQVFk/KgsLYF0kQz9g5dAC6IwzQcgHPVvDex1B1XjppodHBkHJq3OMM9fwQNvcmJ7wddlAInGPpQs/w0BRobq5EBmtQJZ2ai7n+ZVAtv2G5E+bgECG+gIfKBlpQK5f8jdI91JAL39sL/WpPEB8rGxhDqklQK6yUf43XhBAxL9y/tK8+D86XyZpgrHiPwAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAP////8AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAD/////AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA/////wAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8FAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAQABAAABAQAAAAAAAQAAAAEAAAABAAEAAAAAAAAAAAAAAAAAAAAAquJYWJZl+D9jaeZNtj/zPwwdI9KqaeO/qGefXwdHdz+q4lhYlmX4P+OrlPMN3PI/DB0j0qpp47+7SQLV4VIEQKriWFiWZfg/r2kma3tz8T82eQmLqNIGwMRIWXMqSvo/fcCszPux9j+jara6ozTwP6hnn18HR3c/MSoKLequ8r+SabgA2nj0P7jBLbDOHO8/1Ym/ICfH4T+6lxjvlFXHv73m373LRPU/0vXyDVxo7T+ToKRHJXMAQF/33578aPE/pAyy64tD9T8+U/hCvyruPwxv8Y7YYwLAuXYr8NAiCEB4+LDK0Sn0P1Qeuy4j+eo/OMx50n7K7L+TrGB/nyf8v5ehC2fbYPM/aXMKexiT6z8mFRIMjg/zP7yUVwGGBNw/E6opHERf8z/z0wR2g9DqPw4pBpcOhvu/NbA29uWAA8DMaTExyXzyP02biiQ+Ruk/S8jz2/FKBEB1pzZnpbb9P7pQU4wLfPI//7ZcQXeG6D9CqEQvAYoIwDB2VB6sSgRAVyv8H5We8T+EHWF8XNPmPzB2wT8Nrrg/SEi+cX+w4L8of+GtdSDxP1sjk5AdouU/6ZjOVru13r8K0obqI6bxvwVbdNXyhfA/w5GG024n5z+rwmtMzP8BwLw9pSX49QXABe/2uQxP8D+b6wCzCvXkP7uGT87fK+Q/pz/JWw4coj+qoBf2J0nwP/yE3PUo0+I/vFJeHcaC+D96luSIqvntP/bf8sHUYu8/gZNN41mL4z9bhOqVOF4FwO6lmAh1hQhAbCVxbdhk7z+1C8NdDcfiPwG36x/0OQBAx0WJ76c2+D9nlSHXANfuP2HlfZ3gqOE/EwnVlVPg9r96+oHzEH//v5bXzdT1Auw/DM3GwLsA4D9p/8uoKcr+v+U9x5DQVAPAehjSdghb7D9sc1IetODgP8MVwwB1pu6/azPk6OGe978W8t/TUc3rP+0QMvYfP+A/RsG/QpSE8D+l3uwScxzgPwQaifgujuw/k1Vti1I43z8MAwLnSh0GQH5nYnwwZgJAiGUzWC5s6j8WyyI/BbLgPw4iUapGeQJAB3W+imnp/j9BLWR4ssrpP2t+gG5Pstk/cpBsfm6DCMCOpU9dOZsFQEv8nFypHeo/ehJ6i+6S2D9jqlGEmarLv7STC5TRiOa/bC+x8WZD6D9H3yUkWpDZP8gZvmCMuQLAreY19/eRBsCoPOc8UzzpP6KI/QV+y9g/t/MoboyWzT+Hv5q3Zu3Mvy2xROCT4uY/9gQitMMg1T9abAqhWMDkv1oLTavoUfG/PMUJP9CD5j+fHRX3t6fSPz7W2gk6bvs/WRnuHwqN9D8YFturGCTmP1EZczv0b9I/5t4exabB5D/1ESLh5fTEP9X2z6SYweQ/6lv3I2zT0D9zkRGNUNMAQKoSvc4EIfs/Xggt8wQI5T+mJHHg/w/SP4lhT/9t8vQ/DrZ/DbwH7D+XlhbYZrjkP34LIpFt6c4/lwfp8fLX9L+j96CTTf76v3WdNhEv9uM/d8c3o4lV0D/vFdCHVcsFwAHeDq0F1QhApbYqcZiN5D9KoilqByXLPwX0/diA0vq/0fo0GxnxAMBbaTkvlCzjP/RrFrWXrMs/UYTrky7jA0DB9f4FiZYAQEGAk/3QzeE/r/TeqE8t0D/OqjlsnPbvvz8RKU8JOfW/smSEbK/O4T8MzuyPm3DDP/rFtctq9gZAfb1EVEaSA0Dts5dVInnhP18SFMc79MM/7y34cw6LAMDFrRJsZO0DwC2KLvLSYuA/hx5wcUHewz+49SnK/4ruPyeS0PX9a+E/ZxaaLvvZ3z8WPu5T2QS8Pygo4RIvMqa/BJ0Kqsd0279cKW4ay8jdP3b05bmZ364/10/qtdxk2r+Bcz6CDMvpv54qOw+Amdw/qLV71pW7sT/YKc80nIPUP8OfIaBJ77G/LyTuD1un2z+diYu8efWzP1wU7ACkfwjAZroyPL1yBkAmv3lKJJbbPysKSE4W+p0/dIgqY79TA8ATLTOQ3tsGwJ2zweD/Xdg/XO/jXeFUaL8VW2qLFKfov1cA9Aa6XfK/tIa7YGgI2T+f3hu/sxqPv2nXdPpf3Pc/jkw8Jbda8j+tT/z8tGPVP1yBHpJd35k/KYvYOy1s8j/yz+kCQjPrP9+agH7x59g/PZfJ9aBhpr/rDKzvYBb+PwtkiaGCt/c/vb1mVr+f1T/JIHwHc8Govw7aeF6+9vG/Xv7kD6fp979isYioQYHVP7AIQZuSFrG/3z1AdUTnAUDN3XY9O7f9P0AdQ9ljYNQ/dJANJPTOrb8kLECUiiPlP4yF7UgmStA/9xGmXxCG1T9qZzix4W2zv2SGJRJVrPe/Fh9a2M/B/b8IexzFCoPSP9y1QFD2bLe/Q86cWLJe/b+mOOfYm78BwOTjkPAGE9E/8aPCUKu/ub9pPZyLCiUGwBA7Mev/BQlALOmrlRi+0j+AMJ/dKULBv7iLtL6a6QRAEMDV/yajAUDa62dE3crJP1P70RgBUbq/38hVnR6esT/s1tG10Z/Ov/zLwalHPss/dTS9NKTXx78nMcRzCIEHQAabxDsAmQRA0tyLK3gSyT+Aui7nOhDGv5Gs58z3WgHATN3forJuBMCAui7nOhDGP9Lciyt4Esm/WAJyHQ4c7z8UP5HFIs3iP3U0vTSk18c//MvBqUc+y7+cvv8HLg/Kvy1I/mHsI+K/U/vRGAFRuj/a62dE3crJv8p+WV8KlQjAuQ/nOP43B0CAMJ/dKULBPyzpq5UYvtK/ZoU+VoLh4L9etLlRUfvtv/GjwlCrv7k/5OOQ8AYT0b9DfT9FhufXPwUX8hJp+4u/3LVAUPZstz8IexzFCoPSv9+L609E5fQ/q9Fz7X2J7T9qZzix4W2zP/cRpl8QhtW/vtNilqGX+j8MOy7QJoL0P3SQDST0zq0/QB1D2WNg1L8IIjSvGNkDwGB8Jou2GAfAsAhBm5IWsT9isYioQYHVvyS9D3zb6uy/gnwRa7uM9L/JIHwHc8GoP729Zla/n9W/CsAHJZwmAEDEW6OYT1r6Pz2XyfWgYaY/35qAfvHn2L83Tdy4lS30vxf2/gZ0jPq/XIEekl3fmb+tT/z8tGPVvybPr2zJ1/+/K7mJ0ypVAsCf3hu/sxqPPwCGu2BoCNm/5oITrpZn+r+UDUyDP+n/v1zv413hVGg/nbPB4P9d2L9MlmkxNvgCQMtZlKE85v8/KwpIThb6nb8mv3lKJJbbv8+SZsTvOOc/pQCIIOYw0j+diYu8efWzvy8k7g9bp9u/kxYDa+pKtD9XlYvA8HnVv6i1e9aVu7G/nio7D4CZ3L/WR6rNh5EGwCkgQweBkghAdvTluZnfrr9cKW4ay8jdvxbjhr1f1QVAR5C0MzivAkAWPu5T2QS8v2cWmi772d+/cKj4lzLJCEBx2QJfYrMFQIcecHFB3sO/LYou8tJi4L+jr7lhO38BwIcI0Nb7xgTAXxIUxzv0w7/ts5dVInnhv0T+l8DZLfE/MP3FoFvS5D8MzuyPm3DDv7JkhGyvzuG/tzhzRIRc0b9Ovv3/0z7mv6/03qhPLdC/m4CT/dDN4b9dwjU5VCQBQBBJX1ntCv0/9GsWtZesy79baTkvlCzjv1mjYgEz++S/oW6KnOQW8b9KoilqByXLv6W2KnGYjeS/SmaKz3Vx9z+BZB5yxGHwP3fHN6OJVdC/dZ02ES/2478PuaBjLrXaP4/JU81pPaO/fgsikW3pzr+XlhbYZrjkv4tSn7YDbP0/f2LnFKlF9z+mJHHg/w/Sv14ILfMECOW/mfg4qYhR/b+OP+RQDCACwOpb9yNs09C/1fbPpJjB5L9pN2WOVZ3wv3hHy9nxIve/URlzO/Rv0r8YFturGCTmv1d1/KKR8QPA8gsy9qzSB8CfHRX3t6fSvzzFCT/Qg+a/EYStnrzV9r/2QJqI7Lb9v/YEIrTDINW/LbFE4JPi5r/7kQEs5fEDQHunnf4GeQBAooj9BX7L2L+oPOc8Uzzpv+ydYY2SSAfAL4HK6CRTB0BH3yUkWpDZv2wvsfFmQ+i/Ik0Yzruh6T8fM3LoGoDUP3oSeovukti/S/ycXKkd6r9rEv+7UWcHQCRIQe/GfwNAa36Abk+y2b9BLWR4ssrpv9KT87qa0bM/FTyktw823L8WyyI/BbLgv4hlM1gubOq/DizMp9Ki6r8b5ckdjVrzv5NVbYtSON+/BBqJ+C6O7L/dUBFqgyXYv00Wh18r7+q/7RAy9h8/4L8W8t/TUc3rv4RM5DKx3wDAfvWIj94aBcBsc1IetODgv3oY0nYIW+y/oGcTFF54AUDkJqS/FKX6PwzNxsC7AOC/ltfN1PUC7L+5Wrz/zHnzP6688w2rNOc/YeV9neCo4b9nlSHXANfuvw9RsxKjY/s/1V8GteXE8j+1C8NdDcfiv2wlcW3YZO+/IOywaA7Q8b9bFP+4Tg36v4GTTeNZi+O/9t/ywdRi77+tRc3yFR7eP2bkcHXJkLO//ITc9SjT4r+qoBf2J0nwv2YHKoswwfm/iQcLspCjAcCb6wCzCvXkvwXv9rkMT/C/YkuwYAMXBMApCNUai9kIwMORhtNuJ+e/BVt01fKF8L+ZqWEfvIjsP6h693QZYNk/WyOTkB2i5b8of+GtdSDxvwpaaulDSwVADMQAX+lOAECEHWF8XNPmv1cr/B+VnvG/XyFG6opcCMD/mtR32/UEQP+2XEF3hui/ulBTjAt88r/imfCfRP+yP9zbvtc8XeO/TZuKJD5G6b/MaTExyXzyvxiTQeElXOO/rbJRQVGN9L/z0wR2g9DqvxOqKRxEX/O/FDGCEei99j9x8zV4VYTmP2lzCnsYk+u/l6ELZ9tg878pRXacaDT/v3k6GZRqoQXAVB67LiP56r94+LDK0Sn0vwO6pZ9b7wFAvK0nKVcc9j8+U/hCvyruv6QMsuuLQ/W/FPhKFYv46j8MyxaDTOW/v9L18g1caO2/vebfvctE9b/7GD8ZrF3xv3gx1AR9bQDAuMEtsM4c77+SabgA2nj0v5xKFIwxsATArKNSBaKsB0Cjara6ozTwv33ArMz7sfa/dF2U0FcWCcDxL357DJX/P69pJmt7c/G/quJYWJZl+L/YntVJlnrSP4sRLzXM+fe/46uU8w3c8r+q4lhYlmX4v85lu5+QRwRAsI0H/WU8479jaeZNtj/zv6riWFiWZfi/sI0H/WU847/OZbufkEcEQHAoPUBrnss/9exKzDtFtT88wM8kax+gP9OqeKeAYog/MW0ItiZvcj+ph+smvt5bP2lCaV5dEUU/StaUmQDaLz+kK9y22BMYP0O3whZuMwI/IIbgZGWE6z7UkjYaEM3UPuezxwa9cr8+LybxRMnFpz6E1N8DbPiRPsYjySMvK3s+//////8fAAj//////zMQCP////9/MiAI/////28yMAj/////YzJACP///z9iMlAI////N2IyYAj///8zYjJwCP//vzNiMoAI//+rM2IykAj/f6szYjKgCP8PqzNiMrAI/wOrM2IywAi/A6szYjLQCJ8DqzNiMuAImQOrM2Iy8Aj//////z8PCP//////Kx8I/////38pLwj/////Pyk/CP////85KU8I////PzgpXwj///8POClvCP///w44KX8I//8fDjgpjwj//w8OOCmfCP9/DQ44Ka8I/w8NDjgpvwj/DQ0OOCnPCP8MDQ44Kd8IxwwNDjgp7wjEDA0OOCn/CAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAABgtRFT7Ifk/GC1EVPsh+b8YLURU+yEJQBgtRFT7IQnAYWxnb3MuYwBoM05laWdoYm9yUm90YXRpb25zAGNvb3JkaWprLmMAX3VwQXA3Q2hlY2tlZABfdXBBcDdyQ2hlY2tlZABkaXJlY3RlZEVkZ2UuYwBkaXJlY3RlZEVkZ2VUb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpclt0bXBGaWprLmZhY2VdW2ZpamsuZmFjZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";
5960
5960
+
var tempDoublePtr = 28624;
5961
5961
+
function demangle(func) {
5962
5962
+
return func;
5963
5963
+
}
5964
5964
+
function demangleAll(text4) {
5965
5965
+
var regex = /\b__Z[\w\d_]+/g;
5966
5966
+
return text4.replace(regex, function(x) {
5967
5967
+
var y = demangle(x);
5968
5968
+
return x === y ? x : y + " [" + x + "]";
5969
5969
+
});
5970
5970
+
}
5971
5971
+
function jsStackTrace() {
5972
5972
+
var err2 = new Error;
5973
5973
+
if (!err2.stack) {
5974
5974
+
try {
5975
5975
+
throw new Error(0);
5976
5976
+
} catch (e) {
5977
5977
+
err2 = e;
5978
5978
+
}
5979
5979
+
if (!err2.stack) {
5980
5980
+
return "(no stack trace available)";
5981
5981
+
}
5982
5982
+
}
5983
5983
+
return err2.stack.toString();
5984
5984
+
}
5985
5985
+
function stackTrace() {
5986
5986
+
var js = jsStackTrace();
5987
5987
+
if (Module["extraStackTrace"]) {
5988
5988
+
js += `
5989
5989
+
` + Module["extraStackTrace"]();
5990
5990
+
}
5991
5991
+
return demangleAll(js);
5992
5992
+
}
5993
5993
+
function ___assert_fail(condition, filename, line, func) {
5994
5994
+
abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function"]);
5995
5995
+
}
5996
5996
+
function _emscripten_get_heap_size() {
5997
5997
+
return HEAP8.length;
5998
5998
+
}
5999
5999
+
function _emscripten_memcpy_big(dest, src2, num) {
6000
6000
+
HEAPU8.set(HEAPU8.subarray(src2, src2 + num), dest);
6001
6001
+
}
6002
6002
+
function ___setErrNo(value3) {
6003
6003
+
if (Module["___errno_location"]) {
6004
6004
+
HEAP32[Module["___errno_location"]() >> 2] = value3;
6005
6005
+
}
6006
6006
+
return value3;
6007
6007
+
}
6008
6008
+
function abortOnCannotGrowMemory(requestedSize) {
6009
6009
+
abort("OOM");
6010
6010
+
}
6011
6011
+
function emscripten_realloc_buffer(size2) {
6012
6012
+
try {
6013
6013
+
var newBuffer = new ArrayBuffer(size2);
6014
6014
+
if (newBuffer.byteLength != size2) {
6015
6015
+
return;
6016
6016
+
}
6017
6017
+
new Int8Array(newBuffer).set(HEAP8);
6018
6018
+
_emscripten_replace_memory(newBuffer);
6019
6019
+
updateGlobalBufferAndViews(newBuffer);
6020
6020
+
return 1;
6021
6021
+
} catch (e) {}
6022
6022
+
}
6023
6023
+
function _emscripten_resize_heap(requestedSize) {
6024
6024
+
var oldSize = _emscripten_get_heap_size();
6025
6025
+
var PAGE_MULTIPLE = 16777216;
6026
6026
+
var LIMIT = 2147483648 - PAGE_MULTIPLE;
6027
6027
+
if (requestedSize > LIMIT) {
6028
6028
+
return false;
6029
6029
+
}
6030
6030
+
var MIN_TOTAL_MEMORY = 16777216;
6031
6031
+
var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY);
6032
6032
+
while (newSize < requestedSize) {
6033
6033
+
if (newSize <= 536870912) {
6034
6034
+
newSize = alignUp(2 * newSize, PAGE_MULTIPLE);
6035
6035
+
} else {
6036
6036
+
newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT);
6037
6037
+
}
6038
6038
+
}
6039
6039
+
var replacement = emscripten_realloc_buffer(newSize);
6040
6040
+
if (!replacement) {
6041
6041
+
return false;
6042
6042
+
}
6043
6043
+
return true;
6044
6044
+
}
6045
6045
+
var decodeBase64 = typeof atob === "function" ? atob : function(input2) {
6046
6046
+
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
6047
6047
+
var output = "";
6048
6048
+
var chr1, chr2, chr3;
6049
6049
+
var enc1, enc2, enc3, enc4;
6050
6050
+
var i = 0;
6051
6051
+
input2 = input2.replace(/[^A-Za-z0-9\+\/\=]/g, "");
6052
6052
+
do {
6053
6053
+
enc1 = keyStr.indexOf(input2.charAt(i++));
6054
6054
+
enc2 = keyStr.indexOf(input2.charAt(i++));
6055
6055
+
enc3 = keyStr.indexOf(input2.charAt(i++));
6056
6056
+
enc4 = keyStr.indexOf(input2.charAt(i++));
6057
6057
+
chr1 = enc1 << 2 | enc2 >> 4;
6058
6058
+
chr2 = (enc2 & 15) << 4 | enc3 >> 2;
6059
6059
+
chr3 = (enc3 & 3) << 6 | enc4;
6060
6060
+
output = output + String.fromCharCode(chr1);
6061
6061
+
if (enc3 !== 64) {
6062
6062
+
output = output + String.fromCharCode(chr2);
6063
6063
+
}
6064
6064
+
if (enc4 !== 64) {
6065
6065
+
output = output + String.fromCharCode(chr3);
6066
6066
+
}
6067
6067
+
} while (i < input2.length);
6068
6068
+
return output;
6069
6069
+
};
6070
6070
+
function intArrayFromBase64(s) {
6071
6071
+
try {
6072
6072
+
var decoded = decodeBase64(s);
6073
6073
+
var bytes = new Uint8Array(decoded.length);
6074
6074
+
for (var i = 0;i < decoded.length; ++i) {
6075
6075
+
bytes[i] = decoded.charCodeAt(i);
6076
6076
+
}
6077
6077
+
return bytes;
6078
6078
+
} catch (_) {
6079
6079
+
throw new Error("Converting base64 string to bytes failed.");
6080
6080
+
}
6081
6081
+
}
6082
6082
+
function tryParseAsDataURI(filename) {
6083
6083
+
if (!isDataURI(filename)) {
6084
6084
+
return;
6085
6085
+
}
6086
6086
+
return intArrayFromBase64(filename.slice(dataURIPrefix.length));
6087
6087
+
}
6088
6088
+
var asmGlobalArg = {
6089
6089
+
Math,
6090
6090
+
Int8Array,
6091
6091
+
Int32Array,
6092
6092
+
Uint8Array,
6093
6093
+
Float32Array,
6094
6094
+
Float64Array
6095
6095
+
};
6096
6096
+
var asmLibraryArg = {
6097
6097
+
a: abort,
6098
6098
+
b: setTempRet0,
6099
6099
+
c: getTempRet0,
6100
6100
+
d: ___assert_fail,
6101
6101
+
e: ___setErrNo,
6102
6102
+
f: _emscripten_get_heap_size,
6103
6103
+
g: _emscripten_memcpy_big,
6104
6104
+
h: _emscripten_resize_heap,
6105
6105
+
i: abortOnCannotGrowMemory,
6106
6106
+
j: demangle,
6107
6107
+
k: demangleAll,
6108
6108
+
l: emscripten_realloc_buffer,
6109
6109
+
m: jsStackTrace,
6110
6110
+
n: stackTrace,
6111
6111
+
o: tempDoublePtr,
6112
6112
+
p: DYNAMICTOP_PTR
6113
6113
+
};
6114
6114
+
var asm = function(global, env, buffer2) {
6115
6115
+
"almost asm";
6116
6116
+
var a2 = new global.Int8Array(buffer2), b = new global.Int32Array(buffer2), c = new global.Uint8Array(buffer2), d = new global.Float32Array(buffer2), e = new global.Float64Array(buffer2), f = env.o | 0, g = env.p | 0, p2 = global.Math.floor, q = global.Math.abs, r = global.Math.sqrt, s = global.Math.pow, t = global.Math.cos, u = global.Math.sin, v = global.Math.tan, w = global.Math.acos, x = global.Math.asin, y = global.Math.atan, z = global.Math.atan2, A = global.Math.ceil, B = global.Math.imul, C = global.Math.min, D = global.Math.max, E = global.Math.clz32, G = env.b, H = env.c, I = env.d, J = env.e, K = env.f, L = env.g, M = env.h, N = env.i, T = 28640;
6117
6117
+
function W(newBuffer) {
6118
6118
+
a2 = new Int8Array(newBuffer);
6119
6119
+
c = new Uint8Array(newBuffer);
6120
6120
+
b = new Int32Array(newBuffer);
6121
6121
+
d = new Float32Array(newBuffer);
6122
6122
+
e = new Float64Array(newBuffer);
6123
6123
+
buffer2 = newBuffer;
6124
6124
+
return true;
6125
6125
+
}
6126
6126
+
function X(a3) {
6127
6127
+
a3 = a3 | 0;
6128
6128
+
var b2 = 0;
6129
6129
+
b2 = T;
6130
6130
+
T = T + a3 | 0;
6131
6131
+
T = T + 15 & -16;
6132
6132
+
return b2 | 0;
6133
6133
+
}
6134
6134
+
function Y() {
6135
6135
+
return T | 0;
6136
6136
+
}
6137
6137
+
function Z(a3) {
6138
6138
+
a3 = a3 | 0;
6139
6139
+
T = a3;
6140
6140
+
}
6141
6141
+
function _(a3, b2) {
6142
6142
+
a3 = a3 | 0;
6143
6143
+
b2 = b2 | 0;
6144
6144
+
T = a3;
6145
6145
+
}
6146
6146
+
function $(a3, c2) {
6147
6147
+
a3 = a3 | 0;
6148
6148
+
c2 = c2 | 0;
6149
6149
+
var d2 = 0, e2 = 0, f2 = 0;
6150
6150
+
if ((a3 | 0) < 0) {
6151
6151
+
c2 = 2;
6152
6152
+
return c2 | 0;
6153
6153
+
}
6154
6154
+
if ((a3 | 0) > 13780509) {
6155
6155
+
c2 = uc(15, c2) | 0;
6156
6156
+
return c2 | 0;
6157
6157
+
} else {
6158
6158
+
d2 = ((a3 | 0) < 0) << 31 >> 31;
6159
6159
+
f2 = Md(a3 | 0, d2 | 0, 3, 0) | 0;
6160
6160
+
e2 = H() | 0;
6161
6161
+
d2 = Gd(a3 | 0, d2 | 0, 1, 0) | 0;
6162
6162
+
d2 = Md(f2 | 0, e2 | 0, d2 | 0, H() | 0) | 0;
6163
6163
+
d2 = Gd(d2 | 0, H() | 0, 1, 0) | 0;
6164
6164
+
a3 = H() | 0;
6165
6165
+
b[c2 >> 2] = d2;
6166
6166
+
b[c2 + 4 >> 2] = a3;
6167
6167
+
c2 = 0;
6168
6168
+
return c2 | 0;
6169
6169
+
}
6170
6170
+
return 0;
6171
6171
+
}
6172
6172
+
function aa(a3, b2, c2, d2) {
6173
6173
+
a3 = a3 | 0;
6174
6174
+
b2 = b2 | 0;
6175
6175
+
c2 = c2 | 0;
6176
6176
+
d2 = d2 | 0;
6177
6177
+
return ba(a3, b2, c2, d2, 0) | 0;
6178
6178
+
}
6179
6179
+
function ba(a3, c2, d2, e2, f2) {
6180
6180
+
a3 = a3 | 0;
6181
6181
+
c2 = c2 | 0;
6182
6182
+
d2 = d2 | 0;
6183
6183
+
e2 = e2 | 0;
6184
6184
+
f2 = f2 | 0;
6185
6185
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0;
6186
6186
+
j = T;
6187
6187
+
T = T + 16 | 0;
6188
6188
+
h = j;
6189
6189
+
if (!(ca(a3, c2, d2, e2, f2) | 0)) {
6190
6190
+
e2 = 0;
6191
6191
+
T = j;
6192
6192
+
return e2 | 0;
6193
6193
+
}
6194
6194
+
do {
6195
6195
+
if ((d2 | 0) >= 0) {
6196
6196
+
if ((d2 | 0) > 13780509) {
6197
6197
+
g2 = uc(15, h) | 0;
6198
6198
+
if (g2 | 0) {
6199
6199
+
break;
6200
6200
+
}
6201
6201
+
i = h;
6202
6202
+
h = b[i >> 2] | 0;
6203
6203
+
i = b[i + 4 >> 2] | 0;
6204
6204
+
} else {
6205
6205
+
g2 = ((d2 | 0) < 0) << 31 >> 31;
6206
6206
+
k = Md(d2 | 0, g2 | 0, 3, 0) | 0;
6207
6207
+
i = H() | 0;
6208
6208
+
g2 = Gd(d2 | 0, g2 | 0, 1, 0) | 0;
6209
6209
+
g2 = Md(k | 0, i | 0, g2 | 0, H() | 0) | 0;
6210
6210
+
g2 = Gd(g2 | 0, H() | 0, 1, 0) | 0;
6211
6211
+
i = H() | 0;
6212
6212
+
b[h >> 2] = g2;
6213
6213
+
b[h + 4 >> 2] = i;
6214
6214
+
h = g2;
6215
6215
+
}
6216
6216
+
Xd(e2 | 0, 0, h << 3 | 0) | 0;
6217
6217
+
if (f2 | 0) {
6218
6218
+
Xd(f2 | 0, 0, h << 2 | 0) | 0;
6219
6219
+
g2 = da(a3, c2, d2, e2, f2, h, i, 0) | 0;
6220
6220
+
break;
6221
6221
+
}
6222
6222
+
g2 = Fd(h, 4) | 0;
6223
6223
+
if (!g2) {
6224
6224
+
g2 = 13;
6225
6225
+
} else {
6226
6226
+
k = da(a3, c2, d2, e2, g2, h, i, 0) | 0;
6227
6227
+
Ed(g2);
6228
6228
+
g2 = k;
6229
6229
+
}
6230
6230
+
} else {
6231
6231
+
g2 = 2;
6232
6232
+
}
6233
6233
+
} while (0);
6234
6234
+
k = g2;
6235
6235
+
T = j;
6236
6236
+
return k | 0;
6237
6237
+
}
6238
6238
+
function ca(a3, c2, d2, e2, f2) {
6239
6239
+
a3 = a3 | 0;
6240
6240
+
c2 = c2 | 0;
6241
6241
+
d2 = d2 | 0;
6242
6242
+
e2 = e2 | 0;
6243
6243
+
f2 = f2 | 0;
6244
6244
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0;
6245
6245
+
q2 = T;
6246
6246
+
T = T + 16 | 0;
6247
6247
+
o = q2;
6248
6248
+
p3 = q2 + 8 | 0;
6249
6249
+
n = o;
6250
6250
+
b[n >> 2] = a3;
6251
6251
+
b[n + 4 >> 2] = c2;
6252
6252
+
if ((d2 | 0) < 0) {
6253
6253
+
p3 = 2;
6254
6254
+
T = q2;
6255
6255
+
return p3 | 0;
6256
6256
+
}
6257
6257
+
g2 = e2;
6258
6258
+
b[g2 >> 2] = a3;
6259
6259
+
b[g2 + 4 >> 2] = c2;
6260
6260
+
g2 = (f2 | 0) != 0;
6261
6261
+
if (g2) {
6262
6262
+
b[f2 >> 2] = 0;
6263
6263
+
}
6264
6264
+
if (Hb(a3, c2) | 0) {
6265
6265
+
p3 = 9;
6266
6266
+
T = q2;
6267
6267
+
return p3 | 0;
6268
6268
+
}
6269
6269
+
b[p3 >> 2] = 0;
6270
6270
+
a:
6271
6271
+
do {
6272
6272
+
if ((d2 | 0) >= 1) {
6273
6273
+
if (g2) {
6274
6274
+
l = 1;
6275
6275
+
k = 0;
6276
6276
+
m = 0;
6277
6277
+
n = 1;
6278
6278
+
g2 = a3;
6279
6279
+
while (true) {
6280
6280
+
if (!(k | m)) {
6281
6281
+
g2 = ea(g2, c2, 4, p3, o) | 0;
6282
6282
+
if (g2 | 0) {
6283
6283
+
break a;
6284
6284
+
}
6285
6285
+
c2 = o;
6286
6286
+
g2 = b[c2 >> 2] | 0;
6287
6287
+
c2 = b[c2 + 4 >> 2] | 0;
6288
6288
+
if (Hb(g2, c2) | 0) {
6289
6289
+
g2 = 9;
6290
6290
+
break a;
6291
6291
+
}
6292
6292
+
}
6293
6293
+
g2 = ea(g2, c2, b[26800 + (m << 2) >> 2] | 0, p3, o) | 0;
6294
6294
+
if (g2 | 0) {
6295
6295
+
break a;
6296
6296
+
}
6297
6297
+
c2 = o;
6298
6298
+
g2 = b[c2 >> 2] | 0;
6299
6299
+
c2 = b[c2 + 4 >> 2] | 0;
6300
6300
+
a3 = e2 + (l << 3) | 0;
6301
6301
+
b[a3 >> 2] = g2;
6302
6302
+
b[a3 + 4 >> 2] = c2;
6303
6303
+
b[f2 + (l << 2) >> 2] = n;
6304
6304
+
a3 = k + 1 | 0;
6305
6305
+
h = (a3 | 0) == (n | 0);
6306
6306
+
i = m + 1 | 0;
6307
6307
+
j = (i | 0) == 6;
6308
6308
+
if (Hb(g2, c2) | 0) {
6309
6309
+
g2 = 9;
6310
6310
+
break a;
6311
6311
+
}
6312
6312
+
n = n + (j & h & 1) | 0;
6313
6313
+
if ((n | 0) > (d2 | 0)) {
6314
6314
+
g2 = 0;
6315
6315
+
break;
6316
6316
+
} else {
6317
6317
+
l = l + 1 | 0;
6318
6318
+
k = h ? 0 : a3;
6319
6319
+
m = h ? j ? 0 : i : m;
6320
6320
+
}
6321
6321
+
}
6322
6322
+
} else {
6323
6323
+
l = 1;
6324
6324
+
k = 0;
6325
6325
+
m = 0;
6326
6326
+
n = 1;
6327
6327
+
g2 = a3;
6328
6328
+
while (true) {
6329
6329
+
if (!(k | m)) {
6330
6330
+
g2 = ea(g2, c2, 4, p3, o) | 0;
6331
6331
+
if (g2 | 0) {
6332
6332
+
break a;
6333
6333
+
}
6334
6334
+
c2 = o;
6335
6335
+
g2 = b[c2 >> 2] | 0;
6336
6336
+
c2 = b[c2 + 4 >> 2] | 0;
6337
6337
+
if (Hb(g2, c2) | 0) {
6338
6338
+
g2 = 9;
6339
6339
+
break a;
6340
6340
+
}
6341
6341
+
}
6342
6342
+
g2 = ea(g2, c2, b[26800 + (m << 2) >> 2] | 0, p3, o) | 0;
6343
6343
+
if (g2 | 0) {
6344
6344
+
break a;
6345
6345
+
}
6346
6346
+
c2 = o;
6347
6347
+
g2 = b[c2 >> 2] | 0;
6348
6348
+
c2 = b[c2 + 4 >> 2] | 0;
6349
6349
+
a3 = e2 + (l << 3) | 0;
6350
6350
+
b[a3 >> 2] = g2;
6351
6351
+
b[a3 + 4 >> 2] = c2;
6352
6352
+
a3 = k + 1 | 0;
6353
6353
+
h = (a3 | 0) == (n | 0);
6354
6354
+
i = m + 1 | 0;
6355
6355
+
j = (i | 0) == 6;
6356
6356
+
if (Hb(g2, c2) | 0) {
6357
6357
+
g2 = 9;
6358
6358
+
break a;
6359
6359
+
}
6360
6360
+
n = n + (j & h & 1) | 0;
6361
6361
+
if ((n | 0) > (d2 | 0)) {
6362
6362
+
g2 = 0;
6363
6363
+
break;
6364
6364
+
} else {
6365
6365
+
l = l + 1 | 0;
6366
6366
+
k = h ? 0 : a3;
6367
6367
+
m = h ? j ? 0 : i : m;
6368
6368
+
}
6369
6369
+
}
6370
6370
+
}
6371
6371
+
} else {
6372
6372
+
g2 = 0;
6373
6373
+
}
6374
6374
+
} while (0);
6375
6375
+
p3 = g2;
6376
6376
+
T = q2;
6377
6377
+
return p3 | 0;
6378
6378
+
}
6379
6379
+
function da(a3, c2, d2, e2, f2, g2, h, i) {
6380
6380
+
a3 = a3 | 0;
6381
6381
+
c2 = c2 | 0;
6382
6382
+
d2 = d2 | 0;
6383
6383
+
e2 = e2 | 0;
6384
6384
+
f2 = f2 | 0;
6385
6385
+
g2 = g2 | 0;
6386
6386
+
h = h | 0;
6387
6387
+
i = i | 0;
6388
6388
+
var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0;
6389
6389
+
q2 = T;
6390
6390
+
T = T + 16 | 0;
6391
6391
+
o = q2 + 8 | 0;
6392
6392
+
p3 = q2;
6393
6393
+
j = Od(a3 | 0, c2 | 0, g2 | 0, h | 0) | 0;
6394
6394
+
l = H() | 0;
6395
6395
+
m = e2 + (j << 3) | 0;
6396
6396
+
r2 = m;
6397
6397
+
s2 = b[r2 >> 2] | 0;
6398
6398
+
r2 = b[r2 + 4 >> 2] | 0;
6399
6399
+
k = (s2 | 0) == (a3 | 0) & (r2 | 0) == (c2 | 0);
6400
6400
+
if (!((s2 | 0) == 0 & (r2 | 0) == 0 | k)) {
6401
6401
+
do {
6402
6402
+
j = Gd(j | 0, l | 0, 1, 0) | 0;
6403
6403
+
j = Nd(j | 0, H() | 0, g2 | 0, h | 0) | 0;
6404
6404
+
l = H() | 0;
6405
6405
+
m = e2 + (j << 3) | 0;
6406
6406
+
s2 = m;
6407
6407
+
r2 = b[s2 >> 2] | 0;
6408
6408
+
s2 = b[s2 + 4 >> 2] | 0;
6409
6409
+
k = (r2 | 0) == (a3 | 0) & (s2 | 0) == (c2 | 0);
6410
6410
+
} while (!((r2 | 0) == 0 & (s2 | 0) == 0 | k));
6411
6411
+
}
6412
6412
+
j = f2 + (j << 2) | 0;
6413
6413
+
if (k ? (b[j >> 2] | 0) <= (i | 0) : 0) {
6414
6414
+
s2 = 0;
6415
6415
+
T = q2;
6416
6416
+
return s2 | 0;
6417
6417
+
}
6418
6418
+
s2 = m;
6419
6419
+
b[s2 >> 2] = a3;
6420
6420
+
b[s2 + 4 >> 2] = c2;
6421
6421
+
b[j >> 2] = i;
6422
6422
+
if ((i | 0) >= (d2 | 0)) {
6423
6423
+
s2 = 0;
6424
6424
+
T = q2;
6425
6425
+
return s2 | 0;
6426
6426
+
}
6427
6427
+
k = i + 1 | 0;
6428
6428
+
b[o >> 2] = 0;
6429
6429
+
j = ea(a3, c2, 2, o, p3) | 0;
6430
6430
+
switch (j | 0) {
6431
6431
+
case 9: {
6432
6432
+
n = 9;
6433
6433
+
break;
6434
6434
+
}
6435
6435
+
case 0: {
6436
6436
+
j = p3;
6437
6437
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6438
6438
+
if (!j) {
6439
6439
+
n = 9;
6440
6440
+
}
6441
6441
+
break;
6442
6442
+
}
6443
6443
+
default:
6444
6444
+
}
6445
6445
+
a:
6446
6446
+
do {
6447
6447
+
if ((n | 0) == 9) {
6448
6448
+
b[o >> 2] = 0;
6449
6449
+
j = ea(a3, c2, 3, o, p3) | 0;
6450
6450
+
switch (j | 0) {
6451
6451
+
case 9:
6452
6452
+
break;
6453
6453
+
case 0: {
6454
6454
+
j = p3;
6455
6455
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6456
6456
+
if (j | 0) {
6457
6457
+
break a;
6458
6458
+
}
6459
6459
+
break;
6460
6460
+
}
6461
6461
+
default:
6462
6462
+
break a;
6463
6463
+
}
6464
6464
+
b[o >> 2] = 0;
6465
6465
+
j = ea(a3, c2, 1, o, p3) | 0;
6466
6466
+
switch (j | 0) {
6467
6467
+
case 9:
6468
6468
+
break;
6469
6469
+
case 0: {
6470
6470
+
j = p3;
6471
6471
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6472
6472
+
if (j | 0) {
6473
6473
+
break a;
6474
6474
+
}
6475
6475
+
break;
6476
6476
+
}
6477
6477
+
default:
6478
6478
+
break a;
6479
6479
+
}
6480
6480
+
b[o >> 2] = 0;
6481
6481
+
j = ea(a3, c2, 5, o, p3) | 0;
6482
6482
+
switch (j | 0) {
6483
6483
+
case 9:
6484
6484
+
break;
6485
6485
+
case 0: {
6486
6486
+
j = p3;
6487
6487
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6488
6488
+
if (j | 0) {
6489
6489
+
break a;
6490
6490
+
}
6491
6491
+
break;
6492
6492
+
}
6493
6493
+
default:
6494
6494
+
break a;
6495
6495
+
}
6496
6496
+
b[o >> 2] = 0;
6497
6497
+
j = ea(a3, c2, 4, o, p3) | 0;
6498
6498
+
switch (j | 0) {
6499
6499
+
case 9:
6500
6500
+
break;
6501
6501
+
case 0: {
6502
6502
+
j = p3;
6503
6503
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6504
6504
+
if (j | 0) {
6505
6505
+
break a;
6506
6506
+
}
6507
6507
+
break;
6508
6508
+
}
6509
6509
+
default:
6510
6510
+
break a;
6511
6511
+
}
6512
6512
+
b[o >> 2] = 0;
6513
6513
+
j = ea(a3, c2, 6, o, p3) | 0;
6514
6514
+
switch (j | 0) {
6515
6515
+
case 9:
6516
6516
+
break;
6517
6517
+
case 0: {
6518
6518
+
j = p3;
6519
6519
+
j = da(b[j >> 2] | 0, b[j + 4 >> 2] | 0, d2, e2, f2, g2, h, k) | 0;
6520
6520
+
if (j | 0) {
6521
6521
+
break a;
6522
6522
+
}
6523
6523
+
break;
6524
6524
+
}
6525
6525
+
default:
6526
6526
+
break a;
6527
6527
+
}
6528
6528
+
s2 = 0;
6529
6529
+
T = q2;
6530
6530
+
return s2 | 0;
6531
6531
+
}
6532
6532
+
} while (0);
6533
6533
+
s2 = j;
6534
6534
+
T = q2;
6535
6535
+
return s2 | 0;
6536
6536
+
}
6537
6537
+
function ea(a3, c2, d2, e2, f2) {
6538
6538
+
a3 = a3 | 0;
6539
6539
+
c2 = c2 | 0;
6540
6540
+
d2 = d2 | 0;
6541
6541
+
e2 = e2 | 0;
6542
6542
+
f2 = f2 | 0;
6543
6543
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0;
6544
6544
+
if (d2 >>> 0 > 6) {
6545
6545
+
f2 = 1;
6546
6546
+
return f2 | 0;
6547
6547
+
}
6548
6548
+
m = (b[e2 >> 2] | 0) % 6 | 0;
6549
6549
+
b[e2 >> 2] = m;
6550
6550
+
if ((m | 0) > 0) {
6551
6551
+
g2 = 0;
6552
6552
+
do {
6553
6553
+
d2 = $a(d2) | 0;
6554
6554
+
g2 = g2 + 1 | 0;
6555
6555
+
} while ((g2 | 0) < (b[e2 >> 2] | 0));
6556
6556
+
}
6557
6557
+
m = Qd(a3 | 0, c2 | 0, 45) | 0;
6558
6558
+
H() | 0;
6559
6559
+
l = m & 127;
6560
6560
+
if (l >>> 0 > 121) {
6561
6561
+
f2 = 5;
6562
6562
+
return f2 | 0;
6563
6563
+
}
6564
6564
+
j = Pb(a3, c2) | 0;
6565
6565
+
g2 = Qd(a3 | 0, c2 | 0, 52) | 0;
6566
6566
+
H() | 0;
6567
6567
+
g2 = g2 & 15;
6568
6568
+
a:
6569
6569
+
do {
6570
6570
+
if (!g2) {
6571
6571
+
k = 8;
6572
6572
+
} else {
6573
6573
+
while (true) {
6574
6574
+
h = (15 - g2 | 0) * 3 | 0;
6575
6575
+
i = Qd(a3 | 0, c2 | 0, h | 0) | 0;
6576
6576
+
H() | 0;
6577
6577
+
i = i & 7;
6578
6578
+
if ((i | 0) == 7) {
6579
6579
+
c2 = 5;
6580
6580
+
break;
6581
6581
+
}
6582
6582
+
p3 = (Vb(g2) | 0) == 0;
6583
6583
+
g2 = g2 + -1 | 0;
6584
6584
+
n = Rd(7, 0, h | 0) | 0;
6585
6585
+
c2 = c2 & ~(H() | 0);
6586
6586
+
o = Rd(b[(p3 ? 432 : 16) + (i * 28 | 0) + (d2 << 2) >> 2] | 0, 0, h | 0) | 0;
6587
6587
+
h = H() | 0;
6588
6588
+
d2 = b[(p3 ? 640 : 224) + (i * 28 | 0) + (d2 << 2) >> 2] | 0;
6589
6589
+
a3 = o | a3 & ~n;
6590
6590
+
c2 = h | c2;
6591
6591
+
if (!d2) {
6592
6592
+
d2 = 0;
6593
6593
+
break a;
6594
6594
+
}
6595
6595
+
if (!g2) {
6596
6596
+
k = 8;
6597
6597
+
break a;
6598
6598
+
}
6599
6599
+
}
6600
6600
+
return c2 | 0;
6601
6601
+
}
6602
6602
+
} while (0);
6603
6603
+
if ((k | 0) == 8) {
6604
6604
+
p3 = b[848 + (l * 28 | 0) + (d2 << 2) >> 2] | 0;
6605
6605
+
o = Rd(p3 | 0, 0, 45) | 0;
6606
6606
+
a3 = o | a3;
6607
6607
+
c2 = H() | 0 | c2 & -1040385;
6608
6608
+
d2 = b[4272 + (l * 28 | 0) + (d2 << 2) >> 2] | 0;
6609
6609
+
if ((p3 & 127 | 0) == 127) {
6610
6610
+
p3 = Rd(b[848 + (l * 28 | 0) + 20 >> 2] | 0, 0, 45) | 0;
6611
6611
+
c2 = H() | 0 | c2 & -1040385;
6612
6612
+
d2 = b[4272 + (l * 28 | 0) + 20 >> 2] | 0;
6613
6613
+
a3 = Rb(p3 | a3, c2) | 0;
6614
6614
+
c2 = H() | 0;
6615
6615
+
b[e2 >> 2] = (b[e2 >> 2] | 0) + 1;
6616
6616
+
}
6617
6617
+
}
6618
6618
+
i = Qd(a3 | 0, c2 | 0, 45) | 0;
6619
6619
+
H() | 0;
6620
6620
+
i = i & 127;
6621
6621
+
b:
6622
6622
+
do {
6623
6623
+
if (!(oa(i) | 0)) {
6624
6624
+
if ((d2 | 0) > 0) {
6625
6625
+
g2 = 0;
6626
6626
+
do {
6627
6627
+
a3 = Rb(a3, c2) | 0;
6628
6628
+
c2 = H() | 0;
6629
6629
+
g2 = g2 + 1 | 0;
6630
6630
+
} while ((g2 | 0) != (d2 | 0));
6631
6631
+
}
6632
6632
+
} else {
6633
6633
+
c:
6634
6634
+
do {
6635
6635
+
if ((Pb(a3, c2) | 0) == 1) {
6636
6636
+
if ((l | 0) != (i | 0)) {
6637
6637
+
if (ua(i, b[7696 + (l * 28 | 0) >> 2] | 0) | 0) {
6638
6638
+
a3 = Tb(a3, c2) | 0;
6639
6639
+
h = 1;
6640
6640
+
c2 = H() | 0;
6641
6641
+
break;
6642
6642
+
} else {
6643
6643
+
I(27795, 26864, 533, 26872);
6644
6644
+
}
6645
6645
+
}
6646
6646
+
switch (j | 0) {
6647
6647
+
case 3: {
6648
6648
+
a3 = Rb(a3, c2) | 0;
6649
6649
+
c2 = H() | 0;
6650
6650
+
b[e2 >> 2] = (b[e2 >> 2] | 0) + 1;
6651
6651
+
h = 0;
6652
6652
+
break c;
6653
6653
+
}
6654
6654
+
case 5: {
6655
6655
+
a3 = Tb(a3, c2) | 0;
6656
6656
+
c2 = H() | 0;
6657
6657
+
b[e2 >> 2] = (b[e2 >> 2] | 0) + 5;
6658
6658
+
h = 0;
6659
6659
+
break c;
6660
6660
+
}
6661
6661
+
case 0: {
6662
6662
+
p3 = 9;
6663
6663
+
return p3 | 0;
6664
6664
+
}
6665
6665
+
default: {
6666
6666
+
p3 = 1;
6667
6667
+
return p3 | 0;
6668
6668
+
}
6669
6669
+
}
6670
6670
+
} else {
6671
6671
+
h = 0;
6672
6672
+
}
6673
6673
+
} while (0);
6674
6674
+
if ((d2 | 0) > 0) {
6675
6675
+
g2 = 0;
6676
6676
+
do {
6677
6677
+
a3 = Qb(a3, c2) | 0;
6678
6678
+
c2 = H() | 0;
6679
6679
+
g2 = g2 + 1 | 0;
6680
6680
+
} while ((g2 | 0) != (d2 | 0));
6681
6681
+
}
6682
6682
+
if ((l | 0) != (i | 0)) {
6683
6683
+
if (!(pa(i) | 0)) {
6684
6684
+
if ((h | 0) != 0 | (Pb(a3, c2) | 0) != 5) {
6685
6685
+
break;
6686
6686
+
}
6687
6687
+
b[e2 >> 2] = (b[e2 >> 2] | 0) + 1;
6688
6688
+
break;
6689
6689
+
}
6690
6690
+
switch (m & 127) {
6691
6691
+
case 8:
6692
6692
+
case 118:
6693
6693
+
break b;
6694
6694
+
default:
6695
6695
+
}
6696
6696
+
if ((Pb(a3, c2) | 0) != 3) {
6697
6697
+
b[e2 >> 2] = (b[e2 >> 2] | 0) + 1;
6698
6698
+
}
6699
6699
+
}
6700
6700
+
}
6701
6701
+
} while (0);
6702
6702
+
b[e2 >> 2] = ((b[e2 >> 2] | 0) + d2 | 0) % 6 | 0;
6703
6703
+
p3 = f2;
6704
6704
+
b[p3 >> 2] = a3;
6705
6705
+
b[p3 + 4 >> 2] = c2;
6706
6706
+
p3 = 0;
6707
6707
+
return p3 | 0;
6708
6708
+
}
6709
6709
+
function fa(a3, b2, c2, d2) {
6710
6710
+
a3 = a3 | 0;
6711
6711
+
b2 = b2 | 0;
6712
6712
+
c2 = c2 | 0;
6713
6713
+
d2 = d2 | 0;
6714
6714
+
if (!(ga(a3, b2, c2, d2) | 0)) {
6715
6715
+
d2 = 0;
6716
6716
+
return d2 | 0;
6717
6717
+
}
6718
6718
+
Xd(d2 | 0, 0, c2 * 48 | 0) | 0;
6719
6719
+
d2 = ha(a3, b2, c2, d2) | 0;
6720
6720
+
return d2 | 0;
6721
6721
+
}
6722
6722
+
function ga(a3, c2, d2, e2) {
6723
6723
+
a3 = a3 | 0;
6724
6724
+
c2 = c2 | 0;
6725
6725
+
d2 = d2 | 0;
6726
6726
+
e2 = e2 | 0;
6727
6727
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0;
6728
6728
+
p3 = T;
6729
6729
+
T = T + 16 | 0;
6730
6730
+
n = p3;
6731
6731
+
o = p3 + 8 | 0;
6732
6732
+
m = n;
6733
6733
+
b[m >> 2] = a3;
6734
6734
+
b[m + 4 >> 2] = c2;
6735
6735
+
if ((d2 | 0) < 0) {
6736
6736
+
o = 2;
6737
6737
+
T = p3;
6738
6738
+
return o | 0;
6739
6739
+
}
6740
6740
+
if (!d2) {
6741
6741
+
o = e2;
6742
6742
+
b[o >> 2] = a3;
6743
6743
+
b[o + 4 >> 2] = c2;
6744
6744
+
o = 0;
6745
6745
+
T = p3;
6746
6746
+
return o | 0;
6747
6747
+
}
6748
6748
+
b[o >> 2] = 0;
6749
6749
+
a:
6750
6750
+
do {
6751
6751
+
if (!(Hb(a3, c2) | 0)) {
6752
6752
+
f2 = 0;
6753
6753
+
m = a3;
6754
6754
+
do {
6755
6755
+
a3 = ea(m, c2, 4, o, n) | 0;
6756
6756
+
if (a3 | 0) {
6757
6757
+
break a;
6758
6758
+
}
6759
6759
+
c2 = n;
6760
6760
+
m = b[c2 >> 2] | 0;
6761
6761
+
c2 = b[c2 + 4 >> 2] | 0;
6762
6762
+
f2 = f2 + 1 | 0;
6763
6763
+
if (Hb(m, c2) | 0) {
6764
6764
+
a3 = 9;
6765
6765
+
break a;
6766
6766
+
}
6767
6767
+
} while ((f2 | 0) < (d2 | 0));
6768
6768
+
l = e2;
6769
6769
+
b[l >> 2] = m;
6770
6770
+
b[l + 4 >> 2] = c2;
6771
6771
+
l = d2 + -1 | 0;
6772
6772
+
k = 0;
6773
6773
+
a3 = 1;
6774
6774
+
do {
6775
6775
+
f2 = 26800 + (k << 2) | 0;
6776
6776
+
if ((k | 0) == 5) {
6777
6777
+
h = b[f2 >> 2] | 0;
6778
6778
+
g2 = 0;
6779
6779
+
f2 = a3;
6780
6780
+
while (true) {
6781
6781
+
a3 = n;
6782
6782
+
a3 = ea(b[a3 >> 2] | 0, b[a3 + 4 >> 2] | 0, h, o, n) | 0;
6783
6783
+
if (a3 | 0) {
6784
6784
+
break a;
6785
6785
+
}
6786
6786
+
if ((g2 | 0) != (l | 0)) {
6787
6787
+
j = n;
6788
6788
+
i = b[j >> 2] | 0;
6789
6789
+
j = b[j + 4 >> 2] | 0;
6790
6790
+
a3 = e2 + (f2 << 3) | 0;
6791
6791
+
b[a3 >> 2] = i;
6792
6792
+
b[a3 + 4 >> 2] = j;
6793
6793
+
if (!(Hb(i, j) | 0)) {
6794
6794
+
a3 = f2 + 1 | 0;
6795
6795
+
} else {
6796
6796
+
a3 = 9;
6797
6797
+
break a;
6798
6798
+
}
6799
6799
+
} else {
6800
6800
+
a3 = f2;
6801
6801
+
}
6802
6802
+
g2 = g2 + 1 | 0;
6803
6803
+
if ((g2 | 0) >= (d2 | 0)) {
6804
6804
+
break;
6805
6805
+
} else {
6806
6806
+
f2 = a3;
6807
6807
+
}
6808
6808
+
}
6809
6809
+
} else {
6810
6810
+
h = n;
6811
6811
+
j = b[f2 >> 2] | 0;
6812
6812
+
i = 0;
6813
6813
+
f2 = a3;
6814
6814
+
g2 = b[h >> 2] | 0;
6815
6815
+
h = b[h + 4 >> 2] | 0;
6816
6816
+
while (true) {
6817
6817
+
a3 = ea(g2, h, j, o, n) | 0;
6818
6818
+
if (a3 | 0) {
6819
6819
+
break a;
6820
6820
+
}
6821
6821
+
h = n;
6822
6822
+
g2 = b[h >> 2] | 0;
6823
6823
+
h = b[h + 4 >> 2] | 0;
6824
6824
+
a3 = e2 + (f2 << 3) | 0;
6825
6825
+
b[a3 >> 2] = g2;
6826
6826
+
b[a3 + 4 >> 2] = h;
6827
6827
+
a3 = f2 + 1 | 0;
6828
6828
+
if (Hb(g2, h) | 0) {
6829
6829
+
a3 = 9;
6830
6830
+
break a;
6831
6831
+
}
6832
6832
+
i = i + 1 | 0;
6833
6833
+
if ((i | 0) >= (d2 | 0)) {
6834
6834
+
break;
6835
6835
+
} else {
6836
6836
+
f2 = a3;
6837
6837
+
}
6838
6838
+
}
6839
6839
+
}
6840
6840
+
k = k + 1 | 0;
6841
6841
+
} while (k >>> 0 < 6);
6842
6842
+
a3 = n;
6843
6843
+
a3 = ((m | 0) == (b[a3 >> 2] | 0) ? (c2 | 0) == (b[a3 + 4 >> 2] | 0) : 0) ? 0 : 9;
6844
6844
+
} else {
6845
6845
+
a3 = 9;
6846
6846
+
}
6847
6847
+
} while (0);
6848
6848
+
o = a3;
6849
6849
+
T = p3;
6850
6850
+
return o | 0;
6851
6851
+
}
6852
6852
+
function ha(a3, c2, d2, e2) {
6853
6853
+
a3 = a3 | 0;
6854
6854
+
c2 = c2 | 0;
6855
6855
+
d2 = d2 | 0;
6856
6856
+
e2 = e2 | 0;
6857
6857
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
6858
6858
+
m = T;
6859
6859
+
T = T + 16 | 0;
6860
6860
+
h = m;
6861
6861
+
if (!d2) {
6862
6862
+
b[e2 >> 2] = a3;
6863
6863
+
b[e2 + 4 >> 2] = c2;
6864
6864
+
e2 = 0;
6865
6865
+
T = m;
6866
6866
+
return e2 | 0;
6867
6867
+
}
6868
6868
+
do {
6869
6869
+
if ((d2 | 0) >= 0) {
6870
6870
+
if ((d2 | 0) > 13780509) {
6871
6871
+
f2 = uc(15, h) | 0;
6872
6872
+
if (f2 | 0) {
6873
6873
+
break;
6874
6874
+
}
6875
6875
+
g2 = h;
6876
6876
+
f2 = b[g2 >> 2] | 0;
6877
6877
+
g2 = b[g2 + 4 >> 2] | 0;
6878
6878
+
} else {
6879
6879
+
f2 = ((d2 | 0) < 0) << 31 >> 31;
6880
6880
+
l = Md(d2 | 0, f2 | 0, 3, 0) | 0;
6881
6881
+
g2 = H() | 0;
6882
6882
+
f2 = Gd(d2 | 0, f2 | 0, 1, 0) | 0;
6883
6883
+
f2 = Md(l | 0, g2 | 0, f2 | 0, H() | 0) | 0;
6884
6884
+
f2 = Gd(f2 | 0, H() | 0, 1, 0) | 0;
6885
6885
+
g2 = H() | 0;
6886
6886
+
l = h;
6887
6887
+
b[l >> 2] = f2;
6888
6888
+
b[l + 4 >> 2] = g2;
6889
6889
+
}
6890
6890
+
k = Fd(f2, 8) | 0;
6891
6891
+
if (!k) {
6892
6892
+
f2 = 13;
6893
6893
+
} else {
6894
6894
+
l = Fd(f2, 4) | 0;
6895
6895
+
if (!l) {
6896
6896
+
Ed(k);
6897
6897
+
f2 = 13;
6898
6898
+
break;
6899
6899
+
}
6900
6900
+
f2 = da(a3, c2, d2, k, l, f2, g2, 0) | 0;
6901
6901
+
if (f2 | 0) {
6902
6902
+
Ed(k);
6903
6903
+
Ed(l);
6904
6904
+
break;
6905
6905
+
}
6906
6906
+
c2 = b[h >> 2] | 0;
6907
6907
+
h = b[h + 4 >> 2] | 0;
6908
6908
+
if ((h | 0) > 0 | (h | 0) == 0 & c2 >>> 0 > 0) {
6909
6909
+
f2 = 0;
6910
6910
+
i = 0;
6911
6911
+
j = 0;
6912
6912
+
do {
6913
6913
+
a3 = k + (i << 3) | 0;
6914
6914
+
g2 = b[a3 >> 2] | 0;
6915
6915
+
a3 = b[a3 + 4 >> 2] | 0;
6916
6916
+
if (!((g2 | 0) == 0 & (a3 | 0) == 0) ? (b[l + (i << 2) >> 2] | 0) == (d2 | 0) : 0) {
6917
6917
+
n = e2 + (f2 << 3) | 0;
6918
6918
+
b[n >> 2] = g2;
6919
6919
+
b[n + 4 >> 2] = a3;
6920
6920
+
f2 = f2 + 1 | 0;
6921
6921
+
}
6922
6922
+
i = Gd(i | 0, j | 0, 1, 0) | 0;
6923
6923
+
j = H() | 0;
6924
6924
+
} while ((j | 0) < (h | 0) | (j | 0) == (h | 0) & i >>> 0 < c2 >>> 0);
6925
6925
+
}
6926
6926
+
Ed(k);
6927
6927
+
Ed(l);
6928
6928
+
f2 = 0;
6929
6929
+
}
6930
6930
+
} else {
6931
6931
+
f2 = 2;
6932
6932
+
}
6933
6933
+
} while (0);
6934
6934
+
n = f2;
6935
6935
+
T = m;
6936
6936
+
return n | 0;
6937
6937
+
}
6938
6938
+
function ia(a3, c2, d2, e2) {
6939
6939
+
a3 = a3 | 0;
6940
6940
+
c2 = c2 | 0;
6941
6941
+
d2 = d2 | 0;
6942
6942
+
e2 = e2 | 0;
6943
6943
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
6944
6944
+
i = T;
6945
6945
+
T = T + 16 | 0;
6946
6946
+
g2 = i;
6947
6947
+
h = i + 8 | 0;
6948
6948
+
f2 = (Hb(a3, c2) | 0) == 0;
6949
6949
+
f2 = f2 ? 1 : 2;
6950
6950
+
while (true) {
6951
6951
+
b[h >> 2] = 0;
6952
6952
+
k = (ea(a3, c2, f2, h, g2) | 0) == 0;
6953
6953
+
j = g2;
6954
6954
+
if (k & ((b[j >> 2] | 0) == (d2 | 0) ? (b[j + 4 >> 2] | 0) == (e2 | 0) : 0)) {
6955
6955
+
a3 = 4;
6956
6956
+
break;
6957
6957
+
}
6958
6958
+
f2 = f2 + 1 | 0;
6959
6959
+
if (f2 >>> 0 >= 7) {
6960
6960
+
f2 = 7;
6961
6961
+
a3 = 4;
6962
6962
+
break;
6963
6963
+
}
6964
6964
+
}
6965
6965
+
if ((a3 | 0) == 4) {
6966
6966
+
T = i;
6967
6967
+
return f2 | 0;
6968
6968
+
}
6969
6969
+
return 0;
6970
6970
+
}
6971
6971
+
function ja(a3, c2, d2, e2) {
6972
6972
+
a3 = a3 | 0;
6973
6973
+
c2 = c2 | 0;
6974
6974
+
d2 = d2 | 0;
6975
6975
+
e2 = e2 | 0;
6976
6976
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
6977
6977
+
i = T;
6978
6978
+
T = T + 48 | 0;
6979
6979
+
f2 = i + 16 | 0;
6980
6980
+
g2 = i + 8 | 0;
6981
6981
+
h = i;
6982
6982
+
d2 = Xc(d2) | 0;
6983
6983
+
if (d2 | 0) {
6984
6984
+
h = d2;
6985
6985
+
T = i;
6986
6986
+
return h | 0;
6987
6987
+
}
6988
6988
+
k = a3;
6989
6989
+
j = b[k + 4 >> 2] | 0;
6990
6990
+
d2 = g2;
6991
6991
+
b[d2 >> 2] = b[k >> 2];
6992
6992
+
b[d2 + 4 >> 2] = j;
6993
6993
+
Wc(g2, f2);
6994
6994
+
d2 = Ha(f2, c2, h) | 0;
6995
6995
+
if (!d2) {
6996
6996
+
c2 = b[g2 >> 2] | 0;
6997
6997
+
g2 = b[a3 + 8 >> 2] | 0;
6998
6998
+
if ((g2 | 0) > 0) {
6999
6999
+
f2 = b[a3 + 12 >> 2] | 0;
7000
7000
+
d2 = 0;
7001
7001
+
do {
7002
7002
+
c2 = (b[f2 + (d2 << 3) >> 2] | 0) + c2 | 0;
7003
7003
+
d2 = d2 + 1 | 0;
7004
7004
+
} while ((d2 | 0) < (g2 | 0));
7005
7005
+
}
7006
7006
+
d2 = h;
7007
7007
+
f2 = b[d2 >> 2] | 0;
7008
7008
+
d2 = b[d2 + 4 >> 2] | 0;
7009
7009
+
g2 = ((c2 | 0) < 0) << 31 >> 31;
7010
7010
+
if ((d2 | 0) < (g2 | 0) | (d2 | 0) == (g2 | 0) & f2 >>> 0 < c2 >>> 0) {
7011
7011
+
d2 = h;
7012
7012
+
b[d2 >> 2] = c2;
7013
7013
+
b[d2 + 4 >> 2] = g2;
7014
7014
+
d2 = g2;
7015
7015
+
} else {
7016
7016
+
c2 = f2;
7017
7017
+
}
7018
7018
+
j = Gd(c2 | 0, d2 | 0, 12, 0) | 0;
7019
7019
+
k = H() | 0;
7020
7020
+
d2 = h;
7021
7021
+
b[d2 >> 2] = j;
7022
7022
+
b[d2 + 4 >> 2] = k;
7023
7023
+
d2 = e2;
7024
7024
+
b[d2 >> 2] = j;
7025
7025
+
b[d2 + 4 >> 2] = k;
7026
7026
+
d2 = 0;
7027
7027
+
}
7028
7028
+
k = d2;
7029
7029
+
T = i;
7030
7030
+
return k | 0;
7031
7031
+
}
7032
7032
+
function ka(a3, c2, d2, f2, g2, h, i) {
7033
7033
+
a3 = a3 | 0;
7034
7034
+
c2 = c2 | 0;
7035
7035
+
d2 = d2 | 0;
7036
7036
+
f2 = f2 | 0;
7037
7037
+
g2 = g2 | 0;
7038
7038
+
h = h | 0;
7039
7039
+
i = i | 0;
7040
7040
+
var j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0, E2 = 0, F = 0, G2 = 0, I2 = 0, J2 = 0, K2 = 0, L2 = 0, M2 = 0;
7041
7041
+
I2 = T;
7042
7042
+
T = T + 64 | 0;
7043
7043
+
D2 = I2 + 48 | 0;
7044
7044
+
E2 = I2 + 32 | 0;
7045
7045
+
F = I2 + 24 | 0;
7046
7046
+
x2 = I2 + 8 | 0;
7047
7047
+
y2 = I2;
7048
7048
+
k = b[a3 >> 2] | 0;
7049
7049
+
if ((k | 0) <= 0) {
7050
7050
+
G2 = 0;
7051
7051
+
T = I2;
7052
7052
+
return G2 | 0;
7053
7053
+
}
7054
7054
+
z2 = a3 + 4 | 0;
7055
7055
+
A2 = D2 + 8 | 0;
7056
7056
+
B2 = E2 + 8 | 0;
7057
7057
+
C2 = x2 + 8 | 0;
7058
7058
+
j = 0;
7059
7059
+
v2 = 0;
7060
7060
+
while (true) {
7061
7061
+
l = b[z2 >> 2] | 0;
7062
7062
+
u2 = l + (v2 << 4) | 0;
7063
7063
+
b[D2 >> 2] = b[u2 >> 2];
7064
7064
+
b[D2 + 4 >> 2] = b[u2 + 4 >> 2];
7065
7065
+
b[D2 + 8 >> 2] = b[u2 + 8 >> 2];
7066
7066
+
b[D2 + 12 >> 2] = b[u2 + 12 >> 2];
7067
7067
+
if ((v2 | 0) == (k + -1 | 0)) {
7068
7068
+
b[E2 >> 2] = b[l >> 2];
7069
7069
+
b[E2 + 4 >> 2] = b[l + 4 >> 2];
7070
7070
+
b[E2 + 8 >> 2] = b[l + 8 >> 2];
7071
7071
+
b[E2 + 12 >> 2] = b[l + 12 >> 2];
7072
7072
+
} else {
7073
7073
+
u2 = l + (v2 + 1 << 4) | 0;
7074
7074
+
b[E2 >> 2] = b[u2 >> 2];
7075
7075
+
b[E2 + 4 >> 2] = b[u2 + 4 >> 2];
7076
7076
+
b[E2 + 8 >> 2] = b[u2 + 8 >> 2];
7077
7077
+
b[E2 + 12 >> 2] = b[u2 + 12 >> 2];
7078
7078
+
}
7079
7079
+
k = Ia(D2, E2, f2, F) | 0;
7080
7080
+
a:
7081
7081
+
do {
7082
7082
+
if (!k) {
7083
7083
+
k = F;
7084
7084
+
l = b[k >> 2] | 0;
7085
7085
+
k = b[k + 4 >> 2] | 0;
7086
7086
+
if ((k | 0) > 0 | (k | 0) == 0 & l >>> 0 > 0) {
7087
7087
+
t2 = 0;
7088
7088
+
u2 = 0;
7089
7089
+
b:
7090
7090
+
while (true) {
7091
7091
+
K2 = 1 / (+(l >>> 0) + 4294967296 * +(k | 0));
7092
7092
+
M2 = +e[D2 >> 3];
7093
7093
+
k = Hd(l | 0, k | 0, t2 | 0, u2 | 0) | 0;
7094
7094
+
L2 = +(k >>> 0) + 4294967296 * +(H() | 0);
7095
7095
+
J2 = +(t2 >>> 0) + 4294967296 * +(u2 | 0);
7096
7096
+
e[x2 >> 3] = K2 * (M2 * L2) + K2 * (+e[E2 >> 3] * J2);
7097
7097
+
e[C2 >> 3] = K2 * (+e[A2 >> 3] * L2) + K2 * (+e[B2 >> 3] * J2);
7098
7098
+
k = Wb(x2, f2, y2) | 0;
7099
7099
+
if (k | 0) {
7100
7100
+
j = k;
7101
7101
+
break;
7102
7102
+
}
7103
7103
+
s2 = y2;
7104
7104
+
r2 = b[s2 >> 2] | 0;
7105
7105
+
s2 = b[s2 + 4 >> 2] | 0;
7106
7106
+
o = Od(r2 | 0, s2 | 0, c2 | 0, d2 | 0) | 0;
7107
7107
+
m = H() | 0;
7108
7108
+
k = i + (o << 3) | 0;
7109
7109
+
n = k;
7110
7110
+
l = b[n >> 2] | 0;
7111
7111
+
n = b[n + 4 >> 2] | 0;
7112
7112
+
c:
7113
7113
+
do {
7114
7114
+
if ((l | 0) == 0 & (n | 0) == 0) {
7115
7115
+
w2 = k;
7116
7116
+
G2 = 16;
7117
7117
+
} else {
7118
7118
+
p3 = 0;
7119
7119
+
q2 = 0;
7120
7120
+
while (true) {
7121
7121
+
if ((p3 | 0) > (d2 | 0) | (p3 | 0) == (d2 | 0) & q2 >>> 0 > c2 >>> 0) {
7122
7122
+
j = 1;
7123
7123
+
break b;
7124
7124
+
}
7125
7125
+
if ((l | 0) == (r2 | 0) & (n | 0) == (s2 | 0)) {
7126
7126
+
break c;
7127
7127
+
}
7128
7128
+
k = Gd(o | 0, m | 0, 1, 0) | 0;
7129
7129
+
o = Nd(k | 0, H() | 0, c2 | 0, d2 | 0) | 0;
7130
7130
+
m = H() | 0;
7131
7131
+
q2 = Gd(q2 | 0, p3 | 0, 1, 0) | 0;
7132
7132
+
p3 = H() | 0;
7133
7133
+
k = i + (o << 3) | 0;
7134
7134
+
n = k;
7135
7135
+
l = b[n >> 2] | 0;
7136
7136
+
n = b[n + 4 >> 2] | 0;
7137
7137
+
if ((l | 0) == 0 & (n | 0) == 0) {
7138
7138
+
w2 = k;
7139
7139
+
G2 = 16;
7140
7140
+
break;
7141
7141
+
}
7142
7142
+
}
7143
7143
+
}
7144
7144
+
} while (0);
7145
7145
+
if ((G2 | 0) == 16 ? (G2 = 0, !((r2 | 0) == 0 & (s2 | 0) == 0)) : 0) {
7146
7146
+
q2 = w2;
7147
7147
+
b[q2 >> 2] = r2;
7148
7148
+
b[q2 + 4 >> 2] = s2;
7149
7149
+
q2 = h + (b[g2 >> 2] << 3) | 0;
7150
7150
+
b[q2 >> 2] = r2;
7151
7151
+
b[q2 + 4 >> 2] = s2;
7152
7152
+
q2 = g2;
7153
7153
+
q2 = Gd(b[q2 >> 2] | 0, b[q2 + 4 >> 2] | 0, 1, 0) | 0;
7154
7154
+
r2 = H() | 0;
7155
7155
+
s2 = g2;
7156
7156
+
b[s2 >> 2] = q2;
7157
7157
+
b[s2 + 4 >> 2] = r2;
7158
7158
+
}
7159
7159
+
t2 = Gd(t2 | 0, u2 | 0, 1, 0) | 0;
7160
7160
+
u2 = H() | 0;
7161
7161
+
k = F;
7162
7162
+
l = b[k >> 2] | 0;
7163
7163
+
k = b[k + 4 >> 2] | 0;
7164
7164
+
if (!((k | 0) > (u2 | 0) | (k | 0) == (u2 | 0) & l >>> 0 > t2 >>> 0)) {
7165
7165
+
l = 1;
7166
7166
+
break a;
7167
7167
+
}
7168
7168
+
}
7169
7169
+
l = 0;
7170
7170
+
} else {
7171
7171
+
l = 1;
7172
7172
+
}
7173
7173
+
} else {
7174
7174
+
l = 0;
7175
7175
+
j = k;
7176
7176
+
}
7177
7177
+
} while (0);
7178
7178
+
v2 = v2 + 1 | 0;
7179
7179
+
if (!l) {
7180
7180
+
G2 = 21;
7181
7181
+
break;
7182
7182
+
}
7183
7183
+
k = b[a3 >> 2] | 0;
7184
7184
+
if ((v2 | 0) >= (k | 0)) {
7185
7185
+
j = 0;
7186
7186
+
G2 = 21;
7187
7187
+
break;
7188
7188
+
}
7189
7189
+
}
7190
7190
+
if ((G2 | 0) == 21) {
7191
7191
+
T = I2;
7192
7192
+
return j | 0;
7193
7193
+
}
7194
7194
+
return 0;
7195
7195
+
}
7196
7196
+
function la(a3, c2, d2, e2) {
7197
7197
+
a3 = a3 | 0;
7198
7198
+
c2 = c2 | 0;
7199
7199
+
d2 = d2 | 0;
7200
7200
+
e2 = e2 | 0;
7201
7201
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0, E2 = 0, F = 0, G2 = 0, I2 = 0, J2 = 0, K2 = 0;
7202
7202
+
K2 = T;
7203
7203
+
T = T + 112 | 0;
7204
7204
+
F = K2 + 80 | 0;
7205
7205
+
j = K2 + 72 | 0;
7206
7206
+
G2 = K2;
7207
7207
+
I2 = K2 + 56 | 0;
7208
7208
+
f2 = Xc(d2) | 0;
7209
7209
+
if (f2 | 0) {
7210
7210
+
J2 = f2;
7211
7211
+
T = K2;
7212
7212
+
return J2 | 0;
7213
7213
+
}
7214
7214
+
k = a3 + 8 | 0;
7215
7215
+
J2 = Dd((b[k >> 2] << 5) + 32 | 0) | 0;
7216
7216
+
if (!J2) {
7217
7217
+
J2 = 13;
7218
7218
+
T = K2;
7219
7219
+
return J2 | 0;
7220
7220
+
}
7221
7221
+
Yc(a3, J2);
7222
7222
+
f2 = Xc(d2) | 0;
7223
7223
+
if (!f2) {
7224
7224
+
D2 = a3;
7225
7225
+
E2 = b[D2 + 4 >> 2] | 0;
7226
7226
+
f2 = j;
7227
7227
+
b[f2 >> 2] = b[D2 >> 2];
7228
7228
+
b[f2 + 4 >> 2] = E2;
7229
7229
+
Wc(j, F);
7230
7230
+
f2 = Ha(F, c2, G2) | 0;
7231
7231
+
if (!f2) {
7232
7232
+
f2 = b[j >> 2] | 0;
7233
7233
+
g2 = b[k >> 2] | 0;
7234
7234
+
if ((g2 | 0) > 0) {
7235
7235
+
h = b[a3 + 12 >> 2] | 0;
7236
7236
+
d2 = 0;
7237
7237
+
do {
7238
7238
+
f2 = (b[h + (d2 << 3) >> 2] | 0) + f2 | 0;
7239
7239
+
d2 = d2 + 1 | 0;
7240
7240
+
} while ((d2 | 0) != (g2 | 0));
7241
7241
+
d2 = f2;
7242
7242
+
} else {
7243
7243
+
d2 = f2;
7244
7244
+
}
7245
7245
+
f2 = G2;
7246
7246
+
g2 = b[f2 >> 2] | 0;
7247
7247
+
f2 = b[f2 + 4 >> 2] | 0;
7248
7248
+
h = ((d2 | 0) < 0) << 31 >> 31;
7249
7249
+
if ((f2 | 0) < (h | 0) | (f2 | 0) == (h | 0) & g2 >>> 0 < d2 >>> 0) {
7250
7250
+
f2 = G2;
7251
7251
+
b[f2 >> 2] = d2;
7252
7252
+
b[f2 + 4 >> 2] = h;
7253
7253
+
f2 = h;
7254
7254
+
} else {
7255
7255
+
d2 = g2;
7256
7256
+
}
7257
7257
+
D2 = Gd(d2 | 0, f2 | 0, 12, 0) | 0;
7258
7258
+
E2 = H() | 0;
7259
7259
+
f2 = G2;
7260
7260
+
b[f2 >> 2] = D2;
7261
7261
+
b[f2 + 4 >> 2] = E2;
7262
7262
+
f2 = 0;
7263
7263
+
} else {
7264
7264
+
D2 = 0;
7265
7265
+
E2 = 0;
7266
7266
+
}
7267
7267
+
if (!f2) {
7268
7268
+
d2 = Fd(D2, 8) | 0;
7269
7269
+
if (!d2) {
7270
7270
+
Ed(J2);
7271
7271
+
J2 = 13;
7272
7272
+
T = K2;
7273
7273
+
return J2 | 0;
7274
7274
+
}
7275
7275
+
i = Fd(D2, 8) | 0;
7276
7276
+
if (!i) {
7277
7277
+
Ed(J2);
7278
7278
+
Ed(d2);
7279
7279
+
J2 = 13;
7280
7280
+
T = K2;
7281
7281
+
return J2 | 0;
7282
7282
+
}
7283
7283
+
B2 = F;
7284
7284
+
b[B2 >> 2] = 0;
7285
7285
+
b[B2 + 4 >> 2] = 0;
7286
7286
+
B2 = a3;
7287
7287
+
C2 = b[B2 + 4 >> 2] | 0;
7288
7288
+
f2 = j;
7289
7289
+
b[f2 >> 2] = b[B2 >> 2];
7290
7290
+
b[f2 + 4 >> 2] = C2;
7291
7291
+
f2 = ka(j, D2, E2, c2, F, d2, i) | 0;
7292
7292
+
a:
7293
7293
+
do {
7294
7294
+
if (!f2) {
7295
7295
+
b:
7296
7296
+
do {
7297
7297
+
if ((b[k >> 2] | 0) > 0) {
7298
7298
+
h = a3 + 12 | 0;
7299
7299
+
g2 = 0;
7300
7300
+
while (true) {
7301
7301
+
f2 = ka((b[h >> 2] | 0) + (g2 << 3) | 0, D2, E2, c2, F, d2, i) | 0;
7302
7302
+
g2 = g2 + 1 | 0;
7303
7303
+
if (f2 | 0) {
7304
7304
+
break;
7305
7305
+
}
7306
7306
+
if ((g2 | 0) >= (b[k >> 2] | 0)) {
7307
7307
+
break b;
7308
7308
+
}
7309
7309
+
}
7310
7310
+
Ed(d2);
7311
7311
+
Ed(i);
7312
7312
+
Ed(J2);
7313
7313
+
break a;
7314
7314
+
}
7315
7315
+
} while (0);
7316
7316
+
if ((E2 | 0) > 0 | (E2 | 0) == 0 & D2 >>> 0 > 0) {
7317
7317
+
Xd(i | 0, 0, D2 << 3 | 0) | 0;
7318
7318
+
}
7319
7319
+
C2 = F;
7320
7320
+
B2 = b[C2 + 4 >> 2] | 0;
7321
7321
+
c:
7322
7322
+
do {
7323
7323
+
if ((B2 | 0) > 0 | (B2 | 0) == 0 & (b[C2 >> 2] | 0) >>> 0 > 0) {
7324
7324
+
y2 = d2;
7325
7325
+
z2 = i;
7326
7326
+
A2 = d2;
7327
7327
+
B2 = i;
7328
7328
+
C2 = d2;
7329
7329
+
f2 = d2;
7330
7330
+
v2 = d2;
7331
7331
+
w2 = i;
7332
7332
+
x2 = i;
7333
7333
+
d2 = i;
7334
7334
+
d:
7335
7335
+
while (true) {
7336
7336
+
r2 = 0;
7337
7337
+
s2 = 0;
7338
7338
+
t2 = 0;
7339
7339
+
u2 = 0;
7340
7340
+
g2 = 0;
7341
7341
+
h = 0;
7342
7342
+
while (true) {
7343
7343
+
i = G2;
7344
7344
+
j = i + 56 | 0;
7345
7345
+
do {
7346
7346
+
b[i >> 2] = 0;
7347
7347
+
i = i + 4 | 0;
7348
7348
+
} while ((i | 0) < (j | 0));
7349
7349
+
c2 = y2 + (r2 << 3) | 0;
7350
7350
+
k = b[c2 >> 2] | 0;
7351
7351
+
c2 = b[c2 + 4 >> 2] | 0;
7352
7352
+
if (ca(k, c2, 1, G2, 0) | 0) {
7353
7353
+
i = G2;
7354
7354
+
j = i + 56 | 0;
7355
7355
+
do {
7356
7356
+
b[i >> 2] = 0;
7357
7357
+
i = i + 4 | 0;
7358
7358
+
} while ((i | 0) < (j | 0));
7359
7359
+
i = Fd(7, 4) | 0;
7360
7360
+
if (i | 0) {
7361
7361
+
da(k, c2, 1, G2, i, 7, 0, 0) | 0;
7362
7362
+
Ed(i);
7363
7363
+
}
7364
7364
+
}
7365
7365
+
q2 = 0;
7366
7366
+
while (true) {
7367
7367
+
p3 = G2 + (q2 << 3) | 0;
7368
7368
+
o = b[p3 >> 2] | 0;
7369
7369
+
p3 = b[p3 + 4 >> 2] | 0;
7370
7370
+
e:
7371
7371
+
do {
7372
7372
+
if ((o | 0) == 0 & (p3 | 0) == 0) {
7373
7373
+
i = g2;
7374
7374
+
j = h;
7375
7375
+
} else {
7376
7376
+
l = Od(o | 0, p3 | 0, D2 | 0, E2 | 0) | 0;
7377
7377
+
k = H() | 0;
7378
7378
+
i = e2 + (l << 3) | 0;
7379
7379
+
c2 = i;
7380
7380
+
j = b[c2 >> 2] | 0;
7381
7381
+
c2 = b[c2 + 4 >> 2] | 0;
7382
7382
+
if (!((j | 0) == 0 & (c2 | 0) == 0)) {
7383
7383
+
m = 0;
7384
7384
+
n = 0;
7385
7385
+
do {
7386
7386
+
if ((m | 0) > (E2 | 0) | (m | 0) == (E2 | 0) & n >>> 0 > D2 >>> 0) {
7387
7387
+
break d;
7388
7388
+
}
7389
7389
+
if ((j | 0) == (o | 0) & (c2 | 0) == (p3 | 0)) {
7390
7390
+
i = g2;
7391
7391
+
j = h;
7392
7392
+
break e;
7393
7393
+
}
7394
7394
+
i = Gd(l | 0, k | 0, 1, 0) | 0;
7395
7395
+
l = Nd(i | 0, H() | 0, D2 | 0, E2 | 0) | 0;
7396
7396
+
k = H() | 0;
7397
7397
+
n = Gd(n | 0, m | 0, 1, 0) | 0;
7398
7398
+
m = H() | 0;
7399
7399
+
i = e2 + (l << 3) | 0;
7400
7400
+
c2 = i;
7401
7401
+
j = b[c2 >> 2] | 0;
7402
7402
+
c2 = b[c2 + 4 >> 2] | 0;
7403
7403
+
} while (!((j | 0) == 0 & (c2 | 0) == 0));
7404
7404
+
}
7405
7405
+
if ((o | 0) == 0 & (p3 | 0) == 0) {
7406
7406
+
i = g2;
7407
7407
+
j = h;
7408
7408
+
break;
7409
7409
+
}
7410
7410
+
Zb(o, p3, I2) | 0;
7411
7411
+
if (Zc(a3, J2, I2) | 0) {
7412
7412
+
n = Gd(g2 | 0, h | 0, 1, 0) | 0;
7413
7413
+
h = H() | 0;
7414
7414
+
m = i;
7415
7415
+
b[m >> 2] = o;
7416
7416
+
b[m + 4 >> 2] = p3;
7417
7417
+
g2 = z2 + (g2 << 3) | 0;
7418
7418
+
b[g2 >> 2] = o;
7419
7419
+
b[g2 + 4 >> 2] = p3;
7420
7420
+
g2 = n;
7421
7421
+
}
7422
7422
+
i = g2;
7423
7423
+
j = h;
7424
7424
+
}
7425
7425
+
} while (0);
7426
7426
+
q2 = q2 + 1 | 0;
7427
7427
+
if (q2 >>> 0 >= 7) {
7428
7428
+
break;
7429
7429
+
} else {
7430
7430
+
g2 = i;
7431
7431
+
h = j;
7432
7432
+
}
7433
7433
+
}
7434
7434
+
r2 = Gd(r2 | 0, s2 | 0, 1, 0) | 0;
7435
7435
+
s2 = H() | 0;
7436
7436
+
t2 = Gd(t2 | 0, u2 | 0, 1, 0) | 0;
7437
7437
+
u2 = H() | 0;
7438
7438
+
h = F;
7439
7439
+
g2 = b[h >> 2] | 0;
7440
7440
+
h = b[h + 4 >> 2] | 0;
7441
7441
+
if (!((u2 | 0) < (h | 0) | (u2 | 0) == (h | 0) & t2 >>> 0 < g2 >>> 0)) {
7442
7442
+
break;
7443
7443
+
} else {
7444
7444
+
g2 = i;
7445
7445
+
h = j;
7446
7446
+
}
7447
7447
+
}
7448
7448
+
if ((h | 0) > 0 | (h | 0) == 0 & g2 >>> 0 > 0) {
7449
7449
+
g2 = 0;
7450
7450
+
h = 0;
7451
7451
+
do {
7452
7452
+
u2 = y2 + (g2 << 3) | 0;
7453
7453
+
b[u2 >> 2] = 0;
7454
7454
+
b[u2 + 4 >> 2] = 0;
7455
7455
+
g2 = Gd(g2 | 0, h | 0, 1, 0) | 0;
7456
7456
+
h = H() | 0;
7457
7457
+
u2 = F;
7458
7458
+
t2 = b[u2 + 4 >> 2] | 0;
7459
7459
+
} while ((h | 0) < (t2 | 0) | ((h | 0) == (t2 | 0) ? g2 >>> 0 < (b[u2 >> 2] | 0) >>> 0 : 0));
7460
7460
+
}
7461
7461
+
u2 = F;
7462
7462
+
b[u2 >> 2] = i;
7463
7463
+
b[u2 + 4 >> 2] = j;
7464
7464
+
if ((j | 0) > 0 | (j | 0) == 0 & i >>> 0 > 0) {
7465
7465
+
q2 = d2;
7466
7466
+
r2 = x2;
7467
7467
+
s2 = C2;
7468
7468
+
t2 = w2;
7469
7469
+
u2 = z2;
7470
7470
+
d2 = v2;
7471
7471
+
x2 = f2;
7472
7472
+
w2 = A2;
7473
7473
+
v2 = q2;
7474
7474
+
f2 = r2;
7475
7475
+
C2 = B2;
7476
7476
+
B2 = s2;
7477
7477
+
A2 = t2;
7478
7478
+
z2 = y2;
7479
7479
+
y2 = u2;
7480
7480
+
} else {
7481
7481
+
break c;
7482
7482
+
}
7483
7483
+
}
7484
7484
+
Ed(A2);
7485
7485
+
Ed(B2);
7486
7486
+
Ed(J2);
7487
7487
+
f2 = 1;
7488
7488
+
break a;
7489
7489
+
} else {
7490
7490
+
f2 = i;
7491
7491
+
}
7492
7492
+
} while (0);
7493
7493
+
Ed(J2);
7494
7494
+
Ed(d2);
7495
7495
+
Ed(f2);
7496
7496
+
f2 = 0;
7497
7497
+
} else {
7498
7498
+
Ed(d2);
7499
7499
+
Ed(i);
7500
7500
+
Ed(J2);
7501
7501
+
}
7502
7502
+
} while (0);
7503
7503
+
J2 = f2;
7504
7504
+
T = K2;
7505
7505
+
return J2 | 0;
7506
7506
+
}
7507
7507
+
}
7508
7508
+
Ed(J2);
7509
7509
+
J2 = f2;
7510
7510
+
T = K2;
7511
7511
+
return J2 | 0;
7512
7512
+
}
7513
7513
+
function ma(a3, c2, d2) {
7514
7514
+
a3 = a3 | 0;
7515
7515
+
c2 = c2 | 0;
7516
7516
+
d2 = d2 | 0;
7517
7517
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
7518
7518
+
l = T;
7519
7519
+
T = T + 176 | 0;
7520
7520
+
j = l;
7521
7521
+
if ((c2 | 0) < 1) {
7522
7522
+
ud(d2, 0, 0);
7523
7523
+
k = 0;
7524
7524
+
T = l;
7525
7525
+
return k | 0;
7526
7526
+
}
7527
7527
+
i = a3;
7528
7528
+
i = Qd(b[i >> 2] | 0, b[i + 4 >> 2] | 0, 52) | 0;
7529
7529
+
H() | 0;
7530
7530
+
ud(d2, (c2 | 0) > 6 ? c2 : 6, i & 15);
7531
7531
+
i = 0;
7532
7532
+
while (true) {
7533
7533
+
e2 = a3 + (i << 3) | 0;
7534
7534
+
e2 = _b(b[e2 >> 2] | 0, b[e2 + 4 >> 2] | 0, j) | 0;
7535
7535
+
if (e2 | 0) {
7536
7536
+
break;
7537
7537
+
}
7538
7538
+
e2 = b[j >> 2] | 0;
7539
7539
+
if ((e2 | 0) > 0) {
7540
7540
+
h = 0;
7541
7541
+
do {
7542
7542
+
g2 = j + 8 + (h << 4) | 0;
7543
7543
+
h = h + 1 | 0;
7544
7544
+
e2 = j + 8 + (((h | 0) % (e2 | 0) | 0) << 4) | 0;
7545
7545
+
f2 = zd(d2, e2, g2) | 0;
7546
7546
+
if (!f2) {
7547
7547
+
yd(d2, g2, e2) | 0;
7548
7548
+
} else {
7549
7549
+
xd(d2, f2) | 0;
7550
7550
+
}
7551
7551
+
e2 = b[j >> 2] | 0;
7552
7552
+
} while ((h | 0) < (e2 | 0));
7553
7553
+
}
7554
7554
+
i = i + 1 | 0;
7555
7555
+
if ((i | 0) >= (c2 | 0)) {
7556
7556
+
e2 = 0;
7557
7557
+
k = 13;
7558
7558
+
break;
7559
7559
+
}
7560
7560
+
}
7561
7561
+
if ((k | 0) == 13) {
7562
7562
+
T = l;
7563
7563
+
return e2 | 0;
7564
7564
+
}
7565
7565
+
vd(d2);
7566
7566
+
k = e2;
7567
7567
+
T = l;
7568
7568
+
return k | 0;
7569
7569
+
}
7570
7570
+
function na(a3, c2, d2) {
7571
7571
+
a3 = a3 | 0;
7572
7572
+
c2 = c2 | 0;
7573
7573
+
d2 = d2 | 0;
7574
7574
+
var e2 = 0, f2 = 0, g2 = 0, h = 0;
7575
7575
+
g2 = T;
7576
7576
+
T = T + 32 | 0;
7577
7577
+
e2 = g2;
7578
7578
+
f2 = g2 + 16 | 0;
7579
7579
+
a3 = ma(a3, c2, f2) | 0;
7580
7580
+
if (a3 | 0) {
7581
7581
+
d2 = a3;
7582
7582
+
T = g2;
7583
7583
+
return d2 | 0;
7584
7584
+
}
7585
7585
+
b[d2 >> 2] = 0;
7586
7586
+
b[d2 + 4 >> 2] = 0;
7587
7587
+
b[d2 + 8 >> 2] = 0;
7588
7588
+
a3 = wd(f2) | 0;
7589
7589
+
if (a3 | 0) {
7590
7590
+
do {
7591
7591
+
c2 = Cc(d2) | 0;
7592
7592
+
do {
7593
7593
+
Dc(c2, a3) | 0;
7594
7594
+
h = a3 + 16 | 0;
7595
7595
+
b[e2 >> 2] = b[h >> 2];
7596
7596
+
b[e2 + 4 >> 2] = b[h + 4 >> 2];
7597
7597
+
b[e2 + 8 >> 2] = b[h + 8 >> 2];
7598
7598
+
b[e2 + 12 >> 2] = b[h + 12 >> 2];
7599
7599
+
xd(f2, a3) | 0;
7600
7600
+
a3 = Ad(f2, e2) | 0;
7601
7601
+
} while ((a3 | 0) != 0);
7602
7602
+
a3 = wd(f2) | 0;
7603
7603
+
} while ((a3 | 0) != 0);
7604
7604
+
}
7605
7605
+
vd(f2);
7606
7606
+
a3 = Fc(d2) | 0;
7607
7607
+
if (!a3) {
7608
7608
+
h = 0;
7609
7609
+
T = g2;
7610
7610
+
return h | 0;
7611
7611
+
}
7612
7612
+
Ec(d2);
7613
7613
+
h = a3;
7614
7614
+
T = g2;
7615
7615
+
return h | 0;
7616
7616
+
}
7617
7617
+
function oa(a3) {
7618
7618
+
a3 = a3 | 0;
7619
7619
+
if (a3 >>> 0 > 121) {
7620
7620
+
a3 = 0;
7621
7621
+
return a3 | 0;
7622
7622
+
}
7623
7623
+
a3 = b[7696 + (a3 * 28 | 0) + 16 >> 2] | 0;
7624
7624
+
return a3 | 0;
7625
7625
+
}
7626
7626
+
function pa(a3) {
7627
7627
+
a3 = a3 | 0;
7628
7628
+
return (a3 | 0) == 4 | (a3 | 0) == 117 | 0;
7629
7629
+
}
7630
7630
+
function qa(a3) {
7631
7631
+
a3 = a3 | 0;
7632
7632
+
return b[11120 + ((b[a3 >> 2] | 0) * 216 | 0) + ((b[a3 + 4 >> 2] | 0) * 72 | 0) + ((b[a3 + 8 >> 2] | 0) * 24 | 0) + (b[a3 + 12 >> 2] << 3) >> 2] | 0;
7633
7633
+
}
7634
7634
+
function ra(a3) {
7635
7635
+
a3 = a3 | 0;
7636
7636
+
return b[11120 + ((b[a3 >> 2] | 0) * 216 | 0) + ((b[a3 + 4 >> 2] | 0) * 72 | 0) + ((b[a3 + 8 >> 2] | 0) * 24 | 0) + (b[a3 + 12 >> 2] << 3) + 4 >> 2] | 0;
7637
7637
+
}
7638
7638
+
function sa(a3, c2) {
7639
7639
+
a3 = a3 | 0;
7640
7640
+
c2 = c2 | 0;
7641
7641
+
a3 = 7696 + (a3 * 28 | 0) | 0;
7642
7642
+
b[c2 >> 2] = b[a3 >> 2];
7643
7643
+
b[c2 + 4 >> 2] = b[a3 + 4 >> 2];
7644
7644
+
b[c2 + 8 >> 2] = b[a3 + 8 >> 2];
7645
7645
+
b[c2 + 12 >> 2] = b[a3 + 12 >> 2];
7646
7646
+
return;
7647
7647
+
}
7648
7648
+
function ta(a3, c2) {
7649
7649
+
a3 = a3 | 0;
7650
7650
+
c2 = c2 | 0;
7651
7651
+
var d2 = 0, e2 = 0;
7652
7652
+
if (c2 >>> 0 > 20) {
7653
7653
+
c2 = -1;
7654
7654
+
return c2 | 0;
7655
7655
+
}
7656
7656
+
do {
7657
7657
+
if ((b[11120 + (c2 * 216 | 0) >> 2] | 0) != (a3 | 0)) {
7658
7658
+
if ((b[11120 + (c2 * 216 | 0) + 8 >> 2] | 0) != (a3 | 0)) {
7659
7659
+
if ((b[11120 + (c2 * 216 | 0) + 16 >> 2] | 0) != (a3 | 0)) {
7660
7660
+
if ((b[11120 + (c2 * 216 | 0) + 24 >> 2] | 0) != (a3 | 0)) {
7661
7661
+
if ((b[11120 + (c2 * 216 | 0) + 32 >> 2] | 0) != (a3 | 0)) {
7662
7662
+
if ((b[11120 + (c2 * 216 | 0) + 40 >> 2] | 0) != (a3 | 0)) {
7663
7663
+
if ((b[11120 + (c2 * 216 | 0) + 48 >> 2] | 0) != (a3 | 0)) {
7664
7664
+
if ((b[11120 + (c2 * 216 | 0) + 56 >> 2] | 0) != (a3 | 0)) {
7665
7665
+
if ((b[11120 + (c2 * 216 | 0) + 64 >> 2] | 0) != (a3 | 0)) {
7666
7666
+
if ((b[11120 + (c2 * 216 | 0) + 72 >> 2] | 0) != (a3 | 0)) {
7667
7667
+
if ((b[11120 + (c2 * 216 | 0) + 80 >> 2] | 0) != (a3 | 0)) {
7668
7668
+
if ((b[11120 + (c2 * 216 | 0) + 88 >> 2] | 0) != (a3 | 0)) {
7669
7669
+
if ((b[11120 + (c2 * 216 | 0) + 96 >> 2] | 0) != (a3 | 0)) {
7670
7670
+
if ((b[11120 + (c2 * 216 | 0) + 104 >> 2] | 0) != (a3 | 0)) {
7671
7671
+
if ((b[11120 + (c2 * 216 | 0) + 112 >> 2] | 0) != (a3 | 0)) {
7672
7672
+
if ((b[11120 + (c2 * 216 | 0) + 120 >> 2] | 0) != (a3 | 0)) {
7673
7673
+
if ((b[11120 + (c2 * 216 | 0) + 128 >> 2] | 0) != (a3 | 0)) {
7674
7674
+
if ((b[11120 + (c2 * 216 | 0) + 136 >> 2] | 0) == (a3 | 0)) {
7675
7675
+
a3 = 2;
7676
7676
+
d2 = 1;
7677
7677
+
e2 = 2;
7678
7678
+
} else {
7679
7679
+
if ((b[11120 + (c2 * 216 | 0) + 144 >> 2] | 0) == (a3 | 0)) {
7680
7680
+
a3 = 0;
7681
7681
+
d2 = 2;
7682
7682
+
e2 = 0;
7683
7683
+
break;
7684
7684
+
}
7685
7685
+
if ((b[11120 + (c2 * 216 | 0) + 152 >> 2] | 0) == (a3 | 0)) {
7686
7686
+
a3 = 0;
7687
7687
+
d2 = 2;
7688
7688
+
e2 = 1;
7689
7689
+
break;
7690
7690
+
}
7691
7691
+
if ((b[11120 + (c2 * 216 | 0) + 160 >> 2] | 0) == (a3 | 0)) {
7692
7692
+
a3 = 0;
7693
7693
+
d2 = 2;
7694
7694
+
e2 = 2;
7695
7695
+
break;
7696
7696
+
}
7697
7697
+
if ((b[11120 + (c2 * 216 | 0) + 168 >> 2] | 0) == (a3 | 0)) {
7698
7698
+
a3 = 1;
7699
7699
+
d2 = 2;
7700
7700
+
e2 = 0;
7701
7701
+
break;
7702
7702
+
}
7703
7703
+
if ((b[11120 + (c2 * 216 | 0) + 176 >> 2] | 0) == (a3 | 0)) {
7704
7704
+
a3 = 1;
7705
7705
+
d2 = 2;
7706
7706
+
e2 = 1;
7707
7707
+
break;
7708
7708
+
}
7709
7709
+
if ((b[11120 + (c2 * 216 | 0) + 184 >> 2] | 0) == (a3 | 0)) {
7710
7710
+
a3 = 1;
7711
7711
+
d2 = 2;
7712
7712
+
e2 = 2;
7713
7713
+
break;
7714
7714
+
}
7715
7715
+
if ((b[11120 + (c2 * 216 | 0) + 192 >> 2] | 0) == (a3 | 0)) {
7716
7716
+
a3 = 2;
7717
7717
+
d2 = 2;
7718
7718
+
e2 = 0;
7719
7719
+
break;
7720
7720
+
}
7721
7721
+
if ((b[11120 + (c2 * 216 | 0) + 200 >> 2] | 0) == (a3 | 0)) {
7722
7722
+
a3 = 2;
7723
7723
+
d2 = 2;
7724
7724
+
e2 = 1;
7725
7725
+
break;
7726
7726
+
}
7727
7727
+
if ((b[11120 + (c2 * 216 | 0) + 208 >> 2] | 0) == (a3 | 0)) {
7728
7728
+
a3 = 2;
7729
7729
+
d2 = 2;
7730
7730
+
e2 = 2;
7731
7731
+
break;
7732
7732
+
} else {
7733
7733
+
a3 = -1;
7734
7734
+
}
7735
7735
+
return a3 | 0;
7736
7736
+
}
7737
7737
+
} else {
7738
7738
+
a3 = 2;
7739
7739
+
d2 = 1;
7740
7740
+
e2 = 1;
7741
7741
+
}
7742
7742
+
} else {
7743
7743
+
a3 = 2;
7744
7744
+
d2 = 1;
7745
7745
+
e2 = 0;
7746
7746
+
}
7747
7747
+
} else {
7748
7748
+
a3 = 1;
7749
7749
+
d2 = 1;
7750
7750
+
e2 = 2;
7751
7751
+
}
7752
7752
+
} else {
7753
7753
+
a3 = 1;
7754
7754
+
d2 = 1;
7755
7755
+
e2 = 1;
7756
7756
+
}
7757
7757
+
} else {
7758
7758
+
a3 = 1;
7759
7759
+
d2 = 1;
7760
7760
+
e2 = 0;
7761
7761
+
}
7762
7762
+
} else {
7763
7763
+
a3 = 0;
7764
7764
+
d2 = 1;
7765
7765
+
e2 = 2;
7766
7766
+
}
7767
7767
+
} else {
7768
7768
+
a3 = 0;
7769
7769
+
d2 = 1;
7770
7770
+
e2 = 1;
7771
7771
+
}
7772
7772
+
} else {
7773
7773
+
a3 = 0;
7774
7774
+
d2 = 1;
7775
7775
+
e2 = 0;
7776
7776
+
}
7777
7777
+
} else {
7778
7778
+
a3 = 2;
7779
7779
+
d2 = 0;
7780
7780
+
e2 = 2;
7781
7781
+
}
7782
7782
+
} else {
7783
7783
+
a3 = 2;
7784
7784
+
d2 = 0;
7785
7785
+
e2 = 1;
7786
7786
+
}
7787
7787
+
} else {
7788
7788
+
a3 = 2;
7789
7789
+
d2 = 0;
7790
7790
+
e2 = 0;
7791
7791
+
}
7792
7792
+
} else {
7793
7793
+
a3 = 1;
7794
7794
+
d2 = 0;
7795
7795
+
e2 = 2;
7796
7796
+
}
7797
7797
+
} else {
7798
7798
+
a3 = 1;
7799
7799
+
d2 = 0;
7800
7800
+
e2 = 1;
7801
7801
+
}
7802
7802
+
} else {
7803
7803
+
a3 = 1;
7804
7804
+
d2 = 0;
7805
7805
+
e2 = 0;
7806
7806
+
}
7807
7807
+
} else {
7808
7808
+
a3 = 0;
7809
7809
+
d2 = 0;
7810
7810
+
e2 = 2;
7811
7811
+
}
7812
7812
+
} else {
7813
7813
+
a3 = 0;
7814
7814
+
d2 = 0;
7815
7815
+
e2 = 1;
7816
7816
+
}
7817
7817
+
} else {
7818
7818
+
a3 = 0;
7819
7819
+
d2 = 0;
7820
7820
+
e2 = 0;
7821
7821
+
}
7822
7822
+
} while (0);
7823
7823
+
c2 = b[11120 + (c2 * 216 | 0) + (d2 * 72 | 0) + (a3 * 24 | 0) + (e2 << 3) + 4 >> 2] | 0;
7824
7824
+
return c2 | 0;
7825
7825
+
}
7826
7826
+
function ua(a3, c2) {
7827
7827
+
a3 = a3 | 0;
7828
7828
+
c2 = c2 | 0;
7829
7829
+
if ((b[7696 + (a3 * 28 | 0) + 20 >> 2] | 0) == (c2 | 0)) {
7830
7830
+
c2 = 1;
7831
7831
+
return c2 | 0;
7832
7832
+
}
7833
7833
+
c2 = (b[7696 + (a3 * 28 | 0) + 24 >> 2] | 0) == (c2 | 0);
7834
7834
+
return c2 | 0;
7835
7835
+
}
7836
7836
+
function va(a3, c2) {
7837
7837
+
a3 = a3 | 0;
7838
7838
+
c2 = c2 | 0;
7839
7839
+
return b[848 + (a3 * 28 | 0) + (c2 << 2) >> 2] | 0;
7840
7840
+
}
7841
7841
+
function wa(a3, c2) {
7842
7842
+
a3 = a3 | 0;
7843
7843
+
c2 = c2 | 0;
7844
7844
+
if ((b[848 + (a3 * 28 | 0) >> 2] | 0) == (c2 | 0)) {
7845
7845
+
c2 = 0;
7846
7846
+
return c2 | 0;
7847
7847
+
}
7848
7848
+
if ((b[848 + (a3 * 28 | 0) + 4 >> 2] | 0) == (c2 | 0)) {
7849
7849
+
c2 = 1;
7850
7850
+
return c2 | 0;
7851
7851
+
}
7852
7852
+
if ((b[848 + (a3 * 28 | 0) + 8 >> 2] | 0) == (c2 | 0)) {
7853
7853
+
c2 = 2;
7854
7854
+
return c2 | 0;
7855
7855
+
}
7856
7856
+
if ((b[848 + (a3 * 28 | 0) + 12 >> 2] | 0) == (c2 | 0)) {
7857
7857
+
c2 = 3;
7858
7858
+
return c2 | 0;
7859
7859
+
}
7860
7860
+
if ((b[848 + (a3 * 28 | 0) + 16 >> 2] | 0) == (c2 | 0)) {
7861
7861
+
c2 = 4;
7862
7862
+
return c2 | 0;
7863
7863
+
}
7864
7864
+
if ((b[848 + (a3 * 28 | 0) + 20 >> 2] | 0) == (c2 | 0)) {
7865
7865
+
c2 = 5;
7866
7866
+
return c2 | 0;
7867
7867
+
} else {
7868
7868
+
return ((b[848 + (a3 * 28 | 0) + 24 >> 2] | 0) == (c2 | 0) ? 6 : 7) | 0;
7869
7869
+
}
7870
7870
+
return 0;
7871
7871
+
}
7872
7872
+
function xa() {
7873
7873
+
return 122;
7874
7874
+
}
7875
7875
+
function ya(a3) {
7876
7876
+
a3 = a3 | 0;
7877
7877
+
var c2 = 0, d2 = 0, e2 = 0;
7878
7878
+
c2 = 0;
7879
7879
+
do {
7880
7880
+
Rd(c2 | 0, 0, 45) | 0;
7881
7881
+
e2 = H() | 0 | 134225919;
7882
7882
+
d2 = a3 + (c2 << 3) | 0;
7883
7883
+
b[d2 >> 2] = -1;
7884
7884
+
b[d2 + 4 >> 2] = e2;
7885
7885
+
c2 = c2 + 1 | 0;
7886
7886
+
} while ((c2 | 0) != 122);
7887
7887
+
return 0;
7888
7888
+
}
7889
7889
+
function za(a3) {
7890
7890
+
a3 = a3 | 0;
7891
7891
+
var b2 = 0, c2 = 0, d2 = 0;
7892
7892
+
d2 = +e[a3 + 16 >> 3];
7893
7893
+
c2 = +e[a3 + 24 >> 3];
7894
7894
+
b2 = d2 - c2;
7895
7895
+
return +(d2 < c2 ? b2 + 6.283185307179586 : b2);
7896
7896
+
}
7897
7897
+
function Aa(a3) {
7898
7898
+
a3 = a3 | 0;
7899
7899
+
return +e[a3 + 16 >> 3] < +e[a3 + 24 >> 3] | 0;
7900
7900
+
}
7901
7901
+
function Ba(a3) {
7902
7902
+
a3 = a3 | 0;
7903
7903
+
return +(+e[a3 >> 3] - +e[a3 + 8 >> 3]);
7904
7904
+
}
7905
7905
+
function Ca(a3, b2) {
7906
7906
+
a3 = a3 | 0;
7907
7907
+
b2 = b2 | 0;
7908
7908
+
var c2 = 0, d2 = 0, f2 = 0;
7909
7909
+
c2 = +e[b2 >> 3];
7910
7910
+
if (!(c2 >= +e[a3 + 8 >> 3])) {
7911
7911
+
b2 = 0;
7912
7912
+
return b2 | 0;
7913
7913
+
}
7914
7914
+
if (!(c2 <= +e[a3 >> 3])) {
7915
7915
+
b2 = 0;
7916
7916
+
return b2 | 0;
7917
7917
+
}
7918
7918
+
d2 = +e[a3 + 16 >> 3];
7919
7919
+
c2 = +e[a3 + 24 >> 3];
7920
7920
+
f2 = +e[b2 + 8 >> 3];
7921
7921
+
b2 = f2 >= c2;
7922
7922
+
a3 = f2 <= d2 & 1;
7923
7923
+
if (d2 < c2) {
7924
7924
+
if (b2) {
7925
7925
+
a3 = 1;
7926
7926
+
}
7927
7927
+
} else if (!b2) {
7928
7928
+
a3 = 0;
7929
7929
+
}
7930
7930
+
b2 = (a3 | 0) != 0;
7931
7931
+
return b2 | 0;
7932
7932
+
}
7933
7933
+
function Da(a3, b2) {
7934
7934
+
a3 = a3 | 0;
7935
7935
+
b2 = b2 | 0;
7936
7936
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
7937
7937
+
if (+e[a3 >> 3] < +e[b2 + 8 >> 3]) {
7938
7938
+
d2 = 0;
7939
7939
+
return d2 | 0;
7940
7940
+
}
7941
7941
+
if (+e[a3 + 8 >> 3] > +e[b2 >> 3]) {
7942
7942
+
d2 = 0;
7943
7943
+
return d2 | 0;
7944
7944
+
}
7945
7945
+
g2 = +e[a3 + 16 >> 3];
7946
7946
+
c2 = a3 + 24 | 0;
7947
7947
+
l = +e[c2 >> 3];
7948
7948
+
h = g2 < l;
7949
7949
+
d2 = b2 + 16 | 0;
7950
7950
+
k = +e[d2 >> 3];
7951
7951
+
f2 = b2 + 24 | 0;
7952
7952
+
j = +e[f2 >> 3];
7953
7953
+
i = k < j;
7954
7954
+
b2 = l - k < j - g2;
7955
7955
+
a3 = h ? i | b2 ? 1 : 2 : 0;
7956
7956
+
b2 = i ? h ? 1 : b2 ? 2 : 1 : 0;
7957
7957
+
g2 = +kc(g2, a3);
7958
7958
+
if (g2 < +kc(+e[f2 >> 3], b2)) {
7959
7959
+
i = 0;
7960
7960
+
return i | 0;
7961
7961
+
}
7962
7962
+
l = +kc(+e[c2 >> 3], a3);
7963
7963
+
if (l > +kc(+e[d2 >> 3], b2)) {
7964
7964
+
i = 0;
7965
7965
+
return i | 0;
7966
7966
+
}
7967
7967
+
i = 1;
7968
7968
+
return i | 0;
7969
7969
+
}
7970
7970
+
function Ea(a3, c2, d2, f2) {
7971
7971
+
a3 = a3 | 0;
7972
7972
+
c2 = c2 | 0;
7973
7973
+
d2 = d2 | 0;
7974
7974
+
f2 = f2 | 0;
7975
7975
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0;
7976
7976
+
h = +e[a3 + 16 >> 3];
7977
7977
+
k = +e[a3 + 24 >> 3];
7978
7978
+
a3 = h < k;
7979
7979
+
j = +e[c2 + 16 >> 3];
7980
7980
+
i = +e[c2 + 24 >> 3];
7981
7981
+
g2 = j < i;
7982
7982
+
c2 = k - j < i - h;
7983
7983
+
b[d2 >> 2] = a3 ? g2 | c2 ? 1 : 2 : 0;
7984
7984
+
b[f2 >> 2] = g2 ? a3 ? 1 : c2 ? 2 : 1 : 0;
7985
7985
+
return;
7986
7986
+
}
7987
7987
+
function Fa(a3, b2) {
7988
7988
+
a3 = a3 | 0;
7989
7989
+
b2 = b2 | 0;
7990
7990
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
7991
7991
+
if (+e[a3 >> 3] < +e[b2 >> 3]) {
7992
7992
+
d2 = 0;
7993
7993
+
return d2 | 0;
7994
7994
+
}
7995
7995
+
if (+e[a3 + 8 >> 3] > +e[b2 + 8 >> 3]) {
7996
7996
+
d2 = 0;
7997
7997
+
return d2 | 0;
7998
7998
+
}
7999
7999
+
d2 = a3 + 16 | 0;
8000
8000
+
j = +e[d2 >> 3];
8001
8001
+
g2 = +e[a3 + 24 >> 3];
8002
8002
+
h = j < g2;
8003
8003
+
c2 = b2 + 16 | 0;
8004
8004
+
l = +e[c2 >> 3];
8005
8005
+
f2 = b2 + 24 | 0;
8006
8006
+
k = +e[f2 >> 3];
8007
8007
+
i = l < k;
8008
8008
+
b2 = g2 - l < k - j;
8009
8009
+
a3 = h ? i | b2 ? 1 : 2 : 0;
8010
8010
+
b2 = i ? h ? 1 : b2 ? 2 : 1 : 0;
8011
8011
+
g2 = +kc(g2, a3);
8012
8012
+
if (!(g2 <= +kc(+e[f2 >> 3], b2))) {
8013
8013
+
i = 0;
8014
8014
+
return i | 0;
8015
8015
+
}
8016
8016
+
l = +kc(+e[d2 >> 3], a3);
8017
8017
+
i = l >= +kc(+e[c2 >> 3], b2);
8018
8018
+
return i | 0;
8019
8019
+
}
8020
8020
+
function Ga(a3, c2) {
8021
8021
+
a3 = a3 | 0;
8022
8022
+
c2 = c2 | 0;
8023
8023
+
var d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
8024
8024
+
g2 = T;
8025
8025
+
T = T + 176 | 0;
8026
8026
+
f2 = g2;
8027
8027
+
b[f2 >> 2] = 4;
8028
8028
+
j = +e[c2 >> 3];
8029
8029
+
e[f2 + 8 >> 3] = j;
8030
8030
+
h = +e[c2 + 16 >> 3];
8031
8031
+
e[f2 + 16 >> 3] = h;
8032
8032
+
e[f2 + 24 >> 3] = j;
8033
8033
+
j = +e[c2 + 24 >> 3];
8034
8034
+
e[f2 + 32 >> 3] = j;
8035
8035
+
i = +e[c2 + 8 >> 3];
8036
8036
+
e[f2 + 40 >> 3] = i;
8037
8037
+
e[f2 + 48 >> 3] = j;
8038
8038
+
e[f2 + 56 >> 3] = i;
8039
8039
+
e[f2 + 64 >> 3] = h;
8040
8040
+
c2 = f2 + 72 | 0;
8041
8041
+
d2 = c2 + 96 | 0;
8042
8042
+
do {
8043
8043
+
b[c2 >> 2] = 0;
8044
8044
+
c2 = c2 + 4 | 0;
8045
8045
+
} while ((c2 | 0) < (d2 | 0));
8046
8046
+
Wd(a3 | 0, f2 | 0, 168) | 0;
8047
8047
+
T = g2;
8048
8048
+
return;
8049
8049
+
}
8050
8050
+
function Ha(a3, c2, d2) {
8051
8051
+
a3 = a3 | 0;
8052
8052
+
c2 = c2 | 0;
8053
8053
+
d2 = d2 | 0;
8054
8054
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0;
8055
8055
+
t2 = T;
8056
8056
+
T = T + 288 | 0;
8057
8057
+
n = t2 + 264 | 0;
8058
8058
+
o = t2 + 96 | 0;
8059
8059
+
m = t2;
8060
8060
+
k = m;
8061
8061
+
l = k + 96 | 0;
8062
8062
+
do {
8063
8063
+
b[k >> 2] = 0;
8064
8064
+
k = k + 4 | 0;
8065
8065
+
} while ((k | 0) < (l | 0));
8066
8066
+
c2 = cc(c2, m) | 0;
8067
8067
+
if (c2 | 0) {
8068
8068
+
s2 = c2;
8069
8069
+
T = t2;
8070
8070
+
return s2 | 0;
8071
8071
+
}
8072
8072
+
l = m;
8073
8073
+
m = b[l >> 2] | 0;
8074
8074
+
l = b[l + 4 >> 2] | 0;
8075
8075
+
Zb(m, l, n) | 0;
8076
8076
+
_b(m, l, o) | 0;
8077
8077
+
j = +mc(n, o + 8 | 0);
8078
8078
+
e[n >> 3] = +e[a3 >> 3];
8079
8079
+
l = n + 8 | 0;
8080
8080
+
e[l >> 3] = +e[a3 + 16 >> 3];
8081
8081
+
e[o >> 3] = +e[a3 + 8 >> 3];
8082
8082
+
m = o + 8 | 0;
8083
8083
+
e[m >> 3] = +e[a3 + 24 >> 3];
8084
8084
+
h = +mc(n, o);
8085
8085
+
v2 = +e[l >> 3] - +e[m >> 3];
8086
8086
+
i = +q(+v2);
8087
8087
+
u2 = +e[n >> 3] - +e[o >> 3];
8088
8088
+
g2 = +q(+u2);
8089
8089
+
if (!(v2 == 0 | u2 == 0) ? (v2 = +Td(+i, +g2), v2 = +A(+(h * h / +Ud(+(v2 / +Ud(+i, +g2)), 3) / (j * (j * 2.59807621135) * 0.8))), e[f >> 3] = v2, r2 = ~~v2 >>> 0, s2 = +q(v2) >= 1 ? v2 > 0 ? ~~+C(+p2(v2 / 4294967296), 4294967295) >>> 0 : ~~+A((v2 - +(~~v2 >>> 0)) / 4294967296) >>> 0 : 0, !((b[f + 4 >> 2] & 2146435072 | 0) == 2146435072)) : 0) {
8090
8090
+
o = (r2 | 0) == 0 & (s2 | 0) == 0;
8091
8091
+
c2 = d2;
8092
8092
+
b[c2 >> 2] = o ? 1 : r2;
8093
8093
+
b[c2 + 4 >> 2] = o ? 0 : s2;
8094
8094
+
c2 = 0;
8095
8095
+
} else {
8096
8096
+
c2 = 1;
8097
8097
+
}
8098
8098
+
s2 = c2;
8099
8099
+
T = t2;
8100
8100
+
return s2 | 0;
8101
8101
+
}
8102
8102
+
function Ia(a3, c2, d2, g2) {
8103
8103
+
a3 = a3 | 0;
8104
8104
+
c2 = c2 | 0;
8105
8105
+
d2 = d2 | 0;
8106
8106
+
g2 = g2 | 0;
8107
8107
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
8108
8108
+
m = T;
8109
8109
+
T = T + 288 | 0;
8110
8110
+
j = m + 264 | 0;
8111
8111
+
k = m + 96 | 0;
8112
8112
+
l = m;
8113
8113
+
h = l;
8114
8114
+
i = h + 96 | 0;
8115
8115
+
do {
8116
8116
+
b[h >> 2] = 0;
8117
8117
+
h = h + 4 | 0;
8118
8118
+
} while ((h | 0) < (i | 0));
8119
8119
+
d2 = cc(d2, l) | 0;
8120
8120
+
if (d2 | 0) {
8121
8121
+
g2 = d2;
8122
8122
+
T = m;
8123
8123
+
return g2 | 0;
8124
8124
+
}
8125
8125
+
d2 = l;
8126
8126
+
h = b[d2 >> 2] | 0;
8127
8127
+
d2 = b[d2 + 4 >> 2] | 0;
8128
8128
+
Zb(h, d2, j) | 0;
8129
8129
+
_b(h, d2, k) | 0;
8130
8130
+
n = +mc(j, k + 8 | 0);
8131
8131
+
n = +A(+(+mc(a3, c2) / (n * 2)));
8132
8132
+
e[f >> 3] = n;
8133
8133
+
d2 = ~~n >>> 0;
8134
8134
+
h = +q(n) >= 1 ? n > 0 ? ~~+C(+p2(n / 4294967296), 4294967295) >>> 0 : ~~+A((n - +(~~n >>> 0)) / 4294967296) >>> 0 : 0;
8135
8135
+
if ((b[f + 4 >> 2] & 2146435072 | 0) == 2146435072) {
8136
8136
+
g2 = 1;
8137
8137
+
T = m;
8138
8138
+
return g2 | 0;
8139
8139
+
}
8140
8140
+
l = (d2 | 0) == 0 & (h | 0) == 0;
8141
8141
+
b[g2 >> 2] = l ? 1 : d2;
8142
8142
+
b[g2 + 4 >> 2] = l ? 0 : h;
8143
8143
+
g2 = 0;
8144
8144
+
T = m;
8145
8145
+
return g2 | 0;
8146
8146
+
}
8147
8147
+
function Ja(a3, b2) {
8148
8148
+
a3 = a3 | 0;
8149
8149
+
b2 = +b2;
8150
8150
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
8151
8151
+
g2 = a3 + 16 | 0;
8152
8152
+
h = +e[g2 >> 3];
8153
8153
+
c2 = a3 + 24 | 0;
8154
8154
+
f2 = +e[c2 >> 3];
8155
8155
+
d2 = h - f2;
8156
8156
+
d2 = h < f2 ? d2 + 6.283185307179586 : d2;
8157
8157
+
k = +e[a3 >> 3];
8158
8158
+
i = a3 + 8 | 0;
8159
8159
+
j = +e[i >> 3];
8160
8160
+
l = k - j;
8161
8161
+
d2 = (d2 * b2 - d2) * 0.5;
8162
8162
+
b2 = (l * b2 - l) * 0.5;
8163
8163
+
k = k + b2;
8164
8164
+
e[a3 >> 3] = k > 1.5707963267948966 ? 1.5707963267948966 : k;
8165
8165
+
b2 = j - b2;
8166
8166
+
e[i >> 3] = b2 < -1.5707963267948966 ? -1.5707963267948966 : b2;
8167
8167
+
b2 = h + d2;
8168
8168
+
b2 = b2 > 3.141592653589793 ? b2 + -6.283185307179586 : b2;
8169
8169
+
e[g2 >> 3] = b2 < -3.141592653589793 ? b2 + 6.283185307179586 : b2;
8170
8170
+
b2 = f2 - d2;
8171
8171
+
b2 = b2 > 3.141592653589793 ? b2 + -6.283185307179586 : b2;
8172
8172
+
e[c2 >> 3] = b2 < -3.141592653589793 ? b2 + 6.283185307179586 : b2;
8173
8173
+
return;
8174
8174
+
}
8175
8175
+
function Ka(a3, c2, d2, e2) {
8176
8176
+
a3 = a3 | 0;
8177
8177
+
c2 = c2 | 0;
8178
8178
+
d2 = d2 | 0;
8179
8179
+
e2 = e2 | 0;
8180
8180
+
b[a3 >> 2] = c2;
8181
8181
+
b[a3 + 4 >> 2] = d2;
8182
8182
+
b[a3 + 8 >> 2] = e2;
8183
8183
+
return;
8184
8184
+
}
8185
8185
+
function La(a3, c2) {
8186
8186
+
a3 = a3 | 0;
8187
8187
+
c2 = c2 | 0;
8188
8188
+
var d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
8189
8189
+
n = c2 + 8 | 0;
8190
8190
+
b[n >> 2] = 0;
8191
8191
+
k = +e[a3 >> 3];
8192
8192
+
i = +q(+k);
8193
8193
+
l = +e[a3 + 8 >> 3];
8194
8194
+
j = +q(+l) * 1.1547005383792515;
8195
8195
+
i = i + j * 0.5;
8196
8196
+
d2 = ~~i;
8197
8197
+
a3 = ~~j;
8198
8198
+
i = i - +(d2 | 0);
8199
8199
+
j = j - +(a3 | 0);
8200
8200
+
do {
8201
8201
+
if (i < 0.5) {
8202
8202
+
if (i < 0.3333333333333333) {
8203
8203
+
b[c2 >> 2] = d2;
8204
8204
+
if (j < (i + 1) * 0.5) {
8205
8205
+
b[c2 + 4 >> 2] = a3;
8206
8206
+
break;
8207
8207
+
} else {
8208
8208
+
a3 = a3 + 1 | 0;
8209
8209
+
b[c2 + 4 >> 2] = a3;
8210
8210
+
break;
8211
8211
+
}
8212
8212
+
} else {
8213
8213
+
o = 1 - i;
8214
8214
+
a3 = (!(j < o) & 1) + a3 | 0;
8215
8215
+
b[c2 + 4 >> 2] = a3;
8216
8216
+
if (o <= j & j < i * 2) {
8217
8217
+
d2 = d2 + 1 | 0;
8218
8218
+
b[c2 >> 2] = d2;
8219
8219
+
break;
8220
8220
+
} else {
8221
8221
+
b[c2 >> 2] = d2;
8222
8222
+
break;
8223
8223
+
}
8224
8224
+
}
8225
8225
+
} else {
8226
8226
+
if (!(i < 0.6666666666666666)) {
8227
8227
+
d2 = d2 + 1 | 0;
8228
8228
+
b[c2 >> 2] = d2;
8229
8229
+
if (j < i * 0.5) {
8230
8230
+
b[c2 + 4 >> 2] = a3;
8231
8231
+
break;
8232
8232
+
} else {
8233
8233
+
a3 = a3 + 1 | 0;
8234
8234
+
b[c2 + 4 >> 2] = a3;
8235
8235
+
break;
8236
8236
+
}
8237
8237
+
}
8238
8238
+
if (j < 1 - i) {
8239
8239
+
b[c2 + 4 >> 2] = a3;
8240
8240
+
if (i * 2 + -1 < j) {
8241
8241
+
b[c2 >> 2] = d2;
8242
8242
+
break;
8243
8243
+
}
8244
8244
+
} else {
8245
8245
+
a3 = a3 + 1 | 0;
8246
8246
+
b[c2 + 4 >> 2] = a3;
8247
8247
+
}
8248
8248
+
d2 = d2 + 1 | 0;
8249
8249
+
b[c2 >> 2] = d2;
8250
8250
+
}
8251
8251
+
} while (0);
8252
8252
+
do {
8253
8253
+
if (k < 0) {
8254
8254
+
if (!(a3 & 1)) {
8255
8255
+
m = (a3 | 0) / 2 | 0;
8256
8256
+
m = Hd(d2 | 0, ((d2 | 0) < 0) << 31 >> 31 | 0, m | 0, ((m | 0) < 0) << 31 >> 31 | 0) | 0;
8257
8257
+
d2 = ~~(+(d2 | 0) - (+(m >>> 0) + 4294967296 * +(H() | 0)) * 2);
8258
8258
+
b[c2 >> 2] = d2;
8259
8259
+
break;
8260
8260
+
} else {
8261
8261
+
m = (a3 + 1 | 0) / 2 | 0;
8262
8262
+
m = Hd(d2 | 0, ((d2 | 0) < 0) << 31 >> 31 | 0, m | 0, ((m | 0) < 0) << 31 >> 31 | 0) | 0;
8263
8263
+
d2 = ~~(+(d2 | 0) - ((+(m >>> 0) + 4294967296 * +(H() | 0)) * 2 + 1));
8264
8264
+
b[c2 >> 2] = d2;
8265
8265
+
break;
8266
8266
+
}
8267
8267
+
}
8268
8268
+
} while (0);
8269
8269
+
m = c2 + 4 | 0;
8270
8270
+
if (l < 0) {
8271
8271
+
d2 = d2 - ((a3 << 1 | 1 | 0) / 2 | 0) | 0;
8272
8272
+
b[c2 >> 2] = d2;
8273
8273
+
a3 = 0 - a3 | 0;
8274
8274
+
b[m >> 2] = a3;
8275
8275
+
}
8276
8276
+
f2 = a3 - d2 | 0;
8277
8277
+
if ((d2 | 0) < 0) {
8278
8278
+
g2 = 0 - d2 | 0;
8279
8279
+
b[m >> 2] = f2;
8280
8280
+
b[n >> 2] = g2;
8281
8281
+
b[c2 >> 2] = 0;
8282
8282
+
a3 = f2;
8283
8283
+
d2 = 0;
8284
8284
+
} else {
8285
8285
+
g2 = 0;
8286
8286
+
}
8287
8287
+
if ((a3 | 0) < 0) {
8288
8288
+
d2 = d2 - a3 | 0;
8289
8289
+
b[c2 >> 2] = d2;
8290
8290
+
g2 = g2 - a3 | 0;
8291
8291
+
b[n >> 2] = g2;
8292
8292
+
b[m >> 2] = 0;
8293
8293
+
a3 = 0;
8294
8294
+
}
8295
8295
+
h = d2 - g2 | 0;
8296
8296
+
f2 = a3 - g2 | 0;
8297
8297
+
if ((g2 | 0) < 0) {
8298
8298
+
b[c2 >> 2] = h;
8299
8299
+
b[m >> 2] = f2;
8300
8300
+
b[n >> 2] = 0;
8301
8301
+
a3 = f2;
8302
8302
+
d2 = h;
8303
8303
+
g2 = 0;
8304
8304
+
}
8305
8305
+
f2 = (a3 | 0) < (d2 | 0) ? a3 : d2;
8306
8306
+
f2 = (g2 | 0) < (f2 | 0) ? g2 : f2;
8307
8307
+
if ((f2 | 0) <= 0) {
8308
8308
+
return;
8309
8309
+
}
8310
8310
+
b[c2 >> 2] = d2 - f2;
8311
8311
+
b[m >> 2] = a3 - f2;
8312
8312
+
b[n >> 2] = g2 - f2;
8313
8313
+
return;
8314
8314
+
}
8315
8315
+
function Ma(a3) {
8316
8316
+
a3 = a3 | 0;
8317
8317
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0;
8318
8318
+
c2 = b[a3 >> 2] | 0;
8319
8319
+
h = a3 + 4 | 0;
8320
8320
+
d2 = b[h >> 2] | 0;
8321
8321
+
if ((c2 | 0) < 0) {
8322
8322
+
d2 = d2 - c2 | 0;
8323
8323
+
b[h >> 2] = d2;
8324
8324
+
g2 = a3 + 8 | 0;
8325
8325
+
b[g2 >> 2] = (b[g2 >> 2] | 0) - c2;
8326
8326
+
b[a3 >> 2] = 0;
8327
8327
+
c2 = 0;
8328
8328
+
}
8329
8329
+
if ((d2 | 0) < 0) {
8330
8330
+
c2 = c2 - d2 | 0;
8331
8331
+
b[a3 >> 2] = c2;
8332
8332
+
g2 = a3 + 8 | 0;
8333
8333
+
f2 = (b[g2 >> 2] | 0) - d2 | 0;
8334
8334
+
b[g2 >> 2] = f2;
8335
8335
+
b[h >> 2] = 0;
8336
8336
+
d2 = 0;
8337
8337
+
} else {
8338
8338
+
f2 = a3 + 8 | 0;
8339
8339
+
g2 = f2;
8340
8340
+
f2 = b[f2 >> 2] | 0;
8341
8341
+
}
8342
8342
+
if ((f2 | 0) < 0) {
8343
8343
+
c2 = c2 - f2 | 0;
8344
8344
+
b[a3 >> 2] = c2;
8345
8345
+
d2 = d2 - f2 | 0;
8346
8346
+
b[h >> 2] = d2;
8347
8347
+
b[g2 >> 2] = 0;
8348
8348
+
f2 = 0;
8349
8349
+
}
8350
8350
+
e2 = (d2 | 0) < (c2 | 0) ? d2 : c2;
8351
8351
+
e2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
8352
8352
+
if ((e2 | 0) <= 0) {
8353
8353
+
return;
8354
8354
+
}
8355
8355
+
b[a3 >> 2] = c2 - e2;
8356
8356
+
b[h >> 2] = d2 - e2;
8357
8357
+
b[g2 >> 2] = f2 - e2;
8358
8358
+
return;
8359
8359
+
}
8360
8360
+
function Na(a3, c2) {
8361
8361
+
a3 = a3 | 0;
8362
8362
+
c2 = c2 | 0;
8363
8363
+
var d2 = 0, f2 = 0;
8364
8364
+
f2 = b[a3 + 8 >> 2] | 0;
8365
8365
+
d2 = +((b[a3 + 4 >> 2] | 0) - f2 | 0);
8366
8366
+
e[c2 >> 3] = +((b[a3 >> 2] | 0) - f2 | 0) - d2 * 0.5;
8367
8367
+
e[c2 + 8 >> 3] = d2 * 0.8660254037844386;
8368
8368
+
return;
8369
8369
+
}
8370
8370
+
function Oa(a3, c2, d2) {
8371
8371
+
a3 = a3 | 0;
8372
8372
+
c2 = c2 | 0;
8373
8373
+
d2 = d2 | 0;
8374
8374
+
b[d2 >> 2] = (b[c2 >> 2] | 0) + (b[a3 >> 2] | 0);
8375
8375
+
b[d2 + 4 >> 2] = (b[c2 + 4 >> 2] | 0) + (b[a3 + 4 >> 2] | 0);
8376
8376
+
b[d2 + 8 >> 2] = (b[c2 + 8 >> 2] | 0) + (b[a3 + 8 >> 2] | 0);
8377
8377
+
return;
8378
8378
+
}
8379
8379
+
function Pa(a3, c2, d2) {
8380
8380
+
a3 = a3 | 0;
8381
8381
+
c2 = c2 | 0;
8382
8382
+
d2 = d2 | 0;
8383
8383
+
b[d2 >> 2] = (b[a3 >> 2] | 0) - (b[c2 >> 2] | 0);
8384
8384
+
b[d2 + 4 >> 2] = (b[a3 + 4 >> 2] | 0) - (b[c2 + 4 >> 2] | 0);
8385
8385
+
b[d2 + 8 >> 2] = (b[a3 + 8 >> 2] | 0) - (b[c2 + 8 >> 2] | 0);
8386
8386
+
return;
8387
8387
+
}
8388
8388
+
function Qa(a3, c2) {
8389
8389
+
a3 = a3 | 0;
8390
8390
+
c2 = c2 | 0;
8391
8391
+
var d2 = 0, e2 = 0;
8392
8392
+
d2 = B(b[a3 >> 2] | 0, c2) | 0;
8393
8393
+
b[a3 >> 2] = d2;
8394
8394
+
d2 = a3 + 4 | 0;
8395
8395
+
e2 = B(b[d2 >> 2] | 0, c2) | 0;
8396
8396
+
b[d2 >> 2] = e2;
8397
8397
+
a3 = a3 + 8 | 0;
8398
8398
+
c2 = B(b[a3 >> 2] | 0, c2) | 0;
8399
8399
+
b[a3 >> 2] = c2;
8400
8400
+
return;
8401
8401
+
}
8402
8402
+
function Ra(a3) {
8403
8403
+
a3 = a3 | 0;
8404
8404
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8405
8405
+
h = b[a3 >> 2] | 0;
8406
8406
+
i = (h | 0) < 0;
8407
8407
+
e2 = (b[a3 + 4 >> 2] | 0) - (i ? h : 0) | 0;
8408
8408
+
g2 = (e2 | 0) < 0;
8409
8409
+
f2 = (g2 ? 0 - e2 | 0 : 0) + ((b[a3 + 8 >> 2] | 0) - (i ? h : 0)) | 0;
8410
8410
+
d2 = (f2 | 0) < 0;
8411
8411
+
a3 = d2 ? 0 : f2;
8412
8412
+
c2 = (g2 ? 0 : e2) - (d2 ? f2 : 0) | 0;
8413
8413
+
f2 = (i ? 0 : h) - (g2 ? e2 : 0) - (d2 ? f2 : 0) | 0;
8414
8414
+
d2 = (c2 | 0) < (f2 | 0) ? c2 : f2;
8415
8415
+
d2 = (a3 | 0) < (d2 | 0) ? a3 : d2;
8416
8416
+
e2 = (d2 | 0) > 0;
8417
8417
+
a3 = a3 - (e2 ? d2 : 0) | 0;
8418
8418
+
c2 = c2 - (e2 ? d2 : 0) | 0;
8419
8419
+
a:
8420
8420
+
do {
8421
8421
+
switch (f2 - (e2 ? d2 : 0) | 0) {
8422
8422
+
case 0:
8423
8423
+
switch (c2 | 0) {
8424
8424
+
case 0: {
8425
8425
+
i = (a3 | 0) == 0 ? 0 : (a3 | 0) == 1 ? 1 : 7;
8426
8426
+
return i | 0;
8427
8427
+
}
8428
8428
+
case 1: {
8429
8429
+
i = (a3 | 0) == 0 ? 2 : (a3 | 0) == 1 ? 3 : 7;
8430
8430
+
return i | 0;
8431
8431
+
}
8432
8432
+
default:
8433
8433
+
break a;
8434
8434
+
}
8435
8435
+
case 1:
8436
8436
+
switch (c2 | 0) {
8437
8437
+
case 0: {
8438
8438
+
i = (a3 | 0) == 0 ? 4 : (a3 | 0) == 1 ? 5 : 7;
8439
8439
+
return i | 0;
8440
8440
+
}
8441
8441
+
case 1: {
8442
8442
+
if (!a3) {
8443
8443
+
a3 = 6;
8444
8444
+
} else {
8445
8445
+
break a;
8446
8446
+
}
8447
8447
+
return a3 | 0;
8448
8448
+
}
8449
8449
+
default:
8450
8450
+
break a;
8451
8451
+
}
8452
8452
+
default:
8453
8453
+
}
8454
8454
+
} while (0);
8455
8455
+
i = 7;
8456
8456
+
return i | 0;
8457
8457
+
}
8458
8458
+
function Sa(a3) {
8459
8459
+
a3 = a3 | 0;
8460
8460
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
8461
8461
+
j = a3 + 8 | 0;
8462
8462
+
h = b[j >> 2] | 0;
8463
8463
+
i = (b[a3 >> 2] | 0) - h | 0;
8464
8464
+
k = a3 + 4 | 0;
8465
8465
+
h = (b[k >> 2] | 0) - h | 0;
8466
8466
+
if (i >>> 0 > 715827881 | h >>> 0 > 715827881) {
8467
8467
+
e2 = (i | 0) > 0;
8468
8468
+
f2 = 2147483647 - i | 0;
8469
8469
+
g2 = -2147483648 - i | 0;
8470
8470
+
if (e2 ? (f2 | 0) < (i | 0) : (g2 | 0) > (i | 0)) {
8471
8471
+
k = 1;
8472
8472
+
return k | 0;
8473
8473
+
}
8474
8474
+
d2 = i << 1;
8475
8475
+
if (e2 ? (2147483647 - d2 | 0) < (i | 0) : (-2147483648 - d2 | 0) > (i | 0)) {
8476
8476
+
k = 1;
8477
8477
+
return k | 0;
8478
8478
+
}
8479
8479
+
if ((h | 0) > 0 ? (2147483647 - h | 0) < (h | 0) : (-2147483648 - h | 0) > (h | 0)) {
8480
8480
+
k = 1;
8481
8481
+
return k | 0;
8482
8482
+
}
8483
8483
+
c2 = i * 3 | 0;
8484
8484
+
d2 = h << 1;
8485
8485
+
if ((e2 ? (f2 | 0) < (d2 | 0) : (g2 | 0) > (d2 | 0)) ? 1 : (i | 0) > -1 ? (c2 | -2147483648 | 0) >= (h | 0) : (c2 ^ -2147483648 | 0) < (h | 0)) {
8486
8486
+
k = 1;
8487
8487
+
return k | 0;
8488
8488
+
}
8489
8489
+
} else {
8490
8490
+
d2 = h << 1;
8491
8491
+
c2 = i * 3 | 0;
8492
8492
+
}
8493
8493
+
e2 = Cd(+(c2 - h | 0) * 0.14285714285714285) | 0;
8494
8494
+
b[a3 >> 2] = e2;
8495
8495
+
f2 = Cd(+(d2 + i | 0) * 0.14285714285714285) | 0;
8496
8496
+
b[k >> 2] = f2;
8497
8497
+
b[j >> 2] = 0;
8498
8498
+
d2 = (f2 | 0) < (e2 | 0);
8499
8499
+
c2 = d2 ? e2 : f2;
8500
8500
+
d2 = d2 ? f2 : e2;
8501
8501
+
if ((d2 | 0) < 0) {
8502
8502
+
if ((d2 | 0) == -2147483648 ? 1 : (c2 | 0) > 0 ? (2147483647 - c2 | 0) < (d2 | 0) : (-2147483648 - c2 | 0) > (d2 | 0)) {
8503
8503
+
I(27795, 26892, 354, 26903);
8504
8504
+
}
8505
8505
+
if ((c2 | 0) > -1 ? (c2 | -2147483648 | 0) >= (d2 | 0) : (c2 ^ -2147483648 | 0) < (d2 | 0)) {
8506
8506
+
I(27795, 26892, 354, 26903);
8507
8507
+
}
8508
8508
+
}
8509
8509
+
c2 = f2 - e2 | 0;
8510
8510
+
if ((e2 | 0) < 0) {
8511
8511
+
d2 = 0 - e2 | 0;
8512
8512
+
b[k >> 2] = c2;
8513
8513
+
b[j >> 2] = d2;
8514
8514
+
b[a3 >> 2] = 0;
8515
8515
+
e2 = 0;
8516
8516
+
} else {
8517
8517
+
c2 = f2;
8518
8518
+
d2 = 0;
8519
8519
+
}
8520
8520
+
if ((c2 | 0) < 0) {
8521
8521
+
e2 = e2 - c2 | 0;
8522
8522
+
b[a3 >> 2] = e2;
8523
8523
+
d2 = d2 - c2 | 0;
8524
8524
+
b[j >> 2] = d2;
8525
8525
+
b[k >> 2] = 0;
8526
8526
+
c2 = 0;
8527
8527
+
}
8528
8528
+
g2 = e2 - d2 | 0;
8529
8529
+
f2 = c2 - d2 | 0;
8530
8530
+
if ((d2 | 0) < 0) {
8531
8531
+
b[a3 >> 2] = g2;
8532
8532
+
b[k >> 2] = f2;
8533
8533
+
b[j >> 2] = 0;
8534
8534
+
c2 = f2;
8535
8535
+
f2 = g2;
8536
8536
+
d2 = 0;
8537
8537
+
} else {
8538
8538
+
f2 = e2;
8539
8539
+
}
8540
8540
+
e2 = (c2 | 0) < (f2 | 0) ? c2 : f2;
8541
8541
+
e2 = (d2 | 0) < (e2 | 0) ? d2 : e2;
8542
8542
+
if ((e2 | 0) <= 0) {
8543
8543
+
k = 0;
8544
8544
+
return k | 0;
8545
8545
+
}
8546
8546
+
b[a3 >> 2] = f2 - e2;
8547
8547
+
b[k >> 2] = c2 - e2;
8548
8548
+
b[j >> 2] = d2 - e2;
8549
8549
+
k = 0;
8550
8550
+
return k | 0;
8551
8551
+
}
8552
8552
+
function Ta(a3) {
8553
8553
+
a3 = a3 | 0;
8554
8554
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
8555
8555
+
h = a3 + 8 | 0;
8556
8556
+
f2 = b[h >> 2] | 0;
8557
8557
+
g2 = (b[a3 >> 2] | 0) - f2 | 0;
8558
8558
+
i = a3 + 4 | 0;
8559
8559
+
f2 = (b[i >> 2] | 0) - f2 | 0;
8560
8560
+
if (g2 >>> 0 > 715827881 | f2 >>> 0 > 715827881) {
8561
8561
+
d2 = (g2 | 0) > 0;
8562
8562
+
if (d2 ? (2147483647 - g2 | 0) < (g2 | 0) : (-2147483648 - g2 | 0) > (g2 | 0)) {
8563
8563
+
i = 1;
8564
8564
+
return i | 0;
8565
8565
+
}
8566
8566
+
c2 = g2 << 1;
8567
8567
+
e2 = (f2 | 0) > 0;
8568
8568
+
if (e2 ? (2147483647 - f2 | 0) < (f2 | 0) : (-2147483648 - f2 | 0) > (f2 | 0)) {
8569
8569
+
i = 1;
8570
8570
+
return i | 0;
8571
8571
+
}
8572
8572
+
j = f2 << 1;
8573
8573
+
if (e2 ? (2147483647 - j | 0) < (f2 | 0) : (-2147483648 - j | 0) > (f2 | 0)) {
8574
8574
+
j = 1;
8575
8575
+
return j | 0;
8576
8576
+
}
8577
8577
+
if (d2 ? (2147483647 - c2 | 0) < (f2 | 0) : (-2147483648 - c2 | 0) > (f2 | 0)) {
8578
8578
+
j = 1;
8579
8579
+
return j | 0;
8580
8580
+
}
8581
8581
+
d2 = f2 * 3 | 0;
8582
8582
+
if ((f2 | 0) > -1 ? (d2 | -2147483648 | 0) >= (g2 | 0) : (d2 ^ -2147483648 | 0) < (g2 | 0)) {
8583
8583
+
j = 1;
8584
8584
+
return j | 0;
8585
8585
+
}
8586
8586
+
} else {
8587
8587
+
d2 = f2 * 3 | 0;
8588
8588
+
c2 = g2 << 1;
8589
8589
+
}
8590
8590
+
e2 = Cd(+(c2 + f2 | 0) * 0.14285714285714285) | 0;
8591
8591
+
b[a3 >> 2] = e2;
8592
8592
+
f2 = Cd(+(d2 - g2 | 0) * 0.14285714285714285) | 0;
8593
8593
+
b[i >> 2] = f2;
8594
8594
+
b[h >> 2] = 0;
8595
8595
+
d2 = (f2 | 0) < (e2 | 0);
8596
8596
+
c2 = d2 ? e2 : f2;
8597
8597
+
d2 = d2 ? f2 : e2;
8598
8598
+
if ((d2 | 0) < 0) {
8599
8599
+
if ((d2 | 0) == -2147483648 ? 1 : (c2 | 0) > 0 ? (2147483647 - c2 | 0) < (d2 | 0) : (-2147483648 - c2 | 0) > (d2 | 0)) {
8600
8600
+
I(27795, 26892, 402, 26917);
8601
8601
+
}
8602
8602
+
if ((c2 | 0) > -1 ? (c2 | -2147483648 | 0) >= (d2 | 0) : (c2 ^ -2147483648 | 0) < (d2 | 0)) {
8603
8603
+
I(27795, 26892, 402, 26917);
8604
8604
+
}
8605
8605
+
}
8606
8606
+
c2 = f2 - e2 | 0;
8607
8607
+
if ((e2 | 0) < 0) {
8608
8608
+
d2 = 0 - e2 | 0;
8609
8609
+
b[i >> 2] = c2;
8610
8610
+
b[h >> 2] = d2;
8611
8611
+
b[a3 >> 2] = 0;
8612
8612
+
e2 = 0;
8613
8613
+
} else {
8614
8614
+
c2 = f2;
8615
8615
+
d2 = 0;
8616
8616
+
}
8617
8617
+
if ((c2 | 0) < 0) {
8618
8618
+
e2 = e2 - c2 | 0;
8619
8619
+
b[a3 >> 2] = e2;
8620
8620
+
d2 = d2 - c2 | 0;
8621
8621
+
b[h >> 2] = d2;
8622
8622
+
b[i >> 2] = 0;
8623
8623
+
c2 = 0;
8624
8624
+
}
8625
8625
+
g2 = e2 - d2 | 0;
8626
8626
+
f2 = c2 - d2 | 0;
8627
8627
+
if ((d2 | 0) < 0) {
8628
8628
+
b[a3 >> 2] = g2;
8629
8629
+
b[i >> 2] = f2;
8630
8630
+
b[h >> 2] = 0;
8631
8631
+
c2 = f2;
8632
8632
+
f2 = g2;
8633
8633
+
d2 = 0;
8634
8634
+
} else {
8635
8635
+
f2 = e2;
8636
8636
+
}
8637
8637
+
e2 = (c2 | 0) < (f2 | 0) ? c2 : f2;
8638
8638
+
e2 = (d2 | 0) < (e2 | 0) ? d2 : e2;
8639
8639
+
if ((e2 | 0) <= 0) {
8640
8640
+
j = 0;
8641
8641
+
return j | 0;
8642
8642
+
}
8643
8643
+
b[a3 >> 2] = f2 - e2;
8644
8644
+
b[i >> 2] = c2 - e2;
8645
8645
+
b[h >> 2] = d2 - e2;
8646
8646
+
j = 0;
8647
8647
+
return j | 0;
8648
8648
+
}
8649
8649
+
function Ua(a3) {
8650
8650
+
a3 = a3 | 0;
8651
8651
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8652
8652
+
h = a3 + 8 | 0;
8653
8653
+
d2 = b[h >> 2] | 0;
8654
8654
+
c2 = (b[a3 >> 2] | 0) - d2 | 0;
8655
8655
+
i = a3 + 4 | 0;
8656
8656
+
d2 = (b[i >> 2] | 0) - d2 | 0;
8657
8657
+
e2 = Cd(+((c2 * 3 | 0) - d2 | 0) * 0.14285714285714285) | 0;
8658
8658
+
b[a3 >> 2] = e2;
8659
8659
+
c2 = Cd(+((d2 << 1) + c2 | 0) * 0.14285714285714285) | 0;
8660
8660
+
b[i >> 2] = c2;
8661
8661
+
b[h >> 2] = 0;
8662
8662
+
d2 = c2 - e2 | 0;
8663
8663
+
if ((e2 | 0) < 0) {
8664
8664
+
g2 = 0 - e2 | 0;
8665
8665
+
b[i >> 2] = d2;
8666
8666
+
b[h >> 2] = g2;
8667
8667
+
b[a3 >> 2] = 0;
8668
8668
+
c2 = d2;
8669
8669
+
e2 = 0;
8670
8670
+
d2 = g2;
8671
8671
+
} else {
8672
8672
+
d2 = 0;
8673
8673
+
}
8674
8674
+
if ((c2 | 0) < 0) {
8675
8675
+
e2 = e2 - c2 | 0;
8676
8676
+
b[a3 >> 2] = e2;
8677
8677
+
d2 = d2 - c2 | 0;
8678
8678
+
b[h >> 2] = d2;
8679
8679
+
b[i >> 2] = 0;
8680
8680
+
c2 = 0;
8681
8681
+
}
8682
8682
+
g2 = e2 - d2 | 0;
8683
8683
+
f2 = c2 - d2 | 0;
8684
8684
+
if ((d2 | 0) < 0) {
8685
8685
+
b[a3 >> 2] = g2;
8686
8686
+
b[i >> 2] = f2;
8687
8687
+
b[h >> 2] = 0;
8688
8688
+
c2 = f2;
8689
8689
+
f2 = g2;
8690
8690
+
d2 = 0;
8691
8691
+
} else {
8692
8692
+
f2 = e2;
8693
8693
+
}
8694
8694
+
e2 = (c2 | 0) < (f2 | 0) ? c2 : f2;
8695
8695
+
e2 = (d2 | 0) < (e2 | 0) ? d2 : e2;
8696
8696
+
if ((e2 | 0) <= 0) {
8697
8697
+
return;
8698
8698
+
}
8699
8699
+
b[a3 >> 2] = f2 - e2;
8700
8700
+
b[i >> 2] = c2 - e2;
8701
8701
+
b[h >> 2] = d2 - e2;
8702
8702
+
return;
8703
8703
+
}
8704
8704
+
function Va(a3) {
8705
8705
+
a3 = a3 | 0;
8706
8706
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8707
8707
+
h = a3 + 8 | 0;
8708
8708
+
d2 = b[h >> 2] | 0;
8709
8709
+
c2 = (b[a3 >> 2] | 0) - d2 | 0;
8710
8710
+
i = a3 + 4 | 0;
8711
8711
+
d2 = (b[i >> 2] | 0) - d2 | 0;
8712
8712
+
e2 = Cd(+((c2 << 1) + d2 | 0) * 0.14285714285714285) | 0;
8713
8713
+
b[a3 >> 2] = e2;
8714
8714
+
c2 = Cd(+((d2 * 3 | 0) - c2 | 0) * 0.14285714285714285) | 0;
8715
8715
+
b[i >> 2] = c2;
8716
8716
+
b[h >> 2] = 0;
8717
8717
+
d2 = c2 - e2 | 0;
8718
8718
+
if ((e2 | 0) < 0) {
8719
8719
+
g2 = 0 - e2 | 0;
8720
8720
+
b[i >> 2] = d2;
8721
8721
+
b[h >> 2] = g2;
8722
8722
+
b[a3 >> 2] = 0;
8723
8723
+
c2 = d2;
8724
8724
+
e2 = 0;
8725
8725
+
d2 = g2;
8726
8726
+
} else {
8727
8727
+
d2 = 0;
8728
8728
+
}
8729
8729
+
if ((c2 | 0) < 0) {
8730
8730
+
e2 = e2 - c2 | 0;
8731
8731
+
b[a3 >> 2] = e2;
8732
8732
+
d2 = d2 - c2 | 0;
8733
8733
+
b[h >> 2] = d2;
8734
8734
+
b[i >> 2] = 0;
8735
8735
+
c2 = 0;
8736
8736
+
}
8737
8737
+
g2 = e2 - d2 | 0;
8738
8738
+
f2 = c2 - d2 | 0;
8739
8739
+
if ((d2 | 0) < 0) {
8740
8740
+
b[a3 >> 2] = g2;
8741
8741
+
b[i >> 2] = f2;
8742
8742
+
b[h >> 2] = 0;
8743
8743
+
c2 = f2;
8744
8744
+
f2 = g2;
8745
8745
+
d2 = 0;
8746
8746
+
} else {
8747
8747
+
f2 = e2;
8748
8748
+
}
8749
8749
+
e2 = (c2 | 0) < (f2 | 0) ? c2 : f2;
8750
8750
+
e2 = (d2 | 0) < (e2 | 0) ? d2 : e2;
8751
8751
+
if ((e2 | 0) <= 0) {
8752
8752
+
return;
8753
8753
+
}
8754
8754
+
b[a3 >> 2] = f2 - e2;
8755
8755
+
b[i >> 2] = c2 - e2;
8756
8756
+
b[h >> 2] = d2 - e2;
8757
8757
+
return;
8758
8758
+
}
8759
8759
+
function Wa(a3) {
8760
8760
+
a3 = a3 | 0;
8761
8761
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8762
8762
+
c2 = b[a3 >> 2] | 0;
8763
8763
+
h = a3 + 4 | 0;
8764
8764
+
d2 = b[h >> 2] | 0;
8765
8765
+
i = a3 + 8 | 0;
8766
8766
+
e2 = b[i >> 2] | 0;
8767
8767
+
f2 = d2 + (c2 * 3 | 0) | 0;
8768
8768
+
b[a3 >> 2] = f2;
8769
8769
+
d2 = e2 + (d2 * 3 | 0) | 0;
8770
8770
+
b[h >> 2] = d2;
8771
8771
+
c2 = (e2 * 3 | 0) + c2 | 0;
8772
8772
+
b[i >> 2] = c2;
8773
8773
+
e2 = d2 - f2 | 0;
8774
8774
+
if ((f2 | 0) < 0) {
8775
8775
+
c2 = c2 - f2 | 0;
8776
8776
+
b[h >> 2] = e2;
8777
8777
+
b[i >> 2] = c2;
8778
8778
+
b[a3 >> 2] = 0;
8779
8779
+
d2 = e2;
8780
8780
+
e2 = 0;
8781
8781
+
} else {
8782
8782
+
e2 = f2;
8783
8783
+
}
8784
8784
+
if ((d2 | 0) < 0) {
8785
8785
+
e2 = e2 - d2 | 0;
8786
8786
+
b[a3 >> 2] = e2;
8787
8787
+
c2 = c2 - d2 | 0;
8788
8788
+
b[i >> 2] = c2;
8789
8789
+
b[h >> 2] = 0;
8790
8790
+
d2 = 0;
8791
8791
+
}
8792
8792
+
g2 = e2 - c2 | 0;
8793
8793
+
f2 = d2 - c2 | 0;
8794
8794
+
if ((c2 | 0) < 0) {
8795
8795
+
b[a3 >> 2] = g2;
8796
8796
+
b[h >> 2] = f2;
8797
8797
+
b[i >> 2] = 0;
8798
8798
+
e2 = g2;
8799
8799
+
c2 = 0;
8800
8800
+
} else {
8801
8801
+
f2 = d2;
8802
8802
+
}
8803
8803
+
d2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
8804
8804
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
8805
8805
+
if ((d2 | 0) <= 0) {
8806
8806
+
return;
8807
8807
+
}
8808
8808
+
b[a3 >> 2] = e2 - d2;
8809
8809
+
b[h >> 2] = f2 - d2;
8810
8810
+
b[i >> 2] = c2 - d2;
8811
8811
+
return;
8812
8812
+
}
8813
8813
+
function Xa(a3) {
8814
8814
+
a3 = a3 | 0;
8815
8815
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8816
8816
+
f2 = b[a3 >> 2] | 0;
8817
8817
+
h = a3 + 4 | 0;
8818
8818
+
c2 = b[h >> 2] | 0;
8819
8819
+
i = a3 + 8 | 0;
8820
8820
+
d2 = b[i >> 2] | 0;
8821
8821
+
e2 = (c2 * 3 | 0) + f2 | 0;
8822
8822
+
f2 = d2 + (f2 * 3 | 0) | 0;
8823
8823
+
b[a3 >> 2] = f2;
8824
8824
+
b[h >> 2] = e2;
8825
8825
+
c2 = (d2 * 3 | 0) + c2 | 0;
8826
8826
+
b[i >> 2] = c2;
8827
8827
+
d2 = e2 - f2 | 0;
8828
8828
+
if ((f2 | 0) < 0) {
8829
8829
+
c2 = c2 - f2 | 0;
8830
8830
+
b[h >> 2] = d2;
8831
8831
+
b[i >> 2] = c2;
8832
8832
+
b[a3 >> 2] = 0;
8833
8833
+
f2 = 0;
8834
8834
+
} else {
8835
8835
+
d2 = e2;
8836
8836
+
}
8837
8837
+
if ((d2 | 0) < 0) {
8838
8838
+
f2 = f2 - d2 | 0;
8839
8839
+
b[a3 >> 2] = f2;
8840
8840
+
c2 = c2 - d2 | 0;
8841
8841
+
b[i >> 2] = c2;
8842
8842
+
b[h >> 2] = 0;
8843
8843
+
d2 = 0;
8844
8844
+
}
8845
8845
+
g2 = f2 - c2 | 0;
8846
8846
+
e2 = d2 - c2 | 0;
8847
8847
+
if ((c2 | 0) < 0) {
8848
8848
+
b[a3 >> 2] = g2;
8849
8849
+
b[h >> 2] = e2;
8850
8850
+
b[i >> 2] = 0;
8851
8851
+
f2 = g2;
8852
8852
+
c2 = 0;
8853
8853
+
} else {
8854
8854
+
e2 = d2;
8855
8855
+
}
8856
8856
+
d2 = (e2 | 0) < (f2 | 0) ? e2 : f2;
8857
8857
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
8858
8858
+
if ((d2 | 0) <= 0) {
8859
8859
+
return;
8860
8860
+
}
8861
8861
+
b[a3 >> 2] = f2 - d2;
8862
8862
+
b[h >> 2] = e2 - d2;
8863
8863
+
b[i >> 2] = c2 - d2;
8864
8864
+
return;
8865
8865
+
}
8866
8866
+
function Ya(a3, c2) {
8867
8867
+
a3 = a3 | 0;
8868
8868
+
c2 = c2 | 0;
8869
8869
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8870
8870
+
if ((c2 + -1 | 0) >>> 0 >= 6) {
8871
8871
+
return;
8872
8872
+
}
8873
8873
+
f2 = (b[15440 + (c2 * 12 | 0) >> 2] | 0) + (b[a3 >> 2] | 0) | 0;
8874
8874
+
b[a3 >> 2] = f2;
8875
8875
+
i = a3 + 4 | 0;
8876
8876
+
e2 = (b[15440 + (c2 * 12 | 0) + 4 >> 2] | 0) + (b[i >> 2] | 0) | 0;
8877
8877
+
b[i >> 2] = e2;
8878
8878
+
h = a3 + 8 | 0;
8879
8879
+
c2 = (b[15440 + (c2 * 12 | 0) + 8 >> 2] | 0) + (b[h >> 2] | 0) | 0;
8880
8880
+
b[h >> 2] = c2;
8881
8881
+
d2 = e2 - f2 | 0;
8882
8882
+
if ((f2 | 0) < 0) {
8883
8883
+
c2 = c2 - f2 | 0;
8884
8884
+
b[i >> 2] = d2;
8885
8885
+
b[h >> 2] = c2;
8886
8886
+
b[a3 >> 2] = 0;
8887
8887
+
e2 = 0;
8888
8888
+
} else {
8889
8889
+
d2 = e2;
8890
8890
+
e2 = f2;
8891
8891
+
}
8892
8892
+
if ((d2 | 0) < 0) {
8893
8893
+
e2 = e2 - d2 | 0;
8894
8894
+
b[a3 >> 2] = e2;
8895
8895
+
c2 = c2 - d2 | 0;
8896
8896
+
b[h >> 2] = c2;
8897
8897
+
b[i >> 2] = 0;
8898
8898
+
d2 = 0;
8899
8899
+
}
8900
8900
+
g2 = e2 - c2 | 0;
8901
8901
+
f2 = d2 - c2 | 0;
8902
8902
+
if ((c2 | 0) < 0) {
8903
8903
+
b[a3 >> 2] = g2;
8904
8904
+
b[i >> 2] = f2;
8905
8905
+
b[h >> 2] = 0;
8906
8906
+
e2 = g2;
8907
8907
+
c2 = 0;
8908
8908
+
} else {
8909
8909
+
f2 = d2;
8910
8910
+
}
8911
8911
+
d2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
8912
8912
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
8913
8913
+
if ((d2 | 0) <= 0) {
8914
8914
+
return;
8915
8915
+
}
8916
8916
+
b[a3 >> 2] = e2 - d2;
8917
8917
+
b[i >> 2] = f2 - d2;
8918
8918
+
b[h >> 2] = c2 - d2;
8919
8919
+
return;
8920
8920
+
}
8921
8921
+
function Za(a3) {
8922
8922
+
a3 = a3 | 0;
8923
8923
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8924
8924
+
f2 = b[a3 >> 2] | 0;
8925
8925
+
h = a3 + 4 | 0;
8926
8926
+
c2 = b[h >> 2] | 0;
8927
8927
+
i = a3 + 8 | 0;
8928
8928
+
d2 = b[i >> 2] | 0;
8929
8929
+
e2 = c2 + f2 | 0;
8930
8930
+
f2 = d2 + f2 | 0;
8931
8931
+
b[a3 >> 2] = f2;
8932
8932
+
b[h >> 2] = e2;
8933
8933
+
c2 = d2 + c2 | 0;
8934
8934
+
b[i >> 2] = c2;
8935
8935
+
d2 = e2 - f2 | 0;
8936
8936
+
if ((f2 | 0) < 0) {
8937
8937
+
c2 = c2 - f2 | 0;
8938
8938
+
b[h >> 2] = d2;
8939
8939
+
b[i >> 2] = c2;
8940
8940
+
b[a3 >> 2] = 0;
8941
8941
+
e2 = 0;
8942
8942
+
} else {
8943
8943
+
d2 = e2;
8944
8944
+
e2 = f2;
8945
8945
+
}
8946
8946
+
if ((d2 | 0) < 0) {
8947
8947
+
e2 = e2 - d2 | 0;
8948
8948
+
b[a3 >> 2] = e2;
8949
8949
+
c2 = c2 - d2 | 0;
8950
8950
+
b[i >> 2] = c2;
8951
8951
+
b[h >> 2] = 0;
8952
8952
+
d2 = 0;
8953
8953
+
}
8954
8954
+
g2 = e2 - c2 | 0;
8955
8955
+
f2 = d2 - c2 | 0;
8956
8956
+
if ((c2 | 0) < 0) {
8957
8957
+
b[a3 >> 2] = g2;
8958
8958
+
b[h >> 2] = f2;
8959
8959
+
b[i >> 2] = 0;
8960
8960
+
e2 = g2;
8961
8961
+
c2 = 0;
8962
8962
+
} else {
8963
8963
+
f2 = d2;
8964
8964
+
}
8965
8965
+
d2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
8966
8966
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
8967
8967
+
if ((d2 | 0) <= 0) {
8968
8968
+
return;
8969
8969
+
}
8970
8970
+
b[a3 >> 2] = e2 - d2;
8971
8971
+
b[h >> 2] = f2 - d2;
8972
8972
+
b[i >> 2] = c2 - d2;
8973
8973
+
return;
8974
8974
+
}
8975
8975
+
function _a(a3) {
8976
8976
+
a3 = a3 | 0;
8977
8977
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
8978
8978
+
c2 = b[a3 >> 2] | 0;
8979
8979
+
h = a3 + 4 | 0;
8980
8980
+
e2 = b[h >> 2] | 0;
8981
8981
+
i = a3 + 8 | 0;
8982
8982
+
d2 = b[i >> 2] | 0;
8983
8983
+
f2 = e2 + c2 | 0;
8984
8984
+
b[a3 >> 2] = f2;
8985
8985
+
e2 = d2 + e2 | 0;
8986
8986
+
b[h >> 2] = e2;
8987
8987
+
c2 = d2 + c2 | 0;
8988
8988
+
b[i >> 2] = c2;
8989
8989
+
d2 = e2 - f2 | 0;
8990
8990
+
if ((f2 | 0) < 0) {
8991
8991
+
c2 = c2 - f2 | 0;
8992
8992
+
b[h >> 2] = d2;
8993
8993
+
b[i >> 2] = c2;
8994
8994
+
b[a3 >> 2] = 0;
8995
8995
+
e2 = 0;
8996
8996
+
} else {
8997
8997
+
d2 = e2;
8998
8998
+
e2 = f2;
8999
8999
+
}
9000
9000
+
if ((d2 | 0) < 0) {
9001
9001
+
e2 = e2 - d2 | 0;
9002
9002
+
b[a3 >> 2] = e2;
9003
9003
+
c2 = c2 - d2 | 0;
9004
9004
+
b[i >> 2] = c2;
9005
9005
+
b[h >> 2] = 0;
9006
9006
+
d2 = 0;
9007
9007
+
}
9008
9008
+
g2 = e2 - c2 | 0;
9009
9009
+
f2 = d2 - c2 | 0;
9010
9010
+
if ((c2 | 0) < 0) {
9011
9011
+
b[a3 >> 2] = g2;
9012
9012
+
b[h >> 2] = f2;
9013
9013
+
b[i >> 2] = 0;
9014
9014
+
e2 = g2;
9015
9015
+
c2 = 0;
9016
9016
+
} else {
9017
9017
+
f2 = d2;
9018
9018
+
}
9019
9019
+
d2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
9020
9020
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
9021
9021
+
if ((d2 | 0) <= 0) {
9022
9022
+
return;
9023
9023
+
}
9024
9024
+
b[a3 >> 2] = e2 - d2;
9025
9025
+
b[h >> 2] = f2 - d2;
9026
9026
+
b[i >> 2] = c2 - d2;
9027
9027
+
return;
9028
9028
+
}
9029
9029
+
function $a(a3) {
9030
9030
+
a3 = a3 | 0;
9031
9031
+
switch (a3 | 0) {
9032
9032
+
case 1: {
9033
9033
+
a3 = 5;
9034
9034
+
break;
9035
9035
+
}
9036
9036
+
case 5: {
9037
9037
+
a3 = 4;
9038
9038
+
break;
9039
9039
+
}
9040
9040
+
case 4: {
9041
9041
+
a3 = 6;
9042
9042
+
break;
9043
9043
+
}
9044
9044
+
case 6: {
9045
9045
+
a3 = 2;
9046
9046
+
break;
9047
9047
+
}
9048
9048
+
case 2: {
9049
9049
+
a3 = 3;
9050
9050
+
break;
9051
9051
+
}
9052
9052
+
case 3: {
9053
9053
+
a3 = 1;
9054
9054
+
break;
9055
9055
+
}
9056
9056
+
default:
9057
9057
+
}
9058
9058
+
return a3 | 0;
9059
9059
+
}
9060
9060
+
function ab(a3) {
9061
9061
+
a3 = a3 | 0;
9062
9062
+
switch (a3 | 0) {
9063
9063
+
case 1: {
9064
9064
+
a3 = 3;
9065
9065
+
break;
9066
9066
+
}
9067
9067
+
case 3: {
9068
9068
+
a3 = 2;
9069
9069
+
break;
9070
9070
+
}
9071
9071
+
case 2: {
9072
9072
+
a3 = 6;
9073
9073
+
break;
9074
9074
+
}
9075
9075
+
case 6: {
9076
9076
+
a3 = 4;
9077
9077
+
break;
9078
9078
+
}
9079
9079
+
case 4: {
9080
9080
+
a3 = 5;
9081
9081
+
break;
9082
9082
+
}
9083
9083
+
case 5: {
9084
9084
+
a3 = 1;
9085
9085
+
break;
9086
9086
+
}
9087
9087
+
default:
9088
9088
+
}
9089
9089
+
return a3 | 0;
9090
9090
+
}
9091
9091
+
function bb(a3) {
9092
9092
+
a3 = a3 | 0;
9093
9093
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
9094
9094
+
c2 = b[a3 >> 2] | 0;
9095
9095
+
h = a3 + 4 | 0;
9096
9096
+
d2 = b[h >> 2] | 0;
9097
9097
+
i = a3 + 8 | 0;
9098
9098
+
e2 = b[i >> 2] | 0;
9099
9099
+
f2 = d2 + (c2 << 1) | 0;
9100
9100
+
b[a3 >> 2] = f2;
9101
9101
+
d2 = e2 + (d2 << 1) | 0;
9102
9102
+
b[h >> 2] = d2;
9103
9103
+
c2 = (e2 << 1) + c2 | 0;
9104
9104
+
b[i >> 2] = c2;
9105
9105
+
e2 = d2 - f2 | 0;
9106
9106
+
if ((f2 | 0) < 0) {
9107
9107
+
c2 = c2 - f2 | 0;
9108
9108
+
b[h >> 2] = e2;
9109
9109
+
b[i >> 2] = c2;
9110
9110
+
b[a3 >> 2] = 0;
9111
9111
+
d2 = e2;
9112
9112
+
e2 = 0;
9113
9113
+
} else {
9114
9114
+
e2 = f2;
9115
9115
+
}
9116
9116
+
if ((d2 | 0) < 0) {
9117
9117
+
e2 = e2 - d2 | 0;
9118
9118
+
b[a3 >> 2] = e2;
9119
9119
+
c2 = c2 - d2 | 0;
9120
9120
+
b[i >> 2] = c2;
9121
9121
+
b[h >> 2] = 0;
9122
9122
+
d2 = 0;
9123
9123
+
}
9124
9124
+
g2 = e2 - c2 | 0;
9125
9125
+
f2 = d2 - c2 | 0;
9126
9126
+
if ((c2 | 0) < 0) {
9127
9127
+
b[a3 >> 2] = g2;
9128
9128
+
b[h >> 2] = f2;
9129
9129
+
b[i >> 2] = 0;
9130
9130
+
e2 = g2;
9131
9131
+
c2 = 0;
9132
9132
+
} else {
9133
9133
+
f2 = d2;
9134
9134
+
}
9135
9135
+
d2 = (f2 | 0) < (e2 | 0) ? f2 : e2;
9136
9136
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
9137
9137
+
if ((d2 | 0) <= 0) {
9138
9138
+
return;
9139
9139
+
}
9140
9140
+
b[a3 >> 2] = e2 - d2;
9141
9141
+
b[h >> 2] = f2 - d2;
9142
9142
+
b[i >> 2] = c2 - d2;
9143
9143
+
return;
9144
9144
+
}
9145
9145
+
function cb(a3) {
9146
9146
+
a3 = a3 | 0;
9147
9147
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
9148
9148
+
f2 = b[a3 >> 2] | 0;
9149
9149
+
h = a3 + 4 | 0;
9150
9150
+
c2 = b[h >> 2] | 0;
9151
9151
+
i = a3 + 8 | 0;
9152
9152
+
d2 = b[i >> 2] | 0;
9153
9153
+
e2 = (c2 << 1) + f2 | 0;
9154
9154
+
f2 = d2 + (f2 << 1) | 0;
9155
9155
+
b[a3 >> 2] = f2;
9156
9156
+
b[h >> 2] = e2;
9157
9157
+
c2 = (d2 << 1) + c2 | 0;
9158
9158
+
b[i >> 2] = c2;
9159
9159
+
d2 = e2 - f2 | 0;
9160
9160
+
if ((f2 | 0) < 0) {
9161
9161
+
c2 = c2 - f2 | 0;
9162
9162
+
b[h >> 2] = d2;
9163
9163
+
b[i >> 2] = c2;
9164
9164
+
b[a3 >> 2] = 0;
9165
9165
+
f2 = 0;
9166
9166
+
} else {
9167
9167
+
d2 = e2;
9168
9168
+
}
9169
9169
+
if ((d2 | 0) < 0) {
9170
9170
+
f2 = f2 - d2 | 0;
9171
9171
+
b[a3 >> 2] = f2;
9172
9172
+
c2 = c2 - d2 | 0;
9173
9173
+
b[i >> 2] = c2;
9174
9174
+
b[h >> 2] = 0;
9175
9175
+
d2 = 0;
9176
9176
+
}
9177
9177
+
g2 = f2 - c2 | 0;
9178
9178
+
e2 = d2 - c2 | 0;
9179
9179
+
if ((c2 | 0) < 0) {
9180
9180
+
b[a3 >> 2] = g2;
9181
9181
+
b[h >> 2] = e2;
9182
9182
+
b[i >> 2] = 0;
9183
9183
+
f2 = g2;
9184
9184
+
c2 = 0;
9185
9185
+
} else {
9186
9186
+
e2 = d2;
9187
9187
+
}
9188
9188
+
d2 = (e2 | 0) < (f2 | 0) ? e2 : f2;
9189
9189
+
d2 = (c2 | 0) < (d2 | 0) ? c2 : d2;
9190
9190
+
if ((d2 | 0) <= 0) {
9191
9191
+
return;
9192
9192
+
}
9193
9193
+
b[a3 >> 2] = f2 - d2;
9194
9194
+
b[h >> 2] = e2 - d2;
9195
9195
+
b[i >> 2] = c2 - d2;
9196
9196
+
return;
9197
9197
+
}
9198
9198
+
function db(a3, c2) {
9199
9199
+
a3 = a3 | 0;
9200
9200
+
c2 = c2 | 0;
9201
9201
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
9202
9202
+
h = (b[a3 >> 2] | 0) - (b[c2 >> 2] | 0) | 0;
9203
9203
+
i = (h | 0) < 0;
9204
9204
+
e2 = (b[a3 + 4 >> 2] | 0) - (b[c2 + 4 >> 2] | 0) - (i ? h : 0) | 0;
9205
9205
+
g2 = (e2 | 0) < 0;
9206
9206
+
f2 = (i ? 0 - h | 0 : 0) + (b[a3 + 8 >> 2] | 0) - (b[c2 + 8 >> 2] | 0) + (g2 ? 0 - e2 | 0 : 0) | 0;
9207
9207
+
a3 = (f2 | 0) < 0;
9208
9208
+
c2 = a3 ? 0 : f2;
9209
9209
+
d2 = (g2 ? 0 : e2) - (a3 ? f2 : 0) | 0;
9210
9210
+
f2 = (i ? 0 : h) - (g2 ? e2 : 0) - (a3 ? f2 : 0) | 0;
9211
9211
+
a3 = (d2 | 0) < (f2 | 0) ? d2 : f2;
9212
9212
+
a3 = (c2 | 0) < (a3 | 0) ? c2 : a3;
9213
9213
+
e2 = (a3 | 0) > 0;
9214
9214
+
c2 = c2 - (e2 ? a3 : 0) | 0;
9215
9215
+
d2 = d2 - (e2 ? a3 : 0) | 0;
9216
9216
+
a3 = f2 - (e2 ? a3 : 0) | 0;
9217
9217
+
a3 = (a3 | 0) > -1 ? a3 : 0 - a3 | 0;
9218
9218
+
d2 = (d2 | 0) > -1 ? d2 : 0 - d2 | 0;
9219
9219
+
c2 = (c2 | 0) > -1 ? c2 : 0 - c2 | 0;
9220
9220
+
c2 = (d2 | 0) > (c2 | 0) ? d2 : c2;
9221
9221
+
return ((a3 | 0) > (c2 | 0) ? a3 : c2) | 0;
9222
9222
+
}
9223
9223
+
function eb(a3, c2) {
9224
9224
+
a3 = a3 | 0;
9225
9225
+
c2 = c2 | 0;
9226
9226
+
var d2 = 0;
9227
9227
+
d2 = b[a3 + 8 >> 2] | 0;
9228
9228
+
b[c2 >> 2] = (b[a3 >> 2] | 0) - d2;
9229
9229
+
b[c2 + 4 >> 2] = (b[a3 + 4 >> 2] | 0) - d2;
9230
9230
+
return;
9231
9231
+
}
9232
9232
+
function fb(a3, c2) {
9233
9233
+
a3 = a3 | 0;
9234
9234
+
c2 = c2 | 0;
9235
9235
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
9236
9236
+
e2 = b[a3 >> 2] | 0;
9237
9237
+
b[c2 >> 2] = e2;
9238
9238
+
f2 = b[a3 + 4 >> 2] | 0;
9239
9239
+
h = c2 + 4 | 0;
9240
9240
+
b[h >> 2] = f2;
9241
9241
+
i = c2 + 8 | 0;
9242
9242
+
b[i >> 2] = 0;
9243
9243
+
d2 = (f2 | 0) < (e2 | 0);
9244
9244
+
a3 = d2 ? e2 : f2;
9245
9245
+
d2 = d2 ? f2 : e2;
9246
9246
+
if ((d2 | 0) < 0) {
9247
9247
+
if ((d2 | 0) == -2147483648 ? 1 : (a3 | 0) > 0 ? (2147483647 - a3 | 0) < (d2 | 0) : (-2147483648 - a3 | 0) > (d2 | 0)) {
9248
9248
+
c2 = 1;
9249
9249
+
return c2 | 0;
9250
9250
+
}
9251
9251
+
if ((a3 | 0) > -1 ? (a3 | -2147483648 | 0) >= (d2 | 0) : (a3 ^ -2147483648 | 0) < (d2 | 0)) {
9252
9252
+
c2 = 1;
9253
9253
+
return c2 | 0;
9254
9254
+
}
9255
9255
+
}
9256
9256
+
a3 = f2 - e2 | 0;
9257
9257
+
if ((e2 | 0) < 0) {
9258
9258
+
d2 = 0 - e2 | 0;
9259
9259
+
b[h >> 2] = a3;
9260
9260
+
b[i >> 2] = d2;
9261
9261
+
b[c2 >> 2] = 0;
9262
9262
+
e2 = 0;
9263
9263
+
} else {
9264
9264
+
a3 = f2;
9265
9265
+
d2 = 0;
9266
9266
+
}
9267
9267
+
if ((a3 | 0) < 0) {
9268
9268
+
e2 = e2 - a3 | 0;
9269
9269
+
b[c2 >> 2] = e2;
9270
9270
+
d2 = d2 - a3 | 0;
9271
9271
+
b[i >> 2] = d2;
9272
9272
+
b[h >> 2] = 0;
9273
9273
+
a3 = 0;
9274
9274
+
}
9275
9275
+
g2 = e2 - d2 | 0;
9276
9276
+
f2 = a3 - d2 | 0;
9277
9277
+
if ((d2 | 0) < 0) {
9278
9278
+
b[c2 >> 2] = g2;
9279
9279
+
b[h >> 2] = f2;
9280
9280
+
b[i >> 2] = 0;
9281
9281
+
a3 = f2;
9282
9282
+
f2 = g2;
9283
9283
+
d2 = 0;
9284
9284
+
} else {
9285
9285
+
f2 = e2;
9286
9286
+
}
9287
9287
+
e2 = (a3 | 0) < (f2 | 0) ? a3 : f2;
9288
9288
+
e2 = (d2 | 0) < (e2 | 0) ? d2 : e2;
9289
9289
+
if ((e2 | 0) <= 0) {
9290
9290
+
c2 = 0;
9291
9291
+
return c2 | 0;
9292
9292
+
}
9293
9293
+
b[c2 >> 2] = f2 - e2;
9294
9294
+
b[h >> 2] = a3 - e2;
9295
9295
+
b[i >> 2] = d2 - e2;
9296
9296
+
c2 = 0;
9297
9297
+
return c2 | 0;
9298
9298
+
}
9299
9299
+
function gb(a3) {
9300
9300
+
a3 = a3 | 0;
9301
9301
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0;
9302
9302
+
c2 = a3 + 8 | 0;
9303
9303
+
f2 = b[c2 >> 2] | 0;
9304
9304
+
d2 = f2 - (b[a3 >> 2] | 0) | 0;
9305
9305
+
b[a3 >> 2] = d2;
9306
9306
+
e2 = a3 + 4 | 0;
9307
9307
+
a3 = (b[e2 >> 2] | 0) - f2 | 0;
9308
9308
+
b[e2 >> 2] = a3;
9309
9309
+
b[c2 >> 2] = 0 - (a3 + d2);
9310
9310
+
return;
9311
9311
+
}
9312
9312
+
function hb(a3) {
9313
9313
+
a3 = a3 | 0;
9314
9314
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
9315
9315
+
d2 = b[a3 >> 2] | 0;
9316
9316
+
c2 = 0 - d2 | 0;
9317
9317
+
b[a3 >> 2] = c2;
9318
9318
+
h = a3 + 8 | 0;
9319
9319
+
b[h >> 2] = 0;
9320
9320
+
i = a3 + 4 | 0;
9321
9321
+
e2 = b[i >> 2] | 0;
9322
9322
+
f2 = e2 + d2 | 0;
9323
9323
+
if ((d2 | 0) > 0) {
9324
9324
+
b[i >> 2] = f2;
9325
9325
+
b[h >> 2] = d2;
9326
9326
+
b[a3 >> 2] = 0;
9327
9327
+
c2 = 0;
9328
9328
+
e2 = f2;
9329
9329
+
} else {
9330
9330
+
d2 = 0;
9331
9331
+
}
9332
9332
+
if ((e2 | 0) < 0) {
9333
9333
+
g2 = c2 - e2 | 0;
9334
9334
+
b[a3 >> 2] = g2;
9335
9335
+
d2 = d2 - e2 | 0;
9336
9336
+
b[h >> 2] = d2;
9337
9337
+
b[i >> 2] = 0;
9338
9338
+
f2 = g2 - d2 | 0;
9339
9339
+
c2 = 0 - d2 | 0;
9340
9340
+
if ((d2 | 0) < 0) {
9341
9341
+
b[a3 >> 2] = f2;
9342
9342
+
b[i >> 2] = c2;
9343
9343
+
b[h >> 2] = 0;
9344
9344
+
e2 = c2;
9345
9345
+
d2 = 0;
9346
9346
+
} else {
9347
9347
+
e2 = 0;
9348
9348
+
f2 = g2;
9349
9349
+
}
9350
9350
+
} else {
9351
9351
+
f2 = c2;
9352
9352
+
}
9353
9353
+
c2 = (e2 | 0) < (f2 | 0) ? e2 : f2;
9354
9354
+
c2 = (d2 | 0) < (c2 | 0) ? d2 : c2;
9355
9355
+
if ((c2 | 0) <= 0) {
9356
9356
+
return;
9357
9357
+
}
9358
9358
+
b[a3 >> 2] = f2 - c2;
9359
9359
+
b[i >> 2] = e2 - c2;
9360
9360
+
b[h >> 2] = d2 - c2;
9361
9361
+
return;
9362
9362
+
}
9363
9363
+
function ib(a3, c2, d2, e2, f2) {
9364
9364
+
a3 = a3 | 0;
9365
9365
+
c2 = c2 | 0;
9366
9366
+
d2 = d2 | 0;
9367
9367
+
e2 = e2 | 0;
9368
9368
+
f2 = f2 | 0;
9369
9369
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
9370
9370
+
m = T;
9371
9371
+
T = T + 64 | 0;
9372
9372
+
l = m;
9373
9373
+
i = m + 56 | 0;
9374
9374
+
if (!(true & (c2 & 2013265920 | 0) == 134217728 & (true & (e2 & 2013265920 | 0) == 134217728))) {
9375
9375
+
f2 = 5;
9376
9376
+
T = m;
9377
9377
+
return f2 | 0;
9378
9378
+
}
9379
9379
+
if ((a3 | 0) == (d2 | 0) & (c2 | 0) == (e2 | 0)) {
9380
9380
+
b[f2 >> 2] = 0;
9381
9381
+
f2 = 0;
9382
9382
+
T = m;
9383
9383
+
return f2 | 0;
9384
9384
+
}
9385
9385
+
h = Qd(a3 | 0, c2 | 0, 52) | 0;
9386
9386
+
H() | 0;
9387
9387
+
h = h & 15;
9388
9388
+
k = Qd(d2 | 0, e2 | 0, 52) | 0;
9389
9389
+
H() | 0;
9390
9390
+
if ((h | 0) != (k & 15 | 0)) {
9391
9391
+
f2 = 12;
9392
9392
+
T = m;
9393
9393
+
return f2 | 0;
9394
9394
+
}
9395
9395
+
g2 = h + -1 | 0;
9396
9396
+
if (h >>> 0 > 1) {
9397
9397
+
Fb(a3, c2, g2, l) | 0;
9398
9398
+
Fb(d2, e2, g2, i) | 0;
9399
9399
+
k = l;
9400
9400
+
j = b[k >> 2] | 0;
9401
9401
+
k = b[k + 4 >> 2] | 0;
9402
9402
+
a:
9403
9403
+
do {
9404
9404
+
if ((j | 0) == (b[i >> 2] | 0) ? (k | 0) == (b[i + 4 >> 2] | 0) : 0) {
9405
9405
+
h = (h ^ 15) * 3 | 0;
9406
9406
+
g2 = Qd(a3 | 0, c2 | 0, h | 0) | 0;
9407
9407
+
H() | 0;
9408
9408
+
g2 = g2 & 7;
9409
9409
+
h = Qd(d2 | 0, e2 | 0, h | 0) | 0;
9410
9410
+
H() | 0;
9411
9411
+
h = h & 7;
9412
9412
+
do {
9413
9413
+
if (!((g2 | 0) == 0 | (h | 0) == 0)) {
9414
9414
+
if ((g2 | 0) == 7) {
9415
9415
+
g2 = 5;
9416
9416
+
} else {
9417
9417
+
if ((g2 | 0) == 1 | (h | 0) == 1 ? Hb(j, k) | 0 : 0) {
9418
9418
+
g2 = 5;
9419
9419
+
break;
9420
9420
+
}
9421
9421
+
if ((b[15536 + (g2 << 2) >> 2] | 0) != (h | 0) ? (b[15568 + (g2 << 2) >> 2] | 0) != (h | 0) : 0) {
9422
9422
+
break a;
9423
9423
+
}
9424
9424
+
b[f2 >> 2] = 1;
9425
9425
+
g2 = 0;
9426
9426
+
}
9427
9427
+
} else {
9428
9428
+
b[f2 >> 2] = 1;
9429
9429
+
g2 = 0;
9430
9430
+
}
9431
9431
+
} while (0);
9432
9432
+
f2 = g2;
9433
9433
+
T = m;
9434
9434
+
return f2 | 0;
9435
9435
+
}
9436
9436
+
} while (0);
9437
9437
+
}
9438
9438
+
g2 = l;
9439
9439
+
h = g2 + 56 | 0;
9440
9440
+
do {
9441
9441
+
b[g2 >> 2] = 0;
9442
9442
+
g2 = g2 + 4 | 0;
9443
9443
+
} while ((g2 | 0) < (h | 0));
9444
9444
+
aa(a3, c2, 1, l) | 0;
9445
9445
+
c2 = l;
9446
9446
+
if (((((!((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0) ? (c2 = l + 8 | 0, !((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0)) : 0) ? (c2 = l + 16 | 0, !((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0)) : 0) ? (c2 = l + 24 | 0, !((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0)) : 0) ? (c2 = l + 32 | 0, !((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0)) : 0) ? (c2 = l + 40 | 0, !((b[c2 >> 2] | 0) == (d2 | 0) ? (b[c2 + 4 >> 2] | 0) == (e2 | 0) : 0)) : 0) {
9447
9447
+
g2 = l + 48 | 0;
9448
9448
+
g2 = ((b[g2 >> 2] | 0) == (d2 | 0) ? (b[g2 + 4 >> 2] | 0) == (e2 | 0) : 0) & 1;
9449
9449
+
} else {
9450
9450
+
g2 = 1;
9451
9451
+
}
9452
9452
+
b[f2 >> 2] = g2;
9453
9453
+
f2 = 0;
9454
9454
+
T = m;
9455
9455
+
return f2 | 0;
9456
9456
+
}
9457
9457
+
function jb(a3, c2, d2, e2, f2) {
9458
9458
+
a3 = a3 | 0;
9459
9459
+
c2 = c2 | 0;
9460
9460
+
d2 = d2 | 0;
9461
9461
+
e2 = e2 | 0;
9462
9462
+
f2 = f2 | 0;
9463
9463
+
d2 = ia(a3, c2, d2, e2) | 0;
9464
9464
+
if ((d2 | 0) == 7) {
9465
9465
+
f2 = 11;
9466
9466
+
return f2 | 0;
9467
9467
+
}
9468
9468
+
e2 = Rd(d2 | 0, 0, 56) | 0;
9469
9469
+
c2 = c2 & -2130706433 | (H() | 0) | 268435456;
9470
9470
+
b[f2 >> 2] = a3 | e2;
9471
9471
+
b[f2 + 4 >> 2] = c2;
9472
9472
+
f2 = 0;
9473
9473
+
return f2 | 0;
9474
9474
+
}
9475
9475
+
function kb(a3, c2, d2) {
9476
9476
+
a3 = a3 | 0;
9477
9477
+
c2 = c2 | 0;
9478
9478
+
d2 = d2 | 0;
9479
9479
+
if (!(true & (c2 & 2013265920 | 0) == 268435456)) {
9480
9480
+
d2 = 6;
9481
9481
+
return d2 | 0;
9482
9482
+
}
9483
9483
+
b[d2 >> 2] = a3;
9484
9484
+
b[d2 + 4 >> 2] = c2 & -2130706433 | 134217728;
9485
9485
+
d2 = 0;
9486
9486
+
return d2 | 0;
9487
9487
+
}
9488
9488
+
function lb(a3, c2, d2) {
9489
9489
+
a3 = a3 | 0;
9490
9490
+
c2 = c2 | 0;
9491
9491
+
d2 = d2 | 0;
9492
9492
+
var e2 = 0, f2 = 0, g2 = 0;
9493
9493
+
f2 = T;
9494
9494
+
T = T + 16 | 0;
9495
9495
+
e2 = f2;
9496
9496
+
b[e2 >> 2] = 0;
9497
9497
+
if (!(true & (c2 & 2013265920 | 0) == 268435456)) {
9498
9498
+
e2 = 6;
9499
9499
+
T = f2;
9500
9500
+
return e2 | 0;
9501
9501
+
}
9502
9502
+
g2 = Qd(a3 | 0, c2 | 0, 56) | 0;
9503
9503
+
H() | 0;
9504
9504
+
e2 = ea(a3, c2 & -2130706433 | 134217728, g2 & 7, e2, d2) | 0;
9505
9505
+
T = f2;
9506
9506
+
return e2 | 0;
9507
9507
+
}
9508
9508
+
function mb(a3, b2) {
9509
9509
+
a3 = a3 | 0;
9510
9510
+
b2 = b2 | 0;
9511
9511
+
var c2 = 0;
9512
9512
+
c2 = Qd(a3 | 0, b2 | 0, 56) | 0;
9513
9513
+
H() | 0;
9514
9514
+
switch (c2 & 7) {
9515
9515
+
case 0:
9516
9516
+
case 7: {
9517
9517
+
c2 = 0;
9518
9518
+
return c2 | 0;
9519
9519
+
}
9520
9520
+
default:
9521
9521
+
}
9522
9522
+
c2 = b2 & -2130706433 | 134217728;
9523
9523
+
if (!(true & (b2 & 2013265920 | 0) == 268435456)) {
9524
9524
+
c2 = 0;
9525
9525
+
return c2 | 0;
9526
9526
+
}
9527
9527
+
if (true & (b2 & 117440512 | 0) == 16777216 & (Hb(a3, c2) | 0) != 0) {
9528
9528
+
c2 = 0;
9529
9529
+
return c2 | 0;
9530
9530
+
}
9531
9531
+
c2 = Db(a3, c2) | 0;
9532
9532
+
return c2 | 0;
9533
9533
+
}
9534
9534
+
function nb(a3, c2, d2) {
9535
9535
+
a3 = a3 | 0;
9536
9536
+
c2 = c2 | 0;
9537
9537
+
d2 = d2 | 0;
9538
9538
+
var e2 = 0, f2 = 0, g2 = 0, h = 0;
9539
9539
+
f2 = T;
9540
9540
+
T = T + 16 | 0;
9541
9541
+
e2 = f2;
9542
9542
+
if (!(true & (c2 & 2013265920 | 0) == 268435456)) {
9543
9543
+
e2 = 6;
9544
9544
+
T = f2;
9545
9545
+
return e2 | 0;
9546
9546
+
}
9547
9547
+
g2 = c2 & -2130706433 | 134217728;
9548
9548
+
h = d2;
9549
9549
+
b[h >> 2] = a3;
9550
9550
+
b[h + 4 >> 2] = g2;
9551
9551
+
b[e2 >> 2] = 0;
9552
9552
+
c2 = Qd(a3 | 0, c2 | 0, 56) | 0;
9553
9553
+
H() | 0;
9554
9554
+
e2 = ea(a3, g2, c2 & 7, e2, d2 + 8 | 0) | 0;
9555
9555
+
T = f2;
9556
9556
+
return e2 | 0;
9557
9557
+
}
9558
9558
+
function ob(a3, c2, d2) {
9559
9559
+
a3 = a3 | 0;
9560
9560
+
c2 = c2 | 0;
9561
9561
+
d2 = d2 | 0;
9562
9562
+
var e2 = 0, f2 = 0;
9563
9563
+
f2 = (Hb(a3, c2) | 0) == 0;
9564
9564
+
c2 = c2 & -2130706433;
9565
9565
+
e2 = d2;
9566
9566
+
b[e2 >> 2] = f2 ? a3 : 0;
9567
9567
+
b[e2 + 4 >> 2] = f2 ? c2 | 285212672 : 0;
9568
9568
+
e2 = d2 + 8 | 0;
9569
9569
+
b[e2 >> 2] = a3;
9570
9570
+
b[e2 + 4 >> 2] = c2 | 301989888;
9571
9571
+
e2 = d2 + 16 | 0;
9572
9572
+
b[e2 >> 2] = a3;
9573
9573
+
b[e2 + 4 >> 2] = c2 | 318767104;
9574
9574
+
e2 = d2 + 24 | 0;
9575
9575
+
b[e2 >> 2] = a3;
9576
9576
+
b[e2 + 4 >> 2] = c2 | 335544320;
9577
9577
+
e2 = d2 + 32 | 0;
9578
9578
+
b[e2 >> 2] = a3;
9579
9579
+
b[e2 + 4 >> 2] = c2 | 352321536;
9580
9580
+
d2 = d2 + 40 | 0;
9581
9581
+
b[d2 >> 2] = a3;
9582
9582
+
b[d2 + 4 >> 2] = c2 | 369098752;
9583
9583
+
return 0;
9584
9584
+
}
9585
9585
+
function pb(a3, c2, d2) {
9586
9586
+
a3 = a3 | 0;
9587
9587
+
c2 = c2 | 0;
9588
9588
+
d2 = d2 | 0;
9589
9589
+
var e2 = 0, f2 = 0, g2 = 0, h = 0;
9590
9590
+
h = T;
9591
9591
+
T = T + 16 | 0;
9592
9592
+
f2 = h;
9593
9593
+
g2 = c2 & -2130706433 | 134217728;
9594
9594
+
if (!(true & (c2 & 2013265920 | 0) == 268435456)) {
9595
9595
+
g2 = 6;
9596
9596
+
T = h;
9597
9597
+
return g2 | 0;
9598
9598
+
}
9599
9599
+
e2 = Qd(a3 | 0, c2 | 0, 56) | 0;
9600
9600
+
H() | 0;
9601
9601
+
e2 = od(a3, g2, e2 & 7) | 0;
9602
9602
+
if ((e2 | 0) == -1) {
9603
9603
+
b[d2 >> 2] = 0;
9604
9604
+
g2 = 6;
9605
9605
+
T = h;
9606
9606
+
return g2 | 0;
9607
9607
+
}
9608
9608
+
if (Yb(a3, g2, f2) | 0) {
9609
9609
+
I(27795, 26932, 282, 26947);
9610
9610
+
}
9611
9611
+
c2 = Qd(a3 | 0, c2 | 0, 52) | 0;
9612
9612
+
H() | 0;
9613
9613
+
c2 = c2 & 15;
9614
9614
+
if (!(Hb(a3, g2) | 0)) {
9615
9615
+
zb(f2, c2, e2, 2, d2);
9616
9616
+
} else {
9617
9617
+
vb(f2, c2, e2, 2, d2);
9618
9618
+
}
9619
9619
+
g2 = 0;
9620
9620
+
T = h;
9621
9621
+
return g2 | 0;
9622
9622
+
}
9623
9623
+
function qb(a3, b2, c2) {
9624
9624
+
a3 = a3 | 0;
9625
9625
+
b2 = b2 | 0;
9626
9626
+
c2 = c2 | 0;
9627
9627
+
var d2 = 0, e2 = 0;
9628
9628
+
d2 = T;
9629
9629
+
T = T + 16 | 0;
9630
9630
+
e2 = d2;
9631
9631
+
rb(a3, b2, c2, e2);
9632
9632
+
La(e2, c2 + 4 | 0);
9633
9633
+
T = d2;
9634
9634
+
return;
9635
9635
+
}
9636
9636
+
function rb(a3, c2, d2, f2) {
9637
9637
+
a3 = a3 | 0;
9638
9638
+
c2 = c2 | 0;
9639
9639
+
d2 = d2 | 0;
9640
9640
+
f2 = f2 | 0;
9641
9641
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0;
9642
9642
+
j = T;
9643
9643
+
T = T + 16 | 0;
9644
9644
+
k = j;
9645
9645
+
sb(a3, d2, k);
9646
9646
+
h = +w(+(1 - +e[k >> 3] * 0.5));
9647
9647
+
if (h < 0.0000000000000001) {
9648
9648
+
b[f2 >> 2] = 0;
9649
9649
+
b[f2 + 4 >> 2] = 0;
9650
9650
+
b[f2 + 8 >> 2] = 0;
9651
9651
+
b[f2 + 12 >> 2] = 0;
9652
9652
+
T = j;
9653
9653
+
return;
9654
9654
+
}
9655
9655
+
k = b[d2 >> 2] | 0;
9656
9656
+
g2 = +e[15920 + (k * 24 | 0) >> 3];
9657
9657
+
g2 = +ic(g2 - +ic(+oc(15600 + (k << 4) | 0, a3)));
9658
9658
+
if (!(Vb(c2) | 0)) {
9659
9659
+
i = g2;
9660
9660
+
} else {
9661
9661
+
i = +ic(g2 + -0.3334731722518321);
9662
9662
+
}
9663
9663
+
g2 = +v(+h) * 2.618033988749896;
9664
9664
+
if ((c2 | 0) > 0) {
9665
9665
+
a3 = 0;
9666
9666
+
do {
9667
9667
+
g2 = g2 * 2.6457513110645907;
9668
9668
+
a3 = a3 + 1 | 0;
9669
9669
+
} while ((a3 | 0) != (c2 | 0));
9670
9670
+
}
9671
9671
+
h = +t(+i) * g2;
9672
9672
+
e[f2 >> 3] = h;
9673
9673
+
i = +u(+i) * g2;
9674
9674
+
e[f2 + 8 >> 3] = i;
9675
9675
+
T = j;
9676
9676
+
return;
9677
9677
+
}
9678
9678
+
function sb(a3, c2, d2) {
9679
9679
+
a3 = a3 | 0;
9680
9680
+
c2 = c2 | 0;
9681
9681
+
d2 = d2 | 0;
9682
9682
+
var f2 = 0, g2 = 0, h = 0;
9683
9683
+
h = T;
9684
9684
+
T = T + 32 | 0;
9685
9685
+
g2 = h;
9686
9686
+
nd(a3, g2);
9687
9687
+
b[c2 >> 2] = 0;
9688
9688
+
e[d2 >> 3] = 5;
9689
9689
+
f2 = +md(16400, g2);
9690
9690
+
if (f2 < +e[d2 >> 3]) {
9691
9691
+
b[c2 >> 2] = 0;
9692
9692
+
e[d2 >> 3] = f2;
9693
9693
+
}
9694
9694
+
f2 = +md(16424, g2);
9695
9695
+
if (f2 < +e[d2 >> 3]) {
9696
9696
+
b[c2 >> 2] = 1;
9697
9697
+
e[d2 >> 3] = f2;
9698
9698
+
}
9699
9699
+
f2 = +md(16448, g2);
9700
9700
+
if (f2 < +e[d2 >> 3]) {
9701
9701
+
b[c2 >> 2] = 2;
9702
9702
+
e[d2 >> 3] = f2;
9703
9703
+
}
9704
9704
+
f2 = +md(16472, g2);
9705
9705
+
if (f2 < +e[d2 >> 3]) {
9706
9706
+
b[c2 >> 2] = 3;
9707
9707
+
e[d2 >> 3] = f2;
9708
9708
+
}
9709
9709
+
f2 = +md(16496, g2);
9710
9710
+
if (f2 < +e[d2 >> 3]) {
9711
9711
+
b[c2 >> 2] = 4;
9712
9712
+
e[d2 >> 3] = f2;
9713
9713
+
}
9714
9714
+
f2 = +md(16520, g2);
9715
9715
+
if (f2 < +e[d2 >> 3]) {
9716
9716
+
b[c2 >> 2] = 5;
9717
9717
+
e[d2 >> 3] = f2;
9718
9718
+
}
9719
9719
+
f2 = +md(16544, g2);
9720
9720
+
if (f2 < +e[d2 >> 3]) {
9721
9721
+
b[c2 >> 2] = 6;
9722
9722
+
e[d2 >> 3] = f2;
9723
9723
+
}
9724
9724
+
f2 = +md(16568, g2);
9725
9725
+
if (f2 < +e[d2 >> 3]) {
9726
9726
+
b[c2 >> 2] = 7;
9727
9727
+
e[d2 >> 3] = f2;
9728
9728
+
}
9729
9729
+
f2 = +md(16592, g2);
9730
9730
+
if (f2 < +e[d2 >> 3]) {
9731
9731
+
b[c2 >> 2] = 8;
9732
9732
+
e[d2 >> 3] = f2;
9733
9733
+
}
9734
9734
+
f2 = +md(16616, g2);
9735
9735
+
if (f2 < +e[d2 >> 3]) {
9736
9736
+
b[c2 >> 2] = 9;
9737
9737
+
e[d2 >> 3] = f2;
9738
9738
+
}
9739
9739
+
f2 = +md(16640, g2);
9740
9740
+
if (f2 < +e[d2 >> 3]) {
9741
9741
+
b[c2 >> 2] = 10;
9742
9742
+
e[d2 >> 3] = f2;
9743
9743
+
}
9744
9744
+
f2 = +md(16664, g2);
9745
9745
+
if (f2 < +e[d2 >> 3]) {
9746
9746
+
b[c2 >> 2] = 11;
9747
9747
+
e[d2 >> 3] = f2;
9748
9748
+
}
9749
9749
+
f2 = +md(16688, g2);
9750
9750
+
if (f2 < +e[d2 >> 3]) {
9751
9751
+
b[c2 >> 2] = 12;
9752
9752
+
e[d2 >> 3] = f2;
9753
9753
+
}
9754
9754
+
f2 = +md(16712, g2);
9755
9755
+
if (f2 < +e[d2 >> 3]) {
9756
9756
+
b[c2 >> 2] = 13;
9757
9757
+
e[d2 >> 3] = f2;
9758
9758
+
}
9759
9759
+
f2 = +md(16736, g2);
9760
9760
+
if (f2 < +e[d2 >> 3]) {
9761
9761
+
b[c2 >> 2] = 14;
9762
9762
+
e[d2 >> 3] = f2;
9763
9763
+
}
9764
9764
+
f2 = +md(16760, g2);
9765
9765
+
if (f2 < +e[d2 >> 3]) {
9766
9766
+
b[c2 >> 2] = 15;
9767
9767
+
e[d2 >> 3] = f2;
9768
9768
+
}
9769
9769
+
f2 = +md(16784, g2);
9770
9770
+
if (f2 < +e[d2 >> 3]) {
9771
9771
+
b[c2 >> 2] = 16;
9772
9772
+
e[d2 >> 3] = f2;
9773
9773
+
}
9774
9774
+
f2 = +md(16808, g2);
9775
9775
+
if (f2 < +e[d2 >> 3]) {
9776
9776
+
b[c2 >> 2] = 17;
9777
9777
+
e[d2 >> 3] = f2;
9778
9778
+
}
9779
9779
+
f2 = +md(16832, g2);
9780
9780
+
if (f2 < +e[d2 >> 3]) {
9781
9781
+
b[c2 >> 2] = 18;
9782
9782
+
e[d2 >> 3] = f2;
9783
9783
+
}
9784
9784
+
f2 = +md(16856, g2);
9785
9785
+
if (!(f2 < +e[d2 >> 3])) {
9786
9786
+
T = h;
9787
9787
+
return;
9788
9788
+
}
9789
9789
+
b[c2 >> 2] = 19;
9790
9790
+
e[d2 >> 3] = f2;
9791
9791
+
T = h;
9792
9792
+
return;
9793
9793
+
}
9794
9794
+
function tb(a3, c2, d2, f2, g2) {
9795
9795
+
a3 = a3 | 0;
9796
9796
+
c2 = c2 | 0;
9797
9797
+
d2 = d2 | 0;
9798
9798
+
f2 = f2 | 0;
9799
9799
+
g2 = g2 | 0;
9800
9800
+
var h = 0, i = 0, j = 0;
9801
9801
+
h = +jd(a3);
9802
9802
+
if (h < 0.0000000000000001) {
9803
9803
+
c2 = 15600 + (c2 << 4) | 0;
9804
9804
+
b[g2 >> 2] = b[c2 >> 2];
9805
9805
+
b[g2 + 4 >> 2] = b[c2 + 4 >> 2];
9806
9806
+
b[g2 + 8 >> 2] = b[c2 + 8 >> 2];
9807
9807
+
b[g2 + 12 >> 2] = b[c2 + 12 >> 2];
9808
9808
+
return;
9809
9809
+
}
9810
9810
+
i = +z(+ +e[a3 + 8 >> 3], + +e[a3 >> 3]);
9811
9811
+
if ((d2 | 0) > 0) {
9812
9812
+
a3 = 0;
9813
9813
+
do {
9814
9814
+
h = h * 0.37796447300922725;
9815
9815
+
a3 = a3 + 1 | 0;
9816
9816
+
} while ((a3 | 0) != (d2 | 0));
9817
9817
+
}
9818
9818
+
j = h * 0.3333333333333333;
9819
9819
+
if (!f2) {
9820
9820
+
h = +y(+(h * 0.381966011250105));
9821
9821
+
if (Vb(d2) | 0) {
9822
9822
+
i = +ic(i + 0.3334731722518321);
9823
9823
+
}
9824
9824
+
} else {
9825
9825
+
d2 = (Vb(d2) | 0) == 0;
9826
9826
+
h = +y(+((d2 ? j : j * 0.37796447300922725) * 0.381966011250105));
9827
9827
+
}
9828
9828
+
pc(15600 + (c2 << 4) | 0, +ic(+e[15920 + (c2 * 24 | 0) >> 3] - i), h, g2);
9829
9829
+
return;
9830
9830
+
}
9831
9831
+
function ub(a3, c2, d2) {
9832
9832
+
a3 = a3 | 0;
9833
9833
+
c2 = c2 | 0;
9834
9834
+
d2 = d2 | 0;
9835
9835
+
var e2 = 0, f2 = 0;
9836
9836
+
e2 = T;
9837
9837
+
T = T + 16 | 0;
9838
9838
+
f2 = e2;
9839
9839
+
Na(a3 + 4 | 0, f2);
9840
9840
+
tb(f2, b[a3 >> 2] | 0, c2, 0, d2);
9841
9841
+
T = e2;
9842
9842
+
return;
9843
9843
+
}
9844
9844
+
function vb(a3, c2, d2, f2, g2) {
9845
9845
+
a3 = a3 | 0;
9846
9846
+
c2 = c2 | 0;
9847
9847
+
d2 = d2 | 0;
9848
9848
+
f2 = f2 | 0;
9849
9849
+
g2 = g2 | 0;
9850
9850
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0, E2 = 0, F = 0, G2 = 0, H2 = 0, J2 = 0;
9851
9851
+
G2 = T;
9852
9852
+
T = T + 272 | 0;
9853
9853
+
h = G2 + 256 | 0;
9854
9854
+
u2 = G2 + 240 | 0;
9855
9855
+
D2 = G2;
9856
9856
+
E2 = G2 + 224 | 0;
9857
9857
+
F = G2 + 208 | 0;
9858
9858
+
v2 = G2 + 176 | 0;
9859
9859
+
w2 = G2 + 160 | 0;
9860
9860
+
x2 = G2 + 192 | 0;
9861
9861
+
y2 = G2 + 144 | 0;
9862
9862
+
z2 = G2 + 128 | 0;
9863
9863
+
A2 = G2 + 112 | 0;
9864
9864
+
B2 = G2 + 96 | 0;
9865
9865
+
C2 = G2 + 80 | 0;
9866
9866
+
b[h >> 2] = c2;
9867
9867
+
b[u2 >> 2] = b[a3 >> 2];
9868
9868
+
b[u2 + 4 >> 2] = b[a3 + 4 >> 2];
9869
9869
+
b[u2 + 8 >> 2] = b[a3 + 8 >> 2];
9870
9870
+
b[u2 + 12 >> 2] = b[a3 + 12 >> 2];
9871
9871
+
wb(u2, h, D2);
9872
9872
+
b[g2 >> 2] = 0;
9873
9873
+
u2 = f2 + d2 + ((f2 | 0) == 5 & 1) | 0;
9874
9874
+
if ((u2 | 0) <= (d2 | 0)) {
9875
9875
+
T = G2;
9876
9876
+
return;
9877
9877
+
}
9878
9878
+
k = b[h >> 2] | 0;
9879
9879
+
l = E2 + 4 | 0;
9880
9880
+
m = v2 + 4 | 0;
9881
9881
+
n = d2 + 5 | 0;
9882
9882
+
o = 16880 + (k << 2) | 0;
9883
9883
+
p3 = 16960 + (k << 2) | 0;
9884
9884
+
q2 = z2 + 8 | 0;
9885
9885
+
r2 = A2 + 8 | 0;
9886
9886
+
s2 = B2 + 8 | 0;
9887
9887
+
t2 = F + 4 | 0;
9888
9888
+
j = d2;
9889
9889
+
a:
9890
9890
+
while (true) {
9891
9891
+
i = D2 + (((j | 0) % 5 | 0) << 4) | 0;
9892
9892
+
b[F >> 2] = b[i >> 2];
9893
9893
+
b[F + 4 >> 2] = b[i + 4 >> 2];
9894
9894
+
b[F + 8 >> 2] = b[i + 8 >> 2];
9895
9895
+
b[F + 12 >> 2] = b[i + 12 >> 2];
9896
9896
+
do {} while ((xb(F, k, 0, 1) | 0) == 2);
9897
9897
+
if ((j | 0) > (d2 | 0) & (Vb(c2) | 0) != 0) {
9898
9898
+
b[v2 >> 2] = b[F >> 2];
9899
9899
+
b[v2 + 4 >> 2] = b[F + 4 >> 2];
9900
9900
+
b[v2 + 8 >> 2] = b[F + 8 >> 2];
9901
9901
+
b[v2 + 12 >> 2] = b[F + 12 >> 2];
9902
9902
+
Na(l, w2);
9903
9903
+
f2 = b[v2 >> 2] | 0;
9904
9904
+
h = b[17040 + (f2 * 80 | 0) + (b[E2 >> 2] << 2) >> 2] | 0;
9905
9905
+
b[v2 >> 2] = b[18640 + (f2 * 80 | 0) + (h * 20 | 0) >> 2];
9906
9906
+
i = b[18640 + (f2 * 80 | 0) + (h * 20 | 0) + 16 >> 2] | 0;
9907
9907
+
if ((i | 0) > 0) {
9908
9908
+
a3 = 0;
9909
9909
+
do {
9910
9910
+
Za(m);
9911
9911
+
a3 = a3 + 1 | 0;
9912
9912
+
} while ((a3 | 0) < (i | 0));
9913
9913
+
}
9914
9914
+
i = 18640 + (f2 * 80 | 0) + (h * 20 | 0) + 4 | 0;
9915
9915
+
b[x2 >> 2] = b[i >> 2];
9916
9916
+
b[x2 + 4 >> 2] = b[i + 4 >> 2];
9917
9917
+
b[x2 + 8 >> 2] = b[i + 8 >> 2];
9918
9918
+
Qa(x2, (b[o >> 2] | 0) * 3 | 0);
9919
9919
+
Oa(m, x2, m);
9920
9920
+
Ma(m);
9921
9921
+
Na(m, y2);
9922
9922
+
H2 = +(b[p3 >> 2] | 0);
9923
9923
+
e[z2 >> 3] = H2 * 3;
9924
9924
+
e[q2 >> 3] = 0;
9925
9925
+
J2 = H2 * -1.5;
9926
9926
+
e[A2 >> 3] = J2;
9927
9927
+
e[r2 >> 3] = H2 * 2.598076211353316;
9928
9928
+
e[B2 >> 3] = J2;
9929
9929
+
e[s2 >> 3] = H2 * -2.598076211353316;
9930
9930
+
switch (b[17040 + ((b[v2 >> 2] | 0) * 80 | 0) + (b[F >> 2] << 2) >> 2] | 0) {
9931
9931
+
case 1: {
9932
9932
+
a3 = A2;
9933
9933
+
f2 = z2;
9934
9934
+
break;
9935
9935
+
}
9936
9936
+
case 3: {
9937
9937
+
a3 = B2;
9938
9938
+
f2 = A2;
9939
9939
+
break;
9940
9940
+
}
9941
9941
+
case 2: {
9942
9942
+
a3 = z2;
9943
9943
+
f2 = B2;
9944
9944
+
break;
9945
9945
+
}
9946
9946
+
default: {
9947
9947
+
a3 = 12;
9948
9948
+
break a;
9949
9949
+
}
9950
9950
+
}
9951
9951
+
kd(w2, y2, f2, a3, C2);
9952
9952
+
tb(C2, b[v2 >> 2] | 0, k, 1, g2 + 8 + (b[g2 >> 2] << 4) | 0);
9953
9953
+
b[g2 >> 2] = (b[g2 >> 2] | 0) + 1;
9954
9954
+
}
9955
9955
+
if ((j | 0) < (n | 0)) {
9956
9956
+
Na(t2, v2);
9957
9957
+
tb(v2, b[F >> 2] | 0, k, 1, g2 + 8 + (b[g2 >> 2] << 4) | 0);
9958
9958
+
b[g2 >> 2] = (b[g2 >> 2] | 0) + 1;
9959
9959
+
}
9960
9960
+
b[E2 >> 2] = b[F >> 2];
9961
9961
+
b[E2 + 4 >> 2] = b[F + 4 >> 2];
9962
9962
+
b[E2 + 8 >> 2] = b[F + 8 >> 2];
9963
9963
+
b[E2 + 12 >> 2] = b[F + 12 >> 2];
9964
9964
+
j = j + 1 | 0;
9965
9965
+
if ((j | 0) >= (u2 | 0)) {
9966
9966
+
a3 = 3;
9967
9967
+
break;
9968
9968
+
}
9969
9969
+
}
9970
9970
+
if ((a3 | 0) == 3) {
9971
9971
+
T = G2;
9972
9972
+
return;
9973
9973
+
} else if ((a3 | 0) == 12) {
9974
9974
+
I(26970, 27017, 572, 27027);
9975
9975
+
}
9976
9976
+
}
9977
9977
+
function wb(a3, c2, d2) {
9978
9978
+
a3 = a3 | 0;
9979
9979
+
c2 = c2 | 0;
9980
9980
+
d2 = d2 | 0;
9981
9981
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
9982
9982
+
j = T;
9983
9983
+
T = T + 128 | 0;
9984
9984
+
e2 = j + 64 | 0;
9985
9985
+
f2 = j;
9986
9986
+
g2 = e2;
9987
9987
+
h = 20240;
9988
9988
+
i = g2 + 60 | 0;
9989
9989
+
do {
9990
9990
+
b[g2 >> 2] = b[h >> 2];
9991
9991
+
g2 = g2 + 4 | 0;
9992
9992
+
h = h + 4 | 0;
9993
9993
+
} while ((g2 | 0) < (i | 0));
9994
9994
+
g2 = f2;
9995
9995
+
h = 20304;
9996
9996
+
i = g2 + 60 | 0;
9997
9997
+
do {
9998
9998
+
b[g2 >> 2] = b[h >> 2];
9999
9999
+
g2 = g2 + 4 | 0;
10000
10000
+
h = h + 4 | 0;
10001
10001
+
} while ((g2 | 0) < (i | 0));
10002
10002
+
i = (Vb(b[c2 >> 2] | 0) | 0) == 0;
10003
10003
+
e2 = i ? e2 : f2;
10004
10004
+
f2 = a3 + 4 | 0;
10005
10005
+
bb(f2);
10006
10006
+
cb(f2);
10007
10007
+
if (Vb(b[c2 >> 2] | 0) | 0) {
10008
10008
+
Xa(f2);
10009
10009
+
b[c2 >> 2] = (b[c2 >> 2] | 0) + 1;
10010
10010
+
}
10011
10011
+
b[d2 >> 2] = b[a3 >> 2];
10012
10012
+
c2 = d2 + 4 | 0;
10013
10013
+
Oa(f2, e2, c2);
10014
10014
+
Ma(c2);
10015
10015
+
b[d2 + 16 >> 2] = b[a3 >> 2];
10016
10016
+
c2 = d2 + 20 | 0;
10017
10017
+
Oa(f2, e2 + 12 | 0, c2);
10018
10018
+
Ma(c2);
10019
10019
+
b[d2 + 32 >> 2] = b[a3 >> 2];
10020
10020
+
c2 = d2 + 36 | 0;
10021
10021
+
Oa(f2, e2 + 24 | 0, c2);
10022
10022
+
Ma(c2);
10023
10023
+
b[d2 + 48 >> 2] = b[a3 >> 2];
10024
10024
+
c2 = d2 + 52 | 0;
10025
10025
+
Oa(f2, e2 + 36 | 0, c2);
10026
10026
+
Ma(c2);
10027
10027
+
b[d2 + 64 >> 2] = b[a3 >> 2];
10028
10028
+
d2 = d2 + 68 | 0;
10029
10029
+
Oa(f2, e2 + 48 | 0, d2);
10030
10030
+
Ma(d2);
10031
10031
+
T = j;
10032
10032
+
return;
10033
10033
+
}
10034
10034
+
function xb(a3, c2, d2, e2) {
10035
10035
+
a3 = a3 | 0;
10036
10036
+
c2 = c2 | 0;
10037
10037
+
d2 = d2 | 0;
10038
10038
+
e2 = e2 | 0;
10039
10039
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0;
10040
10040
+
p3 = T;
10041
10041
+
T = T + 32 | 0;
10042
10042
+
n = p3 + 12 | 0;
10043
10043
+
i = p3;
10044
10044
+
o = a3 + 4 | 0;
10045
10045
+
m = b[16960 + (c2 << 2) >> 2] | 0;
10046
10046
+
l = (e2 | 0) != 0;
10047
10047
+
m = l ? m * 3 | 0 : m;
10048
10048
+
f2 = b[o >> 2] | 0;
10049
10049
+
k = a3 + 8 | 0;
10050
10050
+
h = b[k >> 2] | 0;
10051
10051
+
if (l) {
10052
10052
+
g2 = a3 + 12 | 0;
10053
10053
+
e2 = b[g2 >> 2] | 0;
10054
10054
+
f2 = h + f2 + e2 | 0;
10055
10055
+
if ((f2 | 0) == (m | 0)) {
10056
10056
+
o = 1;
10057
10057
+
T = p3;
10058
10058
+
return o | 0;
10059
10059
+
} else {
10060
10060
+
j = g2;
10061
10061
+
}
10062
10062
+
} else {
10063
10063
+
j = a3 + 12 | 0;
10064
10064
+
e2 = b[j >> 2] | 0;
10065
10065
+
f2 = h + f2 + e2 | 0;
10066
10066
+
}
10067
10067
+
if ((f2 | 0) <= (m | 0)) {
10068
10068
+
o = 0;
10069
10069
+
T = p3;
10070
10070
+
return o | 0;
10071
10071
+
}
10072
10072
+
do {
10073
10073
+
if ((e2 | 0) > 0) {
10074
10074
+
e2 = b[a3 >> 2] | 0;
10075
10075
+
if ((h | 0) > 0) {
10076
10076
+
g2 = 18640 + (e2 * 80 | 0) + 60 | 0;
10077
10077
+
e2 = a3;
10078
10078
+
break;
10079
10079
+
}
10080
10080
+
e2 = 18640 + (e2 * 80 | 0) + 40 | 0;
10081
10081
+
if (!d2) {
10082
10082
+
g2 = e2;
10083
10083
+
e2 = a3;
10084
10084
+
} else {
10085
10085
+
Ka(n, m, 0, 0);
10086
10086
+
Pa(o, n, i);
10087
10087
+
_a(i);
10088
10088
+
Oa(i, n, o);
10089
10089
+
g2 = e2;
10090
10090
+
e2 = a3;
10091
10091
+
}
10092
10092
+
} else {
10093
10093
+
g2 = 18640 + ((b[a3 >> 2] | 0) * 80 | 0) + 20 | 0;
10094
10094
+
e2 = a3;
10095
10095
+
}
10096
10096
+
} while (0);
10097
10097
+
b[e2 >> 2] = b[g2 >> 2];
10098
10098
+
f2 = g2 + 16 | 0;
10099
10099
+
if ((b[f2 >> 2] | 0) > 0) {
10100
10100
+
e2 = 0;
10101
10101
+
do {
10102
10102
+
Za(o);
10103
10103
+
e2 = e2 + 1 | 0;
10104
10104
+
} while ((e2 | 0) < (b[f2 >> 2] | 0));
10105
10105
+
}
10106
10106
+
a3 = g2 + 4 | 0;
10107
10107
+
b[n >> 2] = b[a3 >> 2];
10108
10108
+
b[n + 4 >> 2] = b[a3 + 4 >> 2];
10109
10109
+
b[n + 8 >> 2] = b[a3 + 8 >> 2];
10110
10110
+
c2 = b[16880 + (c2 << 2) >> 2] | 0;
10111
10111
+
Qa(n, l ? c2 * 3 | 0 : c2);
10112
10112
+
Oa(o, n, o);
10113
10113
+
Ma(o);
10114
10114
+
if (l) {
10115
10115
+
e2 = ((b[k >> 2] | 0) + (b[o >> 2] | 0) + (b[j >> 2] | 0) | 0) == (m | 0) ? 1 : 2;
10116
10116
+
} else {
10117
10117
+
e2 = 2;
10118
10118
+
}
10119
10119
+
o = e2;
10120
10120
+
T = p3;
10121
10121
+
return o | 0;
10122
10122
+
}
10123
10123
+
function yb(a3, b2) {
10124
10124
+
a3 = a3 | 0;
10125
10125
+
b2 = b2 | 0;
10126
10126
+
var c2 = 0;
10127
10127
+
do {
10128
10128
+
c2 = xb(a3, b2, 0, 1) | 0;
10129
10129
+
} while ((c2 | 0) == 2);
10130
10130
+
return c2 | 0;
10131
10131
+
}
10132
10132
+
function zb(a3, c2, d2, f2, g2) {
10133
10133
+
a3 = a3 | 0;
10134
10134
+
c2 = c2 | 0;
10135
10135
+
d2 = d2 | 0;
10136
10136
+
f2 = f2 | 0;
10137
10137
+
g2 = g2 | 0;
10138
10138
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0;
10139
10139
+
B2 = T;
10140
10140
+
T = T + 240 | 0;
10141
10141
+
h = B2 + 224 | 0;
10142
10142
+
x2 = B2 + 208 | 0;
10143
10143
+
y2 = B2;
10144
10144
+
z2 = B2 + 192 | 0;
10145
10145
+
A2 = B2 + 176 | 0;
10146
10146
+
s2 = B2 + 160 | 0;
10147
10147
+
t2 = B2 + 144 | 0;
10148
10148
+
u2 = B2 + 128 | 0;
10149
10149
+
v2 = B2 + 112 | 0;
10150
10150
+
w2 = B2 + 96 | 0;
10151
10151
+
b[h >> 2] = c2;
10152
10152
+
b[x2 >> 2] = b[a3 >> 2];
10153
10153
+
b[x2 + 4 >> 2] = b[a3 + 4 >> 2];
10154
10154
+
b[x2 + 8 >> 2] = b[a3 + 8 >> 2];
10155
10155
+
b[x2 + 12 >> 2] = b[a3 + 12 >> 2];
10156
10156
+
Ab(x2, h, y2);
10157
10157
+
b[g2 >> 2] = 0;
10158
10158
+
r2 = f2 + d2 + ((f2 | 0) == 6 & 1) | 0;
10159
10159
+
if ((r2 | 0) <= (d2 | 0)) {
10160
10160
+
T = B2;
10161
10161
+
return;
10162
10162
+
}
10163
10163
+
k = b[h >> 2] | 0;
10164
10164
+
l = d2 + 6 | 0;
10165
10165
+
m = 16960 + (k << 2) | 0;
10166
10166
+
n = t2 + 8 | 0;
10167
10167
+
o = u2 + 8 | 0;
10168
10168
+
p3 = v2 + 8 | 0;
10169
10169
+
q2 = z2 + 4 | 0;
10170
10170
+
i = 0;
10171
10171
+
j = d2;
10172
10172
+
f2 = -1;
10173
10173
+
a:
10174
10174
+
while (true) {
10175
10175
+
h = (j | 0) % 6 | 0;
10176
10176
+
a3 = y2 + (h << 4) | 0;
10177
10177
+
b[z2 >> 2] = b[a3 >> 2];
10178
10178
+
b[z2 + 4 >> 2] = b[a3 + 4 >> 2];
10179
10179
+
b[z2 + 8 >> 2] = b[a3 + 8 >> 2];
10180
10180
+
b[z2 + 12 >> 2] = b[a3 + 12 >> 2];
10181
10181
+
a3 = i;
10182
10182
+
i = xb(z2, k, 0, 1) | 0;
10183
10183
+
if ((j | 0) > (d2 | 0) & (Vb(c2) | 0) != 0 ? (a3 | 0) != 1 ? (b[z2 >> 2] | 0) != (f2 | 0) : 0 : 0) {
10184
10184
+
Na(y2 + (((h + 5 | 0) % 6 | 0) << 4) + 4 | 0, A2);
10185
10185
+
Na(y2 + (h << 4) + 4 | 0, s2);
10186
10186
+
C2 = +(b[m >> 2] | 0);
10187
10187
+
e[t2 >> 3] = C2 * 3;
10188
10188
+
e[n >> 3] = 0;
10189
10189
+
D2 = C2 * -1.5;
10190
10190
+
e[u2 >> 3] = D2;
10191
10191
+
e[o >> 3] = C2 * 2.598076211353316;
10192
10192
+
e[v2 >> 3] = D2;
10193
10193
+
e[p3 >> 3] = C2 * -2.598076211353316;
10194
10194
+
h = b[x2 >> 2] | 0;
10195
10195
+
switch (b[17040 + (h * 80 | 0) + (((f2 | 0) == (h | 0) ? b[z2 >> 2] | 0 : f2) << 2) >> 2] | 0) {
10196
10196
+
case 1: {
10197
10197
+
a3 = u2;
10198
10198
+
f2 = t2;
10199
10199
+
break;
10200
10200
+
}
10201
10201
+
case 3: {
10202
10202
+
a3 = v2;
10203
10203
+
f2 = u2;
10204
10204
+
break;
10205
10205
+
}
10206
10206
+
case 2: {
10207
10207
+
a3 = t2;
10208
10208
+
f2 = v2;
10209
10209
+
break;
10210
10210
+
}
10211
10211
+
default: {
10212
10212
+
a3 = 8;
10213
10213
+
break a;
10214
10214
+
}
10215
10215
+
}
10216
10216
+
kd(A2, s2, f2, a3, w2);
10217
10217
+
if (!(ld(A2, w2) | 0) ? !(ld(s2, w2) | 0) : 0) {
10218
10218
+
tb(w2, b[x2 >> 2] | 0, k, 1, g2 + 8 + (b[g2 >> 2] << 4) | 0);
10219
10219
+
b[g2 >> 2] = (b[g2 >> 2] | 0) + 1;
10220
10220
+
}
10221
10221
+
}
10222
10222
+
if ((j | 0) < (l | 0)) {
10223
10223
+
Na(q2, A2);
10224
10224
+
tb(A2, b[z2 >> 2] | 0, k, 1, g2 + 8 + (b[g2 >> 2] << 4) | 0);
10225
10225
+
b[g2 >> 2] = (b[g2 >> 2] | 0) + 1;
10226
10226
+
}
10227
10227
+
j = j + 1 | 0;
10228
10228
+
if ((j | 0) >= (r2 | 0)) {
10229
10229
+
a3 = 3;
10230
10230
+
break;
10231
10231
+
} else {
10232
10232
+
f2 = b[z2 >> 2] | 0;
10233
10233
+
}
10234
10234
+
}
10235
10235
+
if ((a3 | 0) == 3) {
10236
10236
+
T = B2;
10237
10237
+
return;
10238
10238
+
} else if ((a3 | 0) == 8) {
10239
10239
+
I(27054, 27017, 737, 27099);
10240
10240
+
}
10241
10241
+
}
10242
10242
+
function Ab(a3, c2, d2) {
10243
10243
+
a3 = a3 | 0;
10244
10244
+
c2 = c2 | 0;
10245
10245
+
d2 = d2 | 0;
10246
10246
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
10247
10247
+
j = T;
10248
10248
+
T = T + 160 | 0;
10249
10249
+
e2 = j + 80 | 0;
10250
10250
+
f2 = j;
10251
10251
+
g2 = e2;
10252
10252
+
h = 20368;
10253
10253
+
i = g2 + 72 | 0;
10254
10254
+
do {
10255
10255
+
b[g2 >> 2] = b[h >> 2];
10256
10256
+
g2 = g2 + 4 | 0;
10257
10257
+
h = h + 4 | 0;
10258
10258
+
} while ((g2 | 0) < (i | 0));
10259
10259
+
g2 = f2;
10260
10260
+
h = 20448;
10261
10261
+
i = g2 + 72 | 0;
10262
10262
+
do {
10263
10263
+
b[g2 >> 2] = b[h >> 2];
10264
10264
+
g2 = g2 + 4 | 0;
10265
10265
+
h = h + 4 | 0;
10266
10266
+
} while ((g2 | 0) < (i | 0));
10267
10267
+
i = (Vb(b[c2 >> 2] | 0) | 0) == 0;
10268
10268
+
e2 = i ? e2 : f2;
10269
10269
+
f2 = a3 + 4 | 0;
10270
10270
+
bb(f2);
10271
10271
+
cb(f2);
10272
10272
+
if (Vb(b[c2 >> 2] | 0) | 0) {
10273
10273
+
Xa(f2);
10274
10274
+
b[c2 >> 2] = (b[c2 >> 2] | 0) + 1;
10275
10275
+
}
10276
10276
+
b[d2 >> 2] = b[a3 >> 2];
10277
10277
+
c2 = d2 + 4 | 0;
10278
10278
+
Oa(f2, e2, c2);
10279
10279
+
Ma(c2);
10280
10280
+
b[d2 + 16 >> 2] = b[a3 >> 2];
10281
10281
+
c2 = d2 + 20 | 0;
10282
10282
+
Oa(f2, e2 + 12 | 0, c2);
10283
10283
+
Ma(c2);
10284
10284
+
b[d2 + 32 >> 2] = b[a3 >> 2];
10285
10285
+
c2 = d2 + 36 | 0;
10286
10286
+
Oa(f2, e2 + 24 | 0, c2);
10287
10287
+
Ma(c2);
10288
10288
+
b[d2 + 48 >> 2] = b[a3 >> 2];
10289
10289
+
c2 = d2 + 52 | 0;
10290
10290
+
Oa(f2, e2 + 36 | 0, c2);
10291
10291
+
Ma(c2);
10292
10292
+
b[d2 + 64 >> 2] = b[a3 >> 2];
10293
10293
+
c2 = d2 + 68 | 0;
10294
10294
+
Oa(f2, e2 + 48 | 0, c2);
10295
10295
+
Ma(c2);
10296
10296
+
b[d2 + 80 >> 2] = b[a3 >> 2];
10297
10297
+
d2 = d2 + 84 | 0;
10298
10298
+
Oa(f2, e2 + 60 | 0, d2);
10299
10299
+
Ma(d2);
10300
10300
+
T = j;
10301
10301
+
return;
10302
10302
+
}
10303
10303
+
function Bb(a3, b2) {
10304
10304
+
a3 = a3 | 0;
10305
10305
+
b2 = b2 | 0;
10306
10306
+
b2 = Qd(a3 | 0, b2 | 0, 52) | 0;
10307
10307
+
H() | 0;
10308
10308
+
return b2 & 15 | 0;
10309
10309
+
}
10310
10310
+
function Cb(a3, b2) {
10311
10311
+
a3 = a3 | 0;
10312
10312
+
b2 = b2 | 0;
10313
10313
+
b2 = Qd(a3 | 0, b2 | 0, 45) | 0;
10314
10314
+
H() | 0;
10315
10315
+
return b2 & 127 | 0;
10316
10316
+
}
10317
10317
+
function Db(b2, c2) {
10318
10318
+
b2 = b2 | 0;
10319
10319
+
c2 = c2 | 0;
10320
10320
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0;
10321
10321
+
if (!(true & (c2 & -16777216 | 0) == 134217728)) {
10322
10322
+
b2 = 0;
10323
10323
+
return b2 | 0;
10324
10324
+
}
10325
10325
+
e2 = Qd(b2 | 0, c2 | 0, 52) | 0;
10326
10326
+
H() | 0;
10327
10327
+
e2 = e2 & 15;
10328
10328
+
d2 = Qd(b2 | 0, c2 | 0, 45) | 0;
10329
10329
+
H() | 0;
10330
10330
+
d2 = d2 & 127;
10331
10331
+
if (d2 >>> 0 > 121) {
10332
10332
+
b2 = 0;
10333
10333
+
return b2 | 0;
10334
10334
+
}
10335
10335
+
h = (e2 ^ 15) * 3 | 0;
10336
10336
+
f2 = Qd(b2 | 0, c2 | 0, h | 0) | 0;
10337
10337
+
h = Rd(f2 | 0, H() | 0, h | 0) | 0;
10338
10338
+
f2 = H() | 0;
10339
10339
+
g2 = Hd(-1227133514, -1171, h | 0, f2 | 0) | 0;
10340
10340
+
if (!((h & 613566756 & g2 | 0) == 0 & (f2 & 4681 & (H() | 0) | 0) == 0)) {
10341
10341
+
h = 0;
10342
10342
+
return h | 0;
10343
10343
+
}
10344
10344
+
h = (e2 * 3 | 0) + 19 | 0;
10345
10345
+
g2 = Rd(~b2 | 0, ~c2 | 0, h | 0) | 0;
10346
10346
+
h = Qd(g2 | 0, H() | 0, h | 0) | 0;
10347
10347
+
if (!((e2 | 0) == 15 | (h | 0) == 0 & (H() | 0) == 0)) {
10348
10348
+
h = 0;
10349
10349
+
return h | 0;
10350
10350
+
}
10351
10351
+
if (!(a2[20528 + d2 >> 0] | 0)) {
10352
10352
+
h = 1;
10353
10353
+
return h | 0;
10354
10354
+
}
10355
10355
+
c2 = c2 & 8191;
10356
10356
+
if ((b2 | 0) == 0 & (c2 | 0) == 0) {
10357
10357
+
h = 1;
10358
10358
+
return h | 0;
10359
10359
+
} else {
10360
10360
+
h = Sd(b2 | 0, c2 | 0, 0) | 0;
10361
10361
+
H() | 0;
10362
10362
+
return ((63 - h | 0) % 3 | 0 | 0) != 0 | 0;
10363
10363
+
}
10364
10364
+
return 0;
10365
10365
+
}
10366
10366
+
function Eb(a3, c2, d2, e2) {
10367
10367
+
a3 = a3 | 0;
10368
10368
+
c2 = c2 | 0;
10369
10369
+
d2 = d2 | 0;
10370
10370
+
e2 = e2 | 0;
10371
10371
+
var f2 = 0, g2 = 0, h = 0, i = 0;
10372
10372
+
f2 = Rd(c2 | 0, 0, 52) | 0;
10373
10373
+
g2 = H() | 0;
10374
10374
+
d2 = Rd(d2 | 0, 0, 45) | 0;
10375
10375
+
d2 = g2 | (H() | 0) | 134225919;
10376
10376
+
if ((c2 | 0) < 1) {
10377
10377
+
g2 = -1;
10378
10378
+
e2 = d2;
10379
10379
+
c2 = a3;
10380
10380
+
b[c2 >> 2] = g2;
10381
10381
+
a3 = a3 + 4 | 0;
10382
10382
+
b[a3 >> 2] = e2;
10383
10383
+
return;
10384
10384
+
}
10385
10385
+
g2 = 1;
10386
10386
+
f2 = -1;
10387
10387
+
while (true) {
10388
10388
+
h = (15 - g2 | 0) * 3 | 0;
10389
10389
+
i = Rd(7, 0, h | 0) | 0;
10390
10390
+
d2 = d2 & ~(H() | 0);
10391
10391
+
h = Rd(e2 | 0, 0, h | 0) | 0;
10392
10392
+
f2 = f2 & ~i | h;
10393
10393
+
d2 = d2 | (H() | 0);
10394
10394
+
if ((g2 | 0) == (c2 | 0)) {
10395
10395
+
break;
10396
10396
+
} else {
10397
10397
+
g2 = g2 + 1 | 0;
10398
10398
+
}
10399
10399
+
}
10400
10400
+
i = a3;
10401
10401
+
h = i;
10402
10402
+
b[h >> 2] = f2;
10403
10403
+
i = i + 4 | 0;
10404
10404
+
b[i >> 2] = d2;
10405
10405
+
return;
10406
10406
+
}
10407
10407
+
function Fb(a3, c2, d2, e2) {
10408
10408
+
a3 = a3 | 0;
10409
10409
+
c2 = c2 | 0;
10410
10410
+
d2 = d2 | 0;
10411
10411
+
e2 = e2 | 0;
10412
10412
+
var f2 = 0, g2 = 0;
10413
10413
+
g2 = Qd(a3 | 0, c2 | 0, 52) | 0;
10414
10414
+
H() | 0;
10415
10415
+
g2 = g2 & 15;
10416
10416
+
if (d2 >>> 0 > 15) {
10417
10417
+
e2 = 4;
10418
10418
+
return e2 | 0;
10419
10419
+
}
10420
10420
+
if ((g2 | 0) < (d2 | 0)) {
10421
10421
+
e2 = 12;
10422
10422
+
return e2 | 0;
10423
10423
+
}
10424
10424
+
if ((g2 | 0) == (d2 | 0)) {
10425
10425
+
b[e2 >> 2] = a3;
10426
10426
+
b[e2 + 4 >> 2] = c2;
10427
10427
+
e2 = 0;
10428
10428
+
return e2 | 0;
10429
10429
+
}
10430
10430
+
f2 = Rd(d2 | 0, 0, 52) | 0;
10431
10431
+
f2 = f2 | a3;
10432
10432
+
a3 = H() | 0 | c2 & -15728641;
10433
10433
+
if ((g2 | 0) > (d2 | 0)) {
10434
10434
+
do {
10435
10435
+
c2 = Rd(7, 0, (14 - d2 | 0) * 3 | 0) | 0;
10436
10436
+
d2 = d2 + 1 | 0;
10437
10437
+
f2 = c2 | f2;
10438
10438
+
a3 = H() | 0 | a3;
10439
10439
+
} while ((d2 | 0) < (g2 | 0));
10440
10440
+
}
10441
10441
+
b[e2 >> 2] = f2;
10442
10442
+
b[e2 + 4 >> 2] = a3;
10443
10443
+
e2 = 0;
10444
10444
+
return e2 | 0;
10445
10445
+
}
10446
10446
+
function Gb(a3, c2, d2, e2) {
10447
10447
+
a3 = a3 | 0;
10448
10448
+
c2 = c2 | 0;
10449
10449
+
d2 = d2 | 0;
10450
10450
+
e2 = e2 | 0;
10451
10451
+
var f2 = 0, g2 = 0, h = 0;
10452
10452
+
g2 = Qd(a3 | 0, c2 | 0, 52) | 0;
10453
10453
+
H() | 0;
10454
10454
+
g2 = g2 & 15;
10455
10455
+
if (!((d2 | 0) < 16 & (g2 | 0) <= (d2 | 0))) {
10456
10456
+
e2 = 4;
10457
10457
+
return e2 | 0;
10458
10458
+
}
10459
10459
+
f2 = d2 - g2 | 0;
10460
10460
+
d2 = Qd(a3 | 0, c2 | 0, 45) | 0;
10461
10461
+
H() | 0;
10462
10462
+
a:
10463
10463
+
do {
10464
10464
+
if (!(oa(d2 & 127) | 0)) {
10465
10465
+
d2 = Oc(7, 0, f2, ((f2 | 0) < 0) << 31 >> 31) | 0;
10466
10466
+
f2 = H() | 0;
10467
10467
+
} else {
10468
10468
+
b:
10469
10469
+
do {
10470
10470
+
if (g2 | 0) {
10471
10471
+
d2 = 1;
10472
10472
+
while (true) {
10473
10473
+
h = Rd(7, 0, (15 - d2 | 0) * 3 | 0) | 0;
10474
10474
+
if (!((h & a3 | 0) == 0 & ((H() | 0) & c2 | 0) == 0)) {
10475
10475
+
break;
10476
10476
+
}
10477
10477
+
if (d2 >>> 0 < g2 >>> 0) {
10478
10478
+
d2 = d2 + 1 | 0;
10479
10479
+
} else {
10480
10480
+
break b;
10481
10481
+
}
10482
10482
+
}
10483
10483
+
d2 = Oc(7, 0, f2, ((f2 | 0) < 0) << 31 >> 31) | 0;
10484
10484
+
f2 = H() | 0;
10485
10485
+
break a;
10486
10486
+
}
10487
10487
+
} while (0);
10488
10488
+
d2 = Oc(7, 0, f2, ((f2 | 0) < 0) << 31 >> 31) | 0;
10489
10489
+
d2 = Md(d2 | 0, H() | 0, 5, 0) | 0;
10490
10490
+
d2 = Gd(d2 | 0, H() | 0, -5, -1) | 0;
10491
10491
+
d2 = Kd(d2 | 0, H() | 0, 6, 0) | 0;
10492
10492
+
d2 = Gd(d2 | 0, H() | 0, 1, 0) | 0;
10493
10493
+
f2 = H() | 0;
10494
10494
+
}
10495
10495
+
} while (0);
10496
10496
+
h = e2;
10497
10497
+
b[h >> 2] = d2;
10498
10498
+
b[h + 4 >> 2] = f2;
10499
10499
+
h = 0;
10500
10500
+
return h | 0;
10501
10501
+
}
10502
10502
+
function Hb(a3, b2) {
10503
10503
+
a3 = a3 | 0;
10504
10504
+
b2 = b2 | 0;
10505
10505
+
var c2 = 0, d2 = 0, e2 = 0;
10506
10506
+
e2 = Qd(a3 | 0, b2 | 0, 45) | 0;
10507
10507
+
H() | 0;
10508
10508
+
if (!(oa(e2 & 127) | 0)) {
10509
10509
+
e2 = 0;
10510
10510
+
return e2 | 0;
10511
10511
+
}
10512
10512
+
e2 = Qd(a3 | 0, b2 | 0, 52) | 0;
10513
10513
+
H() | 0;
10514
10514
+
e2 = e2 & 15;
10515
10515
+
a:
10516
10516
+
do {
10517
10517
+
if (!e2) {
10518
10518
+
c2 = 0;
10519
10519
+
} else {
10520
10520
+
d2 = 1;
10521
10521
+
while (true) {
10522
10522
+
c2 = Qd(a3 | 0, b2 | 0, (15 - d2 | 0) * 3 | 0) | 0;
10523
10523
+
H() | 0;
10524
10524
+
c2 = c2 & 7;
10525
10525
+
if (c2 | 0) {
10526
10526
+
break a;
10527
10527
+
}
10528
10528
+
if (d2 >>> 0 < e2 >>> 0) {
10529
10529
+
d2 = d2 + 1 | 0;
10530
10530
+
} else {
10531
10531
+
c2 = 0;
10532
10532
+
break;
10533
10533
+
}
10534
10534
+
}
10535
10535
+
}
10536
10536
+
} while (0);
10537
10537
+
e2 = (c2 | 0) == 0 & 1;
10538
10538
+
return e2 | 0;
10539
10539
+
}
10540
10540
+
function Ib(a3, c2, d2, e2) {
10541
10541
+
a3 = a3 | 0;
10542
10542
+
c2 = c2 | 0;
10543
10543
+
d2 = d2 | 0;
10544
10544
+
e2 = e2 | 0;
10545
10545
+
var f2 = 0, g2 = 0, h = 0, i = 0;
10546
10546
+
h = T;
10547
10547
+
T = T + 16 | 0;
10548
10548
+
g2 = h;
10549
10549
+
fc(g2, a3, c2, d2);
10550
10550
+
c2 = g2;
10551
10551
+
a3 = b[c2 >> 2] | 0;
10552
10552
+
c2 = b[c2 + 4 >> 2] | 0;
10553
10553
+
if ((a3 | 0) == 0 & (c2 | 0) == 0) {
10554
10554
+
T = h;
10555
10555
+
return 0;
10556
10556
+
}
10557
10557
+
f2 = 0;
10558
10558
+
d2 = 0;
10559
10559
+
do {
10560
10560
+
i = e2 + (f2 << 3) | 0;
10561
10561
+
b[i >> 2] = a3;
10562
10562
+
b[i + 4 >> 2] = c2;
10563
10563
+
f2 = Gd(f2 | 0, d2 | 0, 1, 0) | 0;
10564
10564
+
d2 = H() | 0;
10565
10565
+
hc(g2);
10566
10566
+
i = g2;
10567
10567
+
a3 = b[i >> 2] | 0;
10568
10568
+
c2 = b[i + 4 >> 2] | 0;
10569
10569
+
} while (!((a3 | 0) == 0 & (c2 | 0) == 0));
10570
10570
+
T = h;
10571
10571
+
return 0;
10572
10572
+
}
10573
10573
+
function Jb(a3, b2, c2, d2) {
10574
10574
+
a3 = a3 | 0;
10575
10575
+
b2 = b2 | 0;
10576
10576
+
c2 = c2 | 0;
10577
10577
+
d2 = d2 | 0;
10578
10578
+
if ((d2 | 0) < (c2 | 0)) {
10579
10579
+
c2 = b2;
10580
10580
+
d2 = a3;
10581
10581
+
G(c2 | 0);
10582
10582
+
return d2 | 0;
10583
10583
+
}
10584
10584
+
c2 = Rd(-1, -1, ((d2 - c2 | 0) * 3 | 0) + 3 | 0) | 0;
10585
10585
+
d2 = Rd(~c2 | 0, ~(H() | 0) | 0, (15 - d2 | 0) * 3 | 0) | 0;
10586
10586
+
c2 = ~(H() | 0) & b2;
10587
10587
+
d2 = ~d2 & a3;
10588
10588
+
G(c2 | 0);
10589
10589
+
return d2 | 0;
10590
10590
+
}
10591
10591
+
function Kb(a3, c2, d2, e2) {
10592
10592
+
a3 = a3 | 0;
10593
10593
+
c2 = c2 | 0;
10594
10594
+
d2 = d2 | 0;
10595
10595
+
e2 = e2 | 0;
10596
10596
+
var f2 = 0;
10597
10597
+
f2 = Qd(a3 | 0, c2 | 0, 52) | 0;
10598
10598
+
H() | 0;
10599
10599
+
f2 = f2 & 15;
10600
10600
+
if (!((d2 | 0) < 16 & (f2 | 0) <= (d2 | 0))) {
10601
10601
+
e2 = 4;
10602
10602
+
return e2 | 0;
10603
10603
+
}
10604
10604
+
if ((f2 | 0) < (d2 | 0)) {
10605
10605
+
f2 = Rd(-1, -1, ((d2 + -1 - f2 | 0) * 3 | 0) + 3 | 0) | 0;
10606
10606
+
f2 = Rd(~f2 | 0, ~(H() | 0) | 0, (15 - d2 | 0) * 3 | 0) | 0;
10607
10607
+
c2 = ~(H() | 0) & c2;
10608
10608
+
a3 = ~f2 & a3;
10609
10609
+
}
10610
10610
+
f2 = Rd(d2 | 0, 0, 52) | 0;
10611
10611
+
d2 = c2 & -15728641 | (H() | 0);
10612
10612
+
b[e2 >> 2] = a3 | f2;
10613
10613
+
b[e2 + 4 >> 2] = d2;
10614
10614
+
e2 = 0;
10615
10615
+
return e2 | 0;
10616
10616
+
}
10617
10617
+
function Lb(a3, c2, d2, e2) {
10618
10618
+
a3 = a3 | 0;
10619
10619
+
c2 = c2 | 0;
10620
10620
+
d2 = d2 | 0;
10621
10621
+
e2 = e2 | 0;
10622
10622
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0, E2 = 0;
10623
10623
+
if ((d2 | 0) == 0 & (e2 | 0) == 0) {
10624
10624
+
E2 = 0;
10625
10625
+
return E2 | 0;
10626
10626
+
}
10627
10627
+
f2 = a3;
10628
10628
+
g2 = b[f2 >> 2] | 0;
10629
10629
+
f2 = b[f2 + 4 >> 2] | 0;
10630
10630
+
if (true & (f2 & 15728640 | 0) == 0) {
10631
10631
+
if (!((e2 | 0) > 0 | (e2 | 0) == 0 & d2 >>> 0 > 0)) {
10632
10632
+
E2 = 0;
10633
10633
+
return E2 | 0;
10634
10634
+
}
10635
10635
+
E2 = c2;
10636
10636
+
b[E2 >> 2] = g2;
10637
10637
+
b[E2 + 4 >> 2] = f2;
10638
10638
+
if ((d2 | 0) == 1 & (e2 | 0) == 0) {
10639
10639
+
E2 = 0;
10640
10640
+
return E2 | 0;
10641
10641
+
}
10642
10642
+
f2 = 1;
10643
10643
+
g2 = 0;
10644
10644
+
do {
10645
10645
+
C2 = a3 + (f2 << 3) | 0;
10646
10646
+
D2 = b[C2 + 4 >> 2] | 0;
10647
10647
+
E2 = c2 + (f2 << 3) | 0;
10648
10648
+
b[E2 >> 2] = b[C2 >> 2];
10649
10649
+
b[E2 + 4 >> 2] = D2;
10650
10650
+
f2 = Gd(f2 | 0, g2 | 0, 1, 0) | 0;
10651
10651
+
g2 = H() | 0;
10652
10652
+
} while ((g2 | 0) < (e2 | 0) | (g2 | 0) == (e2 | 0) & f2 >>> 0 < d2 >>> 0);
10653
10653
+
f2 = 0;
10654
10654
+
return f2 | 0;
10655
10655
+
}
10656
10656
+
B2 = d2 << 3;
10657
10657
+
D2 = Dd(B2) | 0;
10658
10658
+
if (!D2) {
10659
10659
+
E2 = 13;
10660
10660
+
return E2 | 0;
10661
10661
+
}
10662
10662
+
Wd(D2 | 0, a3 | 0, B2 | 0) | 0;
10663
10663
+
C2 = Fd(d2, 8) | 0;
10664
10664
+
if (!C2) {
10665
10665
+
Ed(D2);
10666
10666
+
E2 = 13;
10667
10667
+
return E2 | 0;
10668
10668
+
}
10669
10669
+
a:
10670
10670
+
while (true) {
10671
10671
+
f2 = D2;
10672
10672
+
k = b[f2 >> 2] | 0;
10673
10673
+
f2 = b[f2 + 4 >> 2] | 0;
10674
10674
+
z2 = Qd(k | 0, f2 | 0, 52) | 0;
10675
10675
+
H() | 0;
10676
10676
+
z2 = z2 & 15;
10677
10677
+
A2 = z2 + -1 | 0;
10678
10678
+
y2 = (z2 | 0) != 0;
10679
10679
+
x2 = (e2 | 0) > 0 | (e2 | 0) == 0 & d2 >>> 0 > 0;
10680
10680
+
b:
10681
10681
+
do {
10682
10682
+
if (y2 & x2) {
10683
10683
+
t2 = Rd(A2 | 0, 0, 52) | 0;
10684
10684
+
u2 = H() | 0;
10685
10685
+
if (A2 >>> 0 > 15) {
10686
10686
+
if (!((k | 0) == 0 & (f2 | 0) == 0)) {
10687
10687
+
E2 = 16;
10688
10688
+
break a;
10689
10689
+
}
10690
10690
+
g2 = 0;
10691
10691
+
a3 = 0;
10692
10692
+
while (true) {
10693
10693
+
g2 = Gd(g2 | 0, a3 | 0, 1, 0) | 0;
10694
10694
+
a3 = H() | 0;
10695
10695
+
if (!((a3 | 0) < (e2 | 0) | (a3 | 0) == (e2 | 0) & g2 >>> 0 < d2 >>> 0)) {
10696
10696
+
break b;
10697
10697
+
}
10698
10698
+
h = D2 + (g2 << 3) | 0;
10699
10699
+
w2 = b[h >> 2] | 0;
10700
10700
+
h = b[h + 4 >> 2] | 0;
10701
10701
+
if (!((w2 | 0) == 0 & (h | 0) == 0)) {
10702
10702
+
f2 = h;
10703
10703
+
E2 = 16;
10704
10704
+
break a;
10705
10705
+
}
10706
10706
+
}
10707
10707
+
}
10708
10708
+
i = k;
10709
10709
+
a3 = f2;
10710
10710
+
g2 = 0;
10711
10711
+
h = 0;
10712
10712
+
while (true) {
10713
10713
+
if (!((i | 0) == 0 & (a3 | 0) == 0)) {
10714
10714
+
if (!(true & (a3 & 117440512 | 0) == 0)) {
10715
10715
+
E2 = 21;
10716
10716
+
break a;
10717
10717
+
}
10718
10718
+
l = Qd(i | 0, a3 | 0, 52) | 0;
10719
10719
+
H() | 0;
10720
10720
+
l = l & 15;
10721
10721
+
if ((l | 0) < (A2 | 0)) {
10722
10722
+
f2 = 12;
10723
10723
+
E2 = 27;
10724
10724
+
break a;
10725
10725
+
}
10726
10726
+
if ((l | 0) != (A2 | 0)) {
10727
10727
+
i = i | t2;
10728
10728
+
a3 = a3 & -15728641 | u2;
10729
10729
+
if (l >>> 0 >= z2 >>> 0) {
10730
10730
+
j = A2;
10731
10731
+
do {
10732
10732
+
w2 = Rd(7, 0, (14 - j | 0) * 3 | 0) | 0;
10733
10733
+
j = j + 1 | 0;
10734
10734
+
i = w2 | i;
10735
10735
+
a3 = H() | 0 | a3;
10736
10736
+
} while (j >>> 0 < l >>> 0);
10737
10737
+
}
10738
10738
+
}
10739
10739
+
n = Od(i | 0, a3 | 0, d2 | 0, e2 | 0) | 0;
10740
10740
+
o = H() | 0;
10741
10741
+
j = C2 + (n << 3) | 0;
10742
10742
+
l = j;
10743
10743
+
m = b[l >> 2] | 0;
10744
10744
+
l = b[l + 4 >> 2] | 0;
10745
10745
+
if (!((m | 0) == 0 & (l | 0) == 0)) {
10746
10746
+
r2 = 0;
10747
10747
+
s2 = 0;
10748
10748
+
do {
10749
10749
+
if ((r2 | 0) > (e2 | 0) | (r2 | 0) == (e2 | 0) & s2 >>> 0 > d2 >>> 0) {
10750
10750
+
E2 = 31;
10751
10751
+
break a;
10752
10752
+
}
10753
10753
+
if ((m | 0) == (i | 0) & (l & -117440513 | 0) == (a3 | 0)) {
10754
10754
+
p3 = Qd(m | 0, l | 0, 56) | 0;
10755
10755
+
H() | 0;
10756
10756
+
p3 = p3 & 7;
10757
10757
+
q2 = p3 + 1 | 0;
10758
10758
+
w2 = Qd(m | 0, l | 0, 45) | 0;
10759
10759
+
H() | 0;
10760
10760
+
c:
10761
10761
+
do {
10762
10762
+
if (!(oa(w2 & 127) | 0)) {
10763
10763
+
l = 7;
10764
10764
+
} else {
10765
10765
+
m = Qd(m | 0, l | 0, 52) | 0;
10766
10766
+
H() | 0;
10767
10767
+
m = m & 15;
10768
10768
+
if (!m) {
10769
10769
+
l = 6;
10770
10770
+
break;
10771
10771
+
}
10772
10772
+
l = 1;
10773
10773
+
while (true) {
10774
10774
+
w2 = Rd(7, 0, (15 - l | 0) * 3 | 0) | 0;
10775
10775
+
if (!((w2 & i | 0) == 0 & ((H() | 0) & a3 | 0) == 0)) {
10776
10776
+
l = 7;
10777
10777
+
break c;
10778
10778
+
}
10779
10779
+
if (l >>> 0 < m >>> 0) {
10780
10780
+
l = l + 1 | 0;
10781
10781
+
} else {
10782
10782
+
l = 6;
10783
10783
+
break;
10784
10784
+
}
10785
10785
+
}
10786
10786
+
}
10787
10787
+
} while (0);
10788
10788
+
if ((p3 + 2 | 0) >>> 0 > l >>> 0) {
10789
10789
+
E2 = 41;
10790
10790
+
break a;
10791
10791
+
}
10792
10792
+
w2 = Rd(q2 | 0, 0, 56) | 0;
10793
10793
+
a3 = H() | 0 | a3 & -117440513;
10794
10794
+
v2 = j;
10795
10795
+
b[v2 >> 2] = 0;
10796
10796
+
b[v2 + 4 >> 2] = 0;
10797
10797
+
i = w2 | i;
10798
10798
+
} else {
10799
10799
+
n = Gd(n | 0, o | 0, 1, 0) | 0;
10800
10800
+
n = Nd(n | 0, H() | 0, d2 | 0, e2 | 0) | 0;
10801
10801
+
o = H() | 0;
10802
10802
+
}
10803
10803
+
s2 = Gd(s2 | 0, r2 | 0, 1, 0) | 0;
10804
10804
+
r2 = H() | 0;
10805
10805
+
j = C2 + (n << 3) | 0;
10806
10806
+
l = j;
10807
10807
+
m = b[l >> 2] | 0;
10808
10808
+
l = b[l + 4 >> 2] | 0;
10809
10809
+
} while (!((m | 0) == 0 & (l | 0) == 0));
10810
10810
+
}
10811
10811
+
w2 = j;
10812
10812
+
b[w2 >> 2] = i;
10813
10813
+
b[w2 + 4 >> 2] = a3;
10814
10814
+
}
10815
10815
+
g2 = Gd(g2 | 0, h | 0, 1, 0) | 0;
10816
10816
+
h = H() | 0;
10817
10817
+
if (!((h | 0) < (e2 | 0) | (h | 0) == (e2 | 0) & g2 >>> 0 < d2 >>> 0)) {
10818
10818
+
break b;
10819
10819
+
}
10820
10820
+
a3 = D2 + (g2 << 3) | 0;
10821
10821
+
i = b[a3 >> 2] | 0;
10822
10822
+
a3 = b[a3 + 4 >> 2] | 0;
10823
10823
+
}
10824
10824
+
}
10825
10825
+
} while (0);
10826
10826
+
w2 = Gd(d2 | 0, e2 | 0, 5, 0) | 0;
10827
10827
+
v2 = H() | 0;
10828
10828
+
if (v2 >>> 0 < 0 | (v2 | 0) == 0 & w2 >>> 0 < 11) {
10829
10829
+
E2 = 85;
10830
10830
+
break;
10831
10831
+
}
10832
10832
+
w2 = Kd(d2 | 0, e2 | 0, 6, 0) | 0;
10833
10833
+
H() | 0;
10834
10834
+
w2 = Fd(w2, 8) | 0;
10835
10835
+
if (!w2) {
10836
10836
+
E2 = 48;
10837
10837
+
break;
10838
10838
+
}
10839
10839
+
do {
10840
10840
+
if (x2) {
10841
10841
+
q2 = 0;
10842
10842
+
a3 = 0;
10843
10843
+
p3 = 0;
10844
10844
+
r2 = 0;
10845
10845
+
while (true) {
10846
10846
+
l = C2 + (q2 << 3) | 0;
10847
10847
+
h = l;
10848
10848
+
g2 = b[h >> 2] | 0;
10849
10849
+
h = b[h + 4 >> 2] | 0;
10850
10850
+
if (!((g2 | 0) == 0 & (h | 0) == 0)) {
10851
10851
+
m = Qd(g2 | 0, h | 0, 56) | 0;
10852
10852
+
H() | 0;
10853
10853
+
m = m & 7;
10854
10854
+
i = m + 1 | 0;
10855
10855
+
n = h & -117440513;
10856
10856
+
v2 = Qd(g2 | 0, h | 0, 45) | 0;
10857
10857
+
H() | 0;
10858
10858
+
d:
10859
10859
+
do {
10860
10860
+
if (oa(v2 & 127) | 0) {
10861
10861
+
o = Qd(g2 | 0, h | 0, 52) | 0;
10862
10862
+
H() | 0;
10863
10863
+
o = o & 15;
10864
10864
+
if (o | 0) {
10865
10865
+
j = 1;
10866
10866
+
while (true) {
10867
10867
+
v2 = Rd(7, 0, (15 - j | 0) * 3 | 0) | 0;
10868
10868
+
if (!((g2 & v2 | 0) == 0 & (n & (H() | 0) | 0) == 0)) {
10869
10869
+
break d;
10870
10870
+
}
10871
10871
+
if (j >>> 0 < o >>> 0) {
10872
10872
+
j = j + 1 | 0;
10873
10873
+
} else {
10874
10874
+
break;
10875
10875
+
}
10876
10876
+
}
10877
10877
+
}
10878
10878
+
h = Rd(i | 0, 0, 56) | 0;
10879
10879
+
g2 = h | g2;
10880
10880
+
h = H() | 0 | n;
10881
10881
+
i = l;
10882
10882
+
b[i >> 2] = g2;
10883
10883
+
b[i + 4 >> 2] = h;
10884
10884
+
i = m + 2 | 0;
10885
10885
+
}
10886
10886
+
} while (0);
10887
10887
+
if ((i | 0) == 7) {
10888
10888
+
v2 = w2 + (a3 << 3) | 0;
10889
10889
+
b[v2 >> 2] = g2;
10890
10890
+
b[v2 + 4 >> 2] = h & -117440513;
10891
10891
+
a3 = Gd(a3 | 0, p3 | 0, 1, 0) | 0;
10892
10892
+
v2 = H() | 0;
10893
10893
+
} else {
10894
10894
+
v2 = p3;
10895
10895
+
}
10896
10896
+
} else {
10897
10897
+
v2 = p3;
10898
10898
+
}
10899
10899
+
q2 = Gd(q2 | 0, r2 | 0, 1, 0) | 0;
10900
10900
+
r2 = H() | 0;
10901
10901
+
if (!((r2 | 0) < (e2 | 0) | (r2 | 0) == (e2 | 0) & q2 >>> 0 < d2 >>> 0)) {
10902
10902
+
break;
10903
10903
+
} else {
10904
10904
+
p3 = v2;
10905
10905
+
}
10906
10906
+
}
10907
10907
+
if (x2) {
10908
10908
+
s2 = A2 >>> 0 > 15;
10909
10909
+
t2 = Rd(A2 | 0, 0, 52) | 0;
10910
10910
+
u2 = H() | 0;
10911
10911
+
if (!y2) {
10912
10912
+
g2 = 0;
10913
10913
+
j = 0;
10914
10914
+
i = 0;
10915
10915
+
h = 0;
10916
10916
+
while (true) {
10917
10917
+
if (!((k | 0) == 0 & (f2 | 0) == 0)) {
10918
10918
+
A2 = c2 + (g2 << 3) | 0;
10919
10919
+
b[A2 >> 2] = k;
10920
10920
+
b[A2 + 4 >> 2] = f2;
10921
10921
+
g2 = Gd(g2 | 0, j | 0, 1, 0) | 0;
10922
10922
+
j = H() | 0;
10923
10923
+
}
10924
10924
+
i = Gd(i | 0, h | 0, 1, 0) | 0;
10925
10925
+
h = H() | 0;
10926
10926
+
if (!((h | 0) < (e2 | 0) | (h | 0) == (e2 | 0) & i >>> 0 < d2 >>> 0)) {
10927
10927
+
break;
10928
10928
+
}
10929
10929
+
f2 = D2 + (i << 3) | 0;
10930
10930
+
k = b[f2 >> 2] | 0;
10931
10931
+
f2 = b[f2 + 4 >> 2] | 0;
10932
10932
+
}
10933
10933
+
f2 = v2;
10934
10934
+
break;
10935
10935
+
}
10936
10936
+
g2 = 0;
10937
10937
+
j = 0;
10938
10938
+
h = 0;
10939
10939
+
i = 0;
10940
10940
+
while (true) {
10941
10941
+
do {
10942
10942
+
if (!((k | 0) == 0 & (f2 | 0) == 0)) {
10943
10943
+
o = Qd(k | 0, f2 | 0, 52) | 0;
10944
10944
+
H() | 0;
10945
10945
+
o = o & 15;
10946
10946
+
if (s2 | (o | 0) < (A2 | 0)) {
10947
10947
+
E2 = 80;
10948
10948
+
break a;
10949
10949
+
}
10950
10950
+
if ((o | 0) != (A2 | 0)) {
10951
10951
+
l = k | t2;
10952
10952
+
m = f2 & -15728641 | u2;
10953
10953
+
if (o >>> 0 >= z2 >>> 0) {
10954
10954
+
n = A2;
10955
10955
+
do {
10956
10956
+
y2 = Rd(7, 0, (14 - n | 0) * 3 | 0) | 0;
10957
10957
+
n = n + 1 | 0;
10958
10958
+
l = y2 | l;
10959
10959
+
m = H() | 0 | m;
10960
10960
+
} while (n >>> 0 < o >>> 0);
10961
10961
+
}
10962
10962
+
} else {
10963
10963
+
l = k;
10964
10964
+
m = f2;
10965
10965
+
}
10966
10966
+
p3 = Od(l | 0, m | 0, d2 | 0, e2 | 0) | 0;
10967
10967
+
n = 0;
10968
10968
+
o = 0;
10969
10969
+
r2 = H() | 0;
10970
10970
+
do {
10971
10971
+
if ((n | 0) > (e2 | 0) | (n | 0) == (e2 | 0) & o >>> 0 > d2 >>> 0) {
10972
10972
+
E2 = 81;
10973
10973
+
break a;
10974
10974
+
}
10975
10975
+
y2 = C2 + (p3 << 3) | 0;
10976
10976
+
q2 = b[y2 + 4 >> 2] | 0;
10977
10977
+
if ((q2 & -117440513 | 0) == (m | 0) ? (b[y2 >> 2] | 0) == (l | 0) : 0) {
10978
10978
+
E2 = 65;
10979
10979
+
break;
10980
10980
+
}
10981
10981
+
y2 = Gd(p3 | 0, r2 | 0, 1, 0) | 0;
10982
10982
+
p3 = Nd(y2 | 0, H() | 0, d2 | 0, e2 | 0) | 0;
10983
10983
+
r2 = H() | 0;
10984
10984
+
o = Gd(o | 0, n | 0, 1, 0) | 0;
10985
10985
+
n = H() | 0;
10986
10986
+
y2 = C2 + (p3 << 3) | 0;
10987
10987
+
} while (!((b[y2 >> 2] | 0) == (l | 0) ? (b[y2 + 4 >> 2] | 0) == (m | 0) : 0));
10988
10988
+
if ((E2 | 0) == 65 ? (E2 = 0, true & (q2 & 117440512 | 0) == 100663296) : 0) {
10989
10989
+
break;
10990
10990
+
}
10991
10991
+
y2 = c2 + (g2 << 3) | 0;
10992
10992
+
b[y2 >> 2] = k;
10993
10993
+
b[y2 + 4 >> 2] = f2;
10994
10994
+
g2 = Gd(g2 | 0, j | 0, 1, 0) | 0;
10995
10995
+
j = H() | 0;
10996
10996
+
}
10997
10997
+
} while (0);
10998
10998
+
h = Gd(h | 0, i | 0, 1, 0) | 0;
10999
10999
+
i = H() | 0;
11000
11000
+
if (!((i | 0) < (e2 | 0) | (i | 0) == (e2 | 0) & h >>> 0 < d2 >>> 0)) {
11001
11001
+
break;
11002
11002
+
}
11003
11003
+
f2 = D2 + (h << 3) | 0;
11004
11004
+
k = b[f2 >> 2] | 0;
11005
11005
+
f2 = b[f2 + 4 >> 2] | 0;
11006
11006
+
}
11007
11007
+
f2 = v2;
11008
11008
+
} else {
11009
11009
+
g2 = 0;
11010
11010
+
f2 = v2;
11011
11011
+
}
11012
11012
+
} else {
11013
11013
+
g2 = 0;
11014
11014
+
a3 = 0;
11015
11015
+
f2 = 0;
11016
11016
+
}
11017
11017
+
} while (0);
11018
11018
+
Xd(C2 | 0, 0, B2 | 0) | 0;
11019
11019
+
Wd(D2 | 0, w2 | 0, a3 << 3 | 0) | 0;
11020
11020
+
Ed(w2);
11021
11021
+
if ((a3 | 0) == 0 & (f2 | 0) == 0) {
11022
11022
+
E2 = 89;
11023
11023
+
break;
11024
11024
+
} else {
11025
11025
+
c2 = c2 + (g2 << 3) | 0;
11026
11026
+
e2 = f2;
11027
11027
+
d2 = a3;
11028
11028
+
}
11029
11029
+
}
11030
11030
+
if ((E2 | 0) == 16) {
11031
11031
+
if (true & (f2 & 117440512 | 0) == 0) {
11032
11032
+
f2 = 4;
11033
11033
+
E2 = 27;
11034
11034
+
} else {
11035
11035
+
E2 = 21;
11036
11036
+
}
11037
11037
+
} else if ((E2 | 0) == 31) {
11038
11038
+
I(27795, 27122, 529, 27132);
11039
11039
+
} else if ((E2 | 0) == 41) {
11040
11040
+
Ed(D2);
11041
11041
+
Ed(C2);
11042
11042
+
E2 = 10;
11043
11043
+
return E2 | 0;
11044
11044
+
} else if ((E2 | 0) == 48) {
11045
11045
+
Ed(D2);
11046
11046
+
Ed(C2);
11047
11047
+
E2 = 13;
11048
11048
+
return E2 | 0;
11049
11049
+
} else if ((E2 | 0) == 80) {
11050
11050
+
I(27795, 27122, 620, 27132);
11051
11051
+
} else if ((E2 | 0) == 81) {
11052
11052
+
I(27795, 27122, 632, 27132);
11053
11053
+
} else if ((E2 | 0) == 85) {
11054
11054
+
Wd(c2 | 0, D2 | 0, d2 << 3 | 0) | 0;
11055
11055
+
E2 = 89;
11056
11056
+
}
11057
11057
+
if ((E2 | 0) == 21) {
11058
11058
+
Ed(D2);
11059
11059
+
Ed(C2);
11060
11060
+
E2 = 5;
11061
11061
+
return E2 | 0;
11062
11062
+
} else if ((E2 | 0) == 27) {
11063
11063
+
Ed(D2);
11064
11064
+
Ed(C2);
11065
11065
+
E2 = f2;
11066
11066
+
return E2 | 0;
11067
11067
+
} else if ((E2 | 0) == 89) {
11068
11068
+
Ed(D2);
11069
11069
+
Ed(C2);
11070
11070
+
E2 = 0;
11071
11071
+
return E2 | 0;
11072
11072
+
}
11073
11073
+
return 0;
11074
11074
+
}
11075
11075
+
function Mb(a3, c2, d2, e2, f2, g2, h) {
11076
11076
+
a3 = a3 | 0;
11077
11077
+
c2 = c2 | 0;
11078
11078
+
d2 = d2 | 0;
11079
11079
+
e2 = e2 | 0;
11080
11080
+
f2 = f2 | 0;
11081
11081
+
g2 = g2 | 0;
11082
11082
+
h = h | 0;
11083
11083
+
var i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0;
11084
11084
+
q2 = T;
11085
11085
+
T = T + 16 | 0;
11086
11086
+
p3 = q2;
11087
11087
+
if (!((d2 | 0) > 0 | (d2 | 0) == 0 & c2 >>> 0 > 0)) {
11088
11088
+
p3 = 0;
11089
11089
+
T = q2;
11090
11090
+
return p3 | 0;
11091
11091
+
}
11092
11092
+
if ((h | 0) >= 16) {
11093
11093
+
p3 = 12;
11094
11094
+
T = q2;
11095
11095
+
return p3 | 0;
11096
11096
+
}
11097
11097
+
n = 0;
11098
11098
+
o = 0;
11099
11099
+
m = 0;
11100
11100
+
i = 0;
11101
11101
+
a:
11102
11102
+
while (true) {
11103
11103
+
k = a3 + (n << 3) | 0;
11104
11104
+
j = b[k >> 2] | 0;
11105
11105
+
k = b[k + 4 >> 2] | 0;
11106
11106
+
l = Qd(j | 0, k | 0, 52) | 0;
11107
11107
+
H() | 0;
11108
11108
+
if ((l & 15 | 0) > (h | 0)) {
11109
11109
+
i = 12;
11110
11110
+
j = 11;
11111
11111
+
break;
11112
11112
+
}
11113
11113
+
fc(p3, j, k, h);
11114
11114
+
l = p3;
11115
11115
+
k = b[l >> 2] | 0;
11116
11116
+
l = b[l + 4 >> 2] | 0;
11117
11117
+
if ((k | 0) == 0 & (l | 0) == 0) {
11118
11118
+
j = m;
11119
11119
+
} else {
11120
11120
+
j = m;
11121
11121
+
do {
11122
11122
+
if (!((i | 0) < (g2 | 0) | (i | 0) == (g2 | 0) & j >>> 0 < f2 >>> 0)) {
11123
11123
+
j = 10;
11124
11124
+
break a;
11125
11125
+
}
11126
11126
+
m = e2 + (j << 3) | 0;
11127
11127
+
b[m >> 2] = k;
11128
11128
+
b[m + 4 >> 2] = l;
11129
11129
+
j = Gd(j | 0, i | 0, 1, 0) | 0;
11130
11130
+
i = H() | 0;
11131
11131
+
hc(p3);
11132
11132
+
m = p3;
11133
11133
+
k = b[m >> 2] | 0;
11134
11134
+
l = b[m + 4 >> 2] | 0;
11135
11135
+
} while (!((k | 0) == 0 & (l | 0) == 0));
11136
11136
+
}
11137
11137
+
n = Gd(n | 0, o | 0, 1, 0) | 0;
11138
11138
+
o = H() | 0;
11139
11139
+
if (!((o | 0) < (d2 | 0) | (o | 0) == (d2 | 0) & n >>> 0 < c2 >>> 0)) {
11140
11140
+
i = 0;
11141
11141
+
j = 11;
11142
11142
+
break;
11143
11143
+
} else {
11144
11144
+
m = j;
11145
11145
+
}
11146
11146
+
}
11147
11147
+
if ((j | 0) == 10) {
11148
11148
+
p3 = 14;
11149
11149
+
T = q2;
11150
11150
+
return p3 | 0;
11151
11151
+
} else if ((j | 0) == 11) {
11152
11152
+
T = q2;
11153
11153
+
return i | 0;
11154
11154
+
}
11155
11155
+
return 0;
11156
11156
+
}
11157
11157
+
function Nb(a3, c2, d2, e2, f2) {
11158
11158
+
a3 = a3 | 0;
11159
11159
+
c2 = c2 | 0;
11160
11160
+
d2 = d2 | 0;
11161
11161
+
e2 = e2 | 0;
11162
11162
+
f2 = f2 | 0;
11163
11163
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
11164
11164
+
n = T;
11165
11165
+
T = T + 16 | 0;
11166
11166
+
m = n;
11167
11167
+
a:
11168
11168
+
do {
11169
11169
+
if ((d2 | 0) > 0 | (d2 | 0) == 0 & c2 >>> 0 > 0) {
11170
11170
+
k = 0;
11171
11171
+
h = 0;
11172
11172
+
g2 = 0;
11173
11173
+
l = 0;
11174
11174
+
while (true) {
11175
11175
+
j = a3 + (k << 3) | 0;
11176
11176
+
i = b[j >> 2] | 0;
11177
11177
+
j = b[j + 4 >> 2] | 0;
11178
11178
+
if (!((i | 0) == 0 & (j | 0) == 0)) {
11179
11179
+
j = (Gb(i, j, e2, m) | 0) == 0;
11180
11180
+
i = m;
11181
11181
+
h = Gd(b[i >> 2] | 0, b[i + 4 >> 2] | 0, h | 0, g2 | 0) | 0;
11182
11182
+
g2 = H() | 0;
11183
11183
+
if (!j) {
11184
11184
+
g2 = 12;
11185
11185
+
break;
11186
11186
+
}
11187
11187
+
}
11188
11188
+
k = Gd(k | 0, l | 0, 1, 0) | 0;
11189
11189
+
l = H() | 0;
11190
11190
+
if (!((l | 0) < (d2 | 0) | (l | 0) == (d2 | 0) & k >>> 0 < c2 >>> 0)) {
11191
11191
+
break a;
11192
11192
+
}
11193
11193
+
}
11194
11194
+
T = n;
11195
11195
+
return g2 | 0;
11196
11196
+
} else {
11197
11197
+
h = 0;
11198
11198
+
g2 = 0;
11199
11199
+
}
11200
11200
+
} while (0);
11201
11201
+
b[f2 >> 2] = h;
11202
11202
+
b[f2 + 4 >> 2] = g2;
11203
11203
+
f2 = 0;
11204
11204
+
T = n;
11205
11205
+
return f2 | 0;
11206
11206
+
}
11207
11207
+
function Ob(a3, b2) {
11208
11208
+
a3 = a3 | 0;
11209
11209
+
b2 = b2 | 0;
11210
11210
+
b2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11211
11211
+
H() | 0;
11212
11212
+
return b2 & 1 | 0;
11213
11213
+
}
11214
11214
+
function Pb(a3, b2) {
11215
11215
+
a3 = a3 | 0;
11216
11216
+
b2 = b2 | 0;
11217
11217
+
var c2 = 0, d2 = 0, e2 = 0;
11218
11218
+
e2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11219
11219
+
H() | 0;
11220
11220
+
e2 = e2 & 15;
11221
11221
+
if (!e2) {
11222
11222
+
e2 = 0;
11223
11223
+
return e2 | 0;
11224
11224
+
}
11225
11225
+
d2 = 1;
11226
11226
+
while (true) {
11227
11227
+
c2 = Qd(a3 | 0, b2 | 0, (15 - d2 | 0) * 3 | 0) | 0;
11228
11228
+
H() | 0;
11229
11229
+
c2 = c2 & 7;
11230
11230
+
if (c2 | 0) {
11231
11231
+
d2 = 5;
11232
11232
+
break;
11233
11233
+
}
11234
11234
+
if (d2 >>> 0 < e2 >>> 0) {
11235
11235
+
d2 = d2 + 1 | 0;
11236
11236
+
} else {
11237
11237
+
c2 = 0;
11238
11238
+
d2 = 5;
11239
11239
+
break;
11240
11240
+
}
11241
11241
+
}
11242
11242
+
if ((d2 | 0) == 5) {
11243
11243
+
return c2 | 0;
11244
11244
+
}
11245
11245
+
return 0;
11246
11246
+
}
11247
11247
+
function Qb(a3, b2) {
11248
11248
+
a3 = a3 | 0;
11249
11249
+
b2 = b2 | 0;
11250
11250
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
11251
11251
+
i = Qd(a3 | 0, b2 | 0, 52) | 0;
11252
11252
+
H() | 0;
11253
11253
+
i = i & 15;
11254
11254
+
if (!i) {
11255
11255
+
h = b2;
11256
11256
+
i = a3;
11257
11257
+
G(h | 0);
11258
11258
+
return i | 0;
11259
11259
+
}
11260
11260
+
h = 1;
11261
11261
+
c2 = 0;
11262
11262
+
while (true) {
11263
11263
+
f2 = (15 - h | 0) * 3 | 0;
11264
11264
+
d2 = Rd(7, 0, f2 | 0) | 0;
11265
11265
+
e2 = H() | 0;
11266
11266
+
g2 = Qd(a3 | 0, b2 | 0, f2 | 0) | 0;
11267
11267
+
H() | 0;
11268
11268
+
f2 = Rd($a(g2 & 7) | 0, 0, f2 | 0) | 0;
11269
11269
+
g2 = H() | 0;
11270
11270
+
a3 = f2 | a3 & ~d2;
11271
11271
+
b2 = g2 | b2 & ~e2;
11272
11272
+
a:
11273
11273
+
do {
11274
11274
+
if (!c2) {
11275
11275
+
if (!((f2 & d2 | 0) == 0 & (g2 & e2 | 0) == 0)) {
11276
11276
+
d2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11277
11277
+
H() | 0;
11278
11278
+
d2 = d2 & 15;
11279
11279
+
if (!d2) {
11280
11280
+
c2 = 1;
11281
11281
+
} else {
11282
11282
+
c2 = 1;
11283
11283
+
b:
11284
11284
+
while (true) {
11285
11285
+
g2 = Qd(a3 | 0, b2 | 0, (15 - c2 | 0) * 3 | 0) | 0;
11286
11286
+
H() | 0;
11287
11287
+
switch (g2 & 7) {
11288
11288
+
case 1:
11289
11289
+
break b;
11290
11290
+
case 0:
11291
11291
+
break;
11292
11292
+
default: {
11293
11293
+
c2 = 1;
11294
11294
+
break a;
11295
11295
+
}
11296
11296
+
}
11297
11297
+
if (c2 >>> 0 < d2 >>> 0) {
11298
11298
+
c2 = c2 + 1 | 0;
11299
11299
+
} else {
11300
11300
+
c2 = 1;
11301
11301
+
break a;
11302
11302
+
}
11303
11303
+
}
11304
11304
+
c2 = 1;
11305
11305
+
while (true) {
11306
11306
+
g2 = (15 - c2 | 0) * 3 | 0;
11307
11307
+
e2 = Qd(a3 | 0, b2 | 0, g2 | 0) | 0;
11308
11308
+
H() | 0;
11309
11309
+
f2 = Rd(7, 0, g2 | 0) | 0;
11310
11310
+
b2 = b2 & ~(H() | 0);
11311
11311
+
g2 = Rd($a(e2 & 7) | 0, 0, g2 | 0) | 0;
11312
11312
+
a3 = a3 & ~f2 | g2;
11313
11313
+
b2 = b2 | (H() | 0);
11314
11314
+
if (c2 >>> 0 < d2 >>> 0) {
11315
11315
+
c2 = c2 + 1 | 0;
11316
11316
+
} else {
11317
11317
+
c2 = 1;
11318
11318
+
break;
11319
11319
+
}
11320
11320
+
}
11321
11321
+
}
11322
11322
+
} else {
11323
11323
+
c2 = 0;
11324
11324
+
}
11325
11325
+
}
11326
11326
+
} while (0);
11327
11327
+
if (h >>> 0 < i >>> 0) {
11328
11328
+
h = h + 1 | 0;
11329
11329
+
} else {
11330
11330
+
break;
11331
11331
+
}
11332
11332
+
}
11333
11333
+
G(b2 | 0);
11334
11334
+
return a3 | 0;
11335
11335
+
}
11336
11336
+
function Rb(a3, b2) {
11337
11337
+
a3 = a3 | 0;
11338
11338
+
b2 = b2 | 0;
11339
11339
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0;
11340
11340
+
d2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11341
11341
+
H() | 0;
11342
11342
+
d2 = d2 & 15;
11343
11343
+
if (!d2) {
11344
11344
+
c2 = b2;
11345
11345
+
d2 = a3;
11346
11346
+
G(c2 | 0);
11347
11347
+
return d2 | 0;
11348
11348
+
}
11349
11349
+
c2 = 1;
11350
11350
+
while (true) {
11351
11351
+
f2 = (15 - c2 | 0) * 3 | 0;
11352
11352
+
g2 = Qd(a3 | 0, b2 | 0, f2 | 0) | 0;
11353
11353
+
H() | 0;
11354
11354
+
e2 = Rd(7, 0, f2 | 0) | 0;
11355
11355
+
b2 = b2 & ~(H() | 0);
11356
11356
+
f2 = Rd($a(g2 & 7) | 0, 0, f2 | 0) | 0;
11357
11357
+
a3 = f2 | a3 & ~e2;
11358
11358
+
b2 = H() | 0 | b2;
11359
11359
+
if (c2 >>> 0 < d2 >>> 0) {
11360
11360
+
c2 = c2 + 1 | 0;
11361
11361
+
} else {
11362
11362
+
break;
11363
11363
+
}
11364
11364
+
}
11365
11365
+
G(b2 | 0);
11366
11366
+
return a3 | 0;
11367
11367
+
}
11368
11368
+
function Sb(a3, b2) {
11369
11369
+
a3 = a3 | 0;
11370
11370
+
b2 = b2 | 0;
11371
11371
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0;
11372
11372
+
i = Qd(a3 | 0, b2 | 0, 52) | 0;
11373
11373
+
H() | 0;
11374
11374
+
i = i & 15;
11375
11375
+
if (!i) {
11376
11376
+
h = b2;
11377
11377
+
i = a3;
11378
11378
+
G(h | 0);
11379
11379
+
return i | 0;
11380
11380
+
}
11381
11381
+
h = 1;
11382
11382
+
c2 = 0;
11383
11383
+
while (true) {
11384
11384
+
f2 = (15 - h | 0) * 3 | 0;
11385
11385
+
d2 = Rd(7, 0, f2 | 0) | 0;
11386
11386
+
e2 = H() | 0;
11387
11387
+
g2 = Qd(a3 | 0, b2 | 0, f2 | 0) | 0;
11388
11388
+
H() | 0;
11389
11389
+
f2 = Rd(ab(g2 & 7) | 0, 0, f2 | 0) | 0;
11390
11390
+
g2 = H() | 0;
11391
11391
+
a3 = f2 | a3 & ~d2;
11392
11392
+
b2 = g2 | b2 & ~e2;
11393
11393
+
a:
11394
11394
+
do {
11395
11395
+
if (!c2) {
11396
11396
+
if (!((f2 & d2 | 0) == 0 & (g2 & e2 | 0) == 0)) {
11397
11397
+
d2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11398
11398
+
H() | 0;
11399
11399
+
d2 = d2 & 15;
11400
11400
+
if (!d2) {
11401
11401
+
c2 = 1;
11402
11402
+
} else {
11403
11403
+
c2 = 1;
11404
11404
+
b:
11405
11405
+
while (true) {
11406
11406
+
g2 = Qd(a3 | 0, b2 | 0, (15 - c2 | 0) * 3 | 0) | 0;
11407
11407
+
H() | 0;
11408
11408
+
switch (g2 & 7) {
11409
11409
+
case 1:
11410
11410
+
break b;
11411
11411
+
case 0:
11412
11412
+
break;
11413
11413
+
default: {
11414
11414
+
c2 = 1;
11415
11415
+
break a;
11416
11416
+
}
11417
11417
+
}
11418
11418
+
if (c2 >>> 0 < d2 >>> 0) {
11419
11419
+
c2 = c2 + 1 | 0;
11420
11420
+
} else {
11421
11421
+
c2 = 1;
11422
11422
+
break a;
11423
11423
+
}
11424
11424
+
}
11425
11425
+
c2 = 1;
11426
11426
+
while (true) {
11427
11427
+
e2 = (15 - c2 | 0) * 3 | 0;
11428
11428
+
f2 = Rd(7, 0, e2 | 0) | 0;
11429
11429
+
g2 = b2 & ~(H() | 0);
11430
11430
+
b2 = Qd(a3 | 0, b2 | 0, e2 | 0) | 0;
11431
11431
+
H() | 0;
11432
11432
+
b2 = Rd(ab(b2 & 7) | 0, 0, e2 | 0) | 0;
11433
11433
+
a3 = a3 & ~f2 | b2;
11434
11434
+
b2 = g2 | (H() | 0);
11435
11435
+
if (c2 >>> 0 < d2 >>> 0) {
11436
11436
+
c2 = c2 + 1 | 0;
11437
11437
+
} else {
11438
11438
+
c2 = 1;
11439
11439
+
break;
11440
11440
+
}
11441
11441
+
}
11442
11442
+
}
11443
11443
+
} else {
11444
11444
+
c2 = 0;
11445
11445
+
}
11446
11446
+
}
11447
11447
+
} while (0);
11448
11448
+
if (h >>> 0 < i >>> 0) {
11449
11449
+
h = h + 1 | 0;
11450
11450
+
} else {
11451
11451
+
break;
11452
11452
+
}
11453
11453
+
}
11454
11454
+
G(b2 | 0);
11455
11455
+
return a3 | 0;
11456
11456
+
}
11457
11457
+
function Tb(a3, b2) {
11458
11458
+
a3 = a3 | 0;
11459
11459
+
b2 = b2 | 0;
11460
11460
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0;
11461
11461
+
d2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11462
11462
+
H() | 0;
11463
11463
+
d2 = d2 & 15;
11464
11464
+
if (!d2) {
11465
11465
+
c2 = b2;
11466
11466
+
d2 = a3;
11467
11467
+
G(c2 | 0);
11468
11468
+
return d2 | 0;
11469
11469
+
}
11470
11470
+
c2 = 1;
11471
11471
+
while (true) {
11472
11472
+
g2 = (15 - c2 | 0) * 3 | 0;
11473
11473
+
f2 = Rd(7, 0, g2 | 0) | 0;
11474
11474
+
e2 = b2 & ~(H() | 0);
11475
11475
+
b2 = Qd(a3 | 0, b2 | 0, g2 | 0) | 0;
11476
11476
+
H() | 0;
11477
11477
+
b2 = Rd(ab(b2 & 7) | 0, 0, g2 | 0) | 0;
11478
11478
+
a3 = b2 | a3 & ~f2;
11479
11479
+
b2 = H() | 0 | e2;
11480
11480
+
if (c2 >>> 0 < d2 >>> 0) {
11481
11481
+
c2 = c2 + 1 | 0;
11482
11482
+
} else {
11483
11483
+
break;
11484
11484
+
}
11485
11485
+
}
11486
11486
+
G(b2 | 0);
11487
11487
+
return a3 | 0;
11488
11488
+
}
11489
11489
+
function Ub(a3, c2) {
11490
11490
+
a3 = a3 | 0;
11491
11491
+
c2 = c2 | 0;
11492
11492
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
11493
11493
+
j = T;
11494
11494
+
T = T + 64 | 0;
11495
11495
+
i = j + 40 | 0;
11496
11496
+
e2 = j + 24 | 0;
11497
11497
+
f2 = j + 12 | 0;
11498
11498
+
g2 = j;
11499
11499
+
Rd(c2 | 0, 0, 52) | 0;
11500
11500
+
d2 = H() | 0 | 134225919;
11501
11501
+
if (!c2) {
11502
11502
+
if ((b[a3 + 4 >> 2] | 0) > 2) {
11503
11503
+
h = 0;
11504
11504
+
i = 0;
11505
11505
+
G(h | 0);
11506
11506
+
T = j;
11507
11507
+
return i | 0;
11508
11508
+
}
11509
11509
+
if ((b[a3 + 8 >> 2] | 0) > 2) {
11510
11510
+
h = 0;
11511
11511
+
i = 0;
11512
11512
+
G(h | 0);
11513
11513
+
T = j;
11514
11514
+
return i | 0;
11515
11515
+
}
11516
11516
+
if ((b[a3 + 12 >> 2] | 0) > 2) {
11517
11517
+
h = 0;
11518
11518
+
i = 0;
11519
11519
+
G(h | 0);
11520
11520
+
T = j;
11521
11521
+
return i | 0;
11522
11522
+
}
11523
11523
+
Rd(qa(a3) | 0, 0, 45) | 0;
11524
11524
+
h = H() | 0 | d2;
11525
11525
+
i = -1;
11526
11526
+
G(h | 0);
11527
11527
+
T = j;
11528
11528
+
return i | 0;
11529
11529
+
}
11530
11530
+
b[i >> 2] = b[a3 >> 2];
11531
11531
+
b[i + 4 >> 2] = b[a3 + 4 >> 2];
11532
11532
+
b[i + 8 >> 2] = b[a3 + 8 >> 2];
11533
11533
+
b[i + 12 >> 2] = b[a3 + 12 >> 2];
11534
11534
+
h = i + 4 | 0;
11535
11535
+
if ((c2 | 0) > 0) {
11536
11536
+
a3 = -1;
11537
11537
+
while (true) {
11538
11538
+
b[e2 >> 2] = b[h >> 2];
11539
11539
+
b[e2 + 4 >> 2] = b[h + 4 >> 2];
11540
11540
+
b[e2 + 8 >> 2] = b[h + 8 >> 2];
11541
11541
+
if (!(c2 & 1)) {
11542
11542
+
Va(h);
11543
11543
+
b[f2 >> 2] = b[h >> 2];
11544
11544
+
b[f2 + 4 >> 2] = b[h + 4 >> 2];
11545
11545
+
b[f2 + 8 >> 2] = b[h + 8 >> 2];
11546
11546
+
Xa(f2);
11547
11547
+
} else {
11548
11548
+
Ua(h);
11549
11549
+
b[f2 >> 2] = b[h >> 2];
11550
11550
+
b[f2 + 4 >> 2] = b[h + 4 >> 2];
11551
11551
+
b[f2 + 8 >> 2] = b[h + 8 >> 2];
11552
11552
+
Wa(f2);
11553
11553
+
}
11554
11554
+
Pa(e2, f2, g2);
11555
11555
+
Ma(g2);
11556
11556
+
l = (15 - c2 | 0) * 3 | 0;
11557
11557
+
k = Rd(7, 0, l | 0) | 0;
11558
11558
+
d2 = d2 & ~(H() | 0);
11559
11559
+
l = Rd(Ra(g2) | 0, 0, l | 0) | 0;
11560
11560
+
a3 = l | a3 & ~k;
11561
11561
+
d2 = H() | 0 | d2;
11562
11562
+
if ((c2 | 0) > 1) {
11563
11563
+
c2 = c2 + -1 | 0;
11564
11564
+
} else {
11565
11565
+
break;
11566
11566
+
}
11567
11567
+
}
11568
11568
+
} else {
11569
11569
+
a3 = -1;
11570
11570
+
}
11571
11571
+
a:
11572
11572
+
do {
11573
11573
+
if (((b[h >> 2] | 0) <= 2 ? (b[i + 8 >> 2] | 0) <= 2 : 0) ? (b[i + 12 >> 2] | 0) <= 2 : 0) {
11574
11574
+
e2 = qa(i) | 0;
11575
11575
+
c2 = Rd(e2 | 0, 0, 45) | 0;
11576
11576
+
c2 = c2 | a3;
11577
11577
+
a3 = H() | 0 | d2 & -1040385;
11578
11578
+
g2 = ra(i) | 0;
11579
11579
+
if (!(oa(e2) | 0)) {
11580
11580
+
if ((g2 | 0) <= 0) {
11581
11581
+
break;
11582
11582
+
}
11583
11583
+
f2 = 0;
11584
11584
+
while (true) {
11585
11585
+
e2 = Qd(c2 | 0, a3 | 0, 52) | 0;
11586
11586
+
H() | 0;
11587
11587
+
e2 = e2 & 15;
11588
11588
+
if (e2) {
11589
11589
+
d2 = 1;
11590
11590
+
while (true) {
11591
11591
+
l = (15 - d2 | 0) * 3 | 0;
11592
11592
+
i = Qd(c2 | 0, a3 | 0, l | 0) | 0;
11593
11593
+
H() | 0;
11594
11594
+
k = Rd(7, 0, l | 0) | 0;
11595
11595
+
a3 = a3 & ~(H() | 0);
11596
11596
+
l = Rd($a(i & 7) | 0, 0, l | 0) | 0;
11597
11597
+
c2 = c2 & ~k | l;
11598
11598
+
a3 = a3 | (H() | 0);
11599
11599
+
if (d2 >>> 0 < e2 >>> 0) {
11600
11600
+
d2 = d2 + 1 | 0;
11601
11601
+
} else {
11602
11602
+
break;
11603
11603
+
}
11604
11604
+
}
11605
11605
+
}
11606
11606
+
f2 = f2 + 1 | 0;
11607
11607
+
if ((f2 | 0) == (g2 | 0)) {
11608
11608
+
break a;
11609
11609
+
}
11610
11610
+
}
11611
11611
+
}
11612
11612
+
f2 = Qd(c2 | 0, a3 | 0, 52) | 0;
11613
11613
+
H() | 0;
11614
11614
+
f2 = f2 & 15;
11615
11615
+
b:
11616
11616
+
do {
11617
11617
+
if (f2) {
11618
11618
+
d2 = 1;
11619
11619
+
c:
11620
11620
+
while (true) {
11621
11621
+
l = Qd(c2 | 0, a3 | 0, (15 - d2 | 0) * 3 | 0) | 0;
11622
11622
+
H() | 0;
11623
11623
+
switch (l & 7) {
11624
11624
+
case 1:
11625
11625
+
break c;
11626
11626
+
case 0:
11627
11627
+
break;
11628
11628
+
default:
11629
11629
+
break b;
11630
11630
+
}
11631
11631
+
if (d2 >>> 0 < f2 >>> 0) {
11632
11632
+
d2 = d2 + 1 | 0;
11633
11633
+
} else {
11634
11634
+
break b;
11635
11635
+
}
11636
11636
+
}
11637
11637
+
if (ua(e2, b[i >> 2] | 0) | 0) {
11638
11638
+
d2 = 1;
11639
11639
+
while (true) {
11640
11640
+
i = (15 - d2 | 0) * 3 | 0;
11641
11641
+
k = Rd(7, 0, i | 0) | 0;
11642
11642
+
l = a3 & ~(H() | 0);
11643
11643
+
a3 = Qd(c2 | 0, a3 | 0, i | 0) | 0;
11644
11644
+
H() | 0;
11645
11645
+
a3 = Rd(ab(a3 & 7) | 0, 0, i | 0) | 0;
11646
11646
+
c2 = c2 & ~k | a3;
11647
11647
+
a3 = l | (H() | 0);
11648
11648
+
if (d2 >>> 0 < f2 >>> 0) {
11649
11649
+
d2 = d2 + 1 | 0;
11650
11650
+
} else {
11651
11651
+
break;
11652
11652
+
}
11653
11653
+
}
11654
11654
+
} else {
11655
11655
+
d2 = 1;
11656
11656
+
while (true) {
11657
11657
+
l = (15 - d2 | 0) * 3 | 0;
11658
11658
+
i = Qd(c2 | 0, a3 | 0, l | 0) | 0;
11659
11659
+
H() | 0;
11660
11660
+
k = Rd(7, 0, l | 0) | 0;
11661
11661
+
a3 = a3 & ~(H() | 0);
11662
11662
+
l = Rd($a(i & 7) | 0, 0, l | 0) | 0;
11663
11663
+
c2 = c2 & ~k | l;
11664
11664
+
a3 = a3 | (H() | 0);
11665
11665
+
if (d2 >>> 0 < f2 >>> 0) {
11666
11666
+
d2 = d2 + 1 | 0;
11667
11667
+
} else {
11668
11668
+
break;
11669
11669
+
}
11670
11670
+
}
11671
11671
+
}
11672
11672
+
}
11673
11673
+
} while (0);
11674
11674
+
if ((g2 | 0) > 0) {
11675
11675
+
d2 = 0;
11676
11676
+
do {
11677
11677
+
c2 = Qb(c2, a3) | 0;
11678
11678
+
a3 = H() | 0;
11679
11679
+
d2 = d2 + 1 | 0;
11680
11680
+
} while ((d2 | 0) != (g2 | 0));
11681
11681
+
}
11682
11682
+
} else {
11683
11683
+
c2 = 0;
11684
11684
+
a3 = 0;
11685
11685
+
}
11686
11686
+
} while (0);
11687
11687
+
k = a3;
11688
11688
+
l = c2;
11689
11689
+
G(k | 0);
11690
11690
+
T = j;
11691
11691
+
return l | 0;
11692
11692
+
}
11693
11693
+
function Vb(a3) {
11694
11694
+
a3 = a3 | 0;
11695
11695
+
return (a3 | 0) % 2 | 0 | 0;
11696
11696
+
}
11697
11697
+
function Wb(a3, c2, d2) {
11698
11698
+
a3 = a3 | 0;
11699
11699
+
c2 = c2 | 0;
11700
11700
+
d2 = d2 | 0;
11701
11701
+
var e2 = 0, f2 = 0;
11702
11702
+
f2 = T;
11703
11703
+
T = T + 16 | 0;
11704
11704
+
e2 = f2;
11705
11705
+
if (c2 >>> 0 > 15) {
11706
11706
+
e2 = 4;
11707
11707
+
T = f2;
11708
11708
+
return e2 | 0;
11709
11709
+
}
11710
11710
+
if ((b[a3 + 4 >> 2] & 2146435072 | 0) == 2146435072) {
11711
11711
+
e2 = 3;
11712
11712
+
T = f2;
11713
11713
+
return e2 | 0;
11714
11714
+
}
11715
11715
+
if ((b[a3 + 8 + 4 >> 2] & 2146435072 | 0) == 2146435072) {
11716
11716
+
e2 = 3;
11717
11717
+
T = f2;
11718
11718
+
return e2 | 0;
11719
11719
+
}
11720
11720
+
qb(a3, c2, e2);
11721
11721
+
c2 = Ub(e2, c2) | 0;
11722
11722
+
e2 = H() | 0;
11723
11723
+
b[d2 >> 2] = c2;
11724
11724
+
b[d2 + 4 >> 2] = e2;
11725
11725
+
if ((c2 | 0) == 0 & (e2 | 0) == 0) {
11726
11726
+
I(27795, 27122, 959, 27145);
11727
11727
+
}
11728
11728
+
e2 = 0;
11729
11729
+
T = f2;
11730
11730
+
return e2 | 0;
11731
11731
+
}
11732
11732
+
function Xb(a3, c2, d2) {
11733
11733
+
a3 = a3 | 0;
11734
11734
+
c2 = c2 | 0;
11735
11735
+
d2 = d2 | 0;
11736
11736
+
var e2 = 0, f2 = 0, g2 = 0, h = 0;
11737
11737
+
f2 = d2 + 4 | 0;
11738
11738
+
g2 = Qd(a3 | 0, c2 | 0, 52) | 0;
11739
11739
+
H() | 0;
11740
11740
+
g2 = g2 & 15;
11741
11741
+
h = Qd(a3 | 0, c2 | 0, 45) | 0;
11742
11742
+
H() | 0;
11743
11743
+
e2 = (g2 | 0) == 0;
11744
11744
+
if (!(oa(h & 127) | 0)) {
11745
11745
+
if (e2) {
11746
11746
+
h = 0;
11747
11747
+
return h | 0;
11748
11748
+
}
11749
11749
+
if ((b[f2 >> 2] | 0) == 0 ? (b[d2 + 8 >> 2] | 0) == 0 : 0) {
11750
11750
+
e2 = (b[d2 + 12 >> 2] | 0) != 0 & 1;
11751
11751
+
} else {
11752
11752
+
e2 = 1;
11753
11753
+
}
11754
11754
+
} else if (e2) {
11755
11755
+
h = 1;
11756
11756
+
return h | 0;
11757
11757
+
} else {
11758
11758
+
e2 = 1;
11759
11759
+
}
11760
11760
+
d2 = 1;
11761
11761
+
while (true) {
11762
11762
+
if (!(d2 & 1)) {
11763
11763
+
Xa(f2);
11764
11764
+
} else {
11765
11765
+
Wa(f2);
11766
11766
+
}
11767
11767
+
h = Qd(a3 | 0, c2 | 0, (15 - d2 | 0) * 3 | 0) | 0;
11768
11768
+
H() | 0;
11769
11769
+
Ya(f2, h & 7);
11770
11770
+
if (d2 >>> 0 < g2 >>> 0) {
11771
11771
+
d2 = d2 + 1 | 0;
11772
11772
+
} else {
11773
11773
+
break;
11774
11774
+
}
11775
11775
+
}
11776
11776
+
return e2 | 0;
11777
11777
+
}
11778
11778
+
function Yb(a3, c2, d2) {
11779
11779
+
a3 = a3 | 0;
11780
11780
+
c2 = c2 | 0;
11781
11781
+
d2 = d2 | 0;
11782
11782
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
11783
11783
+
l = T;
11784
11784
+
T = T + 16 | 0;
11785
11785
+
j = l;
11786
11786
+
k = Qd(a3 | 0, c2 | 0, 45) | 0;
11787
11787
+
H() | 0;
11788
11788
+
k = k & 127;
11789
11789
+
if (k >>> 0 > 121) {
11790
11790
+
b[d2 >> 2] = 0;
11791
11791
+
b[d2 + 4 >> 2] = 0;
11792
11792
+
b[d2 + 8 >> 2] = 0;
11793
11793
+
b[d2 + 12 >> 2] = 0;
11794
11794
+
k = 5;
11795
11795
+
T = l;
11796
11796
+
return k | 0;
11797
11797
+
}
11798
11798
+
a:
11799
11799
+
do {
11800
11800
+
if ((oa(k) | 0) != 0 ? (g2 = Qd(a3 | 0, c2 | 0, 52) | 0, H() | 0, g2 = g2 & 15, (g2 | 0) != 0) : 0) {
11801
11801
+
e2 = 1;
11802
11802
+
b:
11803
11803
+
while (true) {
11804
11804
+
i = Qd(a3 | 0, c2 | 0, (15 - e2 | 0) * 3 | 0) | 0;
11805
11805
+
H() | 0;
11806
11806
+
switch (i & 7) {
11807
11807
+
case 5:
11808
11808
+
break b;
11809
11809
+
case 0:
11810
11810
+
break;
11811
11811
+
default: {
11812
11812
+
e2 = c2;
11813
11813
+
break a;
11814
11814
+
}
11815
11815
+
}
11816
11816
+
if (e2 >>> 0 < g2 >>> 0) {
11817
11817
+
e2 = e2 + 1 | 0;
11818
11818
+
} else {
11819
11819
+
e2 = c2;
11820
11820
+
break a;
11821
11821
+
}
11822
11822
+
}
11823
11823
+
f2 = 1;
11824
11824
+
e2 = c2;
11825
11825
+
while (true) {
11826
11826
+
c2 = (15 - f2 | 0) * 3 | 0;
11827
11827
+
h = Rd(7, 0, c2 | 0) | 0;
11828
11828
+
i = e2 & ~(H() | 0);
11829
11829
+
e2 = Qd(a3 | 0, e2 | 0, c2 | 0) | 0;
11830
11830
+
H() | 0;
11831
11831
+
e2 = Rd(ab(e2 & 7) | 0, 0, c2 | 0) | 0;
11832
11832
+
a3 = a3 & ~h | e2;
11833
11833
+
e2 = i | (H() | 0);
11834
11834
+
if (f2 >>> 0 < g2 >>> 0) {
11835
11835
+
f2 = f2 + 1 | 0;
11836
11836
+
} else {
11837
11837
+
break;
11838
11838
+
}
11839
11839
+
}
11840
11840
+
} else {
11841
11841
+
e2 = c2;
11842
11842
+
}
11843
11843
+
} while (0);
11844
11844
+
i = 7696 + (k * 28 | 0) | 0;
11845
11845
+
b[d2 >> 2] = b[i >> 2];
11846
11846
+
b[d2 + 4 >> 2] = b[i + 4 >> 2];
11847
11847
+
b[d2 + 8 >> 2] = b[i + 8 >> 2];
11848
11848
+
b[d2 + 12 >> 2] = b[i + 12 >> 2];
11849
11849
+
if (!(Xb(a3, e2, d2) | 0)) {
11850
11850
+
k = 0;
11851
11851
+
T = l;
11852
11852
+
return k | 0;
11853
11853
+
}
11854
11854
+
h = d2 + 4 | 0;
11855
11855
+
b[j >> 2] = b[h >> 2];
11856
11856
+
b[j + 4 >> 2] = b[h + 4 >> 2];
11857
11857
+
b[j + 8 >> 2] = b[h + 8 >> 2];
11858
11858
+
g2 = Qd(a3 | 0, e2 | 0, 52) | 0;
11859
11859
+
H() | 0;
11860
11860
+
i = g2 & 15;
11861
11861
+
if (!(g2 & 1)) {
11862
11862
+
g2 = i;
11863
11863
+
} else {
11864
11864
+
Xa(h);
11865
11865
+
g2 = i + 1 | 0;
11866
11866
+
}
11867
11867
+
if (!(oa(k) | 0)) {
11868
11868
+
e2 = 0;
11869
11869
+
} else {
11870
11870
+
c:
11871
11871
+
do {
11872
11872
+
if (!i) {
11873
11873
+
e2 = 0;
11874
11874
+
} else {
11875
11875
+
c2 = 1;
11876
11876
+
while (true) {
11877
11877
+
f2 = Qd(a3 | 0, e2 | 0, (15 - c2 | 0) * 3 | 0) | 0;
11878
11878
+
H() | 0;
11879
11879
+
f2 = f2 & 7;
11880
11880
+
if (f2 | 0) {
11881
11881
+
e2 = f2;
11882
11882
+
break c;
11883
11883
+
}
11884
11884
+
if (c2 >>> 0 < i >>> 0) {
11885
11885
+
c2 = c2 + 1 | 0;
11886
11886
+
} else {
11887
11887
+
e2 = 0;
11888
11888
+
break;
11889
11889
+
}
11890
11890
+
}
11891
11891
+
}
11892
11892
+
} while (0);
11893
11893
+
e2 = (e2 | 0) == 4 & 1;
11894
11894
+
}
11895
11895
+
if (!(xb(d2, g2, e2, 0) | 0)) {
11896
11896
+
if ((g2 | 0) != (i | 0)) {
11897
11897
+
b[h >> 2] = b[j >> 2];
11898
11898
+
b[h + 4 >> 2] = b[j + 4 >> 2];
11899
11899
+
b[h + 8 >> 2] = b[j + 8 >> 2];
11900
11900
+
}
11901
11901
+
} else {
11902
11902
+
if (oa(k) | 0) {
11903
11903
+
do {} while ((xb(d2, g2, 0, 0) | 0) != 0);
11904
11904
+
}
11905
11905
+
if ((g2 | 0) != (i | 0)) {
11906
11906
+
Va(h);
11907
11907
+
}
11908
11908
+
}
11909
11909
+
k = 0;
11910
11910
+
T = l;
11911
11911
+
return k | 0;
11912
11912
+
}
11913
11913
+
function Zb(a3, b2, c2) {
11914
11914
+
a3 = a3 | 0;
11915
11915
+
b2 = b2 | 0;
11916
11916
+
c2 = c2 | 0;
11917
11917
+
var d2 = 0, e2 = 0, f2 = 0;
11918
11918
+
f2 = T;
11919
11919
+
T = T + 16 | 0;
11920
11920
+
d2 = f2;
11921
11921
+
e2 = Yb(a3, b2, d2) | 0;
11922
11922
+
if (e2 | 0) {
11923
11923
+
T = f2;
11924
11924
+
return e2 | 0;
11925
11925
+
}
11926
11926
+
e2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11927
11927
+
H() | 0;
11928
11928
+
ub(d2, e2 & 15, c2);
11929
11929
+
e2 = 0;
11930
11930
+
T = f2;
11931
11931
+
return e2 | 0;
11932
11932
+
}
11933
11933
+
function _b(a3, b2, c2) {
11934
11934
+
a3 = a3 | 0;
11935
11935
+
b2 = b2 | 0;
11936
11936
+
c2 = c2 | 0;
11937
11937
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0;
11938
11938
+
g2 = T;
11939
11939
+
T = T + 16 | 0;
11940
11940
+
f2 = g2;
11941
11941
+
d2 = Yb(a3, b2, f2) | 0;
11942
11942
+
if (d2 | 0) {
11943
11943
+
f2 = d2;
11944
11944
+
T = g2;
11945
11945
+
return f2 | 0;
11946
11946
+
}
11947
11947
+
d2 = Qd(a3 | 0, b2 | 0, 45) | 0;
11948
11948
+
H() | 0;
11949
11949
+
d2 = (oa(d2 & 127) | 0) == 0;
11950
11950
+
e2 = Qd(a3 | 0, b2 | 0, 52) | 0;
11951
11951
+
H() | 0;
11952
11952
+
e2 = e2 & 15;
11953
11953
+
a:
11954
11954
+
do {
11955
11955
+
if (!d2) {
11956
11956
+
if (e2 | 0) {
11957
11957
+
d2 = 1;
11958
11958
+
while (true) {
11959
11959
+
h = Rd(7, 0, (15 - d2 | 0) * 3 | 0) | 0;
11960
11960
+
if (!((h & a3 | 0) == 0 & ((H() | 0) & b2 | 0) == 0)) {
11961
11961
+
break a;
11962
11962
+
}
11963
11963
+
if (d2 >>> 0 < e2 >>> 0) {
11964
11964
+
d2 = d2 + 1 | 0;
11965
11965
+
} else {
11966
11966
+
break;
11967
11967
+
}
11968
11968
+
}
11969
11969
+
}
11970
11970
+
vb(f2, e2, 0, 5, c2);
11971
11971
+
h = 0;
11972
11972
+
T = g2;
11973
11973
+
return h | 0;
11974
11974
+
}
11975
11975
+
} while (0);
11976
11976
+
zb(f2, e2, 0, 6, c2);
11977
11977
+
h = 0;
11978
11978
+
T = g2;
11979
11979
+
return h | 0;
11980
11980
+
}
11981
11981
+
function $b(a3, c2, d2) {
11982
11982
+
a3 = a3 | 0;
11983
11983
+
c2 = c2 | 0;
11984
11984
+
d2 = d2 | 0;
11985
11985
+
var e2 = 0, f2 = 0, g2 = 0;
11986
11986
+
f2 = Qd(a3 | 0, c2 | 0, 45) | 0;
11987
11987
+
H() | 0;
11988
11988
+
if (!(oa(f2 & 127) | 0)) {
11989
11989
+
f2 = 2;
11990
11990
+
b[d2 >> 2] = f2;
11991
11991
+
return 0;
11992
11992
+
}
11993
11993
+
f2 = Qd(a3 | 0, c2 | 0, 52) | 0;
11994
11994
+
H() | 0;
11995
11995
+
f2 = f2 & 15;
11996
11996
+
if (!f2) {
11997
11997
+
f2 = 5;
11998
11998
+
b[d2 >> 2] = f2;
11999
11999
+
return 0;
12000
12000
+
}
12001
12001
+
e2 = 1;
12002
12002
+
while (true) {
12003
12003
+
g2 = Rd(7, 0, (15 - e2 | 0) * 3 | 0) | 0;
12004
12004
+
if (!((g2 & a3 | 0) == 0 & ((H() | 0) & c2 | 0) == 0)) {
12005
12005
+
e2 = 2;
12006
12006
+
a3 = 6;
12007
12007
+
break;
12008
12008
+
}
12009
12009
+
if (e2 >>> 0 < f2 >>> 0) {
12010
12010
+
e2 = e2 + 1 | 0;
12011
12011
+
} else {
12012
12012
+
e2 = 5;
12013
12013
+
a3 = 6;
12014
12014
+
break;
12015
12015
+
}
12016
12016
+
}
12017
12017
+
if ((a3 | 0) == 6) {
12018
12018
+
b[d2 >> 2] = e2;
12019
12019
+
return 0;
12020
12020
+
}
12021
12021
+
return 0;
12022
12022
+
}
12023
12023
+
function ac(a3, c2, d2) {
12024
12024
+
a3 = a3 | 0;
12025
12025
+
c2 = c2 | 0;
12026
12026
+
d2 = d2 | 0;
12027
12027
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
12028
12028
+
m = T;
12029
12029
+
T = T + 128 | 0;
12030
12030
+
k = m + 112 | 0;
12031
12031
+
g2 = m + 96 | 0;
12032
12032
+
l = m;
12033
12033
+
f2 = Qd(a3 | 0, c2 | 0, 52) | 0;
12034
12034
+
H() | 0;
12035
12035
+
i = f2 & 15;
12036
12036
+
b[k >> 2] = i;
12037
12037
+
h = Qd(a3 | 0, c2 | 0, 45) | 0;
12038
12038
+
H() | 0;
12039
12039
+
h = h & 127;
12040
12040
+
a:
12041
12041
+
do {
12042
12042
+
if (oa(h) | 0) {
12043
12043
+
if (i | 0) {
12044
12044
+
e2 = 1;
12045
12045
+
while (true) {
12046
12046
+
j = Rd(7, 0, (15 - e2 | 0) * 3 | 0) | 0;
12047
12047
+
if (!((j & a3 | 0) == 0 & ((H() | 0) & c2 | 0) == 0)) {
12048
12048
+
f2 = 0;
12049
12049
+
break a;
12050
12050
+
}
12051
12051
+
if (e2 >>> 0 < i >>> 0) {
12052
12052
+
e2 = e2 + 1 | 0;
12053
12053
+
} else {
12054
12054
+
break;
12055
12055
+
}
12056
12056
+
}
12057
12057
+
}
12058
12058
+
if (!(f2 & 1)) {
12059
12059
+
j = Rd(i + 1 | 0, 0, 52) | 0;
12060
12060
+
l = H() | 0 | c2 & -15728641;
12061
12061
+
k = Rd(7, 0, (14 - i | 0) * 3 | 0) | 0;
12062
12062
+
l = ac((j | a3) & ~k, l & ~(H() | 0), d2) | 0;
12063
12063
+
T = m;
12064
12064
+
return l | 0;
12065
12065
+
} else {
12066
12066
+
f2 = 1;
12067
12067
+
}
12068
12068
+
} else {
12069
12069
+
f2 = 0;
12070
12070
+
}
12071
12071
+
} while (0);
12072
12072
+
e2 = Yb(a3, c2, g2) | 0;
12073
12073
+
if (!e2) {
12074
12074
+
if (f2) {
12075
12075
+
wb(g2, k, l);
12076
12076
+
j = 5;
12077
12077
+
} else {
12078
12078
+
Ab(g2, k, l);
12079
12079
+
j = 6;
12080
12080
+
}
12081
12081
+
b:
12082
12082
+
do {
12083
12083
+
if (oa(h) | 0) {
12084
12084
+
if (!i) {
12085
12085
+
a3 = 5;
12086
12086
+
} else {
12087
12087
+
e2 = 1;
12088
12088
+
while (true) {
12089
12089
+
h = Rd(7, 0, (15 - e2 | 0) * 3 | 0) | 0;
12090
12090
+
if (!((h & a3 | 0) == 0 & ((H() | 0) & c2 | 0) == 0)) {
12091
12091
+
a3 = 2;
12092
12092
+
break b;
12093
12093
+
}
12094
12094
+
if (e2 >>> 0 < i >>> 0) {
12095
12095
+
e2 = e2 + 1 | 0;
12096
12096
+
} else {
12097
12097
+
a3 = 5;
12098
12098
+
break;
12099
12099
+
}
12100
12100
+
}
12101
12101
+
}
12102
12102
+
} else {
12103
12103
+
a3 = 2;
12104
12104
+
}
12105
12105
+
} while (0);
12106
12106
+
Xd(d2 | 0, -1, a3 << 2 | 0) | 0;
12107
12107
+
c:
12108
12108
+
do {
12109
12109
+
if (f2) {
12110
12110
+
g2 = 0;
12111
12111
+
while (true) {
12112
12112
+
h = l + (g2 << 4) | 0;
12113
12113
+
yb(h, b[k >> 2] | 0) | 0;
12114
12114
+
h = b[h >> 2] | 0;
12115
12115
+
i = b[d2 >> 2] | 0;
12116
12116
+
if ((i | 0) == -1 | (i | 0) == (h | 0)) {
12117
12117
+
e2 = d2;
12118
12118
+
} else {
12119
12119
+
f2 = 0;
12120
12120
+
do {
12121
12121
+
f2 = f2 + 1 | 0;
12122
12122
+
if (f2 >>> 0 >= a3 >>> 0) {
12123
12123
+
e2 = 1;
12124
12124
+
break c;
12125
12125
+
}
12126
12126
+
e2 = d2 + (f2 << 2) | 0;
12127
12127
+
i = b[e2 >> 2] | 0;
12128
12128
+
} while (!((i | 0) == -1 | (i | 0) == (h | 0)));
12129
12129
+
}
12130
12130
+
b[e2 >> 2] = h;
12131
12131
+
g2 = g2 + 1 | 0;
12132
12132
+
if (g2 >>> 0 >= j >>> 0) {
12133
12133
+
e2 = 0;
12134
12134
+
break;
12135
12135
+
}
12136
12136
+
}
12137
12137
+
} else {
12138
12138
+
g2 = 0;
12139
12139
+
while (true) {
12140
12140
+
h = l + (g2 << 4) | 0;
12141
12141
+
xb(h, b[k >> 2] | 0, 0, 1) | 0;
12142
12142
+
h = b[h >> 2] | 0;
12143
12143
+
i = b[d2 >> 2] | 0;
12144
12144
+
if ((i | 0) == -1 | (i | 0) == (h | 0)) {
12145
12145
+
e2 = d2;
12146
12146
+
} else {
12147
12147
+
f2 = 0;
12148
12148
+
do {
12149
12149
+
f2 = f2 + 1 | 0;
12150
12150
+
if (f2 >>> 0 >= a3 >>> 0) {
12151
12151
+
e2 = 1;
12152
12152
+
break c;
12153
12153
+
}
12154
12154
+
e2 = d2 + (f2 << 2) | 0;
12155
12155
+
i = b[e2 >> 2] | 0;
12156
12156
+
} while (!((i | 0) == -1 | (i | 0) == (h | 0)));
12157
12157
+
}
12158
12158
+
b[e2 >> 2] = h;
12159
12159
+
g2 = g2 + 1 | 0;
12160
12160
+
if (g2 >>> 0 >= j >>> 0) {
12161
12161
+
e2 = 0;
12162
12162
+
break;
12163
12163
+
}
12164
12164
+
}
12165
12165
+
}
12166
12166
+
} while (0);
12167
12167
+
}
12168
12168
+
l = e2;
12169
12169
+
T = m;
12170
12170
+
return l | 0;
12171
12171
+
}
12172
12172
+
function bc() {
12173
12173
+
return 12;
12174
12174
+
}
12175
12175
+
function cc(a3, c2) {
12176
12176
+
a3 = a3 | 0;
12177
12177
+
c2 = c2 | 0;
12178
12178
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
12179
12179
+
if (a3 >>> 0 > 15) {
12180
12180
+
i = 4;
12181
12181
+
return i | 0;
12182
12182
+
}
12183
12183
+
Rd(a3 | 0, 0, 52) | 0;
12184
12184
+
i = H() | 0 | 134225919;
12185
12185
+
if (!a3) {
12186
12186
+
d2 = 0;
12187
12187
+
e2 = 0;
12188
12188
+
do {
12189
12189
+
if (oa(e2) | 0) {
12190
12190
+
Rd(e2 | 0, 0, 45) | 0;
12191
12191
+
h = i | (H() | 0);
12192
12192
+
a3 = c2 + (d2 << 3) | 0;
12193
12193
+
b[a3 >> 2] = -1;
12194
12194
+
b[a3 + 4 >> 2] = h;
12195
12195
+
d2 = d2 + 1 | 0;
12196
12196
+
}
12197
12197
+
e2 = e2 + 1 | 0;
12198
12198
+
} while ((e2 | 0) != 122);
12199
12199
+
d2 = 0;
12200
12200
+
return d2 | 0;
12201
12201
+
}
12202
12202
+
d2 = 0;
12203
12203
+
h = 0;
12204
12204
+
do {
12205
12205
+
if (oa(h) | 0) {
12206
12206
+
Rd(h | 0, 0, 45) | 0;
12207
12207
+
e2 = 1;
12208
12208
+
f2 = -1;
12209
12209
+
g2 = i | (H() | 0);
12210
12210
+
while (true) {
12211
12211
+
j = Rd(7, 0, (15 - e2 | 0) * 3 | 0) | 0;
12212
12212
+
f2 = f2 & ~j;
12213
12213
+
g2 = g2 & ~(H() | 0);
12214
12214
+
if ((e2 | 0) == (a3 | 0)) {
12215
12215
+
break;
12216
12216
+
} else {
12217
12217
+
e2 = e2 + 1 | 0;
12218
12218
+
}
12219
12219
+
}
12220
12220
+
j = c2 + (d2 << 3) | 0;
12221
12221
+
b[j >> 2] = f2;
12222
12222
+
b[j + 4 >> 2] = g2;
12223
12223
+
d2 = d2 + 1 | 0;
12224
12224
+
}
12225
12225
+
h = h + 1 | 0;
12226
12226
+
} while ((h | 0) != 122);
12227
12227
+
d2 = 0;
12228
12228
+
return d2 | 0;
12229
12229
+
}
12230
12230
+
function dc(a3, c2, d2, e2) {
12231
12231
+
a3 = a3 | 0;
12232
12232
+
c2 = c2 | 0;
12233
12233
+
d2 = d2 | 0;
12234
12234
+
e2 = e2 | 0;
12235
12235
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0;
12236
12236
+
t2 = T;
12237
12237
+
T = T + 16 | 0;
12238
12238
+
r2 = t2;
12239
12239
+
s2 = Qd(a3 | 0, c2 | 0, 52) | 0;
12240
12240
+
H() | 0;
12241
12241
+
s2 = s2 & 15;
12242
12242
+
if (d2 >>> 0 > 15) {
12243
12243
+
s2 = 4;
12244
12244
+
T = t2;
12245
12245
+
return s2 | 0;
12246
12246
+
}
12247
12247
+
if ((s2 | 0) < (d2 | 0)) {
12248
12248
+
s2 = 12;
12249
12249
+
T = t2;
12250
12250
+
return s2 | 0;
12251
12251
+
}
12252
12252
+
if ((s2 | 0) != (d2 | 0)) {
12253
12253
+
g2 = Rd(d2 | 0, 0, 52) | 0;
12254
12254
+
g2 = g2 | a3;
12255
12255
+
i = H() | 0 | c2 & -15728641;
12256
12256
+
if ((s2 | 0) > (d2 | 0)) {
12257
12257
+
j = d2;
12258
12258
+
do {
12259
12259
+
q2 = Rd(7, 0, (14 - j | 0) * 3 | 0) | 0;
12260
12260
+
j = j + 1 | 0;
12261
12261
+
g2 = q2 | g2;
12262
12262
+
i = H() | 0 | i;
12263
12263
+
} while ((j | 0) < (s2 | 0));
12264
12264
+
q2 = g2;
12265
12265
+
} else {
12266
12266
+
q2 = g2;
12267
12267
+
}
12268
12268
+
} else {
12269
12269
+
q2 = a3;
12270
12270
+
i = c2;
12271
12271
+
}
12272
12272
+
p3 = Qd(q2 | 0, i | 0, 45) | 0;
12273
12273
+
H() | 0;
12274
12274
+
a:
12275
12275
+
do {
12276
12276
+
if (oa(p3 & 127) | 0) {
12277
12277
+
j = Qd(q2 | 0, i | 0, 52) | 0;
12278
12278
+
H() | 0;
12279
12279
+
j = j & 15;
12280
12280
+
if (j | 0) {
12281
12281
+
g2 = 1;
12282
12282
+
while (true) {
12283
12283
+
p3 = Rd(7, 0, (15 - g2 | 0) * 3 | 0) | 0;
12284
12284
+
if (!((p3 & q2 | 0) == 0 & ((H() | 0) & i | 0) == 0)) {
12285
12285
+
k = 33;
12286
12286
+
break a;
12287
12287
+
}
12288
12288
+
if (g2 >>> 0 < j >>> 0) {
12289
12289
+
g2 = g2 + 1 | 0;
12290
12290
+
} else {
12291
12291
+
break;
12292
12292
+
}
12293
12293
+
}
12294
12294
+
}
12295
12295
+
p3 = e2;
12296
12296
+
b[p3 >> 2] = 0;
12297
12297
+
b[p3 + 4 >> 2] = 0;
12298
12298
+
if ((s2 | 0) > (d2 | 0)) {
12299
12299
+
p3 = c2 & -15728641;
12300
12300
+
o = s2;
12301
12301
+
while (true) {
12302
12302
+
n = o;
12303
12303
+
o = o + -1 | 0;
12304
12304
+
if (o >>> 0 > 15 | (s2 | 0) < (o | 0)) {
12305
12305
+
k = 19;
12306
12306
+
break;
12307
12307
+
}
12308
12308
+
if ((s2 | 0) != (o | 0)) {
12309
12309
+
g2 = Rd(o | 0, 0, 52) | 0;
12310
12310
+
g2 = g2 | a3;
12311
12311
+
j = H() | 0 | p3;
12312
12312
+
if ((s2 | 0) < (n | 0)) {
12313
12313
+
m = g2;
12314
12314
+
} else {
12315
12315
+
k = o;
12316
12316
+
do {
12317
12317
+
m = Rd(7, 0, (14 - k | 0) * 3 | 0) | 0;
12318
12318
+
k = k + 1 | 0;
12319
12319
+
g2 = m | g2;
12320
12320
+
j = H() | 0 | j;
12321
12321
+
} while ((k | 0) < (s2 | 0));
12322
12322
+
m = g2;
12323
12323
+
}
12324
12324
+
} else {
12325
12325
+
m = a3;
12326
12326
+
j = c2;
12327
12327
+
}
12328
12328
+
l = Qd(m | 0, j | 0, 45) | 0;
12329
12329
+
H() | 0;
12330
12330
+
if (!(oa(l & 127) | 0)) {
12331
12331
+
g2 = 0;
12332
12332
+
} else {
12333
12333
+
l = Qd(m | 0, j | 0, 52) | 0;
12334
12334
+
H() | 0;
12335
12335
+
l = l & 15;
12336
12336
+
b:
12337
12337
+
do {
12338
12338
+
if (!l) {
12339
12339
+
g2 = 0;
12340
12340
+
} else {
12341
12341
+
k = 1;
12342
12342
+
while (true) {
12343
12343
+
g2 = Qd(m | 0, j | 0, (15 - k | 0) * 3 | 0) | 0;
12344
12344
+
H() | 0;
12345
12345
+
g2 = g2 & 7;
12346
12346
+
if (g2 | 0) {
12347
12347
+
break b;
12348
12348
+
}
12349
12349
+
if (k >>> 0 < l >>> 0) {
12350
12350
+
k = k + 1 | 0;
12351
12351
+
} else {
12352
12352
+
g2 = 0;
12353
12353
+
break;
12354
12354
+
}
12355
12355
+
}
12356
12356
+
}
12357
12357
+
} while (0);
12358
12358
+
g2 = (g2 | 0) == 0 & 1;
12359
12359
+
}
12360
12360
+
j = Qd(a3 | 0, c2 | 0, (15 - n | 0) * 3 | 0) | 0;
12361
12361
+
H() | 0;
12362
12362
+
j = j & 7;
12363
12363
+
if ((j | 0) == 7) {
12364
12364
+
f2 = 5;
12365
12365
+
k = 42;
12366
12366
+
break;
12367
12367
+
}
12368
12368
+
g2 = (g2 | 0) != 0;
12369
12369
+
if ((j | 0) == 1 & g2) {
12370
12370
+
f2 = 5;
12371
12371
+
k = 42;
12372
12372
+
break;
12373
12373
+
}
12374
12374
+
m = j + (((j | 0) != 0 & g2) << 31 >> 31) | 0;
12375
12375
+
if (m | 0) {
12376
12376
+
k = s2 - n | 0;
12377
12377
+
k = Oc(7, 0, k, ((k | 0) < 0) << 31 >> 31) | 0;
12378
12378
+
l = H() | 0;
12379
12379
+
if (g2) {
12380
12380
+
g2 = Md(k | 0, l | 0, 5, 0) | 0;
12381
12381
+
g2 = Gd(g2 | 0, H() | 0, -5, -1) | 0;
12382
12382
+
g2 = Kd(g2 | 0, H() | 0, 6, 0) | 0;
12383
12383
+
g2 = Gd(g2 | 0, H() | 0, 1, 0) | 0;
12384
12384
+
j = H() | 0;
12385
12385
+
} else {
12386
12386
+
g2 = k;
12387
12387
+
j = l;
12388
12388
+
}
12389
12389
+
n = m + -1 | 0;
12390
12390
+
n = Md(k | 0, l | 0, n | 0, ((n | 0) < 0) << 31 >> 31 | 0) | 0;
12391
12391
+
n = Gd(g2 | 0, j | 0, n | 0, H() | 0) | 0;
12392
12392
+
m = H() | 0;
12393
12393
+
l = e2;
12394
12394
+
l = Gd(n | 0, m | 0, b[l >> 2] | 0, b[l + 4 >> 2] | 0) | 0;
12395
12395
+
m = H() | 0;
12396
12396
+
n = e2;
12397
12397
+
b[n >> 2] = l;
12398
12398
+
b[n + 4 >> 2] = m;
12399
12399
+
}
12400
12400
+
if ((o | 0) <= (d2 | 0)) {
12401
12401
+
k = 37;
12402
12402
+
break;
12403
12403
+
}
12404
12404
+
}
12405
12405
+
if ((k | 0) == 19) {
12406
12406
+
I(27795, 27122, 1276, 27158);
12407
12407
+
} else if ((k | 0) == 37) {
12408
12408
+
h = e2;
12409
12409
+
f2 = b[h + 4 >> 2] | 0;
12410
12410
+
h = b[h >> 2] | 0;
12411
12411
+
break;
12412
12412
+
} else if ((k | 0) == 42) {
12413
12413
+
T = t2;
12414
12414
+
return f2 | 0;
12415
12415
+
}
12416
12416
+
} else {
12417
12417
+
f2 = 0;
12418
12418
+
h = 0;
12419
12419
+
}
12420
12420
+
} else {
12421
12421
+
k = 33;
12422
12422
+
}
12423
12423
+
} while (0);
12424
12424
+
c:
12425
12425
+
do {
12426
12426
+
if ((k | 0) == 33) {
12427
12427
+
p3 = e2;
12428
12428
+
b[p3 >> 2] = 0;
12429
12429
+
b[p3 + 4 >> 2] = 0;
12430
12430
+
if ((s2 | 0) > (d2 | 0)) {
12431
12431
+
g2 = s2;
12432
12432
+
while (true) {
12433
12433
+
f2 = Qd(a3 | 0, c2 | 0, (15 - g2 | 0) * 3 | 0) | 0;
12434
12434
+
H() | 0;
12435
12435
+
f2 = f2 & 7;
12436
12436
+
if ((f2 | 0) == 7) {
12437
12437
+
f2 = 5;
12438
12438
+
break;
12439
12439
+
}
12440
12440
+
h = s2 - g2 | 0;
12441
12441
+
h = Oc(7, 0, h, ((h | 0) < 0) << 31 >> 31) | 0;
12442
12442
+
f2 = Md(h | 0, H() | 0, f2 | 0, 0) | 0;
12443
12443
+
h = H() | 0;
12444
12444
+
p3 = e2;
12445
12445
+
h = Gd(b[p3 >> 2] | 0, b[p3 + 4 >> 2] | 0, f2 | 0, h | 0) | 0;
12446
12446
+
f2 = H() | 0;
12447
12447
+
p3 = e2;
12448
12448
+
b[p3 >> 2] = h;
12449
12449
+
b[p3 + 4 >> 2] = f2;
12450
12450
+
g2 = g2 + -1 | 0;
12451
12451
+
if ((g2 | 0) <= (d2 | 0)) {
12452
12452
+
break c;
12453
12453
+
}
12454
12454
+
}
12455
12455
+
T = t2;
12456
12456
+
return f2 | 0;
12457
12457
+
} else {
12458
12458
+
f2 = 0;
12459
12459
+
h = 0;
12460
12460
+
}
12461
12461
+
}
12462
12462
+
} while (0);
12463
12463
+
if (Gb(q2, i, s2, r2) | 0) {
12464
12464
+
I(27795, 27122, 1236, 27173);
12465
12465
+
}
12466
12466
+
s2 = r2;
12467
12467
+
r2 = b[s2 + 4 >> 2] | 0;
12468
12468
+
if (((f2 | 0) > -1 | (f2 | 0) == -1 & h >>> 0 > 4294967295) & ((r2 | 0) > (f2 | 0) | ((r2 | 0) == (f2 | 0) ? (b[s2 >> 2] | 0) >>> 0 > h >>> 0 : 0))) {
12469
12469
+
s2 = 0;
12470
12470
+
T = t2;
12471
12471
+
return s2 | 0;
12472
12472
+
} else {
12473
12473
+
I(27795, 27122, 1316, 27158);
12474
12474
+
}
12475
12475
+
return 0;
12476
12476
+
}
12477
12477
+
function ec(a3, c2, d2, e2, f2, g2) {
12478
12478
+
a3 = a3 | 0;
12479
12479
+
c2 = c2 | 0;
12480
12480
+
d2 = d2 | 0;
12481
12481
+
e2 = e2 | 0;
12482
12482
+
f2 = f2 | 0;
12483
12483
+
g2 = g2 | 0;
12484
12484
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0;
12485
12485
+
m = T;
12486
12486
+
T = T + 16 | 0;
12487
12487
+
h = m;
12488
12488
+
if (f2 >>> 0 > 15) {
12489
12489
+
g2 = 4;
12490
12490
+
T = m;
12491
12491
+
return g2 | 0;
12492
12492
+
}
12493
12493
+
i = Qd(d2 | 0, e2 | 0, 52) | 0;
12494
12494
+
H() | 0;
12495
12495
+
i = i & 15;
12496
12496
+
if ((i | 0) > (f2 | 0)) {
12497
12497
+
g2 = 12;
12498
12498
+
T = m;
12499
12499
+
return g2 | 0;
12500
12500
+
}
12501
12501
+
if (Gb(d2, e2, f2, h) | 0) {
12502
12502
+
I(27795, 27122, 1236, 27173);
12503
12503
+
}
12504
12504
+
l = h;
12505
12505
+
k = b[l + 4 >> 2] | 0;
12506
12506
+
if (!(((c2 | 0) > -1 | (c2 | 0) == -1 & a3 >>> 0 > 4294967295) & ((k | 0) > (c2 | 0) | ((k | 0) == (c2 | 0) ? (b[l >> 2] | 0) >>> 0 > a3 >>> 0 : 0)))) {
12507
12507
+
g2 = 2;
12508
12508
+
T = m;
12509
12509
+
return g2 | 0;
12510
12510
+
}
12511
12511
+
l = f2 - i | 0;
12512
12512
+
f2 = Rd(f2 | 0, 0, 52) | 0;
12513
12513
+
j = H() | 0 | e2 & -15728641;
12514
12514
+
k = g2;
12515
12515
+
b[k >> 2] = f2 | d2;
12516
12516
+
b[k + 4 >> 2] = j;
12517
12517
+
k = Qd(d2 | 0, e2 | 0, 45) | 0;
12518
12518
+
H() | 0;
12519
12519
+
a:
12520
12520
+
do {
12521
12521
+
if (oa(k & 127) | 0) {
12522
12522
+
if (i | 0) {
12523
12523
+
h = 1;
12524
12524
+
while (true) {
12525
12525
+
k = Rd(7, 0, (15 - h | 0) * 3 | 0) | 0;
12526
12526
+
if (!((k & d2 | 0) == 0 & ((H() | 0) & e2 | 0) == 0)) {
12527
12527
+
break a;
12528
12528
+
}
12529
12529
+
if (h >>> 0 < i >>> 0) {
12530
12530
+
h = h + 1 | 0;
12531
12531
+
} else {
12532
12532
+
break;
12533
12533
+
}
12534
12534
+
}
12535
12535
+
}
12536
12536
+
if ((l | 0) < 1) {
12537
12537
+
g2 = 0;
12538
12538
+
T = m;
12539
12539
+
return g2 | 0;
12540
12540
+
}
12541
12541
+
k = i ^ 15;
12542
12542
+
e2 = -1;
12543
12543
+
j = 1;
12544
12544
+
h = 1;
12545
12545
+
while (true) {
12546
12546
+
i = l - j | 0;
12547
12547
+
i = Oc(7, 0, i, ((i | 0) < 0) << 31 >> 31) | 0;
12548
12548
+
d2 = H() | 0;
12549
12549
+
do {
12550
12550
+
if (h) {
12551
12551
+
h = Md(i | 0, d2 | 0, 5, 0) | 0;
12552
12552
+
h = Gd(h | 0, H() | 0, -5, -1) | 0;
12553
12553
+
h = Kd(h | 0, H() | 0, 6, 0) | 0;
12554
12554
+
f2 = H() | 0;
12555
12555
+
if ((c2 | 0) > (f2 | 0) | (c2 | 0) == (f2 | 0) & a3 >>> 0 > h >>> 0) {
12556
12556
+
c2 = Gd(a3 | 0, c2 | 0, -1, -1) | 0;
12557
12557
+
c2 = Hd(c2 | 0, H() | 0, h | 0, f2 | 0) | 0;
12558
12558
+
h = H() | 0;
12559
12559
+
n = g2;
12560
12560
+
p3 = b[n >> 2] | 0;
12561
12561
+
n = b[n + 4 >> 2] | 0;
12562
12562
+
q2 = (k + e2 | 0) * 3 | 0;
12563
12563
+
o = Rd(7, 0, q2 | 0) | 0;
12564
12564
+
n = n & ~(H() | 0);
12565
12565
+
e2 = Kd(c2 | 0, h | 0, i | 0, d2 | 0) | 0;
12566
12566
+
a3 = H() | 0;
12567
12567
+
f2 = Gd(e2 | 0, a3 | 0, 2, 0) | 0;
12568
12568
+
q2 = Rd(f2 | 0, H() | 0, q2 | 0) | 0;
12569
12569
+
n = H() | 0 | n;
12570
12570
+
f2 = g2;
12571
12571
+
b[f2 >> 2] = q2 | p3 & ~o;
12572
12572
+
b[f2 + 4 >> 2] = n;
12573
12573
+
a3 = Md(e2 | 0, a3 | 0, i | 0, d2 | 0) | 0;
12574
12574
+
a3 = Hd(c2 | 0, h | 0, a3 | 0, H() | 0) | 0;
12575
12575
+
h = 0;
12576
12576
+
c2 = H() | 0;
12577
12577
+
break;
12578
12578
+
} else {
12579
12579
+
q2 = g2;
12580
12580
+
o = b[q2 >> 2] | 0;
12581
12581
+
q2 = b[q2 + 4 >> 2] | 0;
12582
12582
+
p3 = Rd(7, 0, (k + e2 | 0) * 3 | 0) | 0;
12583
12583
+
q2 = q2 & ~(H() | 0);
12584
12584
+
h = g2;
12585
12585
+
b[h >> 2] = o & ~p3;
12586
12586
+
b[h + 4 >> 2] = q2;
12587
12587
+
h = 1;
12588
12588
+
break;
12589
12589
+
}
12590
12590
+
} else {
12591
12591
+
o = g2;
12592
12592
+
f2 = b[o >> 2] | 0;
12593
12593
+
o = b[o + 4 >> 2] | 0;
12594
12594
+
e2 = (k + e2 | 0) * 3 | 0;
12595
12595
+
n = Rd(7, 0, e2 | 0) | 0;
12596
12596
+
o = o & ~(H() | 0);
12597
12597
+
q2 = Kd(a3 | 0, c2 | 0, i | 0, d2 | 0) | 0;
12598
12598
+
h = H() | 0;
12599
12599
+
e2 = Rd(q2 | 0, h | 0, e2 | 0) | 0;
12600
12600
+
o = H() | 0 | o;
12601
12601
+
p3 = g2;
12602
12602
+
b[p3 >> 2] = e2 | f2 & ~n;
12603
12603
+
b[p3 + 4 >> 2] = o;
12604
12604
+
h = Md(q2 | 0, h | 0, i | 0, d2 | 0) | 0;
12605
12605
+
a3 = Hd(a3 | 0, c2 | 0, h | 0, H() | 0) | 0;
12606
12606
+
h = 0;
12607
12607
+
c2 = H() | 0;
12608
12608
+
}
12609
12609
+
} while (0);
12610
12610
+
if ((l | 0) > (j | 0)) {
12611
12611
+
e2 = ~j;
12612
12612
+
j = j + 1 | 0;
12613
12613
+
} else {
12614
12614
+
c2 = 0;
12615
12615
+
break;
12616
12616
+
}
12617
12617
+
}
12618
12618
+
T = m;
12619
12619
+
return c2 | 0;
12620
12620
+
}
12621
12621
+
} while (0);
12622
12622
+
if ((l | 0) < 1) {
12623
12623
+
q2 = 0;
12624
12624
+
T = m;
12625
12625
+
return q2 | 0;
12626
12626
+
}
12627
12627
+
f2 = i ^ 15;
12628
12628
+
h = 1;
12629
12629
+
while (true) {
12630
12630
+
p3 = l - h | 0;
12631
12631
+
p3 = Oc(7, 0, p3, ((p3 | 0) < 0) << 31 >> 31) | 0;
12632
12632
+
q2 = H() | 0;
12633
12633
+
j = g2;
12634
12634
+
d2 = b[j >> 2] | 0;
12635
12635
+
j = b[j + 4 >> 2] | 0;
12636
12636
+
i = (f2 - h | 0) * 3 | 0;
12637
12637
+
e2 = Rd(7, 0, i | 0) | 0;
12638
12638
+
j = j & ~(H() | 0);
12639
12639
+
n = Kd(a3 | 0, c2 | 0, p3 | 0, q2 | 0) | 0;
12640
12640
+
o = H() | 0;
12641
12641
+
i = Rd(n | 0, o | 0, i | 0) | 0;
12642
12642
+
j = H() | 0 | j;
12643
12643
+
k = g2;
12644
12644
+
b[k >> 2] = i | d2 & ~e2;
12645
12645
+
b[k + 4 >> 2] = j;
12646
12646
+
q2 = Md(n | 0, o | 0, p3 | 0, q2 | 0) | 0;
12647
12647
+
a3 = Hd(a3 | 0, c2 | 0, q2 | 0, H() | 0) | 0;
12648
12648
+
c2 = H() | 0;
12649
12649
+
if ((l | 0) <= (h | 0)) {
12650
12650
+
c2 = 0;
12651
12651
+
break;
12652
12652
+
} else {
12653
12653
+
h = h + 1 | 0;
12654
12654
+
}
12655
12655
+
}
12656
12656
+
T = m;
12657
12657
+
return c2 | 0;
12658
12658
+
}
12659
12659
+
function fc(a3, c2, d2, e2) {
12660
12660
+
a3 = a3 | 0;
12661
12661
+
c2 = c2 | 0;
12662
12662
+
d2 = d2 | 0;
12663
12663
+
e2 = e2 | 0;
12664
12664
+
var f2 = 0, g2 = 0, h = 0;
12665
12665
+
f2 = Qd(c2 | 0, d2 | 0, 52) | 0;
12666
12666
+
H() | 0;
12667
12667
+
f2 = f2 & 15;
12668
12668
+
if ((c2 | 0) == 0 & (d2 | 0) == 0 | ((e2 | 0) > 15 | (f2 | 0) > (e2 | 0))) {
12669
12669
+
g2 = -1;
12670
12670
+
c2 = -1;
12671
12671
+
d2 = 0;
12672
12672
+
f2 = 0;
12673
12673
+
} else {
12674
12674
+
c2 = Jb(c2, d2, f2 + 1 | 0, e2) | 0;
12675
12675
+
h = (H() | 0) & -15728641;
12676
12676
+
d2 = Rd(e2 | 0, 0, 52) | 0;
12677
12677
+
d2 = c2 | d2;
12678
12678
+
h = h | (H() | 0);
12679
12679
+
c2 = (Hb(d2, h) | 0) == 0;
12680
12680
+
g2 = f2;
12681
12681
+
c2 = c2 ? -1 : e2;
12682
12682
+
f2 = h;
12683
12683
+
}
12684
12684
+
h = a3;
12685
12685
+
b[h >> 2] = d2;
12686
12686
+
b[h + 4 >> 2] = f2;
12687
12687
+
b[a3 + 8 >> 2] = g2;
12688
12688
+
b[a3 + 12 >> 2] = c2;
12689
12689
+
return;
12690
12690
+
}
12691
12691
+
function gc(a3, c2, d2, e2) {
12692
12692
+
a3 = a3 | 0;
12693
12693
+
c2 = c2 | 0;
12694
12694
+
d2 = d2 | 0;
12695
12695
+
e2 = e2 | 0;
12696
12696
+
var f2 = 0, g2 = 0;
12697
12697
+
f2 = Qd(a3 | 0, c2 | 0, 52) | 0;
12698
12698
+
H() | 0;
12699
12699
+
f2 = f2 & 15;
12700
12700
+
g2 = e2 + 8 | 0;
12701
12701
+
b[g2 >> 2] = f2;
12702
12702
+
if ((a3 | 0) == 0 & (c2 | 0) == 0 | ((d2 | 0) > 15 | (f2 | 0) > (d2 | 0))) {
12703
12703
+
d2 = e2;
12704
12704
+
b[d2 >> 2] = 0;
12705
12705
+
b[d2 + 4 >> 2] = 0;
12706
12706
+
b[g2 >> 2] = -1;
12707
12707
+
b[e2 + 12 >> 2] = -1;
12708
12708
+
return;
12709
12709
+
}
12710
12710
+
a3 = Jb(a3, c2, f2 + 1 | 0, d2) | 0;
12711
12711
+
g2 = (H() | 0) & -15728641;
12712
12712
+
f2 = Rd(d2 | 0, 0, 52) | 0;
12713
12713
+
f2 = a3 | f2;
12714
12714
+
g2 = g2 | (H() | 0);
12715
12715
+
a3 = e2;
12716
12716
+
b[a3 >> 2] = f2;
12717
12717
+
b[a3 + 4 >> 2] = g2;
12718
12718
+
a3 = e2 + 12 | 0;
12719
12719
+
if (!(Hb(f2, g2) | 0)) {
12720
12720
+
b[a3 >> 2] = -1;
12721
12721
+
return;
12722
12722
+
} else {
12723
12723
+
b[a3 >> 2] = d2;
12724
12724
+
return;
12725
12725
+
}
12726
12726
+
}
12727
12727
+
function hc(a3) {
12728
12728
+
a3 = a3 | 0;
12729
12729
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
12730
12730
+
d2 = a3;
12731
12731
+
c2 = b[d2 >> 2] | 0;
12732
12732
+
d2 = b[d2 + 4 >> 2] | 0;
12733
12733
+
if ((c2 | 0) == 0 & (d2 | 0) == 0) {
12734
12734
+
return;
12735
12735
+
}
12736
12736
+
e2 = Qd(c2 | 0, d2 | 0, 52) | 0;
12737
12737
+
H() | 0;
12738
12738
+
e2 = e2 & 15;
12739
12739
+
i = Rd(1, 0, (e2 ^ 15) * 3 | 0) | 0;
12740
12740
+
c2 = Gd(i | 0, H() | 0, c2 | 0, d2 | 0) | 0;
12741
12741
+
d2 = H() | 0;
12742
12742
+
i = a3;
12743
12743
+
b[i >> 2] = c2;
12744
12744
+
b[i + 4 >> 2] = d2;
12745
12745
+
i = a3 + 8 | 0;
12746
12746
+
h = b[i >> 2] | 0;
12747
12747
+
if ((e2 | 0) < (h | 0)) {
12748
12748
+
return;
12749
12749
+
}
12750
12750
+
j = a3 + 12 | 0;
12751
12751
+
g2 = e2;
12752
12752
+
while (true) {
12753
12753
+
if ((g2 | 0) == (h | 0)) {
12754
12754
+
e2 = 5;
12755
12755
+
break;
12756
12756
+
}
12757
12757
+
k = (g2 | 0) == (b[j >> 2] | 0);
12758
12758
+
f2 = (15 - g2 | 0) * 3 | 0;
12759
12759
+
e2 = Qd(c2 | 0, d2 | 0, f2 | 0) | 0;
12760
12760
+
H() | 0;
12761
12761
+
e2 = e2 & 7;
12762
12762
+
if (k & ((e2 | 0) == 1 & true)) {
12763
12763
+
e2 = 7;
12764
12764
+
break;
12765
12765
+
}
12766
12766
+
if (!((e2 | 0) == 7 & true)) {
12767
12767
+
e2 = 10;
12768
12768
+
break;
12769
12769
+
}
12770
12770
+
k = Rd(1, 0, f2 | 0) | 0;
12771
12771
+
c2 = Gd(c2 | 0, d2 | 0, k | 0, H() | 0) | 0;
12772
12772
+
d2 = H() | 0;
12773
12773
+
k = a3;
12774
12774
+
b[k >> 2] = c2;
12775
12775
+
b[k + 4 >> 2] = d2;
12776
12776
+
if ((g2 | 0) > (h | 0)) {
12777
12777
+
g2 = g2 + -1 | 0;
12778
12778
+
} else {
12779
12779
+
e2 = 10;
12780
12780
+
break;
12781
12781
+
}
12782
12782
+
}
12783
12783
+
if ((e2 | 0) == 5) {
12784
12784
+
k = a3;
12785
12785
+
b[k >> 2] = 0;
12786
12786
+
b[k + 4 >> 2] = 0;
12787
12787
+
b[i >> 2] = -1;
12788
12788
+
b[j >> 2] = -1;
12789
12789
+
return;
12790
12790
+
} else if ((e2 | 0) == 7) {
12791
12791
+
h = Rd(1, 0, f2 | 0) | 0;
12792
12792
+
h = Gd(c2 | 0, d2 | 0, h | 0, H() | 0) | 0;
12793
12793
+
i = H() | 0;
12794
12794
+
k = a3;
12795
12795
+
b[k >> 2] = h;
12796
12796
+
b[k + 4 >> 2] = i;
12797
12797
+
b[j >> 2] = g2 + -1;
12798
12798
+
return;
12799
12799
+
} else if ((e2 | 0) == 10) {
12800
12800
+
return;
12801
12801
+
}
12802
12802
+
}
12803
12803
+
function ic(a3) {
12804
12804
+
a3 = +a3;
12805
12805
+
var b2 = 0;
12806
12806
+
b2 = a3 < 0 ? a3 + 6.283185307179586 : a3;
12807
12807
+
return +(!(a3 >= 6.283185307179586) ? b2 : b2 + -6.283185307179586);
12808
12808
+
}
12809
12809
+
function jc(a3, b2) {
12810
12810
+
a3 = a3 | 0;
12811
12811
+
b2 = b2 | 0;
12812
12812
+
if (!(+q(+(+e[a3 >> 3] - +e[b2 >> 3])) < 0.000000000017453292519943298)) {
12813
12813
+
b2 = 0;
12814
12814
+
return b2 | 0;
12815
12815
+
}
12816
12816
+
b2 = +q(+(+e[a3 + 8 >> 3] - +e[b2 + 8 >> 3])) < 0.000000000017453292519943298;
12817
12817
+
return b2 | 0;
12818
12818
+
}
12819
12819
+
function kc(a3, b2) {
12820
12820
+
a3 = +a3;
12821
12821
+
b2 = b2 | 0;
12822
12822
+
switch (b2 | 0) {
12823
12823
+
case 1: {
12824
12824
+
a3 = a3 < 0 ? a3 + 6.283185307179586 : a3;
12825
12825
+
break;
12826
12826
+
}
12827
12827
+
case 2: {
12828
12828
+
a3 = a3 > 0 ? a3 + -6.283185307179586 : a3;
12829
12829
+
break;
12830
12830
+
}
12831
12831
+
default:
12832
12832
+
}
12833
12833
+
return +a3;
12834
12834
+
}
12835
12835
+
function lc(a3, b2) {
12836
12836
+
a3 = a3 | 0;
12837
12837
+
b2 = b2 | 0;
12838
12838
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0;
12839
12839
+
f2 = +e[b2 >> 3];
12840
12840
+
d2 = +e[a3 >> 3];
12841
12841
+
g2 = +u(+((f2 - d2) * 0.5));
12842
12842
+
c2 = +u(+((+e[b2 + 8 >> 3] - +e[a3 + 8 >> 3]) * 0.5));
12843
12843
+
c2 = g2 * g2 + c2 * (+t(+f2) * +t(+d2) * c2);
12844
12844
+
return +(+z(+ +r(+c2), + +r(+(1 - c2))) * 2);
12845
12845
+
}
12846
12846
+
function mc(a3, b2) {
12847
12847
+
a3 = a3 | 0;
12848
12848
+
b2 = b2 | 0;
12849
12849
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0;
12850
12850
+
f2 = +e[b2 >> 3];
12851
12851
+
d2 = +e[a3 >> 3];
12852
12852
+
g2 = +u(+((f2 - d2) * 0.5));
12853
12853
+
c2 = +u(+((+e[b2 + 8 >> 3] - +e[a3 + 8 >> 3]) * 0.5));
12854
12854
+
c2 = g2 * g2 + c2 * (+t(+f2) * +t(+d2) * c2);
12855
12855
+
return +(+z(+ +r(+c2), + +r(+(1 - c2))) * 2 * 6371.007180918475);
12856
12856
+
}
12857
12857
+
function nc(a3, b2) {
12858
12858
+
a3 = a3 | 0;
12859
12859
+
b2 = b2 | 0;
12860
12860
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0;
12861
12861
+
f2 = +e[b2 >> 3];
12862
12862
+
d2 = +e[a3 >> 3];
12863
12863
+
g2 = +u(+((f2 - d2) * 0.5));
12864
12864
+
c2 = +u(+((+e[b2 + 8 >> 3] - +e[a3 + 8 >> 3]) * 0.5));
12865
12865
+
c2 = g2 * g2 + c2 * (+t(+f2) * +t(+d2) * c2);
12866
12866
+
return +(+z(+ +r(+c2), + +r(+(1 - c2))) * 2 * 6371.007180918475 * 1000);
12867
12867
+
}
12868
12868
+
function oc(a3, b2) {
12869
12869
+
a3 = a3 | 0;
12870
12870
+
b2 = b2 | 0;
12871
12871
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0;
12872
12872
+
g2 = +e[b2 >> 3];
12873
12873
+
d2 = +t(+g2);
12874
12874
+
f2 = +e[b2 + 8 >> 3] - +e[a3 + 8 >> 3];
12875
12875
+
h = d2 * +u(+f2);
12876
12876
+
c2 = +e[a3 >> 3];
12877
12877
+
return + +z(+h, +(+u(+g2) * +t(+c2) - +t(+f2) * (d2 * +u(+c2))));
12878
12878
+
}
12879
12879
+
function pc(a3, c2, d2, f2) {
12880
12880
+
a3 = a3 | 0;
12881
12881
+
c2 = +c2;
12882
12882
+
d2 = +d2;
12883
12883
+
f2 = f2 | 0;
12884
12884
+
var g2 = 0, h = 0, i = 0, j = 0;
12885
12885
+
if (d2 < 0.0000000000000001) {
12886
12886
+
b[f2 >> 2] = b[a3 >> 2];
12887
12887
+
b[f2 + 4 >> 2] = b[a3 + 4 >> 2];
12888
12888
+
b[f2 + 8 >> 2] = b[a3 + 8 >> 2];
12889
12889
+
b[f2 + 12 >> 2] = b[a3 + 12 >> 2];
12890
12890
+
return;
12891
12891
+
}
12892
12892
+
h = c2 < 0 ? c2 + 6.283185307179586 : c2;
12893
12893
+
h = !(c2 >= 6.283185307179586) ? h : h + -6.283185307179586;
12894
12894
+
do {
12895
12895
+
if (h < 0.0000000000000001) {
12896
12896
+
c2 = +e[a3 >> 3] + d2;
12897
12897
+
e[f2 >> 3] = c2;
12898
12898
+
g2 = f2;
12899
12899
+
} else {
12900
12900
+
g2 = +q(+(h + -3.141592653589793)) < 0.0000000000000001;
12901
12901
+
c2 = +e[a3 >> 3];
12902
12902
+
if (g2) {
12903
12903
+
c2 = c2 - d2;
12904
12904
+
e[f2 >> 3] = c2;
12905
12905
+
g2 = f2;
12906
12906
+
break;
12907
12907
+
}
12908
12908
+
i = +t(+d2);
12909
12909
+
d2 = +u(+d2);
12910
12910
+
c2 = i * +u(+c2) + +t(+h) * (d2 * +t(+c2));
12911
12911
+
c2 = c2 > 1 ? 1 : c2;
12912
12912
+
c2 = +x(+(c2 < -1 ? -1 : c2));
12913
12913
+
e[f2 >> 3] = c2;
12914
12914
+
if (+q(+(c2 + -1.5707963267948966)) < 0.0000000000000001) {
12915
12915
+
e[f2 >> 3] = 1.5707963267948966;
12916
12916
+
e[f2 + 8 >> 3] = 0;
12917
12917
+
return;
12918
12918
+
}
12919
12919
+
if (+q(+(c2 + 1.5707963267948966)) < 0.0000000000000001) {
12920
12920
+
e[f2 >> 3] = -1.5707963267948966;
12921
12921
+
e[f2 + 8 >> 3] = 0;
12922
12922
+
return;
12923
12923
+
}
12924
12924
+
j = 1 / +t(+c2);
12925
12925
+
h = d2 * +u(+h) * j;
12926
12926
+
d2 = +e[a3 >> 3];
12927
12927
+
c2 = j * ((i - +u(+c2) * +u(+d2)) / +t(+d2));
12928
12928
+
i = h > 1 ? 1 : h;
12929
12929
+
c2 = c2 > 1 ? 1 : c2;
12930
12930
+
c2 = +e[a3 + 8 >> 3] + +z(+(i < -1 ? -1 : i), +(c2 < -1 ? -1 : c2));
12931
12931
+
if (c2 > 3.141592653589793) {
12932
12932
+
do {
12933
12933
+
c2 = c2 + -6.283185307179586;
12934
12934
+
} while (c2 > 3.141592653589793);
12935
12935
+
}
12936
12936
+
if (c2 < -3.141592653589793) {
12937
12937
+
do {
12938
12938
+
c2 = c2 + 6.283185307179586;
12939
12939
+
} while (c2 < -3.141592653589793);
12940
12940
+
}
12941
12941
+
e[f2 + 8 >> 3] = c2;
12942
12942
+
return;
12943
12943
+
}
12944
12944
+
} while (0);
12945
12945
+
if (+q(+(c2 + -1.5707963267948966)) < 0.0000000000000001) {
12946
12946
+
e[g2 >> 3] = 1.5707963267948966;
12947
12947
+
e[f2 + 8 >> 3] = 0;
12948
12948
+
return;
12949
12949
+
}
12950
12950
+
if (+q(+(c2 + 1.5707963267948966)) < 0.0000000000000001) {
12951
12951
+
e[g2 >> 3] = -1.5707963267948966;
12952
12952
+
e[f2 + 8 >> 3] = 0;
12953
12953
+
return;
12954
12954
+
}
12955
12955
+
c2 = +e[a3 + 8 >> 3];
12956
12956
+
if (c2 > 3.141592653589793) {
12957
12957
+
do {
12958
12958
+
c2 = c2 + -6.283185307179586;
12959
12959
+
} while (c2 > 3.141592653589793);
12960
12960
+
}
12961
12961
+
if (c2 < -3.141592653589793) {
12962
12962
+
do {
12963
12963
+
c2 = c2 + 6.283185307179586;
12964
12964
+
} while (c2 < -3.141592653589793);
12965
12965
+
}
12966
12966
+
e[f2 + 8 >> 3] = c2;
12967
12967
+
return;
12968
12968
+
}
12969
12969
+
function qc(a3, b2) {
12970
12970
+
a3 = a3 | 0;
12971
12971
+
b2 = b2 | 0;
12972
12972
+
if (a3 >>> 0 > 15) {
12973
12973
+
b2 = 4;
12974
12974
+
return b2 | 0;
12975
12975
+
}
12976
12976
+
e[b2 >> 3] = +e[20656 + (a3 << 3) >> 3];
12977
12977
+
b2 = 0;
12978
12978
+
return b2 | 0;
12979
12979
+
}
12980
12980
+
function rc(a3, b2) {
12981
12981
+
a3 = a3 | 0;
12982
12982
+
b2 = b2 | 0;
12983
12983
+
if (a3 >>> 0 > 15) {
12984
12984
+
b2 = 4;
12985
12985
+
return b2 | 0;
12986
12986
+
}
12987
12987
+
e[b2 >> 3] = +e[20784 + (a3 << 3) >> 3];
12988
12988
+
b2 = 0;
12989
12989
+
return b2 | 0;
12990
12990
+
}
12991
12991
+
function sc(a3, b2) {
12992
12992
+
a3 = a3 | 0;
12993
12993
+
b2 = b2 | 0;
12994
12994
+
if (a3 >>> 0 > 15) {
12995
12995
+
b2 = 4;
12996
12996
+
return b2 | 0;
12997
12997
+
}
12998
12998
+
e[b2 >> 3] = +e[20912 + (a3 << 3) >> 3];
12999
12999
+
b2 = 0;
13000
13000
+
return b2 | 0;
13001
13001
+
}
13002
13002
+
function tc(a3, b2) {
13003
13003
+
a3 = a3 | 0;
13004
13004
+
b2 = b2 | 0;
13005
13005
+
if (a3 >>> 0 > 15) {
13006
13006
+
b2 = 4;
13007
13007
+
return b2 | 0;
13008
13008
+
}
13009
13009
+
e[b2 >> 3] = +e[21040 + (a3 << 3) >> 3];
13010
13010
+
b2 = 0;
13011
13011
+
return b2 | 0;
13012
13012
+
}
13013
13013
+
function uc(a3, c2) {
13014
13014
+
a3 = a3 | 0;
13015
13015
+
c2 = c2 | 0;
13016
13016
+
var d2 = 0;
13017
13017
+
if (a3 >>> 0 > 15) {
13018
13018
+
c2 = 4;
13019
13019
+
return c2 | 0;
13020
13020
+
}
13021
13021
+
d2 = Oc(7, 0, a3, ((a3 | 0) < 0) << 31 >> 31) | 0;
13022
13022
+
d2 = Md(d2 | 0, H() | 0, 120, 0) | 0;
13023
13023
+
a3 = H() | 0;
13024
13024
+
b[c2 >> 2] = d2 | 2;
13025
13025
+
b[c2 + 4 >> 2] = a3;
13026
13026
+
c2 = 0;
13027
13027
+
return c2 | 0;
13028
13028
+
}
13029
13029
+
function vc(a3, b2, c2) {
13030
13030
+
a3 = a3 | 0;
13031
13031
+
b2 = b2 | 0;
13032
13032
+
c2 = c2 | 0;
13033
13033
+
var d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
13034
13034
+
n = +e[b2 >> 3];
13035
13035
+
l = +e[a3 >> 3];
13036
13036
+
j = +u(+((n - l) * 0.5));
13037
13037
+
g2 = +e[b2 + 8 >> 3];
13038
13038
+
k = +e[a3 + 8 >> 3];
13039
13039
+
h = +u(+((g2 - k) * 0.5));
13040
13040
+
i = +t(+l);
13041
13041
+
m = +t(+n);
13042
13042
+
h = j * j + h * (m * i * h);
13043
13043
+
h = +z(+ +r(+h), + +r(+(1 - h))) * 2;
13044
13044
+
j = +e[c2 >> 3];
13045
13045
+
n = +u(+((j - n) * 0.5));
13046
13046
+
d2 = +e[c2 + 8 >> 3];
13047
13047
+
g2 = +u(+((d2 - g2) * 0.5));
13048
13048
+
f2 = +t(+j);
13049
13049
+
g2 = n * n + g2 * (m * f2 * g2);
13050
13050
+
g2 = +z(+ +r(+g2), + +r(+(1 - g2))) * 2;
13051
13051
+
j = +u(+((l - j) * 0.5));
13052
13052
+
d2 = +u(+((k - d2) * 0.5));
13053
13053
+
d2 = j * j + d2 * (i * f2 * d2);
13054
13054
+
d2 = +z(+ +r(+d2), + +r(+(1 - d2))) * 2;
13055
13055
+
f2 = (h + g2 + d2) * 0.5;
13056
13056
+
return +(+y(+ +r(+(+v(+(f2 * 0.5)) * +v(+((f2 - h) * 0.5)) * +v(+((f2 - g2) * 0.5)) * +v(+((f2 - d2) * 0.5))))) * 4);
13057
13057
+
}
13058
13058
+
function wc(a3, c2, d2) {
13059
13059
+
a3 = a3 | 0;
13060
13060
+
c2 = c2 | 0;
13061
13061
+
d2 = d2 | 0;
13062
13062
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
13063
13063
+
j = T;
13064
13064
+
T = T + 192 | 0;
13065
13065
+
h = j + 168 | 0;
13066
13066
+
i = j;
13067
13067
+
g2 = Zb(a3, c2, h) | 0;
13068
13068
+
if (g2 | 0) {
13069
13069
+
d2 = g2;
13070
13070
+
T = j;
13071
13071
+
return d2 | 0;
13072
13072
+
}
13073
13073
+
if (_b(a3, c2, i) | 0) {
13074
13074
+
I(27795, 27190, 415, 27199);
13075
13075
+
}
13076
13076
+
c2 = b[i >> 2] | 0;
13077
13077
+
if ((c2 | 0) > 0) {
13078
13078
+
f2 = +vc(i + 8 | 0, i + 8 + (((c2 | 0) != 1 & 1) << 4) | 0, h) + 0;
13079
13079
+
if ((c2 | 0) != 1) {
13080
13080
+
a3 = 1;
13081
13081
+
do {
13082
13082
+
g2 = a3;
13083
13083
+
a3 = a3 + 1 | 0;
13084
13084
+
f2 = f2 + +vc(i + 8 + (g2 << 4) | 0, i + 8 + (((a3 | 0) % (c2 | 0) | 0) << 4) | 0, h);
13085
13085
+
} while ((a3 | 0) < (c2 | 0));
13086
13086
+
}
13087
13087
+
} else {
13088
13088
+
f2 = 0;
13089
13089
+
}
13090
13090
+
e[d2 >> 3] = f2;
13091
13091
+
d2 = 0;
13092
13092
+
T = j;
13093
13093
+
return d2 | 0;
13094
13094
+
}
13095
13095
+
function xc(a3, b2, c2) {
13096
13096
+
a3 = a3 | 0;
13097
13097
+
b2 = b2 | 0;
13098
13098
+
c2 = c2 | 0;
13099
13099
+
a3 = wc(a3, b2, c2) | 0;
13100
13100
+
if (a3 | 0) {
13101
13101
+
return a3 | 0;
13102
13102
+
}
13103
13103
+
e[c2 >> 3] = +e[c2 >> 3] * 6371.007180918475 * 6371.007180918475;
13104
13104
+
return a3 | 0;
13105
13105
+
}
13106
13106
+
function yc(a3, b2, c2) {
13107
13107
+
a3 = a3 | 0;
13108
13108
+
b2 = b2 | 0;
13109
13109
+
c2 = c2 | 0;
13110
13110
+
a3 = wc(a3, b2, c2) | 0;
13111
13111
+
if (a3 | 0) {
13112
13112
+
return a3 | 0;
13113
13113
+
}
13114
13114
+
e[c2 >> 3] = +e[c2 >> 3] * 6371.007180918475 * 6371.007180918475 * 1000 * 1000;
13115
13115
+
return a3 | 0;
13116
13116
+
}
13117
13117
+
function zc(a3, c2, d2) {
13118
13118
+
a3 = a3 | 0;
13119
13119
+
c2 = c2 | 0;
13120
13120
+
d2 = d2 | 0;
13121
13121
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
13122
13122
+
j = T;
13123
13123
+
T = T + 176 | 0;
13124
13124
+
i = j;
13125
13125
+
a3 = pb(a3, c2, i) | 0;
13126
13126
+
if (a3 | 0) {
13127
13127
+
i = a3;
13128
13128
+
T = j;
13129
13129
+
return i | 0;
13130
13130
+
}
13131
13131
+
e[d2 >> 3] = 0;
13132
13132
+
a3 = b[i >> 2] | 0;
13133
13133
+
if ((a3 | 0) <= 1) {
13134
13134
+
i = 0;
13135
13135
+
T = j;
13136
13136
+
return i | 0;
13137
13137
+
}
13138
13138
+
c2 = a3 + -1 | 0;
13139
13139
+
a3 = 0;
13140
13140
+
f2 = +e[i + 8 >> 3];
13141
13141
+
g2 = +e[i + 16 >> 3];
13142
13142
+
h = 0;
13143
13143
+
do {
13144
13144
+
a3 = a3 + 1 | 0;
13145
13145
+
l = f2;
13146
13146
+
f2 = +e[i + 8 + (a3 << 4) >> 3];
13147
13147
+
m = +u(+((f2 - l) * 0.5));
13148
13148
+
k = g2;
13149
13149
+
g2 = +e[i + 8 + (a3 << 4) + 8 >> 3];
13150
13150
+
k = +u(+((g2 - k) * 0.5));
13151
13151
+
k = m * m + k * (+t(+f2) * +t(+l) * k);
13152
13152
+
h = h + +z(+ +r(+k), + +r(+(1 - k))) * 2;
13153
13153
+
} while ((a3 | 0) < (c2 | 0));
13154
13154
+
e[d2 >> 3] = h;
13155
13155
+
i = 0;
13156
13156
+
T = j;
13157
13157
+
return i | 0;
13158
13158
+
}
13159
13159
+
function Ac(a3, c2, d2) {
13160
13160
+
a3 = a3 | 0;
13161
13161
+
c2 = c2 | 0;
13162
13162
+
d2 = d2 | 0;
13163
13163
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
13164
13164
+
j = T;
13165
13165
+
T = T + 176 | 0;
13166
13166
+
i = j;
13167
13167
+
a3 = pb(a3, c2, i) | 0;
13168
13168
+
if (a3 | 0) {
13169
13169
+
i = a3;
13170
13170
+
h = +e[d2 >> 3];
13171
13171
+
h = h * 6371.007180918475;
13172
13172
+
e[d2 >> 3] = h;
13173
13173
+
T = j;
13174
13174
+
return i | 0;
13175
13175
+
}
13176
13176
+
e[d2 >> 3] = 0;
13177
13177
+
a3 = b[i >> 2] | 0;
13178
13178
+
if ((a3 | 0) <= 1) {
13179
13179
+
i = 0;
13180
13180
+
h = 0;
13181
13181
+
h = h * 6371.007180918475;
13182
13182
+
e[d2 >> 3] = h;
13183
13183
+
T = j;
13184
13184
+
return i | 0;
13185
13185
+
}
13186
13186
+
c2 = a3 + -1 | 0;
13187
13187
+
a3 = 0;
13188
13188
+
f2 = +e[i + 8 >> 3];
13189
13189
+
g2 = +e[i + 16 >> 3];
13190
13190
+
h = 0;
13191
13191
+
do {
13192
13192
+
a3 = a3 + 1 | 0;
13193
13193
+
l = f2;
13194
13194
+
f2 = +e[i + 8 + (a3 << 4) >> 3];
13195
13195
+
m = +u(+((f2 - l) * 0.5));
13196
13196
+
k = g2;
13197
13197
+
g2 = +e[i + 8 + (a3 << 4) + 8 >> 3];
13198
13198
+
k = +u(+((g2 - k) * 0.5));
13199
13199
+
k = m * m + k * (+t(+l) * +t(+f2) * k);
13200
13200
+
h = h + +z(+ +r(+k), + +r(+(1 - k))) * 2;
13201
13201
+
} while ((a3 | 0) != (c2 | 0));
13202
13202
+
e[d2 >> 3] = h;
13203
13203
+
i = 0;
13204
13204
+
m = h;
13205
13205
+
m = m * 6371.007180918475;
13206
13206
+
e[d2 >> 3] = m;
13207
13207
+
T = j;
13208
13208
+
return i | 0;
13209
13209
+
}
13210
13210
+
function Bc(a3, c2, d2) {
13211
13211
+
a3 = a3 | 0;
13212
13212
+
c2 = c2 | 0;
13213
13213
+
d2 = d2 | 0;
13214
13214
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
13215
13215
+
j = T;
13216
13216
+
T = T + 176 | 0;
13217
13217
+
i = j;
13218
13218
+
a3 = pb(a3, c2, i) | 0;
13219
13219
+
if (a3 | 0) {
13220
13220
+
i = a3;
13221
13221
+
h = +e[d2 >> 3];
13222
13222
+
h = h * 6371.007180918475;
13223
13223
+
h = h * 1000;
13224
13224
+
e[d2 >> 3] = h;
13225
13225
+
T = j;
13226
13226
+
return i | 0;
13227
13227
+
}
13228
13228
+
e[d2 >> 3] = 0;
13229
13229
+
a3 = b[i >> 2] | 0;
13230
13230
+
if ((a3 | 0) <= 1) {
13231
13231
+
i = 0;
13232
13232
+
h = 0;
13233
13233
+
h = h * 6371.007180918475;
13234
13234
+
h = h * 1000;
13235
13235
+
e[d2 >> 3] = h;
13236
13236
+
T = j;
13237
13237
+
return i | 0;
13238
13238
+
}
13239
13239
+
c2 = a3 + -1 | 0;
13240
13240
+
a3 = 0;
13241
13241
+
f2 = +e[i + 8 >> 3];
13242
13242
+
g2 = +e[i + 16 >> 3];
13243
13243
+
h = 0;
13244
13244
+
do {
13245
13245
+
a3 = a3 + 1 | 0;
13246
13246
+
l = f2;
13247
13247
+
f2 = +e[i + 8 + (a3 << 4) >> 3];
13248
13248
+
m = +u(+((f2 - l) * 0.5));
13249
13249
+
k = g2;
13250
13250
+
g2 = +e[i + 8 + (a3 << 4) + 8 >> 3];
13251
13251
+
k = +u(+((g2 - k) * 0.5));
13252
13252
+
k = m * m + k * (+t(+l) * +t(+f2) * k);
13253
13253
+
h = h + +z(+ +r(+k), + +r(+(1 - k))) * 2;
13254
13254
+
} while ((a3 | 0) != (c2 | 0));
13255
13255
+
e[d2 >> 3] = h;
13256
13256
+
i = 0;
13257
13257
+
m = h;
13258
13258
+
m = m * 6371.007180918475;
13259
13259
+
m = m * 1000;
13260
13260
+
e[d2 >> 3] = m;
13261
13261
+
T = j;
13262
13262
+
return i | 0;
13263
13263
+
}
13264
13264
+
function Cc(a3) {
13265
13265
+
a3 = a3 | 0;
13266
13266
+
var c2 = 0, d2 = 0, e2 = 0;
13267
13267
+
c2 = Fd(1, 12) | 0;
13268
13268
+
if (!c2) {
13269
13269
+
I(27280, 27235, 49, 27293);
13270
13270
+
}
13271
13271
+
d2 = a3 + 4 | 0;
13272
13272
+
e2 = b[d2 >> 2] | 0;
13273
13273
+
if (e2 | 0) {
13274
13274
+
e2 = e2 + 8 | 0;
13275
13275
+
b[e2 >> 2] = c2;
13276
13276
+
b[d2 >> 2] = c2;
13277
13277
+
return c2 | 0;
13278
13278
+
}
13279
13279
+
if (b[a3 >> 2] | 0) {
13280
13280
+
I(27310, 27235, 61, 27333);
13281
13281
+
}
13282
13282
+
e2 = a3;
13283
13283
+
b[e2 >> 2] = c2;
13284
13284
+
b[d2 >> 2] = c2;
13285
13285
+
return c2 | 0;
13286
13286
+
}
13287
13287
+
function Dc(a3, c2) {
13288
13288
+
a3 = a3 | 0;
13289
13289
+
c2 = c2 | 0;
13290
13290
+
var d2 = 0, e2 = 0;
13291
13291
+
e2 = Dd(24) | 0;
13292
13292
+
if (!e2) {
13293
13293
+
I(27347, 27235, 78, 27361);
13294
13294
+
}
13295
13295
+
b[e2 >> 2] = b[c2 >> 2];
13296
13296
+
b[e2 + 4 >> 2] = b[c2 + 4 >> 2];
13297
13297
+
b[e2 + 8 >> 2] = b[c2 + 8 >> 2];
13298
13298
+
b[e2 + 12 >> 2] = b[c2 + 12 >> 2];
13299
13299
+
b[e2 + 16 >> 2] = 0;
13300
13300
+
c2 = a3 + 4 | 0;
13301
13301
+
d2 = b[c2 >> 2] | 0;
13302
13302
+
if (d2 | 0) {
13303
13303
+
b[d2 + 16 >> 2] = e2;
13304
13304
+
b[c2 >> 2] = e2;
13305
13305
+
return e2 | 0;
13306
13306
+
}
13307
13307
+
if (b[a3 >> 2] | 0) {
13308
13308
+
I(27376, 27235, 82, 27361);
13309
13309
+
}
13310
13310
+
b[a3 >> 2] = e2;
13311
13311
+
b[c2 >> 2] = e2;
13312
13312
+
return e2 | 0;
13313
13313
+
}
13314
13314
+
function Ec(a3) {
13315
13315
+
a3 = a3 | 0;
13316
13316
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0;
13317
13317
+
if (!a3) {
13318
13318
+
return;
13319
13319
+
}
13320
13320
+
e2 = 1;
13321
13321
+
while (true) {
13322
13322
+
c2 = b[a3 >> 2] | 0;
13323
13323
+
if (c2 | 0) {
13324
13324
+
do {
13325
13325
+
d2 = b[c2 >> 2] | 0;
13326
13326
+
if (d2 | 0) {
13327
13327
+
do {
13328
13328
+
f2 = d2;
13329
13329
+
d2 = b[d2 + 16 >> 2] | 0;
13330
13330
+
Ed(f2);
13331
13331
+
} while ((d2 | 0) != 0);
13332
13332
+
}
13333
13333
+
f2 = c2;
13334
13334
+
c2 = b[c2 + 8 >> 2] | 0;
13335
13335
+
Ed(f2);
13336
13336
+
} while ((c2 | 0) != 0);
13337
13337
+
}
13338
13338
+
c2 = a3;
13339
13339
+
a3 = b[a3 + 8 >> 2] | 0;
13340
13340
+
if (!e2) {
13341
13341
+
Ed(c2);
13342
13342
+
}
13343
13343
+
if (!a3) {
13344
13344
+
break;
13345
13345
+
} else {
13346
13346
+
e2 = 0;
13347
13347
+
}
13348
13348
+
}
13349
13349
+
return;
13350
13350
+
}
13351
13351
+
function Fc(a3) {
13352
13352
+
a3 = a3 | 0;
13353
13353
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0, B2 = 0, C2 = 0, D2 = 0, E2 = 0, F = 0, G2 = 0, H2 = 0, J2 = 0, K2 = 0;
13354
13354
+
g2 = a3 + 8 | 0;
13355
13355
+
if (b[g2 >> 2] | 0) {
13356
13356
+
K2 = 1;
13357
13357
+
return K2 | 0;
13358
13358
+
}
13359
13359
+
f2 = b[a3 >> 2] | 0;
13360
13360
+
if (!f2) {
13361
13361
+
K2 = 0;
13362
13362
+
return K2 | 0;
13363
13363
+
}
13364
13364
+
c2 = f2;
13365
13365
+
d2 = 0;
13366
13366
+
do {
13367
13367
+
d2 = d2 + 1 | 0;
13368
13368
+
c2 = b[c2 + 8 >> 2] | 0;
13369
13369
+
} while ((c2 | 0) != 0);
13370
13370
+
if (d2 >>> 0 < 2) {
13371
13371
+
K2 = 0;
13372
13372
+
return K2 | 0;
13373
13373
+
}
13374
13374
+
H2 = Dd(d2 << 2) | 0;
13375
13375
+
if (!H2) {
13376
13376
+
I(27396, 27235, 317, 27415);
13377
13377
+
}
13378
13378
+
G2 = Dd(d2 << 5) | 0;
13379
13379
+
if (!G2) {
13380
13380
+
I(27437, 27235, 321, 27415);
13381
13381
+
}
13382
13382
+
b[a3 >> 2] = 0;
13383
13383
+
z2 = a3 + 4 | 0;
13384
13384
+
b[z2 >> 2] = 0;
13385
13385
+
b[g2 >> 2] = 0;
13386
13386
+
d2 = 0;
13387
13387
+
F = 0;
13388
13388
+
y2 = 0;
13389
13389
+
n = 0;
13390
13390
+
a:
13391
13391
+
while (true) {
13392
13392
+
m = b[f2 >> 2] | 0;
13393
13393
+
if (m) {
13394
13394
+
h = 0;
13395
13395
+
i = m;
13396
13396
+
do {
13397
13397
+
k = +e[i + 8 >> 3];
13398
13398
+
c2 = i;
13399
13399
+
i = b[i + 16 >> 2] | 0;
13400
13400
+
l = (i | 0) == 0;
13401
13401
+
g2 = l ? m : i;
13402
13402
+
j = +e[g2 + 8 >> 3];
13403
13403
+
if (+q(+(k - j)) > 3.141592653589793) {
13404
13404
+
K2 = 14;
13405
13405
+
break;
13406
13406
+
}
13407
13407
+
h = h + (j - k) * (+e[c2 >> 3] + +e[g2 >> 3]);
13408
13408
+
} while (!l);
13409
13409
+
if ((K2 | 0) == 14) {
13410
13410
+
K2 = 0;
13411
13411
+
h = 0;
13412
13412
+
c2 = m;
13413
13413
+
do {
13414
13414
+
x2 = +e[c2 + 8 >> 3];
13415
13415
+
E2 = c2 + 16 | 0;
13416
13416
+
D2 = b[E2 >> 2] | 0;
13417
13417
+
D2 = (D2 | 0) == 0 ? m : D2;
13418
13418
+
w2 = +e[D2 + 8 >> 3];
13419
13419
+
h = h + (+e[c2 >> 3] + +e[D2 >> 3]) * ((w2 < 0 ? w2 + 6.283185307179586 : w2) - (x2 < 0 ? x2 + 6.283185307179586 : x2));
13420
13420
+
c2 = b[((c2 | 0) == 0 ? f2 : E2) >> 2] | 0;
13421
13421
+
} while ((c2 | 0) != 0);
13422
13422
+
}
13423
13423
+
if (h > 0) {
13424
13424
+
b[H2 + (F << 2) >> 2] = f2;
13425
13425
+
F = F + 1 | 0;
13426
13426
+
g2 = y2;
13427
13427
+
c2 = n;
13428
13428
+
} else {
13429
13429
+
K2 = 19;
13430
13430
+
}
13431
13431
+
} else {
13432
13432
+
K2 = 19;
13433
13433
+
}
13434
13434
+
if ((K2 | 0) == 19) {
13435
13435
+
K2 = 0;
13436
13436
+
do {
13437
13437
+
if (!d2) {
13438
13438
+
if (!n) {
13439
13439
+
if (!(b[a3 >> 2] | 0)) {
13440
13440
+
g2 = z2;
13441
13441
+
i = a3;
13442
13442
+
c2 = f2;
13443
13443
+
d2 = a3;
13444
13444
+
break;
13445
13445
+
} else {
13446
13446
+
K2 = 27;
13447
13447
+
break a;
13448
13448
+
}
13449
13449
+
} else {
13450
13450
+
g2 = z2;
13451
13451
+
i = n + 8 | 0;
13452
13452
+
c2 = f2;
13453
13453
+
d2 = a3;
13454
13454
+
break;
13455
13455
+
}
13456
13456
+
} else {
13457
13457
+
c2 = d2 + 8 | 0;
13458
13458
+
if (b[c2 >> 2] | 0) {
13459
13459
+
K2 = 21;
13460
13460
+
break a;
13461
13461
+
}
13462
13462
+
d2 = Fd(1, 12) | 0;
13463
13463
+
if (!d2) {
13464
13464
+
K2 = 23;
13465
13465
+
break a;
13466
13466
+
}
13467
13467
+
b[c2 >> 2] = d2;
13468
13468
+
g2 = d2 + 4 | 0;
13469
13469
+
i = d2;
13470
13470
+
c2 = n;
13471
13471
+
}
13472
13472
+
} while (0);
13473
13473
+
b[i >> 2] = f2;
13474
13474
+
b[g2 >> 2] = f2;
13475
13475
+
i = G2 + (y2 << 5) | 0;
13476
13476
+
l = b[f2 >> 2] | 0;
13477
13477
+
if (l) {
13478
13478
+
m = G2 + (y2 << 5) + 8 | 0;
13479
13479
+
e[m >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13480
13480
+
n = G2 + (y2 << 5) + 24 | 0;
13481
13481
+
e[n >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13482
13482
+
e[i >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13483
13483
+
o = G2 + (y2 << 5) + 16 | 0;
13484
13484
+
e[o >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13485
13485
+
u2 = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13486
13486
+
v2 = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13487
13487
+
g2 = 0;
13488
13488
+
p3 = l;
13489
13489
+
k = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13490
13490
+
s2 = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13491
13491
+
t2 = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13492
13492
+
j = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
13493
13493
+
while (true) {
13494
13494
+
h = +e[p3 >> 3];
13495
13495
+
x2 = +e[p3 + 8 >> 3];
13496
13496
+
p3 = b[p3 + 16 >> 2] | 0;
13497
13497
+
r2 = (p3 | 0) == 0;
13498
13498
+
w2 = +e[(r2 ? l : p3) + 8 >> 3];
13499
13499
+
if (h < k) {
13500
13500
+
e[m >> 3] = h;
13501
13501
+
k = h;
13502
13502
+
}
13503
13503
+
if (x2 < s2) {
13504
13504
+
e[n >> 3] = x2;
13505
13505
+
s2 = x2;
13506
13506
+
}
13507
13507
+
if (h > t2) {
13508
13508
+
e[i >> 3] = h;
13509
13509
+
} else {
13510
13510
+
h = t2;
13511
13511
+
}
13512
13512
+
if (x2 > j) {
13513
13513
+
e[o >> 3] = x2;
13514
13514
+
j = x2;
13515
13515
+
}
13516
13516
+
u2 = x2 > 0 & x2 < u2 ? x2 : u2;
13517
13517
+
v2 = x2 < 0 & x2 > v2 ? x2 : v2;
13518
13518
+
g2 = g2 | +q(+(x2 - w2)) > 3.141592653589793;
13519
13519
+
if (r2) {
13520
13520
+
break;
13521
13521
+
} else {
13522
13522
+
t2 = h;
13523
13523
+
}
13524
13524
+
}
13525
13525
+
if (g2) {
13526
13526
+
e[o >> 3] = v2;
13527
13527
+
e[n >> 3] = u2;
13528
13528
+
}
13529
13529
+
} else {
13530
13530
+
b[i >> 2] = 0;
13531
13531
+
b[i + 4 >> 2] = 0;
13532
13532
+
b[i + 8 >> 2] = 0;
13533
13533
+
b[i + 12 >> 2] = 0;
13534
13534
+
b[i + 16 >> 2] = 0;
13535
13535
+
b[i + 20 >> 2] = 0;
13536
13536
+
b[i + 24 >> 2] = 0;
13537
13537
+
b[i + 28 >> 2] = 0;
13538
13538
+
}
13539
13539
+
g2 = y2 + 1 | 0;
13540
13540
+
}
13541
13541
+
E2 = f2 + 8 | 0;
13542
13542
+
f2 = b[E2 >> 2] | 0;
13543
13543
+
b[E2 >> 2] = 0;
13544
13544
+
if (!f2) {
13545
13545
+
K2 = 45;
13546
13546
+
break;
13547
13547
+
} else {
13548
13548
+
y2 = g2;
13549
13549
+
n = c2;
13550
13550
+
}
13551
13551
+
}
13552
13552
+
if ((K2 | 0) == 21) {
13553
13553
+
I(27213, 27235, 35, 27247);
13554
13554
+
} else if ((K2 | 0) == 23) {
13555
13555
+
I(27267, 27235, 37, 27247);
13556
13556
+
} else if ((K2 | 0) == 27) {
13557
13557
+
I(27310, 27235, 61, 27333);
13558
13558
+
} else if ((K2 | 0) == 45) {
13559
13559
+
b:
13560
13560
+
do {
13561
13561
+
if ((F | 0) > 0) {
13562
13562
+
E2 = (g2 | 0) == 0;
13563
13563
+
C2 = g2 << 2;
13564
13564
+
D2 = (a3 | 0) == 0;
13565
13565
+
B2 = 0;
13566
13566
+
c2 = 0;
13567
13567
+
while (true) {
13568
13568
+
A2 = b[H2 + (B2 << 2) >> 2] | 0;
13569
13569
+
if (!E2) {
13570
13570
+
y2 = Dd(C2) | 0;
13571
13571
+
if (!y2) {
13572
13572
+
K2 = 50;
13573
13573
+
break;
13574
13574
+
}
13575
13575
+
z2 = Dd(C2) | 0;
13576
13576
+
if (!z2) {
13577
13577
+
K2 = 52;
13578
13578
+
break;
13579
13579
+
}
13580
13580
+
c:
13581
13581
+
do {
13582
13582
+
if (!D2) {
13583
13583
+
g2 = 0;
13584
13584
+
d2 = 0;
13585
13585
+
i = a3;
13586
13586
+
while (true) {
13587
13587
+
f2 = G2 + (g2 << 5) | 0;
13588
13588
+
if (Gc(b[i >> 2] | 0, f2, b[A2 >> 2] | 0) | 0) {
13589
13589
+
b[y2 + (d2 << 2) >> 2] = i;
13590
13590
+
b[z2 + (d2 << 2) >> 2] = f2;
13591
13591
+
r2 = d2 + 1 | 0;
13592
13592
+
} else {
13593
13593
+
r2 = d2;
13594
13594
+
}
13595
13595
+
i = b[i + 8 >> 2] | 0;
13596
13596
+
if (!i) {
13597
13597
+
break;
13598
13598
+
} else {
13599
13599
+
g2 = g2 + 1 | 0;
13600
13600
+
d2 = r2;
13601
13601
+
}
13602
13602
+
}
13603
13603
+
if ((r2 | 0) > 0) {
13604
13604
+
f2 = b[y2 >> 2] | 0;
13605
13605
+
if ((r2 | 0) == 1) {
13606
13606
+
d2 = f2;
13607
13607
+
} else {
13608
13608
+
o = 0;
13609
13609
+
p3 = -1;
13610
13610
+
d2 = f2;
13611
13611
+
n = f2;
13612
13612
+
while (true) {
13613
13613
+
l = b[n >> 2] | 0;
13614
13614
+
f2 = 0;
13615
13615
+
i = 0;
13616
13616
+
while (true) {
13617
13617
+
g2 = b[b[y2 + (i << 2) >> 2] >> 2] | 0;
13618
13618
+
if ((g2 | 0) == (l | 0)) {
13619
13619
+
m = f2;
13620
13620
+
} else {
13621
13621
+
m = f2 + ((Gc(g2, b[z2 + (i << 2) >> 2] | 0, b[l >> 2] | 0) | 0) & 1) | 0;
13622
13622
+
}
13623
13623
+
i = i + 1 | 0;
13624
13624
+
if ((i | 0) == (r2 | 0)) {
13625
13625
+
break;
13626
13626
+
} else {
13627
13627
+
f2 = m;
13628
13628
+
}
13629
13629
+
}
13630
13630
+
g2 = (m | 0) > (p3 | 0);
13631
13631
+
d2 = g2 ? n : d2;
13632
13632
+
f2 = o + 1 | 0;
13633
13633
+
if ((f2 | 0) == (r2 | 0)) {
13634
13634
+
break c;
13635
13635
+
}
13636
13636
+
o = f2;
13637
13637
+
p3 = g2 ? m : p3;
13638
13638
+
n = b[y2 + (f2 << 2) >> 2] | 0;
13639
13639
+
}
13640
13640
+
}
13641
13641
+
} else {
13642
13642
+
d2 = 0;
13643
13643
+
}
13644
13644
+
} else {
13645
13645
+
d2 = 0;
13646
13646
+
}
13647
13647
+
} while (0);
13648
13648
+
Ed(y2);
13649
13649
+
Ed(z2);
13650
13650
+
if (d2) {
13651
13651
+
g2 = d2 + 4 | 0;
13652
13652
+
f2 = b[g2 >> 2] | 0;
13653
13653
+
if (!f2) {
13654
13654
+
if (b[d2 >> 2] | 0) {
13655
13655
+
K2 = 70;
13656
13656
+
break;
13657
13657
+
}
13658
13658
+
} else {
13659
13659
+
d2 = f2 + 8 | 0;
13660
13660
+
}
13661
13661
+
b[d2 >> 2] = A2;
13662
13662
+
b[g2 >> 2] = A2;
13663
13663
+
} else {
13664
13664
+
K2 = 73;
13665
13665
+
}
13666
13666
+
} else {
13667
13667
+
K2 = 73;
13668
13668
+
}
13669
13669
+
if ((K2 | 0) == 73) {
13670
13670
+
K2 = 0;
13671
13671
+
c2 = b[A2 >> 2] | 0;
13672
13672
+
if (c2 | 0) {
13673
13673
+
do {
13674
13674
+
z2 = c2;
13675
13675
+
c2 = b[c2 + 16 >> 2] | 0;
13676
13676
+
Ed(z2);
13677
13677
+
} while ((c2 | 0) != 0);
13678
13678
+
}
13679
13679
+
Ed(A2);
13680
13680
+
c2 = 1;
13681
13681
+
}
13682
13682
+
B2 = B2 + 1 | 0;
13683
13683
+
if ((B2 | 0) >= (F | 0)) {
13684
13684
+
J2 = c2;
13685
13685
+
break b;
13686
13686
+
}
13687
13687
+
}
13688
13688
+
if ((K2 | 0) == 50) {
13689
13689
+
I(27452, 27235, 249, 27471);
13690
13690
+
} else if ((K2 | 0) == 52) {
13691
13691
+
I(27490, 27235, 252, 27471);
13692
13692
+
} else if ((K2 | 0) == 70) {
13693
13693
+
I(27310, 27235, 61, 27333);
13694
13694
+
}
13695
13695
+
} else {
13696
13696
+
J2 = 0;
13697
13697
+
}
13698
13698
+
} while (0);
13699
13699
+
Ed(H2);
13700
13700
+
Ed(G2);
13701
13701
+
K2 = J2;
13702
13702
+
return K2 | 0;
13703
13703
+
}
13704
13704
+
return 0;
13705
13705
+
}
13706
13706
+
function Gc(a3, c2, d2) {
13707
13707
+
a3 = a3 | 0;
13708
13708
+
c2 = c2 | 0;
13709
13709
+
d2 = d2 | 0;
13710
13710
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
13711
13711
+
if (!(Ca(c2, d2) | 0)) {
13712
13712
+
a3 = 0;
13713
13713
+
return a3 | 0;
13714
13714
+
}
13715
13715
+
c2 = Aa(c2) | 0;
13716
13716
+
f2 = +e[d2 >> 3];
13717
13717
+
g2 = +e[d2 + 8 >> 3];
13718
13718
+
g2 = c2 & g2 < 0 ? g2 + 6.283185307179586 : g2;
13719
13719
+
a3 = b[a3 >> 2] | 0;
13720
13720
+
if (!a3) {
13721
13721
+
a3 = 0;
13722
13722
+
return a3 | 0;
13723
13723
+
}
13724
13724
+
if (c2) {
13725
13725
+
c2 = 0;
13726
13726
+
l = g2;
13727
13727
+
d2 = a3;
13728
13728
+
a:
13729
13729
+
while (true) {
13730
13730
+
while (true) {
13731
13731
+
i = +e[d2 >> 3];
13732
13732
+
g2 = +e[d2 + 8 >> 3];
13733
13733
+
d2 = d2 + 16 | 0;
13734
13734
+
m = b[d2 >> 2] | 0;
13735
13735
+
m = (m | 0) == 0 ? a3 : m;
13736
13736
+
h = +e[m >> 3];
13737
13737
+
j = +e[m + 8 >> 3];
13738
13738
+
if (i > h) {
13739
13739
+
k = i;
13740
13740
+
i = j;
13741
13741
+
} else {
13742
13742
+
k = h;
13743
13743
+
h = i;
13744
13744
+
i = g2;
13745
13745
+
g2 = j;
13746
13746
+
}
13747
13747
+
f2 = f2 == h | f2 == k ? f2 + 0.0000000000000002220446049250313 : f2;
13748
13748
+
if (!(f2 < h | f2 > k)) {
13749
13749
+
break;
13750
13750
+
}
13751
13751
+
d2 = b[d2 >> 2] | 0;
13752
13752
+
if (!d2) {
13753
13753
+
d2 = 22;
13754
13754
+
break a;
13755
13755
+
}
13756
13756
+
}
13757
13757
+
j = i < 0 ? i + 6.283185307179586 : i;
13758
13758
+
i = g2 < 0 ? g2 + 6.283185307179586 : g2;
13759
13759
+
l = j == l | i == l ? l + -0.0000000000000002220446049250313 : l;
13760
13760
+
k = j + (i - j) * ((f2 - h) / (k - h));
13761
13761
+
if ((k < 0 ? k + 6.283185307179586 : k) > l) {
13762
13762
+
c2 = c2 ^ 1;
13763
13763
+
}
13764
13764
+
d2 = b[d2 >> 2] | 0;
13765
13765
+
if (!d2) {
13766
13766
+
d2 = 22;
13767
13767
+
break;
13768
13768
+
}
13769
13769
+
}
13770
13770
+
if ((d2 | 0) == 22) {
13771
13771
+
return c2 | 0;
13772
13772
+
}
13773
13773
+
} else {
13774
13774
+
c2 = 0;
13775
13775
+
l = g2;
13776
13776
+
d2 = a3;
13777
13777
+
b:
13778
13778
+
while (true) {
13779
13779
+
while (true) {
13780
13780
+
i = +e[d2 >> 3];
13781
13781
+
g2 = +e[d2 + 8 >> 3];
13782
13782
+
d2 = d2 + 16 | 0;
13783
13783
+
m = b[d2 >> 2] | 0;
13784
13784
+
m = (m | 0) == 0 ? a3 : m;
13785
13785
+
h = +e[m >> 3];
13786
13786
+
j = +e[m + 8 >> 3];
13787
13787
+
if (i > h) {
13788
13788
+
k = i;
13789
13789
+
i = j;
13790
13790
+
} else {
13791
13791
+
k = h;
13792
13792
+
h = i;
13793
13793
+
i = g2;
13794
13794
+
g2 = j;
13795
13795
+
}
13796
13796
+
f2 = f2 == h | f2 == k ? f2 + 0.0000000000000002220446049250313 : f2;
13797
13797
+
if (!(f2 < h | f2 > k)) {
13798
13798
+
break;
13799
13799
+
}
13800
13800
+
d2 = b[d2 >> 2] | 0;
13801
13801
+
if (!d2) {
13802
13802
+
d2 = 22;
13803
13803
+
break b;
13804
13804
+
}
13805
13805
+
}
13806
13806
+
l = i == l | g2 == l ? l + -0.0000000000000002220446049250313 : l;
13807
13807
+
if (i + (g2 - i) * ((f2 - h) / (k - h)) > l) {
13808
13808
+
c2 = c2 ^ 1;
13809
13809
+
}
13810
13810
+
d2 = b[d2 >> 2] | 0;
13811
13811
+
if (!d2) {
13812
13812
+
d2 = 22;
13813
13813
+
break;
13814
13814
+
}
13815
13815
+
}
13816
13816
+
if ((d2 | 0) == 22) {
13817
13817
+
return c2 | 0;
13818
13818
+
}
13819
13819
+
}
13820
13820
+
return 0;
13821
13821
+
}
13822
13822
+
function Hc(c2, d2, e2, f2, g2) {
13823
13823
+
c2 = c2 | 0;
13824
13824
+
d2 = d2 | 0;
13825
13825
+
e2 = e2 | 0;
13826
13826
+
f2 = f2 | 0;
13827
13827
+
g2 = g2 | 0;
13828
13828
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0;
13829
13829
+
u2 = T;
13830
13830
+
T = T + 32 | 0;
13831
13831
+
t2 = u2 + 16 | 0;
13832
13832
+
s2 = u2;
13833
13833
+
h = Qd(c2 | 0, d2 | 0, 52) | 0;
13834
13834
+
H() | 0;
13835
13835
+
h = h & 15;
13836
13836
+
p3 = Qd(e2 | 0, f2 | 0, 52) | 0;
13837
13837
+
H() | 0;
13838
13838
+
if ((h | 0) != (p3 & 15 | 0)) {
13839
13839
+
t2 = 12;
13840
13840
+
T = u2;
13841
13841
+
return t2 | 0;
13842
13842
+
}
13843
13843
+
l = Qd(c2 | 0, d2 | 0, 45) | 0;
13844
13844
+
H() | 0;
13845
13845
+
l = l & 127;
13846
13846
+
m = Qd(e2 | 0, f2 | 0, 45) | 0;
13847
13847
+
H() | 0;
13848
13848
+
m = m & 127;
13849
13849
+
if (l >>> 0 > 121 | m >>> 0 > 121) {
13850
13850
+
t2 = 5;
13851
13851
+
T = u2;
13852
13852
+
return t2 | 0;
13853
13853
+
}
13854
13854
+
p3 = (l | 0) != (m | 0);
13855
13855
+
if (p3) {
13856
13856
+
j = wa(l, m) | 0;
13857
13857
+
if ((j | 0) == 7) {
13858
13858
+
t2 = 1;
13859
13859
+
T = u2;
13860
13860
+
return t2 | 0;
13861
13861
+
}
13862
13862
+
k = wa(m, l) | 0;
13863
13863
+
if ((k | 0) == 7) {
13864
13864
+
I(27514, 27538, 161, 27548);
13865
13865
+
} else {
13866
13866
+
q2 = j;
13867
13867
+
i = k;
13868
13868
+
}
13869
13869
+
} else {
13870
13870
+
q2 = 0;
13871
13871
+
i = 0;
13872
13872
+
}
13873
13873
+
n = oa(l) | 0;
13874
13874
+
o = oa(m) | 0;
13875
13875
+
b[t2 >> 2] = 0;
13876
13876
+
b[t2 + 4 >> 2] = 0;
13877
13877
+
b[t2 + 8 >> 2] = 0;
13878
13878
+
b[t2 + 12 >> 2] = 0;
13879
13879
+
do {
13880
13880
+
if (!q2) {
13881
13881
+
Xb(e2, f2, t2) | 0;
13882
13882
+
if ((n | 0) != 0 & (o | 0) != 0) {
13883
13883
+
if ((m | 0) != (l | 0)) {
13884
13884
+
I(27621, 27538, 261, 27548);
13885
13885
+
}
13886
13886
+
i = Pb(c2, d2) | 0;
13887
13887
+
h = Pb(e2, f2) | 0;
13888
13888
+
if (!((i | 0) == 7 | (h | 0) == 7)) {
13889
13889
+
if (!(a2[22000 + (i * 7 | 0) + h >> 0] | 0)) {
13890
13890
+
i = b[21168 + (i * 28 | 0) + (h << 2) >> 2] | 0;
13891
13891
+
if ((i | 0) > 0) {
13892
13892
+
j = t2 + 4 | 0;
13893
13893
+
h = 0;
13894
13894
+
do {
13895
13895
+
_a(j);
13896
13896
+
h = h + 1 | 0;
13897
13897
+
} while ((h | 0) != (i | 0));
13898
13898
+
r2 = 51;
13899
13899
+
} else {
13900
13900
+
r2 = 51;
13901
13901
+
}
13902
13902
+
} else {
13903
13903
+
h = 1;
13904
13904
+
}
13905
13905
+
} else {
13906
13906
+
h = 5;
13907
13907
+
}
13908
13908
+
} else {
13909
13909
+
r2 = 51;
13910
13910
+
}
13911
13911
+
} else {
13912
13912
+
m = b[4272 + (l * 28 | 0) + (q2 << 2) >> 2] | 0;
13913
13913
+
j = (m | 0) > 0;
13914
13914
+
if (!o) {
13915
13915
+
if (j) {
13916
13916
+
l = 0;
13917
13917
+
k = e2;
13918
13918
+
j = f2;
13919
13919
+
do {
13920
13920
+
k = Tb(k, j) | 0;
13921
13921
+
j = H() | 0;
13922
13922
+
i = ab(i) | 0;
13923
13923
+
l = l + 1 | 0;
13924
13924
+
} while ((l | 0) != (m | 0));
13925
13925
+
m = i;
13926
13926
+
l = k;
13927
13927
+
k = j;
13928
13928
+
} else {
13929
13929
+
m = i;
13930
13930
+
l = e2;
13931
13931
+
k = f2;
13932
13932
+
}
13933
13933
+
} else if (j) {
13934
13934
+
l = 0;
13935
13935
+
k = e2;
13936
13936
+
j = f2;
13937
13937
+
do {
13938
13938
+
k = Sb(k, j) | 0;
13939
13939
+
j = H() | 0;
13940
13940
+
i = ab(i) | 0;
13941
13941
+
if ((i | 0) == 1) {
13942
13942
+
i = ab(1) | 0;
13943
13943
+
}
13944
13944
+
l = l + 1 | 0;
13945
13945
+
} while ((l | 0) != (m | 0));
13946
13946
+
m = i;
13947
13947
+
l = k;
13948
13948
+
k = j;
13949
13949
+
} else {
13950
13950
+
m = i;
13951
13951
+
l = e2;
13952
13952
+
k = f2;
13953
13953
+
}
13954
13954
+
Xb(l, k, t2) | 0;
13955
13955
+
if (!p3) {
13956
13956
+
I(27563, 27538, 191, 27548);
13957
13957
+
}
13958
13958
+
j = (n | 0) != 0;
13959
13959
+
i = (o | 0) != 0;
13960
13960
+
if (j & i) {
13961
13961
+
I(27590, 27538, 192, 27548);
13962
13962
+
}
13963
13963
+
if (!j) {
13964
13964
+
if (i) {
13965
13965
+
i = Pb(l, k) | 0;
13966
13966
+
if ((i | 0) == 7) {
13967
13967
+
h = 5;
13968
13968
+
break;
13969
13969
+
}
13970
13970
+
if (a2[22000 + (i * 7 | 0) + m >> 0] | 0) {
13971
13971
+
h = 1;
13972
13972
+
break;
13973
13973
+
}
13974
13974
+
l = 0;
13975
13975
+
k = b[21168 + (m * 28 | 0) + (i << 2) >> 2] | 0;
13976
13976
+
} else {
13977
13977
+
l = 0;
13978
13978
+
k = 0;
13979
13979
+
}
13980
13980
+
} else {
13981
13981
+
i = Pb(c2, d2) | 0;
13982
13982
+
if ((i | 0) == 7) {
13983
13983
+
h = 5;
13984
13984
+
break;
13985
13985
+
}
13986
13986
+
if (a2[22000 + (i * 7 | 0) + q2 >> 0] | 0) {
13987
13987
+
h = 1;
13988
13988
+
break;
13989
13989
+
}
13990
13990
+
k = b[21168 + (i * 28 | 0) + (q2 << 2) >> 2] | 0;
13991
13991
+
l = k;
13992
13992
+
}
13993
13993
+
if ((l | k | 0) < 0) {
13994
13994
+
h = 5;
13995
13995
+
} else {
13996
13996
+
if ((k | 0) > 0) {
13997
13997
+
j = t2 + 4 | 0;
13998
13998
+
i = 0;
13999
13999
+
do {
14000
14000
+
_a(j);
14001
14001
+
i = i + 1 | 0;
14002
14002
+
} while ((i | 0) != (k | 0));
14003
14003
+
}
14004
14004
+
b[s2 >> 2] = 0;
14005
14005
+
b[s2 + 4 >> 2] = 0;
14006
14006
+
b[s2 + 8 >> 2] = 0;
14007
14007
+
Ya(s2, q2);
14008
14008
+
if (h | 0) {
14009
14009
+
while (true) {
14010
14010
+
if (!(Vb(h) | 0)) {
14011
14011
+
Xa(s2);
14012
14012
+
} else {
14013
14013
+
Wa(s2);
14014
14014
+
}
14015
14015
+
if ((h | 0) > 1) {
14016
14016
+
h = h + -1 | 0;
14017
14017
+
} else {
14018
14018
+
break;
14019
14019
+
}
14020
14020
+
}
14021
14021
+
}
14022
14022
+
if ((l | 0) > 0) {
14023
14023
+
h = 0;
14024
14024
+
do {
14025
14025
+
_a(s2);
14026
14026
+
h = h + 1 | 0;
14027
14027
+
} while ((h | 0) != (l | 0));
14028
14028
+
}
14029
14029
+
r2 = t2 + 4 | 0;
14030
14030
+
Oa(r2, s2, r2);
14031
14031
+
Ma(r2);
14032
14032
+
r2 = 51;
14033
14033
+
}
14034
14034
+
}
14035
14035
+
} while (0);
14036
14036
+
if ((r2 | 0) == 51) {
14037
14037
+
h = t2 + 4 | 0;
14038
14038
+
b[g2 >> 2] = b[h >> 2];
14039
14039
+
b[g2 + 4 >> 2] = b[h + 4 >> 2];
14040
14040
+
b[g2 + 8 >> 2] = b[h + 8 >> 2];
14041
14041
+
h = 0;
14042
14042
+
}
14043
14043
+
t2 = h;
14044
14044
+
T = u2;
14045
14045
+
return t2 | 0;
14046
14046
+
}
14047
14047
+
function Ic(a3, c2, d2, e2) {
14048
14048
+
a3 = a3 | 0;
14049
14049
+
c2 = c2 | 0;
14050
14050
+
d2 = d2 | 0;
14051
14051
+
e2 = e2 | 0;
14052
14052
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0;
14053
14053
+
q2 = T;
14054
14054
+
T = T + 48 | 0;
14055
14055
+
k = q2 + 36 | 0;
14056
14056
+
h = q2 + 24 | 0;
14057
14057
+
i = q2 + 12 | 0;
14058
14058
+
j = q2;
14059
14059
+
f2 = Qd(a3 | 0, c2 | 0, 52) | 0;
14060
14060
+
H() | 0;
14061
14061
+
f2 = f2 & 15;
14062
14062
+
n = Qd(a3 | 0, c2 | 0, 45) | 0;
14063
14063
+
H() | 0;
14064
14064
+
n = n & 127;
14065
14065
+
if (n >>> 0 > 121) {
14066
14066
+
e2 = 5;
14067
14067
+
T = q2;
14068
14068
+
return e2 | 0;
14069
14069
+
}
14070
14070
+
l = oa(n) | 0;
14071
14071
+
Rd(f2 | 0, 0, 52) | 0;
14072
14072
+
r2 = H() | 0 | 134225919;
14073
14073
+
g2 = e2;
14074
14074
+
b[g2 >> 2] = -1;
14075
14075
+
b[g2 + 4 >> 2] = r2;
14076
14076
+
if (!f2) {
14077
14077
+
f2 = Ra(d2) | 0;
14078
14078
+
if ((f2 | 0) == 7) {
14079
14079
+
r2 = 1;
14080
14080
+
T = q2;
14081
14081
+
return r2 | 0;
14082
14082
+
}
14083
14083
+
f2 = va(n, f2) | 0;
14084
14084
+
if ((f2 | 0) == 127) {
14085
14085
+
r2 = 1;
14086
14086
+
T = q2;
14087
14087
+
return r2 | 0;
14088
14088
+
}
14089
14089
+
o = Rd(f2 | 0, 0, 45) | 0;
14090
14090
+
p3 = H() | 0;
14091
14091
+
n = e2;
14092
14092
+
p3 = b[n + 4 >> 2] & -1040385 | p3;
14093
14093
+
r2 = e2;
14094
14094
+
b[r2 >> 2] = b[n >> 2] | o;
14095
14095
+
b[r2 + 4 >> 2] = p3;
14096
14096
+
r2 = 0;
14097
14097
+
T = q2;
14098
14098
+
return r2 | 0;
14099
14099
+
}
14100
14100
+
b[k >> 2] = b[d2 >> 2];
14101
14101
+
b[k + 4 >> 2] = b[d2 + 4 >> 2];
14102
14102
+
b[k + 8 >> 2] = b[d2 + 8 >> 2];
14103
14103
+
d2 = f2;
14104
14104
+
while (true) {
14105
14105
+
g2 = d2;
14106
14106
+
d2 = d2 + -1 | 0;
14107
14107
+
b[h >> 2] = b[k >> 2];
14108
14108
+
b[h + 4 >> 2] = b[k + 4 >> 2];
14109
14109
+
b[h + 8 >> 2] = b[k + 8 >> 2];
14110
14110
+
if (!(Vb(g2) | 0)) {
14111
14111
+
f2 = Ta(k) | 0;
14112
14112
+
if (f2 | 0) {
14113
14113
+
d2 = 13;
14114
14114
+
break;
14115
14115
+
}
14116
14116
+
b[i >> 2] = b[k >> 2];
14117
14117
+
b[i + 4 >> 2] = b[k + 4 >> 2];
14118
14118
+
b[i + 8 >> 2] = b[k + 8 >> 2];
14119
14119
+
Xa(i);
14120
14120
+
} else {
14121
14121
+
f2 = Sa(k) | 0;
14122
14122
+
if (f2 | 0) {
14123
14123
+
d2 = 13;
14124
14124
+
break;
14125
14125
+
}
14126
14126
+
b[i >> 2] = b[k >> 2];
14127
14127
+
b[i + 4 >> 2] = b[k + 4 >> 2];
14128
14128
+
b[i + 8 >> 2] = b[k + 8 >> 2];
14129
14129
+
Wa(i);
14130
14130
+
}
14131
14131
+
Pa(h, i, j);
14132
14132
+
Ma(j);
14133
14133
+
f2 = e2;
14134
14134
+
t2 = b[f2 >> 2] | 0;
14135
14135
+
f2 = b[f2 + 4 >> 2] | 0;
14136
14136
+
u2 = (15 - g2 | 0) * 3 | 0;
14137
14137
+
s2 = Rd(7, 0, u2 | 0) | 0;
14138
14138
+
f2 = f2 & ~(H() | 0);
14139
14139
+
u2 = Rd(Ra(j) | 0, 0, u2 | 0) | 0;
14140
14140
+
f2 = H() | 0 | f2;
14141
14141
+
r2 = e2;
14142
14142
+
b[r2 >> 2] = u2 | t2 & ~s2;
14143
14143
+
b[r2 + 4 >> 2] = f2;
14144
14144
+
if ((g2 | 0) <= 1) {
14145
14145
+
d2 = 14;
14146
14146
+
break;
14147
14147
+
}
14148
14148
+
}
14149
14149
+
a:
14150
14150
+
do {
14151
14151
+
if ((d2 | 0) != 13) {
14152
14152
+
if ((d2 | 0) == 14) {
14153
14153
+
if (((b[k >> 2] | 0) <= 1 ? (b[k + 4 >> 2] | 0) <= 1 : 0) ? (b[k + 8 >> 2] | 0) <= 1 : 0) {
14154
14154
+
d2 = Ra(k) | 0;
14155
14155
+
f2 = va(n, d2) | 0;
14156
14156
+
if ((f2 | 0) == 127) {
14157
14157
+
j = 0;
14158
14158
+
} else {
14159
14159
+
j = oa(f2) | 0;
14160
14160
+
}
14161
14161
+
b:
14162
14162
+
do {
14163
14163
+
if (!d2) {
14164
14164
+
if ((l | 0) != 0 & (j | 0) != 0) {
14165
14165
+
d2 = Pb(a3, c2) | 0;
14166
14166
+
g2 = e2;
14167
14167
+
g2 = Pb(b[g2 >> 2] | 0, b[g2 + 4 >> 2] | 0) | 0;
14168
14168
+
if ((d2 | 0) == 7 | (g2 | 0) == 7) {
14169
14169
+
f2 = 5;
14170
14170
+
break a;
14171
14171
+
}
14172
14172
+
g2 = b[21376 + (d2 * 28 | 0) + (g2 << 2) >> 2] | 0;
14173
14173
+
if ((g2 | 0) < 0) {
14174
14174
+
f2 = 5;
14175
14175
+
break a;
14176
14176
+
}
14177
14177
+
if (!g2) {
14178
14178
+
d2 = 59;
14179
14179
+
} else {
14180
14180
+
i = e2;
14181
14181
+
d2 = 0;
14182
14182
+
h = b[i >> 2] | 0;
14183
14183
+
i = b[i + 4 >> 2] | 0;
14184
14184
+
do {
14185
14185
+
h = Rb(h, i) | 0;
14186
14186
+
i = H() | 0;
14187
14187
+
u2 = e2;
14188
14188
+
b[u2 >> 2] = h;
14189
14189
+
b[u2 + 4 >> 2] = i;
14190
14190
+
d2 = d2 + 1 | 0;
14191
14191
+
} while ((d2 | 0) < (g2 | 0));
14192
14192
+
d2 = 58;
14193
14193
+
}
14194
14194
+
} else {
14195
14195
+
d2 = 58;
14196
14196
+
}
14197
14197
+
} else {
14198
14198
+
if (l) {
14199
14199
+
f2 = Pb(a3, c2) | 0;
14200
14200
+
if ((f2 | 0) == 7) {
14201
14201
+
f2 = 5;
14202
14202
+
break a;
14203
14203
+
}
14204
14204
+
g2 = b[21376 + (f2 * 28 | 0) + (d2 << 2) >> 2] | 0;
14205
14205
+
if ((g2 | 0) > 0) {
14206
14206
+
f2 = d2;
14207
14207
+
d2 = 0;
14208
14208
+
do {
14209
14209
+
f2 = $a(f2) | 0;
14210
14210
+
d2 = d2 + 1 | 0;
14211
14211
+
} while ((d2 | 0) != (g2 | 0));
14212
14212
+
} else {
14213
14213
+
f2 = d2;
14214
14214
+
}
14215
14215
+
if ((f2 | 0) == 1) {
14216
14216
+
f2 = 9;
14217
14217
+
break a;
14218
14218
+
}
14219
14219
+
d2 = va(n, f2) | 0;
14220
14220
+
if ((d2 | 0) == 127) {
14221
14221
+
I(27648, 27538, 411, 27678);
14222
14222
+
}
14223
14223
+
if (!(oa(d2) | 0)) {
14224
14224
+
p3 = d2;
14225
14225
+
o = g2;
14226
14226
+
m = f2;
14227
14227
+
} else {
14228
14228
+
I(27693, 27538, 412, 27678);
14229
14229
+
}
14230
14230
+
} else {
14231
14231
+
p3 = f2;
14232
14232
+
o = 0;
14233
14233
+
m = d2;
14234
14234
+
}
14235
14235
+
i = b[4272 + (n * 28 | 0) + (m << 2) >> 2] | 0;
14236
14236
+
if ((i | 0) <= -1) {
14237
14237
+
I(27724, 27538, 419, 27678);
14238
14238
+
}
14239
14239
+
if (!j) {
14240
14240
+
if ((o | 0) < 0) {
14241
14241
+
f2 = 5;
14242
14242
+
break a;
14243
14243
+
}
14244
14244
+
if (o | 0) {
14245
14245
+
g2 = e2;
14246
14246
+
f2 = 0;
14247
14247
+
d2 = b[g2 >> 2] | 0;
14248
14248
+
g2 = b[g2 + 4 >> 2] | 0;
14249
14249
+
do {
14250
14250
+
d2 = Rb(d2, g2) | 0;
14251
14251
+
g2 = H() | 0;
14252
14252
+
u2 = e2;
14253
14253
+
b[u2 >> 2] = d2;
14254
14254
+
b[u2 + 4 >> 2] = g2;
14255
14255
+
f2 = f2 + 1 | 0;
14256
14256
+
} while ((f2 | 0) < (o | 0));
14257
14257
+
}
14258
14258
+
if ((i | 0) <= 0) {
14259
14259
+
f2 = p3;
14260
14260
+
d2 = 58;
14261
14261
+
break;
14262
14262
+
}
14263
14263
+
g2 = e2;
14264
14264
+
f2 = 0;
14265
14265
+
d2 = b[g2 >> 2] | 0;
14266
14266
+
g2 = b[g2 + 4 >> 2] | 0;
14267
14267
+
while (true) {
14268
14268
+
d2 = Rb(d2, g2) | 0;
14269
14269
+
g2 = H() | 0;
14270
14270
+
u2 = e2;
14271
14271
+
b[u2 >> 2] = d2;
14272
14272
+
b[u2 + 4 >> 2] = g2;
14273
14273
+
f2 = f2 + 1 | 0;
14274
14274
+
if ((f2 | 0) == (i | 0)) {
14275
14275
+
f2 = p3;
14276
14276
+
d2 = 58;
14277
14277
+
break b;
14278
14278
+
}
14279
14279
+
}
14280
14280
+
}
14281
14281
+
h = wa(p3, n) | 0;
14282
14282
+
if ((h | 0) == 7) {
14283
14283
+
I(27514, 27538, 428, 27678);
14284
14284
+
}
14285
14285
+
f2 = e2;
14286
14286
+
d2 = b[f2 >> 2] | 0;
14287
14287
+
f2 = b[f2 + 4 >> 2] | 0;
14288
14288
+
if ((i | 0) > 0) {
14289
14289
+
g2 = 0;
14290
14290
+
do {
14291
14291
+
d2 = Rb(d2, f2) | 0;
14292
14292
+
f2 = H() | 0;
14293
14293
+
u2 = e2;
14294
14294
+
b[u2 >> 2] = d2;
14295
14295
+
b[u2 + 4 >> 2] = f2;
14296
14296
+
g2 = g2 + 1 | 0;
14297
14297
+
} while ((g2 | 0) != (i | 0));
14298
14298
+
}
14299
14299
+
f2 = Pb(d2, f2) | 0;
14300
14300
+
if ((f2 | 0) == 7) {
14301
14301
+
I(27795, 27538, 440, 27678);
14302
14302
+
}
14303
14303
+
d2 = pa(p3) | 0;
14304
14304
+
d2 = b[(d2 ? 21792 : 21584) + (h * 28 | 0) + (f2 << 2) >> 2] | 0;
14305
14305
+
if ((d2 | 0) < 0) {
14306
14306
+
I(27795, 27538, 454, 27678);
14307
14307
+
}
14308
14308
+
if (!d2) {
14309
14309
+
f2 = p3;
14310
14310
+
d2 = 58;
14311
14311
+
} else {
14312
14312
+
h = e2;
14313
14313
+
f2 = 0;
14314
14314
+
g2 = b[h >> 2] | 0;
14315
14315
+
h = b[h + 4 >> 2] | 0;
14316
14316
+
do {
14317
14317
+
g2 = Qb(g2, h) | 0;
14318
14318
+
h = H() | 0;
14319
14319
+
u2 = e2;
14320
14320
+
b[u2 >> 2] = g2;
14321
14321
+
b[u2 + 4 >> 2] = h;
14322
14322
+
f2 = f2 + 1 | 0;
14323
14323
+
} while ((f2 | 0) < (d2 | 0));
14324
14324
+
f2 = p3;
14325
14325
+
d2 = 58;
14326
14326
+
}
14327
14327
+
}
14328
14328
+
} while (0);
14329
14329
+
if ((d2 | 0) == 58) {
14330
14330
+
if (j) {
14331
14331
+
d2 = 59;
14332
14332
+
}
14333
14333
+
}
14334
14334
+
if ((d2 | 0) == 59) {
14335
14335
+
u2 = e2;
14336
14336
+
if ((Pb(b[u2 >> 2] | 0, b[u2 + 4 >> 2] | 0) | 0) == 1) {
14337
14337
+
f2 = 9;
14338
14338
+
break;
14339
14339
+
}
14340
14340
+
}
14341
14341
+
u2 = e2;
14342
14342
+
s2 = b[u2 >> 2] | 0;
14343
14343
+
u2 = b[u2 + 4 >> 2] & -1040385;
14344
14344
+
t2 = Rd(f2 | 0, 0, 45) | 0;
14345
14345
+
u2 = u2 | (H() | 0);
14346
14346
+
f2 = e2;
14347
14347
+
b[f2 >> 2] = s2 | t2;
14348
14348
+
b[f2 + 4 >> 2] = u2;
14349
14349
+
f2 = 0;
14350
14350
+
} else {
14351
14351
+
f2 = 1;
14352
14352
+
}
14353
14353
+
}
14354
14354
+
}
14355
14355
+
} while (0);
14356
14356
+
u2 = f2;
14357
14357
+
T = q2;
14358
14358
+
return u2 | 0;
14359
14359
+
}
14360
14360
+
function Jc(a3, b2, c2, d2, e2, f2) {
14361
14361
+
a3 = a3 | 0;
14362
14362
+
b2 = b2 | 0;
14363
14363
+
c2 = c2 | 0;
14364
14364
+
d2 = d2 | 0;
14365
14365
+
e2 = e2 | 0;
14366
14366
+
f2 = f2 | 0;
14367
14367
+
var g2 = 0, h = 0;
14368
14368
+
h = T;
14369
14369
+
T = T + 16 | 0;
14370
14370
+
g2 = h;
14371
14371
+
if (!e2) {
14372
14372
+
a3 = Hc(a3, b2, c2, d2, g2) | 0;
14373
14373
+
if (!a3) {
14374
14374
+
eb(g2, f2);
14375
14375
+
a3 = 0;
14376
14376
+
}
14377
14377
+
} else {
14378
14378
+
a3 = 15;
14379
14379
+
}
14380
14380
+
T = h;
14381
14381
+
return a3 | 0;
14382
14382
+
}
14383
14383
+
function Kc(a3, b2, c2, d2, e2) {
14384
14384
+
a3 = a3 | 0;
14385
14385
+
b2 = b2 | 0;
14386
14386
+
c2 = c2 | 0;
14387
14387
+
d2 = d2 | 0;
14388
14388
+
e2 = e2 | 0;
14389
14389
+
var f2 = 0, g2 = 0;
14390
14390
+
g2 = T;
14391
14391
+
T = T + 16 | 0;
14392
14392
+
f2 = g2;
14393
14393
+
if (!d2) {
14394
14394
+
c2 = fb(c2, f2) | 0;
14395
14395
+
if (!c2) {
14396
14396
+
c2 = Ic(a3, b2, f2, e2) | 0;
14397
14397
+
}
14398
14398
+
} else {
14399
14399
+
c2 = 15;
14400
14400
+
}
14401
14401
+
T = g2;
14402
14402
+
return c2 | 0;
14403
14403
+
}
14404
14404
+
function Lc(a3, c2, d2, e2, f2) {
14405
14405
+
a3 = a3 | 0;
14406
14406
+
c2 = c2 | 0;
14407
14407
+
d2 = d2 | 0;
14408
14408
+
e2 = e2 | 0;
14409
14409
+
f2 = f2 | 0;
14410
14410
+
var g2 = 0, h = 0, i = 0, j = 0;
14411
14411
+
j = T;
14412
14412
+
T = T + 32 | 0;
14413
14413
+
h = j + 12 | 0;
14414
14414
+
i = j;
14415
14415
+
g2 = Hc(a3, c2, a3, c2, h) | 0;
14416
14416
+
if (g2 | 0) {
14417
14417
+
i = g2;
14418
14418
+
T = j;
14419
14419
+
return i | 0;
14420
14420
+
}
14421
14421
+
a3 = Hc(a3, c2, d2, e2, i) | 0;
14422
14422
+
if (a3 | 0) {
14423
14423
+
i = a3;
14424
14424
+
T = j;
14425
14425
+
return i | 0;
14426
14426
+
}
14427
14427
+
h = db(h, i) | 0;
14428
14428
+
i = f2;
14429
14429
+
b[i >> 2] = h;
14430
14430
+
b[i + 4 >> 2] = ((h | 0) < 0) << 31 >> 31;
14431
14431
+
i = 0;
14432
14432
+
T = j;
14433
14433
+
return i | 0;
14434
14434
+
}
14435
14435
+
function Mc(a3, c2, d2, e2, f2) {
14436
14436
+
a3 = a3 | 0;
14437
14437
+
c2 = c2 | 0;
14438
14438
+
d2 = d2 | 0;
14439
14439
+
e2 = e2 | 0;
14440
14440
+
f2 = f2 | 0;
14441
14441
+
var g2 = 0, h = 0, i = 0, j = 0;
14442
14442
+
j = T;
14443
14443
+
T = T + 32 | 0;
14444
14444
+
h = j + 12 | 0;
14445
14445
+
i = j;
14446
14446
+
g2 = Hc(a3, c2, a3, c2, h) | 0;
14447
14447
+
if (!g2) {
14448
14448
+
g2 = Hc(a3, c2, d2, e2, i) | 0;
14449
14449
+
if (!g2) {
14450
14450
+
e2 = db(h, i) | 0;
14451
14451
+
e2 = Gd(e2 | 0, ((e2 | 0) < 0) << 31 >> 31 | 0, 1, 0) | 0;
14452
14452
+
h = H() | 0;
14453
14453
+
i = f2;
14454
14454
+
b[i >> 2] = e2;
14455
14455
+
b[i + 4 >> 2] = h;
14456
14456
+
i = 0;
14457
14457
+
T = j;
14458
14458
+
return i | 0;
14459
14459
+
}
14460
14460
+
}
14461
14461
+
i = g2;
14462
14462
+
T = j;
14463
14463
+
return i | 0;
14464
14464
+
}
14465
14465
+
function Nc(a3, c2, d2, e2, f2) {
14466
14466
+
a3 = a3 | 0;
14467
14467
+
c2 = c2 | 0;
14468
14468
+
d2 = d2 | 0;
14469
14469
+
e2 = e2 | 0;
14470
14470
+
f2 = f2 | 0;
14471
14471
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0;
14472
14472
+
z2 = T;
14473
14473
+
T = T + 48 | 0;
14474
14474
+
x2 = z2 + 24 | 0;
14475
14475
+
h = z2 + 12 | 0;
14476
14476
+
y2 = z2;
14477
14477
+
g2 = Hc(a3, c2, a3, c2, x2) | 0;
14478
14478
+
if (!g2) {
14479
14479
+
g2 = Hc(a3, c2, d2, e2, h) | 0;
14480
14480
+
if (!g2) {
14481
14481
+
v2 = db(x2, h) | 0;
14482
14482
+
w2 = ((v2 | 0) < 0) << 31 >> 31;
14483
14483
+
b[x2 >> 2] = 0;
14484
14484
+
b[x2 + 4 >> 2] = 0;
14485
14485
+
b[x2 + 8 >> 2] = 0;
14486
14486
+
b[h >> 2] = 0;
14487
14487
+
b[h + 4 >> 2] = 0;
14488
14488
+
b[h + 8 >> 2] = 0;
14489
14489
+
if (Hc(a3, c2, a3, c2, x2) | 0) {
14490
14490
+
I(27795, 27538, 692, 27747);
14491
14491
+
}
14492
14492
+
if (Hc(a3, c2, d2, e2, h) | 0) {
14493
14493
+
I(27795, 27538, 697, 27747);
14494
14494
+
}
14495
14495
+
gb(x2);
14496
14496
+
gb(h);
14497
14497
+
l = (v2 | 0) == 0 ? 0 : 1 / +(v2 | 0);
14498
14498
+
d2 = b[x2 >> 2] | 0;
14499
14499
+
r2 = l * +((b[h >> 2] | 0) - d2 | 0);
14500
14500
+
s2 = x2 + 4 | 0;
14501
14501
+
e2 = b[s2 >> 2] | 0;
14502
14502
+
t2 = l * +((b[h + 4 >> 2] | 0) - e2 | 0);
14503
14503
+
u2 = x2 + 8 | 0;
14504
14504
+
g2 = b[u2 >> 2] | 0;
14505
14505
+
l = l * +((b[h + 8 >> 2] | 0) - g2 | 0);
14506
14506
+
b[y2 >> 2] = d2;
14507
14507
+
m = y2 + 4 | 0;
14508
14508
+
b[m >> 2] = e2;
14509
14509
+
n = y2 + 8 | 0;
14510
14510
+
b[n >> 2] = g2;
14511
14511
+
a:
14512
14512
+
do {
14513
14513
+
if ((v2 | 0) < 0) {
14514
14514
+
g2 = 0;
14515
14515
+
} else {
14516
14516
+
o = 0;
14517
14517
+
p3 = 0;
14518
14518
+
while (true) {
14519
14519
+
j = +(p3 >>> 0) + 4294967296 * +(o | 0);
14520
14520
+
A2 = r2 * j + +(d2 | 0);
14521
14521
+
i = t2 * j + +(e2 | 0);
14522
14522
+
j = l * j + +(g2 | 0);
14523
14523
+
d2 = ~~+Vd(+A2);
14524
14524
+
h = ~~+Vd(+i);
14525
14525
+
g2 = ~~+Vd(+j);
14526
14526
+
A2 = +q(+(+(d2 | 0) - A2));
14527
14527
+
i = +q(+(+(h | 0) - i));
14528
14528
+
j = +q(+(+(g2 | 0) - j));
14529
14529
+
do {
14530
14530
+
if (!(A2 > i & A2 > j)) {
14531
14531
+
k = 0 - d2 | 0;
14532
14532
+
if (i > j) {
14533
14533
+
e2 = k - g2 | 0;
14534
14534
+
break;
14535
14535
+
} else {
14536
14536
+
e2 = h;
14537
14537
+
g2 = k - h | 0;
14538
14538
+
break;
14539
14539
+
}
14540
14540
+
} else {
14541
14541
+
d2 = 0 - (h + g2) | 0;
14542
14542
+
e2 = h;
14543
14543
+
}
14544
14544
+
} while (0);
14545
14545
+
b[y2 >> 2] = d2;
14546
14546
+
b[m >> 2] = e2;
14547
14547
+
b[n >> 2] = g2;
14548
14548
+
hb(y2);
14549
14549
+
g2 = Ic(a3, c2, y2, f2 + (p3 << 3) | 0) | 0;
14550
14550
+
if (g2 | 0) {
14551
14551
+
break a;
14552
14552
+
}
14553
14553
+
if (!((o | 0) < (w2 | 0) | (o | 0) == (w2 | 0) & p3 >>> 0 < v2 >>> 0)) {
14554
14554
+
g2 = 0;
14555
14555
+
break a;
14556
14556
+
}
14557
14557
+
d2 = Gd(p3 | 0, o | 0, 1, 0) | 0;
14558
14558
+
e2 = H() | 0;
14559
14559
+
o = e2;
14560
14560
+
p3 = d2;
14561
14561
+
d2 = b[x2 >> 2] | 0;
14562
14562
+
e2 = b[s2 >> 2] | 0;
14563
14563
+
g2 = b[u2 >> 2] | 0;
14564
14564
+
}
14565
14565
+
}
14566
14566
+
} while (0);
14567
14567
+
y2 = g2;
14568
14568
+
T = z2;
14569
14569
+
return y2 | 0;
14570
14570
+
}
14571
14571
+
}
14572
14572
+
y2 = g2;
14573
14573
+
T = z2;
14574
14574
+
return y2 | 0;
14575
14575
+
}
14576
14576
+
function Oc(a3, b2, c2, d2) {
14577
14577
+
a3 = a3 | 0;
14578
14578
+
b2 = b2 | 0;
14579
14579
+
c2 = c2 | 0;
14580
14580
+
d2 = d2 | 0;
14581
14581
+
var e2 = 0, f2 = 0, g2 = 0;
14582
14582
+
if ((c2 | 0) == 0 & (d2 | 0) == 0) {
14583
14583
+
e2 = 0;
14584
14584
+
f2 = 1;
14585
14585
+
G(e2 | 0);
14586
14586
+
return f2 | 0;
14587
14587
+
}
14588
14588
+
f2 = a3;
14589
14589
+
e2 = b2;
14590
14590
+
a3 = 1;
14591
14591
+
b2 = 0;
14592
14592
+
do {
14593
14593
+
g2 = (c2 & 1 | 0) == 0 & true;
14594
14594
+
a3 = Md((g2 ? 1 : f2) | 0, (g2 ? 0 : e2) | 0, a3 | 0, b2 | 0) | 0;
14595
14595
+
b2 = H() | 0;
14596
14596
+
c2 = Pd(c2 | 0, d2 | 0, 1) | 0;
14597
14597
+
d2 = H() | 0;
14598
14598
+
f2 = Md(f2 | 0, e2 | 0, f2 | 0, e2 | 0) | 0;
14599
14599
+
e2 = H() | 0;
14600
14600
+
} while (!((c2 | 0) == 0 & (d2 | 0) == 0));
14601
14601
+
G(b2 | 0);
14602
14602
+
return a3 | 0;
14603
14603
+
}
14604
14604
+
function Pc(a3, c2, d2, f2) {
14605
14605
+
a3 = a3 | 0;
14606
14606
+
c2 = c2 | 0;
14607
14607
+
d2 = d2 | 0;
14608
14608
+
f2 = f2 | 0;
14609
14609
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
14610
14610
+
j = T;
14611
14611
+
T = T + 16 | 0;
14612
14612
+
h = j;
14613
14613
+
i = Qd(a3 | 0, c2 | 0, 52) | 0;
14614
14614
+
H() | 0;
14615
14615
+
i = i & 15;
14616
14616
+
do {
14617
14617
+
if (!i) {
14618
14618
+
g2 = Qd(a3 | 0, c2 | 0, 45) | 0;
14619
14619
+
H() | 0;
14620
14620
+
g2 = g2 & 127;
14621
14621
+
if (g2 >>> 0 > 121) {
14622
14622
+
i = 5;
14623
14623
+
T = j;
14624
14624
+
return i | 0;
14625
14625
+
} else {
14626
14626
+
h = 22064 + (g2 << 5) | 0;
14627
14627
+
b[d2 >> 2] = b[h >> 2];
14628
14628
+
b[d2 + 4 >> 2] = b[h + 4 >> 2];
14629
14629
+
b[d2 + 8 >> 2] = b[h + 8 >> 2];
14630
14630
+
b[d2 + 12 >> 2] = b[h + 12 >> 2];
14631
14631
+
b[d2 + 16 >> 2] = b[h + 16 >> 2];
14632
14632
+
b[d2 + 20 >> 2] = b[h + 20 >> 2];
14633
14633
+
b[d2 + 24 >> 2] = b[h + 24 >> 2];
14634
14634
+
b[d2 + 28 >> 2] = b[h + 28 >> 2];
14635
14635
+
break;
14636
14636
+
}
14637
14637
+
} else {
14638
14638
+
g2 = Zb(a3, c2, h) | 0;
14639
14639
+
if (!g2) {
14640
14640
+
l = +e[h >> 3];
14641
14641
+
k = 1 / +t(+l);
14642
14642
+
m = +e[25968 + (i << 3) >> 3];
14643
14643
+
e[d2 >> 3] = l + m;
14644
14644
+
e[d2 + 8 >> 3] = l - m;
14645
14645
+
l = +e[h + 8 >> 3];
14646
14646
+
k = m * k;
14647
14647
+
e[d2 + 16 >> 3] = k + l;
14648
14648
+
e[d2 + 24 >> 3] = l - k;
14649
14649
+
break;
14650
14650
+
}
14651
14651
+
i = g2;
14652
14652
+
T = j;
14653
14653
+
return i | 0;
14654
14654
+
}
14655
14655
+
} while (0);
14656
14656
+
Ja(d2, f2 ? 1.4 : 1.1);
14657
14657
+
f2 = 26096 + (i << 3) | 0;
14658
14658
+
if ((b[f2 >> 2] | 0) == (a3 | 0) ? (b[f2 + 4 >> 2] | 0) == (c2 | 0) : 0) {
14659
14659
+
e[d2 >> 3] = 1.5707963267948966;
14660
14660
+
}
14661
14661
+
i = 26224 + (i << 3) | 0;
14662
14662
+
if ((b[i >> 2] | 0) == (a3 | 0) ? (b[i + 4 >> 2] | 0) == (c2 | 0) : 0) {
14663
14663
+
e[d2 + 8 >> 3] = -1.5707963267948966;
14664
14664
+
}
14665
14665
+
if (!(+e[d2 >> 3] == 1.5707963267948966) ? !(+e[d2 + 8 >> 3] == -1.5707963267948966) : 0) {
14666
14666
+
i = 0;
14667
14667
+
T = j;
14668
14668
+
return i | 0;
14669
14669
+
}
14670
14670
+
e[d2 + 16 >> 3] = 3.141592653589793;
14671
14671
+
e[d2 + 24 >> 3] = -3.141592653589793;
14672
14672
+
i = 0;
14673
14673
+
T = j;
14674
14674
+
return i | 0;
14675
14675
+
}
14676
14676
+
function Qc(c2, d2, e2, f2) {
14677
14677
+
c2 = c2 | 0;
14678
14678
+
d2 = d2 | 0;
14679
14679
+
e2 = e2 | 0;
14680
14680
+
f2 = f2 | 0;
14681
14681
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
14682
14682
+
l = T;
14683
14683
+
T = T + 48 | 0;
14684
14684
+
i = l + 32 | 0;
14685
14685
+
h = l + 40 | 0;
14686
14686
+
j = l;
14687
14687
+
Eb(i, 0, 0, 0);
14688
14688
+
k = b[i >> 2] | 0;
14689
14689
+
i = b[i + 4 >> 2] | 0;
14690
14690
+
do {
14691
14691
+
if (e2 >>> 0 <= 15) {
14692
14692
+
g2 = Xc(f2) | 0;
14693
14693
+
if (g2 | 0) {
14694
14694
+
f2 = j;
14695
14695
+
b[f2 >> 2] = 0;
14696
14696
+
b[f2 + 4 >> 2] = 0;
14697
14697
+
b[j + 8 >> 2] = g2;
14698
14698
+
b[j + 12 >> 2] = -1;
14699
14699
+
f2 = j + 16 | 0;
14700
14700
+
k = j + 29 | 0;
14701
14701
+
b[f2 >> 2] = 0;
14702
14702
+
b[f2 + 4 >> 2] = 0;
14703
14703
+
b[f2 + 8 >> 2] = 0;
14704
14704
+
a2[f2 + 12 >> 0] = 0;
14705
14705
+
a2[k >> 0] = a2[h >> 0] | 0;
14706
14706
+
a2[k + 1 >> 0] = a2[h + 1 >> 0] | 0;
14707
14707
+
a2[k + 2 >> 0] = a2[h + 2 >> 0] | 0;
14708
14708
+
break;
14709
14709
+
}
14710
14710
+
g2 = Fd((b[d2 + 8 >> 2] | 0) + 1 | 0, 32) | 0;
14711
14711
+
if (!g2) {
14712
14712
+
f2 = j;
14713
14713
+
b[f2 >> 2] = 0;
14714
14714
+
b[f2 + 4 >> 2] = 0;
14715
14715
+
b[j + 8 >> 2] = 13;
14716
14716
+
b[j + 12 >> 2] = -1;
14717
14717
+
f2 = j + 16 | 0;
14718
14718
+
k = j + 29 | 0;
14719
14719
+
b[f2 >> 2] = 0;
14720
14720
+
b[f2 + 4 >> 2] = 0;
14721
14721
+
b[f2 + 8 >> 2] = 0;
14722
14722
+
a2[f2 + 12 >> 0] = 0;
14723
14723
+
a2[k >> 0] = a2[h >> 0] | 0;
14724
14724
+
a2[k + 1 >> 0] = a2[h + 1 >> 0] | 0;
14725
14725
+
a2[k + 2 >> 0] = a2[h + 2 >> 0] | 0;
14726
14726
+
break;
14727
14727
+
} else {
14728
14728
+
Yc(d2, g2);
14729
14729
+
m = j;
14730
14730
+
b[m >> 2] = k;
14731
14731
+
b[m + 4 >> 2] = i;
14732
14732
+
b[j + 8 >> 2] = 0;
14733
14733
+
b[j + 12 >> 2] = e2;
14734
14734
+
b[j + 16 >> 2] = f2;
14735
14735
+
b[j + 20 >> 2] = d2;
14736
14736
+
b[j + 24 >> 2] = g2;
14737
14737
+
a2[j + 28 >> 0] = 0;
14738
14738
+
k = j + 29 | 0;
14739
14739
+
a2[k >> 0] = a2[h >> 0] | 0;
14740
14740
+
a2[k + 1 >> 0] = a2[h + 1 >> 0] | 0;
14741
14741
+
a2[k + 2 >> 0] = a2[h + 2 >> 0] | 0;
14742
14742
+
break;
14743
14743
+
}
14744
14744
+
} else {
14745
14745
+
k = j;
14746
14746
+
b[k >> 2] = 0;
14747
14747
+
b[k + 4 >> 2] = 0;
14748
14748
+
b[j + 8 >> 2] = 4;
14749
14749
+
b[j + 12 >> 2] = -1;
14750
14750
+
k = j + 16 | 0;
14751
14751
+
m = j + 29 | 0;
14752
14752
+
b[k >> 2] = 0;
14753
14753
+
b[k + 4 >> 2] = 0;
14754
14754
+
b[k + 8 >> 2] = 0;
14755
14755
+
a2[k + 12 >> 0] = 0;
14756
14756
+
a2[m >> 0] = a2[h >> 0] | 0;
14757
14757
+
a2[m + 1 >> 0] = a2[h + 1 >> 0] | 0;
14758
14758
+
a2[m + 2 >> 0] = a2[h + 2 >> 0] | 0;
14759
14759
+
}
14760
14760
+
} while (0);
14761
14761
+
Rc(j);
14762
14762
+
b[c2 >> 2] = b[j >> 2];
14763
14763
+
b[c2 + 4 >> 2] = b[j + 4 >> 2];
14764
14764
+
b[c2 + 8 >> 2] = b[j + 8 >> 2];
14765
14765
+
b[c2 + 12 >> 2] = b[j + 12 >> 2];
14766
14766
+
b[c2 + 16 >> 2] = b[j + 16 >> 2];
14767
14767
+
b[c2 + 20 >> 2] = b[j + 20 >> 2];
14768
14768
+
b[c2 + 24 >> 2] = b[j + 24 >> 2];
14769
14769
+
b[c2 + 28 >> 2] = b[j + 28 >> 2];
14770
14770
+
T = l;
14771
14771
+
return;
14772
14772
+
}
14773
14773
+
function Rc(c2) {
14774
14774
+
c2 = c2 | 0;
14775
14775
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0;
14776
14776
+
w2 = T;
14777
14777
+
T = T + 336 | 0;
14778
14778
+
p3 = w2 + 168 | 0;
14779
14779
+
q2 = w2;
14780
14780
+
f2 = c2;
14781
14781
+
e2 = b[f2 >> 2] | 0;
14782
14782
+
f2 = b[f2 + 4 >> 2] | 0;
14783
14783
+
if ((e2 | 0) == 0 & (f2 | 0) == 0) {
14784
14784
+
T = w2;
14785
14785
+
return;
14786
14786
+
}
14787
14787
+
d2 = c2 + 28 | 0;
14788
14788
+
if (!(a2[d2 >> 0] | 0)) {
14789
14789
+
a2[d2 >> 0] = 1;
14790
14790
+
} else {
14791
14791
+
e2 = Sc(e2, f2) | 0;
14792
14792
+
f2 = H() | 0;
14793
14793
+
}
14794
14794
+
v2 = c2 + 20 | 0;
14795
14795
+
if (!(b[b[v2 >> 2] >> 2] | 0)) {
14796
14796
+
d2 = c2 + 24 | 0;
14797
14797
+
e2 = b[d2 >> 2] | 0;
14798
14798
+
if (e2 | 0) {
14799
14799
+
Ed(e2);
14800
14800
+
}
14801
14801
+
u2 = c2;
14802
14802
+
b[u2 >> 2] = 0;
14803
14803
+
b[u2 + 4 >> 2] = 0;
14804
14804
+
b[c2 + 8 >> 2] = 0;
14805
14805
+
b[v2 >> 2] = 0;
14806
14806
+
b[c2 + 12 >> 2] = -1;
14807
14807
+
b[c2 + 16 >> 2] = 0;
14808
14808
+
b[d2 >> 2] = 0;
14809
14809
+
T = w2;
14810
14810
+
return;
14811
14811
+
}
14812
14812
+
u2 = c2 + 16 | 0;
14813
14813
+
d2 = b[u2 >> 2] | 0;
14814
14814
+
g2 = d2 & 15;
14815
14815
+
a:
14816
14816
+
do {
14817
14817
+
if (!((e2 | 0) == 0 & (f2 | 0) == 0)) {
14818
14818
+
r2 = c2 + 12 | 0;
14819
14819
+
n = (g2 | 0) == 3;
14820
14820
+
m = d2 & 255;
14821
14821
+
k = (g2 | 1 | 0) == 3;
14822
14822
+
o = c2 + 24 | 0;
14823
14823
+
l = (g2 + -1 | 0) >>> 0 < 3;
14824
14824
+
i = (g2 | 2 | 0) == 3;
14825
14825
+
j = q2 + 8 | 0;
14826
14826
+
b:
14827
14827
+
while (true) {
14828
14828
+
h = Qd(e2 | 0, f2 | 0, 52) | 0;
14829
14829
+
H() | 0;
14830
14830
+
h = h & 15;
14831
14831
+
if ((h | 0) == (b[r2 >> 2] | 0)) {
14832
14832
+
switch (m & 15) {
14833
14833
+
case 0:
14834
14834
+
case 2:
14835
14835
+
case 3: {
14836
14836
+
g2 = Zb(e2, f2, p3) | 0;
14837
14837
+
if (g2 | 0) {
14838
14838
+
s2 = 15;
14839
14839
+
break b;
14840
14840
+
}
14841
14841
+
if (Zc(b[v2 >> 2] | 0, b[o >> 2] | 0, p3) | 0) {
14842
14842
+
s2 = 19;
14843
14843
+
break b;
14844
14844
+
}
14845
14845
+
break;
14846
14846
+
}
14847
14847
+
default:
14848
14848
+
}
14849
14849
+
if (k ? (g2 = b[(b[v2 >> 2] | 0) + 4 >> 2] | 0, b[p3 >> 2] = b[g2 >> 2], b[p3 + 4 >> 2] = b[g2 + 4 >> 2], b[p3 + 8 >> 2] = b[g2 + 8 >> 2], b[p3 + 12 >> 2] = b[g2 + 12 >> 2], Ca(26832, p3) | 0) : 0) {
14850
14850
+
if (Wb(b[(b[v2 >> 2] | 0) + 4 >> 2] | 0, h, q2) | 0) {
14851
14851
+
s2 = 25;
14852
14852
+
break;
14853
14853
+
}
14854
14854
+
g2 = q2;
14855
14855
+
if ((b[g2 >> 2] | 0) == (e2 | 0) ? (b[g2 + 4 >> 2] | 0) == (f2 | 0) : 0) {
14856
14856
+
s2 = 29;
14857
14857
+
break;
14858
14858
+
}
14859
14859
+
}
14860
14860
+
if (l) {
14861
14861
+
g2 = _b(e2, f2, p3) | 0;
14862
14862
+
if (g2 | 0) {
14863
14863
+
s2 = 32;
14864
14864
+
break;
14865
14865
+
}
14866
14866
+
if (Pc(e2, f2, q2, 0) | 0) {
14867
14867
+
s2 = 36;
14868
14868
+
break;
14869
14869
+
}
14870
14870
+
if (i ? _c(b[v2 >> 2] | 0, b[o >> 2] | 0, p3, q2) | 0 : 0) {
14871
14871
+
s2 = 42;
14872
14872
+
break;
14873
14873
+
}
14874
14874
+
if (k ? ad(b[v2 >> 2] | 0, b[o >> 2] | 0, p3, q2) | 0 : 0) {
14875
14875
+
s2 = 42;
14876
14876
+
break;
14877
14877
+
}
14878
14878
+
}
14879
14879
+
if (n) {
14880
14880
+
d2 = Pc(e2, f2, p3, 1) | 0;
14881
14881
+
g2 = b[o >> 2] | 0;
14882
14882
+
if (d2 | 0) {
14883
14883
+
s2 = 45;
14884
14884
+
break;
14885
14885
+
}
14886
14886
+
if (Da(g2, p3) | 0) {
14887
14887
+
Ga(q2, p3);
14888
14888
+
if (Fa(p3, b[o >> 2] | 0) | 0) {
14889
14889
+
s2 = 53;
14890
14890
+
break;
14891
14891
+
}
14892
14892
+
if (Zc(b[v2 >> 2] | 0, b[o >> 2] | 0, j) | 0) {
14893
14893
+
s2 = 53;
14894
14894
+
break;
14895
14895
+
}
14896
14896
+
if (ad(b[v2 >> 2] | 0, b[o >> 2] | 0, q2, p3) | 0) {
14897
14897
+
s2 = 53;
14898
14898
+
break;
14899
14899
+
}
14900
14900
+
}
14901
14901
+
}
14902
14902
+
}
14903
14903
+
do {
14904
14904
+
if ((h | 0) < (b[r2 >> 2] | 0)) {
14905
14905
+
d2 = Pc(e2, f2, p3, 1) | 0;
14906
14906
+
g2 = b[o >> 2] | 0;
14907
14907
+
if (d2 | 0) {
14908
14908
+
s2 = 58;
14909
14909
+
break b;
14910
14910
+
}
14911
14911
+
if (!(Da(g2, p3) | 0)) {
14912
14912
+
s2 = 73;
14913
14913
+
break;
14914
14914
+
}
14915
14915
+
if (Fa(b[o >> 2] | 0, p3) | 0 ? (Ga(q2, p3), _c(b[v2 >> 2] | 0, b[o >> 2] | 0, q2, p3) | 0) : 0) {
14916
14916
+
s2 = 65;
14917
14917
+
break b;
14918
14918
+
}
14919
14919
+
e2 = Kb(e2, f2, h + 1 | 0, q2) | 0;
14920
14920
+
if (e2 | 0) {
14921
14921
+
s2 = 67;
14922
14922
+
break b;
14923
14923
+
}
14924
14924
+
f2 = q2;
14925
14925
+
e2 = b[f2 >> 2] | 0;
14926
14926
+
f2 = b[f2 + 4 >> 2] | 0;
14927
14927
+
} else {
14928
14928
+
s2 = 73;
14929
14929
+
}
14930
14930
+
} while (0);
14931
14931
+
if ((s2 | 0) == 73) {
14932
14932
+
s2 = 0;
14933
14933
+
e2 = Sc(e2, f2) | 0;
14934
14934
+
f2 = H() | 0;
14935
14935
+
}
14936
14936
+
if ((e2 | 0) == 0 & (f2 | 0) == 0) {
14937
14937
+
t2 = o;
14938
14938
+
break a;
14939
14939
+
}
14940
14940
+
}
14941
14941
+
switch (s2 | 0) {
14942
14942
+
case 15: {
14943
14943
+
d2 = b[o >> 2] | 0;
14944
14944
+
if (d2 | 0) {
14945
14945
+
Ed(d2);
14946
14946
+
}
14947
14947
+
s2 = c2;
14948
14948
+
b[s2 >> 2] = 0;
14949
14949
+
b[s2 + 4 >> 2] = 0;
14950
14950
+
b[v2 >> 2] = 0;
14951
14951
+
b[r2 >> 2] = -1;
14952
14952
+
b[u2 >> 2] = 0;
14953
14953
+
b[o >> 2] = 0;
14954
14954
+
b[c2 + 8 >> 2] = g2;
14955
14955
+
s2 = 20;
14956
14956
+
break;
14957
14957
+
}
14958
14958
+
case 19: {
14959
14959
+
b[c2 >> 2] = e2;
14960
14960
+
b[c2 + 4 >> 2] = f2;
14961
14961
+
s2 = 20;
14962
14962
+
break;
14963
14963
+
}
14964
14964
+
case 25: {
14965
14965
+
I(27795, 27761, 470, 27772);
14966
14966
+
break;
14967
14967
+
}
14968
14968
+
case 29: {
14969
14969
+
b[c2 >> 2] = e2;
14970
14970
+
b[c2 + 4 >> 2] = f2;
14971
14971
+
T = w2;
14972
14972
+
return;
14973
14973
+
}
14974
14974
+
case 32: {
14975
14975
+
d2 = b[o >> 2] | 0;
14976
14976
+
if (d2 | 0) {
14977
14977
+
Ed(d2);
14978
14978
+
}
14979
14979
+
t2 = c2;
14980
14980
+
b[t2 >> 2] = 0;
14981
14981
+
b[t2 + 4 >> 2] = 0;
14982
14982
+
b[v2 >> 2] = 0;
14983
14983
+
b[r2 >> 2] = -1;
14984
14984
+
b[u2 >> 2] = 0;
14985
14985
+
b[o >> 2] = 0;
14986
14986
+
b[c2 + 8 >> 2] = g2;
14987
14987
+
T = w2;
14988
14988
+
return;
14989
14989
+
}
14990
14990
+
case 36: {
14991
14991
+
I(27795, 27761, 493, 27772);
14992
14992
+
break;
14993
14993
+
}
14994
14994
+
case 42: {
14995
14995
+
b[c2 >> 2] = e2;
14996
14996
+
b[c2 + 4 >> 2] = f2;
14997
14997
+
T = w2;
14998
14998
+
return;
14999
14999
+
}
15000
15000
+
case 45: {
15001
15001
+
if (g2 | 0) {
15002
15002
+
Ed(g2);
15003
15003
+
}
15004
15004
+
s2 = c2;
15005
15005
+
b[s2 >> 2] = 0;
15006
15006
+
b[s2 + 4 >> 2] = 0;
15007
15007
+
b[v2 >> 2] = 0;
15008
15008
+
b[r2 >> 2] = -1;
15009
15009
+
b[u2 >> 2] = 0;
15010
15010
+
b[o >> 2] = 0;
15011
15011
+
b[c2 + 8 >> 2] = d2;
15012
15012
+
s2 = 55;
15013
15013
+
break;
15014
15014
+
}
15015
15015
+
case 53: {
15016
15016
+
b[c2 >> 2] = e2;
15017
15017
+
b[c2 + 4 >> 2] = f2;
15018
15018
+
s2 = 55;
15019
15019
+
break;
15020
15020
+
}
15021
15021
+
case 58: {
15022
15022
+
if (g2 | 0) {
15023
15023
+
Ed(g2);
15024
15024
+
}
15025
15025
+
s2 = c2;
15026
15026
+
b[s2 >> 2] = 0;
15027
15027
+
b[s2 + 4 >> 2] = 0;
15028
15028
+
b[v2 >> 2] = 0;
15029
15029
+
b[r2 >> 2] = -1;
15030
15030
+
b[u2 >> 2] = 0;
15031
15031
+
b[o >> 2] = 0;
15032
15032
+
b[c2 + 8 >> 2] = d2;
15033
15033
+
s2 = 71;
15034
15034
+
break;
15035
15035
+
}
15036
15036
+
case 65: {
15037
15037
+
b[c2 >> 2] = e2;
15038
15038
+
b[c2 + 4 >> 2] = f2;
15039
15039
+
s2 = 71;
15040
15040
+
break;
15041
15041
+
}
15042
15042
+
case 67: {
15043
15043
+
d2 = b[o >> 2] | 0;
15044
15044
+
if (d2 | 0) {
15045
15045
+
Ed(d2);
15046
15046
+
}
15047
15047
+
t2 = c2;
15048
15048
+
b[t2 >> 2] = 0;
15049
15049
+
b[t2 + 4 >> 2] = 0;
15050
15050
+
b[v2 >> 2] = 0;
15051
15051
+
b[r2 >> 2] = -1;
15052
15052
+
b[u2 >> 2] = 0;
15053
15053
+
b[o >> 2] = 0;
15054
15054
+
b[c2 + 8 >> 2] = e2;
15055
15055
+
T = w2;
15056
15056
+
return;
15057
15057
+
}
15058
15058
+
}
15059
15059
+
if ((s2 | 0) == 20) {
15060
15060
+
T = w2;
15061
15061
+
return;
15062
15062
+
} else if ((s2 | 0) == 55) {
15063
15063
+
T = w2;
15064
15064
+
return;
15065
15065
+
} else if ((s2 | 0) == 71) {
15066
15066
+
T = w2;
15067
15067
+
return;
15068
15068
+
}
15069
15069
+
} else {
15070
15070
+
t2 = c2 + 24 | 0;
15071
15071
+
}
15072
15072
+
} while (0);
15073
15073
+
d2 = b[t2 >> 2] | 0;
15074
15074
+
if (d2 | 0) {
15075
15075
+
Ed(d2);
15076
15076
+
}
15077
15077
+
s2 = c2;
15078
15078
+
b[s2 >> 2] = 0;
15079
15079
+
b[s2 + 4 >> 2] = 0;
15080
15080
+
b[c2 + 8 >> 2] = 0;
15081
15081
+
b[v2 >> 2] = 0;
15082
15082
+
b[c2 + 12 >> 2] = -1;
15083
15083
+
b[u2 >> 2] = 0;
15084
15084
+
b[t2 >> 2] = 0;
15085
15085
+
T = w2;
15086
15086
+
return;
15087
15087
+
}
15088
15088
+
function Sc(a3, c2) {
15089
15089
+
a3 = a3 | 0;
15090
15090
+
c2 = c2 | 0;
15091
15091
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0;
15092
15092
+
m = T;
15093
15093
+
T = T + 16 | 0;
15094
15094
+
l = m;
15095
15095
+
e2 = Qd(a3 | 0, c2 | 0, 52) | 0;
15096
15096
+
H() | 0;
15097
15097
+
e2 = e2 & 15;
15098
15098
+
d2 = Qd(a3 | 0, c2 | 0, 45) | 0;
15099
15099
+
H() | 0;
15100
15100
+
do {
15101
15101
+
if (e2) {
15102
15102
+
while (true) {
15103
15103
+
d2 = Rd(e2 + 4095 | 0, 0, 52) | 0;
15104
15104
+
f2 = H() | 0 | c2 & -15728641;
15105
15105
+
g2 = (15 - e2 | 0) * 3 | 0;
15106
15106
+
h = Rd(7, 0, g2 | 0) | 0;
15107
15107
+
i = H() | 0;
15108
15108
+
d2 = d2 | a3 | h;
15109
15109
+
f2 = f2 | i;
15110
15110
+
j = Qd(a3 | 0, c2 | 0, g2 | 0) | 0;
15111
15111
+
H() | 0;
15112
15112
+
j = j & 7;
15113
15113
+
e2 = e2 + -1 | 0;
15114
15114
+
if (j >>> 0 < 6) {
15115
15115
+
break;
15116
15116
+
}
15117
15117
+
if (!e2) {
15118
15118
+
k = 4;
15119
15119
+
break;
15120
15120
+
} else {
15121
15121
+
c2 = f2;
15122
15122
+
a3 = d2;
15123
15123
+
}
15124
15124
+
}
15125
15125
+
if ((k | 0) == 4) {
15126
15126
+
d2 = Qd(d2 | 0, f2 | 0, 45) | 0;
15127
15127
+
H() | 0;
15128
15128
+
break;
15129
15129
+
}
15130
15130
+
l = (j | 0) == 0 & (Hb(d2, f2) | 0) != 0;
15131
15131
+
l = Rd((l ? 2 : 1) + j | 0, 0, g2 | 0) | 0;
15132
15132
+
k = H() | 0 | c2 & ~i;
15133
15133
+
l = l | a3 & ~h;
15134
15134
+
G(k | 0);
15135
15135
+
T = m;
15136
15136
+
return l | 0;
15137
15137
+
}
15138
15138
+
} while (0);
15139
15139
+
d2 = d2 & 127;
15140
15140
+
if (d2 >>> 0 > 120) {
15141
15141
+
k = 0;
15142
15142
+
l = 0;
15143
15143
+
G(k | 0);
15144
15144
+
T = m;
15145
15145
+
return l | 0;
15146
15146
+
}
15147
15147
+
Eb(l, 0, d2 + 1 | 0, 0);
15148
15148
+
k = b[l + 4 >> 2] | 0;
15149
15149
+
l = b[l >> 2] | 0;
15150
15150
+
G(k | 0);
15151
15151
+
T = m;
15152
15152
+
return l | 0;
15153
15153
+
}
15154
15154
+
function Tc(a3, c2, d2, e2, f2, g2) {
15155
15155
+
a3 = a3 | 0;
15156
15156
+
c2 = c2 | 0;
15157
15157
+
d2 = d2 | 0;
15158
15158
+
e2 = e2 | 0;
15159
15159
+
f2 = f2 | 0;
15160
15160
+
g2 = g2 | 0;
15161
15161
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0;
15162
15162
+
r2 = T;
15163
15163
+
T = T + 160 | 0;
15164
15164
+
m = r2 + 80 | 0;
15165
15165
+
i = r2 + 64 | 0;
15166
15166
+
n = r2 + 112 | 0;
15167
15167
+
q2 = r2;
15168
15168
+
Qc(m, a3, c2, d2);
15169
15169
+
k = m;
15170
15170
+
fc(i, b[k >> 2] | 0, b[k + 4 >> 2] | 0, c2);
15171
15171
+
k = i;
15172
15172
+
j = b[k >> 2] | 0;
15173
15173
+
k = b[k + 4 >> 2] | 0;
15174
15174
+
h = b[m + 8 >> 2] | 0;
15175
15175
+
o = n + 4 | 0;
15176
15176
+
b[o >> 2] = b[m >> 2];
15177
15177
+
b[o + 4 >> 2] = b[m + 4 >> 2];
15178
15178
+
b[o + 8 >> 2] = b[m + 8 >> 2];
15179
15179
+
b[o + 12 >> 2] = b[m + 12 >> 2];
15180
15180
+
b[o + 16 >> 2] = b[m + 16 >> 2];
15181
15181
+
b[o + 20 >> 2] = b[m + 20 >> 2];
15182
15182
+
b[o + 24 >> 2] = b[m + 24 >> 2];
15183
15183
+
b[o + 28 >> 2] = b[m + 28 >> 2];
15184
15184
+
o = q2;
15185
15185
+
b[o >> 2] = j;
15186
15186
+
b[o + 4 >> 2] = k;
15187
15187
+
o = q2 + 8 | 0;
15188
15188
+
b[o >> 2] = h;
15189
15189
+
a3 = q2 + 12 | 0;
15190
15190
+
c2 = n;
15191
15191
+
d2 = a3 + 36 | 0;
15192
15192
+
do {
15193
15193
+
b[a3 >> 2] = b[c2 >> 2];
15194
15194
+
a3 = a3 + 4 | 0;
15195
15195
+
c2 = c2 + 4 | 0;
15196
15196
+
} while ((a3 | 0) < (d2 | 0));
15197
15197
+
n = q2 + 48 | 0;
15198
15198
+
b[n >> 2] = b[i >> 2];
15199
15199
+
b[n + 4 >> 2] = b[i + 4 >> 2];
15200
15200
+
b[n + 8 >> 2] = b[i + 8 >> 2];
15201
15201
+
b[n + 12 >> 2] = b[i + 12 >> 2];
15202
15202
+
if ((j | 0) == 0 & (k | 0) == 0) {
15203
15203
+
q2 = h;
15204
15204
+
T = r2;
15205
15205
+
return q2 | 0;
15206
15206
+
}
15207
15207
+
d2 = q2 + 16 | 0;
15208
15208
+
l = q2 + 24 | 0;
15209
15209
+
m = q2 + 28 | 0;
15210
15210
+
h = 0;
15211
15211
+
i = 0;
15212
15212
+
c2 = j;
15213
15213
+
a3 = k;
15214
15214
+
do {
15215
15215
+
if (!((h | 0) < (f2 | 0) | (h | 0) == (f2 | 0) & i >>> 0 < e2 >>> 0)) {
15216
15216
+
p3 = 4;
15217
15217
+
break;
15218
15218
+
}
15219
15219
+
k = i;
15220
15220
+
i = Gd(i | 0, h | 0, 1, 0) | 0;
15221
15221
+
h = H() | 0;
15222
15222
+
k = g2 + (k << 3) | 0;
15223
15223
+
b[k >> 2] = c2;
15224
15224
+
b[k + 4 >> 2] = a3;
15225
15225
+
hc(n);
15226
15226
+
a3 = n;
15227
15227
+
c2 = b[a3 >> 2] | 0;
15228
15228
+
a3 = b[a3 + 4 >> 2] | 0;
15229
15229
+
if ((c2 | 0) == 0 & (a3 | 0) == 0) {
15230
15230
+
Rc(d2);
15231
15231
+
c2 = d2;
15232
15232
+
a3 = b[c2 >> 2] | 0;
15233
15233
+
c2 = b[c2 + 4 >> 2] | 0;
15234
15234
+
if ((a3 | 0) == 0 & (c2 | 0) == 0) {
15235
15235
+
p3 = 10;
15236
15236
+
break;
15237
15237
+
}
15238
15238
+
gc(a3, c2, b[m >> 2] | 0, n);
15239
15239
+
a3 = n;
15240
15240
+
c2 = b[a3 >> 2] | 0;
15241
15241
+
a3 = b[a3 + 4 >> 2] | 0;
15242
15242
+
}
15243
15243
+
k = q2;
15244
15244
+
b[k >> 2] = c2;
15245
15245
+
b[k + 4 >> 2] = a3;
15246
15246
+
} while (!((c2 | 0) == 0 & (a3 | 0) == 0));
15247
15247
+
if ((p3 | 0) == 4) {
15248
15248
+
a3 = q2 + 40 | 0;
15249
15249
+
c2 = b[a3 >> 2] | 0;
15250
15250
+
if (c2 | 0) {
15251
15251
+
Ed(c2);
15252
15252
+
}
15253
15253
+
p3 = q2 + 16 | 0;
15254
15254
+
b[p3 >> 2] = 0;
15255
15255
+
b[p3 + 4 >> 2] = 0;
15256
15256
+
b[l >> 2] = 0;
15257
15257
+
b[q2 + 36 >> 2] = 0;
15258
15258
+
b[m >> 2] = -1;
15259
15259
+
b[q2 + 32 >> 2] = 0;
15260
15260
+
b[a3 >> 2] = 0;
15261
15261
+
gc(0, 0, 0, n);
15262
15262
+
b[q2 >> 2] = 0;
15263
15263
+
b[q2 + 4 >> 2] = 0;
15264
15264
+
b[o >> 2] = 0;
15265
15265
+
q2 = 14;
15266
15266
+
T = r2;
15267
15267
+
return q2 | 0;
15268
15268
+
} else if ((p3 | 0) == 10) {
15269
15269
+
b[q2 >> 2] = 0;
15270
15270
+
b[q2 + 4 >> 2] = 0;
15271
15271
+
b[o >> 2] = b[l >> 2];
15272
15272
+
}
15273
15273
+
q2 = b[o >> 2] | 0;
15274
15274
+
T = r2;
15275
15275
+
return q2 | 0;
15276
15276
+
}
15277
15277
+
function Uc(c2, d2, f2, g2) {
15278
15278
+
c2 = c2 | 0;
15279
15279
+
d2 = d2 | 0;
15280
15280
+
f2 = f2 | 0;
15281
15281
+
g2 = g2 | 0;
15282
15282
+
var h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, r2 = 0;
15283
15283
+
o = T;
15284
15284
+
T = T + 48 | 0;
15285
15285
+
l = o + 32 | 0;
15286
15286
+
k = o + 40 | 0;
15287
15287
+
m = o;
15288
15288
+
if (!(b[c2 >> 2] | 0)) {
15289
15289
+
n = g2;
15290
15290
+
b[n >> 2] = 0;
15291
15291
+
b[n + 4 >> 2] = 0;
15292
15292
+
n = 0;
15293
15293
+
T = o;
15294
15294
+
return n | 0;
15295
15295
+
}
15296
15296
+
Eb(l, 0, 0, 0);
15297
15297
+
j = l;
15298
15298
+
h = b[j >> 2] | 0;
15299
15299
+
j = b[j + 4 >> 2] | 0;
15300
15300
+
do {
15301
15301
+
if (d2 >>> 0 > 15) {
15302
15302
+
n = m;
15303
15303
+
b[n >> 2] = 0;
15304
15304
+
b[n + 4 >> 2] = 0;
15305
15305
+
b[m + 8 >> 2] = 4;
15306
15306
+
b[m + 12 >> 2] = -1;
15307
15307
+
n = m + 16 | 0;
15308
15308
+
f2 = m + 29 | 0;
15309
15309
+
b[n >> 2] = 0;
15310
15310
+
b[n + 4 >> 2] = 0;
15311
15311
+
b[n + 8 >> 2] = 0;
15312
15312
+
a2[n + 12 >> 0] = 0;
15313
15313
+
a2[f2 >> 0] = a2[k >> 0] | 0;
15314
15314
+
a2[f2 + 1 >> 0] = a2[k + 1 >> 0] | 0;
15315
15315
+
a2[f2 + 2 >> 0] = a2[k + 2 >> 0] | 0;
15316
15316
+
f2 = 4;
15317
15317
+
n = 9;
15318
15318
+
} else {
15319
15319
+
f2 = Xc(f2) | 0;
15320
15320
+
if (f2 | 0) {
15321
15321
+
l = m;
15322
15322
+
b[l >> 2] = 0;
15323
15323
+
b[l + 4 >> 2] = 0;
15324
15324
+
b[m + 8 >> 2] = f2;
15325
15325
+
b[m + 12 >> 2] = -1;
15326
15326
+
l = m + 16 | 0;
15327
15327
+
n = m + 29 | 0;
15328
15328
+
b[l >> 2] = 0;
15329
15329
+
b[l + 4 >> 2] = 0;
15330
15330
+
b[l + 8 >> 2] = 0;
15331
15331
+
a2[l + 12 >> 0] = 0;
15332
15332
+
a2[n >> 0] = a2[k >> 0] | 0;
15333
15333
+
a2[n + 1 >> 0] = a2[k + 1 >> 0] | 0;
15334
15334
+
a2[n + 2 >> 0] = a2[k + 2 >> 0] | 0;
15335
15335
+
n = 9;
15336
15336
+
break;
15337
15337
+
}
15338
15338
+
f2 = Fd((b[c2 + 8 >> 2] | 0) + 1 | 0, 32) | 0;
15339
15339
+
if (!f2) {
15340
15340
+
n = m;
15341
15341
+
b[n >> 2] = 0;
15342
15342
+
b[n + 4 >> 2] = 0;
15343
15343
+
b[m + 8 >> 2] = 13;
15344
15344
+
b[m + 12 >> 2] = -1;
15345
15345
+
n = m + 16 | 0;
15346
15346
+
f2 = m + 29 | 0;
15347
15347
+
b[n >> 2] = 0;
15348
15348
+
b[n + 4 >> 2] = 0;
15349
15349
+
b[n + 8 >> 2] = 0;
15350
15350
+
a2[n + 12 >> 0] = 0;
15351
15351
+
a2[f2 >> 0] = a2[k >> 0] | 0;
15352
15352
+
a2[f2 + 1 >> 0] = a2[k + 1 >> 0] | 0;
15353
15353
+
a2[f2 + 2 >> 0] = a2[k + 2 >> 0] | 0;
15354
15354
+
f2 = 13;
15355
15355
+
n = 9;
15356
15356
+
break;
15357
15357
+
}
15358
15358
+
Yc(c2, f2);
15359
15359
+
r2 = m;
15360
15360
+
b[r2 >> 2] = h;
15361
15361
+
b[r2 + 4 >> 2] = j;
15362
15362
+
j = m + 8 | 0;
15363
15363
+
b[j >> 2] = 0;
15364
15364
+
b[m + 12 >> 2] = d2;
15365
15365
+
b[m + 20 >> 2] = c2;
15366
15366
+
b[m + 24 >> 2] = f2;
15367
15367
+
a2[m + 28 >> 0] = 0;
15368
15368
+
h = m + 29 | 0;
15369
15369
+
a2[h >> 0] = a2[k >> 0] | 0;
15370
15370
+
a2[h + 1 >> 0] = a2[k + 1 >> 0] | 0;
15371
15371
+
a2[h + 2 >> 0] = a2[k + 2 >> 0] | 0;
15372
15372
+
b[m + 16 >> 2] = 3;
15373
15373
+
p3 = +Ba(f2);
15374
15374
+
p3 = p3 * +za(f2);
15375
15375
+
i = +q(+ +e[f2 >> 3]);
15376
15376
+
i = p3 / +t(+ +Ud(+i, + +q(+ +e[f2 + 8 >> 3]))) * 6371.007180918475 * 6371.007180918475;
15377
15377
+
h = m + 12 | 0;
15378
15378
+
f2 = b[h >> 2] | 0;
15379
15379
+
a:
15380
15380
+
do {
15381
15381
+
if ((f2 | 0) > 0) {
15382
15382
+
do {
15383
15383
+
qc(f2 + -1 | 0, l) | 0;
15384
15384
+
if (!(i / +e[l >> 3] > 10)) {
15385
15385
+
break a;
15386
15386
+
}
15387
15387
+
r2 = b[h >> 2] | 0;
15388
15388
+
f2 = r2 + -1 | 0;
15389
15389
+
b[h >> 2] = f2;
15390
15390
+
} while ((r2 | 0) > 1);
15391
15391
+
}
15392
15392
+
} while (0);
15393
15393
+
Rc(m);
15394
15394
+
h = g2;
15395
15395
+
b[h >> 2] = 0;
15396
15396
+
b[h + 4 >> 2] = 0;
15397
15397
+
h = m;
15398
15398
+
f2 = b[h >> 2] | 0;
15399
15399
+
h = b[h + 4 >> 2] | 0;
15400
15400
+
if (!((f2 | 0) == 0 & (h | 0) == 0)) {
15401
15401
+
do {
15402
15402
+
Gb(f2, h, d2, l) | 0;
15403
15403
+
k = l;
15404
15404
+
c2 = g2;
15405
15405
+
k = Gd(b[c2 >> 2] | 0, b[c2 + 4 >> 2] | 0, b[k >> 2] | 0, b[k + 4 >> 2] | 0) | 0;
15406
15406
+
c2 = H() | 0;
15407
15407
+
r2 = g2;
15408
15408
+
b[r2 >> 2] = k;
15409
15409
+
b[r2 + 4 >> 2] = c2;
15410
15410
+
Rc(m);
15411
15411
+
r2 = m;
15412
15412
+
f2 = b[r2 >> 2] | 0;
15413
15413
+
h = b[r2 + 4 >> 2] | 0;
15414
15414
+
} while (!((f2 | 0) == 0 & (h | 0) == 0));
15415
15415
+
}
15416
15416
+
f2 = b[j >> 2] | 0;
15417
15417
+
}
15418
15418
+
} while (0);
15419
15419
+
r2 = f2;
15420
15420
+
T = o;
15421
15421
+
return r2 | 0;
15422
15422
+
}
15423
15423
+
function Vc(a3, c2, d2) {
15424
15424
+
a3 = a3 | 0;
15425
15425
+
c2 = c2 | 0;
15426
15426
+
d2 = d2 | 0;
15427
15427
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0;
15428
15428
+
if (!(Ca(c2, d2) | 0)) {
15429
15429
+
o = 0;
15430
15430
+
return o | 0;
15431
15431
+
}
15432
15432
+
c2 = Aa(c2) | 0;
15433
15433
+
f2 = +e[d2 >> 3];
15434
15434
+
g2 = +e[d2 + 8 >> 3];
15435
15435
+
g2 = c2 & g2 < 0 ? g2 + 6.283185307179586 : g2;
15436
15436
+
o = b[a3 >> 2] | 0;
15437
15437
+
if ((o | 0) <= 0) {
15438
15438
+
o = 0;
15439
15439
+
return o | 0;
15440
15440
+
}
15441
15441
+
n = b[a3 + 4 >> 2] | 0;
15442
15442
+
if (c2) {
15443
15443
+
c2 = 0;
15444
15444
+
m = g2;
15445
15445
+
d2 = -1;
15446
15446
+
a3 = 0;
15447
15447
+
a:
15448
15448
+
while (true) {
15449
15449
+
l = a3;
15450
15450
+
while (true) {
15451
15451
+
i = +e[n + (l << 4) >> 3];
15452
15452
+
g2 = +e[n + (l << 4) + 8 >> 3];
15453
15453
+
a3 = (d2 + 2 | 0) % (o | 0) | 0;
15454
15454
+
h = +e[n + (a3 << 4) >> 3];
15455
15455
+
j = +e[n + (a3 << 4) + 8 >> 3];
15456
15456
+
if (i > h) {
15457
15457
+
k = i;
15458
15458
+
i = j;
15459
15459
+
} else {
15460
15460
+
k = h;
15461
15461
+
h = i;
15462
15462
+
i = g2;
15463
15463
+
g2 = j;
15464
15464
+
}
15465
15465
+
f2 = f2 == h | f2 == k ? f2 + 0.0000000000000002220446049250313 : f2;
15466
15466
+
if (!(f2 < h | f2 > k)) {
15467
15467
+
break;
15468
15468
+
}
15469
15469
+
d2 = l + 1 | 0;
15470
15470
+
if ((d2 | 0) >= (o | 0)) {
15471
15471
+
d2 = 22;
15472
15472
+
break a;
15473
15473
+
} else {
15474
15474
+
a3 = l;
15475
15475
+
l = d2;
15476
15476
+
d2 = a3;
15477
15477
+
}
15478
15478
+
}
15479
15479
+
j = i < 0 ? i + 6.283185307179586 : i;
15480
15480
+
i = g2 < 0 ? g2 + 6.283185307179586 : g2;
15481
15481
+
m = j == m | i == m ? m + -0.0000000000000002220446049250313 : m;
15482
15482
+
k = j + (i - j) * ((f2 - h) / (k - h));
15483
15483
+
if ((k < 0 ? k + 6.283185307179586 : k) > m) {
15484
15484
+
c2 = c2 ^ 1;
15485
15485
+
}
15486
15486
+
a3 = l + 1 | 0;
15487
15487
+
if ((a3 | 0) >= (o | 0)) {
15488
15488
+
d2 = 22;
15489
15489
+
break;
15490
15490
+
} else {
15491
15491
+
d2 = l;
15492
15492
+
}
15493
15493
+
}
15494
15494
+
if ((d2 | 0) == 22) {
15495
15495
+
return c2 | 0;
15496
15496
+
}
15497
15497
+
} else {
15498
15498
+
c2 = 0;
15499
15499
+
m = g2;
15500
15500
+
d2 = -1;
15501
15501
+
a3 = 0;
15502
15502
+
b:
15503
15503
+
while (true) {
15504
15504
+
l = a3;
15505
15505
+
while (true) {
15506
15506
+
i = +e[n + (l << 4) >> 3];
15507
15507
+
g2 = +e[n + (l << 4) + 8 >> 3];
15508
15508
+
a3 = (d2 + 2 | 0) % (o | 0) | 0;
15509
15509
+
h = +e[n + (a3 << 4) >> 3];
15510
15510
+
j = +e[n + (a3 << 4) + 8 >> 3];
15511
15511
+
if (i > h) {
15512
15512
+
k = i;
15513
15513
+
i = j;
15514
15514
+
} else {
15515
15515
+
k = h;
15516
15516
+
h = i;
15517
15517
+
i = g2;
15518
15518
+
g2 = j;
15519
15519
+
}
15520
15520
+
f2 = f2 == h | f2 == k ? f2 + 0.0000000000000002220446049250313 : f2;
15521
15521
+
if (!(f2 < h | f2 > k)) {
15522
15522
+
break;
15523
15523
+
}
15524
15524
+
d2 = l + 1 | 0;
15525
15525
+
if ((d2 | 0) >= (o | 0)) {
15526
15526
+
d2 = 22;
15527
15527
+
break b;
15528
15528
+
} else {
15529
15529
+
a3 = l;
15530
15530
+
l = d2;
15531
15531
+
d2 = a3;
15532
15532
+
}
15533
15533
+
}
15534
15534
+
m = i == m | g2 == m ? m + -0.0000000000000002220446049250313 : m;
15535
15535
+
if (i + (g2 - i) * ((f2 - h) / (k - h)) > m) {
15536
15536
+
c2 = c2 ^ 1;
15537
15537
+
}
15538
15538
+
a3 = l + 1 | 0;
15539
15539
+
if ((a3 | 0) >= (o | 0)) {
15540
15540
+
d2 = 22;
15541
15541
+
break;
15542
15542
+
} else {
15543
15543
+
d2 = l;
15544
15544
+
}
15545
15545
+
}
15546
15546
+
if ((d2 | 0) == 22) {
15547
15547
+
return c2 | 0;
15548
15548
+
}
15549
15549
+
}
15550
15550
+
return 0;
15551
15551
+
}
15552
15552
+
function Wc(a3, c2) {
15553
15553
+
a3 = a3 | 0;
15554
15554
+
c2 = c2 | 0;
15555
15555
+
var d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0;
15556
15556
+
r2 = b[a3 >> 2] | 0;
15557
15557
+
if (!r2) {
15558
15558
+
b[c2 >> 2] = 0;
15559
15559
+
b[c2 + 4 >> 2] = 0;
15560
15560
+
b[c2 + 8 >> 2] = 0;
15561
15561
+
b[c2 + 12 >> 2] = 0;
15562
15562
+
b[c2 + 16 >> 2] = 0;
15563
15563
+
b[c2 + 20 >> 2] = 0;
15564
15564
+
b[c2 + 24 >> 2] = 0;
15565
15565
+
b[c2 + 28 >> 2] = 0;
15566
15566
+
return;
15567
15567
+
}
15568
15568
+
s2 = c2 + 8 | 0;
15569
15569
+
e[s2 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15570
15570
+
t2 = c2 + 24 | 0;
15571
15571
+
e[t2 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15572
15572
+
e[c2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15573
15573
+
u2 = c2 + 16 | 0;
15574
15574
+
e[u2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15575
15575
+
if ((r2 | 0) <= 0) {
15576
15576
+
return;
15577
15577
+
}
15578
15578
+
o = b[a3 + 4 >> 2] | 0;
15579
15579
+
l = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15580
15580
+
m = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15581
15581
+
n = 0;
15582
15582
+
a3 = -1;
15583
15583
+
h = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15584
15584
+
i = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15585
15585
+
k = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15586
15586
+
f2 = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15587
15587
+
p3 = 0;
15588
15588
+
while (true) {
15589
15589
+
d2 = +e[o + (p3 << 4) >> 3];
15590
15590
+
j = +e[o + (p3 << 4) + 8 >> 3];
15591
15591
+
a3 = a3 + 2 | 0;
15592
15592
+
g2 = +e[o + (((a3 | 0) == (r2 | 0) ? 0 : a3) << 4) + 8 >> 3];
15593
15593
+
if (d2 < h) {
15594
15594
+
e[s2 >> 3] = d2;
15595
15595
+
h = d2;
15596
15596
+
}
15597
15597
+
if (j < i) {
15598
15598
+
e[t2 >> 3] = j;
15599
15599
+
i = j;
15600
15600
+
}
15601
15601
+
if (d2 > k) {
15602
15602
+
e[c2 >> 3] = d2;
15603
15603
+
} else {
15604
15604
+
d2 = k;
15605
15605
+
}
15606
15606
+
if (j > f2) {
15607
15607
+
e[u2 >> 3] = j;
15608
15608
+
f2 = j;
15609
15609
+
}
15610
15610
+
l = j > 0 & j < l ? j : l;
15611
15611
+
m = j < 0 & j > m ? j : m;
15612
15612
+
n = n | +q(+(j - g2)) > 3.141592653589793;
15613
15613
+
a3 = p3 + 1 | 0;
15614
15614
+
if ((a3 | 0) == (r2 | 0)) {
15615
15615
+
break;
15616
15616
+
} else {
15617
15617
+
v2 = p3;
15618
15618
+
k = d2;
15619
15619
+
p3 = a3;
15620
15620
+
a3 = v2;
15621
15621
+
}
15622
15622
+
}
15623
15623
+
if (!n) {
15624
15624
+
return;
15625
15625
+
}
15626
15626
+
e[u2 >> 3] = m;
15627
15627
+
e[t2 >> 3] = l;
15628
15628
+
return;
15629
15629
+
}
15630
15630
+
function Xc(a3) {
15631
15631
+
a3 = a3 | 0;
15632
15632
+
return (a3 >>> 0 < 4 ? 0 : 15) | 0;
15633
15633
+
}
15634
15634
+
function Yc(a3, c2) {
15635
15635
+
a3 = a3 | 0;
15636
15636
+
c2 = c2 | 0;
15637
15637
+
var d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0;
15638
15638
+
r2 = b[a3 >> 2] | 0;
15639
15639
+
if (r2) {
15640
15640
+
s2 = c2 + 8 | 0;
15641
15641
+
e[s2 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15642
15642
+
t2 = c2 + 24 | 0;
15643
15643
+
e[t2 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15644
15644
+
e[c2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15645
15645
+
u2 = c2 + 16 | 0;
15646
15646
+
e[u2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15647
15647
+
if ((r2 | 0) > 0) {
15648
15648
+
g2 = b[a3 + 4 >> 2] | 0;
15649
15649
+
o = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15650
15650
+
p3 = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15651
15651
+
f2 = 0;
15652
15652
+
d2 = -1;
15653
15653
+
k = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15654
15654
+
l = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15655
15655
+
n = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15656
15656
+
i = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15657
15657
+
v2 = 0;
15658
15658
+
while (true) {
15659
15659
+
h = +e[g2 + (v2 << 4) >> 3];
15660
15660
+
m = +e[g2 + (v2 << 4) + 8 >> 3];
15661
15661
+
z2 = d2 + 2 | 0;
15662
15662
+
j = +e[g2 + (((z2 | 0) == (r2 | 0) ? 0 : z2) << 4) + 8 >> 3];
15663
15663
+
if (h < k) {
15664
15664
+
e[s2 >> 3] = h;
15665
15665
+
k = h;
15666
15666
+
}
15667
15667
+
if (m < l) {
15668
15668
+
e[t2 >> 3] = m;
15669
15669
+
l = m;
15670
15670
+
}
15671
15671
+
if (h > n) {
15672
15672
+
e[c2 >> 3] = h;
15673
15673
+
} else {
15674
15674
+
h = n;
15675
15675
+
}
15676
15676
+
if (m > i) {
15677
15677
+
e[u2 >> 3] = m;
15678
15678
+
i = m;
15679
15679
+
}
15680
15680
+
o = m > 0 & m < o ? m : o;
15681
15681
+
p3 = m < 0 & m > p3 ? m : p3;
15682
15682
+
f2 = f2 | +q(+(m - j)) > 3.141592653589793;
15683
15683
+
d2 = v2 + 1 | 0;
15684
15684
+
if ((d2 | 0) == (r2 | 0)) {
15685
15685
+
break;
15686
15686
+
} else {
15687
15687
+
z2 = v2;
15688
15688
+
n = h;
15689
15689
+
v2 = d2;
15690
15690
+
d2 = z2;
15691
15691
+
}
15692
15692
+
}
15693
15693
+
if (f2) {
15694
15694
+
e[u2 >> 3] = p3;
15695
15695
+
e[t2 >> 3] = o;
15696
15696
+
}
15697
15697
+
}
15698
15698
+
} else {
15699
15699
+
b[c2 >> 2] = 0;
15700
15700
+
b[c2 + 4 >> 2] = 0;
15701
15701
+
b[c2 + 8 >> 2] = 0;
15702
15702
+
b[c2 + 12 >> 2] = 0;
15703
15703
+
b[c2 + 16 >> 2] = 0;
15704
15704
+
b[c2 + 20 >> 2] = 0;
15705
15705
+
b[c2 + 24 >> 2] = 0;
15706
15706
+
b[c2 + 28 >> 2] = 0;
15707
15707
+
}
15708
15708
+
z2 = a3 + 8 | 0;
15709
15709
+
d2 = b[z2 >> 2] | 0;
15710
15710
+
if ((d2 | 0) <= 0) {
15711
15711
+
return;
15712
15712
+
}
15713
15713
+
y2 = a3 + 12 | 0;
15714
15714
+
x2 = 0;
15715
15715
+
do {
15716
15716
+
g2 = b[y2 >> 2] | 0;
15717
15717
+
f2 = x2;
15718
15718
+
x2 = x2 + 1 | 0;
15719
15719
+
t2 = c2 + (x2 << 5) | 0;
15720
15720
+
u2 = b[g2 + (f2 << 3) >> 2] | 0;
15721
15721
+
if (u2) {
15722
15722
+
v2 = c2 + (x2 << 5) + 8 | 0;
15723
15723
+
e[v2 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15724
15724
+
a3 = c2 + (x2 << 5) + 24 | 0;
15725
15725
+
e[a3 >> 3] = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15726
15726
+
e[t2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15727
15727
+
w2 = c2 + (x2 << 5) + 16 | 0;
15728
15728
+
e[w2 >> 3] = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15729
15729
+
if ((u2 | 0) > 0) {
15730
15730
+
r2 = b[g2 + (f2 << 3) + 4 >> 2] | 0;
15731
15731
+
o = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15732
15732
+
p3 = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15733
15733
+
g2 = 0;
15734
15734
+
f2 = -1;
15735
15735
+
s2 = 0;
15736
15736
+
k = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15737
15737
+
l = 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15738
15738
+
m = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15739
15739
+
i = -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
15740
15740
+
while (true) {
15741
15741
+
h = +e[r2 + (s2 << 4) >> 3];
15742
15742
+
n = +e[r2 + (s2 << 4) + 8 >> 3];
15743
15743
+
f2 = f2 + 2 | 0;
15744
15744
+
j = +e[r2 + (((f2 | 0) == (u2 | 0) ? 0 : f2) << 4) + 8 >> 3];
15745
15745
+
if (h < k) {
15746
15746
+
e[v2 >> 3] = h;
15747
15747
+
k = h;
15748
15748
+
}
15749
15749
+
if (n < l) {
15750
15750
+
e[a3 >> 3] = n;
15751
15751
+
l = n;
15752
15752
+
}
15753
15753
+
if (h > m) {
15754
15754
+
e[t2 >> 3] = h;
15755
15755
+
} else {
15756
15756
+
h = m;
15757
15757
+
}
15758
15758
+
if (n > i) {
15759
15759
+
e[w2 >> 3] = n;
15760
15760
+
i = n;
15761
15761
+
}
15762
15762
+
o = n > 0 & n < o ? n : o;
15763
15763
+
p3 = n < 0 & n > p3 ? n : p3;
15764
15764
+
g2 = g2 | +q(+(n - j)) > 3.141592653589793;
15765
15765
+
f2 = s2 + 1 | 0;
15766
15766
+
if ((f2 | 0) == (u2 | 0)) {
15767
15767
+
break;
15768
15768
+
} else {
15769
15769
+
A2 = s2;
15770
15770
+
s2 = f2;
15771
15771
+
m = h;
15772
15772
+
f2 = A2;
15773
15773
+
}
15774
15774
+
}
15775
15775
+
if (g2) {
15776
15776
+
e[w2 >> 3] = p3;
15777
15777
+
e[a3 >> 3] = o;
15778
15778
+
}
15779
15779
+
}
15780
15780
+
} else {
15781
15781
+
b[t2 >> 2] = 0;
15782
15782
+
b[t2 + 4 >> 2] = 0;
15783
15783
+
b[t2 + 8 >> 2] = 0;
15784
15784
+
b[t2 + 12 >> 2] = 0;
15785
15785
+
b[t2 + 16 >> 2] = 0;
15786
15786
+
b[t2 + 20 >> 2] = 0;
15787
15787
+
b[t2 + 24 >> 2] = 0;
15788
15788
+
b[t2 + 28 >> 2] = 0;
15789
15789
+
d2 = b[z2 >> 2] | 0;
15790
15790
+
}
15791
15791
+
} while ((x2 | 0) < (d2 | 0));
15792
15792
+
return;
15793
15793
+
}
15794
15794
+
function Zc(a3, c2, d2) {
15795
15795
+
a3 = a3 | 0;
15796
15796
+
c2 = c2 | 0;
15797
15797
+
d2 = d2 | 0;
15798
15798
+
var e2 = 0, f2 = 0, g2 = 0;
15799
15799
+
if (!(Vc(a3, c2, d2) | 0)) {
15800
15800
+
f2 = 0;
15801
15801
+
return f2 | 0;
15802
15802
+
}
15803
15803
+
f2 = a3 + 8 | 0;
15804
15804
+
if ((b[f2 >> 2] | 0) <= 0) {
15805
15805
+
f2 = 1;
15806
15806
+
return f2 | 0;
15807
15807
+
}
15808
15808
+
e2 = a3 + 12 | 0;
15809
15809
+
a3 = 0;
15810
15810
+
while (true) {
15811
15811
+
g2 = a3;
15812
15812
+
a3 = a3 + 1 | 0;
15813
15813
+
if (Vc((b[e2 >> 2] | 0) + (g2 << 3) | 0, c2 + (a3 << 5) | 0, d2) | 0) {
15814
15814
+
a3 = 0;
15815
15815
+
e2 = 6;
15816
15816
+
break;
15817
15817
+
}
15818
15818
+
if ((a3 | 0) >= (b[f2 >> 2] | 0)) {
15819
15819
+
a3 = 1;
15820
15820
+
e2 = 6;
15821
15821
+
break;
15822
15822
+
}
15823
15823
+
}
15824
15824
+
if ((e2 | 0) == 6) {
15825
15825
+
return a3 | 0;
15826
15826
+
}
15827
15827
+
return 0;
15828
15828
+
}
15829
15829
+
function _c(a3, c2, d2, e2) {
15830
15830
+
a3 = a3 | 0;
15831
15831
+
c2 = c2 | 0;
15832
15832
+
d2 = d2 | 0;
15833
15833
+
e2 = e2 | 0;
15834
15834
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0;
15835
15835
+
k = T;
15836
15836
+
T = T + 16 | 0;
15837
15837
+
i = k;
15838
15838
+
h = d2 + 8 | 0;
15839
15839
+
if (!(Vc(a3, c2, h) | 0)) {
15840
15840
+
j = 0;
15841
15841
+
T = k;
15842
15842
+
return j | 0;
15843
15843
+
}
15844
15844
+
j = a3 + 8 | 0;
15845
15845
+
a:
15846
15846
+
do {
15847
15847
+
if ((b[j >> 2] | 0) > 0) {
15848
15848
+
g2 = a3 + 12 | 0;
15849
15849
+
f2 = 0;
15850
15850
+
while (true) {
15851
15851
+
l = f2;
15852
15852
+
f2 = f2 + 1 | 0;
15853
15853
+
if (Vc((b[g2 >> 2] | 0) + (l << 3) | 0, c2 + (f2 << 5) | 0, h) | 0) {
15854
15854
+
f2 = 0;
15855
15855
+
break;
15856
15856
+
}
15857
15857
+
if ((f2 | 0) >= (b[j >> 2] | 0)) {
15858
15858
+
break a;
15859
15859
+
}
15860
15860
+
}
15861
15861
+
T = k;
15862
15862
+
return f2 | 0;
15863
15863
+
}
15864
15864
+
} while (0);
15865
15865
+
if ($c(a3, c2, d2, e2) | 0) {
15866
15866
+
l = 0;
15867
15867
+
T = k;
15868
15868
+
return l | 0;
15869
15869
+
}
15870
15870
+
b[i >> 2] = b[d2 >> 2];
15871
15871
+
b[i + 4 >> 2] = h;
15872
15872
+
f2 = b[j >> 2] | 0;
15873
15873
+
b:
15874
15874
+
do {
15875
15875
+
if ((f2 | 0) > 0) {
15876
15876
+
a3 = a3 + 12 | 0;
15877
15877
+
h = 0;
15878
15878
+
g2 = f2;
15879
15879
+
while (true) {
15880
15880
+
f2 = b[a3 >> 2] | 0;
15881
15881
+
if ((b[f2 + (h << 3) >> 2] | 0) > 0) {
15882
15882
+
if (Vc(i, e2, b[f2 + (h << 3) + 4 >> 2] | 0) | 0) {
15883
15883
+
f2 = 0;
15884
15884
+
break b;
15885
15885
+
}
15886
15886
+
f2 = h + 1 | 0;
15887
15887
+
if ($c((b[a3 >> 2] | 0) + (h << 3) | 0, c2 + (f2 << 5) | 0, d2, e2) | 0) {
15888
15888
+
f2 = 0;
15889
15889
+
break b;
15890
15890
+
}
15891
15891
+
g2 = b[j >> 2] | 0;
15892
15892
+
} else {
15893
15893
+
f2 = h + 1 | 0;
15894
15894
+
}
15895
15895
+
if ((f2 | 0) < (g2 | 0)) {
15896
15896
+
h = f2;
15897
15897
+
} else {
15898
15898
+
f2 = 1;
15899
15899
+
break;
15900
15900
+
}
15901
15901
+
}
15902
15902
+
} else {
15903
15903
+
f2 = 1;
15904
15904
+
}
15905
15905
+
} while (0);
15906
15906
+
l = f2;
15907
15907
+
T = k;
15908
15908
+
return l | 0;
15909
15909
+
}
15910
15910
+
function $c(a3, c2, d2, f2) {
15911
15911
+
a3 = a3 | 0;
15912
15912
+
c2 = c2 | 0;
15913
15913
+
d2 = d2 | 0;
15914
15914
+
f2 = f2 | 0;
15915
15915
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0, x2 = 0, y2 = 0, z2 = 0, A2 = 0;
15916
15916
+
y2 = T;
15917
15917
+
T = T + 176 | 0;
15918
15918
+
u2 = y2 + 172 | 0;
15919
15919
+
g2 = y2 + 168 | 0;
15920
15920
+
v2 = y2;
15921
15921
+
if (!(Da(c2, f2) | 0)) {
15922
15922
+
a3 = 0;
15923
15923
+
T = y2;
15924
15924
+
return a3 | 0;
15925
15925
+
}
15926
15926
+
Ea(c2, f2, u2, g2);
15927
15927
+
Wd(v2 | 0, d2 | 0, 168) | 0;
15928
15928
+
if ((b[d2 >> 2] | 0) > 0) {
15929
15929
+
c2 = 0;
15930
15930
+
do {
15931
15931
+
z2 = v2 + 8 + (c2 << 4) + 8 | 0;
15932
15932
+
t2 = +kc(+e[z2 >> 3], b[g2 >> 2] | 0);
15933
15933
+
e[z2 >> 3] = t2;
15934
15934
+
c2 = c2 + 1 | 0;
15935
15935
+
} while ((c2 | 0) < (b[d2 >> 2] | 0));
15936
15936
+
}
15937
15937
+
r2 = +e[f2 >> 3];
15938
15938
+
s2 = +e[f2 + 8 >> 3];
15939
15939
+
t2 = +kc(+e[f2 + 16 >> 3], b[g2 >> 2] | 0);
15940
15940
+
p3 = +kc(+e[f2 + 24 >> 3], b[g2 >> 2] | 0);
15941
15941
+
a:
15942
15942
+
do {
15943
15943
+
if ((b[a3 >> 2] | 0) > 0) {
15944
15944
+
f2 = a3 + 4 | 0;
15945
15945
+
g2 = b[v2 >> 2] | 0;
15946
15946
+
if ((g2 | 0) <= 0) {
15947
15947
+
c2 = 0;
15948
15948
+
while (true) {
15949
15949
+
c2 = c2 + 1 | 0;
15950
15950
+
if ((c2 | 0) >= (b[a3 >> 2] | 0)) {
15951
15951
+
c2 = 0;
15952
15952
+
break a;
15953
15953
+
}
15954
15954
+
}
15955
15955
+
}
15956
15956
+
d2 = 0;
15957
15957
+
while (true) {
15958
15958
+
c2 = b[f2 >> 2] | 0;
15959
15959
+
o = +e[c2 + (d2 << 4) >> 3];
15960
15960
+
q2 = +kc(+e[c2 + (d2 << 4) + 8 >> 3], b[u2 >> 2] | 0);
15961
15961
+
c2 = b[f2 >> 2] | 0;
15962
15962
+
d2 = d2 + 1 | 0;
15963
15963
+
z2 = (d2 | 0) % (b[a3 >> 2] | 0) | 0;
15964
15964
+
h = +e[c2 + (z2 << 4) >> 3];
15965
15965
+
i = +kc(+e[c2 + (z2 << 4) + 8 >> 3], b[u2 >> 2] | 0);
15966
15966
+
if (((!(o >= r2) | !(h >= r2) ? !(o <= s2) | !(h <= s2) : 0) ? !(q2 <= p3) | !(i <= p3) : 0) ? !(q2 >= t2) | !(i >= t2) : 0) {
15967
15967
+
n = h - o;
15968
15968
+
l = i - q2;
15969
15969
+
c2 = 0;
15970
15970
+
do {
15971
15971
+
A2 = c2;
15972
15972
+
c2 = c2 + 1 | 0;
15973
15973
+
z2 = (c2 | 0) == (g2 | 0) ? 0 : c2;
15974
15974
+
h = +e[v2 + 8 + (A2 << 4) + 8 >> 3];
15975
15975
+
i = +e[v2 + 8 + (z2 << 4) + 8 >> 3] - h;
15976
15976
+
j = +e[v2 + 8 + (A2 << 4) >> 3];
15977
15977
+
k = +e[v2 + 8 + (z2 << 4) >> 3] - j;
15978
15978
+
m = n * i - l * k;
15979
15979
+
if ((m != 0 ? (w2 = q2 - h, x2 = o - j, k = (w2 * k - i * x2) / m, !(k < 0 | k > 1)) : 0) ? (m = (n * w2 - l * x2) / m, m >= 0 & m <= 1) : 0) {
15980
15980
+
c2 = 1;
15981
15981
+
break a;
15982
15982
+
}
15983
15983
+
} while ((c2 | 0) < (g2 | 0));
15984
15984
+
}
15985
15985
+
if ((d2 | 0) >= (b[a3 >> 2] | 0)) {
15986
15986
+
c2 = 0;
15987
15987
+
break;
15988
15988
+
}
15989
15989
+
}
15990
15990
+
} else {
15991
15991
+
c2 = 0;
15992
15992
+
}
15993
15993
+
} while (0);
15994
15994
+
A2 = c2;
15995
15995
+
T = y2;
15996
15996
+
return A2 | 0;
15997
15997
+
}
15998
15998
+
function ad(a3, c2, d2, e2) {
15999
15999
+
a3 = a3 | 0;
16000
16000
+
c2 = c2 | 0;
16001
16001
+
d2 = d2 | 0;
16002
16002
+
e2 = e2 | 0;
16003
16003
+
var f2 = 0, g2 = 0, h = 0;
16004
16004
+
if ($c(a3, c2, d2, e2) | 0) {
16005
16005
+
g2 = 1;
16006
16006
+
return g2 | 0;
16007
16007
+
}
16008
16008
+
g2 = a3 + 8 | 0;
16009
16009
+
if ((b[g2 >> 2] | 0) <= 0) {
16010
16010
+
g2 = 0;
16011
16011
+
return g2 | 0;
16012
16012
+
}
16013
16013
+
f2 = a3 + 12 | 0;
16014
16014
+
a3 = 0;
16015
16015
+
while (true) {
16016
16016
+
h = a3;
16017
16017
+
a3 = a3 + 1 | 0;
16018
16018
+
if ($c((b[f2 >> 2] | 0) + (h << 3) | 0, c2 + (a3 << 5) | 0, d2, e2) | 0) {
16019
16019
+
a3 = 1;
16020
16020
+
f2 = 6;
16021
16021
+
break;
16022
16022
+
}
16023
16023
+
if ((a3 | 0) >= (b[g2 >> 2] | 0)) {
16024
16024
+
a3 = 0;
16025
16025
+
f2 = 6;
16026
16026
+
break;
16027
16027
+
}
16028
16028
+
}
16029
16029
+
if ((f2 | 0) == 6) {
16030
16030
+
return a3 | 0;
16031
16031
+
}
16032
16032
+
return 0;
16033
16033
+
}
16034
16034
+
function bd() {
16035
16035
+
return 8;
16036
16036
+
}
16037
16037
+
function cd() {
16038
16038
+
return 16;
16039
16039
+
}
16040
16040
+
function dd() {
16041
16041
+
return 168;
16042
16042
+
}
16043
16043
+
function ed() {
16044
16044
+
return 8;
16045
16045
+
}
16046
16046
+
function fd() {
16047
16047
+
return 16;
16048
16048
+
}
16049
16049
+
function gd() {
16050
16050
+
return 12;
16051
16051
+
}
16052
16052
+
function hd() {
16053
16053
+
return 8;
16054
16054
+
}
16055
16055
+
function id2(a3) {
16056
16056
+
a3 = a3 | 0;
16057
16057
+
return +(+((b[a3 >> 2] | 0) >>> 0) + 4294967296 * +(b[a3 + 4 >> 2] | 0));
16058
16058
+
}
16059
16059
+
function jd(a3) {
16060
16060
+
a3 = a3 | 0;
16061
16061
+
var b2 = 0, c2 = 0;
16062
16062
+
c2 = +e[a3 >> 3];
16063
16063
+
b2 = +e[a3 + 8 >> 3];
16064
16064
+
return + +r(+(c2 * c2 + b2 * b2));
16065
16065
+
}
16066
16066
+
function kd(a3, b2, c2, d2, f2) {
16067
16067
+
a3 = a3 | 0;
16068
16068
+
b2 = b2 | 0;
16069
16069
+
c2 = c2 | 0;
16070
16070
+
d2 = d2 | 0;
16071
16071
+
f2 = f2 | 0;
16072
16072
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0;
16073
16073
+
k = +e[a3 >> 3];
16074
16074
+
j = +e[b2 >> 3] - k;
16075
16075
+
i = +e[a3 + 8 >> 3];
16076
16076
+
h = +e[b2 + 8 >> 3] - i;
16077
16077
+
m = +e[c2 >> 3];
16078
16078
+
g2 = +e[d2 >> 3] - m;
16079
16079
+
n = +e[c2 + 8 >> 3];
16080
16080
+
l = +e[d2 + 8 >> 3] - n;
16081
16081
+
g2 = (g2 * (i - n) - (k - m) * l) / (j * l - h * g2);
16082
16082
+
e[f2 >> 3] = k + j * g2;
16083
16083
+
e[f2 + 8 >> 3] = i + h * g2;
16084
16084
+
return;
16085
16085
+
}
16086
16086
+
function ld(a3, b2) {
16087
16087
+
a3 = a3 | 0;
16088
16088
+
b2 = b2 | 0;
16089
16089
+
if (!(+q(+(+e[a3 >> 3] - +e[b2 >> 3])) < 0.00000011920928955078125)) {
16090
16090
+
b2 = 0;
16091
16091
+
return b2 | 0;
16092
16092
+
}
16093
16093
+
b2 = +q(+(+e[a3 + 8 >> 3] - +e[b2 + 8 >> 3])) < 0.00000011920928955078125;
16094
16094
+
return b2 | 0;
16095
16095
+
}
16096
16096
+
function md(a3, b2) {
16097
16097
+
a3 = a3 | 0;
16098
16098
+
b2 = b2 | 0;
16099
16099
+
var c2 = 0, d2 = 0, f2 = 0;
16100
16100
+
f2 = +e[a3 >> 3] - +e[b2 >> 3];
16101
16101
+
d2 = +e[a3 + 8 >> 3] - +e[b2 + 8 >> 3];
16102
16102
+
c2 = +e[a3 + 16 >> 3] - +e[b2 + 16 >> 3];
16103
16103
+
return +(f2 * f2 + d2 * d2 + c2 * c2);
16104
16104
+
}
16105
16105
+
function nd(a3, b2) {
16106
16106
+
a3 = a3 | 0;
16107
16107
+
b2 = b2 | 0;
16108
16108
+
var c2 = 0, d2 = 0, f2 = 0;
16109
16109
+
c2 = +e[a3 >> 3];
16110
16110
+
d2 = +t(+c2);
16111
16111
+
c2 = +u(+c2);
16112
16112
+
e[b2 + 16 >> 3] = c2;
16113
16113
+
c2 = +e[a3 + 8 >> 3];
16114
16114
+
f2 = d2 * +t(+c2);
16115
16115
+
e[b2 >> 3] = f2;
16116
16116
+
c2 = d2 * +u(+c2);
16117
16117
+
e[b2 + 8 >> 3] = c2;
16118
16118
+
return;
16119
16119
+
}
16120
16120
+
function od(a3, c2, d2) {
16121
16121
+
a3 = a3 | 0;
16122
16122
+
c2 = c2 | 0;
16123
16123
+
d2 = d2 | 0;
16124
16124
+
var e2 = 0, f2 = 0, g2 = 0;
16125
16125
+
g2 = T;
16126
16126
+
T = T + 16 | 0;
16127
16127
+
f2 = g2;
16128
16128
+
e2 = Hb(a3, c2) | 0;
16129
16129
+
if ((d2 + -1 | 0) >>> 0 > 5) {
16130
16130
+
f2 = -1;
16131
16131
+
T = g2;
16132
16132
+
return f2 | 0;
16133
16133
+
}
16134
16134
+
e2 = (e2 | 0) != 0;
16135
16135
+
if ((d2 | 0) == 1 & e2) {
16136
16136
+
f2 = -1;
16137
16137
+
T = g2;
16138
16138
+
return f2 | 0;
16139
16139
+
}
16140
16140
+
do {
16141
16141
+
if (!(pd(a3, c2, f2) | 0)) {
16142
16142
+
if (e2) {
16143
16143
+
e2 = ((b[26352 + (d2 << 2) >> 2] | 0) + 5 - (b[f2 >> 2] | 0) | 0) % 5 | 0;
16144
16144
+
break;
16145
16145
+
} else {
16146
16146
+
e2 = ((b[26384 + (d2 << 2) >> 2] | 0) + 6 - (b[f2 >> 2] | 0) | 0) % 6 | 0;
16147
16147
+
break;
16148
16148
+
}
16149
16149
+
} else {
16150
16150
+
e2 = -1;
16151
16151
+
}
16152
16152
+
} while (0);
16153
16153
+
f2 = e2;
16154
16154
+
T = g2;
16155
16155
+
return f2 | 0;
16156
16156
+
}
16157
16157
+
function pd(a3, c2, d2) {
16158
16158
+
a3 = a3 | 0;
16159
16159
+
c2 = c2 | 0;
16160
16160
+
d2 = d2 | 0;
16161
16161
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
16162
16162
+
k = T;
16163
16163
+
T = T + 32 | 0;
16164
16164
+
h = k + 16 | 0;
16165
16165
+
i = k;
16166
16166
+
e2 = Yb(a3, c2, h) | 0;
16167
16167
+
if (e2 | 0) {
16168
16168
+
d2 = e2;
16169
16169
+
T = k;
16170
16170
+
return d2 | 0;
16171
16171
+
}
16172
16172
+
g2 = Cb(a3, c2) | 0;
16173
16173
+
j = Pb(a3, c2) | 0;
16174
16174
+
sa(g2, i);
16175
16175
+
e2 = ta(g2, b[h >> 2] | 0) | 0;
16176
16176
+
a:
16177
16177
+
do {
16178
16178
+
if (oa(g2) | 0) {
16179
16179
+
do {
16180
16180
+
switch (g2 | 0) {
16181
16181
+
case 4: {
16182
16182
+
a3 = 0;
16183
16183
+
break;
16184
16184
+
}
16185
16185
+
case 14: {
16186
16186
+
a3 = 1;
16187
16187
+
break;
16188
16188
+
}
16189
16189
+
case 24: {
16190
16190
+
a3 = 2;
16191
16191
+
break;
16192
16192
+
}
16193
16193
+
case 38: {
16194
16194
+
a3 = 3;
16195
16195
+
break;
16196
16196
+
}
16197
16197
+
case 49: {
16198
16198
+
a3 = 4;
16199
16199
+
break;
16200
16200
+
}
16201
16201
+
case 58: {
16202
16202
+
a3 = 5;
16203
16203
+
break;
16204
16204
+
}
16205
16205
+
case 63: {
16206
16206
+
a3 = 6;
16207
16207
+
break;
16208
16208
+
}
16209
16209
+
case 72: {
16210
16210
+
a3 = 7;
16211
16211
+
break;
16212
16212
+
}
16213
16213
+
case 83: {
16214
16214
+
a3 = 8;
16215
16215
+
break;
16216
16216
+
}
16217
16217
+
case 97: {
16218
16218
+
a3 = 9;
16219
16219
+
break;
16220
16220
+
}
16221
16221
+
case 107: {
16222
16222
+
a3 = 10;
16223
16223
+
break;
16224
16224
+
}
16225
16225
+
case 117: {
16226
16226
+
a3 = 11;
16227
16227
+
break;
16228
16228
+
}
16229
16229
+
default: {
16230
16230
+
e2 = 1;
16231
16231
+
break a;
16232
16232
+
}
16233
16233
+
}
16234
16234
+
} while (0);
16235
16235
+
f2 = b[26416 + (a3 * 24 | 0) + 8 >> 2] | 0;
16236
16236
+
c2 = b[26416 + (a3 * 24 | 0) + 16 >> 2] | 0;
16237
16237
+
a3 = b[h >> 2] | 0;
16238
16238
+
if ((a3 | 0) != (b[i >> 2] | 0)) {
16239
16239
+
i = pa(g2) | 0;
16240
16240
+
a3 = b[h >> 2] | 0;
16241
16241
+
if (i | (a3 | 0) == (c2 | 0)) {
16242
16242
+
e2 = (e2 + 1 | 0) % 6 | 0;
16243
16243
+
}
16244
16244
+
}
16245
16245
+
if ((j | 0) == 3 & (a3 | 0) == (c2 | 0)) {
16246
16246
+
e2 = (e2 + 5 | 0) % 6 | 0;
16247
16247
+
f2 = 22;
16248
16248
+
break;
16249
16249
+
}
16250
16250
+
if ((j | 0) == 5 & (a3 | 0) == (f2 | 0)) {
16251
16251
+
e2 = (e2 + 1 | 0) % 6 | 0;
16252
16252
+
f2 = 22;
16253
16253
+
} else {
16254
16254
+
f2 = 22;
16255
16255
+
}
16256
16256
+
} else {
16257
16257
+
f2 = 22;
16258
16258
+
}
16259
16259
+
} while (0);
16260
16260
+
if ((f2 | 0) == 22) {
16261
16261
+
b[d2 >> 2] = e2;
16262
16262
+
e2 = 0;
16263
16263
+
}
16264
16264
+
d2 = e2;
16265
16265
+
T = k;
16266
16266
+
return d2 | 0;
16267
16267
+
}
16268
16268
+
function qd(a3, c2, d2, e2) {
16269
16269
+
a3 = a3 | 0;
16270
16270
+
c2 = c2 | 0;
16271
16271
+
d2 = d2 | 0;
16272
16272
+
e2 = e2 | 0;
16273
16273
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0;
16274
16274
+
u2 = T;
16275
16275
+
T = T + 32 | 0;
16276
16276
+
t2 = u2 + 24 | 0;
16277
16277
+
r2 = u2 + 20 | 0;
16278
16278
+
p3 = u2 + 8 | 0;
16279
16279
+
o = u2 + 16 | 0;
16280
16280
+
n = u2;
16281
16281
+
j = (Hb(a3, c2) | 0) == 0;
16282
16282
+
j = j ? 6 : 5;
16283
16283
+
l = Qd(a3 | 0, c2 | 0, 52) | 0;
16284
16284
+
H() | 0;
16285
16285
+
l = l & 15;
16286
16286
+
if (j >>> 0 <= d2 >>> 0) {
16287
16287
+
e2 = 2;
16288
16288
+
T = u2;
16289
16289
+
return e2 | 0;
16290
16290
+
}
16291
16291
+
m = (l | 0) == 0;
16292
16292
+
if (!m ? (q2 = Rd(7, 0, (l ^ 15) * 3 | 0) | 0, (q2 & a3 | 0) == 0 & ((H() | 0) & c2 | 0) == 0) : 0) {
16293
16293
+
f2 = d2;
16294
16294
+
} else {
16295
16295
+
g2 = 4;
16296
16296
+
}
16297
16297
+
a:
16298
16298
+
do {
16299
16299
+
if ((g2 | 0) == 4) {
16300
16300
+
f2 = (Hb(a3, c2) | 0) != 0;
16301
16301
+
if (((f2 ? 4 : 5) | 0) < (d2 | 0)) {
16302
16302
+
e2 = 1;
16303
16303
+
T = u2;
16304
16304
+
return e2 | 0;
16305
16305
+
}
16306
16306
+
if (pd(a3, c2, t2) | 0) {
16307
16307
+
e2 = 1;
16308
16308
+
T = u2;
16309
16309
+
return e2 | 0;
16310
16310
+
}
16311
16311
+
g2 = (b[t2 >> 2] | 0) + d2 | 0;
16312
16312
+
if (f2) {
16313
16313
+
f2 = 26704 + (((g2 | 0) % 5 | 0) << 2) | 0;
16314
16314
+
} else {
16315
16315
+
f2 = 26736 + (((g2 | 0) % 6 | 0) << 2) | 0;
16316
16316
+
}
16317
16317
+
q2 = b[f2 >> 2] | 0;
16318
16318
+
if ((q2 | 0) == 7) {
16319
16319
+
e2 = 1;
16320
16320
+
T = u2;
16321
16321
+
return e2 | 0;
16322
16322
+
}
16323
16323
+
b[r2 >> 2] = 0;
16324
16324
+
f2 = ea(a3, c2, q2, r2, p3) | 0;
16325
16325
+
do {
16326
16326
+
if (!f2) {
16327
16327
+
i = p3;
16328
16328
+
k = b[i >> 2] | 0;
16329
16329
+
i = b[i + 4 >> 2] | 0;
16330
16330
+
h = i >>> 0 < c2 >>> 0 | (i | 0) == (c2 | 0) & k >>> 0 < a3 >>> 0;
16331
16331
+
g2 = h ? k : a3;
16332
16332
+
h = h ? i : c2;
16333
16333
+
if (!m ? (m = Rd(7, 0, (l ^ 15) * 3 | 0) | 0, (k & m | 0) == 0 & (i & (H() | 0) | 0) == 0) : 0) {
16334
16334
+
f2 = d2;
16335
16335
+
} else {
16336
16336
+
i = (d2 + -1 + j | 0) % (j | 0) | 0;
16337
16337
+
f2 = Hb(a3, c2) | 0;
16338
16338
+
if ((i | 0) < 0) {
16339
16339
+
I(27795, 27797, 246, 27806);
16340
16340
+
}
16341
16341
+
j = (f2 | 0) != 0;
16342
16342
+
if (((j ? 4 : 5) | 0) < (i | 0)) {
16343
16343
+
I(27795, 27797, 246, 27806);
16344
16344
+
}
16345
16345
+
if (pd(a3, c2, t2) | 0) {
16346
16346
+
I(27795, 27797, 246, 27806);
16347
16347
+
}
16348
16348
+
f2 = (b[t2 >> 2] | 0) + i | 0;
16349
16349
+
if (j) {
16350
16350
+
f2 = 26704 + (((f2 | 0) % 5 | 0) << 2) | 0;
16351
16351
+
} else {
16352
16352
+
f2 = 26736 + (((f2 | 0) % 6 | 0) << 2) | 0;
16353
16353
+
}
16354
16354
+
i = b[f2 >> 2] | 0;
16355
16355
+
if ((i | 0) == 7) {
16356
16356
+
I(27795, 27797, 246, 27806);
16357
16357
+
}
16358
16358
+
b[o >> 2] = 0;
16359
16359
+
f2 = ea(a3, c2, i, o, n) | 0;
16360
16360
+
if (f2 | 0) {
16361
16361
+
break;
16362
16362
+
}
16363
16363
+
k = n;
16364
16364
+
j = b[k >> 2] | 0;
16365
16365
+
k = b[k + 4 >> 2] | 0;
16366
16366
+
do {
16367
16367
+
if (k >>> 0 < h >>> 0 | (k | 0) == (h | 0) & j >>> 0 < g2 >>> 0) {
16368
16368
+
if (!(Hb(j, k) | 0)) {
16369
16369
+
g2 = b[26800 + ((((b[o >> 2] | 0) + (b[26768 + (i << 2) >> 2] | 0) | 0) % 6 | 0) << 2) >> 2] | 0;
16370
16370
+
} else {
16371
16371
+
g2 = ia(j, k, a3, c2) | 0;
16372
16372
+
}
16373
16373
+
f2 = Hb(j, k) | 0;
16374
16374
+
if ((g2 + -1 | 0) >>> 0 > 5) {
16375
16375
+
f2 = -1;
16376
16376
+
g2 = j;
16377
16377
+
h = k;
16378
16378
+
break;
16379
16379
+
}
16380
16380
+
f2 = (f2 | 0) != 0;
16381
16381
+
if ((g2 | 0) == 1 & f2) {
16382
16382
+
f2 = -1;
16383
16383
+
g2 = j;
16384
16384
+
h = k;
16385
16385
+
break;
16386
16386
+
}
16387
16387
+
do {
16388
16388
+
if (!(pd(j, k, t2) | 0)) {
16389
16389
+
if (f2) {
16390
16390
+
f2 = ((b[26352 + (g2 << 2) >> 2] | 0) + 5 - (b[t2 >> 2] | 0) | 0) % 5 | 0;
16391
16391
+
break;
16392
16392
+
} else {
16393
16393
+
f2 = ((b[26384 + (g2 << 2) >> 2] | 0) + 6 - (b[t2 >> 2] | 0) | 0) % 6 | 0;
16394
16394
+
break;
16395
16395
+
}
16396
16396
+
} else {
16397
16397
+
f2 = -1;
16398
16398
+
}
16399
16399
+
} while (0);
16400
16400
+
g2 = j;
16401
16401
+
h = k;
16402
16402
+
} else {
16403
16403
+
f2 = d2;
16404
16404
+
}
16405
16405
+
} while (0);
16406
16406
+
i = p3;
16407
16407
+
k = b[i >> 2] | 0;
16408
16408
+
i = b[i + 4 >> 2] | 0;
16409
16409
+
}
16410
16410
+
if ((g2 | 0) == (k | 0) & (h | 0) == (i | 0)) {
16411
16411
+
j = (Hb(k, i) | 0) != 0;
16412
16412
+
if (j) {
16413
16413
+
a3 = ia(k, i, a3, c2) | 0;
16414
16414
+
} else {
16415
16415
+
a3 = b[26800 + ((((b[r2 >> 2] | 0) + (b[26768 + (q2 << 2) >> 2] | 0) | 0) % 6 | 0) << 2) >> 2] | 0;
16416
16416
+
}
16417
16417
+
f2 = Hb(k, i) | 0;
16418
16418
+
if ((a3 + -1 | 0) >>> 0 <= 5 ? (s2 = (f2 | 0) != 0, !((a3 | 0) == 1 & s2)) : 0) {
16419
16419
+
do {
16420
16420
+
if (!(pd(k, i, t2) | 0)) {
16421
16421
+
if (s2) {
16422
16422
+
f2 = ((b[26352 + (a3 << 2) >> 2] | 0) + 5 - (b[t2 >> 2] | 0) | 0) % 5 | 0;
16423
16423
+
break;
16424
16424
+
} else {
16425
16425
+
f2 = ((b[26384 + (a3 << 2) >> 2] | 0) + 6 - (b[t2 >> 2] | 0) | 0) % 6 | 0;
16426
16426
+
break;
16427
16427
+
}
16428
16428
+
} else {
16429
16429
+
f2 = -1;
16430
16430
+
}
16431
16431
+
} while (0);
16432
16432
+
} else {
16433
16433
+
f2 = -1;
16434
16434
+
}
16435
16435
+
f2 = f2 + 1 | 0;
16436
16436
+
f2 = (f2 | 0) == 6 | j & (f2 | 0) == 5 ? 0 : f2;
16437
16437
+
}
16438
16438
+
c2 = h;
16439
16439
+
a3 = g2;
16440
16440
+
break a;
16441
16441
+
}
16442
16442
+
} while (0);
16443
16443
+
e2 = f2;
16444
16444
+
T = u2;
16445
16445
+
return e2 | 0;
16446
16446
+
}
16447
16447
+
} while (0);
16448
16448
+
s2 = Rd(f2 | 0, 0, 56) | 0;
16449
16449
+
t2 = H() | 0 | c2 & -2130706433 | 536870912;
16450
16450
+
b[e2 >> 2] = s2 | a3;
16451
16451
+
b[e2 + 4 >> 2] = t2;
16452
16452
+
e2 = 0;
16453
16453
+
T = u2;
16454
16454
+
return e2 | 0;
16455
16455
+
}
16456
16456
+
function rd(a3, c2, d2) {
16457
16457
+
a3 = a3 | 0;
16458
16458
+
c2 = c2 | 0;
16459
16459
+
d2 = d2 | 0;
16460
16460
+
var e2 = 0, f2 = 0, g2 = 0;
16461
16461
+
g2 = (Hb(a3, c2) | 0) == 0;
16462
16462
+
e2 = qd(a3, c2, 0, d2) | 0;
16463
16463
+
f2 = (e2 | 0) == 0;
16464
16464
+
if (g2) {
16465
16465
+
if (!f2) {
16466
16466
+
g2 = e2;
16467
16467
+
return g2 | 0;
16468
16468
+
}
16469
16469
+
e2 = qd(a3, c2, 1, d2 + 8 | 0) | 0;
16470
16470
+
if (e2 | 0) {
16471
16471
+
g2 = e2;
16472
16472
+
return g2 | 0;
16473
16473
+
}
16474
16474
+
e2 = qd(a3, c2, 2, d2 + 16 | 0) | 0;
16475
16475
+
if (e2 | 0) {
16476
16476
+
g2 = e2;
16477
16477
+
return g2 | 0;
16478
16478
+
}
16479
16479
+
e2 = qd(a3, c2, 3, d2 + 24 | 0) | 0;
16480
16480
+
if (e2 | 0) {
16481
16481
+
g2 = e2;
16482
16482
+
return g2 | 0;
16483
16483
+
}
16484
16484
+
e2 = qd(a3, c2, 4, d2 + 32 | 0) | 0;
16485
16485
+
if (!e2) {
16486
16486
+
return qd(a3, c2, 5, d2 + 40 | 0) | 0;
16487
16487
+
} else {
16488
16488
+
g2 = e2;
16489
16489
+
return g2 | 0;
16490
16490
+
}
16491
16491
+
}
16492
16492
+
if (!f2) {
16493
16493
+
g2 = e2;
16494
16494
+
return g2 | 0;
16495
16495
+
}
16496
16496
+
e2 = qd(a3, c2, 1, d2 + 8 | 0) | 0;
16497
16497
+
if (e2 | 0) {
16498
16498
+
g2 = e2;
16499
16499
+
return g2 | 0;
16500
16500
+
}
16501
16501
+
e2 = qd(a3, c2, 2, d2 + 16 | 0) | 0;
16502
16502
+
if (e2 | 0) {
16503
16503
+
g2 = e2;
16504
16504
+
return g2 | 0;
16505
16505
+
}
16506
16506
+
e2 = qd(a3, c2, 3, d2 + 24 | 0) | 0;
16507
16507
+
if (e2 | 0) {
16508
16508
+
g2 = e2;
16509
16509
+
return g2 | 0;
16510
16510
+
}
16511
16511
+
e2 = qd(a3, c2, 4, d2 + 32 | 0) | 0;
16512
16512
+
if (e2 | 0) {
16513
16513
+
g2 = e2;
16514
16514
+
return g2 | 0;
16515
16515
+
}
16516
16516
+
g2 = d2 + 40 | 0;
16517
16517
+
b[g2 >> 2] = 0;
16518
16518
+
b[g2 + 4 >> 2] = 0;
16519
16519
+
g2 = 0;
16520
16520
+
return g2 | 0;
16521
16521
+
}
16522
16522
+
function sd(a3, c2, d2) {
16523
16523
+
a3 = a3 | 0;
16524
16524
+
c2 = c2 | 0;
16525
16525
+
d2 = d2 | 0;
16526
16526
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
16527
16527
+
j = T;
16528
16528
+
T = T + 192 | 0;
16529
16529
+
f2 = j;
16530
16530
+
g2 = j + 168 | 0;
16531
16531
+
h = Qd(a3 | 0, c2 | 0, 56) | 0;
16532
16532
+
H() | 0;
16533
16533
+
h = h & 7;
16534
16534
+
i = c2 & -2130706433 | 134217728;
16535
16535
+
e2 = Yb(a3, i, g2) | 0;
16536
16536
+
if (e2 | 0) {
16537
16537
+
i = e2;
16538
16538
+
T = j;
16539
16539
+
return i | 0;
16540
16540
+
}
16541
16541
+
c2 = Qd(a3 | 0, c2 | 0, 52) | 0;
16542
16542
+
H() | 0;
16543
16543
+
c2 = c2 & 15;
16544
16544
+
if (!(Hb(a3, i) | 0)) {
16545
16545
+
zb(g2, c2, h, 1, f2);
16546
16546
+
} else {
16547
16547
+
vb(g2, c2, h, 1, f2);
16548
16548
+
}
16549
16549
+
i = f2 + 8 | 0;
16550
16550
+
b[d2 >> 2] = b[i >> 2];
16551
16551
+
b[d2 + 4 >> 2] = b[i + 4 >> 2];
16552
16552
+
b[d2 + 8 >> 2] = b[i + 8 >> 2];
16553
16553
+
b[d2 + 12 >> 2] = b[i + 12 >> 2];
16554
16554
+
i = 0;
16555
16555
+
T = j;
16556
16556
+
return i | 0;
16557
16557
+
}
16558
16558
+
function td(a3, c2) {
16559
16559
+
a3 = a3 | 0;
16560
16560
+
c2 = c2 | 0;
16561
16561
+
var d2 = 0, e2 = 0, f2 = 0, g2 = 0;
16562
16562
+
f2 = T;
16563
16563
+
T = T + 16 | 0;
16564
16564
+
d2 = f2;
16565
16565
+
if (!(true & (c2 & 2013265920 | 0) == 536870912)) {
16566
16566
+
e2 = 0;
16567
16567
+
T = f2;
16568
16568
+
return e2 | 0;
16569
16569
+
}
16570
16570
+
e2 = c2 & -2130706433 | 134217728;
16571
16571
+
if (!(Db(a3, e2) | 0)) {
16572
16572
+
e2 = 0;
16573
16573
+
T = f2;
16574
16574
+
return e2 | 0;
16575
16575
+
}
16576
16576
+
g2 = Qd(a3 | 0, c2 | 0, 56) | 0;
16577
16577
+
H() | 0;
16578
16578
+
g2 = (qd(a3, e2, g2 & 7, d2) | 0) == 0;
16579
16579
+
e2 = d2;
16580
16580
+
e2 = g2 & ((b[e2 >> 2] | 0) == (a3 | 0) ? (b[e2 + 4 >> 2] | 0) == (c2 | 0) : 0) & 1;
16581
16581
+
T = f2;
16582
16582
+
return e2 | 0;
16583
16583
+
}
16584
16584
+
function ud(a3, c2, d2) {
16585
16585
+
a3 = a3 | 0;
16586
16586
+
c2 = c2 | 0;
16587
16587
+
d2 = d2 | 0;
16588
16588
+
var e2 = 0;
16589
16589
+
if ((c2 | 0) > 0) {
16590
16590
+
e2 = Fd(c2, 4) | 0;
16591
16591
+
b[a3 >> 2] = e2;
16592
16592
+
if (!e2) {
16593
16593
+
I(27819, 27842, 40, 27856);
16594
16594
+
}
16595
16595
+
} else {
16596
16596
+
b[a3 >> 2] = 0;
16597
16597
+
}
16598
16598
+
b[a3 + 4 >> 2] = c2;
16599
16599
+
b[a3 + 8 >> 2] = 0;
16600
16600
+
b[a3 + 12 >> 2] = d2;
16601
16601
+
return;
16602
16602
+
}
16603
16603
+
function vd(a3) {
16604
16604
+
a3 = a3 | 0;
16605
16605
+
var c2 = 0, d2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
16606
16606
+
g2 = a3 + 4 | 0;
16607
16607
+
h = a3 + 12 | 0;
16608
16608
+
i = a3 + 8 | 0;
16609
16609
+
a:
16610
16610
+
while (true) {
16611
16611
+
d2 = b[g2 >> 2] | 0;
16612
16612
+
c2 = 0;
16613
16613
+
while (true) {
16614
16614
+
if ((c2 | 0) >= (d2 | 0)) {
16615
16615
+
break a;
16616
16616
+
}
16617
16617
+
f2 = b[a3 >> 2] | 0;
16618
16618
+
j = b[f2 + (c2 << 2) >> 2] | 0;
16619
16619
+
if (!j) {
16620
16620
+
c2 = c2 + 1 | 0;
16621
16621
+
} else {
16622
16622
+
break;
16623
16623
+
}
16624
16624
+
}
16625
16625
+
c2 = f2 + (~~(+q(+(+s(10, + +(15 - (b[h >> 2] | 0) | 0)) * (+e[j >> 3] + +e[j + 8 >> 3]))) % +(d2 | 0)) >>> 0 << 2) | 0;
16626
16626
+
d2 = b[c2 >> 2] | 0;
16627
16627
+
b:
16628
16628
+
do {
16629
16629
+
if (d2 | 0) {
16630
16630
+
f2 = j + 32 | 0;
16631
16631
+
if ((d2 | 0) == (j | 0)) {
16632
16632
+
b[c2 >> 2] = b[f2 >> 2];
16633
16633
+
} else {
16634
16634
+
d2 = d2 + 32 | 0;
16635
16635
+
c2 = b[d2 >> 2] | 0;
16636
16636
+
if (!c2) {
16637
16637
+
break;
16638
16638
+
}
16639
16639
+
while (true) {
16640
16640
+
if ((c2 | 0) == (j | 0)) {
16641
16641
+
break;
16642
16642
+
}
16643
16643
+
d2 = c2 + 32 | 0;
16644
16644
+
c2 = b[d2 >> 2] | 0;
16645
16645
+
if (!c2) {
16646
16646
+
break b;
16647
16647
+
}
16648
16648
+
}
16649
16649
+
b[d2 >> 2] = b[f2 >> 2];
16650
16650
+
}
16651
16651
+
Ed(j);
16652
16652
+
b[i >> 2] = (b[i >> 2] | 0) + -1;
16653
16653
+
}
16654
16654
+
} while (0);
16655
16655
+
}
16656
16656
+
Ed(b[a3 >> 2] | 0);
16657
16657
+
return;
16658
16658
+
}
16659
16659
+
function wd(a3) {
16660
16660
+
a3 = a3 | 0;
16661
16661
+
var c2 = 0, d2 = 0, e2 = 0;
16662
16662
+
e2 = b[a3 + 4 >> 2] | 0;
16663
16663
+
d2 = 0;
16664
16664
+
while (true) {
16665
16665
+
if ((d2 | 0) >= (e2 | 0)) {
16666
16666
+
c2 = 0;
16667
16667
+
d2 = 4;
16668
16668
+
break;
16669
16669
+
}
16670
16670
+
c2 = b[(b[a3 >> 2] | 0) + (d2 << 2) >> 2] | 0;
16671
16671
+
if (!c2) {
16672
16672
+
d2 = d2 + 1 | 0;
16673
16673
+
} else {
16674
16674
+
d2 = 4;
16675
16675
+
break;
16676
16676
+
}
16677
16677
+
}
16678
16678
+
if ((d2 | 0) == 4) {
16679
16679
+
return c2 | 0;
16680
16680
+
}
16681
16681
+
return 0;
16682
16682
+
}
16683
16683
+
function xd(a3, c2) {
16684
16684
+
a3 = a3 | 0;
16685
16685
+
c2 = c2 | 0;
16686
16686
+
var d2 = 0, f2 = 0, g2 = 0, h = 0;
16687
16687
+
d2 = ~~(+q(+(+s(10, + +(15 - (b[a3 + 12 >> 2] | 0) | 0)) * (+e[c2 >> 3] + +e[c2 + 8 >> 3]))) % +(b[a3 + 4 >> 2] | 0)) >>> 0;
16688
16688
+
d2 = (b[a3 >> 2] | 0) + (d2 << 2) | 0;
16689
16689
+
f2 = b[d2 >> 2] | 0;
16690
16690
+
if (!f2) {
16691
16691
+
h = 1;
16692
16692
+
return h | 0;
16693
16693
+
}
16694
16694
+
h = c2 + 32 | 0;
16695
16695
+
do {
16696
16696
+
if ((f2 | 0) != (c2 | 0)) {
16697
16697
+
d2 = b[f2 + 32 >> 2] | 0;
16698
16698
+
if (!d2) {
16699
16699
+
h = 1;
16700
16700
+
return h | 0;
16701
16701
+
}
16702
16702
+
g2 = d2;
16703
16703
+
while (true) {
16704
16704
+
if ((g2 | 0) == (c2 | 0)) {
16705
16705
+
g2 = 8;
16706
16706
+
break;
16707
16707
+
}
16708
16708
+
d2 = b[g2 + 32 >> 2] | 0;
16709
16709
+
if (!d2) {
16710
16710
+
d2 = 1;
16711
16711
+
g2 = 10;
16712
16712
+
break;
16713
16713
+
} else {
16714
16714
+
f2 = g2;
16715
16715
+
g2 = d2;
16716
16716
+
}
16717
16717
+
}
16718
16718
+
if ((g2 | 0) == 8) {
16719
16719
+
b[f2 + 32 >> 2] = b[h >> 2];
16720
16720
+
break;
16721
16721
+
} else if ((g2 | 0) == 10) {
16722
16722
+
return d2 | 0;
16723
16723
+
}
16724
16724
+
} else {
16725
16725
+
b[d2 >> 2] = b[h >> 2];
16726
16726
+
}
16727
16727
+
} while (0);
16728
16728
+
Ed(c2);
16729
16729
+
h = a3 + 8 | 0;
16730
16730
+
b[h >> 2] = (b[h >> 2] | 0) + -1;
16731
16731
+
h = 0;
16732
16732
+
return h | 0;
16733
16733
+
}
16734
16734
+
function yd(a3, c2, d2) {
16735
16735
+
a3 = a3 | 0;
16736
16736
+
c2 = c2 | 0;
16737
16737
+
d2 = d2 | 0;
16738
16738
+
var f2 = 0, g2 = 0, h = 0, i = 0;
16739
16739
+
h = Dd(40) | 0;
16740
16740
+
if (!h) {
16741
16741
+
I(27872, 27842, 98, 27885);
16742
16742
+
}
16743
16743
+
b[h >> 2] = b[c2 >> 2];
16744
16744
+
b[h + 4 >> 2] = b[c2 + 4 >> 2];
16745
16745
+
b[h + 8 >> 2] = b[c2 + 8 >> 2];
16746
16746
+
b[h + 12 >> 2] = b[c2 + 12 >> 2];
16747
16747
+
g2 = h + 16 | 0;
16748
16748
+
b[g2 >> 2] = b[d2 >> 2];
16749
16749
+
b[g2 + 4 >> 2] = b[d2 + 4 >> 2];
16750
16750
+
b[g2 + 8 >> 2] = b[d2 + 8 >> 2];
16751
16751
+
b[g2 + 12 >> 2] = b[d2 + 12 >> 2];
16752
16752
+
b[h + 32 >> 2] = 0;
16753
16753
+
g2 = ~~(+q(+(+s(10, + +(15 - (b[a3 + 12 >> 2] | 0) | 0)) * (+e[c2 >> 3] + +e[c2 + 8 >> 3]))) % +(b[a3 + 4 >> 2] | 0)) >>> 0;
16754
16754
+
g2 = (b[a3 >> 2] | 0) + (g2 << 2) | 0;
16755
16755
+
f2 = b[g2 >> 2] | 0;
16756
16756
+
do {
16757
16757
+
if (!f2) {
16758
16758
+
b[g2 >> 2] = h;
16759
16759
+
} else {
16760
16760
+
while (true) {
16761
16761
+
if (jc(f2, c2) | 0 ? jc(f2 + 16 | 0, d2) | 0 : 0) {
16762
16762
+
break;
16763
16763
+
}
16764
16764
+
g2 = b[f2 + 32 >> 2] | 0;
16765
16765
+
f2 = (g2 | 0) == 0 ? f2 : g2;
16766
16766
+
if (!(b[f2 + 32 >> 2] | 0)) {
16767
16767
+
i = 10;
16768
16768
+
break;
16769
16769
+
}
16770
16770
+
}
16771
16771
+
if ((i | 0) == 10) {
16772
16772
+
b[f2 + 32 >> 2] = h;
16773
16773
+
break;
16774
16774
+
}
16775
16775
+
Ed(h);
16776
16776
+
i = f2;
16777
16777
+
return i | 0;
16778
16778
+
}
16779
16779
+
} while (0);
16780
16780
+
i = a3 + 8 | 0;
16781
16781
+
b[i >> 2] = (b[i >> 2] | 0) + 1;
16782
16782
+
i = h;
16783
16783
+
return i | 0;
16784
16784
+
}
16785
16785
+
function zd(a3, c2, d2) {
16786
16786
+
a3 = a3 | 0;
16787
16787
+
c2 = c2 | 0;
16788
16788
+
d2 = d2 | 0;
16789
16789
+
var f2 = 0, g2 = 0;
16790
16790
+
g2 = ~~(+q(+(+s(10, + +(15 - (b[a3 + 12 >> 2] | 0) | 0)) * (+e[c2 >> 3] + +e[c2 + 8 >> 3]))) % +(b[a3 + 4 >> 2] | 0)) >>> 0;
16791
16791
+
g2 = b[(b[a3 >> 2] | 0) + (g2 << 2) >> 2] | 0;
16792
16792
+
if (!g2) {
16793
16793
+
d2 = 0;
16794
16794
+
return d2 | 0;
16795
16795
+
}
16796
16796
+
if (!d2) {
16797
16797
+
a3 = g2;
16798
16798
+
while (true) {
16799
16799
+
if (jc(a3, c2) | 0) {
16800
16800
+
f2 = 10;
16801
16801
+
break;
16802
16802
+
}
16803
16803
+
a3 = b[a3 + 32 >> 2] | 0;
16804
16804
+
if (!a3) {
16805
16805
+
a3 = 0;
16806
16806
+
f2 = 10;
16807
16807
+
break;
16808
16808
+
}
16809
16809
+
}
16810
16810
+
if ((f2 | 0) == 10) {
16811
16811
+
return a3 | 0;
16812
16812
+
}
16813
16813
+
}
16814
16814
+
a3 = g2;
16815
16815
+
while (true) {
16816
16816
+
if (jc(a3, c2) | 0 ? jc(a3 + 16 | 0, d2) | 0 : 0) {
16817
16817
+
f2 = 10;
16818
16818
+
break;
16819
16819
+
}
16820
16820
+
a3 = b[a3 + 32 >> 2] | 0;
16821
16821
+
if (!a3) {
16822
16822
+
a3 = 0;
16823
16823
+
f2 = 10;
16824
16824
+
break;
16825
16825
+
}
16826
16826
+
}
16827
16827
+
if ((f2 | 0) == 10) {
16828
16828
+
return a3 | 0;
16829
16829
+
}
16830
16830
+
return 0;
16831
16831
+
}
16832
16832
+
function Ad(a3, c2) {
16833
16833
+
a3 = a3 | 0;
16834
16834
+
c2 = c2 | 0;
16835
16835
+
var d2 = 0;
16836
16836
+
d2 = ~~(+q(+(+s(10, + +(15 - (b[a3 + 12 >> 2] | 0) | 0)) * (+e[c2 >> 3] + +e[c2 + 8 >> 3]))) % +(b[a3 + 4 >> 2] | 0)) >>> 0;
16837
16837
+
a3 = b[(b[a3 >> 2] | 0) + (d2 << 2) >> 2] | 0;
16838
16838
+
if (!a3) {
16839
16839
+
d2 = 0;
16840
16840
+
return d2 | 0;
16841
16841
+
}
16842
16842
+
while (true) {
16843
16843
+
if (jc(a3, c2) | 0) {
16844
16844
+
c2 = 5;
16845
16845
+
break;
16846
16846
+
}
16847
16847
+
a3 = b[a3 + 32 >> 2] | 0;
16848
16848
+
if (!a3) {
16849
16849
+
a3 = 0;
16850
16850
+
c2 = 5;
16851
16851
+
break;
16852
16852
+
}
16853
16853
+
}
16854
16854
+
if ((c2 | 0) == 5) {
16855
16855
+
return a3 | 0;
16856
16856
+
}
16857
16857
+
return 0;
16858
16858
+
}
16859
16859
+
function Bd() {
16860
16860
+
return 27904;
16861
16861
+
}
16862
16862
+
function Cd(a3) {
16863
16863
+
a3 = +a3;
16864
16864
+
return ~~+Yd(+a3) | 0;
16865
16865
+
}
16866
16866
+
function Dd(a3) {
16867
16867
+
a3 = a3 | 0;
16868
16868
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0, q2 = 0, r2 = 0, s2 = 0, t2 = 0, u2 = 0, v2 = 0, w2 = 0;
16869
16869
+
w2 = T;
16870
16870
+
T = T + 16 | 0;
16871
16871
+
n = w2;
16872
16872
+
do {
16873
16873
+
if (a3 >>> 0 < 245) {
16874
16874
+
k = a3 >>> 0 < 11 ? 16 : a3 + 11 & -8;
16875
16875
+
a3 = k >>> 3;
16876
16876
+
m = b[6977] | 0;
16877
16877
+
d2 = m >>> a3;
16878
16878
+
if (d2 & 3 | 0) {
16879
16879
+
c2 = (d2 & 1 ^ 1) + a3 | 0;
16880
16880
+
a3 = 27948 + (c2 << 1 << 2) | 0;
16881
16881
+
d2 = a3 + 8 | 0;
16882
16882
+
e2 = b[d2 >> 2] | 0;
16883
16883
+
f2 = e2 + 8 | 0;
16884
16884
+
g2 = b[f2 >> 2] | 0;
16885
16885
+
if ((g2 | 0) == (a3 | 0)) {
16886
16886
+
b[6977] = m & ~(1 << c2);
16887
16887
+
} else {
16888
16888
+
b[g2 + 12 >> 2] = a3;
16889
16889
+
b[d2 >> 2] = g2;
16890
16890
+
}
16891
16891
+
v2 = c2 << 3;
16892
16892
+
b[e2 + 4 >> 2] = v2 | 3;
16893
16893
+
v2 = e2 + v2 + 4 | 0;
16894
16894
+
b[v2 >> 2] = b[v2 >> 2] | 1;
16895
16895
+
v2 = f2;
16896
16896
+
T = w2;
16897
16897
+
return v2 | 0;
16898
16898
+
}
16899
16899
+
l = b[6979] | 0;
16900
16900
+
if (k >>> 0 > l >>> 0) {
16901
16901
+
if (d2 | 0) {
16902
16902
+
c2 = 2 << a3;
16903
16903
+
c2 = d2 << a3 & (c2 | 0 - c2);
16904
16904
+
c2 = (c2 & 0 - c2) + -1 | 0;
16905
16905
+
i = c2 >>> 12 & 16;
16906
16906
+
c2 = c2 >>> i;
16907
16907
+
d2 = c2 >>> 5 & 8;
16908
16908
+
c2 = c2 >>> d2;
16909
16909
+
g2 = c2 >>> 2 & 4;
16910
16910
+
c2 = c2 >>> g2;
16911
16911
+
a3 = c2 >>> 1 & 2;
16912
16912
+
c2 = c2 >>> a3;
16913
16913
+
e2 = c2 >>> 1 & 1;
16914
16914
+
e2 = (d2 | i | g2 | a3 | e2) + (c2 >>> e2) | 0;
16915
16915
+
c2 = 27948 + (e2 << 1 << 2) | 0;
16916
16916
+
a3 = c2 + 8 | 0;
16917
16917
+
g2 = b[a3 >> 2] | 0;
16918
16918
+
i = g2 + 8 | 0;
16919
16919
+
d2 = b[i >> 2] | 0;
16920
16920
+
if ((d2 | 0) == (c2 | 0)) {
16921
16921
+
a3 = m & ~(1 << e2);
16922
16922
+
b[6977] = a3;
16923
16923
+
} else {
16924
16924
+
b[d2 + 12 >> 2] = c2;
16925
16925
+
b[a3 >> 2] = d2;
16926
16926
+
a3 = m;
16927
16927
+
}
16928
16928
+
v2 = e2 << 3;
16929
16929
+
h = v2 - k | 0;
16930
16930
+
b[g2 + 4 >> 2] = k | 3;
16931
16931
+
f2 = g2 + k | 0;
16932
16932
+
b[f2 + 4 >> 2] = h | 1;
16933
16933
+
b[g2 + v2 >> 2] = h;
16934
16934
+
if (l | 0) {
16935
16935
+
e2 = b[6982] | 0;
16936
16936
+
c2 = l >>> 3;
16937
16937
+
d2 = 27948 + (c2 << 1 << 2) | 0;
16938
16938
+
c2 = 1 << c2;
16939
16939
+
if (!(a3 & c2)) {
16940
16940
+
b[6977] = a3 | c2;
16941
16941
+
c2 = d2;
16942
16942
+
a3 = d2 + 8 | 0;
16943
16943
+
} else {
16944
16944
+
a3 = d2 + 8 | 0;
16945
16945
+
c2 = b[a3 >> 2] | 0;
16946
16946
+
}
16947
16947
+
b[a3 >> 2] = e2;
16948
16948
+
b[c2 + 12 >> 2] = e2;
16949
16949
+
b[e2 + 8 >> 2] = c2;
16950
16950
+
b[e2 + 12 >> 2] = d2;
16951
16951
+
}
16952
16952
+
b[6979] = h;
16953
16953
+
b[6982] = f2;
16954
16954
+
v2 = i;
16955
16955
+
T = w2;
16956
16956
+
return v2 | 0;
16957
16957
+
}
16958
16958
+
g2 = b[6978] | 0;
16959
16959
+
if (g2) {
16960
16960
+
d2 = (g2 & 0 - g2) + -1 | 0;
16961
16961
+
f2 = d2 >>> 12 & 16;
16962
16962
+
d2 = d2 >>> f2;
16963
16963
+
e2 = d2 >>> 5 & 8;
16964
16964
+
d2 = d2 >>> e2;
16965
16965
+
h = d2 >>> 2 & 4;
16966
16966
+
d2 = d2 >>> h;
16967
16967
+
i = d2 >>> 1 & 2;
16968
16968
+
d2 = d2 >>> i;
16969
16969
+
j = d2 >>> 1 & 1;
16970
16970
+
j = b[28212 + ((e2 | f2 | h | i | j) + (d2 >>> j) << 2) >> 2] | 0;
16971
16971
+
d2 = j;
16972
16972
+
i = j;
16973
16973
+
j = (b[j + 4 >> 2] & -8) - k | 0;
16974
16974
+
while (true) {
16975
16975
+
a3 = b[d2 + 16 >> 2] | 0;
16976
16976
+
if (!a3) {
16977
16977
+
a3 = b[d2 + 20 >> 2] | 0;
16978
16978
+
if (!a3) {
16979
16979
+
break;
16980
16980
+
}
16981
16981
+
}
16982
16982
+
h = (b[a3 + 4 >> 2] & -8) - k | 0;
16983
16983
+
f2 = h >>> 0 < j >>> 0;
16984
16984
+
d2 = a3;
16985
16985
+
i = f2 ? a3 : i;
16986
16986
+
j = f2 ? h : j;
16987
16987
+
}
16988
16988
+
h = i + k | 0;
16989
16989
+
if (h >>> 0 > i >>> 0) {
16990
16990
+
f2 = b[i + 24 >> 2] | 0;
16991
16991
+
c2 = b[i + 12 >> 2] | 0;
16992
16992
+
do {
16993
16993
+
if ((c2 | 0) == (i | 0)) {
16994
16994
+
a3 = i + 20 | 0;
16995
16995
+
c2 = b[a3 >> 2] | 0;
16996
16996
+
if (!c2) {
16997
16997
+
a3 = i + 16 | 0;
16998
16998
+
c2 = b[a3 >> 2] | 0;
16999
16999
+
if (!c2) {
17000
17000
+
d2 = 0;
17001
17001
+
break;
17002
17002
+
}
17003
17003
+
}
17004
17004
+
while (true) {
17005
17005
+
e2 = c2 + 20 | 0;
17006
17006
+
d2 = b[e2 >> 2] | 0;
17007
17007
+
if (!d2) {
17008
17008
+
e2 = c2 + 16 | 0;
17009
17009
+
d2 = b[e2 >> 2] | 0;
17010
17010
+
if (!d2) {
17011
17011
+
break;
17012
17012
+
} else {
17013
17013
+
c2 = d2;
17014
17014
+
a3 = e2;
17015
17015
+
}
17016
17016
+
} else {
17017
17017
+
c2 = d2;
17018
17018
+
a3 = e2;
17019
17019
+
}
17020
17020
+
}
17021
17021
+
b[a3 >> 2] = 0;
17022
17022
+
d2 = c2;
17023
17023
+
} else {
17024
17024
+
d2 = b[i + 8 >> 2] | 0;
17025
17025
+
b[d2 + 12 >> 2] = c2;
17026
17026
+
b[c2 + 8 >> 2] = d2;
17027
17027
+
d2 = c2;
17028
17028
+
}
17029
17029
+
} while (0);
17030
17030
+
do {
17031
17031
+
if (f2 | 0) {
17032
17032
+
c2 = b[i + 28 >> 2] | 0;
17033
17033
+
a3 = 28212 + (c2 << 2) | 0;
17034
17034
+
if ((i | 0) == (b[a3 >> 2] | 0)) {
17035
17035
+
b[a3 >> 2] = d2;
17036
17036
+
if (!d2) {
17037
17037
+
b[6978] = g2 & ~(1 << c2);
17038
17038
+
break;
17039
17039
+
}
17040
17040
+
} else {
17041
17041
+
v2 = f2 + 16 | 0;
17042
17042
+
b[((b[v2 >> 2] | 0) == (i | 0) ? v2 : f2 + 20 | 0) >> 2] = d2;
17043
17043
+
if (!d2) {
17044
17044
+
break;
17045
17045
+
}
17046
17046
+
}
17047
17047
+
b[d2 + 24 >> 2] = f2;
17048
17048
+
c2 = b[i + 16 >> 2] | 0;
17049
17049
+
if (c2 | 0) {
17050
17050
+
b[d2 + 16 >> 2] = c2;
17051
17051
+
b[c2 + 24 >> 2] = d2;
17052
17052
+
}
17053
17053
+
c2 = b[i + 20 >> 2] | 0;
17054
17054
+
if (c2 | 0) {
17055
17055
+
b[d2 + 20 >> 2] = c2;
17056
17056
+
b[c2 + 24 >> 2] = d2;
17057
17057
+
}
17058
17058
+
}
17059
17059
+
} while (0);
17060
17060
+
if (j >>> 0 < 16) {
17061
17061
+
v2 = j + k | 0;
17062
17062
+
b[i + 4 >> 2] = v2 | 3;
17063
17063
+
v2 = i + v2 + 4 | 0;
17064
17064
+
b[v2 >> 2] = b[v2 >> 2] | 1;
17065
17065
+
} else {
17066
17066
+
b[i + 4 >> 2] = k | 3;
17067
17067
+
b[h + 4 >> 2] = j | 1;
17068
17068
+
b[h + j >> 2] = j;
17069
17069
+
if (l | 0) {
17070
17070
+
e2 = b[6982] | 0;
17071
17071
+
c2 = l >>> 3;
17072
17072
+
d2 = 27948 + (c2 << 1 << 2) | 0;
17073
17073
+
c2 = 1 << c2;
17074
17074
+
if (!(c2 & m)) {
17075
17075
+
b[6977] = c2 | m;
17076
17076
+
c2 = d2;
17077
17077
+
a3 = d2 + 8 | 0;
17078
17078
+
} else {
17079
17079
+
a3 = d2 + 8 | 0;
17080
17080
+
c2 = b[a3 >> 2] | 0;
17081
17081
+
}
17082
17082
+
b[a3 >> 2] = e2;
17083
17083
+
b[c2 + 12 >> 2] = e2;
17084
17084
+
b[e2 + 8 >> 2] = c2;
17085
17085
+
b[e2 + 12 >> 2] = d2;
17086
17086
+
}
17087
17087
+
b[6979] = j;
17088
17088
+
b[6982] = h;
17089
17089
+
}
17090
17090
+
v2 = i + 8 | 0;
17091
17091
+
T = w2;
17092
17092
+
return v2 | 0;
17093
17093
+
} else {
17094
17094
+
m = k;
17095
17095
+
}
17096
17096
+
} else {
17097
17097
+
m = k;
17098
17098
+
}
17099
17099
+
} else {
17100
17100
+
m = k;
17101
17101
+
}
17102
17102
+
} else if (a3 >>> 0 <= 4294967231) {
17103
17103
+
a3 = a3 + 11 | 0;
17104
17104
+
k = a3 & -8;
17105
17105
+
e2 = b[6978] | 0;
17106
17106
+
if (e2) {
17107
17107
+
f2 = 0 - k | 0;
17108
17108
+
a3 = a3 >>> 8;
17109
17109
+
if (a3) {
17110
17110
+
if (k >>> 0 > 16777215) {
17111
17111
+
j = 31;
17112
17112
+
} else {
17113
17113
+
m = (a3 + 1048320 | 0) >>> 16 & 8;
17114
17114
+
q2 = a3 << m;
17115
17115
+
i = (q2 + 520192 | 0) >>> 16 & 4;
17116
17116
+
q2 = q2 << i;
17117
17117
+
j = (q2 + 245760 | 0) >>> 16 & 2;
17118
17118
+
j = 14 - (i | m | j) + (q2 << j >>> 15) | 0;
17119
17119
+
j = k >>> (j + 7 | 0) & 1 | j << 1;
17120
17120
+
}
17121
17121
+
} else {
17122
17122
+
j = 0;
17123
17123
+
}
17124
17124
+
d2 = b[28212 + (j << 2) >> 2] | 0;
17125
17125
+
a:
17126
17126
+
do {
17127
17127
+
if (!d2) {
17128
17128
+
d2 = 0;
17129
17129
+
a3 = 0;
17130
17130
+
q2 = 61;
17131
17131
+
} else {
17132
17132
+
a3 = 0;
17133
17133
+
i = k << ((j | 0) == 31 ? 0 : 25 - (j >>> 1) | 0);
17134
17134
+
g2 = 0;
17135
17135
+
while (true) {
17136
17136
+
h = (b[d2 + 4 >> 2] & -8) - k | 0;
17137
17137
+
if (h >>> 0 < f2 >>> 0) {
17138
17138
+
if (!h) {
17139
17139
+
a3 = d2;
17140
17140
+
f2 = 0;
17141
17141
+
q2 = 65;
17142
17142
+
break a;
17143
17143
+
} else {
17144
17144
+
a3 = d2;
17145
17145
+
f2 = h;
17146
17146
+
}
17147
17147
+
}
17148
17148
+
q2 = b[d2 + 20 >> 2] | 0;
17149
17149
+
d2 = b[d2 + 16 + (i >>> 31 << 2) >> 2] | 0;
17150
17150
+
g2 = (q2 | 0) == 0 | (q2 | 0) == (d2 | 0) ? g2 : q2;
17151
17151
+
if (!d2) {
17152
17152
+
d2 = g2;
17153
17153
+
q2 = 61;
17154
17154
+
break;
17155
17155
+
} else {
17156
17156
+
i = i << 1;
17157
17157
+
}
17158
17158
+
}
17159
17159
+
}
17160
17160
+
} while (0);
17161
17161
+
if ((q2 | 0) == 61) {
17162
17162
+
if ((d2 | 0) == 0 & (a3 | 0) == 0) {
17163
17163
+
a3 = 2 << j;
17164
17164
+
a3 = (a3 | 0 - a3) & e2;
17165
17165
+
if (!a3) {
17166
17166
+
m = k;
17167
17167
+
break;
17168
17168
+
}
17169
17169
+
m = (a3 & 0 - a3) + -1 | 0;
17170
17170
+
h = m >>> 12 & 16;
17171
17171
+
m = m >>> h;
17172
17172
+
g2 = m >>> 5 & 8;
17173
17173
+
m = m >>> g2;
17174
17174
+
i = m >>> 2 & 4;
17175
17175
+
m = m >>> i;
17176
17176
+
j = m >>> 1 & 2;
17177
17177
+
m = m >>> j;
17178
17178
+
d2 = m >>> 1 & 1;
17179
17179
+
a3 = 0;
17180
17180
+
d2 = b[28212 + ((g2 | h | i | j | d2) + (m >>> d2) << 2) >> 2] | 0;
17181
17181
+
}
17182
17182
+
if (!d2) {
17183
17183
+
i = a3;
17184
17184
+
h = f2;
17185
17185
+
} else {
17186
17186
+
q2 = 65;
17187
17187
+
}
17188
17188
+
}
17189
17189
+
if ((q2 | 0) == 65) {
17190
17190
+
g2 = d2;
17191
17191
+
while (true) {
17192
17192
+
m = (b[g2 + 4 >> 2] & -8) - k | 0;
17193
17193
+
d2 = m >>> 0 < f2 >>> 0;
17194
17194
+
f2 = d2 ? m : f2;
17195
17195
+
a3 = d2 ? g2 : a3;
17196
17196
+
d2 = b[g2 + 16 >> 2] | 0;
17197
17197
+
if (!d2) {
17198
17198
+
d2 = b[g2 + 20 >> 2] | 0;
17199
17199
+
}
17200
17200
+
if (!d2) {
17201
17201
+
i = a3;
17202
17202
+
h = f2;
17203
17203
+
break;
17204
17204
+
} else {
17205
17205
+
g2 = d2;
17206
17206
+
}
17207
17207
+
}
17208
17208
+
}
17209
17209
+
if (((i | 0) != 0 ? h >>> 0 < ((b[6979] | 0) - k | 0) >>> 0 : 0) ? (l = i + k | 0, l >>> 0 > i >>> 0) : 0) {
17210
17210
+
g2 = b[i + 24 >> 2] | 0;
17211
17211
+
c2 = b[i + 12 >> 2] | 0;
17212
17212
+
do {
17213
17213
+
if ((c2 | 0) == (i | 0)) {
17214
17214
+
a3 = i + 20 | 0;
17215
17215
+
c2 = b[a3 >> 2] | 0;
17216
17216
+
if (!c2) {
17217
17217
+
a3 = i + 16 | 0;
17218
17218
+
c2 = b[a3 >> 2] | 0;
17219
17219
+
if (!c2) {
17220
17220
+
c2 = 0;
17221
17221
+
break;
17222
17222
+
}
17223
17223
+
}
17224
17224
+
while (true) {
17225
17225
+
f2 = c2 + 20 | 0;
17226
17226
+
d2 = b[f2 >> 2] | 0;
17227
17227
+
if (!d2) {
17228
17228
+
f2 = c2 + 16 | 0;
17229
17229
+
d2 = b[f2 >> 2] | 0;
17230
17230
+
if (!d2) {
17231
17231
+
break;
17232
17232
+
} else {
17233
17233
+
c2 = d2;
17234
17234
+
a3 = f2;
17235
17235
+
}
17236
17236
+
} else {
17237
17237
+
c2 = d2;
17238
17238
+
a3 = f2;
17239
17239
+
}
17240
17240
+
}
17241
17241
+
b[a3 >> 2] = 0;
17242
17242
+
} else {
17243
17243
+
v2 = b[i + 8 >> 2] | 0;
17244
17244
+
b[v2 + 12 >> 2] = c2;
17245
17245
+
b[c2 + 8 >> 2] = v2;
17246
17246
+
}
17247
17247
+
} while (0);
17248
17248
+
do {
17249
17249
+
if (g2) {
17250
17250
+
a3 = b[i + 28 >> 2] | 0;
17251
17251
+
d2 = 28212 + (a3 << 2) | 0;
17252
17252
+
if ((i | 0) == (b[d2 >> 2] | 0)) {
17253
17253
+
b[d2 >> 2] = c2;
17254
17254
+
if (!c2) {
17255
17255
+
e2 = e2 & ~(1 << a3);
17256
17256
+
b[6978] = e2;
17257
17257
+
break;
17258
17258
+
}
17259
17259
+
} else {
17260
17260
+
v2 = g2 + 16 | 0;
17261
17261
+
b[((b[v2 >> 2] | 0) == (i | 0) ? v2 : g2 + 20 | 0) >> 2] = c2;
17262
17262
+
if (!c2) {
17263
17263
+
break;
17264
17264
+
}
17265
17265
+
}
17266
17266
+
b[c2 + 24 >> 2] = g2;
17267
17267
+
a3 = b[i + 16 >> 2] | 0;
17268
17268
+
if (a3 | 0) {
17269
17269
+
b[c2 + 16 >> 2] = a3;
17270
17270
+
b[a3 + 24 >> 2] = c2;
17271
17271
+
}
17272
17272
+
a3 = b[i + 20 >> 2] | 0;
17273
17273
+
if (a3) {
17274
17274
+
b[c2 + 20 >> 2] = a3;
17275
17275
+
b[a3 + 24 >> 2] = c2;
17276
17276
+
}
17277
17277
+
}
17278
17278
+
} while (0);
17279
17279
+
b:
17280
17280
+
do {
17281
17281
+
if (h >>> 0 < 16) {
17282
17282
+
v2 = h + k | 0;
17283
17283
+
b[i + 4 >> 2] = v2 | 3;
17284
17284
+
v2 = i + v2 + 4 | 0;
17285
17285
+
b[v2 >> 2] = b[v2 >> 2] | 1;
17286
17286
+
} else {
17287
17287
+
b[i + 4 >> 2] = k | 3;
17288
17288
+
b[l + 4 >> 2] = h | 1;
17289
17289
+
b[l + h >> 2] = h;
17290
17290
+
c2 = h >>> 3;
17291
17291
+
if (h >>> 0 < 256) {
17292
17292
+
d2 = 27948 + (c2 << 1 << 2) | 0;
17293
17293
+
a3 = b[6977] | 0;
17294
17294
+
c2 = 1 << c2;
17295
17295
+
if (!(a3 & c2)) {
17296
17296
+
b[6977] = a3 | c2;
17297
17297
+
c2 = d2;
17298
17298
+
a3 = d2 + 8 | 0;
17299
17299
+
} else {
17300
17300
+
a3 = d2 + 8 | 0;
17301
17301
+
c2 = b[a3 >> 2] | 0;
17302
17302
+
}
17303
17303
+
b[a3 >> 2] = l;
17304
17304
+
b[c2 + 12 >> 2] = l;
17305
17305
+
b[l + 8 >> 2] = c2;
17306
17306
+
b[l + 12 >> 2] = d2;
17307
17307
+
break;
17308
17308
+
}
17309
17309
+
c2 = h >>> 8;
17310
17310
+
if (c2) {
17311
17311
+
if (h >>> 0 > 16777215) {
17312
17312
+
d2 = 31;
17313
17313
+
} else {
17314
17314
+
u2 = (c2 + 1048320 | 0) >>> 16 & 8;
17315
17315
+
v2 = c2 << u2;
17316
17316
+
t2 = (v2 + 520192 | 0) >>> 16 & 4;
17317
17317
+
v2 = v2 << t2;
17318
17318
+
d2 = (v2 + 245760 | 0) >>> 16 & 2;
17319
17319
+
d2 = 14 - (t2 | u2 | d2) + (v2 << d2 >>> 15) | 0;
17320
17320
+
d2 = h >>> (d2 + 7 | 0) & 1 | d2 << 1;
17321
17321
+
}
17322
17322
+
} else {
17323
17323
+
d2 = 0;
17324
17324
+
}
17325
17325
+
c2 = 28212 + (d2 << 2) | 0;
17326
17326
+
b[l + 28 >> 2] = d2;
17327
17327
+
a3 = l + 16 | 0;
17328
17328
+
b[a3 + 4 >> 2] = 0;
17329
17329
+
b[a3 >> 2] = 0;
17330
17330
+
a3 = 1 << d2;
17331
17331
+
if (!(e2 & a3)) {
17332
17332
+
b[6978] = e2 | a3;
17333
17333
+
b[c2 >> 2] = l;
17334
17334
+
b[l + 24 >> 2] = c2;
17335
17335
+
b[l + 12 >> 2] = l;
17336
17336
+
b[l + 8 >> 2] = l;
17337
17337
+
break;
17338
17338
+
}
17339
17339
+
c2 = b[c2 >> 2] | 0;
17340
17340
+
c:
17341
17341
+
do {
17342
17342
+
if ((b[c2 + 4 >> 2] & -8 | 0) != (h | 0)) {
17343
17343
+
e2 = h << ((d2 | 0) == 31 ? 0 : 25 - (d2 >>> 1) | 0);
17344
17344
+
while (true) {
17345
17345
+
d2 = c2 + 16 + (e2 >>> 31 << 2) | 0;
17346
17346
+
a3 = b[d2 >> 2] | 0;
17347
17347
+
if (!a3) {
17348
17348
+
break;
17349
17349
+
}
17350
17350
+
if ((b[a3 + 4 >> 2] & -8 | 0) == (h | 0)) {
17351
17351
+
c2 = a3;
17352
17352
+
break c;
17353
17353
+
} else {
17354
17354
+
e2 = e2 << 1;
17355
17355
+
c2 = a3;
17356
17356
+
}
17357
17357
+
}
17358
17358
+
b[d2 >> 2] = l;
17359
17359
+
b[l + 24 >> 2] = c2;
17360
17360
+
b[l + 12 >> 2] = l;
17361
17361
+
b[l + 8 >> 2] = l;
17362
17362
+
break b;
17363
17363
+
}
17364
17364
+
} while (0);
17365
17365
+
u2 = c2 + 8 | 0;
17366
17366
+
v2 = b[u2 >> 2] | 0;
17367
17367
+
b[v2 + 12 >> 2] = l;
17368
17368
+
b[u2 >> 2] = l;
17369
17369
+
b[l + 8 >> 2] = v2;
17370
17370
+
b[l + 12 >> 2] = c2;
17371
17371
+
b[l + 24 >> 2] = 0;
17372
17372
+
}
17373
17373
+
} while (0);
17374
17374
+
v2 = i + 8 | 0;
17375
17375
+
T = w2;
17376
17376
+
return v2 | 0;
17377
17377
+
} else {
17378
17378
+
m = k;
17379
17379
+
}
17380
17380
+
} else {
17381
17381
+
m = k;
17382
17382
+
}
17383
17383
+
} else {
17384
17384
+
m = -1;
17385
17385
+
}
17386
17386
+
} while (0);
17387
17387
+
d2 = b[6979] | 0;
17388
17388
+
if (d2 >>> 0 >= m >>> 0) {
17389
17389
+
c2 = d2 - m | 0;
17390
17390
+
a3 = b[6982] | 0;
17391
17391
+
if (c2 >>> 0 > 15) {
17392
17392
+
v2 = a3 + m | 0;
17393
17393
+
b[6982] = v2;
17394
17394
+
b[6979] = c2;
17395
17395
+
b[v2 + 4 >> 2] = c2 | 1;
17396
17396
+
b[a3 + d2 >> 2] = c2;
17397
17397
+
b[a3 + 4 >> 2] = m | 3;
17398
17398
+
} else {
17399
17399
+
b[6979] = 0;
17400
17400
+
b[6982] = 0;
17401
17401
+
b[a3 + 4 >> 2] = d2 | 3;
17402
17402
+
v2 = a3 + d2 + 4 | 0;
17403
17403
+
b[v2 >> 2] = b[v2 >> 2] | 1;
17404
17404
+
}
17405
17405
+
v2 = a3 + 8 | 0;
17406
17406
+
T = w2;
17407
17407
+
return v2 | 0;
17408
17408
+
}
17409
17409
+
h = b[6980] | 0;
17410
17410
+
if (h >>> 0 > m >>> 0) {
17411
17411
+
t2 = h - m | 0;
17412
17412
+
b[6980] = t2;
17413
17413
+
v2 = b[6983] | 0;
17414
17414
+
u2 = v2 + m | 0;
17415
17415
+
b[6983] = u2;
17416
17416
+
b[u2 + 4 >> 2] = t2 | 1;
17417
17417
+
b[v2 + 4 >> 2] = m | 3;
17418
17418
+
v2 = v2 + 8 | 0;
17419
17419
+
T = w2;
17420
17420
+
return v2 | 0;
17421
17421
+
}
17422
17422
+
if (!(b[7095] | 0)) {
17423
17423
+
b[7097] = 4096;
17424
17424
+
b[7096] = 4096;
17425
17425
+
b[7098] = -1;
17426
17426
+
b[7099] = -1;
17427
17427
+
b[7100] = 0;
17428
17428
+
b[7088] = 0;
17429
17429
+
b[7095] = n & -16 ^ 1431655768;
17430
17430
+
a3 = 4096;
17431
17431
+
} else {
17432
17432
+
a3 = b[7097] | 0;
17433
17433
+
}
17434
17434
+
i = m + 48 | 0;
17435
17435
+
j = m + 47 | 0;
17436
17436
+
g2 = a3 + j | 0;
17437
17437
+
f2 = 0 - a3 | 0;
17438
17438
+
k = g2 & f2;
17439
17439
+
if (k >>> 0 <= m >>> 0) {
17440
17440
+
v2 = 0;
17441
17441
+
T = w2;
17442
17442
+
return v2 | 0;
17443
17443
+
}
17444
17444
+
a3 = b[7087] | 0;
17445
17445
+
if (a3 | 0 ? (l = b[7085] | 0, n = l + k | 0, n >>> 0 <= l >>> 0 | n >>> 0 > a3 >>> 0) : 0) {
17446
17446
+
v2 = 0;
17447
17447
+
T = w2;
17448
17448
+
return v2 | 0;
17449
17449
+
}
17450
17450
+
d:
17451
17451
+
do {
17452
17452
+
if (!(b[7088] & 4)) {
17453
17453
+
d2 = b[6983] | 0;
17454
17454
+
e:
17455
17455
+
do {
17456
17456
+
if (d2) {
17457
17457
+
e2 = 28356;
17458
17458
+
while (true) {
17459
17459
+
n = b[e2 >> 2] | 0;
17460
17460
+
if (n >>> 0 <= d2 >>> 0 ? (n + (b[e2 + 4 >> 2] | 0) | 0) >>> 0 > d2 >>> 0 : 0) {
17461
17461
+
break;
17462
17462
+
}
17463
17463
+
a3 = b[e2 + 8 >> 2] | 0;
17464
17464
+
if (!a3) {
17465
17465
+
q2 = 128;
17466
17466
+
break e;
17467
17467
+
} else {
17468
17468
+
e2 = a3;
17469
17469
+
}
17470
17470
+
}
17471
17471
+
c2 = g2 - h & f2;
17472
17472
+
if (c2 >>> 0 < 2147483647) {
17473
17473
+
a3 = Zd(c2 | 0) | 0;
17474
17474
+
if ((a3 | 0) == ((b[e2 >> 2] | 0) + (b[e2 + 4 >> 2] | 0) | 0)) {
17475
17475
+
if ((a3 | 0) != (-1 | 0)) {
17476
17476
+
h = c2;
17477
17477
+
g2 = a3;
17478
17478
+
q2 = 145;
17479
17479
+
break d;
17480
17480
+
}
17481
17481
+
} else {
17482
17482
+
e2 = a3;
17483
17483
+
q2 = 136;
17484
17484
+
}
17485
17485
+
} else {
17486
17486
+
c2 = 0;
17487
17487
+
}
17488
17488
+
} else {
17489
17489
+
q2 = 128;
17490
17490
+
}
17491
17491
+
} while (0);
17492
17492
+
do {
17493
17493
+
if ((q2 | 0) == 128) {
17494
17494
+
d2 = Zd(0) | 0;
17495
17495
+
if ((d2 | 0) != (-1 | 0) ? (c2 = d2, o = b[7096] | 0, p3 = o + -1 | 0, c2 = ((p3 & c2 | 0) == 0 ? 0 : (p3 + c2 & 0 - o) - c2 | 0) + k | 0, o = b[7085] | 0, p3 = c2 + o | 0, c2 >>> 0 > m >>> 0 & c2 >>> 0 < 2147483647) : 0) {
17496
17496
+
n = b[7087] | 0;
17497
17497
+
if (n | 0 ? p3 >>> 0 <= o >>> 0 | p3 >>> 0 > n >>> 0 : 0) {
17498
17498
+
c2 = 0;
17499
17499
+
break;
17500
17500
+
}
17501
17501
+
a3 = Zd(c2 | 0) | 0;
17502
17502
+
if ((a3 | 0) == (d2 | 0)) {
17503
17503
+
h = c2;
17504
17504
+
g2 = d2;
17505
17505
+
q2 = 145;
17506
17506
+
break d;
17507
17507
+
} else {
17508
17508
+
e2 = a3;
17509
17509
+
q2 = 136;
17510
17510
+
}
17511
17511
+
} else {
17512
17512
+
c2 = 0;
17513
17513
+
}
17514
17514
+
}
17515
17515
+
} while (0);
17516
17516
+
do {
17517
17517
+
if ((q2 | 0) == 136) {
17518
17518
+
d2 = 0 - c2 | 0;
17519
17519
+
if (!(i >>> 0 > c2 >>> 0 & (c2 >>> 0 < 2147483647 & (e2 | 0) != (-1 | 0)))) {
17520
17520
+
if ((e2 | 0) == (-1 | 0)) {
17521
17521
+
c2 = 0;
17522
17522
+
break;
17523
17523
+
} else {
17524
17524
+
h = c2;
17525
17525
+
g2 = e2;
17526
17526
+
q2 = 145;
17527
17527
+
break d;
17528
17528
+
}
17529
17529
+
}
17530
17530
+
a3 = b[7097] | 0;
17531
17531
+
a3 = j - c2 + a3 & 0 - a3;
17532
17532
+
if (a3 >>> 0 >= 2147483647) {
17533
17533
+
h = c2;
17534
17534
+
g2 = e2;
17535
17535
+
q2 = 145;
17536
17536
+
break d;
17537
17537
+
}
17538
17538
+
if ((Zd(a3 | 0) | 0) == (-1 | 0)) {
17539
17539
+
Zd(d2 | 0) | 0;
17540
17540
+
c2 = 0;
17541
17541
+
break;
17542
17542
+
} else {
17543
17543
+
h = a3 + c2 | 0;
17544
17544
+
g2 = e2;
17545
17545
+
q2 = 145;
17546
17546
+
break d;
17547
17547
+
}
17548
17548
+
}
17549
17549
+
} while (0);
17550
17550
+
b[7088] = b[7088] | 4;
17551
17551
+
q2 = 143;
17552
17552
+
} else {
17553
17553
+
c2 = 0;
17554
17554
+
q2 = 143;
17555
17555
+
}
17556
17556
+
} while (0);
17557
17557
+
if (((q2 | 0) == 143 ? k >>> 0 < 2147483647 : 0) ? (t2 = Zd(k | 0) | 0, p3 = Zd(0) | 0, r2 = p3 - t2 | 0, s2 = r2 >>> 0 > (m + 40 | 0) >>> 0, !((t2 | 0) == (-1 | 0) | s2 ^ 1 | t2 >>> 0 < p3 >>> 0 & ((t2 | 0) != (-1 | 0) & (p3 | 0) != (-1 | 0)) ^ 1)) : 0) {
17558
17558
+
h = s2 ? r2 : c2;
17559
17559
+
g2 = t2;
17560
17560
+
q2 = 145;
17561
17561
+
}
17562
17562
+
if ((q2 | 0) == 145) {
17563
17563
+
c2 = (b[7085] | 0) + h | 0;
17564
17564
+
b[7085] = c2;
17565
17565
+
if (c2 >>> 0 > (b[7086] | 0) >>> 0) {
17566
17566
+
b[7086] = c2;
17567
17567
+
}
17568
17568
+
j = b[6983] | 0;
17569
17569
+
f:
17570
17570
+
do {
17571
17571
+
if (j) {
17572
17572
+
c2 = 28356;
17573
17573
+
while (true) {
17574
17574
+
a3 = b[c2 >> 2] | 0;
17575
17575
+
d2 = b[c2 + 4 >> 2] | 0;
17576
17576
+
if ((g2 | 0) == (a3 + d2 | 0)) {
17577
17577
+
q2 = 154;
17578
17578
+
break;
17579
17579
+
}
17580
17580
+
e2 = b[c2 + 8 >> 2] | 0;
17581
17581
+
if (!e2) {
17582
17582
+
break;
17583
17583
+
} else {
17584
17584
+
c2 = e2;
17585
17585
+
}
17586
17586
+
}
17587
17587
+
if (((q2 | 0) == 154 ? (u2 = c2 + 4 | 0, (b[c2 + 12 >> 2] & 8 | 0) == 0) : 0) ? g2 >>> 0 > j >>> 0 & a3 >>> 0 <= j >>> 0 : 0) {
17588
17588
+
b[u2 >> 2] = d2 + h;
17589
17589
+
v2 = (b[6980] | 0) + h | 0;
17590
17590
+
t2 = j + 8 | 0;
17591
17591
+
t2 = (t2 & 7 | 0) == 0 ? 0 : 0 - t2 & 7;
17592
17592
+
u2 = j + t2 | 0;
17593
17593
+
t2 = v2 - t2 | 0;
17594
17594
+
b[6983] = u2;
17595
17595
+
b[6980] = t2;
17596
17596
+
b[u2 + 4 >> 2] = t2 | 1;
17597
17597
+
b[j + v2 + 4 >> 2] = 40;
17598
17598
+
b[6984] = b[7099];
17599
17599
+
break;
17600
17600
+
}
17601
17601
+
if (g2 >>> 0 < (b[6981] | 0) >>> 0) {
17602
17602
+
b[6981] = g2;
17603
17603
+
}
17604
17604
+
d2 = g2 + h | 0;
17605
17605
+
c2 = 28356;
17606
17606
+
while (true) {
17607
17607
+
if ((b[c2 >> 2] | 0) == (d2 | 0)) {
17608
17608
+
q2 = 162;
17609
17609
+
break;
17610
17610
+
}
17611
17611
+
a3 = b[c2 + 8 >> 2] | 0;
17612
17612
+
if (!a3) {
17613
17613
+
break;
17614
17614
+
} else {
17615
17615
+
c2 = a3;
17616
17616
+
}
17617
17617
+
}
17618
17618
+
if ((q2 | 0) == 162 ? (b[c2 + 12 >> 2] & 8 | 0) == 0 : 0) {
17619
17619
+
b[c2 >> 2] = g2;
17620
17620
+
l = c2 + 4 | 0;
17621
17621
+
b[l >> 2] = (b[l >> 2] | 0) + h;
17622
17622
+
l = g2 + 8 | 0;
17623
17623
+
l = g2 + ((l & 7 | 0) == 0 ? 0 : 0 - l & 7) | 0;
17624
17624
+
c2 = d2 + 8 | 0;
17625
17625
+
c2 = d2 + ((c2 & 7 | 0) == 0 ? 0 : 0 - c2 & 7) | 0;
17626
17626
+
k = l + m | 0;
17627
17627
+
i = c2 - l - m | 0;
17628
17628
+
b[l + 4 >> 2] = m | 3;
17629
17629
+
g:
17630
17630
+
do {
17631
17631
+
if ((j | 0) == (c2 | 0)) {
17632
17632
+
v2 = (b[6980] | 0) + i | 0;
17633
17633
+
b[6980] = v2;
17634
17634
+
b[6983] = k;
17635
17635
+
b[k + 4 >> 2] = v2 | 1;
17636
17636
+
} else {
17637
17637
+
if ((b[6982] | 0) == (c2 | 0)) {
17638
17638
+
v2 = (b[6979] | 0) + i | 0;
17639
17639
+
b[6979] = v2;
17640
17640
+
b[6982] = k;
17641
17641
+
b[k + 4 >> 2] = v2 | 1;
17642
17642
+
b[k + v2 >> 2] = v2;
17643
17643
+
break;
17644
17644
+
}
17645
17645
+
a3 = b[c2 + 4 >> 2] | 0;
17646
17646
+
if ((a3 & 3 | 0) == 1) {
17647
17647
+
h = a3 & -8;
17648
17648
+
e2 = a3 >>> 3;
17649
17649
+
h:
17650
17650
+
do {
17651
17651
+
if (a3 >>> 0 < 256) {
17652
17652
+
a3 = b[c2 + 8 >> 2] | 0;
17653
17653
+
d2 = b[c2 + 12 >> 2] | 0;
17654
17654
+
if ((d2 | 0) == (a3 | 0)) {
17655
17655
+
b[6977] = b[6977] & ~(1 << e2);
17656
17656
+
break;
17657
17657
+
} else {
17658
17658
+
b[a3 + 12 >> 2] = d2;
17659
17659
+
b[d2 + 8 >> 2] = a3;
17660
17660
+
break;
17661
17661
+
}
17662
17662
+
} else {
17663
17663
+
g2 = b[c2 + 24 >> 2] | 0;
17664
17664
+
a3 = b[c2 + 12 >> 2] | 0;
17665
17665
+
do {
17666
17666
+
if ((a3 | 0) == (c2 | 0)) {
17667
17667
+
d2 = c2 + 16 | 0;
17668
17668
+
e2 = d2 + 4 | 0;
17669
17669
+
a3 = b[e2 >> 2] | 0;
17670
17670
+
if (!a3) {
17671
17671
+
a3 = b[d2 >> 2] | 0;
17672
17672
+
if (!a3) {
17673
17673
+
a3 = 0;
17674
17674
+
break;
17675
17675
+
}
17676
17676
+
} else {
17677
17677
+
d2 = e2;
17678
17678
+
}
17679
17679
+
while (true) {
17680
17680
+
f2 = a3 + 20 | 0;
17681
17681
+
e2 = b[f2 >> 2] | 0;
17682
17682
+
if (!e2) {
17683
17683
+
f2 = a3 + 16 | 0;
17684
17684
+
e2 = b[f2 >> 2] | 0;
17685
17685
+
if (!e2) {
17686
17686
+
break;
17687
17687
+
} else {
17688
17688
+
a3 = e2;
17689
17689
+
d2 = f2;
17690
17690
+
}
17691
17691
+
} else {
17692
17692
+
a3 = e2;
17693
17693
+
d2 = f2;
17694
17694
+
}
17695
17695
+
}
17696
17696
+
b[d2 >> 2] = 0;
17697
17697
+
} else {
17698
17698
+
v2 = b[c2 + 8 >> 2] | 0;
17699
17699
+
b[v2 + 12 >> 2] = a3;
17700
17700
+
b[a3 + 8 >> 2] = v2;
17701
17701
+
}
17702
17702
+
} while (0);
17703
17703
+
if (!g2) {
17704
17704
+
break;
17705
17705
+
}
17706
17706
+
d2 = b[c2 + 28 >> 2] | 0;
17707
17707
+
e2 = 28212 + (d2 << 2) | 0;
17708
17708
+
do {
17709
17709
+
if ((b[e2 >> 2] | 0) != (c2 | 0)) {
17710
17710
+
v2 = g2 + 16 | 0;
17711
17711
+
b[((b[v2 >> 2] | 0) == (c2 | 0) ? v2 : g2 + 20 | 0) >> 2] = a3;
17712
17712
+
if (!a3) {
17713
17713
+
break h;
17714
17714
+
}
17715
17715
+
} else {
17716
17716
+
b[e2 >> 2] = a3;
17717
17717
+
if (a3 | 0) {
17718
17718
+
break;
17719
17719
+
}
17720
17720
+
b[6978] = b[6978] & ~(1 << d2);
17721
17721
+
break h;
17722
17722
+
}
17723
17723
+
} while (0);
17724
17724
+
b[a3 + 24 >> 2] = g2;
17725
17725
+
d2 = c2 + 16 | 0;
17726
17726
+
e2 = b[d2 >> 2] | 0;
17727
17727
+
if (e2 | 0) {
17728
17728
+
b[a3 + 16 >> 2] = e2;
17729
17729
+
b[e2 + 24 >> 2] = a3;
17730
17730
+
}
17731
17731
+
d2 = b[d2 + 4 >> 2] | 0;
17732
17732
+
if (!d2) {
17733
17733
+
break;
17734
17734
+
}
17735
17735
+
b[a3 + 20 >> 2] = d2;
17736
17736
+
b[d2 + 24 >> 2] = a3;
17737
17737
+
}
17738
17738
+
} while (0);
17739
17739
+
c2 = c2 + h | 0;
17740
17740
+
f2 = h + i | 0;
17741
17741
+
} else {
17742
17742
+
f2 = i;
17743
17743
+
}
17744
17744
+
c2 = c2 + 4 | 0;
17745
17745
+
b[c2 >> 2] = b[c2 >> 2] & -2;
17746
17746
+
b[k + 4 >> 2] = f2 | 1;
17747
17747
+
b[k + f2 >> 2] = f2;
17748
17748
+
c2 = f2 >>> 3;
17749
17749
+
if (f2 >>> 0 < 256) {
17750
17750
+
d2 = 27948 + (c2 << 1 << 2) | 0;
17751
17751
+
a3 = b[6977] | 0;
17752
17752
+
c2 = 1 << c2;
17753
17753
+
if (!(a3 & c2)) {
17754
17754
+
b[6977] = a3 | c2;
17755
17755
+
c2 = d2;
17756
17756
+
a3 = d2 + 8 | 0;
17757
17757
+
} else {
17758
17758
+
a3 = d2 + 8 | 0;
17759
17759
+
c2 = b[a3 >> 2] | 0;
17760
17760
+
}
17761
17761
+
b[a3 >> 2] = k;
17762
17762
+
b[c2 + 12 >> 2] = k;
17763
17763
+
b[k + 8 >> 2] = c2;
17764
17764
+
b[k + 12 >> 2] = d2;
17765
17765
+
break;
17766
17766
+
}
17767
17767
+
c2 = f2 >>> 8;
17768
17768
+
do {
17769
17769
+
if (!c2) {
17770
17770
+
e2 = 0;
17771
17771
+
} else {
17772
17772
+
if (f2 >>> 0 > 16777215) {
17773
17773
+
e2 = 31;
17774
17774
+
break;
17775
17775
+
}
17776
17776
+
u2 = (c2 + 1048320 | 0) >>> 16 & 8;
17777
17777
+
v2 = c2 << u2;
17778
17778
+
t2 = (v2 + 520192 | 0) >>> 16 & 4;
17779
17779
+
v2 = v2 << t2;
17780
17780
+
e2 = (v2 + 245760 | 0) >>> 16 & 2;
17781
17781
+
e2 = 14 - (t2 | u2 | e2) + (v2 << e2 >>> 15) | 0;
17782
17782
+
e2 = f2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
17783
17783
+
}
17784
17784
+
} while (0);
17785
17785
+
c2 = 28212 + (e2 << 2) | 0;
17786
17786
+
b[k + 28 >> 2] = e2;
17787
17787
+
a3 = k + 16 | 0;
17788
17788
+
b[a3 + 4 >> 2] = 0;
17789
17789
+
b[a3 >> 2] = 0;
17790
17790
+
a3 = b[6978] | 0;
17791
17791
+
d2 = 1 << e2;
17792
17792
+
if (!(a3 & d2)) {
17793
17793
+
b[6978] = a3 | d2;
17794
17794
+
b[c2 >> 2] = k;
17795
17795
+
b[k + 24 >> 2] = c2;
17796
17796
+
b[k + 12 >> 2] = k;
17797
17797
+
b[k + 8 >> 2] = k;
17798
17798
+
break;
17799
17799
+
}
17800
17800
+
c2 = b[c2 >> 2] | 0;
17801
17801
+
i:
17802
17802
+
do {
17803
17803
+
if ((b[c2 + 4 >> 2] & -8 | 0) != (f2 | 0)) {
17804
17804
+
e2 = f2 << ((e2 | 0) == 31 ? 0 : 25 - (e2 >>> 1) | 0);
17805
17805
+
while (true) {
17806
17806
+
d2 = c2 + 16 + (e2 >>> 31 << 2) | 0;
17807
17807
+
a3 = b[d2 >> 2] | 0;
17808
17808
+
if (!a3) {
17809
17809
+
break;
17810
17810
+
}
17811
17811
+
if ((b[a3 + 4 >> 2] & -8 | 0) == (f2 | 0)) {
17812
17812
+
c2 = a3;
17813
17813
+
break i;
17814
17814
+
} else {
17815
17815
+
e2 = e2 << 1;
17816
17816
+
c2 = a3;
17817
17817
+
}
17818
17818
+
}
17819
17819
+
b[d2 >> 2] = k;
17820
17820
+
b[k + 24 >> 2] = c2;
17821
17821
+
b[k + 12 >> 2] = k;
17822
17822
+
b[k + 8 >> 2] = k;
17823
17823
+
break g;
17824
17824
+
}
17825
17825
+
} while (0);
17826
17826
+
u2 = c2 + 8 | 0;
17827
17827
+
v2 = b[u2 >> 2] | 0;
17828
17828
+
b[v2 + 12 >> 2] = k;
17829
17829
+
b[u2 >> 2] = k;
17830
17830
+
b[k + 8 >> 2] = v2;
17831
17831
+
b[k + 12 >> 2] = c2;
17832
17832
+
b[k + 24 >> 2] = 0;
17833
17833
+
}
17834
17834
+
} while (0);
17835
17835
+
v2 = l + 8 | 0;
17836
17836
+
T = w2;
17837
17837
+
return v2 | 0;
17838
17838
+
}
17839
17839
+
c2 = 28356;
17840
17840
+
while (true) {
17841
17841
+
a3 = b[c2 >> 2] | 0;
17842
17842
+
if (a3 >>> 0 <= j >>> 0 ? (v2 = a3 + (b[c2 + 4 >> 2] | 0) | 0, v2 >>> 0 > j >>> 0) : 0) {
17843
17843
+
break;
17844
17844
+
}
17845
17845
+
c2 = b[c2 + 8 >> 2] | 0;
17846
17846
+
}
17847
17847
+
f2 = v2 + -47 | 0;
17848
17848
+
a3 = f2 + 8 | 0;
17849
17849
+
a3 = f2 + ((a3 & 7 | 0) == 0 ? 0 : 0 - a3 & 7) | 0;
17850
17850
+
f2 = j + 16 | 0;
17851
17851
+
a3 = a3 >>> 0 < f2 >>> 0 ? j : a3;
17852
17852
+
c2 = a3 + 8 | 0;
17853
17853
+
d2 = h + -40 | 0;
17854
17854
+
t2 = g2 + 8 | 0;
17855
17855
+
t2 = (t2 & 7 | 0) == 0 ? 0 : 0 - t2 & 7;
17856
17856
+
u2 = g2 + t2 | 0;
17857
17857
+
t2 = d2 - t2 | 0;
17858
17858
+
b[6983] = u2;
17859
17859
+
b[6980] = t2;
17860
17860
+
b[u2 + 4 >> 2] = t2 | 1;
17861
17861
+
b[g2 + d2 + 4 >> 2] = 40;
17862
17862
+
b[6984] = b[7099];
17863
17863
+
d2 = a3 + 4 | 0;
17864
17864
+
b[d2 >> 2] = 27;
17865
17865
+
b[c2 >> 2] = b[7089];
17866
17866
+
b[c2 + 4 >> 2] = b[7090];
17867
17867
+
b[c2 + 8 >> 2] = b[7091];
17868
17868
+
b[c2 + 12 >> 2] = b[7092];
17869
17869
+
b[7089] = g2;
17870
17870
+
b[7090] = h;
17871
17871
+
b[7092] = 0;
17872
17872
+
b[7091] = c2;
17873
17873
+
c2 = a3 + 24 | 0;
17874
17874
+
do {
17875
17875
+
u2 = c2;
17876
17876
+
c2 = c2 + 4 | 0;
17877
17877
+
b[c2 >> 2] = 7;
17878
17878
+
} while ((u2 + 8 | 0) >>> 0 < v2 >>> 0);
17879
17879
+
if ((a3 | 0) != (j | 0)) {
17880
17880
+
g2 = a3 - j | 0;
17881
17881
+
b[d2 >> 2] = b[d2 >> 2] & -2;
17882
17882
+
b[j + 4 >> 2] = g2 | 1;
17883
17883
+
b[a3 >> 2] = g2;
17884
17884
+
c2 = g2 >>> 3;
17885
17885
+
if (g2 >>> 0 < 256) {
17886
17886
+
d2 = 27948 + (c2 << 1 << 2) | 0;
17887
17887
+
a3 = b[6977] | 0;
17888
17888
+
c2 = 1 << c2;
17889
17889
+
if (!(a3 & c2)) {
17890
17890
+
b[6977] = a3 | c2;
17891
17891
+
c2 = d2;
17892
17892
+
a3 = d2 + 8 | 0;
17893
17893
+
} else {
17894
17894
+
a3 = d2 + 8 | 0;
17895
17895
+
c2 = b[a3 >> 2] | 0;
17896
17896
+
}
17897
17897
+
b[a3 >> 2] = j;
17898
17898
+
b[c2 + 12 >> 2] = j;
17899
17899
+
b[j + 8 >> 2] = c2;
17900
17900
+
b[j + 12 >> 2] = d2;
17901
17901
+
break;
17902
17902
+
}
17903
17903
+
c2 = g2 >>> 8;
17904
17904
+
if (c2) {
17905
17905
+
if (g2 >>> 0 > 16777215) {
17906
17906
+
e2 = 31;
17907
17907
+
} else {
17908
17908
+
u2 = (c2 + 1048320 | 0) >>> 16 & 8;
17909
17909
+
v2 = c2 << u2;
17910
17910
+
t2 = (v2 + 520192 | 0) >>> 16 & 4;
17911
17911
+
v2 = v2 << t2;
17912
17912
+
e2 = (v2 + 245760 | 0) >>> 16 & 2;
17913
17913
+
e2 = 14 - (t2 | u2 | e2) + (v2 << e2 >>> 15) | 0;
17914
17914
+
e2 = g2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
17915
17915
+
}
17916
17916
+
} else {
17917
17917
+
e2 = 0;
17918
17918
+
}
17919
17919
+
d2 = 28212 + (e2 << 2) | 0;
17920
17920
+
b[j + 28 >> 2] = e2;
17921
17921
+
b[j + 20 >> 2] = 0;
17922
17922
+
b[f2 >> 2] = 0;
17923
17923
+
c2 = b[6978] | 0;
17924
17924
+
a3 = 1 << e2;
17925
17925
+
if (!(c2 & a3)) {
17926
17926
+
b[6978] = c2 | a3;
17927
17927
+
b[d2 >> 2] = j;
17928
17928
+
b[j + 24 >> 2] = d2;
17929
17929
+
b[j + 12 >> 2] = j;
17930
17930
+
b[j + 8 >> 2] = j;
17931
17931
+
break;
17932
17932
+
}
17933
17933
+
c2 = b[d2 >> 2] | 0;
17934
17934
+
j:
17935
17935
+
do {
17936
17936
+
if ((b[c2 + 4 >> 2] & -8 | 0) != (g2 | 0)) {
17937
17937
+
e2 = g2 << ((e2 | 0) == 31 ? 0 : 25 - (e2 >>> 1) | 0);
17938
17938
+
while (true) {
17939
17939
+
d2 = c2 + 16 + (e2 >>> 31 << 2) | 0;
17940
17940
+
a3 = b[d2 >> 2] | 0;
17941
17941
+
if (!a3) {
17942
17942
+
break;
17943
17943
+
}
17944
17944
+
if ((b[a3 + 4 >> 2] & -8 | 0) == (g2 | 0)) {
17945
17945
+
c2 = a3;
17946
17946
+
break j;
17947
17947
+
} else {
17948
17948
+
e2 = e2 << 1;
17949
17949
+
c2 = a3;
17950
17950
+
}
17951
17951
+
}
17952
17952
+
b[d2 >> 2] = j;
17953
17953
+
b[j + 24 >> 2] = c2;
17954
17954
+
b[j + 12 >> 2] = j;
17955
17955
+
b[j + 8 >> 2] = j;
17956
17956
+
break f;
17957
17957
+
}
17958
17958
+
} while (0);
17959
17959
+
u2 = c2 + 8 | 0;
17960
17960
+
v2 = b[u2 >> 2] | 0;
17961
17961
+
b[v2 + 12 >> 2] = j;
17962
17962
+
b[u2 >> 2] = j;
17963
17963
+
b[j + 8 >> 2] = v2;
17964
17964
+
b[j + 12 >> 2] = c2;
17965
17965
+
b[j + 24 >> 2] = 0;
17966
17966
+
}
17967
17967
+
} else {
17968
17968
+
v2 = b[6981] | 0;
17969
17969
+
if ((v2 | 0) == 0 | g2 >>> 0 < v2 >>> 0) {
17970
17970
+
b[6981] = g2;
17971
17971
+
}
17972
17972
+
b[7089] = g2;
17973
17973
+
b[7090] = h;
17974
17974
+
b[7092] = 0;
17975
17975
+
b[6986] = b[7095];
17976
17976
+
b[6985] = -1;
17977
17977
+
b[6990] = 27948;
17978
17978
+
b[6989] = 27948;
17979
17979
+
b[6992] = 27956;
17980
17980
+
b[6991] = 27956;
17981
17981
+
b[6994] = 27964;
17982
17982
+
b[6993] = 27964;
17983
17983
+
b[6996] = 27972;
17984
17984
+
b[6995] = 27972;
17985
17985
+
b[6998] = 27980;
17986
17986
+
b[6997] = 27980;
17987
17987
+
b[7000] = 27988;
17988
17988
+
b[6999] = 27988;
17989
17989
+
b[7002] = 27996;
17990
17990
+
b[7001] = 27996;
17991
17991
+
b[7004] = 28004;
17992
17992
+
b[7003] = 28004;
17993
17993
+
b[7006] = 28012;
17994
17994
+
b[7005] = 28012;
17995
17995
+
b[7008] = 28020;
17996
17996
+
b[7007] = 28020;
17997
17997
+
b[7010] = 28028;
17998
17998
+
b[7009] = 28028;
17999
17999
+
b[7012] = 28036;
18000
18000
+
b[7011] = 28036;
18001
18001
+
b[7014] = 28044;
18002
18002
+
b[7013] = 28044;
18003
18003
+
b[7016] = 28052;
18004
18004
+
b[7015] = 28052;
18005
18005
+
b[7018] = 28060;
18006
18006
+
b[7017] = 28060;
18007
18007
+
b[7020] = 28068;
18008
18008
+
b[7019] = 28068;
18009
18009
+
b[7022] = 28076;
18010
18010
+
b[7021] = 28076;
18011
18011
+
b[7024] = 28084;
18012
18012
+
b[7023] = 28084;
18013
18013
+
b[7026] = 28092;
18014
18014
+
b[7025] = 28092;
18015
18015
+
b[7028] = 28100;
18016
18016
+
b[7027] = 28100;
18017
18017
+
b[7030] = 28108;
18018
18018
+
b[7029] = 28108;
18019
18019
+
b[7032] = 28116;
18020
18020
+
b[7031] = 28116;
18021
18021
+
b[7034] = 28124;
18022
18022
+
b[7033] = 28124;
18023
18023
+
b[7036] = 28132;
18024
18024
+
b[7035] = 28132;
18025
18025
+
b[7038] = 28140;
18026
18026
+
b[7037] = 28140;
18027
18027
+
b[7040] = 28148;
18028
18028
+
b[7039] = 28148;
18029
18029
+
b[7042] = 28156;
18030
18030
+
b[7041] = 28156;
18031
18031
+
b[7044] = 28164;
18032
18032
+
b[7043] = 28164;
18033
18033
+
b[7046] = 28172;
18034
18034
+
b[7045] = 28172;
18035
18035
+
b[7048] = 28180;
18036
18036
+
b[7047] = 28180;
18037
18037
+
b[7050] = 28188;
18038
18038
+
b[7049] = 28188;
18039
18039
+
b[7052] = 28196;
18040
18040
+
b[7051] = 28196;
18041
18041
+
v2 = h + -40 | 0;
18042
18042
+
t2 = g2 + 8 | 0;
18043
18043
+
t2 = (t2 & 7 | 0) == 0 ? 0 : 0 - t2 & 7;
18044
18044
+
u2 = g2 + t2 | 0;
18045
18045
+
t2 = v2 - t2 | 0;
18046
18046
+
b[6983] = u2;
18047
18047
+
b[6980] = t2;
18048
18048
+
b[u2 + 4 >> 2] = t2 | 1;
18049
18049
+
b[g2 + v2 + 4 >> 2] = 40;
18050
18050
+
b[6984] = b[7099];
18051
18051
+
}
18052
18052
+
} while (0);
18053
18053
+
c2 = b[6980] | 0;
18054
18054
+
if (c2 >>> 0 > m >>> 0) {
18055
18055
+
t2 = c2 - m | 0;
18056
18056
+
b[6980] = t2;
18057
18057
+
v2 = b[6983] | 0;
18058
18058
+
u2 = v2 + m | 0;
18059
18059
+
b[6983] = u2;
18060
18060
+
b[u2 + 4 >> 2] = t2 | 1;
18061
18061
+
b[v2 + 4 >> 2] = m | 3;
18062
18062
+
v2 = v2 + 8 | 0;
18063
18063
+
T = w2;
18064
18064
+
return v2 | 0;
18065
18065
+
}
18066
18066
+
}
18067
18067
+
v2 = Bd() | 0;
18068
18068
+
b[v2 >> 2] = 12;
18069
18069
+
v2 = 0;
18070
18070
+
T = w2;
18071
18071
+
return v2 | 0;
18072
18072
+
}
18073
18073
+
function Ed(a3) {
18074
18074
+
a3 = a3 | 0;
18075
18075
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
18076
18076
+
if (!a3) {
18077
18077
+
return;
18078
18078
+
}
18079
18079
+
d2 = a3 + -8 | 0;
18080
18080
+
f2 = b[6981] | 0;
18081
18081
+
a3 = b[a3 + -4 >> 2] | 0;
18082
18082
+
c2 = a3 & -8;
18083
18083
+
j = d2 + c2 | 0;
18084
18084
+
do {
18085
18085
+
if (!(a3 & 1)) {
18086
18086
+
e2 = b[d2 >> 2] | 0;
18087
18087
+
if (!(a3 & 3)) {
18088
18088
+
return;
18089
18089
+
}
18090
18090
+
h = d2 + (0 - e2) | 0;
18091
18091
+
g2 = e2 + c2 | 0;
18092
18092
+
if (h >>> 0 < f2 >>> 0) {
18093
18093
+
return;
18094
18094
+
}
18095
18095
+
if ((b[6982] | 0) == (h | 0)) {
18096
18096
+
a3 = j + 4 | 0;
18097
18097
+
c2 = b[a3 >> 2] | 0;
18098
18098
+
if ((c2 & 3 | 0) != 3) {
18099
18099
+
i = h;
18100
18100
+
c2 = g2;
18101
18101
+
break;
18102
18102
+
}
18103
18103
+
b[6979] = g2;
18104
18104
+
b[a3 >> 2] = c2 & -2;
18105
18105
+
b[h + 4 >> 2] = g2 | 1;
18106
18106
+
b[h + g2 >> 2] = g2;
18107
18107
+
return;
18108
18108
+
}
18109
18109
+
d2 = e2 >>> 3;
18110
18110
+
if (e2 >>> 0 < 256) {
18111
18111
+
a3 = b[h + 8 >> 2] | 0;
18112
18112
+
c2 = b[h + 12 >> 2] | 0;
18113
18113
+
if ((c2 | 0) == (a3 | 0)) {
18114
18114
+
b[6977] = b[6977] & ~(1 << d2);
18115
18115
+
i = h;
18116
18116
+
c2 = g2;
18117
18117
+
break;
18118
18118
+
} else {
18119
18119
+
b[a3 + 12 >> 2] = c2;
18120
18120
+
b[c2 + 8 >> 2] = a3;
18121
18121
+
i = h;
18122
18122
+
c2 = g2;
18123
18123
+
break;
18124
18124
+
}
18125
18125
+
}
18126
18126
+
f2 = b[h + 24 >> 2] | 0;
18127
18127
+
a3 = b[h + 12 >> 2] | 0;
18128
18128
+
do {
18129
18129
+
if ((a3 | 0) == (h | 0)) {
18130
18130
+
c2 = h + 16 | 0;
18131
18131
+
d2 = c2 + 4 | 0;
18132
18132
+
a3 = b[d2 >> 2] | 0;
18133
18133
+
if (!a3) {
18134
18134
+
a3 = b[c2 >> 2] | 0;
18135
18135
+
if (!a3) {
18136
18136
+
a3 = 0;
18137
18137
+
break;
18138
18138
+
}
18139
18139
+
} else {
18140
18140
+
c2 = d2;
18141
18141
+
}
18142
18142
+
while (true) {
18143
18143
+
e2 = a3 + 20 | 0;
18144
18144
+
d2 = b[e2 >> 2] | 0;
18145
18145
+
if (!d2) {
18146
18146
+
e2 = a3 + 16 | 0;
18147
18147
+
d2 = b[e2 >> 2] | 0;
18148
18148
+
if (!d2) {
18149
18149
+
break;
18150
18150
+
} else {
18151
18151
+
a3 = d2;
18152
18152
+
c2 = e2;
18153
18153
+
}
18154
18154
+
} else {
18155
18155
+
a3 = d2;
18156
18156
+
c2 = e2;
18157
18157
+
}
18158
18158
+
}
18159
18159
+
b[c2 >> 2] = 0;
18160
18160
+
} else {
18161
18161
+
i = b[h + 8 >> 2] | 0;
18162
18162
+
b[i + 12 >> 2] = a3;
18163
18163
+
b[a3 + 8 >> 2] = i;
18164
18164
+
}
18165
18165
+
} while (0);
18166
18166
+
if (f2) {
18167
18167
+
c2 = b[h + 28 >> 2] | 0;
18168
18168
+
d2 = 28212 + (c2 << 2) | 0;
18169
18169
+
if ((b[d2 >> 2] | 0) == (h | 0)) {
18170
18170
+
b[d2 >> 2] = a3;
18171
18171
+
if (!a3) {
18172
18172
+
b[6978] = b[6978] & ~(1 << c2);
18173
18173
+
i = h;
18174
18174
+
c2 = g2;
18175
18175
+
break;
18176
18176
+
}
18177
18177
+
} else {
18178
18178
+
i = f2 + 16 | 0;
18179
18179
+
b[((b[i >> 2] | 0) == (h | 0) ? i : f2 + 20 | 0) >> 2] = a3;
18180
18180
+
if (!a3) {
18181
18181
+
i = h;
18182
18182
+
c2 = g2;
18183
18183
+
break;
18184
18184
+
}
18185
18185
+
}
18186
18186
+
b[a3 + 24 >> 2] = f2;
18187
18187
+
c2 = h + 16 | 0;
18188
18188
+
d2 = b[c2 >> 2] | 0;
18189
18189
+
if (d2 | 0) {
18190
18190
+
b[a3 + 16 >> 2] = d2;
18191
18191
+
b[d2 + 24 >> 2] = a3;
18192
18192
+
}
18193
18193
+
c2 = b[c2 + 4 >> 2] | 0;
18194
18194
+
if (c2) {
18195
18195
+
b[a3 + 20 >> 2] = c2;
18196
18196
+
b[c2 + 24 >> 2] = a3;
18197
18197
+
i = h;
18198
18198
+
c2 = g2;
18199
18199
+
} else {
18200
18200
+
i = h;
18201
18201
+
c2 = g2;
18202
18202
+
}
18203
18203
+
} else {
18204
18204
+
i = h;
18205
18205
+
c2 = g2;
18206
18206
+
}
18207
18207
+
} else {
18208
18208
+
i = d2;
18209
18209
+
h = d2;
18210
18210
+
}
18211
18211
+
} while (0);
18212
18212
+
if (h >>> 0 >= j >>> 0) {
18213
18213
+
return;
18214
18214
+
}
18215
18215
+
a3 = j + 4 | 0;
18216
18216
+
e2 = b[a3 >> 2] | 0;
18217
18217
+
if (!(e2 & 1)) {
18218
18218
+
return;
18219
18219
+
}
18220
18220
+
if (!(e2 & 2)) {
18221
18221
+
if ((b[6983] | 0) == (j | 0)) {
18222
18222
+
j = (b[6980] | 0) + c2 | 0;
18223
18223
+
b[6980] = j;
18224
18224
+
b[6983] = i;
18225
18225
+
b[i + 4 >> 2] = j | 1;
18226
18226
+
if ((i | 0) != (b[6982] | 0)) {
18227
18227
+
return;
18228
18228
+
}
18229
18229
+
b[6982] = 0;
18230
18230
+
b[6979] = 0;
18231
18231
+
return;
18232
18232
+
}
18233
18233
+
if ((b[6982] | 0) == (j | 0)) {
18234
18234
+
j = (b[6979] | 0) + c2 | 0;
18235
18235
+
b[6979] = j;
18236
18236
+
b[6982] = h;
18237
18237
+
b[i + 4 >> 2] = j | 1;
18238
18238
+
b[h + j >> 2] = j;
18239
18239
+
return;
18240
18240
+
}
18241
18241
+
f2 = (e2 & -8) + c2 | 0;
18242
18242
+
d2 = e2 >>> 3;
18243
18243
+
do {
18244
18244
+
if (e2 >>> 0 < 256) {
18245
18245
+
c2 = b[j + 8 >> 2] | 0;
18246
18246
+
a3 = b[j + 12 >> 2] | 0;
18247
18247
+
if ((a3 | 0) == (c2 | 0)) {
18248
18248
+
b[6977] = b[6977] & ~(1 << d2);
18249
18249
+
break;
18250
18250
+
} else {
18251
18251
+
b[c2 + 12 >> 2] = a3;
18252
18252
+
b[a3 + 8 >> 2] = c2;
18253
18253
+
break;
18254
18254
+
}
18255
18255
+
} else {
18256
18256
+
g2 = b[j + 24 >> 2] | 0;
18257
18257
+
a3 = b[j + 12 >> 2] | 0;
18258
18258
+
do {
18259
18259
+
if ((a3 | 0) == (j | 0)) {
18260
18260
+
c2 = j + 16 | 0;
18261
18261
+
d2 = c2 + 4 | 0;
18262
18262
+
a3 = b[d2 >> 2] | 0;
18263
18263
+
if (!a3) {
18264
18264
+
a3 = b[c2 >> 2] | 0;
18265
18265
+
if (!a3) {
18266
18266
+
d2 = 0;
18267
18267
+
break;
18268
18268
+
}
18269
18269
+
} else {
18270
18270
+
c2 = d2;
18271
18271
+
}
18272
18272
+
while (true) {
18273
18273
+
e2 = a3 + 20 | 0;
18274
18274
+
d2 = b[e2 >> 2] | 0;
18275
18275
+
if (!d2) {
18276
18276
+
e2 = a3 + 16 | 0;
18277
18277
+
d2 = b[e2 >> 2] | 0;
18278
18278
+
if (!d2) {
18279
18279
+
break;
18280
18280
+
} else {
18281
18281
+
a3 = d2;
18282
18282
+
c2 = e2;
18283
18283
+
}
18284
18284
+
} else {
18285
18285
+
a3 = d2;
18286
18286
+
c2 = e2;
18287
18287
+
}
18288
18288
+
}
18289
18289
+
b[c2 >> 2] = 0;
18290
18290
+
d2 = a3;
18291
18291
+
} else {
18292
18292
+
d2 = b[j + 8 >> 2] | 0;
18293
18293
+
b[d2 + 12 >> 2] = a3;
18294
18294
+
b[a3 + 8 >> 2] = d2;
18295
18295
+
d2 = a3;
18296
18296
+
}
18297
18297
+
} while (0);
18298
18298
+
if (g2 | 0) {
18299
18299
+
a3 = b[j + 28 >> 2] | 0;
18300
18300
+
c2 = 28212 + (a3 << 2) | 0;
18301
18301
+
if ((b[c2 >> 2] | 0) == (j | 0)) {
18302
18302
+
b[c2 >> 2] = d2;
18303
18303
+
if (!d2) {
18304
18304
+
b[6978] = b[6978] & ~(1 << a3);
18305
18305
+
break;
18306
18306
+
}
18307
18307
+
} else {
18308
18308
+
e2 = g2 + 16 | 0;
18309
18309
+
b[((b[e2 >> 2] | 0) == (j | 0) ? e2 : g2 + 20 | 0) >> 2] = d2;
18310
18310
+
if (!d2) {
18311
18311
+
break;
18312
18312
+
}
18313
18313
+
}
18314
18314
+
b[d2 + 24 >> 2] = g2;
18315
18315
+
a3 = j + 16 | 0;
18316
18316
+
c2 = b[a3 >> 2] | 0;
18317
18317
+
if (c2 | 0) {
18318
18318
+
b[d2 + 16 >> 2] = c2;
18319
18319
+
b[c2 + 24 >> 2] = d2;
18320
18320
+
}
18321
18321
+
a3 = b[a3 + 4 >> 2] | 0;
18322
18322
+
if (a3 | 0) {
18323
18323
+
b[d2 + 20 >> 2] = a3;
18324
18324
+
b[a3 + 24 >> 2] = d2;
18325
18325
+
}
18326
18326
+
}
18327
18327
+
}
18328
18328
+
} while (0);
18329
18329
+
b[i + 4 >> 2] = f2 | 1;
18330
18330
+
b[h + f2 >> 2] = f2;
18331
18331
+
if ((i | 0) == (b[6982] | 0)) {
18332
18332
+
b[6979] = f2;
18333
18333
+
return;
18334
18334
+
}
18335
18335
+
} else {
18336
18336
+
b[a3 >> 2] = e2 & -2;
18337
18337
+
b[i + 4 >> 2] = c2 | 1;
18338
18338
+
b[h + c2 >> 2] = c2;
18339
18339
+
f2 = c2;
18340
18340
+
}
18341
18341
+
a3 = f2 >>> 3;
18342
18342
+
if (f2 >>> 0 < 256) {
18343
18343
+
d2 = 27948 + (a3 << 1 << 2) | 0;
18344
18344
+
c2 = b[6977] | 0;
18345
18345
+
a3 = 1 << a3;
18346
18346
+
if (!(c2 & a3)) {
18347
18347
+
b[6977] = c2 | a3;
18348
18348
+
a3 = d2;
18349
18349
+
c2 = d2 + 8 | 0;
18350
18350
+
} else {
18351
18351
+
c2 = d2 + 8 | 0;
18352
18352
+
a3 = b[c2 >> 2] | 0;
18353
18353
+
}
18354
18354
+
b[c2 >> 2] = i;
18355
18355
+
b[a3 + 12 >> 2] = i;
18356
18356
+
b[i + 8 >> 2] = a3;
18357
18357
+
b[i + 12 >> 2] = d2;
18358
18358
+
return;
18359
18359
+
}
18360
18360
+
a3 = f2 >>> 8;
18361
18361
+
if (a3) {
18362
18362
+
if (f2 >>> 0 > 16777215) {
18363
18363
+
e2 = 31;
18364
18364
+
} else {
18365
18365
+
h = (a3 + 1048320 | 0) >>> 16 & 8;
18366
18366
+
j = a3 << h;
18367
18367
+
g2 = (j + 520192 | 0) >>> 16 & 4;
18368
18368
+
j = j << g2;
18369
18369
+
e2 = (j + 245760 | 0) >>> 16 & 2;
18370
18370
+
e2 = 14 - (g2 | h | e2) + (j << e2 >>> 15) | 0;
18371
18371
+
e2 = f2 >>> (e2 + 7 | 0) & 1 | e2 << 1;
18372
18372
+
}
18373
18373
+
} else {
18374
18374
+
e2 = 0;
18375
18375
+
}
18376
18376
+
a3 = 28212 + (e2 << 2) | 0;
18377
18377
+
b[i + 28 >> 2] = e2;
18378
18378
+
b[i + 20 >> 2] = 0;
18379
18379
+
b[i + 16 >> 2] = 0;
18380
18380
+
c2 = b[6978] | 0;
18381
18381
+
d2 = 1 << e2;
18382
18382
+
a:
18383
18383
+
do {
18384
18384
+
if (!(c2 & d2)) {
18385
18385
+
b[6978] = c2 | d2;
18386
18386
+
b[a3 >> 2] = i;
18387
18387
+
b[i + 24 >> 2] = a3;
18388
18388
+
b[i + 12 >> 2] = i;
18389
18389
+
b[i + 8 >> 2] = i;
18390
18390
+
} else {
18391
18391
+
a3 = b[a3 >> 2] | 0;
18392
18392
+
b:
18393
18393
+
do {
18394
18394
+
if ((b[a3 + 4 >> 2] & -8 | 0) != (f2 | 0)) {
18395
18395
+
e2 = f2 << ((e2 | 0) == 31 ? 0 : 25 - (e2 >>> 1) | 0);
18396
18396
+
while (true) {
18397
18397
+
d2 = a3 + 16 + (e2 >>> 31 << 2) | 0;
18398
18398
+
c2 = b[d2 >> 2] | 0;
18399
18399
+
if (!c2) {
18400
18400
+
break;
18401
18401
+
}
18402
18402
+
if ((b[c2 + 4 >> 2] & -8 | 0) == (f2 | 0)) {
18403
18403
+
a3 = c2;
18404
18404
+
break b;
18405
18405
+
} else {
18406
18406
+
e2 = e2 << 1;
18407
18407
+
a3 = c2;
18408
18408
+
}
18409
18409
+
}
18410
18410
+
b[d2 >> 2] = i;
18411
18411
+
b[i + 24 >> 2] = a3;
18412
18412
+
b[i + 12 >> 2] = i;
18413
18413
+
b[i + 8 >> 2] = i;
18414
18414
+
break a;
18415
18415
+
}
18416
18416
+
} while (0);
18417
18417
+
h = a3 + 8 | 0;
18418
18418
+
j = b[h >> 2] | 0;
18419
18419
+
b[j + 12 >> 2] = i;
18420
18420
+
b[h >> 2] = i;
18421
18421
+
b[i + 8 >> 2] = j;
18422
18422
+
b[i + 12 >> 2] = a3;
18423
18423
+
b[i + 24 >> 2] = 0;
18424
18424
+
}
18425
18425
+
} while (0);
18426
18426
+
j = (b[6985] | 0) + -1 | 0;
18427
18427
+
b[6985] = j;
18428
18428
+
if (j | 0) {
18429
18429
+
return;
18430
18430
+
}
18431
18431
+
a3 = 28364;
18432
18432
+
while (true) {
18433
18433
+
a3 = b[a3 >> 2] | 0;
18434
18434
+
if (!a3) {
18435
18435
+
break;
18436
18436
+
} else {
18437
18437
+
a3 = a3 + 8 | 0;
18438
18438
+
}
18439
18439
+
}
18440
18440
+
b[6985] = -1;
18441
18441
+
return;
18442
18442
+
}
18443
18443
+
function Fd(a3, c2) {
18444
18444
+
a3 = a3 | 0;
18445
18445
+
c2 = c2 | 0;
18446
18446
+
var d2 = 0;
18447
18447
+
if (a3) {
18448
18448
+
d2 = B(c2, a3) | 0;
18449
18449
+
if ((c2 | a3) >>> 0 > 65535) {
18450
18450
+
d2 = ((d2 >>> 0) / (a3 >>> 0) | 0 | 0) == (c2 | 0) ? d2 : -1;
18451
18451
+
}
18452
18452
+
} else {
18453
18453
+
d2 = 0;
18454
18454
+
}
18455
18455
+
a3 = Dd(d2) | 0;
18456
18456
+
if (!a3) {
18457
18457
+
return a3 | 0;
18458
18458
+
}
18459
18459
+
if (!(b[a3 + -4 >> 2] & 3)) {
18460
18460
+
return a3 | 0;
18461
18461
+
}
18462
18462
+
Xd(a3 | 0, 0, d2 | 0) | 0;
18463
18463
+
return a3 | 0;
18464
18464
+
}
18465
18465
+
function Gd(a3, b2, c2, d2) {
18466
18466
+
a3 = a3 | 0;
18467
18467
+
b2 = b2 | 0;
18468
18468
+
c2 = c2 | 0;
18469
18469
+
d2 = d2 | 0;
18470
18470
+
c2 = a3 + c2 >>> 0;
18471
18471
+
return (G(b2 + d2 + (c2 >>> 0 < a3 >>> 0 | 0) >>> 0 | 0), c2 | 0) | 0;
18472
18472
+
}
18473
18473
+
function Hd(a3, b2, c2, d2) {
18474
18474
+
a3 = a3 | 0;
18475
18475
+
b2 = b2 | 0;
18476
18476
+
c2 = c2 | 0;
18477
18477
+
d2 = d2 | 0;
18478
18478
+
d2 = b2 - d2 - (c2 >>> 0 > a3 >>> 0 | 0) >>> 0;
18479
18479
+
return (G(d2 | 0), a3 - c2 >>> 0 | 0) | 0;
18480
18480
+
}
18481
18481
+
function Id(a3) {
18482
18482
+
a3 = a3 | 0;
18483
18483
+
return (a3 ? 31 - (E(a3 ^ a3 - 1) | 0) | 0 : 32) | 0;
18484
18484
+
}
18485
18485
+
function Jd(a3, c2, d2, e2, f2) {
18486
18486
+
a3 = a3 | 0;
18487
18487
+
c2 = c2 | 0;
18488
18488
+
d2 = d2 | 0;
18489
18489
+
e2 = e2 | 0;
18490
18490
+
f2 = f2 | 0;
18491
18491
+
var g2 = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, n = 0, o = 0, p3 = 0;
18492
18492
+
l = a3;
18493
18493
+
j = c2;
18494
18494
+
k = j;
18495
18495
+
h = d2;
18496
18496
+
n = e2;
18497
18497
+
i = n;
18498
18498
+
if (!k) {
18499
18499
+
g2 = (f2 | 0) != 0;
18500
18500
+
if (!i) {
18501
18501
+
if (g2) {
18502
18502
+
b[f2 >> 2] = (l >>> 0) % (h >>> 0);
18503
18503
+
b[f2 + 4 >> 2] = 0;
18504
18504
+
}
18505
18505
+
n = 0;
18506
18506
+
f2 = (l >>> 0) / (h >>> 0) >>> 0;
18507
18507
+
return (G(n | 0), f2) | 0;
18508
18508
+
} else {
18509
18509
+
if (!g2) {
18510
18510
+
n = 0;
18511
18511
+
f2 = 0;
18512
18512
+
return (G(n | 0), f2) | 0;
18513
18513
+
}
18514
18514
+
b[f2 >> 2] = a3 | 0;
18515
18515
+
b[f2 + 4 >> 2] = c2 & 0;
18516
18516
+
n = 0;
18517
18517
+
f2 = 0;
18518
18518
+
return (G(n | 0), f2) | 0;
18519
18519
+
}
18520
18520
+
}
18521
18521
+
g2 = (i | 0) == 0;
18522
18522
+
do {
18523
18523
+
if (h) {
18524
18524
+
if (!g2) {
18525
18525
+
g2 = (E(i | 0) | 0) - (E(k | 0) | 0) | 0;
18526
18526
+
if (g2 >>> 0 <= 31) {
18527
18527
+
m = g2 + 1 | 0;
18528
18528
+
i = 31 - g2 | 0;
18529
18529
+
c2 = g2 - 31 >> 31;
18530
18530
+
h = m;
18531
18531
+
a3 = l >>> (m >>> 0) & c2 | k << i;
18532
18532
+
c2 = k >>> (m >>> 0) & c2;
18533
18533
+
g2 = 0;
18534
18534
+
i = l << i;
18535
18535
+
break;
18536
18536
+
}
18537
18537
+
if (!f2) {
18538
18538
+
n = 0;
18539
18539
+
f2 = 0;
18540
18540
+
return (G(n | 0), f2) | 0;
18541
18541
+
}
18542
18542
+
b[f2 >> 2] = a3 | 0;
18543
18543
+
b[f2 + 4 >> 2] = j | c2 & 0;
18544
18544
+
n = 0;
18545
18545
+
f2 = 0;
18546
18546
+
return (G(n | 0), f2) | 0;
18547
18547
+
}
18548
18548
+
g2 = h - 1 | 0;
18549
18549
+
if (g2 & h | 0) {
18550
18550
+
i = (E(h | 0) | 0) + 33 - (E(k | 0) | 0) | 0;
18551
18551
+
p3 = 64 - i | 0;
18552
18552
+
m = 32 - i | 0;
18553
18553
+
j = m >> 31;
18554
18554
+
o = i - 32 | 0;
18555
18555
+
c2 = o >> 31;
18556
18556
+
h = i;
18557
18557
+
a3 = m - 1 >> 31 & k >>> (o >>> 0) | (k << m | l >>> (i >>> 0)) & c2;
18558
18558
+
c2 = c2 & k >>> (i >>> 0);
18559
18559
+
g2 = l << p3 & j;
18560
18560
+
i = (k << p3 | l >>> (o >>> 0)) & j | l << m & i - 33 >> 31;
18561
18561
+
break;
18562
18562
+
}
18563
18563
+
if (f2 | 0) {
18564
18564
+
b[f2 >> 2] = g2 & l;
18565
18565
+
b[f2 + 4 >> 2] = 0;
18566
18566
+
}
18567
18567
+
if ((h | 0) == 1) {
18568
18568
+
o = j | c2 & 0;
18569
18569
+
p3 = a3 | 0 | 0;
18570
18570
+
return (G(o | 0), p3) | 0;
18571
18571
+
} else {
18572
18572
+
p3 = Id(h | 0) | 0;
18573
18573
+
o = k >>> (p3 >>> 0) | 0;
18574
18574
+
p3 = k << 32 - p3 | l >>> (p3 >>> 0) | 0;
18575
18575
+
return (G(o | 0), p3) | 0;
18576
18576
+
}
18577
18577
+
} else {
18578
18578
+
if (g2) {
18579
18579
+
if (f2 | 0) {
18580
18580
+
b[f2 >> 2] = (k >>> 0) % (h >>> 0);
18581
18581
+
b[f2 + 4 >> 2] = 0;
18582
18582
+
}
18583
18583
+
o = 0;
18584
18584
+
p3 = (k >>> 0) / (h >>> 0) >>> 0;
18585
18585
+
return (G(o | 0), p3) | 0;
18586
18586
+
}
18587
18587
+
if (!l) {
18588
18588
+
if (f2 | 0) {
18589
18589
+
b[f2 >> 2] = 0;
18590
18590
+
b[f2 + 4 >> 2] = (k >>> 0) % (i >>> 0);
18591
18591
+
}
18592
18592
+
o = 0;
18593
18593
+
p3 = (k >>> 0) / (i >>> 0) >>> 0;
18594
18594
+
return (G(o | 0), p3) | 0;
18595
18595
+
}
18596
18596
+
g2 = i - 1 | 0;
18597
18597
+
if (!(g2 & i)) {
18598
18598
+
if (f2 | 0) {
18599
18599
+
b[f2 >> 2] = a3 | 0;
18600
18600
+
b[f2 + 4 >> 2] = g2 & k | c2 & 0;
18601
18601
+
}
18602
18602
+
o = 0;
18603
18603
+
p3 = k >>> ((Id(i | 0) | 0) >>> 0);
18604
18604
+
return (G(o | 0), p3) | 0;
18605
18605
+
}
18606
18606
+
g2 = (E(i | 0) | 0) - (E(k | 0) | 0) | 0;
18607
18607
+
if (g2 >>> 0 <= 30) {
18608
18608
+
c2 = g2 + 1 | 0;
18609
18609
+
i = 31 - g2 | 0;
18610
18610
+
h = c2;
18611
18611
+
a3 = k << i | l >>> (c2 >>> 0);
18612
18612
+
c2 = k >>> (c2 >>> 0);
18613
18613
+
g2 = 0;
18614
18614
+
i = l << i;
18615
18615
+
break;
18616
18616
+
}
18617
18617
+
if (!f2) {
18618
18618
+
o = 0;
18619
18619
+
p3 = 0;
18620
18620
+
return (G(o | 0), p3) | 0;
18621
18621
+
}
18622
18622
+
b[f2 >> 2] = a3 | 0;
18623
18623
+
b[f2 + 4 >> 2] = j | c2 & 0;
18624
18624
+
o = 0;
18625
18625
+
p3 = 0;
18626
18626
+
return (G(o | 0), p3) | 0;
18627
18627
+
}
18628
18628
+
} while (0);
18629
18629
+
if (!h) {
18630
18630
+
k = i;
18631
18631
+
j = 0;
18632
18632
+
i = 0;
18633
18633
+
} else {
18634
18634
+
m = d2 | 0 | 0;
18635
18635
+
l = n | e2 & 0;
18636
18636
+
k = Gd(m | 0, l | 0, -1, -1) | 0;
18637
18637
+
d2 = H() | 0;
18638
18638
+
j = i;
18639
18639
+
i = 0;
18640
18640
+
do {
18641
18641
+
e2 = j;
18642
18642
+
j = g2 >>> 31 | j << 1;
18643
18643
+
g2 = i | g2 << 1;
18644
18644
+
e2 = a3 << 1 | e2 >>> 31 | 0;
18645
18645
+
n = a3 >>> 31 | c2 << 1 | 0;
18646
18646
+
Hd(k | 0, d2 | 0, e2 | 0, n | 0) | 0;
18647
18647
+
p3 = H() | 0;
18648
18648
+
o = p3 >> 31 | ((p3 | 0) < 0 ? -1 : 0) << 1;
18649
18649
+
i = o & 1;
18650
18650
+
a3 = Hd(e2 | 0, n | 0, o & m | 0, (((p3 | 0) < 0 ? -1 : 0) >> 31 | ((p3 | 0) < 0 ? -1 : 0) << 1) & l | 0) | 0;
18651
18651
+
c2 = H() | 0;
18652
18652
+
h = h - 1 | 0;
18653
18653
+
} while ((h | 0) != 0);
18654
18654
+
k = j;
18655
18655
+
j = 0;
18656
18656
+
}
18657
18657
+
h = 0;
18658
18658
+
if (f2 | 0) {
18659
18659
+
b[f2 >> 2] = a3;
18660
18660
+
b[f2 + 4 >> 2] = c2;
18661
18661
+
}
18662
18662
+
o = (g2 | 0) >>> 31 | (k | h) << 1 | (h << 1 | g2 >>> 31) & 0 | j;
18663
18663
+
p3 = (g2 << 1 | 0 >>> 31) & -2 | i;
18664
18664
+
return (G(o | 0), p3) | 0;
18665
18665
+
}
18666
18666
+
function Kd(a3, b2, c2, d2) {
18667
18667
+
a3 = a3 | 0;
18668
18668
+
b2 = b2 | 0;
18669
18669
+
c2 = c2 | 0;
18670
18670
+
d2 = d2 | 0;
18671
18671
+
var e2 = 0, f2 = 0, g2 = 0, h = 0, i = 0, j = 0;
18672
18672
+
j = b2 >> 31 | ((b2 | 0) < 0 ? -1 : 0) << 1;
18673
18673
+
i = ((b2 | 0) < 0 ? -1 : 0) >> 31 | ((b2 | 0) < 0 ? -1 : 0) << 1;
18674
18674
+
f2 = d2 >> 31 | ((d2 | 0) < 0 ? -1 : 0) << 1;
18675
18675
+
e2 = ((d2 | 0) < 0 ? -1 : 0) >> 31 | ((d2 | 0) < 0 ? -1 : 0) << 1;
18676
18676
+
h = Hd(j ^ a3 | 0, i ^ b2 | 0, j | 0, i | 0) | 0;
18677
18677
+
g2 = H() | 0;
18678
18678
+
a3 = f2 ^ j;
18679
18679
+
b2 = e2 ^ i;
18680
18680
+
return Hd((Jd(h, g2, Hd(f2 ^ c2 | 0, e2 ^ d2 | 0, f2 | 0, e2 | 0) | 0, H() | 0, 0) | 0) ^ a3 | 0, (H() | 0) ^ b2 | 0, a3 | 0, b2 | 0) | 0;
18681
18681
+
}
18682
18682
+
function Ld(a3, b2) {
18683
18683
+
a3 = a3 | 0;
18684
18684
+
b2 = b2 | 0;
18685
18685
+
var c2 = 0, d2 = 0, e2 = 0, f2 = 0;
18686
18686
+
f2 = a3 & 65535;
18687
18687
+
e2 = b2 & 65535;
18688
18688
+
c2 = B(e2, f2) | 0;
18689
18689
+
d2 = a3 >>> 16;
18690
18690
+
a3 = (c2 >>> 16) + (B(e2, d2) | 0) | 0;
18691
18691
+
e2 = b2 >>> 16;
18692
18692
+
b2 = B(e2, f2) | 0;
18693
18693
+
return (G((a3 >>> 16) + (B(e2, d2) | 0) + (((a3 & 65535) + b2 | 0) >>> 16) | 0), a3 + b2 << 16 | c2 & 65535 | 0) | 0;
18694
18694
+
}
18695
18695
+
function Md(a3, b2, c2, d2) {
18696
18696
+
a3 = a3 | 0;
18697
18697
+
b2 = b2 | 0;
18698
18698
+
c2 = c2 | 0;
18699
18699
+
d2 = d2 | 0;
18700
18700
+
var e2 = 0, f2 = 0;
18701
18701
+
e2 = a3;
18702
18702
+
f2 = c2;
18703
18703
+
c2 = Ld(e2, f2) | 0;
18704
18704
+
a3 = H() | 0;
18705
18705
+
return (G((B(b2, f2) | 0) + (B(d2, e2) | 0) + a3 | a3 & 0 | 0), c2 | 0 | 0) | 0;
18706
18706
+
}
18707
18707
+
function Nd(a3, c2, d2, e2) {
18708
18708
+
a3 = a3 | 0;
18709
18709
+
c2 = c2 | 0;
18710
18710
+
d2 = d2 | 0;
18711
18711
+
e2 = e2 | 0;
18712
18712
+
var f2 = 0, g2 = 0, h = 0, i = 0, j = 0, k = 0;
18713
18713
+
f2 = T;
18714
18714
+
T = T + 16 | 0;
18715
18715
+
i = f2 | 0;
18716
18716
+
h = c2 >> 31 | ((c2 | 0) < 0 ? -1 : 0) << 1;
18717
18717
+
g2 = ((c2 | 0) < 0 ? -1 : 0) >> 31 | ((c2 | 0) < 0 ? -1 : 0) << 1;
18718
18718
+
k = e2 >> 31 | ((e2 | 0) < 0 ? -1 : 0) << 1;
18719
18719
+
j = ((e2 | 0) < 0 ? -1 : 0) >> 31 | ((e2 | 0) < 0 ? -1 : 0) << 1;
18720
18720
+
a3 = Hd(h ^ a3 | 0, g2 ^ c2 | 0, h | 0, g2 | 0) | 0;
18721
18721
+
c2 = H() | 0;
18722
18722
+
Jd(a3, c2, Hd(k ^ d2 | 0, j ^ e2 | 0, k | 0, j | 0) | 0, H() | 0, i) | 0;
18723
18723
+
e2 = Hd(b[i >> 2] ^ h | 0, b[i + 4 >> 2] ^ g2 | 0, h | 0, g2 | 0) | 0;
18724
18724
+
d2 = H() | 0;
18725
18725
+
T = f2;
18726
18726
+
return (G(d2 | 0), e2) | 0;
18727
18727
+
}
18728
18728
+
function Od(a3, c2, d2, e2) {
18729
18729
+
a3 = a3 | 0;
18730
18730
+
c2 = c2 | 0;
18731
18731
+
d2 = d2 | 0;
18732
18732
+
e2 = e2 | 0;
18733
18733
+
var f2 = 0, g2 = 0;
18734
18734
+
g2 = T;
18735
18735
+
T = T + 16 | 0;
18736
18736
+
f2 = g2 | 0;
18737
18737
+
Jd(a3, c2, d2, e2, f2) | 0;
18738
18738
+
T = g2;
18739
18739
+
return (G(b[f2 + 4 >> 2] | 0), b[f2 >> 2] | 0) | 0;
18740
18740
+
}
18741
18741
+
function Pd(a3, b2, c2) {
18742
18742
+
a3 = a3 | 0;
18743
18743
+
b2 = b2 | 0;
18744
18744
+
c2 = c2 | 0;
18745
18745
+
if ((c2 | 0) < 32) {
18746
18746
+
G(b2 >> c2 | 0);
18747
18747
+
return a3 >>> c2 | (b2 & (1 << c2) - 1) << 32 - c2;
18748
18748
+
}
18749
18749
+
G(((b2 | 0) < 0 ? -1 : 0) | 0);
18750
18750
+
return b2 >> c2 - 32 | 0;
18751
18751
+
}
18752
18752
+
function Qd(a3, b2, c2) {
18753
18753
+
a3 = a3 | 0;
18754
18754
+
b2 = b2 | 0;
18755
18755
+
c2 = c2 | 0;
18756
18756
+
if ((c2 | 0) < 32) {
18757
18757
+
G(b2 >>> c2 | 0);
18758
18758
+
return a3 >>> c2 | (b2 & (1 << c2) - 1) << 32 - c2;
18759
18759
+
}
18760
18760
+
G(0);
18761
18761
+
return b2 >>> c2 - 32 | 0;
18762
18762
+
}
18763
18763
+
function Rd(a3, b2, c2) {
18764
18764
+
a3 = a3 | 0;
18765
18765
+
b2 = b2 | 0;
18766
18766
+
c2 = c2 | 0;
18767
18767
+
if ((c2 | 0) < 32) {
18768
18768
+
G(b2 << c2 | (a3 & (1 << c2) - 1 << 32 - c2) >>> 32 - c2 | 0);
18769
18769
+
return a3 << c2;
18770
18770
+
}
18771
18771
+
G(a3 << c2 - 32 | 0);
18772
18772
+
return 0;
18773
18773
+
}
18774
18774
+
function Sd(a3, b2, c2) {
18775
18775
+
a3 = a3 | 0;
18776
18776
+
b2 = b2 | 0;
18777
18777
+
c2 = c2 | 0;
18778
18778
+
b2 = E(b2) | 0;
18779
18779
+
if ((b2 | 0) == 32) {
18780
18780
+
b2 = b2 + (E(a3) | 0) | 0;
18781
18781
+
}
18782
18782
+
G(0);
18783
18783
+
return b2 | 0;
18784
18784
+
}
18785
18785
+
function Td(a3, b2) {
18786
18786
+
a3 = +a3;
18787
18787
+
b2 = +b2;
18788
18788
+
if (a3 != a3) {
18789
18789
+
return +b2;
18790
18790
+
}
18791
18791
+
if (b2 != b2) {
18792
18792
+
return +a3;
18793
18793
+
}
18794
18794
+
return +D(+a3, +b2);
18795
18795
+
}
18796
18796
+
function Ud(a3, b2) {
18797
18797
+
a3 = +a3;
18798
18798
+
b2 = +b2;
18799
18799
+
if (a3 != a3) {
18800
18800
+
return +b2;
18801
18801
+
}
18802
18802
+
if (b2 != b2) {
18803
18803
+
return +a3;
18804
18804
+
}
18805
18805
+
return +C(+a3, +b2);
18806
18806
+
}
18807
18807
+
function Vd(a3) {
18808
18808
+
a3 = +a3;
18809
18809
+
return a3 >= 0 ? +p2(a3 + 0.5) : +A(a3 - 0.5);
18810
18810
+
}
18811
18811
+
function Wd(c2, d2, e2) {
18812
18812
+
c2 = c2 | 0;
18813
18813
+
d2 = d2 | 0;
18814
18814
+
e2 = e2 | 0;
18815
18815
+
var f2 = 0, g2 = 0, h = 0;
18816
18816
+
if ((e2 | 0) >= 8192) {
18817
18817
+
L(c2 | 0, d2 | 0, e2 | 0) | 0;
18818
18818
+
return c2 | 0;
18819
18819
+
}
18820
18820
+
h = c2 | 0;
18821
18821
+
g2 = c2 + e2 | 0;
18822
18822
+
if ((c2 & 3) == (d2 & 3)) {
18823
18823
+
while (c2 & 3) {
18824
18824
+
if (!e2) {
18825
18825
+
return h | 0;
18826
18826
+
}
18827
18827
+
a2[c2 >> 0] = a2[d2 >> 0] | 0;
18828
18828
+
c2 = c2 + 1 | 0;
18829
18829
+
d2 = d2 + 1 | 0;
18830
18830
+
e2 = e2 - 1 | 0;
18831
18831
+
}
18832
18832
+
e2 = g2 & -4 | 0;
18833
18833
+
f2 = e2 - 64 | 0;
18834
18834
+
while ((c2 | 0) <= (f2 | 0)) {
18835
18835
+
b[c2 >> 2] = b[d2 >> 2];
18836
18836
+
b[c2 + 4 >> 2] = b[d2 + 4 >> 2];
18837
18837
+
b[c2 + 8 >> 2] = b[d2 + 8 >> 2];
18838
18838
+
b[c2 + 12 >> 2] = b[d2 + 12 >> 2];
18839
18839
+
b[c2 + 16 >> 2] = b[d2 + 16 >> 2];
18840
18840
+
b[c2 + 20 >> 2] = b[d2 + 20 >> 2];
18841
18841
+
b[c2 + 24 >> 2] = b[d2 + 24 >> 2];
18842
18842
+
b[c2 + 28 >> 2] = b[d2 + 28 >> 2];
18843
18843
+
b[c2 + 32 >> 2] = b[d2 + 32 >> 2];
18844
18844
+
b[c2 + 36 >> 2] = b[d2 + 36 >> 2];
18845
18845
+
b[c2 + 40 >> 2] = b[d2 + 40 >> 2];
18846
18846
+
b[c2 + 44 >> 2] = b[d2 + 44 >> 2];
18847
18847
+
b[c2 + 48 >> 2] = b[d2 + 48 >> 2];
18848
18848
+
b[c2 + 52 >> 2] = b[d2 + 52 >> 2];
18849
18849
+
b[c2 + 56 >> 2] = b[d2 + 56 >> 2];
18850
18850
+
b[c2 + 60 >> 2] = b[d2 + 60 >> 2];
18851
18851
+
c2 = c2 + 64 | 0;
18852
18852
+
d2 = d2 + 64 | 0;
18853
18853
+
}
18854
18854
+
while ((c2 | 0) < (e2 | 0)) {
18855
18855
+
b[c2 >> 2] = b[d2 >> 2];
18856
18856
+
c2 = c2 + 4 | 0;
18857
18857
+
d2 = d2 + 4 | 0;
18858
18858
+
}
18859
18859
+
} else {
18860
18860
+
e2 = g2 - 4 | 0;
18861
18861
+
while ((c2 | 0) < (e2 | 0)) {
18862
18862
+
a2[c2 >> 0] = a2[d2 >> 0] | 0;
18863
18863
+
a2[c2 + 1 >> 0] = a2[d2 + 1 >> 0] | 0;
18864
18864
+
a2[c2 + 2 >> 0] = a2[d2 + 2 >> 0] | 0;
18865
18865
+
a2[c2 + 3 >> 0] = a2[d2 + 3 >> 0] | 0;
18866
18866
+
c2 = c2 + 4 | 0;
18867
18867
+
d2 = d2 + 4 | 0;
18868
18868
+
}
18869
18869
+
}
18870
18870
+
while ((c2 | 0) < (g2 | 0)) {
18871
18871
+
a2[c2 >> 0] = a2[d2 >> 0] | 0;
18872
18872
+
c2 = c2 + 1 | 0;
18873
18873
+
d2 = d2 + 1 | 0;
18874
18874
+
}
18875
18875
+
return h | 0;
18876
18876
+
}
18877
18877
+
function Xd(c2, d2, e2) {
18878
18878
+
c2 = c2 | 0;
18879
18879
+
d2 = d2 | 0;
18880
18880
+
e2 = e2 | 0;
18881
18881
+
var f2 = 0, g2 = 0, h = 0, i = 0;
18882
18882
+
h = c2 + e2 | 0;
18883
18883
+
d2 = d2 & 255;
18884
18884
+
if ((e2 | 0) >= 67) {
18885
18885
+
while (c2 & 3) {
18886
18886
+
a2[c2 >> 0] = d2;
18887
18887
+
c2 = c2 + 1 | 0;
18888
18888
+
}
18889
18889
+
f2 = h & -4 | 0;
18890
18890
+
i = d2 | d2 << 8 | d2 << 16 | d2 << 24;
18891
18891
+
g2 = f2 - 64 | 0;
18892
18892
+
while ((c2 | 0) <= (g2 | 0)) {
18893
18893
+
b[c2 >> 2] = i;
18894
18894
+
b[c2 + 4 >> 2] = i;
18895
18895
+
b[c2 + 8 >> 2] = i;
18896
18896
+
b[c2 + 12 >> 2] = i;
18897
18897
+
b[c2 + 16 >> 2] = i;
18898
18898
+
b[c2 + 20 >> 2] = i;
18899
18899
+
b[c2 + 24 >> 2] = i;
18900
18900
+
b[c2 + 28 >> 2] = i;
18901
18901
+
b[c2 + 32 >> 2] = i;
18902
18902
+
b[c2 + 36 >> 2] = i;
18903
18903
+
b[c2 + 40 >> 2] = i;
18904
18904
+
b[c2 + 44 >> 2] = i;
18905
18905
+
b[c2 + 48 >> 2] = i;
18906
18906
+
b[c2 + 52 >> 2] = i;
18907
18907
+
b[c2 + 56 >> 2] = i;
18908
18908
+
b[c2 + 60 >> 2] = i;
18909
18909
+
c2 = c2 + 64 | 0;
18910
18910
+
}
18911
18911
+
while ((c2 | 0) < (f2 | 0)) {
18912
18912
+
b[c2 >> 2] = i;
18913
18913
+
c2 = c2 + 4 | 0;
18914
18914
+
}
18915
18915
+
}
18916
18916
+
while ((c2 | 0) < (h | 0)) {
18917
18917
+
a2[c2 >> 0] = d2;
18918
18918
+
c2 = c2 + 1 | 0;
18919
18919
+
}
18920
18920
+
return h - e2 | 0;
18921
18921
+
}
18922
18922
+
function Yd(a3) {
18923
18923
+
a3 = +a3;
18924
18924
+
return a3 >= 0 ? +p2(a3 + 0.5) : +A(a3 - 0.5);
18925
18925
+
}
18926
18926
+
function Zd(a3) {
18927
18927
+
a3 = a3 | 0;
18928
18928
+
var c2 = 0, d2 = 0, e2 = 0;
18929
18929
+
e2 = K() | 0;
18930
18930
+
d2 = b[g >> 2] | 0;
18931
18931
+
c2 = d2 + a3 | 0;
18932
18932
+
if ((a3 | 0) > 0 & (c2 | 0) < (d2 | 0) | (c2 | 0) < 0) {
18933
18933
+
N(c2 | 0) | 0;
18934
18934
+
J(12);
18935
18935
+
return -1;
18936
18936
+
}
18937
18937
+
if ((c2 | 0) > (e2 | 0)) {
18938
18938
+
if (!(M(c2 | 0) | 0)) {
18939
18939
+
J(12);
18940
18940
+
return -1;
18941
18941
+
}
18942
18942
+
}
18943
18943
+
b[g >> 2] = c2;
18944
18944
+
return d2 | 0;
18945
18945
+
}
18946
18946
+
return {
18947
18947
+
___divdi3: Kd,
18948
18948
+
___muldi3: Md,
18949
18949
+
___remdi3: Nd,
18950
18950
+
___uremdi3: Od,
18951
18951
+
_areNeighborCells: ib,
18952
18952
+
_bitshift64Ashr: Pd,
18953
18953
+
_bitshift64Lshr: Qd,
18954
18954
+
_bitshift64Shl: Rd,
18955
18955
+
_calloc: Fd,
18956
18956
+
_cellAreaKm2: xc,
18957
18957
+
_cellAreaM2: yc,
18958
18958
+
_cellAreaRads2: wc,
18959
18959
+
_cellToBoundary: _b,
18960
18960
+
_cellToCenterChild: Kb,
18961
18961
+
_cellToChildPos: dc,
18962
18962
+
_cellToChildren: Ib,
18963
18963
+
_cellToChildrenSize: Gb,
18964
18964
+
_cellToLatLng: Zb,
18965
18965
+
_cellToLocalIj: Jc,
18966
18966
+
_cellToParent: Fb,
18967
18967
+
_cellToVertex: qd,
18968
18968
+
_cellToVertexes: rd,
18969
18969
+
_cellsToDirectedEdge: jb,
18970
18970
+
_cellsToLinkedMultiPolygon: na,
18971
18971
+
_childPosToCell: ec,
18972
18972
+
_compactCells: Lb,
18973
18973
+
_destroyLinkedMultiPolygon: Ec,
18974
18974
+
_directedEdgeToBoundary: pb,
18975
18975
+
_directedEdgeToCells: nb,
18976
18976
+
_edgeLengthKm: Ac,
18977
18977
+
_edgeLengthM: Bc,
18978
18978
+
_edgeLengthRads: zc,
18979
18979
+
_emscripten_replace_memory: W,
18980
18980
+
_free: Ed,
18981
18981
+
_getBaseCellNumber: Cb,
18982
18982
+
_getDirectedEdgeDestination: lb,
18983
18983
+
_getDirectedEdgeOrigin: kb,
18984
18984
+
_getHexagonAreaAvgKm2: qc,
18985
18985
+
_getHexagonAreaAvgM2: rc,
18986
18986
+
_getHexagonEdgeLengthAvgKm: sc,
18987
18987
+
_getHexagonEdgeLengthAvgM: tc,
18988
18988
+
_getIcosahedronFaces: ac,
18989
18989
+
_getNumCells: uc,
18990
18990
+
_getPentagons: cc,
18991
18991
+
_getRes0Cells: ya,
18992
18992
+
_getResolution: Bb,
18993
18993
+
_greatCircleDistanceKm: mc,
18994
18994
+
_greatCircleDistanceM: nc,
18995
18995
+
_greatCircleDistanceRads: lc,
18996
18996
+
_gridDisk: aa,
18997
18997
+
_gridDiskDistances: ba,
18998
18998
+
_gridDistance: Lc,
18999
18999
+
_gridPathCells: Nc,
19000
19000
+
_gridPathCellsSize: Mc,
19001
19001
+
_gridRing: fa,
19002
19002
+
_gridRingUnsafe: ga,
19003
19003
+
_i64Add: Gd,
19004
19004
+
_i64Subtract: Hd,
19005
19005
+
_isPentagon: Hb,
19006
19006
+
_isResClassIII: Ob,
19007
19007
+
_isValidCell: Db,
19008
19008
+
_isValidDirectedEdge: mb,
19009
19009
+
_isValidVertex: td,
19010
19010
+
_latLngToCell: Wb,
19011
19011
+
_llvm_ctlz_i64: Sd,
19012
19012
+
_llvm_maxnum_f64: Td,
19013
19013
+
_llvm_minnum_f64: Ud,
19014
19014
+
_llvm_round_f64: Vd,
19015
19015
+
_localIjToCell: Kc,
19016
19016
+
_malloc: Dd,
19017
19017
+
_maxFaceCount: $b,
19018
19018
+
_maxGridDiskSize: $,
19019
19019
+
_maxPolygonToCellsSize: ja,
19020
19020
+
_maxPolygonToCellsSizeExperimental: Uc,
19021
19021
+
_memcpy: Wd,
19022
19022
+
_memset: Xd,
19023
19023
+
_originToDirectedEdges: ob,
19024
19024
+
_pentagonCount: bc,
19025
19025
+
_polygonToCells: la,
19026
19026
+
_polygonToCellsExperimental: Tc,
19027
19027
+
_readInt64AsDoubleFromPointer: id2,
19028
19028
+
_res0CellCount: xa,
19029
19029
+
_round: Yd,
19030
19030
+
_sbrk: Zd,
19031
19031
+
_sizeOfCellBoundary: dd,
19032
19032
+
_sizeOfCoordIJ: hd,
19033
19033
+
_sizeOfGeoLoop: ed,
19034
19034
+
_sizeOfGeoPolygon: fd,
19035
19035
+
_sizeOfH3Index: bd,
19036
19036
+
_sizeOfLatLng: cd,
19037
19037
+
_sizeOfLinkedGeoPolygon: gd,
19038
19038
+
_uncompactCells: Mb,
19039
19039
+
_uncompactCellsSize: Nb,
19040
19040
+
_vertexToLatLng: sd,
19041
19041
+
establishStackSpace: _,
19042
19042
+
stackAlloc: X,
19043
19043
+
stackRestore: Z,
19044
19044
+
stackSave: Y
19045
19045
+
};
19046
19046
+
}(asmGlobalArg, asmLibraryArg, buffer);
19047
19047
+
var ___divdi3 = Module["___divdi3"] = asm["___divdi3"];
19048
19048
+
var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
19049
19049
+
var ___remdi3 = Module["___remdi3"] = asm["___remdi3"];
19050
19050
+
var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
19051
19051
+
var _areNeighborCells = Module["_areNeighborCells"] = asm["_areNeighborCells"];
19052
19052
+
var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
19053
19053
+
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
19054
19054
+
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
19055
19055
+
var _calloc = Module["_calloc"] = asm["_calloc"];
19056
19056
+
var _cellAreaKm2 = Module["_cellAreaKm2"] = asm["_cellAreaKm2"];
19057
19057
+
var _cellAreaM2 = Module["_cellAreaM2"] = asm["_cellAreaM2"];
19058
19058
+
var _cellAreaRads2 = Module["_cellAreaRads2"] = asm["_cellAreaRads2"];
19059
19059
+
var _cellToBoundary = Module["_cellToBoundary"] = asm["_cellToBoundary"];
19060
19060
+
var _cellToCenterChild = Module["_cellToCenterChild"] = asm["_cellToCenterChild"];
19061
19061
+
var _cellToChildPos = Module["_cellToChildPos"] = asm["_cellToChildPos"];
19062
19062
+
var _cellToChildren = Module["_cellToChildren"] = asm["_cellToChildren"];
19063
19063
+
var _cellToChildrenSize = Module["_cellToChildrenSize"] = asm["_cellToChildrenSize"];
19064
19064
+
var _cellToLatLng = Module["_cellToLatLng"] = asm["_cellToLatLng"];
19065
19065
+
var _cellToLocalIj = Module["_cellToLocalIj"] = asm["_cellToLocalIj"];
19066
19066
+
var _cellToParent = Module["_cellToParent"] = asm["_cellToParent"];
19067
19067
+
var _cellToVertex = Module["_cellToVertex"] = asm["_cellToVertex"];
19068
19068
+
var _cellToVertexes = Module["_cellToVertexes"] = asm["_cellToVertexes"];
19069
19069
+
var _cellsToDirectedEdge = Module["_cellsToDirectedEdge"] = asm["_cellsToDirectedEdge"];
19070
19070
+
var _cellsToLinkedMultiPolygon = Module["_cellsToLinkedMultiPolygon"] = asm["_cellsToLinkedMultiPolygon"];
19071
19071
+
var _childPosToCell = Module["_childPosToCell"] = asm["_childPosToCell"];
19072
19072
+
var _compactCells = Module["_compactCells"] = asm["_compactCells"];
19073
19073
+
var _destroyLinkedMultiPolygon = Module["_destroyLinkedMultiPolygon"] = asm["_destroyLinkedMultiPolygon"];
19074
19074
+
var _directedEdgeToBoundary = Module["_directedEdgeToBoundary"] = asm["_directedEdgeToBoundary"];
19075
19075
+
var _directedEdgeToCells = Module["_directedEdgeToCells"] = asm["_directedEdgeToCells"];
19076
19076
+
var _edgeLengthKm = Module["_edgeLengthKm"] = asm["_edgeLengthKm"];
19077
19077
+
var _edgeLengthM = Module["_edgeLengthM"] = asm["_edgeLengthM"];
19078
19078
+
var _edgeLengthRads = Module["_edgeLengthRads"] = asm["_edgeLengthRads"];
19079
19079
+
var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"];
19080
19080
+
var _free = Module["_free"] = asm["_free"];
19081
19081
+
var _getBaseCellNumber = Module["_getBaseCellNumber"] = asm["_getBaseCellNumber"];
19082
19082
+
var _getDirectedEdgeDestination = Module["_getDirectedEdgeDestination"] = asm["_getDirectedEdgeDestination"];
19083
19083
+
var _getDirectedEdgeOrigin = Module["_getDirectedEdgeOrigin"] = asm["_getDirectedEdgeOrigin"];
19084
19084
+
var _getHexagonAreaAvgKm2 = Module["_getHexagonAreaAvgKm2"] = asm["_getHexagonAreaAvgKm2"];
19085
19085
+
var _getHexagonAreaAvgM2 = Module["_getHexagonAreaAvgM2"] = asm["_getHexagonAreaAvgM2"];
19086
19086
+
var _getHexagonEdgeLengthAvgKm = Module["_getHexagonEdgeLengthAvgKm"] = asm["_getHexagonEdgeLengthAvgKm"];
19087
19087
+
var _getHexagonEdgeLengthAvgM = Module["_getHexagonEdgeLengthAvgM"] = asm["_getHexagonEdgeLengthAvgM"];
19088
19088
+
var _getIcosahedronFaces = Module["_getIcosahedronFaces"] = asm["_getIcosahedronFaces"];
19089
19089
+
var _getNumCells = Module["_getNumCells"] = asm["_getNumCells"];
19090
19090
+
var _getPentagons = Module["_getPentagons"] = asm["_getPentagons"];
19091
19091
+
var _getRes0Cells = Module["_getRes0Cells"] = asm["_getRes0Cells"];
19092
19092
+
var _getResolution = Module["_getResolution"] = asm["_getResolution"];
19093
19093
+
var _greatCircleDistanceKm = Module["_greatCircleDistanceKm"] = asm["_greatCircleDistanceKm"];
19094
19094
+
var _greatCircleDistanceM = Module["_greatCircleDistanceM"] = asm["_greatCircleDistanceM"];
19095
19095
+
var _greatCircleDistanceRads = Module["_greatCircleDistanceRads"] = asm["_greatCircleDistanceRads"];
19096
19096
+
var _gridDisk = Module["_gridDisk"] = asm["_gridDisk"];
19097
19097
+
var _gridDiskDistances = Module["_gridDiskDistances"] = asm["_gridDiskDistances"];
19098
19098
+
var _gridDistance = Module["_gridDistance"] = asm["_gridDistance"];
19099
19099
+
var _gridPathCells = Module["_gridPathCells"] = asm["_gridPathCells"];
19100
19100
+
var _gridPathCellsSize = Module["_gridPathCellsSize"] = asm["_gridPathCellsSize"];
19101
19101
+
var _gridRing = Module["_gridRing"] = asm["_gridRing"];
19102
19102
+
var _gridRingUnsafe = Module["_gridRingUnsafe"] = asm["_gridRingUnsafe"];
19103
19103
+
var _i64Add = Module["_i64Add"] = asm["_i64Add"];
19104
19104
+
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
19105
19105
+
var _isPentagon = Module["_isPentagon"] = asm["_isPentagon"];
19106
19106
+
var _isResClassIII = Module["_isResClassIII"] = asm["_isResClassIII"];
19107
19107
+
var _isValidCell = Module["_isValidCell"] = asm["_isValidCell"];
19108
19108
+
var _isValidDirectedEdge = Module["_isValidDirectedEdge"] = asm["_isValidDirectedEdge"];
19109
19109
+
var _isValidVertex = Module["_isValidVertex"] = asm["_isValidVertex"];
19110
19110
+
var _latLngToCell = Module["_latLngToCell"] = asm["_latLngToCell"];
19111
19111
+
var _llvm_ctlz_i64 = Module["_llvm_ctlz_i64"] = asm["_llvm_ctlz_i64"];
19112
19112
+
var _llvm_maxnum_f64 = Module["_llvm_maxnum_f64"] = asm["_llvm_maxnum_f64"];
19113
19113
+
var _llvm_minnum_f64 = Module["_llvm_minnum_f64"] = asm["_llvm_minnum_f64"];
19114
19114
+
var _llvm_round_f64 = Module["_llvm_round_f64"] = asm["_llvm_round_f64"];
19115
19115
+
var _localIjToCell = Module["_localIjToCell"] = asm["_localIjToCell"];
19116
19116
+
var _malloc = Module["_malloc"] = asm["_malloc"];
19117
19117
+
var _maxFaceCount = Module["_maxFaceCount"] = asm["_maxFaceCount"];
19118
19118
+
var _maxGridDiskSize = Module["_maxGridDiskSize"] = asm["_maxGridDiskSize"];
19119
19119
+
var _maxPolygonToCellsSize = Module["_maxPolygonToCellsSize"] = asm["_maxPolygonToCellsSize"];
19120
19120
+
var _maxPolygonToCellsSizeExperimental = Module["_maxPolygonToCellsSizeExperimental"] = asm["_maxPolygonToCellsSizeExperimental"];
19121
19121
+
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
19122
19122
+
var _memset = Module["_memset"] = asm["_memset"];
19123
19123
+
var _originToDirectedEdges = Module["_originToDirectedEdges"] = asm["_originToDirectedEdges"];
19124
19124
+
var _pentagonCount = Module["_pentagonCount"] = asm["_pentagonCount"];
19125
19125
+
var _polygonToCells = Module["_polygonToCells"] = asm["_polygonToCells"];
19126
19126
+
var _polygonToCellsExperimental = Module["_polygonToCellsExperimental"] = asm["_polygonToCellsExperimental"];
19127
19127
+
var _readInt64AsDoubleFromPointer = Module["_readInt64AsDoubleFromPointer"] = asm["_readInt64AsDoubleFromPointer"];
19128
19128
+
var _res0CellCount = Module["_res0CellCount"] = asm["_res0CellCount"];
19129
19129
+
var _round = Module["_round"] = asm["_round"];
19130
19130
+
var _sbrk = Module["_sbrk"] = asm["_sbrk"];
19131
19131
+
var _sizeOfCellBoundary = Module["_sizeOfCellBoundary"] = asm["_sizeOfCellBoundary"];
19132
19132
+
var _sizeOfCoordIJ = Module["_sizeOfCoordIJ"] = asm["_sizeOfCoordIJ"];
19133
19133
+
var _sizeOfGeoLoop = Module["_sizeOfGeoLoop"] = asm["_sizeOfGeoLoop"];
19134
19134
+
var _sizeOfGeoPolygon = Module["_sizeOfGeoPolygon"] = asm["_sizeOfGeoPolygon"];
19135
19135
+
var _sizeOfH3Index = Module["_sizeOfH3Index"] = asm["_sizeOfH3Index"];
19136
19136
+
var _sizeOfLatLng = Module["_sizeOfLatLng"] = asm["_sizeOfLatLng"];
19137
19137
+
var _sizeOfLinkedGeoPolygon = Module["_sizeOfLinkedGeoPolygon"] = asm["_sizeOfLinkedGeoPolygon"];
19138
19138
+
var _uncompactCells = Module["_uncompactCells"] = asm["_uncompactCells"];
19139
19139
+
var _uncompactCellsSize = Module["_uncompactCellsSize"] = asm["_uncompactCellsSize"];
19140
19140
+
var _vertexToLatLng = Module["_vertexToLatLng"] = asm["_vertexToLatLng"];
19141
19141
+
var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
19142
19142
+
var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
19143
19143
+
var stackRestore = Module["stackRestore"] = asm["stackRestore"];
19144
19144
+
var stackSave = Module["stackSave"] = asm["stackSave"];
19145
19145
+
Module["asm"] = asm;
19146
19146
+
Module["cwrap"] = cwrap;
19147
19147
+
Module["setValue"] = setValue2;
19148
19148
+
Module["getValue"] = getValue;
19149
19149
+
if (memoryInitializer) {
19150
19150
+
if (!isDataURI(memoryInitializer)) {
19151
19151
+
memoryInitializer = locateFile(memoryInitializer);
19152
19152
+
}
19153
19153
+
{
19154
19154
+
addRunDependency("memory initializer");
19155
19155
+
var applyMemoryInitializer = function(data) {
19156
19156
+
if (data.byteLength) {
19157
19157
+
data = new Uint8Array(data);
19158
19158
+
}
19159
19159
+
HEAPU8.set(data, GLOBAL_BASE);
19160
19160
+
if (Module["memoryInitializerRequest"]) {
19161
19161
+
delete Module["memoryInitializerRequest"].response;
19162
19162
+
}
19163
19163
+
removeRunDependency("memory initializer");
19164
19164
+
};
19165
19165
+
var doBrowserLoad = function() {
19166
19166
+
readAsync(memoryInitializer, applyMemoryInitializer, function() {
19167
19167
+
throw "could not load memory initializer " + memoryInitializer;
19168
19168
+
});
19169
19169
+
};
19170
19170
+
var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer);
19171
19171
+
if (memoryInitializerBytes) {
19172
19172
+
applyMemoryInitializer(memoryInitializerBytes.buffer);
19173
19173
+
} else if (Module["memoryInitializerRequest"]) {
19174
19174
+
var useRequest = function() {
19175
19175
+
var request = Module["memoryInitializerRequest"];
19176
19176
+
var response = request.response;
19177
19177
+
if (request.status !== 200 && request.status !== 0) {
19178
19178
+
var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]);
19179
19179
+
if (data) {
19180
19180
+
response = data.buffer;
19181
19181
+
} else {
19182
19182
+
console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer);
19183
19183
+
doBrowserLoad();
19184
19184
+
return;
19185
19185
+
}
19186
19186
+
}
19187
19187
+
applyMemoryInitializer(response);
19188
19188
+
};
19189
19189
+
if (Module["memoryInitializerRequest"].response) {
19190
19190
+
setTimeout(useRequest, 0);
19191
19191
+
} else {
19192
19192
+
Module["memoryInitializerRequest"].addEventListener("load", useRequest);
19193
19193
+
}
19194
19194
+
} else {
19195
19195
+
doBrowserLoad();
19196
19196
+
}
19197
19197
+
}
19198
19198
+
}
19199
19199
+
var calledRun;
19200
19200
+
dependenciesFulfilled = function runCaller() {
19201
19201
+
if (!calledRun) {
19202
19202
+
run2();
19203
19203
+
}
19204
19204
+
if (!calledRun) {
19205
19205
+
dependenciesFulfilled = runCaller;
19206
19206
+
}
19207
19207
+
};
19208
19208
+
function run2(args) {
19209
19209
+
args = args || arguments_;
19210
19210
+
if (runDependencies > 0) {
19211
19211
+
return;
19212
19212
+
}
19213
19213
+
preRun();
19214
19214
+
if (runDependencies > 0) {
19215
19215
+
return;
19216
19216
+
}
19217
19217
+
function doRun() {
19218
19218
+
if (calledRun) {
19219
19219
+
return;
19220
19220
+
}
19221
19221
+
calledRun = true;
19222
19222
+
if (ABORT) {
19223
19223
+
return;
19224
19224
+
}
19225
19225
+
initRuntime();
19226
19226
+
preMain();
19227
19227
+
if (Module["onRuntimeInitialized"]) {
19228
19228
+
Module["onRuntimeInitialized"]();
19229
19229
+
}
19230
19230
+
postRun();
19231
19231
+
}
19232
19232
+
if (Module["setStatus"]) {
19233
19233
+
Module["setStatus"]("Running...");
19234
19234
+
setTimeout(function() {
19235
19235
+
setTimeout(function() {
19236
19236
+
Module["setStatus"]("");
19237
19237
+
}, 1);
19238
19238
+
doRun();
19239
19239
+
}, 1);
19240
19240
+
} else {
19241
19241
+
doRun();
19242
19242
+
}
19243
19243
+
}
19244
19244
+
Module["run"] = run2;
19245
19245
+
function abort(what) {
19246
19246
+
if (Module["onAbort"]) {
19247
19247
+
Module["onAbort"](what);
19248
19248
+
}
19249
19249
+
what += "";
19250
19250
+
out(what);
19251
19251
+
err(what);
19252
19252
+
ABORT = true;
19253
19253
+
throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
19254
19254
+
}
19255
19255
+
Module["abort"] = abort;
19256
19256
+
if (Module["preInit"]) {
19257
19257
+
if (typeof Module["preInit"] == "function") {
19258
19258
+
Module["preInit"] = [Module["preInit"]];
19259
19259
+
}
19260
19260
+
while (Module["preInit"].length > 0) {
19261
19261
+
Module["preInit"].pop()();
19262
19262
+
}
19263
19263
+
}
19264
19264
+
run2();
19265
19265
+
return libh32;
19266
19266
+
}(typeof libh3 === "object" ? libh3 : {});
19267
19267
+
var NUMBER = "number";
19268
19268
+
var H3_ERROR = NUMBER;
19269
19269
+
var BOOLEAN = NUMBER;
19270
19270
+
var H3_LOWER = NUMBER;
19271
19271
+
var H3_UPPER = NUMBER;
19272
19272
+
var RESOLUTION = NUMBER;
19273
19273
+
var POINTER = NUMBER;
19274
19274
+
var BINDINGS = [
19275
19275
+
["sizeOfH3Index", NUMBER],
19276
19276
+
["sizeOfLatLng", NUMBER],
19277
19277
+
["sizeOfCellBoundary", NUMBER],
19278
19278
+
["sizeOfGeoLoop", NUMBER],
19279
19279
+
["sizeOfGeoPolygon", NUMBER],
19280
19280
+
["sizeOfLinkedGeoPolygon", NUMBER],
19281
19281
+
["sizeOfCoordIJ", NUMBER],
19282
19282
+
["readInt64AsDoubleFromPointer", NUMBER],
19283
19283
+
["isValidCell", BOOLEAN, [H3_LOWER, H3_UPPER]],
19284
19284
+
["latLngToCell", H3_ERROR, [NUMBER, NUMBER, RESOLUTION, POINTER]],
19285
19285
+
["cellToLatLng", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19286
19286
+
["cellToBoundary", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19287
19287
+
["maxGridDiskSize", H3_ERROR, [NUMBER, POINTER]],
19288
19288
+
["gridDisk", H3_ERROR, [H3_LOWER, H3_UPPER, NUMBER, POINTER]],
19289
19289
+
["gridDiskDistances", H3_ERROR, [H3_LOWER, H3_UPPER, NUMBER, POINTER, POINTER]],
19290
19290
+
["gridRing", H3_ERROR, [H3_LOWER, H3_UPPER, NUMBER, POINTER]],
19291
19291
+
["gridRingUnsafe", H3_ERROR, [H3_LOWER, H3_UPPER, NUMBER, POINTER]],
19292
19292
+
["maxPolygonToCellsSize", H3_ERROR, [POINTER, RESOLUTION, NUMBER, POINTER]],
19293
19293
+
["polygonToCells", H3_ERROR, [POINTER, RESOLUTION, NUMBER, POINTER]],
19294
19294
+
["maxPolygonToCellsSizeExperimental", H3_ERROR, [POINTER, RESOLUTION, NUMBER, POINTER]],
19295
19295
+
["polygonToCellsExperimental", H3_ERROR, [POINTER, RESOLUTION, NUMBER, NUMBER, NUMBER, POINTER]],
19296
19296
+
["cellsToLinkedMultiPolygon", H3_ERROR, [POINTER, NUMBER, POINTER]],
19297
19297
+
["destroyLinkedMultiPolygon", null, [POINTER]],
19298
19298
+
["compactCells", H3_ERROR, [POINTER, POINTER, NUMBER, NUMBER]],
19299
19299
+
["uncompactCells", H3_ERROR, [POINTER, NUMBER, NUMBER, POINTER, NUMBER, RESOLUTION]],
19300
19300
+
["uncompactCellsSize", H3_ERROR, [POINTER, NUMBER, NUMBER, RESOLUTION, POINTER]],
19301
19301
+
["isPentagon", BOOLEAN, [H3_LOWER, H3_UPPER]],
19302
19302
+
["isResClassIII", BOOLEAN, [H3_LOWER, H3_UPPER]],
19303
19303
+
["getBaseCellNumber", NUMBER, [H3_LOWER, H3_UPPER]],
19304
19304
+
["getResolution", NUMBER, [H3_LOWER, H3_UPPER]],
19305
19305
+
["maxFaceCount", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19306
19306
+
["getIcosahedronFaces", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19307
19307
+
["cellToParent", H3_ERROR, [H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19308
19308
+
["cellToChildren", H3_ERROR, [H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19309
19309
+
["cellToCenterChild", H3_ERROR, [H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19310
19310
+
["cellToChildrenSize", H3_ERROR, [H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19311
19311
+
["cellToChildPos", H3_ERROR, [H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19312
19312
+
["childPosToCell", H3_ERROR, [NUMBER, NUMBER, H3_LOWER, H3_UPPER, RESOLUTION, POINTER]],
19313
19313
+
["areNeighborCells", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, POINTER]],
19314
19314
+
["cellsToDirectedEdge", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, POINTER]],
19315
19315
+
["getDirectedEdgeOrigin", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19316
19316
+
["getDirectedEdgeDestination", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19317
19317
+
["isValidDirectedEdge", BOOLEAN, [H3_LOWER, H3_UPPER]],
19318
19318
+
["directedEdgeToCells", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19319
19319
+
["originToDirectedEdges", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19320
19320
+
["directedEdgeToBoundary", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19321
19321
+
["gridDistance", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, POINTER]],
19322
19322
+
["gridPathCells", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, POINTER]],
19323
19323
+
["gridPathCellsSize", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, POINTER]],
19324
19324
+
["cellToLocalIj", H3_ERROR, [H3_LOWER, H3_UPPER, H3_LOWER, H3_UPPER, NUMBER, POINTER]],
19325
19325
+
["localIjToCell", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER, NUMBER, POINTER]],
19326
19326
+
["getHexagonAreaAvgM2", H3_ERROR, [RESOLUTION, POINTER]],
19327
19327
+
["getHexagonAreaAvgKm2", H3_ERROR, [RESOLUTION, POINTER]],
19328
19328
+
["getHexagonEdgeLengthAvgM", H3_ERROR, [RESOLUTION, POINTER]],
19329
19329
+
["getHexagonEdgeLengthAvgKm", H3_ERROR, [RESOLUTION, POINTER]],
19330
19330
+
["greatCircleDistanceM", NUMBER, [POINTER, POINTER]],
19331
19331
+
["greatCircleDistanceKm", NUMBER, [POINTER, POINTER]],
19332
19332
+
["greatCircleDistanceRads", NUMBER, [POINTER, POINTER]],
19333
19333
+
["cellAreaM2", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19334
19334
+
["cellAreaKm2", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19335
19335
+
["cellAreaRads2", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19336
19336
+
["edgeLengthM", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19337
19337
+
["edgeLengthKm", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19338
19338
+
["edgeLengthRads", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19339
19339
+
["getNumCells", H3_ERROR, [RESOLUTION, POINTER]],
19340
19340
+
["getRes0Cells", H3_ERROR, [POINTER]],
19341
19341
+
["res0CellCount", NUMBER],
19342
19342
+
["getPentagons", H3_ERROR, [NUMBER, POINTER]],
19343
19343
+
["pentagonCount", NUMBER],
19344
19344
+
["cellToVertex", H3_ERROR, [H3_LOWER, H3_UPPER, NUMBER, POINTER]],
19345
19345
+
["cellToVertexes", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19346
19346
+
["vertexToLatLng", H3_ERROR, [H3_LOWER, H3_UPPER, POINTER]],
19347
19347
+
["isValidVertex", BOOLEAN, [H3_LOWER, H3_UPPER]]
19348
19348
+
];
19349
19349
+
var E_SUCCESS = 0;
19350
19350
+
var E_FAILED = 1;
19351
19351
+
var E_DOMAIN = 2;
19352
19352
+
var E_LATLNG_DOMAIN = 3;
19353
19353
+
var E_RES_DOMAIN = 4;
19354
19354
+
var E_CELL_INVALID = 5;
19355
19355
+
var E_DIR_EDGE_INVALID = 6;
19356
19356
+
var E_UNDIR_EDGE_INVALID = 7;
19357
19357
+
var E_VERTEX_INVALID = 8;
19358
19358
+
var E_PENTAGON = 9;
19359
19359
+
var E_DUPLICATE_INPUT = 10;
19360
19360
+
var E_NOT_NEIGHBORS = 11;
19361
19361
+
var E_RES_MISMATCH = 12;
19362
19362
+
var E_MEMORY_ALLOC = 13;
19363
19363
+
var E_MEMORY_BOUNDS = 14;
19364
19364
+
var E_OPTION_INVALID = 15;
19365
19365
+
var H3_ERROR_MSGS = {};
19366
19366
+
H3_ERROR_MSGS[E_SUCCESS] = "Success";
19367
19367
+
H3_ERROR_MSGS[E_FAILED] = "The operation failed but a more specific error is not available";
19368
19368
+
H3_ERROR_MSGS[E_DOMAIN] = "Argument was outside of acceptable range";
19369
19369
+
H3_ERROR_MSGS[E_LATLNG_DOMAIN] = "Latitude or longitude arguments were outside of acceptable range";
19370
19370
+
H3_ERROR_MSGS[E_RES_DOMAIN] = "Resolution argument was outside of acceptable range";
19371
19371
+
H3_ERROR_MSGS[E_CELL_INVALID] = "Cell argument was not valid";
19372
19372
+
H3_ERROR_MSGS[E_DIR_EDGE_INVALID] = "Directed edge argument was not valid";
19373
19373
+
H3_ERROR_MSGS[E_UNDIR_EDGE_INVALID] = "Undirected edge argument was not valid";
19374
19374
+
H3_ERROR_MSGS[E_VERTEX_INVALID] = "Vertex argument was not valid";
19375
19375
+
H3_ERROR_MSGS[E_PENTAGON] = "Pentagon distortion was encountered";
19376
19376
+
H3_ERROR_MSGS[E_DUPLICATE_INPUT] = "Duplicate input";
19377
19377
+
H3_ERROR_MSGS[E_NOT_NEIGHBORS] = "Cell arguments were not neighbors";
19378
19378
+
H3_ERROR_MSGS[E_RES_MISMATCH] = "Cell arguments had incompatible resolutions";
19379
19379
+
H3_ERROR_MSGS[E_MEMORY_ALLOC] = "Memory allocation failed";
19380
19380
+
H3_ERROR_MSGS[E_MEMORY_BOUNDS] = "Bounds of provided memory were insufficient";
19381
19381
+
H3_ERROR_MSGS[E_OPTION_INVALID] = "Mode or flags argument was not valid";
19382
19382
+
var E_UNKNOWN_UNIT = 1000;
19383
19383
+
var E_ARRAY_LENGTH = 1001;
19384
19384
+
var E_NULL_INDEX = 1002;
19385
19385
+
var JS_ERROR_MESSAGES = {};
19386
19386
+
JS_ERROR_MESSAGES[E_UNKNOWN_UNIT] = "Unknown unit";
19387
19387
+
JS_ERROR_MESSAGES[E_ARRAY_LENGTH] = "Array length out of bounds";
19388
19388
+
JS_ERROR_MESSAGES[E_NULL_INDEX] = "Got unexpected null value for H3 index";
19389
19389
+
var UNKNOWN_ERROR_MSG = "Unknown error";
19390
19390
+
function createError(messages, errCode, meta2) {
19391
19391
+
var hasValue = meta2 && "value" in meta2;
19392
19392
+
var err = new Error((messages[errCode] || UNKNOWN_ERROR_MSG) + " (code: " + errCode + (hasValue ? ", value: " + meta2.value : "") + ")");
19393
19393
+
err.code = errCode;
19394
19394
+
return err;
19395
19395
+
}
19396
19396
+
function H3LibraryError(errCode, value3) {
19397
19397
+
var meta2 = arguments.length === 2 ? {
19398
19398
+
value: value3
19399
19399
+
} : {};
19400
19400
+
return createError(H3_ERROR_MSGS, errCode, meta2);
19401
19401
+
}
19402
19402
+
function JSBindingError(errCode, value3) {
19403
19403
+
var meta2 = arguments.length === 2 ? {
19404
19404
+
value: value3
19405
19405
+
} : {};
19406
19406
+
return createError(JS_ERROR_MESSAGES, errCode, meta2);
19407
19407
+
}
19408
19408
+
function throwIfError(errCode) {
19409
19409
+
if (errCode !== 0) {
19410
19410
+
throw H3LibraryError(errCode);
19411
19411
+
}
19412
19412
+
}
19413
19413
+
var H3 = {};
19414
19414
+
BINDINGS.forEach(function bind(def) {
19415
19415
+
H3[def[0]] = libh3.cwrap.apply(libh3, def);
19416
19416
+
});
19417
19417
+
var BASE_16 = 16;
19418
19418
+
var SZ_INT = 4;
19419
19419
+
var SZ_DBL = 8;
19420
19420
+
var SZ_H3INDEX = H3.sizeOfH3Index();
19421
19421
+
var SZ_LATLNG = H3.sizeOfLatLng();
19422
19422
+
var SZ_CELLBOUNDARY = H3.sizeOfCellBoundary();
19423
19423
+
var SZ_GEOPOLYGON = H3.sizeOfGeoPolygon();
19424
19424
+
var SZ_GEOLOOP = H3.sizeOfGeoLoop();
19425
19425
+
var SZ_LINKED_GEOPOLYGON = H3.sizeOfLinkedGeoPolygon();
19426
19426
+
var SZ_COORDIJ = H3.sizeOfCoordIJ();
19427
19427
+
function validateH3Index(h3Index) {
19428
19428
+
if (!h3Index) {
19429
19429
+
throw JSBindingError(E_NULL_INDEX);
19430
19430
+
}
19431
19431
+
return h3Index;
19432
19432
+
}
19433
19433
+
var MAX_JS_ARRAY_LENGTH = Math.pow(2, 32) - 1;
19434
19434
+
function hexFrom32Bit(num) {
19435
19435
+
if (num >= 0) {
19436
19436
+
return num.toString(BASE_16);
19437
19437
+
}
19438
19438
+
num = num & 2147483647;
19439
19439
+
var tempStr = zeroPad(8, num.toString(BASE_16));
19440
19440
+
var topNum = (parseInt(tempStr[0], BASE_16) + 8).toString(BASE_16);
19441
19441
+
tempStr = topNum + tempStr.substring(1);
19442
19442
+
return tempStr;
19443
19443
+
}
19444
19444
+
function splitLongToH3Index(lower, upper) {
19445
19445
+
return hexFrom32Bit(upper) + zeroPad(8, hexFrom32Bit(lower));
19446
19446
+
}
19447
19447
+
function zeroPad(fullLen, numStr) {
19448
19448
+
var numZeroes = fullLen - numStr.length;
19449
19449
+
var outStr = "";
19450
19450
+
for (var i = 0;i < numZeroes; i++) {
19451
19451
+
outStr += "0";
19452
19452
+
}
19453
19453
+
outStr = outStr + numStr;
19454
19454
+
return outStr;
19455
19455
+
}
19456
19456
+
var UPPER_BIT_DIVISOR = Math.pow(2, 32);
19457
19457
+
function readH3IndexFromPointer(cAddress, offset) {
19458
19458
+
if (offset === undefined)
19459
19459
+
offset = 0;
19460
19460
+
var lower = libh3.getValue(cAddress + SZ_H3INDEX * offset, "i32");
19461
19461
+
var upper = libh3.getValue(cAddress + SZ_H3INDEX * offset + SZ_INT, "i32");
19462
19462
+
return upper ? splitLongToH3Index(lower, upper) : null;
19463
19463
+
}
19464
19464
+
function latLngToCell(lat, lng, res) {
19465
19465
+
var latLng = libh3._malloc(SZ_LATLNG);
19466
19466
+
libh3.HEAPF64.set([lat, lng].map(degsToRads), latLng / SZ_DBL);
19467
19467
+
var h3Index = libh3._malloc(SZ_H3INDEX);
19468
19468
+
try {
19469
19469
+
throwIfError(H3.latLngToCell(latLng, res, h3Index));
19470
19470
+
return validateH3Index(readH3IndexFromPointer(h3Index));
19471
19471
+
} finally {
19472
19472
+
libh3._free(h3Index);
19473
19473
+
libh3._free(latLng);
19474
19474
+
}
19475
19475
+
}
19476
19476
+
function degsToRads(deg) {
19477
19477
+
return deg * Math.PI / 180;
19478
19478
+
}
19479
19479
+
5314
19480
// build/dev/javascript/client/client_ffi.mjs
19481
19481
+
function toList2(array3) {
19482
19482
+
let list4 = new Empty;
19483
19483
+
for (let i = array3.length - 1;i >= 0; i--) {
19484
19484
+
list4 = new NonEmpty(array3[i], list4);
19485
19485
+
}
19486
19486
+
return list4;
19487
19487
+
}
5315
19488
function fetchUrl(url) {
5316
19489
return fetch(url).then((response) => {
5317
19490
return response.text().then((text4) => {
5318
19491
return new Ok([response.status, text4]);
5319
19492
});
5320
19493
}).catch((error) => {
5321
5321
-
return new Error(error.message || "Network error");
19494
19494
+
return new Error2(error.message || "Network error");
5322
19495
});
5323
19496
}
19497
19497
+
function searchLocations(query) {
19498
19498
+
if (!query || query.trim().length < 2) {
19499
19499
+
return Promise.resolve(new Ok(toList2([])));
19500
19500
+
}
19501
19501
+
const url = new URL("https://nominatim.openstreetmap.org/search");
19502
19502
+
url.searchParams.set("format", "json");
19503
19503
+
url.searchParams.set("q", query.trim());
19504
19504
+
url.searchParams.set("limit", "5");
19505
19505
+
url.searchParams.set("addressdetails", "1");
19506
19506
+
return fetch(url.toString(), {
19507
19507
+
headers: {
19508
19508
+
"User-Agent": "lustre-fullstack-app/1.0"
19509
19509
+
}
19510
19510
+
}).then((response) => {
19511
19511
+
if (!response.ok) {
19512
19512
+
throw new Error2(`Nominatim API error: ${response.statusText}`);
19513
19513
+
}
19514
19514
+
return response.json();
19515
19515
+
}).then((results) => {
19516
19516
+
return new Ok(toList2(results));
19517
19517
+
}).catch((error) => {
19518
19518
+
console.error("Error fetching locations from Nominatim:", error);
19519
19519
+
return new Error2(error.message || "Failed to fetch locations");
19520
19520
+
});
19521
19521
+
}
19522
19522
+
function latLonToH3(lat, lon, resolution = 5) {
19523
19523
+
return latLngToCell(lat, lon, resolution);
19524
19524
+
}
19525
19525
+
var debounceTimer = null;
19526
19526
+
function debounce(callback, delay) {
19527
19527
+
if (debounceTimer !== null) {
19528
19528
+
clearTimeout(debounceTimer);
19529
19529
+
}
19530
19530
+
debounceTimer = setTimeout(() => {
19531
19531
+
callback();
19532
19532
+
debounceTimer = null;
19533
19533
+
}, delay);
19534
19534
+
return () => {
19535
19535
+
if (debounceTimer !== null) {
19536
19536
+
clearTimeout(debounceTimer);
19537
19537
+
debounceTimer = null;
19538
19538
+
}
19539
19539
+
};
19540
19540
+
}
5324
19541
5325
19542
// build/dev/javascript/client/pages/home.mjs
5326
19543
function view2() {
···
5370
19587
let char = $[0];
5371
19588
return new Ok(uppercase(char));
5372
19589
} else {
5373
5373
-
return new Error(undefined);
19590
19590
+
return new Error2(undefined);
5374
19591
}
5375
19592
});
5376
19593
let _pipe$3 = take(_pipe$2, 2);
···
5389
19606
}
5390
19607
}
5391
19608
5392
5392
-
// build/dev/javascript/client/ui/button.mjs
5393
5393
-
class Default extends CustomType {
5394
5394
-
}
5395
5395
-
class Primary extends CustomType {
5396
5396
-
}
5397
5397
-
class Link extends CustomType {
5398
5398
-
}
5399
5399
-
class Sm2 extends CustomType {
5400
5400
-
}
5401
5401
-
class Md2 extends CustomType {
5402
5402
-
}
5403
5403
-
function button2(attributes, variant, size2, children) {
5404
5404
-
let _block;
5405
5405
-
if (size2 instanceof Sm2) {
5406
5406
-
_block = "px-3 py-1.5 text-xs";
5407
5407
-
} else if (size2 instanceof Md2) {
5408
5408
-
_block = "px-4 py-2 text-sm";
5409
5409
-
} else {
5410
5410
-
_block = "px-6 py-3 text-base";
5411
5411
-
}
5412
5412
-
let size_classes = _block;
5413
5413
-
let _block$1;
5414
5414
-
if (variant instanceof Default) {
5415
5415
-
_block$1 = "text-zinc-400 border border-zinc-800 hover:border-zinc-700 hover:text-zinc-300 rounded";
5416
5416
-
} else if (variant instanceof Primary) {
5417
5417
-
_block$1 = "text-zinc-300 bg-zinc-800 hover:bg-zinc-700 rounded";
5418
5418
-
} else if (variant instanceof Link) {
5419
5419
-
_block$1 = "text-zinc-500 hover:text-zinc-300 px-2 py-1";
5420
5420
-
} else {
5421
5421
-
_block$1 = "bg-red-900 text-red-100 border border-red-800 hover:bg-red-800 hover:border-red-700 rounded";
5422
5422
-
}
5423
5423
-
let variant_classes = _block$1;
5424
5424
-
let base_classes = size_classes + " " + variant_classes + " transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed";
5425
5425
-
return button(prepend(class$(base_classes), attributes), children);
5426
5426
-
}
5427
5427
-
5428
19609
// build/dev/javascript/client/pages/profile.mjs
5429
19610
function view3(p2) {
5430
19611
return div(toList([class$("space-y-8")]), toList([
···
5452
19633
}
5453
19634
})()
5454
19635
])),
5455
5455
-
button2(toList([]), new Default, new Md2, toList([text3("Edit Profile")]))
19636
19636
+
a(toList([
19637
19637
+
href("/profile/" + unwrap(p2.handle, p2.did) + "/edit"),
19638
19638
+
class$("px-4 py-2 text-sm text-zinc-400 border border-zinc-800 hover:border-zinc-700 hover:text-zinc-300 rounded transition-colors cursor-pointer")
19639
19639
+
]), toList([text3("Edit Profile")]))
5456
19640
])),
5457
19641
div(toList([class$("space-y-6 pt-6 border-t border-zinc-800")]), toList([
5458
19642
(() => {
···
5495
19679
]));
5496
19680
}
5497
19681
19682
19682
+
// build/dev/javascript/lustre/lustre/event.mjs
19683
19683
+
function is_immediate_event(name) {
19684
19684
+
if (name === "input") {
19685
19685
+
return true;
19686
19686
+
} else if (name === "change") {
19687
19687
+
return true;
19688
19688
+
} else if (name === "focus") {
19689
19689
+
return true;
19690
19690
+
} else if (name === "focusin") {
19691
19691
+
return true;
19692
19692
+
} else if (name === "focusout") {
19693
19693
+
return true;
19694
19694
+
} else if (name === "blur") {
19695
19695
+
return true;
19696
19696
+
} else if (name === "select") {
19697
19697
+
return true;
19698
19698
+
} else {
19699
19699
+
return false;
19700
19700
+
}
19701
19701
+
}
19702
19702
+
function on(name, handler) {
19703
19703
+
return event(name, map2(handler, (msg) => {
19704
19704
+
return new Handler(false, false, msg);
19705
19705
+
}), empty_list, never, never, is_immediate_event(name), 0, 0);
19706
19706
+
}
19707
19707
+
function prevent_default(event4) {
19708
19708
+
if (event4 instanceof Event2) {
19709
19709
+
return new Event2(event4.kind, event4.name, event4.handler, event4.include, always, event4.stop_propagation, event4.immediate, event4.debounce, event4.throttle);
19710
19710
+
} else {
19711
19711
+
return event4;
19712
19712
+
}
19713
19713
+
}
19714
19714
+
function on_click(msg) {
19715
19715
+
return on("click", success(msg));
19716
19716
+
}
19717
19717
+
function on_input(msg) {
19718
19718
+
return on("input", subfield(toList(["target", "value"]), string2, (value3) => {
19719
19719
+
return success(msg(value3));
19720
19720
+
}));
19721
19721
+
}
19722
19722
+
function formdata_decoder() {
19723
19723
+
let string_value_decoder = field(0, string2, (key2) => {
19724
19724
+
return field(1, one_of(map2(string2, (var0) => {
19725
19725
+
return new Ok(var0);
19726
19726
+
}), toList([success(new Error2(undefined))])), (value3) => {
19727
19727
+
let _pipe2 = value3;
19728
19728
+
let _pipe$12 = map4(_pipe2, (_capture) => {
19729
19729
+
return new$7(key2, _capture);
19730
19730
+
});
19731
19731
+
return success(_pipe$12);
19732
19732
+
});
19733
19733
+
});
19734
19734
+
let _pipe = string_value_decoder;
19735
19735
+
let _pipe$1 = list2(_pipe);
19736
19736
+
return map2(_pipe$1, values2);
19737
19737
+
}
19738
19738
+
function on_submit(msg) {
19739
19739
+
let _pipe = on("submit", subfield(toList(["detail", "formData"]), formdata_decoder(), (formdata) => {
19740
19740
+
let _pipe2 = formdata;
19741
19741
+
let _pipe$1 = msg(_pipe2);
19742
19742
+
return success(_pipe$1);
19743
19743
+
}));
19744
19744
+
return prevent_default(_pipe);
19745
19745
+
}
19746
19746
+
function on_focus(msg) {
19747
19747
+
return on("focus", success(msg));
19748
19748
+
}
19749
19749
+
function on_blur(msg) {
19750
19750
+
return on("blur", success(msg));
19751
19751
+
}
19752
19752
+
19753
19753
+
// build/dev/javascript/client/ui/button.mjs
19754
19754
+
class Default extends CustomType {
19755
19755
+
}
19756
19756
+
class Primary extends CustomType {
19757
19757
+
}
19758
19758
+
class Link extends CustomType {
19759
19759
+
}
19760
19760
+
class Sm2 extends CustomType {
19761
19761
+
}
19762
19762
+
class Md2 extends CustomType {
19763
19763
+
}
19764
19764
+
function button2(attributes, variant, size2, children) {
19765
19765
+
let _block;
19766
19766
+
if (size2 instanceof Sm2) {
19767
19767
+
_block = "px-3 py-1.5 text-xs";
19768
19768
+
} else if (size2 instanceof Md2) {
19769
19769
+
_block = "px-4 py-2 text-sm";
19770
19770
+
} else {
19771
19771
+
_block = "px-6 py-3 text-base";
19772
19772
+
}
19773
19773
+
let size_classes = _block;
19774
19774
+
let _block$1;
19775
19775
+
if (variant instanceof Default) {
19776
19776
+
_block$1 = "text-zinc-400 border border-zinc-800 hover:border-zinc-700 hover:text-zinc-300 rounded";
19777
19777
+
} else if (variant instanceof Primary) {
19778
19778
+
_block$1 = "text-zinc-300 bg-zinc-800 hover:bg-zinc-700 rounded";
19779
19779
+
} else if (variant instanceof Link) {
19780
19780
+
_block$1 = "text-zinc-500 hover:text-zinc-300 px-2 py-1";
19781
19781
+
} else {
19782
19782
+
_block$1 = "bg-red-900 text-red-100 border border-red-800 hover:bg-red-800 hover:border-red-700 rounded";
19783
19783
+
}
19784
19784
+
let variant_classes = _block$1;
19785
19785
+
let base_classes = size_classes + " " + variant_classes + " transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed";
19786
19786
+
return button(prepend(class$(base_classes), attributes), children);
19787
19787
+
}
19788
19788
+
19789
19789
+
// build/dev/javascript/client/ui/input.mjs
19790
19790
+
function input2(attributes) {
19791
19791
+
let classes = "w-full px-3 py-2 bg-zinc-900 border border-zinc-800 rounded text-sm text-zinc-300 focus:outline-none focus:border-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed";
19792
19792
+
return input(prepend(class$(classes), attributes));
19793
19793
+
}
19794
19794
+
19795
19795
+
// build/dev/javascript/client/utils/location.mjs
19796
19796
+
class NominatimResult extends CustomType {
19797
19797
+
constructor(display_name, lat, lon, place_id, address) {
19798
19798
+
super();
19799
19799
+
this.display_name = display_name;
19800
19800
+
this.lat = lat;
19801
19801
+
this.lon = lon;
19802
19802
+
this.place_id = place_id;
19803
19803
+
this.address = address;
19804
19804
+
}
19805
19805
+
}
19806
19806
+
class NominatimAddress extends CustomType {
19807
19807
+
constructor(city, state, country) {
19808
19808
+
super();
19809
19809
+
this.city = city;
19810
19810
+
this.state = state;
19811
19811
+
this.country = country;
19812
19812
+
}
19813
19813
+
}
19814
19814
+
class LocationData extends CustomType {
19815
19815
+
constructor(name, lat, lon, h3_index) {
19816
19816
+
super();
19817
19817
+
this.name = name;
19818
19818
+
this.lat = lat;
19819
19819
+
this.lon = lon;
19820
19820
+
this.h3_index = h3_index;
19821
19821
+
}
19822
19822
+
}
19823
19823
+
function nominatim_address_decoder() {
19824
19824
+
return field("city", optional(string2), (city) => {
19825
19825
+
return field("state", optional(string2), (state) => {
19826
19826
+
return field("country", optional(string2), (country) => {
19827
19827
+
return success(new NominatimAddress(unwrap(city, ""), unwrap(state, ""), unwrap(country, "")));
19828
19828
+
});
19829
19829
+
});
19830
19830
+
});
19831
19831
+
}
19832
19832
+
function nominatim_result_decoder() {
19833
19833
+
return field("display_name", string2, (display_name) => {
19834
19834
+
return field("lat", string2, (lat) => {
19835
19835
+
return field("lon", string2, (lon) => {
19836
19836
+
return field("place_id", int2, (place_id) => {
19837
19837
+
return field("address", nominatim_address_decoder(), (address) => {
19838
19838
+
return success(new NominatimResult(display_name, lat, lon, place_id, address));
19839
19839
+
});
19840
19840
+
});
19841
19841
+
});
19842
19842
+
});
19843
19843
+
});
19844
19844
+
}
19845
19845
+
19846
19846
+
// build/dev/javascript/client/ui/location_input.mjs
19847
19847
+
class Model extends CustomType {
19848
19848
+
constructor(input_value, selected_location, suggestions, is_loading, show_dropdown) {
19849
19849
+
super();
19850
19850
+
this.input_value = input_value;
19851
19851
+
this.selected_location = selected_location;
19852
19852
+
this.suggestions = suggestions;
19853
19853
+
this.is_loading = is_loading;
19854
19854
+
this.show_dropdown = show_dropdown;
19855
19855
+
}
19856
19856
+
}
19857
19857
+
class UserTypedQuery extends CustomType {
19858
19858
+
constructor($0) {
19859
19859
+
super();
19860
19860
+
this[0] = $0;
19861
19861
+
}
19862
19862
+
}
19863
19863
+
class UserClickedSuggestion extends CustomType {
19864
19864
+
constructor($0) {
19865
19865
+
super();
19866
19866
+
this[0] = $0;
19867
19867
+
}
19868
19868
+
}
19869
19869
+
class UserFocusedInput extends CustomType {
19870
19870
+
}
19871
19871
+
class UserBlurredInput extends CustomType {
19872
19872
+
}
19873
19873
+
class GotSearchResults extends CustomType {
19874
19874
+
constructor($0) {
19875
19875
+
super();
19876
19876
+
this[0] = $0;
19877
19877
+
}
19878
19878
+
}
19879
19879
+
function init2(initial_value) {
19880
19880
+
return new Model((() => {
19881
19881
+
if (initial_value instanceof Some) {
19882
19882
+
let loc = initial_value[0];
19883
19883
+
return loc.name;
19884
19884
+
} else {
19885
19885
+
return "";
19886
19886
+
}
19887
19887
+
})(), initial_value, toList([]), false, false);
19888
19888
+
}
19889
19889
+
function debounced_search_effect(query) {
19890
19890
+
return from((dispatch) => {
19891
19891
+
debounce(() => {
19892
19892
+
let _pipe = searchLocations(query);
19893
19893
+
let _pipe$1 = map_promise(_pipe, (result) => {
19894
19894
+
if (result instanceof Ok) {
19895
19895
+
let dynamic_list = result[0];
19896
19896
+
let decoded_results = filter_map(dynamic_list, (dyn) => {
19897
19897
+
return run(dyn, nominatim_result_decoder());
19898
19898
+
});
19899
19899
+
return dispatch(new GotSearchResults(new Ok(decoded_results)));
19900
19900
+
} else {
19901
19901
+
let err = result[0];
19902
19902
+
return dispatch(new GotSearchResults(new Error2(err)));
19903
19903
+
}
19904
19904
+
});
19905
19905
+
then_await(_pipe$1, (_) => {
19906
19906
+
return resolve(undefined);
19907
19907
+
});
19908
19908
+
return;
19909
19909
+
}, 300);
19910
19910
+
return;
19911
19911
+
});
19912
19912
+
}
19913
19913
+
function format_location_name(result) {
19914
19914
+
let parts = toList([]);
19915
19915
+
let _block;
19916
19916
+
let $ = result.address.city;
19917
19917
+
if ($ === "") {
19918
19918
+
_block = parts;
19919
19919
+
} else {
19920
19920
+
let city = $;
19921
19921
+
_block = append(parts, toList([city]));
19922
19922
+
}
19923
19923
+
let parts$1 = _block;
19924
19924
+
let _block$1;
19925
19925
+
let $1 = result.address.state;
19926
19926
+
if ($1 === "") {
19927
19927
+
_block$1 = parts$1;
19928
19928
+
} else {
19929
19929
+
let state = $1;
19930
19930
+
_block$1 = append(parts$1, toList([state]));
19931
19931
+
}
19932
19932
+
let parts$2 = _block$1;
19933
19933
+
let _block$2;
19934
19934
+
let $2 = result.address.country;
19935
19935
+
if ($2 === "") {
19936
19936
+
_block$2 = parts$2;
19937
19937
+
} else {
19938
19938
+
let country = $2;
19939
19939
+
_block$2 = append(parts$2, toList([country]));
19940
19940
+
}
19941
19941
+
let parts$3 = _block$2;
19942
19942
+
if (parts$3 instanceof Empty) {
19943
19943
+
return result.display_name;
19944
19944
+
} else {
19945
19945
+
return join(parts$3, ", ");
19946
19946
+
}
19947
19947
+
}
19948
19948
+
function update2(model, msg) {
19949
19949
+
if (msg instanceof UserTypedQuery) {
19950
19950
+
let query = msg[0];
19951
19951
+
let model$1 = new Model(query, model.selected_location, model.suggestions, model.is_loading, model.show_dropdown);
19952
19952
+
let $ = string_length(query) >= 2;
19953
19953
+
if ($) {
19954
19954
+
let model$2 = new Model(model$1.input_value, model$1.selected_location, model$1.suggestions, true, true);
19955
19955
+
return [model$2, debounced_search_effect(query)];
19956
19956
+
} else {
19957
19957
+
return [
19958
19958
+
new Model(model$1.input_value, new None, toList([]), model$1.is_loading, false),
19959
19959
+
none()
19960
19960
+
];
19961
19961
+
}
19962
19962
+
} else if (msg instanceof UserClickedSuggestion) {
19963
19963
+
let result = msg[0];
19964
19964
+
let _block;
19965
19965
+
let $ = parse_float(result.lat);
19966
19966
+
if ($ instanceof Ok) {
19967
19967
+
let v = $[0];
19968
19968
+
_block = v;
19969
19969
+
} else {
19970
19970
+
_block = 0;
19971
19971
+
}
19972
19972
+
let lat = _block;
19973
19973
+
let _block$1;
19974
19974
+
let $1 = parse_float(result.lon);
19975
19975
+
if ($1 instanceof Ok) {
19976
19976
+
let v = $1[0];
19977
19977
+
_block$1 = v;
19978
19978
+
} else {
19979
19979
+
_block$1 = 0;
19980
19980
+
}
19981
19981
+
let lon = _block$1;
19982
19982
+
let h3_index = latLonToH3(lat, lon);
19983
19983
+
let formatted_name = format_location_name(result);
19984
19984
+
let location_data = new LocationData(formatted_name, lat, lon, h3_index);
19985
19985
+
return [
19986
19986
+
new Model(formatted_name, new Some(location_data), toList([]), model.is_loading, false),
19987
19987
+
none()
19988
19988
+
];
19989
19989
+
} else if (msg instanceof UserFocusedInput) {
19990
19990
+
let $ = string_length(model.input_value) >= 2;
19991
19991
+
if ($) {
19992
19992
+
let model$1 = new Model(model.input_value, model.selected_location, model.suggestions, true, true);
19993
19993
+
return [model$1, debounced_search_effect(model$1.input_value)];
19994
19994
+
} else {
19995
19995
+
return [model, none()];
19996
19996
+
}
19997
19997
+
} else if (msg instanceof UserBlurredInput) {
19998
19998
+
return [model, none()];
19999
19999
+
} else {
20000
20000
+
let result = msg[0];
20001
20001
+
if (result instanceof Ok) {
20002
20002
+
let results = result[0];
20003
20003
+
return [
20004
20004
+
new Model(model.input_value, model.selected_location, results, false, !isEqual(results, toList([]))),
20005
20005
+
none()
20006
20006
+
];
20007
20007
+
} else {
20008
20008
+
return [
20009
20009
+
new Model(model.input_value, model.selected_location, toList([]), false, model.show_dropdown),
20010
20010
+
none()
20011
20011
+
];
20012
20012
+
}
20013
20013
+
}
20014
20014
+
}
20015
20015
+
function input_element(value3, placeholder2, _) {
20016
20016
+
return input(toList([
20017
20017
+
type_("text"),
20018
20018
+
value(value3),
20019
20019
+
placeholder(placeholder2),
20020
20020
+
class$("w-full px-3 py-2 pr-10 bg-zinc-900 border border-zinc-800 rounded text-sm text-zinc-300 focus:outline-none focus:border-zinc-700"),
20021
20021
+
on_input((var0) => {
20022
20022
+
return new UserTypedQuery(var0);
20023
20023
+
}),
20024
20024
+
on_focus(new UserFocusedInput),
20025
20025
+
on_blur(new UserBlurredInput)
20026
20026
+
]));
20027
20027
+
}
20028
20028
+
function icon_element() {
20029
20029
+
return div(toList([
20030
20030
+
class$("absolute right-3 top-1/2 -translate-y-1/2 text-zinc-500")
20031
20031
+
]), toList([text3("\uD83D\uDCCD")]));
20032
20032
+
}
20033
20033
+
function suggestion_item(result) {
20034
20034
+
return button(toList([
20035
20035
+
type_("button"),
20036
20036
+
class$("w-full px-4 py-3 text-left hover:bg-zinc-800 transition-colors border-b border-zinc-800 last:border-b-0"),
20037
20037
+
on_click(new UserClickedSuggestion(result))
20038
20038
+
]), toList([
20039
20039
+
div(toList([class$("flex items-start gap-2")]), toList([
20040
20040
+
div(toList([class$("text-zinc-500 mt-1 flex-shrink-0")]), toList([text3("\uD83D\uDCCD")])),
20041
20041
+
div(toList([class$("text-sm text-zinc-300")]), toList([text3(format_location_name(result))]))
20042
20042
+
]))
20043
20043
+
]));
20044
20044
+
}
20045
20045
+
function dropdown_element(show, suggestions) {
20046
20046
+
let $ = show && !isEqual(suggestions, toList([]));
20047
20047
+
if ($) {
20048
20048
+
return div(toList([
20049
20049
+
class$("absolute z-50 w-full mt-1 bg-zinc-900 border border-zinc-800 rounded-lg shadow-lg max-h-60 overflow-y-auto")
20050
20050
+
]), map(suggestions, suggestion_item));
20051
20051
+
} else {
20052
20052
+
return none2();
20053
20053
+
}
20054
20054
+
}
20055
20055
+
function view4(model, placeholder2) {
20056
20056
+
return div(toList([class$("relative")]), toList([
20057
20057
+
div(toList([class$("relative")]), toList([
20058
20058
+
input_element(model.input_value, placeholder2, model.is_loading),
20059
20059
+
icon_element()
20060
20060
+
])),
20061
20061
+
dropdown_element(model.show_dropdown, model.suggestions)
20062
20062
+
]));
20063
20063
+
}
20064
20064
+
20065
20065
+
// build/dev/javascript/client/ui/textarea.mjs
20066
20066
+
function textarea2(attributes, value3) {
20067
20067
+
let classes = "w-full px-3 py-2 bg-zinc-900 border border-zinc-800 rounded text-sm text-zinc-300 focus:outline-none focus:border-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed resize-y min-h-[100px]";
20068
20068
+
return textarea(prepend(class$(classes), attributes), value3);
20069
20069
+
}
20070
20070
+
20071
20071
+
// build/dev/javascript/client/pages/profile_edit.mjs
20072
20072
+
class DisplayNameUpdated extends CustomType {
20073
20073
+
constructor($0) {
20074
20074
+
super();
20075
20075
+
this[0] = $0;
20076
20076
+
}
20077
20077
+
}
20078
20078
+
class DescriptionUpdated extends CustomType {
20079
20079
+
constructor($0) {
20080
20080
+
super();
20081
20081
+
this[0] = $0;
20082
20082
+
}
20083
20083
+
}
20084
20084
+
class InterestsUpdated extends CustomType {
20085
20085
+
constructor($0) {
20086
20086
+
super();
20087
20087
+
this[0] = $0;
20088
20088
+
}
20089
20089
+
}
20090
20090
+
class AvatarFileSelected extends CustomType {
20091
20091
+
constructor($0) {
20092
20092
+
super();
20093
20093
+
this[0] = $0;
20094
20094
+
}
20095
20095
+
}
20096
20096
+
class LocationInputMsg extends CustomType {
20097
20097
+
constructor($0) {
20098
20098
+
super();
20099
20099
+
this[0] = $0;
20100
20100
+
}
20101
20101
+
}
20102
20102
+
class FormSubmitted extends CustomType {
20103
20103
+
}
20104
20104
+
class CancelClicked extends CustomType {
20105
20105
+
}
20106
20106
+
class FormData2 extends CustomType {
20107
20107
+
constructor(display_name, description, location_input, interests, avatar_preview_url) {
20108
20108
+
super();
20109
20109
+
this.display_name = display_name;
20110
20110
+
this.description = description;
20111
20111
+
this.location_input = location_input;
20112
20112
+
this.interests = interests;
20113
20113
+
this.avatar_preview_url = avatar_preview_url;
20114
20114
+
}
20115
20115
+
}
20116
20116
+
function init_form_data(profile) {
20117
20117
+
if (profile instanceof Some) {
20118
20118
+
let p2 = profile[0];
20119
20119
+
let _block;
20120
20120
+
let $ = p2.interests;
20121
20121
+
if ($ instanceof Some) {
20122
20122
+
let list4 = $[0];
20123
20123
+
_block = join(list4, ", ");
20124
20124
+
} else {
20125
20125
+
_block = "";
20126
20126
+
}
20127
20127
+
let interests_str = _block;
20128
20128
+
let _block$1;
20129
20129
+
let $1 = p2.home_town;
20130
20130
+
if ($1 instanceof Some) {
20131
20131
+
_block$1 = new None;
20132
20132
+
} else {
20133
20133
+
_block$1 = $1;
20134
20134
+
}
20135
20135
+
let location_data = _block$1;
20136
20136
+
return new FormData2(unwrap(p2.display_name, ""), unwrap(p2.description, ""), init2(location_data), interests_str, p2.avatar_url);
20137
20137
+
} else {
20138
20138
+
return new FormData2("", "", init2(new None), "", new None);
20139
20139
+
}
20140
20140
+
}
20141
20141
+
function view5(profile, form_data, handle2, on_msg) {
20142
20142
+
return div(toList([class$("space-y-8")]), toList([
20143
20143
+
div(toList([class$("border-b border-zinc-800 pb-6")]), toList([
20144
20144
+
button(toList([
20145
20145
+
class$("inline-flex items-center gap-2 text-zinc-400 hover:text-zinc-200 transition-colors mb-4"),
20146
20146
+
on_click(on_msg(new CancelClicked))
20147
20147
+
]), toList([text3("← Back to Profile")])),
20148
20148
+
h2(toList([class$("text-3xl font-bold text-white mb-2")]), toList([text3("Profile Settings")])),
20149
20149
+
p(toList([class$("text-zinc-500 text-sm")]), toList([text3("@" + handle2)]))
20150
20150
+
])),
20151
20151
+
form(toList([
20152
20152
+
class$("space-y-6"),
20153
20153
+
on_submit((_) => {
20154
20154
+
return on_msg(new FormSubmitted);
20155
20155
+
})
20156
20156
+
]), toList([
20157
20157
+
div(toList([
20158
20158
+
class$("bg-zinc-900 border border-zinc-800 rounded-lg p-6 space-y-6")
20159
20159
+
]), toList([
20160
20160
+
div(toList([class$("space-y-2")]), toList([
20161
20161
+
label(toList([class$("text-sm font-medium text-white")]), toList([text3("Avatar")])),
20162
20162
+
div(toList([class$("flex items-center gap-4")]), toList([
20163
20163
+
avatar(form_data.avatar_preview_url, unwrap((() => {
20164
20164
+
let _pipe = profile;
20165
20165
+
return then$(_pipe, (p2) => {
20166
20166
+
return p2.display_name;
20167
20167
+
});
20168
20168
+
})(), handle2), new Lg),
20169
20169
+
label(toList([
20170
20170
+
attribute2("for", "avatar-upload"),
20171
20171
+
class$("cursor-pointer px-4 py-2 bg-zinc-800 hover:bg-zinc-700 text-zinc-300 rounded text-sm transition-colors")
20172
20172
+
]), toList([text3("Change Avatar")])),
20173
20173
+
input(toList([
20174
20174
+
type_("file"),
20175
20175
+
id("avatar-upload"),
20176
20176
+
accept(toList(["image/*"])),
20177
20177
+
class$("hidden")
20178
20178
+
]))
20179
20179
+
]))
20180
20180
+
])),
20181
20181
+
div(toList([class$("space-y-2")]), toList([
20182
20182
+
label(toList([class$("text-sm font-medium text-white")]), toList([text3("Display Name")])),
20183
20183
+
input2(toList([
20184
20184
+
type_("text"),
20185
20185
+
placeholder("Your display name"),
20186
20186
+
value(form_data.display_name),
20187
20187
+
on_input((value3) => {
20188
20188
+
return on_msg(new DisplayNameUpdated(value3));
20189
20189
+
})
20190
20190
+
]))
20191
20191
+
])),
20192
20192
+
div(toList([class$("space-y-2")]), toList([
20193
20193
+
label(toList([class$("text-sm font-medium text-white")]), toList([text3("Description")])),
20194
20194
+
textarea2(toList([
20195
20195
+
placeholder("Tell us about yourself..."),
20196
20196
+
on_input((value3) => {
20197
20197
+
return on_msg(new DescriptionUpdated(value3));
20198
20198
+
})
20199
20199
+
]), form_data.description)
20200
20200
+
])),
20201
20201
+
div(toList([class$("space-y-2")]), toList([
20202
20202
+
label(toList([class$("text-sm font-medium text-white")]), toList([text3("Home Town")])),
20203
20203
+
(() => {
20204
20204
+
let _pipe = view4(form_data.location_input, "Search for your hometown...");
20205
20205
+
return map6(_pipe, (msg) => {
20206
20206
+
return on_msg(new LocationInputMsg(msg));
20207
20207
+
});
20208
20208
+
})()
20209
20209
+
])),
20210
20210
+
div(toList([class$("space-y-2")]), toList([
20211
20211
+
label(toList([class$("text-sm font-medium text-white")]), toList([text3("Interests")])),
20212
20212
+
p(toList([class$("text-xs text-zinc-400")]), toList([
20213
20213
+
text3("Enter your interests, separated by commas")
20214
20214
+
])),
20215
20215
+
input2(toList([
20216
20216
+
type_("text"),
20217
20217
+
placeholder("e.g., web development, photography, hiking"),
20218
20218
+
value(form_data.interests),
20219
20219
+
on_input((value3) => {
20220
20220
+
return on_msg(new InterestsUpdated(value3));
20221
20221
+
})
20222
20222
+
]))
20223
20223
+
]))
20224
20224
+
])),
20225
20225
+
div(toList([class$("flex justify-end gap-3")]), toList([
20226
20226
+
button2(toList([
20227
20227
+
type_("button"),
20228
20228
+
on_click(on_msg(new CancelClicked))
20229
20229
+
]), new Default, new Md2, toList([text3("Cancel")])),
20230
20230
+
button2(toList([type_("submit")]), new Primary, new Md2, toList([text3("Save Changes")]))
20231
20231
+
]))
20232
20232
+
]))
20233
20233
+
]));
20234
20234
+
}
20235
20235
+
5498
20236
// build/dev/javascript/client/ui/layout.mjs
5499
20237
class User extends CustomType {
5500
20238
constructor(name, handle2) {
···
5571
20309
this.handle = handle2;
5572
20310
}
5573
20311
}
20312
20312
+
class ProfileEdit extends CustomType {
20313
20313
+
constructor(handle2) {
20314
20314
+
super();
20315
20315
+
this.handle = handle2;
20316
20316
+
}
20317
20317
+
}
5574
20318
class NotFound extends CustomType {
5575
20319
constructor(uri) {
5576
20320
super();
···
5593
20337
this.error = error;
5594
20338
}
5595
20339
}
5596
5596
-
class Model extends CustomType {
5597
5597
-
constructor(route, profile_state) {
20340
20340
+
class Model2 extends CustomType {
20341
20341
+
constructor(route, profile_state, edit_form_data) {
5598
20342
super();
5599
20343
this.route = route;
5600
20344
this.profile_state = profile_state;
20345
20345
+
this.edit_form_data = edit_form_data;
5601
20346
}
5602
20347
}
5603
20348
···
5609
20354
}
5610
20355
5611
20356
class ProfileFetched extends CustomType {
20357
20357
+
constructor($0) {
20358
20358
+
super();
20359
20359
+
this[0] = $0;
20360
20360
+
}
20361
20361
+
}
20362
20362
+
20363
20363
+
class ProfileEditMsg extends CustomType {
5612
20364
constructor($0) {
5613
20365
super();
5614
20366
this[0] = $0;
···
5647
20399
return new NotFound(uri);
5648
20400
}
5649
20401
} else {
5650
5650
-
return new NotFound(uri);
20402
20402
+
let $3 = $2.tail;
20403
20403
+
if ($3 instanceof Empty) {
20404
20404
+
let $4 = $.head;
20405
20405
+
if ($4 === "profile") {
20406
20406
+
let $5 = $2.head;
20407
20407
+
if ($5 === "edit") {
20408
20408
+
let handle2 = $1.head;
20409
20409
+
return new ProfileEdit(handle2);
20410
20410
+
} else {
20411
20411
+
return new NotFound(uri);
20412
20412
+
}
20413
20413
+
} else {
20414
20414
+
return new NotFound(uri);
20415
20415
+
}
20416
20416
+
} else {
20417
20417
+
return new NotFound(uri);
20418
20418
+
}
5651
20419
}
5652
20420
}
5653
20421
}
···
5657
20425
let _pipe$1 = parse_route(_pipe);
5658
20426
return new UserNavigatedTo(_pipe$1);
5659
20427
}
5660
5660
-
function init2(_) {
20428
20428
+
function init3(_) {
5661
20429
let _block;
5662
20430
let $ = do_initial_uri();
5663
20431
if ($ instanceof Ok) {
···
5672
20440
if (route instanceof Profile2) {
5673
20441
if (prerendered_profile instanceof Some) {
5674
20442
let profile_data = prerendered_profile[0];
5675
5675
-
let model2 = new Model(route, new Loaded(profile_data));
20443
20443
+
let model2 = new Model2(route, new Loaded(profile_data), init_form_data(new None));
20444
20444
+
_block$1 = [model2, none()];
20445
20445
+
} else {
20446
20446
+
let model2 = new Model2(route, new Failed("Profile not found"), init_form_data(new None));
20447
20447
+
_block$1 = [model2, none()];
20448
20448
+
}
20449
20449
+
} else if (route instanceof ProfileEdit) {
20450
20450
+
if (prerendered_profile instanceof Some) {
20451
20451
+
let profile_data = prerendered_profile[0];
20452
20452
+
let model2 = new Model2(route, new Loaded(profile_data), init_form_data(new Some(profile_data)));
5676
20453
_block$1 = [model2, none()];
5677
20454
} else {
5678
5678
-
let model2 = new Model(route, new Failed("Profile not found"));
20455
20455
+
let model2 = new Model2(route, new Failed("Profile not found"), init_form_data(new None));
5679
20456
_block$1 = [model2, none()];
5680
20457
}
5681
20458
} else {
5682
5682
-
let model2 = new Model(route, new NotAsked);
20459
20459
+
let model2 = new Model2(route, new NotAsked, init_form_data(new None));
5683
20460
_block$1 = [model2, none()];
5684
20461
}
5685
20462
let $1 = _block$1;
···
5717
20494
} else {
5718
20495
let status = $;
5719
20496
console_log("Got status: " + inspect2(status));
5720
5720
-
return new Error("API request failed");
20497
20497
+
return new Error2("API request failed");
5721
20498
}
5722
20499
} else {
5723
20500
let err = body_result[0];
5724
20501
console_log("Fetch error: " + err);
5725
5725
-
return new Error(err);
20502
20502
+
return new Error2(err);
5726
20503
}
5727
20504
});
5728
20505
tap(_pipe$1, (result) => {
···
5731
20508
return;
5732
20509
});
5733
20510
}
5734
5734
-
function update2(model, msg) {
20511
20511
+
function update3(model, msg) {
5735
20512
if (msg instanceof UserNavigatedTo) {
5736
20513
let route = msg.route;
5737
5737
-
let model$1 = new Model(route, model.profile_state);
20514
20514
+
let model$1 = new Model2(route, model.profile_state, model.edit_form_data);
5738
20515
if (route instanceof Profile2) {
5739
20516
let handle2 = route.handle;
5740
20517
console_log("Navigating to profile: " + handle2);
5741
5741
-
let model$2 = new Model(model$1.route, new Loading);
5742
5742
-
return [model$2, fetch_profile(handle2)];
20518
20518
+
let $ = model$1.profile_state;
20519
20519
+
if ($ instanceof Loaded) {
20520
20520
+
let p2 = $[0];
20521
20521
+
let $1 = p2.handle;
20522
20522
+
if ($1 instanceof Some) {
20523
20523
+
let loaded_handle = $1[0];
20524
20524
+
if (loaded_handle === handle2) {
20525
20525
+
return [model$1, none()];
20526
20526
+
} else {
20527
20527
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20528
20528
+
return [model$2, fetch_profile(handle2)];
20529
20529
+
}
20530
20530
+
} else {
20531
20531
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20532
20532
+
return [model$2, fetch_profile(handle2)];
20533
20533
+
}
20534
20534
+
} else {
20535
20535
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20536
20536
+
return [model$2, fetch_profile(handle2)];
20537
20537
+
}
20538
20538
+
} else if (route instanceof ProfileEdit) {
20539
20539
+
let handle2 = route.handle;
20540
20540
+
console_log("Navigating to profile edit: " + handle2);
20541
20541
+
let $ = model$1.profile_state;
20542
20542
+
if ($ instanceof Loaded) {
20543
20543
+
let p2 = $[0];
20544
20544
+
let $1 = p2.handle;
20545
20545
+
if ($1 instanceof Some) {
20546
20546
+
let loaded_handle = $1[0];
20547
20547
+
if (loaded_handle === handle2) {
20548
20548
+
let form_data = init_form_data(new Some(p2));
20549
20549
+
return [
20550
20550
+
new Model2(model$1.route, model$1.profile_state, form_data),
20551
20551
+
none()
20552
20552
+
];
20553
20553
+
} else {
20554
20554
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20555
20555
+
return [model$2, fetch_profile(handle2)];
20556
20556
+
}
20557
20557
+
} else {
20558
20558
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20559
20559
+
return [model$2, fetch_profile(handle2)];
20560
20560
+
}
20561
20561
+
} else {
20562
20562
+
let model$2 = new Model2(model$1.route, new Loading, model$1.edit_form_data);
20563
20563
+
return [model$2, fetch_profile(handle2)];
20564
20564
+
}
5743
20565
} else {
5744
20566
return [model$1, none()];
5745
20567
}
5746
5746
-
} else {
20568
20568
+
} else if (msg instanceof ProfileFetched) {
5747
20569
let result = msg[0];
5748
20570
console_log("Profile fetched result: " + inspect2(result));
5749
20571
let _block;
5750
20572
if (result instanceof Ok) {
5751
5751
-
let $ = result[0];
5752
5752
-
if ($ instanceof Some) {
5753
5753
-
let profile_data = $[0];
20573
20573
+
let $2 = result[0];
20574
20574
+
if ($2 instanceof Some) {
20575
20575
+
let profile_data = $2[0];
5754
20576
_block = new Loaded(profile_data);
5755
20577
} else {
5756
20578
_block = new Failed("Profile not found");
···
5760
20582
_block = new Failed(error);
5761
20583
}
5762
20584
let profile_state = _block;
5763
5763
-
return [new Model(model.route, profile_state), none()];
20585
20585
+
let _block$1;
20586
20586
+
let $ = model.route;
20587
20587
+
if ($ instanceof ProfileEdit && profile_state instanceof Loaded) {
20588
20588
+
let profile_data = profile_state[0];
20589
20589
+
_block$1 = init_form_data(new Some(profile_data));
20590
20590
+
} else {
20591
20591
+
_block$1 = model.edit_form_data;
20592
20592
+
}
20593
20593
+
let edit_form_data = _block$1;
20594
20594
+
return [
20595
20595
+
new Model2(model.route, profile_state, edit_form_data),
20596
20596
+
none()
20597
20597
+
];
20598
20598
+
} else {
20599
20599
+
let edit_msg = msg[0];
20600
20600
+
if (edit_msg instanceof DisplayNameUpdated) {
20601
20601
+
let value3 = edit_msg[0];
20602
20602
+
let _block;
20603
20603
+
let _record = model.edit_form_data;
20604
20604
+
_block = new FormData2(value3, _record.description, _record.location_input, _record.interests, _record.avatar_preview_url);
20605
20605
+
let form_data = _block;
20606
20606
+
return [
20607
20607
+
new Model2(model.route, model.profile_state, form_data),
20608
20608
+
none()
20609
20609
+
];
20610
20610
+
} else if (edit_msg instanceof DescriptionUpdated) {
20611
20611
+
let value3 = edit_msg[0];
20612
20612
+
let _block;
20613
20613
+
let _record = model.edit_form_data;
20614
20614
+
_block = new FormData2(_record.display_name, value3, _record.location_input, _record.interests, _record.avatar_preview_url);
20615
20615
+
let form_data = _block;
20616
20616
+
return [
20617
20617
+
new Model2(model.route, model.profile_state, form_data),
20618
20618
+
none()
20619
20619
+
];
20620
20620
+
} else if (edit_msg instanceof InterestsUpdated) {
20621
20621
+
let value3 = edit_msg[0];
20622
20622
+
let _block;
20623
20623
+
let _record = model.edit_form_data;
20624
20624
+
_block = new FormData2(_record.display_name, _record.description, _record.location_input, value3, _record.avatar_preview_url);
20625
20625
+
let form_data = _block;
20626
20626
+
return [
20627
20627
+
new Model2(model.route, model.profile_state, form_data),
20628
20628
+
none()
20629
20629
+
];
20630
20630
+
} else if (edit_msg instanceof AvatarFileSelected) {
20631
20631
+
return [model, none()];
20632
20632
+
} else if (edit_msg instanceof LocationInputMsg) {
20633
20633
+
let location_msg = edit_msg[0];
20634
20634
+
let $ = update2(model.edit_form_data.location_input, location_msg);
20635
20635
+
let location_model;
20636
20636
+
let location_effect;
20637
20637
+
location_model = $[0];
20638
20638
+
location_effect = $[1];
20639
20639
+
let _block;
20640
20640
+
let _record = model.edit_form_data;
20641
20641
+
_block = new FormData2(_record.display_name, _record.description, location_model, _record.interests, _record.avatar_preview_url);
20642
20642
+
let form_data = _block;
20643
20643
+
return [
20644
20644
+
new Model2(model.route, model.profile_state, form_data),
20645
20645
+
(() => {
20646
20646
+
let _pipe = location_effect;
20647
20647
+
return map5(_pipe, (msg2) => {
20648
20648
+
return new ProfileEditMsg(new LocationInputMsg(msg2));
20649
20649
+
});
20650
20650
+
})()
20651
20651
+
];
20652
20652
+
} else if (edit_msg instanceof FormSubmitted) {
20653
20653
+
console_log("Profile form submitted");
20654
20654
+
return [model, none()];
20655
20655
+
} else {
20656
20656
+
let $ = model.route;
20657
20657
+
if ($ instanceof ProfileEdit) {
20658
20658
+
let handle2 = $.handle;
20659
20659
+
return [
20660
20660
+
model,
20661
20661
+
push("/profile/" + handle2, new None, new None)
20662
20662
+
];
20663
20663
+
} else {
20664
20664
+
return [model, none()];
20665
20665
+
}
20666
20666
+
}
5764
20667
}
5765
20668
}
5766
20669
function view_not_found() {
···
5769
20672
p(toList([class$("text-zinc-400")]), toList([text3("The page you're looking for doesn't exist.")]))
5770
20673
]));
5771
20674
}
5772
5772
-
function view4(model) {
20675
20675
+
function view6(model) {
5773
20676
let user = new Some(new User(new Some("Chad Miller"), "chadtmiller.com"));
5774
20677
return layout(user, toList([
5775
20678
(() => {
···
5798
20701
p(toList([class$("text-zinc-400")]), toList([text3(error)]))
5799
20702
]));
5800
20703
}
20704
20704
+
} else if ($ instanceof ProfileEdit) {
20705
20705
+
let handle2 = $.handle;
20706
20706
+
let $1 = model.profile_state;
20707
20707
+
if ($1 instanceof NotAsked) {
20708
20708
+
return div(toList([class$("text-center py-12")]), toList([
20709
20709
+
p(toList([class$("text-zinc-400")]), toList([text3("Loading profile...")]))
20710
20710
+
]));
20711
20711
+
} else if ($1 instanceof Loading) {
20712
20712
+
return div(toList([class$("text-center py-12")]), toList([
20713
20713
+
p(toList([class$("text-zinc-400")]), toList([text3("Loading profile...")]))
20714
20714
+
]));
20715
20715
+
} else if ($1 instanceof Loaded) {
20716
20716
+
let p2 = $1[0];
20717
20717
+
return view5(new Some(p2), model.edit_form_data, handle2, (var0) => {
20718
20718
+
return new ProfileEditMsg(var0);
20719
20719
+
});
20720
20720
+
} else {
20721
20721
+
let error = $1.error;
20722
20722
+
return div(toList([class$("text-center py-12")]), toList([
20723
20723
+
h2(toList([
20724
20724
+
class$("text-2xl font-bold text-white mb-4")
20725
20725
+
]), toList([text3("Error")])),
20726
20726
+
p(toList([class$("text-zinc-400")]), toList([text3(error)]))
20727
20727
+
]));
20728
20728
+
}
5801
20729
} else {
5802
20730
return view_not_found();
5803
20731
}
···
5805
20733
]));
5806
20734
}
5807
20735
function main() {
5808
5808
-
let app = application(init2, update2, view4);
20736
20736
+
let app = application(init3, update3, view6);
5809
20737
let $ = start3(app, "#app", undefined);
5810
20738
if (!($ instanceof Ok)) {
5811
5811
-
throw makeError("let_assert", FILEPATH, "client", 23, "main", "Pattern match failed, no pattern matched the value.", { value: $, start: 575, end: 624, pattern_start: 586, pattern_end: 591 });
20739
20739
+
throw makeError("let_assert", FILEPATH, "client", 25, "main", "Pattern match failed, no pattern matched the value.", { value: $, start: 626, end: 675, pattern_start: 637, pattern_end: 642 });
5812
20740
}
5813
20741
return;
5814
20742
}
+1
server/src/server.gleam
···
54
54
55
55
// Profile routes - prerender with data
56
56
Get, ["profile", handle] -> serve_profile(handle)
57
57
+
Get, ["profile", handle, "edit"] -> serve_profile(handle)
57
58
58
59
// Everything else gets our base HTML
59
60
Get, _ -> serve_index(option.None)