summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-04-23 00:00:14 +0700
committerShulhan <ms@kilabit.info>2022-04-23 00:16:08 +0700
commit40cc7c23f14332d3aeabee7d25002e984d9062cb (patch)
treefa0863675d09db3a83dc784e80dc3d98421b0bee
parent02abbfec6842d4ef7cc90cec37d0ffb4e39f6892 (diff)
downloadrescached-40cc7c23f14332d3aeabee7d25002e984d9062cb.tar.xz
all: change the hosts.d HTTP API request type to form and query
Using dynamic value in the URL path is not a good practice, so we move the API for hosts.d to create, delete, and get to form and query parameters.
-rw-r--r--_www/rescached.js62
-rw-r--r--httpd.go10
-rw-r--r--memfs_generate.go10
3 files changed, 47 insertions, 35 deletions
diff --git a/_www/rescached.js b/_www/rescached.js
index 793d887..8d03daf 100644
--- a/_www/rescached.js
+++ b/_www/rescached.js
@@ -23,6 +23,8 @@ const RRTypes = {
41: "OPT",
}
+const paramNameName = "name"
+
function getRRTypeName(k) {
let v = RRTypes[k]
if (v === "") {
@@ -37,7 +39,7 @@ class Rescached {
static apiBlockdUpdate = "/api/block.d/update"
static apiCaches = "/api/caches"
static apiCachesSearch = "/api/caches/search"
- static apiHostsd = "/api/hosts.d/"
+ static apiHostsd = "/api/hosts.d"
static apiZoned = "/api/zone.d/"
constructor(server) {
@@ -86,23 +88,6 @@ class Rescached {
return await res.json()
}
- async HostsFileCreate(name) {
- const httpRes = await fetch(
- this.server + Rescached.apiHostsd + name,
- {
- method: "PUT",
- },
- )
- let res = await httpRes.json()
- if (res.code === 200) {
- this.env.HostsFiles[name] = {
- Name: name,
- Records: [],
- }
- }
- return res
- }
-
async getEnvironment() {
const httpRes = await fetch(this.server + "/api/environment")
const res = await httpRes.json()
@@ -134,13 +119,35 @@ class Rescached {
return v
}
- async HostsFileDelete(name) {
- const httpRes = await fetch(
- this.server + Rescached.apiHostsd + name,
- {
- method: "DELETE",
+ async HostsFileCreate(name) {
+ var params = new URLSearchParams()
+ params.set(paramNameName, name)
+
+ const httpRes = await fetch(Rescached.apiHostsd, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/x-www-form-urlencoded",
},
- )
+ body: params.toString(),
+ })
+ let res = await httpRes.json()
+ if (res.code === 200) {
+ this.env.HostsFiles[name] = {
+ Name: name,
+ Records: [],
+ }
+ }
+ return res
+ }
+
+ async HostsFileDelete(name) {
+ var params = new URLSearchParams()
+ params.set(paramNameName, name)
+
+ var url = Rescached.apiHostsd + "?" + params.toString()
+ const httpRes = await fetch(url, {
+ method: "DELETE",
+ })
const res = await httpRes.json()
if (httpRes.status === 200) {
delete this.env.HostsFiles[name]
@@ -149,7 +156,12 @@ class Rescached {
}
async HostsFileGet(name) {
- const httpRes = await fetch(this.server + Rescached.apiHostsd + name)
+ var params = new URLSearchParams()
+ params.set(paramNameName, name)
+
+ var url = Rescached.apiHostsd + "?"+ params.toString()
+ const httpRes = await fetch(url)
+
let res = await httpRes.json()
if (httpRes.Status === 200) {
this.env.HostsFiles[name] = {
diff --git a/httpd.go b/httpd.go
index d1f2dda..beab4a4 100644
--- a/httpd.go
+++ b/httpd.go
@@ -36,7 +36,7 @@ const (
apiEnvironment = "/api/environment"
- apiHostsDir = "/api/hosts.d/:name"
+ apiHostsDir = "/api/hosts.d"
apiHostsDirRR = "/api/hosts.d/:name/rr"
apiZone = "/api/zone.d/:name"
@@ -163,9 +163,9 @@ func (srv *Server) httpdRegisterEndpoints() (err error) {
// Register API to create new hosts file.
err = srv.httpd.RegisterEndpoint(&libhttp.Endpoint{
- Method: libhttp.RequestMethodPut,
+ Method: libhttp.RequestMethodPost,
Path: apiHostsDir,
- RequestType: libhttp.RequestTypeNone,
+ RequestType: libhttp.RequestTypeForm,
ResponseType: libhttp.ResponseTypeJSON,
Call: srv.apiHostsFileCreate,
})
@@ -176,7 +176,7 @@ func (srv *Server) httpdRegisterEndpoints() (err error) {
err = srv.httpd.RegisterEndpoint(&libhttp.Endpoint{
Method: libhttp.RequestMethodGet,
Path: apiHostsDir,
- RequestType: libhttp.RequestTypeNone,
+ RequestType: libhttp.RequestTypeQuery,
ResponseType: libhttp.ResponseTypeJSON,
Call: srv.apiHostsFileGet,
})
@@ -187,7 +187,7 @@ func (srv *Server) httpdRegisterEndpoints() (err error) {
err = srv.httpd.RegisterEndpoint(&libhttp.Endpoint{
Method: libhttp.RequestMethodDelete,
Path: apiHostsDir,
- RequestType: libhttp.RequestTypeNone,
+ RequestType: libhttp.RequestTypeQuery,
ResponseType: libhttp.ResponseTypeJSON,
Call: srv.apiHostsFileDelete,
})
diff --git a/memfs_generate.go b/memfs_generate.go
index edb08ef..e6ed25e 100644
--- a/memfs_generate.go
+++ b/memfs_generate.go
@@ -16,9 +16,9 @@ func generate__www() *memfs.Node {
GenFuncName: "generate__www",
}
node.SetMode(2147484157)
- node.SetModTimeUnix(1650386325, 469019611)
+ node.SetModTimeUnix(1650646858, 54088365)
node.SetName("/")
- node.SetSize(0)
+ node.SetSize(4096)
node.AddChild(_mfsWww_getNode(mfsWww, "/block.d", generate__www_block_d))
node.AddChild(_mfsWww_getNode(mfsWww, "/environment", generate__www_environment))
node.AddChild(_mfsWww_getNode(mfsWww, "/favicon.png", generate__www_favicon_png))
@@ -187,12 +187,12 @@ func generate__www_rescached_js() *memfs.Node {
Path: "/rescached.js",
ContentType: "text/javascript; charset=utf-8",
GenFuncName: "generate__www_rescached_js",
- Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x52\x52\x54\x79\x70\x65\x73\x20\x3D\x20\x7B\x0A\x09\x31\x3A\x20\x22\x41\x22\x2C\x0A\x09\x32\x3A\x20\x22\x4E\x53\x22\x2C\x0A\x09\x33\x3A\x20\x22\x4D\x44\x22\x2C\x0A\x09\x34\x3A\x20\x22\x4D\x46\x22\x2C\x0A\x09\x35\x3A\x20\x22\x43\x4E\x41\x4D\x45\x22\x2C\x0A\x09\x36\x3A\x20\x22\x53\x4F\x41\x22\x2C\x0A\x09\x37\x3A\x20\x22\x4D\x42\x22\x2C\x0A\x09\x38\x3A\x20\x22\x4D\x47\x22\x2C\x0A\x09\x39\x3A\x20\x22\x4D\x52\x22\x2C\x0A\x09\x31\x30\x3A\x20\x22\x4E\x55\x4C\x4C\x22\x2C\x0A\x09\x31\x31\x3A\x20\x22\x57\x4B\x53\x22\x2C\x0A\x09\x31\x32\x3A\x20\x22\x50\x54\x52\x22\x2C\x0A\x09\x31\x33\x3A\x20\x22\x48\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x34\x3A\x20\x22\x4D\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x35\x3A\x20\x22\x4D\x58\x22\x2C\x0A\x09\x31\x36\x3A\x20\x22\x54\x58\x54\x22\x2C\x0A\x09\x32\x38\x3A\x20\x22\x41\x41\x41\x41\x22\x2C\x0A\x09\x33\x33\x3A\x20\x22\x53\x52\x56\x22\x2C\x0A\x09\x34\x31\x3A\x20\x22\x4F\x50\x54\x22\x2C\x0A\x7D\x0A\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x7D\x0A\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x7D\x0A\x0A\x63\x6C\x61\x73\x73\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x20\x7B\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x20\x3D\x20\x31\x30\x30\x30\x30\x30\x30\x30\x30\x30\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x2F\x75\x70\x64\x61\x74\x65\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x2F\x73\x65\x61\x72\x63\x68\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x2F\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x22\x0A\x0A\x09\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x73\x65\x72\x76\x65\x72\x29\x20\x7B\x0A\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x3D\x20\x73\x65\x72\x76\x65\x72\x0A\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x7B\x7D\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x6E\x61\x6D\x65\x22\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x73\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x2C\x20\x7B\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x3A\x20\x22\x6B\x65\x65\x70\x2D\x61\x6C\x69\x76\x65\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x52\x65\x6D\x6F\x76\x65\x28\x71\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x71\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x53\x65\x61\x72\x63\x68\x28\x71\x75\x65\x72\x79\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x53\x65\x61\x72\x63\x68\x3A\x20\x22\x2C\x20\x71\x75\x65\x72\x79\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x2B\x20\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x20\x71\x75\x65\x72\x79\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x6E\x61\x6D\x65\x22\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x67\x65\x74\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x0A\x09\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x6B\x20\x69\x6E\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x21\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x2E\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79\x28\x6B\x29\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x63\x6F\x6E\x74\x69\x6E\x75\x65\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x3D\x3D\x20\x22\x75\x6E\x64\x65\x66\x69\x6E\x65\x64\x22\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x5B\x5D\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x47\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x47\x65\x74\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x6E\x61\x6D\x65\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x76\x61\x6C\x75\x65\x22\x2C\x20\x76\x61\x6C\x75\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x70\x75\x73\x68\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x78\x20\x3D\x20\x30\x3B\x20\x78\x20\x3C\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x20\x78\x2B\x2B\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x78\x5D\x2E\x4E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x73\x70\x6C\x69\x63\x65\x28\x78\x2C\x20\x31\x29\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x67\x6F\x74\x20\x3D\x20\x7B\x7D\x0A\x0A\x09\x09\x4F\x62\x6A\x65\x63\x74\x2E\x61\x73\x73\x69\x67\x6E\x28\x67\x6F\x74\x2C\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x0A\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x67\x6F\x74\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x48\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x7A\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x09\x69\x66\x20\x28\x72\x72\x2E\x54\x79\x70\x65\x20\x3D\x3D\x20\x36\x29\x20\x7B\x0A\x09\x09\x09\x09\x2F\x2F\x20\x53\x4F\x41\x2E\x0A\x09\x09\x09\x09\x7A\x66\x2E\x53\x4F\x41\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x7D\x0A"),
+ Content: []byte("\x2F\x2F\x20\x53\x50\x44\x58\x2D\x46\x69\x6C\x65\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x54\x65\x78\x74\x3A\x20\x32\x30\x32\x31\x20\x4D\x2E\x20\x53\x68\x75\x6C\x68\x61\x6E\x20\x3C\x6D\x73\x40\x6B\x69\x6C\x61\x62\x69\x74\x2E\x69\x6E\x66\x6F\x3E\x0A\x2F\x2F\x20\x53\x50\x44\x58\x2D\x4C\x69\x63\x65\x6E\x73\x65\x2D\x49\x64\x65\x6E\x74\x69\x66\x69\x65\x72\x3A\x20\x47\x50\x4C\x2D\x33\x2E\x30\x2D\x6F\x72\x2D\x6C\x61\x74\x65\x72\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x52\x52\x54\x79\x70\x65\x73\x20\x3D\x20\x7B\x0A\x09\x31\x3A\x20\x22\x41\x22\x2C\x0A\x09\x32\x3A\x20\x22\x4E\x53\x22\x2C\x0A\x09\x33\x3A\x20\x22\x4D\x44\x22\x2C\x0A\x09\x34\x3A\x20\x22\x4D\x46\x22\x2C\x0A\x09\x35\x3A\x20\x22\x43\x4E\x41\x4D\x45\x22\x2C\x0A\x09\x36\x3A\x20\x22\x53\x4F\x41\x22\x2C\x0A\x09\x37\x3A\x20\x22\x4D\x42\x22\x2C\x0A\x09\x38\x3A\x20\x22\x4D\x47\x22\x2C\x0A\x09\x39\x3A\x20\x22\x4D\x52\x22\x2C\x0A\x09\x31\x30\x3A\x20\x22\x4E\x55\x4C\x4C\x22\x2C\x0A\x09\x31\x31\x3A\x20\x22\x57\x4B\x53\x22\x2C\x0A\x09\x31\x32\x3A\x20\x22\x50\x54\x52\x22\x2C\x0A\x09\x31\x33\x3A\x20\x22\x48\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x34\x3A\x20\x22\x4D\x49\x4E\x46\x4F\x22\x2C\x0A\x09\x31\x35\x3A\x20\x22\x4D\x58\x22\x2C\x0A\x09\x31\x36\x3A\x20\x22\x54\x58\x54\x22\x2C\x0A\x09\x32\x38\x3A\x20\x22\x41\x41\x41\x41\x22\x2C\x0A\x09\x33\x33\x3A\x20\x22\x53\x52\x56\x22\x2C\x0A\x09\x34\x31\x3A\x20\x22\x4F\x50\x54\x22\x2C\x0A\x7D\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x20\x3D\x20\x22\x6E\x61\x6D\x65\x22\x0A\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x7D\x0A\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x7D\x0A\x0A\x63\x6C\x61\x73\x73\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x20\x7B\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x20\x3D\x20\x31\x30\x30\x30\x30\x30\x30\x30\x30\x30\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x62\x6C\x6F\x63\x6B\x2E\x64\x2F\x75\x70\x64\x61\x74\x65\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x63\x61\x63\x68\x65\x73\x2F\x73\x65\x61\x72\x63\x68\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x22\x0A\x0A\x09\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x73\x65\x72\x76\x65\x72\x29\x20\x7B\x0A\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x3D\x20\x73\x65\x72\x76\x65\x72\x0A\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x7B\x7D\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x6E\x61\x6D\x65\x22\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x55\x70\x64\x61\x74\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x73\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x2C\x20\x7B\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x43\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x3A\x20\x22\x6B\x65\x65\x70\x2D\x61\x6C\x69\x76\x65\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x43\x61\x63\x68\x65\x52\x65\x6D\x6F\x76\x65\x28\x71\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x20\x2B\x20\x22\x3F\x6E\x61\x6D\x65\x3D\x22\x20\x2B\x20\x71\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x53\x65\x61\x72\x63\x68\x28\x71\x75\x65\x72\x79\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x53\x65\x61\x72\x63\x68\x3A\x20\x22\x2C\x20\x71\x75\x65\x72\x79\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x43\x61\x63\x68\x65\x73\x53\x65\x61\x72\x63\x68\x20\x2B\x20\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x20\x71\x75\x65\x72\x79\x2C\x0A\x09\x09\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x72\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x67\x65\x74\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x0A\x09\x09\x09\x09\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2F\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x6B\x20\x69\x6E\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x21\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x2E\x68\x61\x73\x4F\x77\x6E\x50\x72\x6F\x70\x65\x72\x74\x79\x28\x6B\x29\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x63\x6F\x6E\x74\x69\x6E\x75\x65\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x74\x79\x70\x65\x6F\x66\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x3D\x3D\x20\x22\x75\x6E\x64\x65\x66\x69\x6E\x65\x64\x22\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x5B\x5D\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x47\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x6B\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x76\x20\x3D\x20\x52\x52\x54\x79\x70\x65\x73\x5B\x6B\x5D\x0A\x09\x09\x69\x66\x20\x28\x76\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x09\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x6B\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x76\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x76\x61\x72\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x78\x2D\x77\x77\x77\x2D\x66\x6F\x72\x6D\x2D\x75\x72\x6C\x65\x6E\x63\x6F\x64\x65\x64\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x76\x61\x72\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x76\x61\x72\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x22\x3F\x22\x20\x2B\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x75\x72\x6C\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x47\x65\x74\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x76\x61\x72\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x76\x61\x72\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x20\x22\x3F\x22\x2B\x20\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x75\x72\x6C\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x7B\x0A\x09\x09\x09\x09\x4E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x09\x52\x65\x63\x6F\x72\x64\x73\x3A\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x2C\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x2C\x20\x76\x61\x6C\x75\x65\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x76\x61\x6C\x75\x65\x22\x2C\x20\x76\x61\x6C\x75\x65\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x70\x75\x73\x68\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x70\x61\x72\x61\x6D\x73\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x53\x65\x61\x72\x63\x68\x50\x61\x72\x61\x6D\x73\x28\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x64\x6F\x6D\x61\x69\x6E\x22\x2C\x20\x64\x6F\x6D\x61\x69\x6E\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x61\x70\x69\x20\x3D\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x0A\x09\x09\x09\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x20\x2B\x0A\x09\x09\x09\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x20\x2B\x0A\x09\x09\x09\x22\x2F\x72\x72\x22\x20\x2B\x0A\x09\x09\x09\x22\x3F\x22\x20\x2B\x0A\x09\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x74\x6F\x53\x74\x72\x69\x6E\x67\x28\x29\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x53\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x68\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x48\x6F\x73\x74\x73\x46\x69\x6C\x65\x73\x5B\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\x5D\x0A\x09\x09\x09\x66\x6F\x72\x20\x28\x6C\x65\x74\x20\x78\x20\x3D\x20\x30\x3B\x20\x78\x20\x3C\x20\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x20\x78\x2B\x2B\x29\x20\x7B\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x78\x5D\x2E\x4E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x64\x6F\x6D\x61\x69\x6E\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x68\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x2E\x73\x70\x6C\x69\x63\x65\x28\x78\x2C\x20\x31\x29\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x67\x6F\x74\x20\x3D\x20\x7B\x7D\x0A\x0A\x09\x09\x4F\x62\x6A\x65\x63\x74\x2E\x61\x73\x73\x69\x67\x6E\x28\x67\x6F\x74\x2C\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x29\x0A\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x44\x65\x6C\x61\x79\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x09\x09\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x3D\x20\x67\x6F\x74\x2E\x50\x72\x75\x6E\x65\x54\x68\x72\x65\x73\x68\x6F\x6C\x64\x20\x2A\x20\x74\x68\x69\x73\x2E\x6E\x61\x6E\x6F\x53\x65\x63\x6F\x6E\x64\x73\x0A\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x22\x2F\x61\x70\x69\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x22\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x67\x6F\x74\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x75\x70\x64\x61\x74\x65\x48\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x42\x6C\x6F\x63\x6B\x64\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x68\x6F\x73\x74\x73\x42\x6C\x6F\x63\x6B\x73\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x29\x20\x7B\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x64\x65\x6C\x65\x74\x65\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x43\x72\x65\x61\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x6C\x65\x74\x20\x7A\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x0A\x09\x09\x09\x69\x66\x20\x28\x72\x72\x2E\x54\x79\x70\x65\x20\x3D\x3D\x20\x36\x29\x20\x7B\x0A\x09\x09\x09\x09\x2F\x2F\x20\x53\x4F\x41\x2E\x0A\x09\x09\x09\x09\x7A\x66\x2E\x53\x4F\x41\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x7D\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x74\x68\x69\x73\x2E\x73\x65\x72\x76\x65\x72\x20\x2B\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x20\x2B\x20\x6E\x61\x6D\x65\x20\x2B\x20\x22\x2F\x72\x72\x2F\x22\x20\x2B\x20\x72\x72\x2E\x54\x79\x70\x65\x0A\x09\x09\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x61\x70\x69\x2C\x20\x7B\x0A\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x09\x09\x09\x7D\x2C\x0A\x09\x09\x09\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x2C\x0A\x09\x09\x7D\x29\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x0A\x09\x09\x69\x66\x20\x28\x68\x74\x74\x70\x52\x65\x73\x2E\x73\x74\x61\x74\x75\x73\x20\x3D\x3D\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\x65\x46\x69\x6C\x65\x73\x5B\x6E\x61\x6D\x65\x5D\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x7D\x0A\x09\x09\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x0A\x09\x7D\x0A\x7D\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1650644806, 701649987)
+ node.SetModTimeUnix(1650647204, 798408636)
node.SetName("rescached.js")
- node.SetSize(6336)
+ node.SetSize(6532)
return node
}