From b81cdaa1ea100424baa41c002969ab9060d0b1b8 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Mon, 16 May 2022 16:02:36 +0700 Subject: all: use consistent parameter name for zone name Some zone APIs use "name" and some use "zone" for passing the zone name. This changes made all zone APIs to use "name" as parameter name. --- _www/rescached.js | 10 ++++++---- client.go | 8 +++----- httpd.go | 33 ++++++++++++++++----------------- memfs_generate.go | 6 +++--- zone_record_request.go | 2 +- 5 files changed, 29 insertions(+), 30 deletions(-) diff --git a/_www/rescached.js b/_www/rescached.js index 0b96f00..4c30486 100644 --- a/_www/rescached.js +++ b/_www/rescached.js @@ -27,7 +27,6 @@ const contentTypeForm = "application/x-www-form-urlencoded" const contentTypeJson = "application/json" const paramNameName = "name" -const paramNameZone = "zone" const headerContentType = "Content-Type" @@ -297,7 +296,7 @@ class Rescached { // ZonedRecords fetch the RR on specific zone. async ZonedRecords(name) { let params = new URLSearchParams() - params.set(paramNameZone, name) + params.set(paramNameName, name) let url = Rescached.apiZonedRR + "?" + params.toString() const httpRes = await fetch(url) @@ -307,7 +306,7 @@ class Rescached { async ZonedRecordAdd(name, rr) { let req = { - zone: name, + name: name, type: getRRTypeName(rr.Type), record: btoa(JSON.stringify(rr)), } @@ -328,6 +327,9 @@ class Rescached { zf.SOA = res.data } else { let rr = res.data + if (zf.Records == null) { + zf.Records = {} + } zf.Records[rr.Name].push(rr) } } @@ -336,7 +338,7 @@ class Rescached { async ZonedRecordDelete(zone, rr) { let params = new URLSearchParams() - params.set(paramNameZone, zone) + params.set(paramNameName, zone) params.set("type", getRRTypeName(rr.Type)) params.set("record", btoa(JSON.stringify(rr))) diff --git a/client.go b/client.go index fb71e58..ca1297c 100644 --- a/client.go +++ b/client.go @@ -511,7 +511,7 @@ func (cl *Client) ZonedRecords(zone string) (zoneRecords dns.ZoneRecords, err er resBody []byte ) - params.Set(paramNameZone, zone) + params.Set(paramNameName, zone) _, resBody, err = cl.Get(apiZonedRR, nil, params) if err != nil { @@ -527,11 +527,11 @@ func (cl *Client) ZonedRecords(zone string) (zoneRecords dns.ZoneRecords, err er } // ZonedRecordAdd add new record to zone file. -func (cl *Client) ZonedRecordAdd(zone string, rreq dns.ResourceRecord) (rres *dns.ResourceRecord, err error) { +func (cl *Client) ZonedRecordAdd(name string, rreq dns.ResourceRecord) (rres *dns.ResourceRecord, err error) { var ( logp = "ZonedRecordAdd" zrr = zoneRecordRequest{ - Zone: zone, + Name: name, } res *libhttp.EndpointResponse @@ -539,8 +539,6 @@ func (cl *Client) ZonedRecordAdd(zone string, rreq dns.ResourceRecord) (rres *dn ok bool ) - fmt.Printf("ZonedRecordAdd: %+v\n", rreq) - zrr.Type, ok = dns.RecordTypeNames[rreq.Type] if !ok { return nil, fmt.Errorf("%s: unknown record type: %d", logp, rreq.Type) diff --git a/httpd.go b/httpd.go index d63ce30..c74717b 100644 --- a/httpd.go +++ b/httpd.go @@ -22,7 +22,6 @@ const ( defHTTPDRootDir = "_www" paramNameDomain = "domain" paramNameName = "name" - paramNameZone = "zone" paramNameQuery = "query" paramNameRecord = "record" paramNameType = "type" @@ -1106,10 +1105,10 @@ func (srv *Server) apiZonedDelete(epr *libhttp.EndpointRequest) (resb []byte, er // // # Request // -// GET /api/zone.d/rr?zone= +// GET /api/zone.d/rr?name= // // Parameters, -// - zone: the zone file name where records to be fetched. +// - name: the zone file name where records to be fetched. // // # Response // @@ -1125,7 +1124,7 @@ func (srv *Server) apiZonedDelete(epr *libhttp.EndpointRequest) (resb []byte, er // } func (srv *Server) apiZonedRR(epr *libhttp.EndpointRequest) (resb []byte, err error) { var ( - zoneName = epr.HttpRequest.Form.Get(paramNameZone) + zoneName = epr.HttpRequest.Form.Get(paramNameName) res = libhttp.EndpointResponse{} zone *dns.Zone @@ -1199,14 +1198,14 @@ func (srv *Server) apiZonedRRAdd(epr *libhttp.EndpointRequest) (resb []byte, err return nil, &res } - if len(req.Zone) == 0 { + if len(req.Name) == 0 { res.Message = "empty or invalid zone file name" return nil, &res } - zoneFile = srv.env.Zones[req.Zone] + zoneFile = srv.env.Zones[req.Name] if zoneFile == nil { - res.Message = "unknown zone file name: " + req.Zone + res.Message = "unknown zone file name: " + req.Name return nil, &res } @@ -1247,15 +1246,15 @@ func (srv *Server) apiZonedRRAdd(epr *libhttp.EndpointRequest) (resb []byte, err return nil, &res } if len(rrValue) == 0 { - rr.Value = req.Zone + rr.Value = req.Name } else { - rr.Value = rrValue + "." + req.Zone + rr.Value = rrValue + "." + req.Name } } else { if len(rr.Name) == 0 { - rr.Name = req.Zone + rr.Name = req.Name } else { - rr.Name += "." + req.Zone + rr.Name += "." + req.Name } } @@ -1291,11 +1290,11 @@ func (srv *Server) apiZonedRRAdd(epr *libhttp.EndpointRequest) (resb []byte, err // // # Request // -// DELETE /api/zone.d/rr?zone=&type=&record= +// DELETE /api/zone.d/rr?name=&type=&record= // // Parameters, // -// - zone: the zone name, +// - name: the zone name, // - type: the record type, // - record: the content of record with its domain name and value. // @@ -1314,15 +1313,15 @@ func (srv *Server) apiZonedRRDelete(epr *libhttp.EndpointRequest) (resbody []byt res.Code = http.StatusBadRequest - req.Zone = epr.HttpRequest.Form.Get(paramNameZone) - if len(req.Zone) == 0 { + req.Name = epr.HttpRequest.Form.Get(paramNameName) + if len(req.Name) == 0 { res.Message = "empty zone file name" return nil, &res } - zone = srv.env.Zones[req.Zone] + zone = srv.env.Zones[req.Name] if zone == nil { - res.Message = "unknown zone file name " + req.Zone + res.Message = "unknown zone file name " + req.Name return nil, &res } diff --git a/memfs_generate.go b/memfs_generate.go index 095714c..a1ae25a 100644 --- a/memfs_generate.go +++ b/memfs_generate.go @@ -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\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\x20\x3D\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\x0A\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\x20\x3D\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\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\x63\x6F\x6E\x73\x74\x20\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x5A\x6F\x6E\x65\x20\x3D\x20\x22\x7A\x6F\x6E\x65\x22\x0A\x0A\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x20\x3D\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\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\x48\x6F\x73\x74\x73\x64\x52\x52\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x2F\x72\x72\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\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x72\x72\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\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\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\x64\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\x6E\x61\x6D\x65\x22\x2C\x20\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\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\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\x52\x52\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\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\x64\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\x6E\x61\x6D\x65\x22\x2C\x20\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\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\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x52\x52\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\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\x0A\x09\x09\x09\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\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x09\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\x2C\x0A\x09\x09\x09\x09\x7D\x2C\x0A\x09\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\x09\x7D\x2C\x0A\x09\x09\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\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\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\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\x5A\x6F\x6E\x65\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\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\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\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\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\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\x2F\x2F\x20\x5A\x6F\x6E\x65\x64\x52\x65\x63\x6F\x72\x64\x73\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x52\x52\x20\x6F\x6E\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x7A\x6F\x6E\x65\x2E\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x64\x52\x65\x63\x6F\x72\x64\x73\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x5A\x6F\x6E\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\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\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\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\x64\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x09\x09\x09\x7A\x6F\x6E\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x74\x79\x70\x65\x3A\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x72\x72\x2E\x54\x79\x70\x65\x29\x2C\x0A\x09\x09\x09\x72\x65\x63\x6F\x72\x64\x3A\x20\x62\x74\x6F\x61\x28\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x29\x2C\x0A\x09\x09\x7D\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\x5A\x6F\x6E\x65\x64\x52\x52\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\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\x65\x71\x29\x2C\x0A\x09\x09\x7D\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\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\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\x6C\x65\x74\x20\x72\x72\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x72\x72\x2E\x4E\x61\x6D\x65\x5D\x2E\x70\x75\x73\x68\x28\x72\x72\x29\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\x64\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x7A\x6F\x6E\x65\x2C\x20\x72\x72\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x5A\x6F\x6E\x65\x2C\x20\x7A\x6F\x6E\x65\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x74\x79\x70\x65\x22\x2C\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x72\x72\x2E\x54\x79\x70\x65\x29\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x72\x65\x63\x6F\x72\x64\x22\x2C\x20\x62\x74\x6F\x61\x28\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x29\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\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\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\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\x73\x5B\x7A\x6F\x6E\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\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\x20\x3D\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\x0A\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\x20\x3D\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\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\x63\x6F\x6E\x73\x74\x20\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x20\x3D\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\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\x48\x6F\x73\x74\x73\x64\x52\x52\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x68\x6F\x73\x74\x73\x2E\x64\x2F\x72\x72\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\x22\x0A\x09\x73\x74\x61\x74\x69\x63\x20\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\x20\x3D\x20\x22\x2F\x61\x70\x69\x2F\x7A\x6F\x6E\x65\x2E\x64\x2F\x72\x72\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\x22\x3F\x71\x75\x65\x72\x79\x3D\x22\x20\x2B\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\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\x0A\x09\x09\x09\x09\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\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\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\x64\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\x6E\x61\x6D\x65\x22\x2C\x20\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\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\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\x52\x52\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\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\x64\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\x6E\x61\x6D\x65\x22\x2C\x20\x68\x6F\x73\x74\x73\x46\x69\x6C\x65\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\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x48\x6F\x73\x74\x73\x64\x52\x52\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\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\x0A\x09\x09\x09\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\x0A\x09\x09\x09\x7B\x0A\x09\x09\x09\x09\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x09\x09\x09\x09\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x09\x09\x09\x09\x09\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\x2C\x0A\x09\x09\x09\x09\x7D\x2C\x0A\x09\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\x09\x7D\x2C\x0A\x09\x09\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\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\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\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\x5A\x6F\x6E\x65\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x46\x6F\x72\x6D\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\x20\x32\x30\x30\x29\x20\x7B\x0A\x09\x09\x09\x74\x68\x69\x73\x2E\x65\x6E\x76\x2E\x5A\x6F\x6E\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\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\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\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\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\x2F\x2F\x20\x5A\x6F\x6E\x65\x64\x52\x65\x63\x6F\x72\x64\x73\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x52\x52\x20\x6F\x6E\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x7A\x6F\x6E\x65\x2E\x0A\x09\x61\x73\x79\x6E\x63\x20\x5A\x6F\x6E\x65\x64\x52\x65\x63\x6F\x72\x64\x73\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x6E\x61\x6D\x65\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x75\x72\x6C\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\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\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\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\x64\x52\x65\x63\x6F\x72\x64\x41\x64\x64\x28\x6E\x61\x6D\x65\x2C\x20\x72\x72\x29\x20\x7B\x0A\x09\x09\x6C\x65\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x09\x09\x09\x6E\x61\x6D\x65\x3A\x20\x6E\x61\x6D\x65\x2C\x0A\x09\x09\x09\x74\x79\x70\x65\x3A\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x72\x72\x2E\x54\x79\x70\x65\x29\x2C\x0A\x09\x09\x09\x72\x65\x63\x6F\x72\x64\x3A\x20\x62\x74\x6F\x61\x28\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x29\x2C\x0A\x09\x09\x7D\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\x5A\x6F\x6E\x65\x64\x52\x52\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\x5B\x68\x65\x61\x64\x65\x72\x43\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x5D\x3A\x20\x63\x6F\x6E\x74\x65\x6E\x74\x54\x79\x70\x65\x4A\x73\x6F\x6E\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\x65\x71\x29\x2C\x0A\x09\x09\x7D\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\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\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\x6C\x65\x74\x20\x72\x72\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x0A\x09\x09\x09\x09\x69\x66\x20\x28\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x3D\x20\x6E\x75\x6C\x6C\x29\x20\x7B\x0A\x09\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x20\x3D\x20\x7B\x7D\x0A\x09\x09\x09\x09\x7D\x0A\x09\x09\x09\x09\x7A\x66\x2E\x52\x65\x63\x6F\x72\x64\x73\x5B\x72\x72\x2E\x4E\x61\x6D\x65\x5D\x2E\x70\x75\x73\x68\x28\x72\x72\x29\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\x64\x52\x65\x63\x6F\x72\x64\x44\x65\x6C\x65\x74\x65\x28\x7A\x6F\x6E\x65\x2C\x20\x72\x72\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\x70\x61\x72\x61\x6D\x4E\x61\x6D\x65\x4E\x61\x6D\x65\x2C\x20\x7A\x6F\x6E\x65\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x74\x79\x70\x65\x22\x2C\x20\x67\x65\x74\x52\x52\x54\x79\x70\x65\x4E\x61\x6D\x65\x28\x72\x72\x2E\x54\x79\x70\x65\x29\x29\x0A\x09\x09\x70\x61\x72\x61\x6D\x73\x2E\x73\x65\x74\x28\x22\x72\x65\x63\x6F\x72\x64\x22\x2C\x20\x62\x74\x6F\x61\x28\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x72\x29\x29\x29\x0A\x0A\x09\x09\x6C\x65\x74\x20\x61\x70\x69\x20\x3D\x20\x52\x65\x73\x63\x61\x63\x68\x65\x64\x2E\x61\x70\x69\x5A\x6F\x6E\x65\x64\x52\x52\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\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\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\x73\x5B\x7A\x6F\x6E\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(1652688588, 53737390) + node.SetModTimeUnix(1652689149, 419222760) node.SetName("rescached.js") - node.SetSize(7451) + node.SetSize(7479) return node } diff --git a/zone_record_request.go b/zone_record_request.go index 3996643..2206b83 100644 --- a/zone_record_request.go +++ b/zone_record_request.go @@ -10,7 +10,7 @@ import ( // zoneRecordRequest contains the request parameters for adding or deleting // record on zone.d. type zoneRecordRequest struct { - Zone string `json:"zone"` + Name string `json:"name"` Type string `json:"type"` Record string `json:"record"` recordRaw []byte -- cgit v1.3