diff --git a/cmd/gonic/main.go b/cmd/gonic/main.go index a4386f8..2ec5ffd 100644 --- a/cmd/gonic/main.go +++ b/cmd/gonic/main.go @@ -29,6 +29,7 @@ func main() { set := flag.NewFlagSet(version.NAME, flag.ExitOnError) confListenAddr := set.String("listen-addr", "0.0.0.0:4747", "listen address (optional)") confMusicPath := set.String("music-path", "", "path to music") + confPodcastPath := set.String("podcast-path", "", "path to podcasts") confCachePath := set.String("cache-path", "/tmp/gonic_cache", "path to cache") confDBPath := set.String("db-path", "gonic.db", "path to database (optional)") confScanInterval := set.Int("scan-interval", 0, "interval (in minutes) to automatically scan music (optional)") @@ -60,6 +61,9 @@ func main() { if _, err := os.Stat(*confMusicPath); os.IsNotExist(err) { log.Fatal("please provide a valid music directory") } + if _, err := os.Stat(*confPodcastPath); *confPodcastPath != "" && os.IsNotExist(err) { + log.Fatal("please provide a valid podcast directory") + } if _, err := os.Stat(*confCachePath); os.IsNotExist(err) { if err := os.MkdirAll(*confCachePath, os.ModePerm); err != nil { log.Fatalf("couldn't create cache path: %v\n", err) @@ -87,6 +91,7 @@ func main() { CoverCachePath: coverCachePath, ProxyPrefix: *confProxyPrefix, GenreSplit: *confGenreSplit, + PodcastPath: *confPodcastPath, }) var g run.Group @@ -99,6 +104,10 @@ func main() { if *confJukeboxEnabled { g.Add(server.StartJukebox()) } + if *confProxyPrefix != "" { + g.Add(server.StartPodcastRefresher(time.Hour)) + } + if err := g.Run(); err != nil { log.Printf("error in job: %v", err) } diff --git a/contrib/config b/contrib/config index 52ec86a..621d66c 100644 --- a/contrib/config +++ b/contrib/config @@ -5,3 +5,4 @@ jukebox-enabled false listen-addr 127.0.0.1:4747 proxy-prefix /gonic scan-interval 0 +podcast-path diff --git a/go.mod b/go.mod index 8b807b3..9427ea5 100644 --- a/go.mod +++ b/go.mod @@ -24,6 +24,7 @@ require ( github.com/mewkiz/pkg v0.0.0-20200702171441-dd47075182ea // indirect github.com/mitchellh/copystructure v1.0.0 // indirect github.com/mitchellh/reflectwalk v1.0.1 // indirect + github.com/mmcdole/gofeed v1.1.0 github.com/nicksellen/audiotags v0.0.0-20160226222119-94015fa599bd github.com/oklog/run v1.1.0 github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c diff --git a/go.sum b/go.sum index 2a2f46b..bc8bb75 100644 --- a/go.sum +++ b/go.sum @@ -11,10 +11,13 @@ github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZC github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/goquery v1.5.1 h1:PSPBGne8NIUWw+/7vFBV+kG2J/5MOjbzc7154OaKCSE= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/d4l3k/messagediff v1.2.2-0.20190829033028-7e0a312ae40b/go.mod h1:Oozbb1TVXFac9FtSIxHBMnBCq2qeH/2KkEQxENCrlLo= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -46,6 +49,7 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2V github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gopherjs/gopherjs v0.0.0-20180628210949-0892b62f0d9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -99,6 +103,8 @@ github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/josephburnett/jd v0.0.0-20191228205456-aa1a7c66b42f h1:ijUonnyvDekPD7lUF4oQ1LV+dKaTnchEzmenMFa6NL4= github.com/josephburnett/jd v0.0.0-20191228205456-aa1a7c66b42f/go.mod h1:aeV+6oc13ogwzcRNHBe4vbyLmoQxMfEDoqyqCU9oE30= +github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= @@ -134,6 +140,14 @@ github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/I github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mmcdole/gofeed v1.1.0 h1:T2WrGLVJRV04PY2qwhEJLHCt9JiCtBhb6SmC8ZvJH08= +github.com/mmcdole/gofeed v1.1.0/go.mod h1:PPiVwgDXLlz2N83KB4TrIim2lyYM5Zn7ZWH9Pi4oHUk= +github.com/mmcdole/goxpp v0.0.0-20181012175147-0068e33feabf h1:sWGE2v+hO0Nd4yFU/S/mDBM5plIU8v/Qhfz41hkDIAI= +github.com/mmcdole/goxpp v0.0.0-20181012175147-0068e33feabf/go.mod h1:pasqhqstspkosTneA62Nc+2p9SOBBYAPbnmRRWPQ0V8= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/nicksellen/audiotags v0.0.0-20160226222119-94015fa599bd h1:xKn/gU8lZupoZt/HE7a/R3aH93iUO6JwyRsYelQUsRI= github.com/nicksellen/audiotags v0.0.0-20160226222119-94015fa599bd/go.mod h1:B6icauz2l4tkYQxmDtCH4qmNWz/evSW5CsOqp6IE5IE= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= @@ -151,11 +165,14 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be h1:ta7tUOvsPHVHGom5hKW5VXNc2xZIkfCKP8iaqOyYtUQ= github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be/go.mod h1:MIDFMn7db1kT65GmV94GzpX9Qdi7N/pQlwb+AN8wh+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/urfave/cli v1.22.3/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/wader/gormstore v0.0.0-20200328121358-65a111a20c23 h1:gtfR002LWpH9vQ1/GLbWBOTcS92cBi5PAR021lArKF8= github.com/wader/gormstore v0.0.0-20200328121358-65a111a20c23/go.mod h1:2z7nYWeR0xUeFNCmlyH6Qt6qigF+Kl/k4LbQbj6Ksus= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -201,6 +218,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2eP golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -217,6 +236,9 @@ golang.org/x/sys v0.0.0-20201223074533-0d417f636930 h1:vRgIt+nup/B/BwIS0g2oC0haq golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -232,6 +254,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/gormigrate.v1 v1.6.0 h1:XpYM6RHQPmzwY7Uyu+t+xxMXc86JYFJn4nEc9HzQjsI= gopkg.in/gormigrate.v1 v1.6.0/go.mod h1:Lf00lQrHqfSYWiTtPcyQabsDdM6ejZaMgV0OU6JMSlw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= diff --git a/server/assets/assets.gen.go b/server/assets/assets.gen.go index 71d58e5..c3d1c4e 100644 --- a/server/assets/assets.gen.go +++ b/server/assets/assets.gen.go @@ -7,35 +7,8 @@ type EmbeddedAsset struct { Bytes []byte } var Bytes = map[string]*EmbeddedAsset{ -"partials/head.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x68,0x65,0x61,0x64,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x6c,0x69,0x6e, -0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d, -0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69,0x63,0x2f, -0x72,0x65,0x73,0x65,0x74,0x2e,0x63,0x73,0x73,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65, -0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74, -0x70,0x73,0x3a,0x2f,0x2f,0x63,0x64,0x6e,0x2e,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x64,0x65,0x73,0x69,0x67,0x6e,0x69, -0x63,0x6f,0x6e,0x73,0x2e,0x63,0x6f,0x6d,0x2f,0x33,0x2e,0x36,0x2e,0x39,0x35,0x2f,0x63,0x73,0x73,0x2f,0x6d,0x61,0x74,0x65, -0x72,0x69,0x61,0x6c,0x64,0x65,0x73,0x69,0x67,0x6e,0x69,0x63,0x6f,0x6e,0x73,0x2e,0x6d,0x69,0x6e,0x2e,0x63,0x73,0x73,0x22, -0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22, -0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73, -0x74,0x61,0x74,0x69,0x63,0x2f,0x6d,0x61,0x69,0x6e,0x2e,0x63,0x73,0x73,0x22,0x20,0x7c,0x20,0x6e,0x6f,0x43,0x61,0x63,0x68, -0x65,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x68,0x6f,0x72,0x74,0x63, -0x75,0x74,0x20,0x69,0x63,0x6f,0x6e,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22, -0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69,0x63,0x2f,0x66,0x61,0x76,0x69,0x63,0x6f,0x6e,0x2e,0x69,0x63, -0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6d,0x61,0x67,0x65,0x2f,0x78,0x2d,0x69,0x63,0x6f, -0x6e,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x69,0x63,0x6f,0x6e,0x22,0x20,0x68,0x72,0x65, -0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69, -0x63,0x2f,0x66,0x61,0x76,0x69,0x63,0x6f,0x6e,0x2e,0x69,0x63,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d, -0x22,0x69,0x6d,0x61,0x67,0x65,0x2f,0x78,0x2d,0x69,0x63,0x6f,0x6e,0x22,0x3e,0x0a,0x3c,0x6d,0x65,0x74,0x61,0x20,0x6e,0x61, -0x6d,0x65,0x3d,0x22,0x76,0x69,0x65,0x77,0x70,0x6f,0x72,0x74,0x22,0x20,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x77, -0x69,0x64,0x74,0x68,0x3d,0x64,0x65,0x76,0x69,0x63,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x2c,0x20,0x69,0x6e,0x69,0x74,0x69, -0x61,0x6c,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,0x20,0x75,0x73,0x65,0x72,0x2d,0x73,0x63,0x61,0x6c,0x61,0x62,0x6c, -0x65,0x3d,0x6e,0x6f,0x22,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, "layouts/base.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1591464411, 0), + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ 0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x6c,0x61,0x79,0x6f,0x75,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x21, 0x64,0x6f,0x63,0x74,0x79,0x70,0x65,0x20,0x68,0x74,0x6d,0x6c,0x3e,0x0a,0x3c,0x68,0x74,0x6d,0x6c,0x3e,0x0a,0x20,0x20,0x20, @@ -80,7 +53,7 @@ var Bytes = map[string]*EmbeddedAsset{ 0x68,0x74,0x6d,0x6c,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, "layouts/user.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1591464411, 0), + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ 0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c, 0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x2d,0x73,0x69,0x64,0x65,0x20,0x74, @@ -96,301 +69,676 @@ var Bytes = map[string]*EmbeddedAsset{ 0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x2e, 0x20,0x7d,0x7d,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, -"static/main.css": &EmbeddedAsset{ - ModTime: time.Unix(1610405552, 0), +"pages/change_own_username.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ -0x3a,0x72,0x6f,0x6f,0x74,0x20,0x7b,0x0a,0x20,0x20,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x3a,0x20,0x31,0x33,0x70,0x78,0x3b,0x0a, -0x20,0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x64,0x79,0x3a,0x20,0x37,0x35,0x30,0x70,0x78,0x3b,0x0a,0x20, -0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e, -0x3a,0x20,0x35,0x31,0x30,0x70,0x78,0x3b,0x0a,0x20,0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x66,0x6f,0x72,0x6d,0x3a, -0x20,0x34,0x30,0x30,0x70,0x78,0x3b,0x0a,0x7d,0x0a,0x0a,0x40,0x6d,0x65,0x64,0x69,0x61,0x20,0x6f,0x6e,0x6c,0x79,0x20,0x73, -0x63,0x72,0x65,0x65,0x6e,0x20,0x61,0x6e,0x64,0x20,0x28,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x37,0x38, -0x30,0x70,0x78,0x29,0x20,0x7b,0x0a,0x20,0x20,0x3a,0x72,0x6f,0x6f,0x74,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x2d,0x2d,0x73, -0x69,0x7a,0x65,0x3a,0x20,0x31,0x31,0x70,0x78,0x3b,0x0a,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x2a,0x2c,0x0a,0x62,0x6f,0x64, -0x79,0x2c,0x0a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x2c,0x0a,0x64,0x69,0x76,0x2c,0x0a,0x69,0x2c,0x0a,0x69,0x6e,0x70,0x75,0x74, -0x5b,0x74,0x79,0x70,0x65,0x5d,0x2c,0x0a,0x73,0x65,0x6c,0x65,0x63,0x74,0x2c,0x0a,0x73,0x70,0x61,0x6e,0x2c,0x0a,0x68,0x74, -0x6d,0x6c,0x20,0x7b,0x0a,0x20,0x20,0x66,0x6f,0x6e,0x74,0x2d,0x66,0x61,0x6d,0x69,0x6c,0x79,0x3a,0x20,0x6d,0x6f,0x6e,0x6f, -0x73,0x70,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x66,0x6f,0x6e,0x74,0x2d,0x73,0x69,0x7a,0x65,0x3a,0x20,0x76,0x61,0x72,0x28, -0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x62,0x6c,0x61,0x63,0x6b,0x3b, -0x0a,0x20,0x20,0x6c,0x69,0x6e,0x65,0x2d,0x68,0x65,0x69,0x67,0x68,0x74,0x3a,0x20,0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x62,0x6f, -0x64,0x79,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d, -0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x64,0x79,0x29,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30, -0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20,0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x2d,0x79,0x3a,0x20,0x73,0x63,0x72, -0x6f,0x6c,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x5d,0x2c,0x0a,0x73,0x65,0x6c, -0x65,0x63,0x74,0x2c,0x0a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x2c,0x0a,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x7b,0x0a, -0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x72,0x61,0x64,0x69,0x75,0x73,0x3a,0x20,0x30,0x3b,0x0a,0x20,0x20,0x62,0x6f, -0x78,0x2d,0x73,0x69,0x7a,0x69,0x6e,0x67,0x3a,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x78,0x3b,0x0a,0x20,0x20, -0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30,0x3b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x3a,0x20,0x30,0x3b, -0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a,0x20,0x20,0x6f,0x75,0x74,0x6c,0x69, -0x6e,0x65,0x3a,0x20,0x31,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x63,0x63,0x63,0x3b,0x0a,0x20,0x20,0x68,0x65, -0x69,0x67,0x68,0x74,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x20,0x20,0x76,0x65,0x72, -0x74,0x69,0x63,0x61,0x6c,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3b,0x0a,0x7d,0x0a,0x0a, -0x69,0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x5d,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x63, -0x61,0x6c,0x63,0x28,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x39,0x29,0x3b,0x0a,0x20,0x20, -0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x77,0x68,0x69,0x74,0x65,0x3b, -0x0a,0x20,0x20,0x63,0x75,0x72,0x73,0x6f,0x72,0x3a,0x20,0x70,0x6f,0x69,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x69, -0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x5d,0x2c,0x0a,0x69,0x6e,0x70,0x75,0x74, -0x5b,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x5d,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69, -0x64,0x74,0x68,0x3a,0x20,0x31,0x30,0x30,0x25,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6f,0x72,0x6d,0x2e,0x62,0x6c,0x6f,0x63,0x6b, -0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x77,0x69, -0x64,0x74,0x68,0x2d,0x66,0x6f,0x72,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x6c,0x65,0x66,0x74, -0x3a,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20, -0x30,0x3b,0x0a,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x66,0x6c,0x65,0x78,0x3b,0x0a,0x20,0x20,0x66,0x6c, -0x65,0x78,0x2d,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x3b,0x0a,0x20,0x20, -0x61,0x6c,0x69,0x67,0x6e,0x2d,0x69,0x74,0x65,0x6d,0x73,0x3a,0x20,0x66,0x6c,0x65,0x78,0x2d,0x65,0x6e,0x64,0x3b,0x0a,0x20, -0x20,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x72,0x69,0x67,0x68,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x66, -0x6f,0x72,0x6d,0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x31,0x30,0x30,0x25,0x3b, -0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62,0x6c,0x65,0x20,0x7b,0x0a,0x20,0x20,0x77,0x68,0x69,0x74,0x65,0x2d,0x73,0x70,0x61,0x63, -0x65,0x3a,0x20,0x6e,0x6f,0x77,0x72,0x61,0x70,0x3b,0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62,0x6c,0x65,0x20,0x74,0x64,0x20,0x7b, -0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x2d,0x6c,0x65,0x66,0x74,0x3a,0x20,0x63,0x61,0x6c,0x63,0x28,0x76,0x61, -0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62, -0x6c,0x65,0x20,0x74,0x64,0x2e,0x74,0x65,0x78,0x74,0x2d,0x74,0x72,0x75,0x6e,0x63,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78, -0x74,0x2d,0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x3a,0x20,0x65,0x6c,0x6c,0x69,0x70,0x73,0x69,0x73,0x3b,0x0a,0x20,0x20, -0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x3a,0x20,0x68,0x69,0x64,0x64,0x65,0x6e,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d, -0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x70,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72, -0x3a,0x20,0x69,0x6e,0x68,0x65,0x72,0x69,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x61,0x2c,0x0a,0x61,0x3a,0x76,0x69,0x73,0x69,0x74, -0x65,0x64,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x36,0x34,0x63,0x31,0x3b,0x0a,0x20, -0x20,0x74,0x65,0x78,0x74,0x2d,0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a, -0x7d,0x0a,0x0a,0x61,0x3a,0x68,0x6f,0x76,0x65,0x72,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78,0x74,0x2d,0x64,0x65,0x63,0x6f, -0x72,0x61,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x75,0x6e,0x64,0x65,0x72,0x6c,0x69,0x6e,0x65,0x3b,0x0a,0x7d,0x0a,0x0a,0x23,0x63, -0x6f,0x6e,0x74,0x65,0x6e,0x74,0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x63, -0x61,0x6c,0x63,0x28,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x31,0x2e,0x35,0x29,0x3b,0x0a, -0x7d,0x0a,0x0a,0x23,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x7b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f, -0x74,0x74,0x6f,0x6d,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x31, -0x61,0x3b,0x0a,0x7d,0x0a,0x0a,0x23,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x69,0x6d,0x67,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69, -0x64,0x74,0x68,0x3a,0x20,0x36,0x30,0x25,0x3b,0x0a,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x62,0x6c,0x6f, -0x63,0x6b,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20, -0x68,0x65,0x69,0x67,0x68,0x74,0x3a,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x66,0x6c,0x61,0x73,0x68,0x2d, -0x77,0x61,0x72,0x6e,0x69,0x6e,0x67,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63, -0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x66,0x64,0x31,0x62,0x31,0x62,0x31,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65, -0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x66,0x64,0x31,0x62, -0x31,0x62,0x31,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x20,0x32, -0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x66,0x64,0x31,0x62,0x31,0x62,0x31,0x63,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e, -0x66,0x6c,0x61,0x73,0x68,0x2d,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f, -0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b,0x0a,0x20,0x20, -0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20, -0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74, -0x6f,0x6d,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b, -0x0a,0x7d,0x0a,0x0a,0x2e,0x62,0x6f,0x78,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d, -0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64, -0x65,0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30, -0x30,0x30,0x30,0x30,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x20, -0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x63,0x3b,0x0a,0x7d,0x0a,0x0a, -0x2e,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78, -0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x78,0x2d, -0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x40,0x6d,0x65,0x64,0x69,0x61,0x20, -0x6f,0x6e,0x6c,0x79,0x20,0x73,0x63,0x72,0x65,0x65,0x6e,0x20,0x61,0x6e,0x64,0x20,0x28,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64, -0x74,0x68,0x3a,0x20,0x37,0x38,0x30,0x70,0x78,0x29,0x20,0x7b,0x0a,0x20,0x20,0x2e,0x6e,0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c, -0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a,0x20,0x20, -0x7d,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78, -0x74,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x72,0x69,0x67,0x68,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74, -0x2d,0x6c,0x69,0x67,0x68,0x74,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x30,0x30,0x30, -0x30,0x38,0x32,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d,0x70,0x20,0x7b,0x0a,0x20,0x20,0x66,0x6f, -0x6e,0x74,0x2d,0x73,0x74,0x79,0x6c,0x65,0x3a,0x20,0x69,0x74,0x61,0x6c,0x69,0x63,0x3b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f, -0x72,0x3a,0x20,0x23,0x34,0x34,0x34,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74, -0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x6c,0x65,0x66,0x74,0x3a,0x20,0x61,0x75, -0x74,0x6f,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x7b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69, -0x6e,0x67,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x70,0x61,0x64, -0x64,0x65,0x64,0x2d,0x73,0x69,0x64,0x65,0x20,0x7b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x3a,0x20,0x30,0x20, -0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x61,0x6e,0x67,0x72,0x79,0x20,0x7b, -0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x66,0x34, -0x34,0x33,0x33,0x36,0x36,0x39,0x3b,0x0a,0x7d,0x0a, +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, +0x6e,0x67,0x69,0x6e,0x67,0x20,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x0a,0x20, +0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74, +0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x75,0x73,0x65, +0x72,0x6e,0x61,0x6d,0x65,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f, +0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, +0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61, +0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65, +0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76, +0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72, +0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, -"static/playlist-upload.js": &EmbeddedAsset{ - ModTime: time.Unix(1591464411, 0), +"pages/change_username.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ -0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28, -0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x69,0x6e,0x70,0x75,0x74,0x22,0x29, -0x2e,0x6f,0x6e,0x63,0x68,0x61,0x6e,0x67,0x65,0x20,0x3d,0x20,0x65,0x20,0x3d,0x3e,0x20,0x7b,0x0a,0x20,0x20,0x64,0x6f,0x63, -0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x70,0x6c, -0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x66,0x6f,0x72,0x6d,0x22,0x29,0x2e,0x73,0x75,0x62, -0x6d,0x69,0x74,0x28,0x29,0x3b,0x0a,0x7d,0x3b,0x0a, +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, +0x6e,0x67,0x69,0x6e,0x67,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e, +0x61,0x6d,0x65,0x20,0x7d,0x7d,0x27,0x73,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, +0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c, +0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22, +0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x5f,0x64, +0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72, +0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d, +0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74, +0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22, +0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f, +0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74, +0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, +0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, -"static/favicon.ico": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), +"pages/change_own_password.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ -0x00,0x00,0x01,0x00,0x01,0x00,0x20,0x20,0x00,0x00,0x01,0x00,0x20,0x00,0xa8,0x10,0x00,0x00,0x16,0x00,0x00,0x00,0x28,0x00, -0x00,0x00,0x20,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0xdc,0xf3,0xfb,0x06,0x42,0xa4, -0xcb,0xe6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xba,0xee,0xff,0x1a,0xb3,0xe6,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1c,0xb1,0xe3,0xff,0x4d,0x9f,0xc3,0xfb,0xb3,0xd1,0xdc,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xc8,0xe9,0xf5,0x0e,0x55,0xaa,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xbd,0xf1,0xff,0x1a,0xb7,0xeb,0xff,0x1a,0xb2,0xe5,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x41,0x99,0xbf,0xfb,0x9a,0xb5, -0xbf,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbf,0xdd,0xe8,0x0e,0x51,0xa8,0xcd,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x18,0xb0,0xe0,0xff,0x34,0x8e,0xb1,0xff,0x43,0x94, -0xb6,0xff,0x8b,0xbd,0xd9,0xff,0x7b,0xbd,0xdd,0xff,0x63,0xb5,0xdb,0xff,0x59,0xb2,0xda,0xff,0x46,0xb2,0xdd,0xff,0x37,0xb1, -0xde,0xff,0x28,0xb2,0xe1,0xff,0x20,0xb5,0xe7,0xff,0x1d,0xba,0xec,0xff,0x1a,0xbd,0xf1,0xff,0x1a,0xbf,0xf4,0xff,0x1a,0xc2, -0xf7,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xbb,0xf0,0xff,0x1a,0xb4,0xe7,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x3e,0x98,0xbe,0xfb,0x92,0xae,0xb8,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbc,0xd4,0xdd,0x0e,0x50,0xa7, -0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb8,0xeb,0xff,0x9d,0xb4, -0xc1,0xff,0xf5,0xfa,0xfc,0xff,0x9f,0xbc,0xcb,0xff,0xde,0xe4,0xe7,0xff,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf7,0xff,0xed,0xee, -0xee,0xff,0xe1,0xe7,0xea,0xff,0xcd,0xd9,0xdf,0xff,0xc9,0xd4,0xdc,0xff,0xd5,0xdb,0xde,0xff,0xdf,0xe6,0xea,0xff,0xdf,0xe8, -0xec,0xff,0xda,0xe1,0xe5,0xff,0xd2,0xde,0xe4,0xff,0x81,0xb1,0xcb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xba,0xef,0xff,0x39,0x9b,0xc2,0xfb,0x86,0xaa,0xb6,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xbb,0xce,0xd5,0x0e,0x4f,0xa6,0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x16,0xa4,0xd1,0xff,0xc9,0xd6,0xde,0xff,0xe2,0xea,0xee,0xff,0x96,0xb4,0xc2,0xff,0xd5,0xdc,0xdf,0xff,0xfe,0xff, -0xff,0xff,0x89,0xc8,0xe8,0xff,0x60,0xba,0xe3,0xff,0x3b,0xbd,0xed,0xff,0x20,0xc0,0xf4,0xff,0x1f,0xc1,0xf5,0xff,0x4b,0xc2, -0xf2,0xff,0xb1,0xd3,0xe8,0xff,0xf6,0xf6,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9e,0xc1,0xd6,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x37,0xa4,0xce,0xfb,0x80,0xa8, -0xb6,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbc,0xcb,0xd0,0x0e,0x50,0xa6,0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xc1,0xf5,0xff,0x1b,0x8b,0xb1,0xff,0xc8,0xd1,0xd5,0xff,0xe5,0xe9, -0xeb,0xff,0xfe,0xfe,0xfe,0xff,0xf6,0xfb,0xfd,0xff,0x6c,0xc3,0xea,0xff,0x87,0xd0,0xf3,0xff,0x9f,0xda,0xf9,0xff,0x5f,0xcd, -0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x30,0xc4,0xf7,0xff,0xe6,0xee,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0x8d,0xc0,0xdb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x36,0xa6,0xd0,0xfb,0x7d,0xa9,0xb8,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xc0,0xcd,0xd2,0x0e,0x52,0xa7, -0xcd,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x26,0xb0, -0xe0,0xff,0xf0,0xf5,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xff,0xff,0x7a,0xca,0xf0,0xff,0x27,0xbb, -0xef,0xff,0x29,0xc3,0xf7,0xff,0x20,0xc3,0xf8,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x5b,0xcd,0xfc,0xff,0xf7,0xfb, -0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7c,0xb9,0xd7,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x35,0xa7,0xd1,0xfb,0x7c,0xac,0xbd,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xcd,0xd7,0xda,0x0e,0x57,0xa9,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x2f,0xad,0xda,0xff,0xf9,0xfa,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xe9,0xf5,0xfb,0xff,0x6b,0xca,0xf5,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1e,0xc6,0xfc,0xff,0x8c,0xd5, -0xf9,0xff,0xe7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf9,0xfa,0xff,0xc8,0xd1,0xd7,0xff,0x55,0x9d,0xbd,0xff,0x1a,0xc0, -0xf5,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x35,0xa8,0xd2,0xfb,0x7c,0xb0, -0xc2,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xdd,0xe6,0xe9,0x0e,0x5e,0xaa,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x3a,0xad,0xd8,0xff,0xfa,0xfb,0xfc,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x96,0xd5,0xc1,0xff,0x96,0xd5,0xf2,0xff,0xab,0xdf, -0xfb,0xff,0xd6,0xee,0xfd,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb5,0xc1,0xc7,0xff,0xa1,0xba, -0xc6,0xff,0xd1,0xdd,0xe3,0xff,0xb0,0xc1,0xcb,0xff,0x4f,0x94,0xb3,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x37,0xa7,0xd1,0xfb,0x81,0xb7,0xc9,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xe6,0xf1,0xf5,0x03,0x35,0x9e, -0xc7,0xde,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x34,0xad, -0xd9,0xff,0xc6,0xd5,0xdd,0xff,0xd1,0xda,0xe0,0xff,0xd7,0xde,0xe2,0xff,0xe0,0xe8,0xec,0xff,0xed,0xf0,0xf1,0xff,0xbe,0xdf, -0xcf,0xff,0xef,0xf3,0xf5,0xff,0xf5,0xf8,0xfa,0xff,0xfb,0xfd,0xfd,0xff,0xfe,0xfe,0xfe,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, -0xff,0xff,0xd6,0xde,0xe2,0xff,0xb5,0xc9,0xd3,0xff,0xf2,0xf7,0xf9,0xff,0xff,0xff,0xff,0xff,0xa4,0xba,0xc5,0xff,0x1a,0xc3, -0xf8,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x40,0xa6,0xce,0xfb,0x97,0xc7,0xd7,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0x60,0x8f,0xa2,0x00,0x23,0x98,0xc1,0xd6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc5,0xfb,0xff,0x1a,0xc3,0xf8,0xff,0x1a,0xc1,0xf6,0xff,0x1a,0xbe, -0xf2,0xff,0x1a,0xbb,0xee,0xff,0x1e,0xb5,0xe6,0xff,0x2a,0xb3,0xe2,0xff,0x35,0xb1,0xdf,0xff,0x47,0xb1,0xdc,0xff,0x4f,0xb2, -0xdb,0xff,0x66,0xb9,0xde,0xff,0x7e,0xbd,0xdd,0xff,0x83,0xbc,0xda,0xff,0x60,0xa9,0xca,0xff,0x33,0x97,0xbd,0xff,0x83,0xb0, -0xc8,0xff,0x46,0xa9,0xd2,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x4d,0xa5,0xca,0xf4,0xc5,0xe5, -0xf0,0x0b,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xba,0xd8,0xe4,0x00,0x5c,0xa2,0xc2,0xd6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xc1,0xf6,0xff,0x24,0xa9,0xd6,0xff,0x25,0xa9, -0xd7,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x36,0x9a,0xc0,0xd6,0x7d,0xa1,0xb0,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xf2,0xf7,0xf9,0x00,0x3d,0x89, -0xa9,0xab,0x1a,0xb9,0xee,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x49,0xa6, -0xce,0xff,0xce,0xd8,0xdc,0xff,0xc8,0xd2,0xd6,0xff,0x5e,0xa7,0xc9,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x5c,0x9e,0xbd,0xc1,0xdc,0xe9,0xee,0x00,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0x60,0x91,0xa7,0xa0,0x1a,0xaf,0xe2,0xff,0x1a,0xb2,0xe6,0xff,0x1a,0xbb,0xf0,0xff,0x1b,0xc3, -0xf9,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1a,0xc0,0xf4,0xff,0x4d,0x98,0xba,0xff,0xdb,0xe2,0xe5,0xff,0xd3,0xdb,0xdf,0xff,0x62,0x9b,0xb7,0xff,0x1a,0xbf, -0xf3,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc6,0xfc,0xff,0x3f,0x8c,0xab,0xa4,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x44,0x78,0x8d,0x73,0x19,0xac,0xde,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb5,0xe8,0xff,0x1a,0xbc,0xf1,0xff,0x1b,0xc3,0xf9,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb7,0xe9,0xff,0x9f,0xbb,0xca,0xff,0xcc,0xd9,0xe0,0xff,0xa3,0xb8,0xc1,0xff,0x9d,0xb5, -0xbf,0xff,0xcb,0xd8,0xdf,0xff,0xa8,0xbf,0xcc,0xff,0x1b,0xb4,0xe6,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc4, -0xf9,0xff,0x4d,0x81,0x98,0x82,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x83,0x9c, -0xa7,0x6b,0x19,0xa7,0xd8,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb4,0xe7,0xff,0x1a,0xba,0xee,0xff,0x41,0x9e,0xc4,0xff,0xf9,0xfc,0xfd,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xfe,0xff,0x52,0xa6,0xca,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xbe,0xf2,0xff,0x68,0x8d,0x9d,0x72,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0x6f,0x9a,0xaa,0x3f,0x1b,0x9f,0xcd,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xaf,0xe2,0xff,0x1a,0xae,0xe1,0xff,0x1a,0xb0,0xe2,0xff,0x23,0x9a, -0xc5,0xff,0xda,0xe4,0xe9,0xff,0xcd,0xd9,0xde,0xff,0x8c,0x9f,0xa9,0xff,0x8c,0x9f,0xaa,0xff,0xcc,0xd8,0xdf,0xff,0xe1,0xea, -0xef,0xff,0x2c,0xa7,0xd3,0xff,0x1b,0xc6,0xfc,0xff,0x1a,0xc3,0xf8,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb7,0xe9,0xff,0x79,0x95,0xa2,0x56,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x57,0x80,0x8f,0x13,0x1e,0x97,0xc2,0xfc,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xac,0xde,0xff,0x5d,0x9f,0xbf,0xff,0xb2,0xc3,0xcd,0xff,0xc9,0xd1, -0xd5,0xff,0xa8,0xbf,0xcc,0xff,0x45,0x9b,0xc1,0xff,0x38,0x8f,0xb3,0xff,0x15,0x46,0x58,0xff,0x09,0x3d,0x4f,0xff,0x09,0x3d, -0x4f,0xff,0x15,0x46,0x59,0xff,0x3a,0x95,0xba,0xff,0x3e,0xa8,0xd2,0xff,0xa5,0xbe,0xce,0xff,0xc6,0xd0,0xd5,0xff,0xb4,0xc6, -0xd1,0xff,0x67,0xab,0xcc,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1c,0xac, -0xdb,0xfe,0x8a,0xb1,0xbf,0x2d,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xa3,0xc6, -0xd1,0x10,0x41,0x99,0xbf,0xfa,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xad,0xdf,0xff,0x8f,0xae,0xc0,0xff,0xf7,0xf9, -0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xf1,0xf2,0xff,0x6d,0x9e,0xb9,0xff,0x0e,0x65, -0x83,0xff,0x09,0x3e,0x50,0xff,0x09,0x3e,0x50,0xff,0x0f,0x6a,0x89,0xff,0x63,0x9f,0xbd,0xff,0xea,0xee,0xef,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfa,0xfb,0xff,0x9d,0xb8,0xc7,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x2d,0xa6,0xd1,0xfc,0x6a,0x96,0xa5,0x11,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0xb0,0xcd,0xd8,0x00,0x3a,0x91,0xb4,0xdb,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x52,0x9e, -0xc1,0xff,0xf5,0xf7,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xe6,0xea,0xec,0xff,0x2a,0x9c,0xc7,0xff,0x18,0xa2,0xd1,0xff,0x18,0xa3,0xd2,0xff,0x1f,0x9e,0xcb,0xff,0xdd,0xe3, -0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfa, -0xfa,0xff,0x68,0xaa,0xcb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x40,0xa0,0xc7,0xec,0xc5,0xe1,0xeb,0x09,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x9e,0xbe,0xca,0x0c,0x54,0x8c,0xa6,0xe6,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0xa7,0xbd,0xca,0xff,0xff,0xff,0xff,0xff,0xee,0xf1,0xf2,0xff,0x82,0x94,0x9e,0xff,0xb0,0xba, -0xc0,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0x80,0xab,0xc3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x65,0xa2,0xc1,0xff,0xfa,0xfc,0xfc,0xff,0xa1,0xad,0xb3,0xff,0x80,0x91,0x9a,0xff,0xf1,0xf4,0xf5,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0xc5,0xcf,0xff,0x1b,0xc4,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x2d,0x8a, -0xac,0xe6,0x52,0x83,0x93,0x0c,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xb9,0xe1,0xed,0x00,0x8b,0xab,0xb7,0x25,0x4f,0x8b, -0xa6,0xbc,0x13,0x82,0xa8,0xff,0x19,0xac,0xde,0xff,0x1a,0xaf,0xe2,0xff,0xbe,0xc8,0xcf,0xff,0xff,0xff,0xff,0xff,0xc8,0xce, -0xd2,0xff,0x0d,0x3f,0x51,0xff,0x52,0x71,0x7f,0xff,0xf7,0xfa,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9b,0xb7, -0xc8,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x88,0xb2,0xc9,0xff,0xf1,0xf4,0xf6,0xff,0x26,0x4d,0x5d,0xff,0x3a,0x5c, -0x6c,0xff,0xd2,0xd8,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xd3,0xda,0xff,0x19,0xb7, -0xea,0xff,0x1a,0xc2,0xf7,0xff,0x13,0x8b,0xb3,0xff,0x3f,0x8f,0xaf,0xc1,0x6d,0x95,0xa4,0x27,0x9b,0xce,0xe1,0x00,0x6d,0x95, -0xa9,0x7a,0x2f,0xa6,0xd1,0xf9,0x1a,0xbe,0xf2,0xff,0x16,0x9c,0xc9,0xff,0x17,0x9c,0xca,0xff,0x1a,0xb0,0xe3,0xff,0xa7,0xbd, -0xcb,0xff,0xff,0xff,0xff,0xff,0xf8,0xf9,0xfa,0xff,0xb5,0xbe,0xc2,0xff,0xd1,0xd9,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xfe,0xff,0xff,0xff,0x7e,0xab,0xc4,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x61,0xa0,0xbf,0xff,0xfa,0xfb, -0xfc,0xff,0xd0,0xd8,0xdb,0xff,0xbf,0xc7,0xcc,0xff,0xfb,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xb2,0xc3,0xce,0xff,0x1a,0xaf,0xe1,0xff,0x17,0xa1,0xd0,0xff,0x15,0x97,0xc2,0xff,0x1a,0xc0,0xf5,0xff,0x28,0xa8, -0xd4,0xf9,0x69,0x9c,0xb2,0x8b,0x3c,0xa0,0xc7,0xfd,0x18,0xb0,0xe0,0xff,0x14,0x93,0xbd,0xff,0x0f,0x73,0x94,0xff,0x13,0x8f, -0xb7,0xff,0x1b,0xc0,0xf5,0xff,0x51,0xa4,0xc9,0xff,0xf3,0xf6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xe8,0xea,0xff,0x29,0x9f,0xcb,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x19,0xa8,0xd9,0xff,0x6d,0xa2,0xbe,0xff,0xc8,0xd2,0xd8,0xff,0xf8,0xfa,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff, -0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfa,0xfb,0xff,0x64,0xa2,0xc1,0xff,0x1a,0xb0,0xe3,0xff,0x13,0x88,0xb0,0xff,0x0f,0x6b, -0x8a,0xff,0x13,0x89,0xb2,0xff,0x17,0xa5,0xd3,0xff,0x2a,0x99,0xc1,0xff,0x42,0xa1,0xc6,0xf8,0x1a,0xbe,0xf3,0xff,0x1a,0xae, -0xe0,0xff,0x14,0x96,0xc0,0xff,0x24,0x90,0xb7,0xfc,0x1c,0xb5,0xe6,0xff,0x1a,0xc3,0xf8,0xff,0x85,0xae,0xc5,0xff,0xf4,0xf7, -0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xef,0xf1,0xff,0x69,0xa2,0xc0,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xa9,0xda,0xff,0x55,0x9d, -0xc0,0xff,0xb5,0xc5,0xce,0xff,0xef,0xf2,0xf3,0xff,0xf7,0xf9,0xfa,0xff,0x97,0xb2,0xc3,0xff,0x19,0xac,0xdd,0xff,0x1a,0xa5, -0xd5,0xff,0x27,0x80,0xa3,0xfc,0x14,0x8d,0xb6,0xff,0x19,0xac,0xde,0xff,0x1a,0xaf,0xe2,0xff,0x30,0x93,0xba,0xff,0x4d,0x8d, -0xa9,0xa5,0x1a,0xc3,0xf8,0xff,0x18,0xae,0xdf,0xff,0x16,0xa7,0xd5,0xff,0x64,0x92,0xa8,0x93,0x3d,0x87,0xa5,0x9b,0x1b,0xbb, -0xee,0xff,0x1a,0xc2,0xf7,0xff,0x54,0xa9,0xce,0xff,0xac,0xc3,0xd0,0xff,0xbd,0xca,0xd2,0xff,0xa0,0xbd,0xcd,0xff,0x41,0xa9, -0xd3,0xff,0x1a,0xb5,0xe9,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xad,0xdf,0xff,0x35,0x9c,0xc5,0xff,0x53,0x9d,0xc0,0xff,0x19,0xab, -0xdd,0xff,0x1a,0xa9,0xda,0xff,0x65,0x95,0xad,0xbc,0x6e,0x90,0xa0,0x80,0x16,0x9b,0xc8,0xff,0x17,0xa2,0xd1,0xff,0x1a,0xaf, -0xe2,0xff,0x42,0x89,0xa7,0xb7,0x9e,0xb5,0xbf,0x2c,0x46,0x96,0xb7,0xe2,0x2a,0xa4,0xd0,0xfd,0x57,0x9a,0xb9,0xd1,0x6c,0x9a, -0xab,0x1f,0x5c,0x89,0x99,0x03,0x62,0x94,0xab,0x94,0x2a,0xab,0xd8,0xfc,0x1b,0xc4,0xfa,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc5, -0xfa,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf7,0xff,0x1a,0xb7,0xeb,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, -0xe3,0xff,0x1a,0xaf,0xe1,0xff,0x24,0x9c,0xc8,0xfc,0x65,0x94,0xab,0xa1,0xbf,0xd4,0xdc,0x0e,0x7c,0xa3,0xb1,0x15,0x3e,0x87, -0xa6,0xba,0x2a,0x97,0xc0,0xfb,0x3b,0x8c,0xaf,0xe8,0x68,0x8c,0x9a,0x2c,0xff,0xff,0xff,0x00,0x75,0x9a,0xa8,0x08,0x66,0x90, -0xa0,0x13,0xd0,0xe5,0xed,0x03,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xc0,0xdd,0xe7,0x00,0x6e,0x93,0xa2,0x32,0x57,0x91, -0xac,0xa1,0x40,0xa3,0xca,0xeb,0x1e,0xae,0xdd,0xfe,0x1a,0xbd,0xf1,0xff,0x1b,0xc5,0xfb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, -0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf7,0xff,0x1a,0xb7,0xea,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xaf,0xe2,0xff,0x19,0xaa, -0xdb,0xff,0x1f,0x9d,0xca,0xff,0x34,0x94,0xba,0xeb,0x57,0x8e,0xa8,0xab,0x8e,0xa9,0xb4,0x45,0x9f,0xc5,0xd3,0x00,0xff,0xff, -0xff,0x00,0xff,0xff,0xff,0x00,0xa1,0xc2,0xcd,0x00,0x69,0x91,0xa0,0x12,0x92,0xb2,0xbd,0x0c,0xff,0xff,0xff,0x00,0x00,0x00, -0x00,0x0b,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00, -0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x3b,0x49,0x4d,0x39,0x5d,0x74,0x7e,0x64,0x4f,0x71,0x80,0x9b,0x44,0x7c, -0x95,0xc8,0x55,0x92,0xae,0xfe,0x19,0x8a,0xaf,0xff,0x12,0x8e,0xb5,0xff,0x12,0x8f,0xb7,0xff,0x19,0x8b,0xb2,0xff,0x52,0x8c, -0xa7,0xfe,0x4b,0x7c,0x93,0xd0,0x4e,0x6f,0x7e,0x9f,0x73,0x87,0x8f,0x73,0x3b,0x4a,0x4f,0x3a,0x01,0x01,0x01,0x0e,0x00,0x00, -0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x35,0x35,0x35,0x07,0x97,0x97, -0x97,0x27,0xdb,0xdb,0xdb,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00, -0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0xc0,0x00, -0x00,0x01,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00, -0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xe0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0x80,0x00,0x00,0x01,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8e,0x00,0x00,0x79,0x00,0x00, -0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, +0x6e,0x67,0x69,0x6e,0x67,0x20,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x0a,0x20, +0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74, +0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x70,0x61,0x73, +0x73,0x77,0x6f,0x72,0x64,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f, +0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, +0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, +0x5f,0x6f,0x6e,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65, +0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77, +0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70, +0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72, +0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77, +0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66,0x79,0x20,0x6e, +0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69, +0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, +0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c, +0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, +}}, +"pages/not_found.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c, +0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65,0x20,0x6e,0x6f,0x74,0x20,0x66,0x6f,0x75,0x6e,0x64,0x0a, +0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64, +0x20,0x7d,0x7d,0x0a, +}}, +"pages/update_lastfm_api_key.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x6b,0x65,0x79,0x2d,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x75,0x70,0x64,0x61, +0x74,0x69,0x6e,0x67,0x20,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x20,0x6b,0x65,0x79,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, +0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78, +0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x79,0x6f,0x75,0x20,0x63,0x61,0x6e,0x20,0x67,0x65,0x74, +0x20,0x61,0x6e,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74, +0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x61,0x70,0x69,0x2f,0x61,0x63,0x63, +0x6f,0x75,0x6e,0x74,0x2f,0x63,0x72,0x65,0x61,0x74,0x65,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f,0x62,0x6c, +0x61,0x6e,0x6b,0x22,0x3e,0x68,0x65,0x72,0x65,0x3c,0x2f,0x61,0x3e,0x20,0x28,0x6e,0x6f,0x74,0x65,0x3a,0x20,0x6f,0x6e,0x6c, +0x79,0x20,0x74,0x68,0x65,0x20,0x22,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6e,0x61,0x6d,0x65,0x22, +0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x69,0x73,0x20,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x29,0x3c,0x2f,0x70,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x3c,0x70,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67, +0x68,0x74,0x22,0x3e,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x20,0x6b,0x65,0x79,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x3c, +0x69,0x3e,0x7b,0x7b,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x22,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x22,0x20,0x2e, +0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41,0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x3c,0x2f, +0x69,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20, +0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x63,0x75,0x72,0x72,0x65, +0x6e,0x74,0x20,0x73,0x65,0x63,0x72,0x65,0x74,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x3c,0x69,0x3e,0x7b,0x7b,0x20,0x64, +0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x22,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x22,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e, +0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41,0x50,0x49,0x53,0x65,0x63,0x72,0x65,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x69,0x3e,0x3c, +0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b, +0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6c,0x61, +0x73,0x74,0x66,0x6d,0x5f,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74, +0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70, +0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x61,0x70,0x69,0x5f,0x6b, +0x65,0x79,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x22,0x20,0x70,0x6c,0x61,0x63,0x65, +0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x6b,0x65,0x79,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d, +0x22,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x20,0x70, +0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75, +0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x64,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20, +0x7d,0x7d,0x0a, +}}, +"pages/change_password.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, +0x6e,0x67,0x69,0x6e,0x67,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e, +0x61,0x6d,0x65,0x20,0x7d,0x7d,0x27,0x73,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, +0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c, +0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22, +0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x64, +0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72, +0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d, +0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74, +0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77, +0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f, +0x6f,0x6e,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x70,0x61, +0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20, +0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73, +0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, +0x5f,0x74,0x77,0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66, +0x79,0x20,0x6e,0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61, +0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d, +0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, +}}, +"pages/delete_user.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x72,0x65,0x6d,0x6f,0x76,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20, +0x64,0x65,0x6c,0x65,0x74,0x69,0x6e,0x67,0x20,0x75,0x73,0x65,0x72,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74, +0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72, +0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x72,0x65,0x20,0x79,0x6f,0x75,0x20,0x73, +0x75,0x72,0x65,0x3f,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20, +0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x74,0x68,0x65,0x69,0x72, +0x20,0x70,0x6c,0x61,0x79,0x73,0x2c,0x20,0x73,0x74,0x61,0x72,0x72,0x65,0x64,0x2c,0x20,0x65,0x74,0x63,0x2e,0x20,0x77,0x69, +0x6c,0x6c,0x20,0x61,0x6c,0x73,0x6f,0x20,0x62,0x65,0x20,0x64,0x65,0x6c,0x65,0x74,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63, +0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20, +0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x75,0x73, +0x65,0x72,0x5f,0x64,0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64, +0x55,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74, +0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70, +0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22, +0x79,0x65,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e, +0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, +}}, +"pages/create_user.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x70,0x6c,0x75,0x73,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x72, +0x65,0x61,0x74,0x69,0x6e,0x67,0x20,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69, +0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63, +0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d, +0x69,0x6e,0x2f,0x63,0x72,0x65,0x61,0x74,0x65,0x5f,0x75,0x73,0x65,0x72,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d, +0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69, +0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65, +0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70, +0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73, +0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20, +0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20,0x70,0x6c,0x61,0x63, +0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72, +0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d, +0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f, +0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66,0x79,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62, +0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d, +0x7d,0x0a, +}}, +"pages/home.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1612357018, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, +0x64,0x69,0x2d,0x63,0x68,0x61,0x72,0x74,0x2d,0x61,0x72,0x63,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x73,0x74,0x61,0x74,0x73, +0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61, +0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x61,0x74,0x73,0x22,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e,0x61,0x72,0x74,0x69,0x73,0x74,0x73,0x3a,0x3c,0x2f,0x74,0x64, +0x3e,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x2e,0x41,0x72,0x74,0x69,0x73,0x74,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d, +0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, +0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e,0x61,0x6c,0x62,0x75,0x6d,0x73,0x3a,0x3c,0x2f,0x74,0x64,0x3e,0x20,0x3c,0x74,0x64,0x3e, +0x7b,0x7b,0x20,0x2e,0x41,0x6c,0x62,0x75,0x6d,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f, +0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e, +0x74,0x72,0x61,0x63,0x6b,0x73,0x3a,0x3c,0x2f,0x74,0x64,0x3e,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x2e,0x54,0x72,0x61, +0x63,0x6b,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e, +0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64, +0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d, +0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20, +0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x6c,0x61,0x73,0x74,0x66,0x6d,0x22,0x3e,0x3c, +0x2f,0x69,0x3e,0x20,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72, +0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x67,0x6f,0x6e,0x69,0x63,0x20,0x63,0x61,0x6e,0x20,0x73,0x63,0x72,0x6f,0x62,0x62,0x6c, +0x65,0x20,0x74,0x6f,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77, +0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f,0x62,0x6c,0x61, +0x6e,0x6b,0x22,0x3e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x3c,0x2f,0x61,0x3e,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x20, +0x75,0x73,0x65,0x72,0x20,0x28,0x62,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20,0x6d,0x75,0x73,0x74, +0x20,0x73,0x65,0x74,0x20,0x61,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x29,0x3c,0x2f, +0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63, +0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41, +0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70, +0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x63,0x75, +0x72,0x72,0x65,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x75,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x61,0x73,0x74, +0x46,0x4d,0x53,0x65,0x73,0x73,0x69,0x6f,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x3e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, +0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66, +0x6f,0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64, +0x6d,0x69,0x6e,0x2f,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d, +0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, +0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x22, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63, +0x6c,0x61,0x73,0x73,0x3d,0x22,0x61,0x6e,0x67,0x72,0x79,0x22,0x3e,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73, +0x70,0x61,0x6e,0x3e,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x7b,0x7b,0x20,0x24,0x63,0x62,0x50,0x61,0x74,0x68,0x20,0x3a,0x3d,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, +0x64,0x6d,0x69,0x6e,0x2f,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x24,0x63,0x62,0x55,0x52, +0x4c,0x20,0x3a,0x3d,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x25,0x73,0x25,0x73,0x22,0x20,0x2e,0x52,0x65,0x71,0x75, +0x65,0x73,0x74,0x52,0x6f,0x6f,0x74,0x20,0x24,0x63,0x62,0x50,0x61,0x74,0x68,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70, +0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x61,0x70,0x69,0x2f,0x61,0x75,0x74,0x68, +0x2f,0x3f,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x3d,0x7b,0x7b,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73, +0x74,0x46,0x4d,0x41,0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x26,0x63,0x62,0x3d,0x7b,0x7b,0x20,0x24,0x63,0x62,0x55,0x52, +0x4c,0x20,0x7d,0x7d,0x22,0x3e,0x6c,0x69,0x6e,0x6b,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, +0x3e,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x20,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x6e,0x6f,0x74,0x20,0x2e,0x55,0x73,0x65,0x72, +0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, +0x22,0x3e,0x70,0x6c,0x65,0x61,0x73,0x65,0x20,0x61,0x73,0x6b,0x20,0x79,0x6f,0x75,0x72,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20, +0x74,0x6f,0x20,0x73,0x65,0x74,0x20,0x69,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65, +0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65, +0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x70,0x3e,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, +0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x61,0x70,0x69,0x5f,0x6b, +0x65,0x79,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x75,0x70,0x64,0x61,0x74,0x65,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x26,0x23, +0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b, +0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76, +0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78, +0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74, +0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d, +0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x62,0x72,0x61,0x69,0x6e,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x6c,0x69,0x73, +0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70, +0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x70,0x3e,0x67,0x6f,0x6e,0x69,0x63,0x20,0x63,0x61,0x6e,0x20,0x73,0x63,0x72,0x6f,0x62,0x62,0x6c,0x65,0x20, +0x74,0x6f,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x6c,0x69,0x73,0x74, +0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x2e,0x6f,0x72,0x67,0x2f,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f, +0x62,0x6c,0x61,0x6e,0x6b,0x22,0x3e,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x3c,0x2f,0x61,0x3e,0x20, +0x61,0x6e,0x64,0x20,0x63,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x20,0x73,0x69,0x74,0x65,0x73,0x3c,0x2f,0x70,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61, +0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, +0x22,0x3e,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x75,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74, +0x65,0x6e,0x42,0x72,0x61,0x69,0x6e,0x7a,0x54,0x6f,0x6b,0x65,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x3e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, +0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20, +0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f, +0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x5f,0x64,0x6f,0x22,0x20, +0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22, +0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x61,0x6e,0x67,0x72,0x79,0x22,0x3e,0x75, +0x6e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61, +0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x6c, +0x69,0x6e,0x6b,0x5f,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22, +0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78, +0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x72,0x6c,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65, +0x72,0x3d,0x22,0x73,0x65,0x72,0x76,0x65,0x72,0x20,0x61,0x64,0x64,0x72,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x7b, +0x7b,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x2e,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x4c,0x69,0x73,0x74,0x65,0x6e, +0x42,0x72,0x61,0x69,0x6e,0x7a,0x55,0x52,0x4c,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74,0x65,0x6e,0x42,0x72, +0x61,0x69,0x6e,0x7a,0x55,0x52,0x4c,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20, +0x6e,0x61,0x6d,0x65,0x3d,0x22,0x74,0x6f,0x6b,0x65,0x6e,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72, +0x3d,0x22,0x65,0x31,0x39,0x39,0x62,0x33,0x31,0x31,0x61,0x62,0x64,0x30,0x31,0x66,0x30,0x64,0x22,0x20,0x76,0x61,0x6c,0x75, +0x65,0x3d,0x22,0x7b,0x7b,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74,0x65,0x6e,0x42,0x72,0x61,0x69,0x6e,0x7a, +0x54,0x6f,0x6b,0x65,0x6e,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20, +0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x64,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65, +0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a, +0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e, +0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2f,0x2a,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20,0x70, +0x61,0x6e,0x65,0x6c,0x20,0x74,0x6f,0x20,0x6d,0x61,0x6e,0x61,0x67,0x65,0x20,0x61,0x6c,0x6c,0x20,0x75,0x73,0x65,0x72,0x73, +0x20,0x2a,0x2f,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73, +0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x61,0x63,0x63,0x6f, +0x75,0x6e,0x74,0x2d,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x75,0x73,0x65,0x72,0x73, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x75,0x73,0x65,0x72,0x20, +0x3a,0x3d,0x20,0x2e,0x41,0x6c,0x6c,0x55,0x73,0x65,0x72,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x69,0x3e,0x7b,0x7b,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7d,0x7d,0x3c, +0x2f,0x69,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c, +0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x20,0x6e,0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c, +0x22,0x3e,0x7b,0x7b,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64, +0x61,0x74,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68, +0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20, +0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x3f, +0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61, +0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f, +0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61, +0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f, +0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65, +0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61, +0x6e,0x67,0x65,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75, +0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x70,0x61,0x73,0x73, +0x77,0x6f,0x72,0x64,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69, +0x67,0x68,0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d, +0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73, +0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x64, +0x65,0x6c,0x65,0x74,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70, +0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x75,0x73,0x65, +0x72,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20, +0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x64,0x65,0x6c,0x65,0x74,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f, +0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20, +0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x72, +0x65,0x61,0x74,0x65,0x5f,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x75, +0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x6e,0x65,0x77,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c, +0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x7b, +0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2f,0x2a,0x20,0x75, +0x73,0x65,0x72,0x20,0x70,0x61,0x6e,0x65,0x6c,0x20,0x74,0x6f,0x20,0x6d,0x61,0x6e,0x61,0x67,0x65,0x20,0x74,0x68,0x65,0x6d, +0x73,0x65,0x6c,0x76,0x65,0x73,0x20,0x2a,0x2f,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64, +0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x79,0x6f,0x75,0x72,0x20,0x61,0x63,0x63, +0x6f,0x75,0x6e,0x74,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67, +0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66, +0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65, +0x5f,0x6f,0x77,0x6e,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73, +0x3d,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x68,0x61,0x6e,0x67,0x65,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d, +0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, +0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, +0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, +0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x68,0x61, +0x6e,0x67,0x65,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e, +0x64,0x20,0x7d,0x7d,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22, +0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c, +0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x66,0x6f,0x6c,0x64,0x65, +0x72,0x2d,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x72,0x65,0x63,0x65,0x6e,0x74,0x20, +0x66,0x6f,0x6c,0x64,0x65,0x72,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c, +0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x74, +0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69, +0x66,0x20,0x65,0x71,0x20,0x28,0x6c,0x65,0x6e,0x20,0x2e,0x52,0x65,0x63,0x65,0x6e,0x74,0x46,0x6f,0x6c,0x64,0x65,0x72,0x73, +0x29,0x20,0x30,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x6e,0x6f,0x20,0x66, +0x6f,0x6c,0x64,0x65,0x72,0x73,0x20,0x79,0x65,0x74,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62, +0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x66,0x6f,0x6c,0x64,0x65,0x72,0x73,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x67,0x72,0x6f,0x75,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x25,0x22,0x20, +0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x20,0x77,0x69,0x64,0x74, +0x68,0x3d,0x22,0x30,0x25,0x22,0x20,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x6f,0x6c,0x67, +0x72,0x6f,0x75,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24, +0x66,0x6f,0x6c,0x64,0x65,0x72,0x20,0x3a,0x3d,0x20,0x2e,0x52,0x65,0x63,0x65,0x6e,0x74,0x46,0x6f,0x6c,0x64,0x65,0x72,0x73, +0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22, +0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x74,0x65,0x78,0x74,0x2d,0x74,0x72,0x75,0x6e,0x63,0x22,0x3e,0x7b, +0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x52,0x69,0x67,0x68,0x74,0x50,0x61,0x74,0x68,0x20,0x7d,0x7d,0x3c,0x2f, +0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e, +0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, +0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x4d,0x6f,0x64,0x69,0x66, +0x69,0x65,0x64,0x41,0x74,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x4d,0x6f,0x64, +0x69,0x66,0x69,0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64,0x61,0x74,0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f, +0x73,0x70,0x61,0x6e,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, +0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x7b,0x7b,0x2d,0x20,0x69,0x66,0x20,0x61,0x6e,0x64,0x20,0x28,0x6e,0x6f,0x74,0x20,0x2e,0x49,0x73,0x53,0x63,0x61,0x6e,0x6e, +0x69,0x6e,0x67,0x29,0x20,0x28,0x2e,0x55,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x29,0x20,0x2d,0x7d,0x7d, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2d,0x20,0x69,0x66,0x20,0x6e,0x6f,0x74,0x20, +0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x2e,0x49,0x73,0x5a,0x65,0x72,0x6f,0x20,0x2d,0x7d,0x7d, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b, +0x20,0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x20,0x7d,0x7d,0x22,0x3e,0x73,0x63,0x61,0x6e,0x6e, +0x65,0x64,0x20,0x7b,0x7b,0x20,0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x20,0x7c,0x20,0x64,0x61, +0x74,0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22, +0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x72,0x74,0x5f,0x73,0x63,0x61,0x6e,0x5f,0x69,0x6e,0x63,0x5f,0x64,0x6f, +0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, +0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x73,0x74,0x61,0x72,0x74,0x20,0x61, +0x20,0x69,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x61,0x6c,0x20,0x73,0x63,0x61,0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, +0x3d,0x22,0x73,0x63,0x61,0x6e,0x20,0x6e,0x6f,0x77,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f, +0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d, +0x69,0x6e,0x2f,0x73,0x74,0x61,0x72,0x74,0x5f,0x73,0x63,0x61,0x6e,0x5f,0x66,0x75,0x6c,0x6c,0x5f,0x64,0x6f,0x22,0x20,0x7d, +0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73, +0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x73,0x74,0x61,0x72,0x74,0x20,0x61,0x20,0x66,0x75, +0x6c,0x6c,0x20,0x73,0x63,0x61,0x6e,0x20,0x28,0x74,0x61,0x6b,0x65,0x73,0x20,0x6c,0x6f,0x6e,0x67,0x65,0x72,0x2c,0x20,0x61, +0x6e,0x64,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x6e,0x26,0x23,0x33,0x39,0x3b,0x74,0x20,0x75,0x73,0x75,0x61,0x6c,0x6c,0x79, +0x20,0x62,0x65,0x20,0x6e,0x65,0x63,0x65,0x73,0x73,0x61,0x72,0x79,0x29,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x73, +0x63,0x61,0x6e,0x20,0x66,0x75,0x6c,0x6c,0x20,0x28,0x21,0x29,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e, +0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c, +0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c, +0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64, +0x69,0x20,0x6d,0x64,0x69,0x2d,0x66,0x69,0x6c,0x65,0x2d,0x6d,0x75,0x73,0x69,0x63,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x74, +0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x69,0x6e,0x67,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20,0x70,0x72,0x6f,0x66,0x69,0x6c, +0x65,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63, +0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65, +0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x79,0x6f, +0x75,0x20,0x63,0x61,0x6e,0x20,0x66,0x69,0x6e,0x64,0x20,0x79,0x6f,0x75,0x72,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x27,0x73, +0x20,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61,0x6d,0x65,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x67,0x6f,0x6e,0x69, +0x63,0x20,0x6c,0x6f,0x67,0x73,0x2e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x73, +0x6f,0x6d,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x20,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61,0x6d,0x65,0x73,0x20, +0x61,0x72,0x65,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d, +0x70,0x22,0x3e,0x44,0x53,0x75,0x62,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x2c,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c, +0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x4a,0x61,0x6d,0x73,0x74,0x61,0x73,0x68,0x3c, +0x2f,0x73,0x70,0x61,0x6e,0x3e,0x2c,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78, +0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x53,0x6f,0x75,0x6e,0x64,0x77,0x61,0x76,0x65,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, +0x2c,0x20,0x6f,0x72,0x20,0x75,0x73,0x65,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65, +0x78,0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x2a,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x61,0x73,0x20,0x66,0x61,0x6c,0x6c, +0x62,0x61,0x63,0x6b,0x20,0x72,0x75,0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x20,0x63,0x6c,0x69,0x65,0x6e,0x74, +0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f, +0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x70,0x72,0x65,0x66,0x20,0x3a,0x3d,0x20,0x2e,0x54,0x72,0x61,0x6e, +0x73,0x63,0x6f,0x64,0x65,0x50,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x3a,0x3d,0x20,0x6b, +0x65,0x62,0x61,0x62,0x63,0x61,0x73,0x65,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7d,0x7d, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69, +0x64,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x7b,0x7b,0x20,0x24,0x66,0x6f, +0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x7d,0x7d,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20, +0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x74,0x72, +0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x5f,0x70,0x72,0x65,0x66,0x5f,0x64,0x6f,0x3f,0x63,0x6c,0x69,0x65,0x6e,0x74,0x3d,0x25, +0x73,0x22,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d, +0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20, +0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x72,0x65, +0x66,0x2e,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72, +0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x7b,0x7b,0x20,0x24,0x66,0x6f, +0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69, +0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x64,0x65,0x6c,0x65,0x74,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d,0x22,0x74, +0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20,0x61,0x63,0x74,0x69,0x6f, +0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x72,0x65,0x61,0x74, +0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x5f,0x70,0x72,0x65,0x66,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22, +0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f, +0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20, +0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x63,0x6c,0x69,0x65,0x6e,0x74, +0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61, +0x6d,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74, +0x64,0x3e,0x3c,0x73,0x65,0x6c,0x65,0x63,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64, +0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x72,0x6f,0x66,0x69,0x6c, +0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72, +0x61,0x6e,0x67,0x65,0x20,0x24,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x3a,0x3d,0x20,0x2e,0x54,0x72,0x61,0x6e,0x73,0x63, +0x6f,0x64,0x65,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x20,0x76,0x61,0x6c,0x75,0x65, +0x3d,0x22,0x7b,0x7b,0x20,0x24,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x72, +0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x73,0x65,0x6c,0x65,0x63,0x74,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f, +0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20, +0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x73,0x61,0x76, +0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69, +0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61, +0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73, +0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, +0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x72,0x73,0x73,0x2d,0x62,0x6f,0x78, +0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69, +0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64, +0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x79,0x6f,0x75,0x20,0x63,0x61,0x6e,0x20,0x61,0x64,0x64,0x20,0x70, +0x6f,0x64,0x63,0x61,0x73,0x74,0x73,0x20,0x72,0x73,0x73,0x20,0x66,0x65,0x65,0x64,0x73,0x20,0x68,0x65,0x72,0x65,0x3c,0x2f, +0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63, +0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x2d,0x70, +0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20, +0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x70,0x72,0x65,0x66,0x20,0x3a,0x3d,0x20,0x2e,0x50,0x6f,0x64,0x63,0x61,0x73,0x74,0x73, +0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d,0x22,0x70, +0x6f,0x64,0x63,0x61,0x73,0x74,0x2d,0x7b,0x7b,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x49,0x44,0x20,0x7d,0x7d,0x22,0x20,0x61, +0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e, +0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x5f,0x64,0x6f,0x3f,0x69,0x64,0x3d,0x25,0x64, +0x22,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x49,0x44,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65, +0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x72,0x65,0x66, +0x2e,0x54,0x69,0x74,0x6c,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22, +0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x2d,0x7b,0x7b,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x49,0x44,0x20,0x7d,0x7d,0x22,0x20, +0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x64,0x65,0x6c, +0x65,0x74,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, +0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d,0x22,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x2d,0x61,0x64,0x64,0x22,0x20,0x61, +0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x61, +0x64,0x64,0x5f,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f, +0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x70,0x6f, +0x64,0x63,0x61,0x73,0x74,0x2d,0x61,0x64,0x64,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x6e, +0x61,0x6d,0x65,0x3d,0x22,0x66,0x65,0x65,0x64,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22, +0x72,0x73,0x73,0x20,0x66,0x65,0x65,0x64,0x20,0x75,0x72,0x6c,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d, +0x22,0x70,0x6f,0x64,0x63,0x61,0x73,0x74,0x2d,0x61,0x64,0x64,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d, +0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x73,0x61,0x76,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74, +0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a, +0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74, +0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d, +0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x6d,0x75,0x73,0x69,0x63,0x22,0x3e,0x3c, +0x2f,0x69,0x3e,0x20,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e, +0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72, +0x69,0x67,0x68,0x74,0x20,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x65,0x71,0x20,0x28,0x6c,0x65,0x6e,0x20,0x2e,0x50,0x6c,0x61,0x79,0x6c,0x69,0x73, +0x74,0x73,0x29,0x20,0x30,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70, +0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x6e,0x6f, +0x20,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x20,0x79,0x65,0x74,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69, +0x73,0x74,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24, +0x69,0x2c,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x20,0x3a,0x3d,0x20,0x2e,0x50,0x6c,0x61,0x79,0x6c,0x69,0x73, +0x74,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d, +0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x2d,0x7b,0x7b,0x20,0x24,0x69,0x20, +0x7d,0x7d,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f, +0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x5f,0x64,0x6f, +0x3f,0x69,0x64,0x3d,0x25,0x64,0x22,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x49,0x44,0x20,0x7c,0x20,0x70, +0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f, +0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74, +0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x7b,0x7b,0x20, +0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x73,0x70,0x61,0x6e, +0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x28,0x7b,0x7b,0x20, +0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x54,0x72,0x61,0x63,0x6b,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x20, +0x74,0x72,0x61,0x63,0x6b,0x73,0x29,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6e, +0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c,0x22,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65, +0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b,0x20,0x24,0x70,0x6c,0x61, +0x79,0x6c,0x69,0x73,0x74,0x2e,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x41,0x74,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24, +0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64,0x61,0x74, +0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74, +0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x2d, +0x7b,0x7b,0x20,0x24,0x69,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20, +0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x64,0x65,0x6c,0x65,0x74,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, +0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65, +0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d, +0x66,0x6f,0x72,0x6d,0x22,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6e,0x63,0x74,0x79,0x70, +0x65,0x3d,0x22,0x6d,0x75,0x6c,0x74,0x69,0x70,0x61,0x72,0x74,0x2f,0x66,0x6f,0x72,0x6d,0x2d,0x64,0x61,0x74,0x61,0x22,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70, +0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70,0x6c,0x6f,0x61,0x64,0x5f,0x70,0x6c,0x61,0x79,0x6c, +0x69,0x73,0x74,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22, +0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x72,0x65,0x6c,0x61,0x74,0x69,0x76,0x65,0x3b,0x22,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x69,0x64,0x3d, +0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x69,0x6e,0x70,0x75,0x74,0x22,0x20, +0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74, +0x65,0x3b,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x20,0x30,0x3b,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x6c, +0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x66,0x69,0x6c,0x65,0x73,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x66,0x69,0x6c,0x65, +0x22,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x20,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x62,0x75,0x74,0x74,0x6f, +0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x6c,0x6f,0x61,0x64,0x20,0x6d,0x33,0x75,0x38,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, +0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x63,0x72,0x69, +0x70,0x74,0x20,0x73,0x72,0x63,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f, +0x73,0x74,0x61,0x74,0x69,0x63,0x2f,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x6a, +0x73,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64, +0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, +}}, +"pages/login.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c, +0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c, +0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64, +0x69,0x20,0x6d,0x64,0x69,0x2d,0x6c,0x6f,0x67,0x69,0x6e,0x2d,0x76,0x61,0x72,0x69,0x61,0x6e,0x74,0x22,0x3e,0x3c,0x2f,0x69, +0x3e,0x20,0x6c,0x6f,0x67,0x69,0x6e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c, +0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f, +0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x6c,0x6f,0x67,0x69,0x6e, +0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a, +0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78, +0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75, +0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x75,0x73, +0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20, +0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73, +0x77,0x6f,0x72,0x64,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x70,0x6c, +0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20, +0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69, +0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x6c,0x6f,0x67,0x69,0x6e,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, +0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, "static/gonic.png": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,0x00,0x00,0x0e,0x8c,0x00,0x00,0x03,0xbd, 0x08,0x06,0x00,0x00,0x00,0x02,0x78,0xa4,0xad,0x00,0x00,0x0c,0x4c,0x7a,0x54,0x58,0x74,0x52,0x61,0x77,0x20,0x70,0x72,0x6f, @@ -10464,8 +10812,201 @@ var Bytes = map[string]*EmbeddedAsset{ 0xdb,0x8e,0xb8,0x7d,0x3b,0xc9,0x3b,0x92,0x7c,0x4f,0x12,0x61,0x51,0x00,0x00,0x38,0x45,0xfe,0x3f,0xdd,0xd5,0x44,0x59,0x4e, 0x55,0x23,0xfe,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, }}, +"static/playlist-upload.js": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28, +0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x69,0x6e,0x70,0x75,0x74,0x22,0x29, +0x2e,0x6f,0x6e,0x63,0x68,0x61,0x6e,0x67,0x65,0x20,0x3d,0x20,0x65,0x20,0x3d,0x3e,0x20,0x7b,0x0a,0x20,0x20,0x64,0x6f,0x63, +0x75,0x6d,0x65,0x6e,0x74,0x2e,0x67,0x65,0x74,0x45,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x42,0x79,0x49,0x64,0x28,0x22,0x70,0x6c, +0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x66,0x6f,0x72,0x6d,0x22,0x29,0x2e,0x73,0x75,0x62, +0x6d,0x69,0x74,0x28,0x29,0x3b,0x0a,0x7d,0x3b,0x0a, +}}, +"static/favicon.ico": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), + Bytes: []byte{ +0x00,0x00,0x01,0x00,0x01,0x00,0x20,0x20,0x00,0x00,0x01,0x00,0x20,0x00,0xa8,0x10,0x00,0x00,0x16,0x00,0x00,0x00,0x28,0x00, +0x00,0x00,0x20,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0xdc,0xf3,0xfb,0x06,0x42,0xa4, +0xcb,0xe6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xba,0xee,0xff,0x1a,0xb3,0xe6,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1c,0xb1,0xe3,0xff,0x4d,0x9f,0xc3,0xfb,0xb3,0xd1,0xdc,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xc8,0xe9,0xf5,0x0e,0x55,0xaa,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xbd,0xf1,0xff,0x1a,0xb7,0xeb,0xff,0x1a,0xb2,0xe5,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x41,0x99,0xbf,0xfb,0x9a,0xb5, +0xbf,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbf,0xdd,0xe8,0x0e,0x51,0xa8,0xcd,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x18,0xb0,0xe0,0xff,0x34,0x8e,0xb1,0xff,0x43,0x94, +0xb6,0xff,0x8b,0xbd,0xd9,0xff,0x7b,0xbd,0xdd,0xff,0x63,0xb5,0xdb,0xff,0x59,0xb2,0xda,0xff,0x46,0xb2,0xdd,0xff,0x37,0xb1, +0xde,0xff,0x28,0xb2,0xe1,0xff,0x20,0xb5,0xe7,0xff,0x1d,0xba,0xec,0xff,0x1a,0xbd,0xf1,0xff,0x1a,0xbf,0xf4,0xff,0x1a,0xc2, +0xf7,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xbb,0xf0,0xff,0x1a,0xb4,0xe7,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x3e,0x98,0xbe,0xfb,0x92,0xae,0xb8,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbc,0xd4,0xdd,0x0e,0x50,0xa7, +0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb8,0xeb,0xff,0x9d,0xb4, +0xc1,0xff,0xf5,0xfa,0xfc,0xff,0x9f,0xbc,0xcb,0xff,0xde,0xe4,0xe7,0xff,0xff,0xff,0xff,0xff,0xf7,0xf7,0xf7,0xff,0xed,0xee, +0xee,0xff,0xe1,0xe7,0xea,0xff,0xcd,0xd9,0xdf,0xff,0xc9,0xd4,0xdc,0xff,0xd5,0xdb,0xde,0xff,0xdf,0xe6,0xea,0xff,0xdf,0xe8, +0xec,0xff,0xda,0xe1,0xe5,0xff,0xd2,0xde,0xe4,0xff,0x81,0xb1,0xcb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc2,0xf8,0xff,0x1a,0xba,0xef,0xff,0x39,0x9b,0xc2,0xfb,0x86,0xaa,0xb6,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xbb,0xce,0xd5,0x0e,0x4f,0xa6,0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x16,0xa4,0xd1,0xff,0xc9,0xd6,0xde,0xff,0xe2,0xea,0xee,0xff,0x96,0xb4,0xc2,0xff,0xd5,0xdc,0xdf,0xff,0xfe,0xff, +0xff,0xff,0x89,0xc8,0xe8,0xff,0x60,0xba,0xe3,0xff,0x3b,0xbd,0xed,0xff,0x20,0xc0,0xf4,0xff,0x1f,0xc1,0xf5,0xff,0x4b,0xc2, +0xf2,0xff,0xb1,0xd3,0xe8,0xff,0xf6,0xf6,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9e,0xc1,0xd6,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x37,0xa4,0xce,0xfb,0x80,0xa8, +0xb6,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xbc,0xcb,0xd0,0x0e,0x50,0xa6,0xcc,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xc1,0xf5,0xff,0x1b,0x8b,0xb1,0xff,0xc8,0xd1,0xd5,0xff,0xe5,0xe9, +0xeb,0xff,0xfe,0xfe,0xfe,0xff,0xf6,0xfb,0xfd,0xff,0x6c,0xc3,0xea,0xff,0x87,0xd0,0xf3,0xff,0x9f,0xda,0xf9,0xff,0x5f,0xcd, +0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x30,0xc4,0xf7,0xff,0xe6,0xee,0xf2,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0x8d,0xc0,0xdb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x36,0xa6,0xd0,0xfb,0x7d,0xa9,0xb8,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xc0,0xcd,0xd2,0x0e,0x52,0xa7, +0xcd,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x26,0xb0, +0xe0,0xff,0xf0,0xf5,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfe,0xff,0xff,0x7a,0xca,0xf0,0xff,0x27,0xbb, +0xef,0xff,0x29,0xc3,0xf7,0xff,0x20,0xc3,0xf8,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x5b,0xcd,0xfc,0xff,0xf7,0xfb, +0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7c,0xb9,0xd7,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x35,0xa7,0xd1,0xfb,0x7c,0xac,0xbd,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xcd,0xd7,0xda,0x0e,0x57,0xa9,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x2f,0xad,0xda,0xff,0xf9,0xfa,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xe9,0xf5,0xfb,0xff,0x6b,0xca,0xf5,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1e,0xc6,0xfc,0xff,0x8c,0xd5, +0xf9,0xff,0xe7,0xf6,0xff,0xff,0xff,0xff,0xff,0xff,0xf7,0xf9,0xfa,0xff,0xc8,0xd1,0xd7,0xff,0x55,0x9d,0xbd,0xff,0x1a,0xc0, +0xf5,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x35,0xa8,0xd2,0xfb,0x7c,0xb0, +0xc2,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xdd,0xe6,0xe9,0x0e,0x5e,0xaa,0xce,0xfb,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x3a,0xad,0xd8,0xff,0xfa,0xfb,0xfc,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x96,0xd5,0xc1,0xff,0x96,0xd5,0xf2,0xff,0xab,0xdf, +0xfb,0xff,0xd6,0xee,0xfd,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb5,0xc1,0xc7,0xff,0xa1,0xba, +0xc6,0xff,0xd1,0xdd,0xe3,0xff,0xb0,0xc1,0xcb,0xff,0x4f,0x94,0xb3,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x37,0xa7,0xd1,0xfb,0x81,0xb7,0xc9,0x0e,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xe6,0xf1,0xf5,0x03,0x35,0x9e, +0xc7,0xde,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x34,0xad, +0xd9,0xff,0xc6,0xd5,0xdd,0xff,0xd1,0xda,0xe0,0xff,0xd7,0xde,0xe2,0xff,0xe0,0xe8,0xec,0xff,0xed,0xf0,0xf1,0xff,0xbe,0xdf, +0xcf,0xff,0xef,0xf3,0xf5,0xff,0xf5,0xf8,0xfa,0xff,0xfb,0xfd,0xfd,0xff,0xfe,0xfe,0xfe,0xff,0xfe,0xfe,0xff,0xff,0xff,0xff, +0xff,0xff,0xd6,0xde,0xe2,0xff,0xb5,0xc9,0xd3,0xff,0xf2,0xf7,0xf9,0xff,0xff,0xff,0xff,0xff,0xa4,0xba,0xc5,0xff,0x1a,0xc3, +0xf8,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x40,0xa6,0xce,0xfb,0x97,0xc7,0xd7,0x0e,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0x60,0x8f,0xa2,0x00,0x23,0x98,0xc1,0xd6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc5,0xfb,0xff,0x1a,0xc3,0xf8,0xff,0x1a,0xc1,0xf6,0xff,0x1a,0xbe, +0xf2,0xff,0x1a,0xbb,0xee,0xff,0x1e,0xb5,0xe6,0xff,0x2a,0xb3,0xe2,0xff,0x35,0xb1,0xdf,0xff,0x47,0xb1,0xdc,0xff,0x4f,0xb2, +0xdb,0xff,0x66,0xb9,0xde,0xff,0x7e,0xbd,0xdd,0xff,0x83,0xbc,0xda,0xff,0x60,0xa9,0xca,0xff,0x33,0x97,0xbd,0xff,0x83,0xb0, +0xc8,0xff,0x46,0xa9,0xd2,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x4d,0xa5,0xca,0xf4,0xc5,0xe5, +0xf0,0x0b,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xba,0xd8,0xe4,0x00,0x5c,0xa2,0xc2,0xd6,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xc1,0xf6,0xff,0x24,0xa9,0xd6,0xff,0x25,0xa9, +0xd7,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x36,0x9a,0xc0,0xd6,0x7d,0xa1,0xb0,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xf2,0xf7,0xf9,0x00,0x3d,0x89, +0xa9,0xab,0x1a,0xb9,0xee,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x49,0xa6, +0xce,0xff,0xce,0xd8,0xdc,0xff,0xc8,0xd2,0xd6,0xff,0x5e,0xa7,0xc9,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x5c,0x9e,0xbd,0xc1,0xdc,0xe9,0xee,0x00,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0x60,0x91,0xa7,0xa0,0x1a,0xaf,0xe2,0xff,0x1a,0xb2,0xe6,0xff,0x1a,0xbb,0xf0,0xff,0x1b,0xc3, +0xf9,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1a,0xc0,0xf4,0xff,0x4d,0x98,0xba,0xff,0xdb,0xe2,0xe5,0xff,0xd3,0xdb,0xdf,0xff,0x62,0x9b,0xb7,0xff,0x1a,0xbf, +0xf3,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc6,0xfc,0xff,0x3f,0x8c,0xab,0xa4,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x44,0x78,0x8d,0x73,0x19,0xac,0xde,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb5,0xe8,0xff,0x1a,0xbc,0xf1,0xff,0x1b,0xc3,0xf9,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb7,0xe9,0xff,0x9f,0xbb,0xca,0xff,0xcc,0xd9,0xe0,0xff,0xa3,0xb8,0xc1,0xff,0x9d,0xb5, +0xbf,0xff,0xcb,0xd8,0xdf,0xff,0xa8,0xbf,0xcc,0xff,0x1b,0xb4,0xe6,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc4, +0xf9,0xff,0x4d,0x81,0x98,0x82,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x83,0x9c, +0xa7,0x6b,0x19,0xa7,0xd8,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb4,0xe7,0xff,0x1a,0xba,0xee,0xff,0x41,0x9e,0xc4,0xff,0xf9,0xfc,0xfd,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xfd,0xfe,0xff,0x52,0xa6,0xca,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1a,0xbe,0xf2,0xff,0x68,0x8d,0x9d,0x72,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0x6f,0x9a,0xaa,0x3f,0x1b,0x9f,0xcd,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xaf,0xe2,0xff,0x1a,0xae,0xe1,0xff,0x1a,0xb0,0xe2,0xff,0x23,0x9a, +0xc5,0xff,0xda,0xe4,0xe9,0xff,0xcd,0xd9,0xde,0xff,0x8c,0x9f,0xa9,0xff,0x8c,0x9f,0xaa,0xff,0xcc,0xd8,0xdf,0xff,0xe1,0xea, +0xef,0xff,0x2c,0xa7,0xd3,0xff,0x1b,0xc6,0xfc,0xff,0x1a,0xc3,0xf8,0xff,0x1b,0xc5,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x19,0xb7,0xe9,0xff,0x79,0x95,0xa2,0x56,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x57,0x80,0x8f,0x13,0x1e,0x97,0xc2,0xfc,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xac,0xde,0xff,0x5d,0x9f,0xbf,0xff,0xb2,0xc3,0xcd,0xff,0xc9,0xd1, +0xd5,0xff,0xa8,0xbf,0xcc,0xff,0x45,0x9b,0xc1,0xff,0x38,0x8f,0xb3,0xff,0x15,0x46,0x58,0xff,0x09,0x3d,0x4f,0xff,0x09,0x3d, +0x4f,0xff,0x15,0x46,0x59,0xff,0x3a,0x95,0xba,0xff,0x3e,0xa8,0xd2,0xff,0xa5,0xbe,0xce,0xff,0xc6,0xd0,0xd5,0xff,0xb4,0xc6, +0xd1,0xff,0x67,0xab,0xcc,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1c,0xac, +0xdb,0xfe,0x8a,0xb1,0xbf,0x2d,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xa3,0xc6, +0xd1,0x10,0x41,0x99,0xbf,0xfa,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xad,0xdf,0xff,0x8f,0xae,0xc0,0xff,0xf7,0xf9, +0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xf1,0xf2,0xff,0x6d,0x9e,0xb9,0xff,0x0e,0x65, +0x83,0xff,0x09,0x3e,0x50,0xff,0x09,0x3e,0x50,0xff,0x0f,0x6a,0x89,0xff,0x63,0x9f,0xbd,0xff,0xea,0xee,0xef,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfa,0xfb,0xff,0x9d,0xb8,0xc7,0xff,0x1a,0xc0,0xf4,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x2d,0xa6,0xd1,0xfc,0x6a,0x96,0xa5,0x11,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0xb0,0xcd,0xd8,0x00,0x3a,0x91,0xb4,0xdb,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x52,0x9e, +0xc1,0xff,0xf5,0xf7,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xe6,0xea,0xec,0xff,0x2a,0x9c,0xc7,0xff,0x18,0xa2,0xd1,0xff,0x18,0xa3,0xd2,0xff,0x1f,0x9e,0xcb,0xff,0xdd,0xe3, +0xe5,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xfa, +0xfa,0xff,0x68,0xaa,0xcb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x40,0xa0,0xc7,0xec,0xc5,0xe1,0xeb,0x09,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0x9e,0xbe,0xca,0x0c,0x54,0x8c,0xa6,0xe6,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0xa7,0xbd,0xca,0xff,0xff,0xff,0xff,0xff,0xee,0xf1,0xf2,0xff,0x82,0x94,0x9e,0xff,0xb0,0xba, +0xc0,0xff,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0x80,0xab,0xc3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x65,0xa2,0xc1,0xff,0xfa,0xfc,0xfc,0xff,0xa1,0xad,0xb3,0xff,0x80,0x91,0x9a,0xff,0xf1,0xf4,0xf5,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb4,0xc5,0xcf,0xff,0x1b,0xc4,0xfa,0xff,0x1b,0xc7,0xfd,0xff,0x2d,0x8a, +0xac,0xe6,0x52,0x83,0x93,0x0c,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xb9,0xe1,0xed,0x00,0x8b,0xab,0xb7,0x25,0x4f,0x8b, +0xa6,0xbc,0x13,0x82,0xa8,0xff,0x19,0xac,0xde,0xff,0x1a,0xaf,0xe2,0xff,0xbe,0xc8,0xcf,0xff,0xff,0xff,0xff,0xff,0xc8,0xce, +0xd2,0xff,0x0d,0x3f,0x51,0xff,0x52,0x71,0x7f,0xff,0xf7,0xfa,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x9b,0xb7, +0xc8,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x88,0xb2,0xc9,0xff,0xf1,0xf4,0xf6,0xff,0x26,0x4d,0x5d,0xff,0x3a,0x5c, +0x6c,0xff,0xd2,0xd8,0xdc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc7,0xd3,0xda,0xff,0x19,0xb7, +0xea,0xff,0x1a,0xc2,0xf7,0xff,0x13,0x8b,0xb3,0xff,0x3f,0x8f,0xaf,0xc1,0x6d,0x95,0xa4,0x27,0x9b,0xce,0xe1,0x00,0x6d,0x95, +0xa9,0x7a,0x2f,0xa6,0xd1,0xf9,0x1a,0xbe,0xf2,0xff,0x16,0x9c,0xc9,0xff,0x17,0x9c,0xca,0xff,0x1a,0xb0,0xe3,0xff,0xa7,0xbd, +0xcb,0xff,0xff,0xff,0xff,0xff,0xf8,0xf9,0xfa,0xff,0xb5,0xbe,0xc2,0xff,0xd1,0xd9,0xdd,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xfe,0xff,0xff,0xff,0x7e,0xab,0xc4,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x61,0xa0,0xbf,0xff,0xfa,0xfb, +0xfc,0xff,0xd0,0xd8,0xdb,0xff,0xbf,0xc7,0xcc,0xff,0xfb,0xfc,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xb2,0xc3,0xce,0xff,0x1a,0xaf,0xe1,0xff,0x17,0xa1,0xd0,0xff,0x15,0x97,0xc2,0xff,0x1a,0xc0,0xf5,0xff,0x28,0xa8, +0xd4,0xf9,0x69,0x9c,0xb2,0x8b,0x3c,0xa0,0xc7,0xfd,0x18,0xb0,0xe0,0xff,0x14,0x93,0xbd,0xff,0x0f,0x73,0x94,0xff,0x13,0x8f, +0xb7,0xff,0x1b,0xc0,0xf5,0xff,0x51,0xa4,0xc9,0xff,0xf3,0xf6,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe4,0xe8,0xea,0xff,0x29,0x9f,0xcb,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x19,0xa8,0xd9,0xff,0x6d,0xa2,0xbe,0xff,0xc8,0xd2,0xd8,0xff,0xf8,0xfa,0xfa,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xfa,0xfb,0xff,0x64,0xa2,0xc1,0xff,0x1a,0xb0,0xe3,0xff,0x13,0x88,0xb0,0xff,0x0f,0x6b, +0x8a,0xff,0x13,0x89,0xb2,0xff,0x17,0xa5,0xd3,0xff,0x2a,0x99,0xc1,0xff,0x42,0xa1,0xc6,0xf8,0x1a,0xbe,0xf3,0xff,0x1a,0xae, +0xe0,0xff,0x14,0x96,0xc0,0xff,0x24,0x90,0xb7,0xfc,0x1c,0xb5,0xe6,0xff,0x1a,0xc3,0xf8,0xff,0x85,0xae,0xc5,0xff,0xf4,0xf7, +0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xeb,0xef,0xf1,0xff,0x69,0xa2,0xc0,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xa9,0xda,0xff,0x55,0x9d, +0xc0,0xff,0xb5,0xc5,0xce,0xff,0xef,0xf2,0xf3,0xff,0xf7,0xf9,0xfa,0xff,0x97,0xb2,0xc3,0xff,0x19,0xac,0xdd,0xff,0x1a,0xa5, +0xd5,0xff,0x27,0x80,0xa3,0xfc,0x14,0x8d,0xb6,0xff,0x19,0xac,0xde,0xff,0x1a,0xaf,0xe2,0xff,0x30,0x93,0xba,0xff,0x4d,0x8d, +0xa9,0xa5,0x1a,0xc3,0xf8,0xff,0x18,0xae,0xdf,0xff,0x16,0xa7,0xd5,0xff,0x64,0x92,0xa8,0x93,0x3d,0x87,0xa5,0x9b,0x1b,0xbb, +0xee,0xff,0x1a,0xc2,0xf7,0xff,0x54,0xa9,0xce,0xff,0xac,0xc3,0xd0,0xff,0xbd,0xca,0xd2,0xff,0xa0,0xbd,0xcd,0xff,0x41,0xa9, +0xd3,0xff,0x1a,0xb5,0xe9,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x19,0xad,0xdf,0xff,0x35,0x9c,0xc5,0xff,0x53,0x9d,0xc0,0xff,0x19,0xab, +0xdd,0xff,0x1a,0xa9,0xda,0xff,0x65,0x95,0xad,0xbc,0x6e,0x90,0xa0,0x80,0x16,0x9b,0xc8,0xff,0x17,0xa2,0xd1,0xff,0x1a,0xaf, +0xe2,0xff,0x42,0x89,0xa7,0xb7,0x9e,0xb5,0xbf,0x2c,0x46,0x96,0xb7,0xe2,0x2a,0xa4,0xd0,0xfd,0x57,0x9a,0xb9,0xd1,0x6c,0x9a, +0xab,0x1f,0x5c,0x89,0x99,0x03,0x62,0x94,0xab,0x94,0x2a,0xab,0xd8,0xfc,0x1b,0xc4,0xfa,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc5, +0xfa,0xff,0x1b,0xc6,0xfc,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf7,0xff,0x1a,0xb7,0xeb,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xb0, +0xe3,0xff,0x1a,0xaf,0xe1,0xff,0x24,0x9c,0xc8,0xfc,0x65,0x94,0xab,0xa1,0xbf,0xd4,0xdc,0x0e,0x7c,0xa3,0xb1,0x15,0x3e,0x87, +0xa6,0xba,0x2a,0x97,0xc0,0xfb,0x3b,0x8c,0xaf,0xe8,0x68,0x8c,0x9a,0x2c,0xff,0xff,0xff,0x00,0x75,0x9a,0xa8,0x08,0x66,0x90, +0xa0,0x13,0xd0,0xe5,0xed,0x03,0xff,0xff,0xff,0x00,0xff,0xff,0xff,0x00,0xc0,0xdd,0xe7,0x00,0x6e,0x93,0xa2,0x32,0x57,0x91, +0xac,0xa1,0x40,0xa3,0xca,0xeb,0x1e,0xae,0xdd,0xfe,0x1a,0xbd,0xf1,0xff,0x1b,0xc5,0xfb,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc7, +0xfd,0xff,0x1b,0xc7,0xfd,0xff,0x1b,0xc2,0xf7,0xff,0x1a,0xb7,0xea,0xff,0x1a,0xb0,0xe3,0xff,0x1a,0xaf,0xe2,0xff,0x19,0xaa, +0xdb,0xff,0x1f,0x9d,0xca,0xff,0x34,0x94,0xba,0xeb,0x57,0x8e,0xa8,0xab,0x8e,0xa9,0xb4,0x45,0x9f,0xc5,0xd3,0x00,0xff,0xff, +0xff,0x00,0xff,0xff,0xff,0x00,0xa1,0xc2,0xcd,0x00,0x69,0x91,0xa0,0x12,0x92,0xb2,0xbd,0x0c,0xff,0xff,0xff,0x00,0x00,0x00, +0x00,0x0b,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00, +0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x3b,0x49,0x4d,0x39,0x5d,0x74,0x7e,0x64,0x4f,0x71,0x80,0x9b,0x44,0x7c, +0x95,0xc8,0x55,0x92,0xae,0xfe,0x19,0x8a,0xaf,0xff,0x12,0x8e,0xb5,0xff,0x12,0x8f,0xb7,0xff,0x19,0x8b,0xb2,0xff,0x52,0x8c, +0xa7,0xfe,0x4b,0x7c,0x93,0xd0,0x4e,0x6f,0x7e,0x9f,0x73,0x87,0x8f,0x73,0x3b,0x4a,0x4f,0x3a,0x01,0x01,0x01,0x0e,0x00,0x00, +0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,0x35,0x35,0x35,0x07,0x97,0x97, +0x97,0x27,0xdb,0xdb,0xdb,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00, +0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0xc0,0x00, +0x00,0x01,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00, +0x00,0x03,0xc0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0xe0,0x00,0x00,0x03,0xc0,0x00,0x00,0x03,0x80,0x00,0x00,0x01,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8e,0x00,0x00,0x79,0x00,0x00, +0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, +}}, "static/reset.css": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ 0x2f,0x2a,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x6d,0x65,0x79,0x65,0x72,0x77,0x65,0x62,0x2e,0x63,0x6f,0x6d,0x2f,0x65, 0x72,0x69,0x63,0x2f,0x74,0x6f,0x6f,0x6c,0x73,0x2f,0x63,0x73,0x73,0x2f,0x72,0x65,0x73,0x65,0x74,0x2f,0x0a,0x20,0x20,0x20, @@ -10515,631 +11056,131 @@ var Bytes = map[string]*EmbeddedAsset{ 0x61,0x70,0x73,0x65,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x73,0x70,0x61,0x63,0x69,0x6e,0x67,0x3a,0x20, 0x30,0x3b,0x0a,0x7d,0x0a, }}, -"pages/login.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), +"static/main.css": &EmbeddedAsset{ + ModTime: time.Unix(1611056277, 0), Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c, -0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c, -0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64, -0x69,0x20,0x6d,0x64,0x69,0x2d,0x6c,0x6f,0x67,0x69,0x6e,0x2d,0x76,0x61,0x72,0x69,0x61,0x6e,0x74,0x22,0x3e,0x3c,0x2f,0x69, -0x3e,0x20,0x6c,0x6f,0x67,0x69,0x6e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c, -0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f, -0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x6c,0x6f,0x67,0x69,0x6e, -0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78, -0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75, -0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x75,0x73, -0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20, -0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73, -0x77,0x6f,0x72,0x64,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x70,0x6c, -0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69, -0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x6c,0x6f,0x67,0x69,0x6e,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, +0x3a,0x72,0x6f,0x6f,0x74,0x20,0x7b,0x0a,0x20,0x20,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x3a,0x20,0x31,0x33,0x70,0x78,0x3b,0x0a, +0x20,0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x64,0x79,0x3a,0x20,0x37,0x35,0x30,0x70,0x78,0x3b,0x0a,0x20, +0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e, +0x3a,0x20,0x35,0x31,0x30,0x70,0x78,0x3b,0x0a,0x20,0x20,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x66,0x6f,0x72,0x6d,0x3a, +0x20,0x34,0x30,0x30,0x70,0x78,0x3b,0x0a,0x7d,0x0a,0x0a,0x40,0x6d,0x65,0x64,0x69,0x61,0x20,0x6f,0x6e,0x6c,0x79,0x20,0x73, +0x63,0x72,0x65,0x65,0x6e,0x20,0x61,0x6e,0x64,0x20,0x28,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x37,0x38, +0x30,0x70,0x78,0x29,0x20,0x7b,0x0a,0x20,0x20,0x3a,0x72,0x6f,0x6f,0x74,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x2d,0x2d,0x73, +0x69,0x7a,0x65,0x3a,0x20,0x31,0x31,0x70,0x78,0x3b,0x0a,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x2a,0x2c,0x0a,0x62,0x6f,0x64, +0x79,0x2c,0x0a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x2c,0x0a,0x64,0x69,0x76,0x2c,0x0a,0x69,0x2c,0x0a,0x69,0x6e,0x70,0x75,0x74, +0x5b,0x74,0x79,0x70,0x65,0x5d,0x2c,0x0a,0x73,0x65,0x6c,0x65,0x63,0x74,0x2c,0x0a,0x73,0x70,0x61,0x6e,0x2c,0x0a,0x68,0x74, +0x6d,0x6c,0x20,0x7b,0x0a,0x20,0x20,0x66,0x6f,0x6e,0x74,0x2d,0x66,0x61,0x6d,0x69,0x6c,0x79,0x3a,0x20,0x6d,0x6f,0x6e,0x6f, +0x73,0x70,0x61,0x63,0x65,0x3b,0x0a,0x20,0x20,0x66,0x6f,0x6e,0x74,0x2d,0x73,0x69,0x7a,0x65,0x3a,0x20,0x76,0x61,0x72,0x28, +0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x62,0x6c,0x61,0x63,0x6b,0x3b, +0x0a,0x20,0x20,0x6c,0x69,0x6e,0x65,0x2d,0x68,0x65,0x69,0x67,0x68,0x74,0x3a,0x20,0x31,0x3b,0x0a,0x7d,0x0a,0x0a,0x62,0x6f, +0x64,0x79,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d, +0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x64,0x79,0x29,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30, +0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20,0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x2d,0x79,0x3a,0x20,0x73,0x63,0x72, +0x6f,0x6c,0x6c,0x3b,0x0a,0x7d,0x0a,0x0a,0x69,0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x5d,0x2c,0x0a,0x73,0x65,0x6c, +0x65,0x63,0x74,0x2c,0x0a,0x62,0x75,0x74,0x74,0x6f,0x6e,0x2c,0x0a,0x74,0x65,0x78,0x74,0x61,0x72,0x65,0x61,0x20,0x7b,0x0a, +0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x72,0x61,0x64,0x69,0x75,0x73,0x3a,0x20,0x30,0x3b,0x0a,0x20,0x20,0x62,0x6f, +0x78,0x2d,0x73,0x69,0x7a,0x69,0x6e,0x67,0x3a,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x78,0x3b,0x0a,0x20,0x20, +0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30,0x3b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x3a,0x20,0x30,0x3b, +0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a,0x20,0x20,0x6f,0x75,0x74,0x6c,0x69, +0x6e,0x65,0x3a,0x20,0x31,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x63,0x63,0x63,0x3b,0x0a,0x20,0x20,0x68,0x65, +0x69,0x67,0x68,0x74,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x20,0x20,0x76,0x65,0x72, +0x74,0x69,0x63,0x61,0x6c,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3b,0x0a,0x7d,0x0a,0x0a, +0x69,0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x5d,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x63, +0x61,0x6c,0x63,0x28,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x39,0x29,0x3b,0x0a,0x20,0x20, +0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x77,0x68,0x69,0x74,0x65,0x3b, +0x0a,0x20,0x20,0x63,0x75,0x72,0x73,0x6f,0x72,0x3a,0x20,0x70,0x6f,0x69,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x7d,0x0a,0x0a,0x69, +0x6e,0x70,0x75,0x74,0x5b,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x5d,0x2c,0x0a,0x69,0x6e,0x70,0x75,0x74, +0x5b,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x5d,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69, +0x64,0x74,0x68,0x3a,0x20,0x31,0x30,0x30,0x25,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x6f,0x72,0x6d,0x2e,0x62,0x6c,0x6f,0x63,0x6b, +0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x77,0x69, +0x64,0x74,0x68,0x2d,0x66,0x6f,0x72,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x6c,0x65,0x66,0x74, +0x3a,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20, +0x30,0x3b,0x0a,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x66,0x6c,0x65,0x78,0x3b,0x0a,0x20,0x20,0x66,0x6c, +0x65,0x78,0x2d,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x63,0x6f,0x6c,0x75,0x6d,0x6e,0x3b,0x0a,0x20,0x20, +0x61,0x6c,0x69,0x67,0x6e,0x2d,0x69,0x74,0x65,0x6d,0x73,0x3a,0x20,0x66,0x6c,0x65,0x78,0x2d,0x65,0x6e,0x64,0x3b,0x0a,0x20, +0x20,0x74,0x65,0x78,0x74,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x72,0x69,0x67,0x68,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x66, +0x6f,0x72,0x6d,0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x31,0x30,0x30,0x25,0x3b, +0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62,0x6c,0x65,0x20,0x7b,0x0a,0x20,0x20,0x77,0x68,0x69,0x74,0x65,0x2d,0x73,0x70,0x61,0x63, +0x65,0x3a,0x20,0x6e,0x6f,0x77,0x72,0x61,0x70,0x3b,0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62,0x6c,0x65,0x20,0x74,0x64,0x20,0x7b, +0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x2d,0x6c,0x65,0x66,0x74,0x3a,0x20,0x63,0x61,0x6c,0x63,0x28,0x76,0x61, +0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x74,0x61,0x62, +0x6c,0x65,0x20,0x74,0x64,0x2e,0x74,0x65,0x78,0x74,0x2d,0x74,0x72,0x75,0x6e,0x63,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78, +0x74,0x2d,0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x3a,0x20,0x65,0x6c,0x6c,0x69,0x70,0x73,0x69,0x73,0x3b,0x0a,0x20,0x20, +0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x3a,0x20,0x68,0x69,0x64,0x64,0x65,0x6e,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x78,0x2d, +0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x70,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72, +0x3a,0x20,0x69,0x6e,0x68,0x65,0x72,0x69,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x61,0x2c,0x0a,0x61,0x3a,0x76,0x69,0x73,0x69,0x74, +0x65,0x64,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x36,0x34,0x63,0x31,0x3b,0x0a,0x20, +0x20,0x74,0x65,0x78,0x74,0x2d,0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a, +0x7d,0x0a,0x0a,0x61,0x3a,0x68,0x6f,0x76,0x65,0x72,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78,0x74,0x2d,0x64,0x65,0x63,0x6f, +0x72,0x61,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x75,0x6e,0x64,0x65,0x72,0x6c,0x69,0x6e,0x65,0x3b,0x0a,0x7d,0x0a,0x0a,0x23,0x63, +0x6f,0x6e,0x74,0x65,0x6e,0x74,0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x63, +0x61,0x6c,0x63,0x28,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x20,0x2a,0x20,0x31,0x2e,0x35,0x29,0x3b,0x0a, +0x7d,0x0a,0x0a,0x23,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x7b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f, +0x74,0x74,0x6f,0x6d,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x31, +0x61,0x3b,0x0a,0x7d,0x0a,0x0a,0x23,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x69,0x6d,0x67,0x20,0x7b,0x0a,0x20,0x20,0x77,0x69, +0x64,0x74,0x68,0x3a,0x20,0x36,0x30,0x25,0x3b,0x0a,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x62,0x6c,0x6f, +0x63,0x6b,0x3b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x3a,0x20,0x30,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x20,0x20, +0x68,0x65,0x69,0x67,0x68,0x74,0x3a,0x20,0x61,0x75,0x74,0x6f,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x66,0x6c,0x61,0x73,0x68,0x2d, +0x77,0x61,0x72,0x6e,0x69,0x6e,0x67,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63, +0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x66,0x64,0x31,0x62,0x31,0x62,0x31,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65, +0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x66,0x64,0x31,0x62, +0x31,0x62,0x31,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x20,0x32, +0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x66,0x64,0x31,0x62,0x31,0x62,0x31,0x63,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e, +0x66,0x6c,0x61,0x73,0x68,0x2d,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f, +0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b,0x0a,0x20,0x20, +0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20, +0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74, +0x6f,0x6d,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x31,0x35,0x66,0x66,0x35,0x34,0x32,0x34,0x3b, +0x0a,0x7d,0x0a,0x0a,0x2e,0x62,0x6f,0x78,0x20,0x7b,0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d, +0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x35,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64, +0x65,0x72,0x2d,0x72,0x69,0x67,0x68,0x74,0x3a,0x20,0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30, +0x30,0x30,0x30,0x30,0x63,0x3b,0x0a,0x20,0x20,0x62,0x6f,0x72,0x64,0x65,0x72,0x2d,0x62,0x6f,0x74,0x74,0x6f,0x6d,0x3a,0x20, +0x32,0x70,0x78,0x20,0x73,0x6f,0x6c,0x69,0x64,0x20,0x23,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x63,0x3b,0x0a,0x7d,0x0a,0x0a, +0x2e,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x78, +0x2d,0x77,0x69,0x64,0x74,0x68,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d,0x62,0x6f,0x78,0x2d, +0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x40,0x6d,0x65,0x64,0x69,0x61,0x20, +0x6f,0x6e,0x6c,0x79,0x20,0x73,0x63,0x72,0x65,0x65,0x6e,0x20,0x61,0x6e,0x64,0x20,0x28,0x6d,0x61,0x78,0x2d,0x77,0x69,0x64, +0x74,0x68,0x3a,0x20,0x37,0x38,0x30,0x70,0x78,0x29,0x20,0x7b,0x0a,0x20,0x20,0x2e,0x6e,0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c, +0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x6e,0x6f,0x6e,0x65,0x3b,0x0a,0x20,0x20, +0x7d,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x7b,0x0a,0x20,0x20,0x74,0x65,0x78, +0x74,0x2d,0x61,0x6c,0x69,0x67,0x6e,0x3a,0x20,0x72,0x69,0x67,0x68,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74, +0x2d,0x6c,0x69,0x67,0x68,0x74,0x20,0x7b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x30,0x30,0x30,0x30,0x30, +0x30,0x38,0x32,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d,0x70,0x20,0x7b,0x0a,0x20,0x20,0x66,0x6f, +0x6e,0x74,0x2d,0x73,0x74,0x79,0x6c,0x65,0x3a,0x20,0x69,0x74,0x61,0x6c,0x69,0x63,0x3b,0x0a,0x20,0x20,0x63,0x6f,0x6c,0x6f, +0x72,0x3a,0x20,0x23,0x34,0x34,0x34,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74, +0x20,0x3e,0x20,0x2a,0x20,0x7b,0x0a,0x20,0x20,0x6d,0x61,0x72,0x67,0x69,0x6e,0x2d,0x6c,0x65,0x66,0x74,0x3a,0x20,0x61,0x75, +0x74,0x6f,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x7b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69, +0x6e,0x67,0x3a,0x20,0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x70,0x61,0x64, +0x64,0x65,0x64,0x2d,0x73,0x69,0x64,0x65,0x20,0x7b,0x0a,0x20,0x20,0x70,0x61,0x64,0x64,0x69,0x6e,0x67,0x3a,0x20,0x30,0x20, +0x76,0x61,0x72,0x28,0x2d,0x2d,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x2e,0x61,0x6e,0x67,0x72,0x79,0x20,0x7b, +0x0a,0x20,0x20,0x62,0x61,0x63,0x6b,0x67,0x72,0x6f,0x75,0x6e,0x64,0x2d,0x63,0x6f,0x6c,0x6f,0x72,0x3a,0x20,0x23,0x66,0x34, +0x34,0x33,0x33,0x36,0x36,0x39,0x3b,0x0a,0x7d,0x0a, }}, -"pages/update_lastfm_api_key.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1591464411, 0), +"partials/head.tmpl": &EmbeddedAsset{ + ModTime: time.Unix(1610103790, 0), Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x6b,0x65,0x79,0x2d,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x75,0x70,0x64,0x61, -0x74,0x69,0x6e,0x67,0x20,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x20,0x6b,0x65,0x79,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78, -0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, -0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x79,0x6f,0x75,0x20,0x63,0x61,0x6e,0x20,0x67,0x65,0x74, -0x20,0x61,0x6e,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74, -0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x61,0x70,0x69,0x2f,0x61,0x63,0x63, -0x6f,0x75,0x6e,0x74,0x2f,0x63,0x72,0x65,0x61,0x74,0x65,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f,0x62,0x6c, -0x61,0x6e,0x6b,0x22,0x3e,0x68,0x65,0x72,0x65,0x3c,0x2f,0x61,0x3e,0x20,0x28,0x6e,0x6f,0x74,0x65,0x3a,0x20,0x6f,0x6e,0x6c, -0x79,0x20,0x74,0x68,0x65,0x20,0x22,0x61,0x70,0x70,0x6c,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6e,0x61,0x6d,0x65,0x22, -0x20,0x66,0x69,0x65,0x6c,0x64,0x20,0x69,0x73,0x20,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x64,0x29,0x3c,0x2f,0x70,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x3c,0x70,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67, -0x68,0x74,0x22,0x3e,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x20,0x6b,0x65,0x79,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x3c, -0x69,0x3e,0x7b,0x7b,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x22,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x22,0x20,0x2e, -0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41,0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x3c,0x2f, -0x69,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20, -0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x63,0x75,0x72,0x72,0x65, -0x6e,0x74,0x20,0x73,0x65,0x63,0x72,0x65,0x74,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x3c,0x69,0x3e,0x7b,0x7b,0x20,0x64, -0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x22,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x22,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e, -0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41,0x50,0x49,0x53,0x65,0x63,0x72,0x65,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x69,0x3e,0x3c, -0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b, -0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6c,0x61, -0x73,0x74,0x66,0x6d,0x5f,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74, -0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70, -0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x61,0x70,0x69,0x5f,0x6b, -0x65,0x79,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x22,0x20,0x70,0x6c,0x61,0x63,0x65, -0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x6b,0x65,0x79,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d, -0x22,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x20,0x70, -0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x73,0x65,0x63,0x72,0x65,0x74,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75, -0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x64,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20, -0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20, -0x7d,0x7d,0x0a, -}}, -"pages/delete_user.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1591464411, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x72,0x65,0x6d,0x6f,0x76,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20, -0x64,0x65,0x6c,0x65,0x74,0x69,0x6e,0x67,0x20,0x75,0x73,0x65,0x72,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74, -0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76, -0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72, -0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x72,0x65,0x20,0x79,0x6f,0x75,0x20,0x73, -0x75,0x72,0x65,0x3f,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20, -0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x74,0x68,0x65,0x69,0x72, -0x20,0x70,0x6c,0x61,0x79,0x73,0x2c,0x20,0x73,0x74,0x61,0x72,0x72,0x65,0x64,0x2c,0x20,0x65,0x74,0x63,0x2e,0x20,0x77,0x69, -0x6c,0x6c,0x20,0x61,0x6c,0x73,0x6f,0x20,0x62,0x65,0x20,0x64,0x65,0x6c,0x65,0x74,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e, -0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63, -0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20, -0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x75,0x73, -0x65,0x72,0x5f,0x64,0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64, -0x55,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74, -0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70, -0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22, -0x79,0x65,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e, -0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/change_own_username.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1594938059, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, -0x6e,0x67,0x69,0x6e,0x67,0x20,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x0a,0x20, -0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74, -0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x75,0x73,0x65, -0x72,0x6e,0x61,0x6d,0x65,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f, -0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, -0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61, -0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65, -0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76, -0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72, -0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/change_own_password.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, -0x6e,0x67,0x69,0x6e,0x67,0x20,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x0a,0x20, -0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74, -0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x70,0x61,0x73, -0x73,0x77,0x6f,0x72,0x64,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f, -0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, -0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, -0x5f,0x6f,0x6e,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65, -0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77, -0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70, -0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72, -0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77, -0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66,0x79,0x20,0x6e, -0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69, -0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, -0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c, -0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/home.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1610407064, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x63,0x68,0x61,0x72,0x74,0x2d,0x61,0x72,0x63,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x73,0x74,0x61,0x74,0x73, -0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61, -0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x73,0x74,0x61,0x74,0x73,0x22,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e,0x61,0x72,0x74,0x69,0x73,0x74,0x73,0x3a,0x3c,0x2f,0x74,0x64, -0x3e,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x2e,0x41,0x72,0x74,0x69,0x73,0x74,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d, -0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, -0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e,0x61,0x6c,0x62,0x75,0x6d,0x73,0x3a,0x3c,0x2f,0x74,0x64,0x3e,0x20,0x3c,0x74,0x64,0x3e, -0x7b,0x7b,0x20,0x2e,0x41,0x6c,0x62,0x75,0x6d,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f, -0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x3c,0x74,0x64,0x3e, -0x74,0x72,0x61,0x63,0x6b,0x73,0x3a,0x3c,0x2f,0x74,0x64,0x3e,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x2e,0x54,0x72,0x61, -0x63,0x6b,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e, -0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64, -0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d, -0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20, -0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x6c,0x61,0x73,0x74,0x66,0x6d,0x22,0x3e,0x3c, -0x2f,0x69,0x3e,0x20,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20, -0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72, -0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x67,0x6f,0x6e,0x69,0x63,0x20,0x63,0x61,0x6e,0x20,0x73,0x63,0x72,0x6f,0x62,0x62,0x6c, -0x65,0x20,0x74,0x6f,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x77,0x77, -0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f,0x62,0x6c,0x61, -0x6e,0x6b,0x22,0x3e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x3c,0x2f,0x61,0x3e,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x20, -0x75,0x73,0x65,0x72,0x20,0x28,0x62,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20,0x6d,0x75,0x73,0x74, -0x20,0x73,0x65,0x74,0x20,0x61,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x29,0x3c,0x2f, -0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63, -0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73,0x74,0x46,0x4d,0x41, -0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70, -0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x63,0x75, -0x72,0x72,0x65,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x75,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x61,0x73,0x74, -0x46,0x4d,0x53,0x65,0x73,0x73,0x69,0x6f,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x3e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, -0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66, -0x6f,0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64, -0x6d,0x69,0x6e,0x2f,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d, -0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, -0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x22, -0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d, -0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63, -0x6c,0x61,0x73,0x73,0x3d,0x22,0x61,0x6e,0x67,0x72,0x79,0x22,0x3e,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73, -0x70,0x61,0x6e,0x3e,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x7b,0x7b,0x20,0x24,0x63,0x62,0x50,0x61,0x74,0x68,0x20,0x3a,0x3d,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, -0x64,0x6d,0x69,0x6e,0x2f,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x24,0x63,0x62,0x55,0x52, -0x4c,0x20,0x3a,0x3d,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x25,0x73,0x25,0x73,0x22,0x20,0x2e,0x52,0x65,0x71,0x75, -0x65,0x73,0x74,0x52,0x6f,0x6f,0x74,0x20,0x24,0x63,0x62,0x50,0x61,0x74,0x68,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70, -0x73,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x6c,0x61,0x73,0x74,0x2e,0x66,0x6d,0x2f,0x61,0x70,0x69,0x2f,0x61,0x75,0x74,0x68, -0x2f,0x3f,0x61,0x70,0x69,0x5f,0x6b,0x65,0x79,0x3d,0x7b,0x7b,0x20,0x2e,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x4c,0x61,0x73, -0x74,0x46,0x4d,0x41,0x50,0x49,0x4b,0x65,0x79,0x20,0x7d,0x7d,0x26,0x63,0x62,0x3d,0x7b,0x7b,0x20,0x24,0x63,0x62,0x55,0x52, -0x4c,0x20,0x7d,0x7d,0x22,0x3e,0x6c,0x69,0x6e,0x6b,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, -0x3e,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x20,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x6e,0x6f,0x74,0x20,0x2e,0x55,0x73,0x65,0x72, -0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, -0x22,0x3e,0x70,0x6c,0x65,0x61,0x73,0x65,0x20,0x61,0x73,0x6b,0x20,0x79,0x6f,0x75,0x72,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20, -0x74,0x6f,0x20,0x73,0x65,0x74,0x20,0x69,0x74,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65, -0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65, -0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x70,0x3e,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, -0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6c,0x61,0x73,0x74,0x66,0x6d,0x5f,0x61,0x70,0x69,0x5f,0x6b, -0x65,0x79,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x75,0x70,0x64,0x61,0x74,0x65,0x20,0x61,0x70,0x69,0x20,0x6b,0x65,0x79,0x26,0x23, -0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b, -0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76, -0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78, -0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74, -0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d, -0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x62,0x72,0x61,0x69,0x6e,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x6c,0x69,0x73, -0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70, -0x74,0x69,0x6f,0x6e,0x20,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x70,0x3e,0x67,0x6f,0x6e,0x69,0x63,0x20,0x63,0x61,0x6e,0x20,0x73,0x63,0x72,0x6f,0x62,0x62,0x6c,0x65,0x20, -0x74,0x6f,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x6c,0x69,0x73,0x74, -0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x2e,0x6f,0x72,0x67,0x2f,0x22,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x22,0x5f, -0x62,0x6c,0x61,0x6e,0x6b,0x22,0x3e,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x3c,0x2f,0x61,0x3e,0x20, -0x61,0x6e,0x64,0x20,0x63,0x6f,0x6d,0x70,0x61,0x74,0x69,0x62,0x6c,0x65,0x20,0x73,0x69,0x74,0x65,0x73,0x3c,0x2f,0x70,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61, -0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, -0x22,0x3e,0x63,0x75,0x72,0x72,0x65,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x75,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74, -0x65,0x6e,0x42,0x72,0x61,0x69,0x6e,0x7a,0x54,0x6f,0x6b,0x65,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x3e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, -0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20, -0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f, -0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x5f,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x5f,0x64,0x6f,0x22,0x20, -0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22, -0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x6e,0x6c,0x69,0x6e,0x6b,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x61,0x6e,0x67,0x72,0x79,0x22,0x3e,0x75, -0x6e,0x6c,0x69,0x6e,0x6b,0x65,0x64,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x22,0x20,0x61, -0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x6c, -0x69,0x6e,0x6b,0x5f,0x6c,0x69,0x73,0x74,0x65,0x6e,0x62,0x72,0x61,0x69,0x6e,0x7a,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22, -0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78, -0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x72,0x6c,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65, -0x72,0x3d,0x22,0x73,0x65,0x72,0x76,0x65,0x72,0x20,0x61,0x64,0x64,0x72,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x7b, -0x7b,0x20,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x2e,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x4c,0x69,0x73,0x74,0x65,0x6e, -0x42,0x72,0x61,0x69,0x6e,0x7a,0x55,0x52,0x4c,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74,0x65,0x6e,0x42,0x72, -0x61,0x69,0x6e,0x7a,0x55,0x52,0x4c,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20, -0x6e,0x61,0x6d,0x65,0x3d,0x22,0x74,0x6f,0x6b,0x65,0x6e,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72, -0x3d,0x22,0x65,0x31,0x39,0x39,0x62,0x33,0x31,0x31,0x61,0x62,0x64,0x30,0x31,0x66,0x30,0x64,0x22,0x20,0x76,0x61,0x6c,0x75, -0x65,0x3d,0x22,0x7b,0x7b,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x4c,0x69,0x73,0x74,0x65,0x6e,0x42,0x72,0x61,0x69,0x6e,0x7a, -0x54,0x6f,0x6b,0x65,0x6e,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20, -0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x64,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65, -0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a, -0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x2e,0x55,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e, -0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2f,0x2a,0x20,0x61,0x64,0x6d,0x69,0x6e,0x20,0x70, -0x61,0x6e,0x65,0x6c,0x20,0x74,0x6f,0x20,0x6d,0x61,0x6e,0x61,0x67,0x65,0x20,0x61,0x6c,0x6c,0x20,0x75,0x73,0x65,0x72,0x73, -0x20,0x2a,0x2f,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73, -0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x61,0x63,0x63,0x6f, -0x75,0x6e,0x74,0x2d,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x75,0x73,0x65,0x72,0x73, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x75,0x73,0x65,0x72,0x20, -0x3a,0x3d,0x20,0x2e,0x41,0x6c,0x6c,0x55,0x73,0x65,0x72,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x69,0x3e,0x7b,0x7b,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7d,0x7d,0x3c, -0x2f,0x69,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c, -0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x20,0x6e,0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c, -0x22,0x3e,0x7b,0x7b,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64, -0x61,0x74,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68, -0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20, -0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x3f, -0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61, -0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f, -0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61, -0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f, -0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65, -0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61, -0x6e,0x67,0x65,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75, -0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x70,0x61,0x73,0x73, -0x77,0x6f,0x72,0x64,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69, -0x67,0x68,0x74,0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d, -0x69,0x6e,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73, -0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x64, -0x65,0x6c,0x65,0x74,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70, -0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x75,0x73,0x65, -0x72,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x24,0x75,0x73,0x65,0x72,0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20, -0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x3e,0x64,0x65,0x6c,0x65,0x74,0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f, -0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x62,0x72,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20, -0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x72, -0x65,0x61,0x74,0x65,0x5f,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x75, -0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x6e,0x65,0x77,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c, -0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x7b, -0x7b,0x20,0x65,0x6c,0x73,0x65,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2f,0x2a,0x20,0x75, -0x73,0x65,0x72,0x20,0x70,0x61,0x6e,0x65,0x6c,0x20,0x74,0x6f,0x20,0x6d,0x61,0x6e,0x61,0x67,0x65,0x20,0x74,0x68,0x65,0x6d, -0x73,0x65,0x6c,0x76,0x65,0x73,0x20,0x2a,0x2f,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64, -0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x79,0x6f,0x75,0x72,0x20,0x61,0x63,0x63, -0x6f,0x75,0x6e,0x74,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67, -0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66, -0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65, -0x5f,0x6f,0x77,0x6e,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73, -0x3d,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x68,0x61,0x6e,0x67,0x65,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d, -0x65,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74, -0x22,0x3e,0x26,0x23,0x31,0x32,0x34,0x3b,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x61,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61, -0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x6f,0x77,0x6e,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, -0x22,0x20,0x7d,0x7d,0x22,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x3e,0x63,0x68,0x61, -0x6e,0x67,0x65,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x26,0x23,0x38,0x32,0x33,0x30,0x3b,0x3c,0x2f,0x61,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e, -0x64,0x20,0x7d,0x7d,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22, -0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c, -0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x66,0x6f,0x6c,0x64,0x65, -0x72,0x2d,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x72,0x65,0x63,0x65,0x6e,0x74,0x20, -0x66,0x6f,0x6c,0x64,0x65,0x72,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c, -0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x74, -0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69, -0x66,0x20,0x65,0x71,0x20,0x28,0x6c,0x65,0x6e,0x20,0x2e,0x52,0x65,0x63,0x65,0x6e,0x74,0x46,0x6f,0x6c,0x64,0x65,0x72,0x73, -0x29,0x20,0x30,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x6e,0x6f,0x20,0x66, -0x6f,0x6c,0x64,0x65,0x72,0x73,0x20,0x79,0x65,0x74,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62, -0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x66,0x6f,0x6c,0x64,0x65,0x72,0x73,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x67,0x72,0x6f,0x75,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x20,0x77,0x69,0x64,0x74,0x68,0x3d,0x22,0x38,0x30,0x25,0x22,0x20, -0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x63,0x6f,0x6c,0x20,0x77,0x69,0x64,0x74, -0x68,0x3d,0x22,0x30,0x25,0x22,0x20,0x2f,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x63,0x6f,0x6c,0x67, -0x72,0x6f,0x75,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24, -0x66,0x6f,0x6c,0x64,0x65,0x72,0x20,0x3a,0x3d,0x20,0x2e,0x52,0x65,0x63,0x65,0x6e,0x74,0x46,0x6f,0x6c,0x64,0x65,0x72,0x73, -0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22, -0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x74,0x65,0x78,0x74,0x2d,0x74,0x72,0x75,0x6e,0x63,0x22,0x3e,0x7b, -0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x52,0x69,0x67,0x68,0x74,0x50,0x61,0x74,0x68,0x20,0x7d,0x7d,0x3c,0x2f, -0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e, -0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22, -0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x4d,0x6f,0x64,0x69,0x66, -0x69,0x65,0x64,0x41,0x74,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x6c,0x64,0x65,0x72,0x2e,0x4d,0x6f,0x64, -0x69,0x66,0x69,0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64,0x61,0x74,0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f, -0x73,0x70,0x61,0x6e,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, -0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x7b,0x7b,0x2d,0x20,0x69,0x66,0x20,0x61,0x6e,0x64,0x20,0x28,0x6e,0x6f,0x74,0x20,0x2e,0x49,0x73,0x53,0x63,0x61,0x6e,0x6e, -0x69,0x6e,0x67,0x29,0x20,0x28,0x2e,0x55,0x73,0x65,0x72,0x2e,0x49,0x73,0x41,0x64,0x6d,0x69,0x6e,0x29,0x20,0x2d,0x7d,0x7d, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2d,0x20,0x69,0x66,0x20,0x6e,0x6f,0x74,0x20, -0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x2e,0x49,0x73,0x5a,0x65,0x72,0x6f,0x20,0x2d,0x7d,0x7d, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b, -0x20,0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x20,0x7d,0x7d,0x22,0x3e,0x73,0x63,0x61,0x6e,0x6e, -0x65,0x64,0x20,0x7b,0x7b,0x20,0x2e,0x4c,0x61,0x73,0x74,0x53,0x63,0x61,0x6e,0x54,0x69,0x6d,0x65,0x20,0x7c,0x20,0x64,0x61, -0x74,0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22, -0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x72,0x74,0x5f,0x73,0x63,0x61,0x6e,0x5f,0x69,0x6e,0x63,0x5f,0x64,0x6f, -0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65, -0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x73,0x74,0x61,0x72,0x74,0x20,0x61, -0x20,0x69,0x6e,0x63,0x72,0x65,0x6d,0x65,0x6e,0x74,0x61,0x6c,0x20,0x73,0x63,0x61,0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, -0x3d,0x22,0x73,0x63,0x61,0x6e,0x20,0x6e,0x6f,0x77,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f, -0x72,0x6d,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d, -0x69,0x6e,0x2f,0x73,0x74,0x61,0x72,0x74,0x5f,0x73,0x63,0x61,0x6e,0x5f,0x66,0x75,0x6c,0x6c,0x5f,0x64,0x6f,0x22,0x20,0x7d, -0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73, -0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x73,0x74,0x61,0x72,0x74,0x20,0x61,0x20,0x66,0x75, -0x6c,0x6c,0x20,0x73,0x63,0x61,0x6e,0x20,0x28,0x74,0x61,0x6b,0x65,0x73,0x20,0x6c,0x6f,0x6e,0x67,0x65,0x72,0x2c,0x20,0x61, -0x6e,0x64,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x6e,0x26,0x23,0x33,0x39,0x3b,0x74,0x20,0x75,0x73,0x75,0x61,0x6c,0x6c,0x79, -0x20,0x62,0x65,0x20,0x6e,0x65,0x63,0x65,0x73,0x73,0x61,0x72,0x79,0x29,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x73, -0x63,0x61,0x6e,0x20,0x66,0x75,0x6c,0x6c,0x20,0x28,0x21,0x29,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e, -0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c, -0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c, -0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64, -0x69,0x20,0x6d,0x64,0x69,0x2d,0x66,0x69,0x6c,0x65,0x2d,0x6d,0x75,0x73,0x69,0x63,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x74, -0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x69,0x6e,0x67,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x20,0x70,0x72,0x6f,0x66,0x69,0x6c, -0x65,0x73,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63, -0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x64,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x74,0x65, -0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x79,0x6f, -0x75,0x20,0x63,0x61,0x6e,0x20,0x66,0x69,0x6e,0x64,0x20,0x79,0x6f,0x75,0x72,0x20,0x64,0x65,0x76,0x69,0x63,0x65,0x27,0x73, -0x20,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61,0x6d,0x65,0x20,0x69,0x6e,0x20,0x74,0x68,0x65,0x20,0x67,0x6f,0x6e,0x69, -0x63,0x20,0x6c,0x6f,0x67,0x73,0x2e,0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x70,0x3e,0x73, -0x6f,0x6d,0x65,0x20,0x63,0x6f,0x6d,0x6d,0x6f,0x6e,0x20,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61,0x6d,0x65,0x73,0x20, -0x61,0x72,0x65,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d, -0x70,0x22,0x3e,0x44,0x53,0x75,0x62,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x2c,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c, -0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x4a,0x61,0x6d,0x73,0x74,0x61,0x73,0x68,0x3c, -0x2f,0x73,0x70,0x61,0x6e,0x3e,0x2c,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78, -0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x53,0x6f,0x75,0x6e,0x64,0x77,0x61,0x76,0x65,0x73,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, -0x2c,0x20,0x6f,0x72,0x20,0x75,0x73,0x65,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65, -0x78,0x74,0x2d,0x65,0x6d,0x70,0x22,0x3e,0x2a,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x20,0x61,0x73,0x20,0x66,0x61,0x6c,0x6c, -0x62,0x61,0x63,0x6b,0x20,0x72,0x75,0x6c,0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x6e,0x79,0x20,0x63,0x6c,0x69,0x65,0x6e,0x74, -0x3c,0x2f,0x70,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x0a,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f, -0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x70,0x72,0x65,0x66,0x20,0x3a,0x3d,0x20,0x2e,0x54,0x72,0x61,0x6e, -0x73,0x63,0x6f,0x64,0x65,0x50,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x24,0x66,0x6f,0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x3a,0x3d,0x20,0x6b, -0x65,0x62,0x61,0x62,0x63,0x61,0x73,0x65,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7d,0x7d, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69, -0x64,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x7b,0x7b,0x20,0x24,0x66,0x6f, -0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x7d,0x7d,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20, -0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x74,0x72, -0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x5f,0x70,0x72,0x65,0x66,0x5f,0x64,0x6f,0x3f,0x63,0x6c,0x69,0x65,0x6e,0x74,0x3d,0x25, -0x73,0x22,0x20,0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d, -0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20, -0x24,0x70,0x72,0x65,0x66,0x2e,0x43,0x6c,0x69,0x65,0x6e,0x74,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x72,0x65, -0x66,0x2e,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72, -0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x7b,0x7b,0x20,0x24,0x66,0x6f, -0x72,0x6d,0x53,0x75,0x66,0x66,0x69,0x78,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69, -0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x64,0x65,0x6c,0x65,0x74,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d,0x22,0x74, -0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20,0x61,0x63,0x74,0x69,0x6f, -0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x72,0x65,0x61,0x74, -0x65,0x5f,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x5f,0x70,0x72,0x65,0x66,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22, -0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f, -0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20, -0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x63,0x6c,0x69,0x65,0x6e,0x74, -0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x63,0x6c,0x69,0x65,0x6e,0x74,0x20,0x6e,0x61, -0x6d,0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74, -0x64,0x3e,0x3c,0x73,0x65,0x6c,0x65,0x63,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64, -0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x72,0x6f,0x66,0x69,0x6c, -0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x72, -0x61,0x6e,0x67,0x65,0x20,0x24,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x3a,0x3d,0x20,0x2e,0x54,0x72,0x61,0x6e,0x73,0x63, -0x6f,0x64,0x65,0x50,0x72,0x6f,0x66,0x69,0x6c,0x65,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x20,0x76,0x61,0x6c,0x75,0x65, -0x3d,0x22,0x7b,0x7b,0x20,0x24,0x70,0x72,0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x72, -0x6f,0x66,0x69,0x6c,0x65,0x20,0x7d,0x7d,0x3c,0x2f,0x6f,0x70,0x74,0x69,0x6f,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x73,0x65,0x6c,0x65,0x63,0x74,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f, -0x72,0x6d,0x3d,0x22,0x74,0x72,0x61,0x6e,0x73,0x63,0x6f,0x64,0x65,0x2d,0x70,0x72,0x65,0x66,0x2d,0x61,0x64,0x64,0x22,0x20, -0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x73,0x61,0x76, -0x65,0x22,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e,0x0a,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69, -0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61, -0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, -0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d,0x64,0x69,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73, -0x74,0x2d,0x6d,0x75,0x73,0x69,0x63,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x0a, -0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73, -0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63,0x6b,0x2d,0x72,0x69,0x67,0x68,0x74,0x20,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68, -0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x69,0x66,0x20,0x65,0x71,0x20,0x28,0x6c,0x65, -0x6e,0x20,0x2e,0x50,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x29,0x20,0x30,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74, -0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x3e,0x6e,0x6f,0x20,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x20,0x79,0x65,0x74, -0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d, -0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x61,0x62,0x6c,0x65,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63, -0x65,0x6e,0x74,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x7b,0x7b,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x69,0x2c,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x20,0x3a, -0x3d,0x20,0x2e,0x50,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x74,0x72,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x69,0x64,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d,0x70,0x6c,0x61,0x79,0x6c,0x69, -0x73,0x74,0x73,0x2d,0x7b,0x7b,0x20,0x24,0x69,0x20,0x7d,0x7d,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b, -0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x64,0x65,0x6c,0x65,0x74,0x65,0x5f,0x70, -0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x5f,0x64,0x6f,0x3f,0x69,0x64,0x3d,0x25,0x64,0x22,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c, -0x69,0x73,0x74,0x2e,0x49,0x44,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64, -0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74,0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d, -0x72,0x69,0x67,0x68,0x74,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x4e,0x61,0x6d,0x65, -0x20,0x7d,0x7d,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x74,0x64,0x3e,0x3c,0x73,0x70,0x61,0x6e,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c, -0x69,0x67,0x68,0x74,0x22,0x3e,0x28,0x7b,0x7b,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x54,0x72,0x61,0x63, -0x6b,0x43,0x6f,0x75,0x6e,0x74,0x20,0x7d,0x7d,0x20,0x74,0x72,0x61,0x63,0x6b,0x73,0x29,0x3c,0x2f,0x73,0x70,0x61,0x6e,0x3e, -0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x74, -0x64,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6e,0x6f,0x2d,0x73,0x6d,0x61,0x6c,0x6c,0x22,0x3e,0x3c,0x73,0x70,0x61,0x6e, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x6c,0x69,0x67,0x68,0x74,0x22,0x20,0x74,0x69,0x74,0x6c, -0x65,0x3d,0x22,0x7b,0x7b,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x41, -0x74,0x20,0x7d,0x7d,0x22,0x3e,0x7b,0x7b,0x20,0x24,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2e,0x43,0x72,0x65,0x61,0x74, -0x65,0x64,0x41,0x74,0x20,0x7c,0x20,0x64,0x61,0x74,0x65,0x48,0x75,0x6d,0x61,0x6e,0x20,0x7d,0x7d,0x3c,0x2f,0x73,0x70,0x61, -0x6e,0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x3c,0x74,0x64,0x3e,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x66,0x6f,0x72,0x6d,0x3d,0x22,0x72,0x65,0x63,0x65,0x6e,0x74,0x2d, -0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x73,0x2d,0x7b,0x7b,0x20,0x24,0x69,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65, -0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x64,0x65,0x6c,0x65,0x74,0x65,0x22, -0x3e,0x3c,0x2f,0x74,0x64,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x74,0x72,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x3c,0x2f,0x74,0x61,0x62,0x6c,0x65,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72, -0x6d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x70,0x6c,0x61,0x79,0x6c,0x69, -0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2d,0x66,0x6f,0x72,0x6d,0x22,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x65,0x6e,0x63,0x74,0x79,0x70,0x65,0x3d,0x22,0x6d,0x75,0x6c,0x74,0x69,0x70,0x61,0x72,0x74,0x2f,0x66, -0x6f,0x72,0x6d,0x2d,0x64,0x61,0x74,0x61,0x22,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x61,0x63, -0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x75,0x70, -0x6c,0x6f,0x61,0x64,0x5f,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x0a,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x64, -0x69,0x76,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x72,0x65,0x6c,0x61, -0x74,0x69,0x76,0x65,0x3b,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x69,0x64,0x3d,0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x75,0x70,0x6c,0x6f, -0x61,0x64,0x2d,0x69,0x6e,0x70,0x75,0x74,0x22,0x20,0x73,0x74,0x79,0x6c,0x65,0x3d,0x22,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f, -0x6e,0x3a,0x20,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74,0x65,0x3b,0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x3a,0x20,0x30,0x3b, -0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73,0x74,0x2d,0x66,0x69,0x6c,0x65,0x73,0x22,0x20, -0x74,0x79,0x70,0x65,0x3d,0x22,0x66,0x69,0x6c,0x65,0x22,0x20,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x20,0x2f,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74, -0x79,0x70,0x65,0x3d,0x22,0x62,0x75,0x74,0x74,0x6f,0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x75,0x70,0x6c,0x6f, -0x61,0x64,0x20,0x6d,0x33,0x75,0x38,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x73,0x72,0x63,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74, -0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69,0x63,0x2f,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73, -0x74,0x2d,0x75,0x70,0x6c,0x6f,0x61,0x64,0x2e,0x6a,0x73,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70, -0x74,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20, -0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/change_password.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, -0x6e,0x67,0x69,0x6e,0x67,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e, -0x61,0x6d,0x65,0x20,0x7d,0x7d,0x27,0x73,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c, -0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22, -0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x64, -0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72, -0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d, -0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74, -0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77, -0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f, -0x6f,0x6e,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x70,0x61, -0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20, -0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73, -0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, -0x5f,0x74,0x77,0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66, -0x79,0x20,0x6e,0x65,0x77,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20, -0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74,0x22,0x20,0x76,0x61, -0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d, -0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/create_user.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x70,0x6c,0x75,0x73,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x72, -0x65,0x61,0x74,0x69,0x6e,0x67,0x20,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69, -0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c,0x6f,0x63, -0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d, -0x69,0x6e,0x2f,0x63,0x72,0x65,0x61,0x74,0x65,0x5f,0x75,0x73,0x65,0x72,0x5f,0x64,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x6d, -0x65,0x74,0x68,0x6f,0x64,0x3d,0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69, -0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65, -0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70, -0x6c,0x61,0x63,0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73, -0x77,0x6f,0x72,0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20, -0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x6f,0x6e,0x65,0x22,0x20,0x70,0x6c,0x61,0x63, -0x65,0x68,0x6f,0x6c,0x64,0x65,0x72,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72, -0x64,0x22,0x20,0x69,0x64,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x6e,0x61,0x6d, -0x65,0x3d,0x22,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x5f,0x74,0x77,0x6f,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f, -0x6c,0x64,0x65,0x72,0x3d,0x22,0x76,0x65,0x72,0x69,0x66,0x79,0x20,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x22,0x3e,0x0a, -0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62, -0x6d,0x69,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x72,0x65,0x61,0x74,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x2f,0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d, -0x7d,0x0a, -}}, -"pages/change_username.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1594938053, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x75,0x73,0x65,0x72,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x64,0x69,0x76, -0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x20,0x62,0x6f,0x78,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6f,0x78,0x2d,0x74,0x69,0x74,0x6c,0x65,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x6d,0x64,0x69,0x20,0x6d, -0x64,0x69,0x2d,0x61,0x63,0x63,0x6f,0x75,0x6e,0x74,0x2d,0x6b,0x65,0x79,0x22,0x3e,0x3c,0x2f,0x69,0x3e,0x20,0x63,0x68,0x61, -0x6e,0x67,0x69,0x6e,0x67,0x20,0x7b,0x7b,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72,0x2e,0x4e, -0x61,0x6d,0x65,0x20,0x7d,0x7d,0x27,0x73,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x64,0x69,0x76,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x66,0x6f,0x72,0x6d,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x62,0x6c, -0x6f,0x63,0x6b,0x22,0x20,0x61,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x72,0x69,0x6e,0x74,0x66,0x20,0x22, -0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x5f,0x64, -0x6f,0x3f,0x75,0x73,0x65,0x72,0x3d,0x25,0x73,0x22,0x20,0x2e,0x53,0x65,0x6c,0x65,0x63,0x74,0x65,0x64,0x55,0x73,0x65,0x72, -0x2e,0x4e,0x61,0x6d,0x65,0x20,0x7c,0x20,0x70,0x61,0x74,0x68,0x20,0x7d,0x7d,0x22,0x20,0x6d,0x65,0x74,0x68,0x6f,0x64,0x3d, -0x22,0x70,0x6f,0x73,0x74,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74, -0x79,0x70,0x65,0x3d,0x22,0x74,0x65,0x78,0x74,0x22,0x20,0x69,0x64,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22, -0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x20,0x70,0x6c,0x61,0x63,0x65,0x68,0x6f, -0x6c,0x64,0x65,0x72,0x3d,0x22,0x6e,0x65,0x77,0x20,0x75,0x73,0x65,0x72,0x6e,0x61,0x6d,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20, -0x20,0x20,0x20,0x20,0x20,0x3c,0x69,0x6e,0x70,0x75,0x74,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x73,0x75,0x62,0x6d,0x69,0x74, -0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x68,0x61,0x6e,0x67,0x65,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x3c,0x2f, -0x66,0x6f,0x72,0x6d,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, -}}, -"pages/not_found.tmpl": &EmbeddedAsset{ - ModTime: time.Unix(1584982977, 0), - Bytes: []byte{ -0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x22,0x20,0x7d,0x7d,0x0a,0x3c, -0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x70,0x61,0x64,0x64,0x65,0x64,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20, -0x3c,0x64,0x69,0x76,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d,0x22,0x74,0x65,0x78,0x74,0x2d,0x72,0x69,0x67,0x68,0x74,0x22,0x3e, -0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x61,0x67,0x65,0x20,0x6e,0x6f,0x74,0x20,0x66,0x6f,0x75,0x6e,0x64,0x0a, -0x20,0x20,0x20,0x20,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x3c,0x2f,0x64,0x69,0x76,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64, -0x20,0x7d,0x7d,0x0a, +0x7b,0x7b,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x22,0x68,0x65,0x61,0x64,0x22,0x20,0x7d,0x7d,0x0a,0x3c,0x6c,0x69,0x6e, +0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d, +0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69,0x63,0x2f, +0x72,0x65,0x73,0x65,0x74,0x2e,0x63,0x73,0x73,0x22,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65, +0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x68,0x74,0x74, +0x70,0x73,0x3a,0x2f,0x2f,0x63,0x64,0x6e,0x2e,0x6d,0x61,0x74,0x65,0x72,0x69,0x61,0x6c,0x64,0x65,0x73,0x69,0x67,0x6e,0x69, +0x63,0x6f,0x6e,0x73,0x2e,0x63,0x6f,0x6d,0x2f,0x33,0x2e,0x36,0x2e,0x39,0x35,0x2f,0x63,0x73,0x73,0x2f,0x6d,0x61,0x74,0x65, +0x72,0x69,0x61,0x6c,0x64,0x65,0x73,0x69,0x67,0x6e,0x69,0x63,0x6f,0x6e,0x73,0x2e,0x6d,0x69,0x6e,0x2e,0x63,0x73,0x73,0x22, +0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x74,0x79,0x6c,0x65,0x73,0x68,0x65,0x65,0x74,0x22, +0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73, +0x74,0x61,0x74,0x69,0x63,0x2f,0x6d,0x61,0x69,0x6e,0x2e,0x63,0x73,0x73,0x22,0x20,0x7c,0x20,0x6e,0x6f,0x43,0x61,0x63,0x68, +0x65,0x20,0x7d,0x7d,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x73,0x68,0x6f,0x72,0x74,0x63, +0x75,0x74,0x20,0x69,0x63,0x6f,0x6e,0x22,0x20,0x68,0x72,0x65,0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22, +0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69,0x63,0x2f,0x66,0x61,0x76,0x69,0x63,0x6f,0x6e,0x2e,0x69,0x63, +0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d,0x22,0x69,0x6d,0x61,0x67,0x65,0x2f,0x78,0x2d,0x69,0x63,0x6f, +0x6e,0x22,0x3e,0x0a,0x3c,0x6c,0x69,0x6e,0x6b,0x20,0x72,0x65,0x6c,0x3d,0x22,0x69,0x63,0x6f,0x6e,0x22,0x20,0x68,0x72,0x65, +0x66,0x3d,0x22,0x7b,0x7b,0x20,0x70,0x61,0x74,0x68,0x20,0x22,0x2f,0x61,0x64,0x6d,0x69,0x6e,0x2f,0x73,0x74,0x61,0x74,0x69, +0x63,0x2f,0x66,0x61,0x76,0x69,0x63,0x6f,0x6e,0x2e,0x69,0x63,0x6f,0x22,0x20,0x7d,0x7d,0x22,0x20,0x74,0x79,0x70,0x65,0x3d, +0x22,0x69,0x6d,0x61,0x67,0x65,0x2f,0x78,0x2d,0x69,0x63,0x6f,0x6e,0x22,0x3e,0x0a,0x3c,0x6d,0x65,0x74,0x61,0x20,0x6e,0x61, +0x6d,0x65,0x3d,0x22,0x76,0x69,0x65,0x77,0x70,0x6f,0x72,0x74,0x22,0x20,0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x77, +0x69,0x64,0x74,0x68,0x3d,0x64,0x65,0x76,0x69,0x63,0x65,0x2d,0x77,0x69,0x64,0x74,0x68,0x2c,0x20,0x69,0x6e,0x69,0x74,0x69, +0x61,0x6c,0x2d,0x73,0x63,0x61,0x6c,0x65,0x3d,0x31,0x2c,0x20,0x75,0x73,0x65,0x72,0x2d,0x73,0x63,0x61,0x6c,0x61,0x62,0x6c, +0x65,0x3d,0x6e,0x6f,0x22,0x3e,0x0a,0x7b,0x7b,0x20,0x65,0x6e,0x64,0x20,0x7d,0x7d,0x0a, }}, } \ No newline at end of file diff --git a/server/ctrladmin/ctrl.go b/server/ctrladmin/ctrl.go index f2ff7fd..bf888f2 100644 --- a/server/ctrladmin/ctrl.go +++ b/server/ctrladmin/ctrl.go @@ -22,6 +22,7 @@ import ( "go.senan.xyz/gonic/server/assets" "go.senan.xyz/gonic/server/ctrlbase" "go.senan.xyz/gonic/server/db" + "go.senan.xyz/gonic/server/podcasts" "go.senan.xyz/gonic/version" ) @@ -82,9 +83,10 @@ type Controller struct { buffPool *bpool.BufferPool templates map[string]*template.Template sessDB *gormstore.Store + Podcasts *podcasts.Podcasts } -func New(b *ctrlbase.Controller, sessDB *gormstore.Store) *Controller { +func New(b *ctrlbase.Controller, sessDB *gormstore.Store, podcasts *podcasts.Podcasts) *Controller { tmplBase := template. New("layout"). Funcs(sprig.FuncMap()). @@ -99,6 +101,7 @@ func New(b *ctrlbase.Controller, sessDB *gormstore.Store) *Controller { buffPool: bpool.NewBufferPool(64), templates: pagesFromPaths(tmplBase, prefixPages), sessDB: sessDB, + Podcasts: podcasts, } } @@ -124,6 +127,9 @@ type templateData struct { CurrentLastFMAPISecret string DefaultListenBrainzURL string SelectedUser *db.User + // + PodcastsEnabled bool + Podcasts []*db.Podcast } type Response struct { diff --git a/server/ctrladmin/handlers.go b/server/ctrladmin/handlers.go index bf75739..0c4ba7e 100644 --- a/server/ctrladmin/handlers.go +++ b/server/ctrladmin/handlers.go @@ -7,6 +7,7 @@ import ( "strconv" "time" + "github.com/mmcdole/gofeed" "go.senan.xyz/gonic/server/db" "go.senan.xyz/gonic/server/encode" "go.senan.xyz/gonic/server/scanner" @@ -45,6 +46,10 @@ func (c *Controller) ServeHome(r *http.Request) *Response { c.DB.Table("artists").Count(&data.ArtistCount) c.DB.Table("albums").Count(&data.AlbumCount) c.DB.Table("tracks").Count(&data.TrackCount) + data.PodcastsEnabled = c.Podcasts.PodcastBasePath != "" + if data.PodcastsEnabled { + c.DB.Find(&data.Podcasts) + } // ** begin lastfm box scheme := firstExisting( "http", // fallback @@ -415,3 +420,47 @@ func (c *Controller) ServeDeleteTranscodePrefDo(r *http.Request) *Response { redirect: "/admin/home", } } + +func (c *Controller) ServePodcastAddDo(r *http.Request) *Response { + user := r.Context().Value(CtxUser).(*db.User) + rssURL := r.FormValue("feed") + fp := gofeed.NewParser() + feed, err := fp.ParseURL(rssURL) + if err != nil { + return &Response{ + redirect: "/admin/home", + flashW: []string{fmt.Sprintf("could not create feed: %v", err)}, + } + } + _, err = c.Podcasts.AddNewPodcast(feed, user.ID) + if err != nil { + return &Response{ + redirect: "/admin/home", + flashW: []string{fmt.Sprintf("could not create feed: %v", err)}, + } + } + return &Response{ + redirect: "/admin/home", + } +} + +func (c *Controller) ServePodcastDeleteDo(r *http.Request) *Response { + user := r.Context().Value(CtxUser).(*db.User) + id, err := strconv.Atoi(r.URL.Query().Get("id")) + if err != nil { + return &Response{ + err: "please provide a valid podcast id", + code: 400, + } + } + err = c.Podcasts.DeletePodcast(user.ID, id) + if err != nil { + return &Response{ + err: "please provide a valid podcast id", + code: 400, + } + } + return &Response{ + redirect: "/admin/home", + } +} diff --git a/server/ctrlsubsonic/ctrl.go b/server/ctrlsubsonic/ctrl.go index ee12a1d..a1a71e9 100644 --- a/server/ctrlsubsonic/ctrl.go +++ b/server/ctrlsubsonic/ctrl.go @@ -14,6 +14,7 @@ import ( "go.senan.xyz/gonic/server/ctrlsubsonic/spec" "go.senan.xyz/gonic/server/jukebox" "go.senan.xyz/gonic/server/scrobble" + "go.senan.xyz/gonic/server/podcasts" ) type CtxKey int @@ -30,6 +31,7 @@ type Controller struct { CoverCachePath string Jukebox *jukebox.Jukebox Scrobblers []scrobble.Scrobbler + Podcasts *podcasts.Podcasts } type metaResponse struct { diff --git a/server/ctrlsubsonic/handlers_common.go b/server/ctrlsubsonic/handlers_common.go index 2644257..547d697 100644 --- a/server/ctrlsubsonic/handlers_common.go +++ b/server/ctrlsubsonic/handlers_common.go @@ -41,6 +41,9 @@ func (c *Controller) ServeScrobble(r *http.Request) *spec.Response { if err != nil { return spec.NewError(10, "please provide an `id` parameter") } + if id.Type == specid.Podcast || id.Type == specid.PodcastEpisode { + return spec.NewError(10, "please provide a valid track id") + } // fetch user to get lastfm session user := r.Context().Value(CtxUser).(*db.User) // fetch track for getting info to send to last.fm function @@ -107,6 +110,7 @@ func (c *Controller) ServeGetUser(r *http.Request) *spec.Response { AdminRole: user.IsAdmin, JukeboxRole: true, ScrobblingEnabled: hasLastFM || hasListenBrainz, + PodcastRole: c.Podcasts.PodcastBasePath != "", Folder: []int{1}, } return sub diff --git a/server/ctrlsubsonic/handlers_podcast.go b/server/ctrlsubsonic/handlers_podcast.go new file mode 100644 index 0000000..a241f34 --- /dev/null +++ b/server/ctrlsubsonic/handlers_podcast.go @@ -0,0 +1,95 @@ +package ctrlsubsonic + +import ( + "net/http" + + "github.com/mmcdole/gofeed" + "go.senan.xyz/gonic/server/ctrlsubsonic/params" + "go.senan.xyz/gonic/server/ctrlsubsonic/spec" + "go.senan.xyz/gonic/server/ctrlsubsonic/specid" + "go.senan.xyz/gonic/server/db" +) + +func (c *Controller) ServeGetPodcasts(r *http.Request) *spec.Response { + params := r.Context().Value(CtxParams).(params.Params) + isIncludeEpisodes := true + if ie, err := params.GetBool("includeEpisodes"); !ie && err == nil { + isIncludeEpisodes = false + } + sub := spec.NewResponse() + user := r.Context().Value(CtxUser).(*db.User) + id, err := params.GetID("id") + if err != nil { + sub.Podcasts, err = c.Podcasts.GetAllPodcasts(user.ID, isIncludeEpisodes) + if err != nil { + return spec.NewError(10, "Failed to retrieve podcasts: %s", err) + } + return sub + } + sub.Podcasts, _ = c.Podcasts.GetPodcast(id.Value, user.ID, isIncludeEpisodes) + return sub +} + +func (c *Controller) ServeDownloadPodcastEpisode(r *http.Request) *spec.Response { + params := r.Context().Value(CtxParams).(params.Params) + id, err := params.GetID("id") + if err != nil || id.Type != specid.PodcastEpisode { + return spec.NewError(10, "Please provide a valid podcast episode id") + } + if err := c.Podcasts.DownloadEpisode(id.Value); err != nil { + return spec.NewError(10, "Failed to download episode: %s", err) + } + return spec.NewResponse() +} + +func (c *Controller) ServeCreatePodcastChannel(r *http.Request) *spec.Response { + user := r.Context().Value(CtxUser).(*db.User) + params := r.Context().Value(CtxParams).(params.Params) + rssURL, _ := params.Get("url") + fp := gofeed.NewParser() + feed, err := fp.ParseURL(rssURL) + if err != nil { + return spec.NewError(10, "Failed to parse feed: %s", err) + } + _, err = c.Podcasts.AddNewPodcast(feed, user.ID) + if err != nil { + return spec.NewError(10, "Failed to add feed: %s", err) + } + return spec.NewResponse() +} + +func (c *Controller) ServeRefreshPodcasts(r *http.Request) *spec.Response { + user := r.Context().Value(CtxUser).(*db.User) + err := c.Podcasts.RefreshPodcasts(user.ID, false) + if err != nil { + return spec.NewError(10, "Failed to refresh feeds: %s", err) + } + return spec.NewResponse() +} + +func (c *Controller) ServeDeletePodcastChannel(r *http.Request) *spec.Response { + user := r.Context().Value(CtxUser).(*db.User) + params := r.Context().Value(CtxParams).(params.Params) + id, err := params.GetID("id") + if err != nil || id.Type != specid.Podcast { + return spec.NewError(10, "Please provide a valid podcast ID") + } + err = c.Podcasts.DeletePodcast(user.ID, id.Value) + if err != nil { + return spec.NewError(10, "Failed to delete podcast: %s", err) + } + return spec.NewResponse() +} + +func (c *Controller) ServeDeletePodcastEpisode(r *http.Request) *spec.Response { + params := r.Context().Value(CtxParams).(params.Params) + id, err := params.GetID("id") + if err != nil || id.Type != specid.PodcastEpisode { + return spec.NewError(10, "Please provide a valid podcast episode ID") + } + err = c.Podcasts.DeletePodcastEpisode(id.Value) + if err != nil { + return spec.NewError(10, "Failed to delete podcast: %s", err) + } + return spec.NewResponse() +} diff --git a/server/ctrlsubsonic/handlers_raw.go b/server/ctrlsubsonic/handlers_raw.go index 42d2e9e..cc02a48 100644 --- a/server/ctrlsubsonic/handlers_raw.go +++ b/server/ctrlsubsonic/handlers_raw.go @@ -15,6 +15,7 @@ import ( "go.senan.xyz/gonic/server/ctrlsubsonic/params" "go.senan.xyz/gonic/server/ctrlsubsonic/spec" + "go.senan.xyz/gonic/server/ctrlsubsonic/specid" "go.senan.xyz/gonic/server/db" "go.senan.xyz/gonic/server/encode" ) @@ -44,6 +45,12 @@ func streamGetTrack(dbc *db.DB, trackID int) (*db.Track, error) { return &track, err } +func streamGetPodcast(dbc *db.DB, podcastID int) (*db.PodcastEpisode, error) { + podcast := db.PodcastEpisode{} + err := dbc.First(&podcast, podcastID).Error + return &podcast, err +} + func streamUpdateStats(dbc *db.DB, userID, albumID int) { play := db.Play{ AlbumID: albumID, @@ -67,24 +74,51 @@ var ( errCoverEmpty = errors.New("no cover found for that folder") ) -func coverGetPath(dbc *db.DB, musicPath string, id int) (string, error) { - folder := &db.Album{} - err := dbc.DB. - Select("id, left_path, right_path, cover"). - First(folder, id). - Error +func coverGetPath(dbc *db.DB, musicPath, podcastPath string, id specid.ID) (string, error) { + var err error + coverPath := "" + switch id.Type { + case specid.Album: + folder := &db.Album{} + err = dbc.DB. + Select("id, left_path, right_path, cover"). + First(folder, id.Value). + Error + coverPath = path.Join( + musicPath, + folder.LeftPath, + folder.RightPath, + folder.Cover, + ) + if folder.Cover == "" { + return "", errCoverEmpty + } + case specid.Podcast: + podcast := &db.Podcast{} + err = dbc.First(podcast, id.Value).Error + + if podcast.ImagePath == "" { + return "", errCoverEmpty + } + coverPath = path.Join(podcastPath, podcast.ImagePath) + case specid.PodcastEpisode: + podcastEp := &db.PodcastEpisode{} + err = dbc.First(podcastEp, id.Value).Error + if gorm.IsRecordNotFoundError(err) { + return "", errCoverNotFound + } + podcast := &db.Podcast{} + err = dbc.First(podcast, podcastEp.PodcastID).Error + if podcast.ImagePath == "" { + return "", errCoverEmpty + } + coverPath = path.Join(podcastPath, podcast.ImagePath) + default: + } if gorm.IsRecordNotFoundError(err) { return "", errCoverNotFound } - if folder.Cover == "" { - return "", errCoverEmpty - } - return path.Join( - musicPath, - folder.LeftPath, - folder.RightPath, - folder.Cover, - ), nil + return coverPath, nil } func coverScaleAndSave(absPath, cachePath string, size int) error { @@ -118,7 +152,7 @@ func (c *Controller) ServeGetCoverArt(w http.ResponseWriter, r *http.Request) *s _, err = os.Stat(cachePath) switch { case os.IsNotExist(err): - coverPath, err := coverGetPath(c.DB, c.MusicPath, id.Value) + coverPath, err := coverGetPath(c.DB, c.MusicPath, c.Podcasts.PodcastBasePath, id) if err != nil { return spec.NewError(10, "couldn't find cover `%s`: %v", id, err) } @@ -140,35 +174,53 @@ func (c *Controller) ServeStream(w http.ResponseWriter, r *http.Request) *spec.R if err != nil { return spec.NewError(10, "please provide an `id` parameter") } - track, err := streamGetTrack(c.DB, id.Value) - if err != nil { + var audioFile db.AudioFile + var audioPath string + if id.Type == specid.Track { + track, _ := streamGetTrack(c.DB, id.Value) + audioFile = track + audioPath = path.Join(c.MusicPath, track.RelPath()) + if err != nil { + return spec.NewError(70, "track with id `%s` was not found", id) + } + } else if id.Type == specid.PodcastEpisode { + podcast, err := streamGetPodcast(c.DB, id.Value) + audioFile = podcast + audioPath = path.Join(c.Podcasts.PodcastBasePath, podcast.Path) + if err != nil { + return spec.NewError(70, "track with id `%s` was not found", id) + } + } + + if err != nil && id.Type != specid.Podcast { return spec.NewError(70, "media with id `%d` was not found", id.Value) } user := r.Context().Value(CtxUser).(*db.User) - defer streamUpdateStats(c.DB, user.ID, track.Album.ID) + if id.Type == specid.Track { + defer streamUpdateStats(c.DB, user.ID, audioFile.(*db.Track).Album.ID) + } pref := streamGetTransPref(c.DB, user.ID, params.GetOr("c", "")) - trackPath := path.Join(c.MusicPath, track.RelPath()) // onInvalidProfile := func() error { - log.Printf("serving raw `%s`\n", track.Filename) - w.Header().Set("Content-Type", track.MIME()) - http.ServeFile(w, r, trackPath) + log.Printf("serving raw `%s`\n", audioFile.AudioFilename()) + w.Header().Set("Content-Type", audioFile.MIME()) + http.ServeFile(w, r, audioPath) return nil } onCacheHit := func(profile encode.Profile, path string) error { log.Printf("serving transcode `%s`: cache [%s/%dk] hit!\n", - track.Filename, profile.Format, profile.Bitrate) + audioFile.AudioFilename(), profile.Format, profile.Bitrate) http.ServeFile(w, r, path) return nil } onCacheMiss := func(profile encode.Profile) (io.Writer, error) { log.Printf("serving transcode `%s`: cache [%s/%dk] miss!\n", - track.Filename, profile.Format, profile.Bitrate) + audioFile.AudioFilename(), profile.Format, profile.Bitrate) return w, nil } encodeOptions := encode.Options{ - TrackPath: trackPath, - TrackBitrate: track.Bitrate, + TrackPath: audioPath, + TrackBitrate: audioFile.AudioBitrate(), CachePath: c.CachePath, ProfileName: pref.Profile, PreferredBitrate: params.GetOrInt("maxBitRate", 0), @@ -177,7 +229,7 @@ func (c *Controller) ServeStream(w http.ResponseWriter, r *http.Request) *spec.R OnCacheMiss: onCacheMiss, } if err := encode.Encode(encodeOptions); err != nil { - log.Printf("serving transcode `%s`: error: %v\n", track.Filename, err) + log.Printf("serving transcode `%s`: error: %v\n", audioFile.AudioFilename(), err) } return nil } @@ -188,13 +240,25 @@ func (c *Controller) ServeDownload(w http.ResponseWriter, r *http.Request) *spec if err != nil { return spec.NewError(10, "please provide an `id` parameter") } - track, err := streamGetTrack(c.DB, id.Value) - if err != nil { - return spec.NewError(70, "media with id `%s` was not found", id) + var filePath string + var audioFile db.AudioFile + if id.Type == specid.Track { + track, _ := streamGetTrack(c.DB, id.Value) + audioFile = track + filePath = path.Join(c.MusicPath, track.RelPath()) + if err != nil { + return spec.NewError(70, "track with id `%s` was not found", id) + } + } else if id.Type == specid.PodcastEpisode { + podcast, err := streamGetPodcast(c.DB, id.Value) + audioFile = podcast + filePath = path.Join(c.Podcasts.PodcastBasePath, podcast.Path) + if err != nil { + return spec.NewError(70, "podcast with id `%s` was not found", id) + } } - log.Printf("serving raw `%s`\n", track.Filename) - w.Header().Set("Content-Type", track.MIME()) - trackPath := path.Join(c.MusicPath, track.RelPath()) - http.ServeFile(w, r, trackPath) + log.Printf("serving raw `%s`\n", audioFile.AudioFilename()) + w.Header().Set("Content-Type", audioFile.MIME()) + http.ServeFile(w, r, filePath) return nil } diff --git a/server/ctrlsubsonic/handlers_unimplemented.go b/server/ctrlsubsonic/handlers_unimplemented.go deleted file mode 100644 index eca34f2..0000000 --- a/server/ctrlsubsonic/handlers_unimplemented.go +++ /dev/null @@ -1,15 +0,0 @@ -package ctrlsubsonic - -import ( - "net/http" - - "go.senan.xyz/gonic/server/ctrlsubsonic/spec" -) - -func (c *Controller) ServeGetPodcasts(r *http.Request) *spec.Response { - sub := spec.NewResponse() - sub.Podcasts = &spec.Podcasts{ - List: []struct{}{}, - } - return sub -} diff --git a/server/ctrlsubsonic/spec/spec.go b/server/ctrlsubsonic/spec/spec.go index d3d5c9b..fc2225c 100644 --- a/server/ctrlsubsonic/spec/spec.go +++ b/server/ctrlsubsonic/spec/spec.go @@ -288,5 +288,37 @@ type JukeboxPlaylist struct { } type Podcasts struct { - List []struct{} `xml:"channel" json:"channel"` + List []PodcastChannel `xml:"channel" json:"channel"` +} + +type PodcastChannel struct { + ID specid.ID `xml:"id,attr" json:"id"` + URL string `xml:"url,attr" json:"url"` + Title string `xml:"title,attr" json:"title"` + Description string `xml:"description,attr" json:"description"` + CoverArt specid.ID `xml:"coverArt,attr" json:"coverArt,omitempty"` + OriginalImageURL string `xml:"originalImageUrl,attr" json:"originalImageUrl,omitempty"` + Status string `xml:"status,attr" json:"status"` + Episode []PodcastEpisode `xml:"episode" json:"episode,omitempty"` +} + +type PodcastEpisode struct { + ID specid.ID `xml:"id,attr" json:"id"` + StreamID specid.ID `xml:"streamId,attr" json:"streamId"` + ChannelID specid.ID `xml:"channelId,attr" json:"channelId"` + Title string `xml:"title,attr" json:"title"` + Description string `xml:"description,attr" json:"description"` + PublishDate time.Time `xml:"publishDate,attr" json:"publishDate"` + Status string `xml:"status,attr" json:"status"` + Parent string `xml:"parent,attr" json:"parent"` + IsDir bool `xml:"isDir,attr" json:"isDir"` + Year int `xml:"year,attr" json:"year"` + Genre string `xml:"genre,attr" json:"genre"` + CoverArt specid.ID `xml:"coverArt,attr" json:"coverArt"` + Size int `xml:"size,attr" json:"size"` + ContentType string `xml:"contentType,attr" json:"contentType"` + Suffix string `xml:"suffix,attr" json:"suffix"` + Duration int `xml:"duration,attr" json:"duration"` + BitRate int `xml:"bitRate,attr" json:"bitrate"` + Path string `xml:"path,attr" json:"path"` } diff --git a/server/ctrlsubsonic/specid/ids.go b/server/ctrlsubsonic/specid/ids.go index 710187f..ecd2083 100644 --- a/server/ctrlsubsonic/specid/ids.go +++ b/server/ctrlsubsonic/specid/ids.go @@ -20,10 +20,12 @@ var ( type IDT string const ( - Artist IDT = "ar" - Album IDT = "al" - Track IDT = "tr" - separator = "-" + Artist IDT = "ar" + Album IDT = "al" + Track IDT = "tr" + Podcast IDT = "pd" + PodcastEpisode IDT = "pe" + separator = "-" ) type ID struct { @@ -49,6 +51,10 @@ func New(in string) (ID, error) { return ID{Type: Album, Value: val}, nil case Track: return ID{Type: Track, Value: val}, nil + case Podcast: + return ID{Type: Podcast, Value: val}, nil + case PodcastEpisode: + return ID{Type: PodcastEpisode, Value: val}, nil default: return ID{}, fmt.Errorf("%q: %w", partType, ErrBadPrefix) } diff --git a/server/db/db.go b/server/db/db.go index 5a51550..f1c0c96 100644 --- a/server/db/db.go +++ b/server/db/db.go @@ -79,6 +79,7 @@ func New(path string) (*DB, error) { migrateAddAlbumIDX(), migrateMultiGenre(), migrateListenBrainz(), + migratePodcast(), )) if err = migr.Migrate(); err != nil { return nil, fmt.Errorf("migrating to latest version: %w", err) diff --git a/server/db/migrations.go b/server/db/migrations.go index d1cbe38..474be48 100644 --- a/server/db/migrations.go +++ b/server/db/migrations.go @@ -211,6 +211,7 @@ func migrateMultiGenre() gormigrate.Migration { } } + func migrateListenBrainz() gormigrate.Migration { return gormigrate.Migration{ ID: "202101081149", @@ -225,3 +226,16 @@ func migrateListenBrainz() gormigrate.Migration { }, } } + +func migratePodcast() gormigrate.Migration { + return gormigrate.Migration{ + ID: "202101111537", + Migrate: func(tx *gorm.DB) error { + step := tx.AutoMigrate( + Podcast{}, + PodcastEpisode{}, + ) + return step.Error + }, + } +} diff --git a/server/db/model.go b/server/db/model.go index 51e60be..ee603d8 100644 --- a/server/db/model.go +++ b/server/db/model.go @@ -7,6 +7,7 @@ package db import ( "path" + "path/filepath" "strconv" "strings" "time" @@ -67,6 +68,15 @@ type Genre struct { TrackCount int `sql:"-"` } +// AudioFile is used to avoid some duplication in handlers_raw.go +// between Track and Podcast +type AudioFile interface { + AudioFilename() string + Ext() string + MIME() string + AudioBitrate() int +} + type Track struct { ID int `gorm:"primary_key"` CreatedAt time.Time @@ -109,6 +119,14 @@ func (t *Track) Ext() string { return longExt[1:] } +func (t *Track) AudioFilename() string { + return t.Filename +} + +func (t *Track) AudioBitrate() int { + return t.Bitrate +} + func (t *Track) MIME() string { v, _ := mime.FromExtension(t.Ext()) return v @@ -270,3 +288,68 @@ type AlbumGenre struct { Genre *Genre GenreID int `gorm:"not null; unique_index:idx_album_id_genre_id" sql:"default: null; type:int REFERENCES genres(id) ON DELETE CASCADE"` } + +type Podcast struct { + ID int `gorm:"primary_key"` + UpdatedAt time.Time + ModifiedAt time.Time + UserID int `sql:"default: null; type:int REFERENCES users(id) ON DELETE CASCADE"` + URL string + Title string + Description string + ImageURL string + ImagePath string + Error string +} + +func (p *Podcast) Fullpath(podcastPath string) string { + return filepath.Join(podcastPath, filepath.Clean(p.Title)) +} + +func (p *Podcast) SID() *specid.ID { + return &specid.ID{Type: specid.Podcast, Value: p.ID} +} + +type PodcastEpisode struct { + ID int `gorm:"primary_key"` + CreatedAt time.Time + UpdatedAt time.Time + ModifiedAt time.Time + PodcastID int `gorm:"not null" sql:"default: null; type:int REFERENCES podcasts(id) ON DELETE CASCADE"` + Title string + Description string + PublishDate *time.Time + AudioURL string + Bitrate int + Length int + Size int + Path string + Filename string + Status string + Error string +} + +func (pe *PodcastEpisode) SID() *specid.ID { + return &specid.ID{Type: specid.PodcastEpisode, Value: pe.ID} +} + +func (pe *PodcastEpisode) AudioFilename() string { + return pe.Filename +} + +func (pe *PodcastEpisode) Ext() string { + longExt := path.Ext(pe.Filename) + if len(longExt) < 1 { + return "" + } + return longExt[1:] +} + +func (pe *PodcastEpisode) MIME() string { + v, _ := mime.FromExtension(pe.Ext()) + return v +} + +func (pe *PodcastEpisode) AudioBitrate() int { + return pe.Bitrate +} diff --git a/server/podcasts/podcasts.go b/server/podcasts/podcasts.go new file mode 100644 index 0000000..18d1ac8 --- /dev/null +++ b/server/podcasts/podcasts.go @@ -0,0 +1,440 @@ +package podcasts + +import ( + "errors" + "fmt" + "io" + "log" + "mime" + "net/http" + "net/url" + "os" + "path" + "path/filepath" + "strconv" + "strings" + "time" + + "github.com/jinzhu/gorm" + "github.com/mmcdole/gofeed" + "go.senan.xyz/gonic/server/ctrlsubsonic/spec" + "go.senan.xyz/gonic/server/ctrlsubsonic/specid" + "go.senan.xyz/gonic/server/db" + "go.senan.xyz/gonic/server/scanner/tags" +) + +type Podcasts struct { + DB *db.DB + PodcastBasePath string +} + +const ( + episodeDownloading = "downloading" + episodeSkipped = "skipped" + episodeDeleted = "deleted" +) + +func (p *Podcasts) GetAllPodcasts(userID int, includeEpisodes bool) (*spec.Podcasts, error) { + podcasts := []*db.Podcast{} + err := p.DB.Where("user_id=?", userID).Order("").Find(&podcasts).Error + if err != nil { + return nil, err + } + channels := []spec.PodcastChannel{} + for _, c := range podcasts { + channel := spec.PodcastChannel{ + ID: *c.SID(), + OriginalImageURL: c.ImageURL, + Title: c.Title, + Description: c.Description, + URL: c.URL, + Status: episodeSkipped, + } + if includeEpisodes { + channel.Episode, err = p.GetPodcastEpisodes(*c.SID()) + if err != nil { + return nil, err + } + } + channels = append(channels, channel) + } + return &spec.Podcasts{List: channels}, nil +} + +func (p *Podcasts) GetPodcast(podcastID, userID int, includeEpisodes bool) (*spec.Podcasts, error) { + podcasts := []*db.Podcast{} + err := p.DB.Where("user_id=? AND id=?", userID, podcastID). + Order("title DESC"). + Find(&podcasts).Error + if err != nil { + return nil, err + } + + channels := []spec.PodcastChannel{} + for _, c := range podcasts { + channel := spec.PodcastChannel{ + ID: *c.SID(), + OriginalImageURL: c.ImageURL, + CoverArt: *c.SID(), + Title: c.Title, + Description: c.Description, + URL: c.URL, + Status: episodeSkipped, + } + if includeEpisodes { + channel.Episode, err = p.GetPodcastEpisodes(*c.SID()) + if err != nil { + return nil, err + } + } + channels = append(channels, channel) + } + return &spec.Podcasts{List: channels}, nil +} + +func (p *Podcasts) GetPodcastEpisodes(podcastID specid.ID) ([]spec.PodcastEpisode, error) { + dbEpisodes := []*db.PodcastEpisode{} + if err := p.DB. + Where("podcast_id=?", podcastID.Value). + Order("publish_date DESC"). + Find(&dbEpisodes).Error; err != nil { + return nil, err + } + episodes := []spec.PodcastEpisode{} + for _, dbe := range dbEpisodes { + episodes = append(episodes, spec.PodcastEpisode{ + ID: *dbe.SID(), + StreamID: *dbe.SID(), + ContentType: dbe.MIME(), + ChannelID: podcastID, + Title: dbe.Title, + Description: dbe.Description, + Status: dbe.Status, + CoverArt: podcastID, + PublishDate: *dbe.PublishDate, + Genre: "Podcast", + Duration: dbe.Length, + Year: dbe.PublishDate.Year(), + Suffix: dbe.Ext(), + BitRate: dbe.Bitrate, + IsDir: false, + Path: dbe.Path, + Size: dbe.Size, + }) + } + + return episodes, nil +} + +func (p *Podcasts) AddNewPodcast(feed *gofeed.Feed, userID int) (*db.Podcast, error) { + podcast := db.Podcast{ + Description: feed.Description, + ImageURL: feed.Image.URL, + UserID: userID, + Title: feed.Title, + URL: feed.FeedLink, + } + podPath := podcast.Fullpath(p.PodcastBasePath) + err := os.Mkdir(podPath, 0755) + if err != nil && !os.IsExist(err) { + return nil, err + } + if err := p.DB.Save(&podcast).Error; err != nil { + return &podcast, err + } + if err := p.AddNewEpisodes(userID, podcast.ID, feed.Items); err != nil { + return nil, err + } + go p.downloadPodcastCover(podPath, &podcast) + + return &podcast, nil +} + +func getEntriesAfterDate(feed []*gofeed.Item, after time.Time) []*gofeed.Item { + items := []*gofeed.Item{} + for _, item := range feed { + if item.PublishedParsed.Before(after) || item.PublishedParsed.Equal(after) { + continue + } + items = append(items, item) + } + return items +} + +func (p *Podcasts) AddNewEpisodes(userID int, podcastID int, items []*gofeed.Item) error { + podcastEpisode := db.PodcastEpisode{} + err := p.DB. + Where("podcast_id=?", podcastID). + Order("publish_date DESC"). + First(&podcastEpisode).Error + itemFound := true + if errors.Is(err, gorm.ErrRecordNotFound) { + itemFound = false + } else if err != nil { + return err + } + if !itemFound { + for _, item := range items { + if err := p.AddEpisode(podcastID, item); err != nil { + return err + } + } + return nil + } + for _, item := range getEntriesAfterDate(items, *podcastEpisode.PublishDate) { + if err := p.AddEpisode(podcastID, item); err != nil { + return err + } + } + return nil +} + +func getSecondsFromString(time string) int { + duration, err := strconv.Atoi(time) + if err == nil { + return duration + } + splitTime := strings.Split(time, ":") + if len(splitTime) == 3 { + hours, _ := strconv.Atoi(splitTime[0]) + minutes, _ := strconv.Atoi(splitTime[1]) + seconds, _ := strconv.Atoi(splitTime[2]) + return (3600 * hours) + (60 * minutes) + seconds + } + if len(splitTime) == 2 { + minutes, _ := strconv.Atoi(splitTime[0]) + seconds, _ := strconv.Atoi(splitTime[1]) + return (60 * minutes) + seconds + } + return 0 +} + +func (p *Podcasts) AddEpisode(podcastID int, item *gofeed.Item) error { + duration := 0 + // if it has the media extension use it + for _, content := range item.Extensions["media"]["content"] { + durationExt := content.Attrs["duration"] + duration = getSecondsFromString(durationExt) + if duration != 0 { + break + } + } + // if the itunes extension is available, use AddEpisode + if duration == 0 { + duration = getSecondsFromString(item.ITunesExt.Duration) + } + + for _, enc := range item.Enclosures { + if !strings.HasPrefix(enc.Type, "audio") { + continue + } + size, _ := strconv.Atoi(enc.Length) + podcastEpisode := db.PodcastEpisode{ + PodcastID: podcastID, + Description: item.Description, + Title: item.Title, + Length: duration, + Size: size, + PublishDate: item.PublishedParsed, + AudioURL: enc.URL, + Status: episodeSkipped, + } + if err := p.DB.Save(&podcastEpisode).Error; err != nil { + return err + } + } + return nil +} + +func (p *Podcasts) RefreshPodcasts(userID int, serverWide bool) error { + podcasts := []*db.Podcast{} + var err error + if serverWide { + err = p.DB.Find(&podcasts).Error + } else { + err = p.DB.Where("user_id=?", userID).Find(&podcasts).Error + } + if err != nil { + return err + } + + for _, podcast := range podcasts { + fp := gofeed.NewParser() + feed, err := fp.ParseURL(podcast.URL) + if err != nil { + log.Printf("Error refreshing podcast with url %s: %s", podcast.URL, err) + continue + } + err = p.AddNewEpisodes(userID, podcast.ID, feed.Items) + if err != nil { + log.Printf("Error adding episodes: %s", err) + } + } + return nil +} + +func (p *Podcasts) DownloadEpisode(episodeID int) error { + podcastEpisode := db.PodcastEpisode{} + podcast := db.Podcast{} + err := p.DB.Where("id=?", episodeID).First(&podcastEpisode).Error + if err != nil { + return err + } + err = p.DB.Where("id=?", podcastEpisode.PodcastID).First(&podcast).Error + if err != nil { + return err + } + if podcastEpisode.Status == episodeDownloading { + log.Printf("Already downloading podcast episode with id %d", episodeID) + return nil + } + podcastEpisode.Status = episodeDownloading + p.DB.Save(&podcastEpisode) + // nolint: bodyclose + resp, err := http.Get(podcastEpisode.AudioURL) + if err != nil { + return err + } + filename, ok := getContentDispositionFilename(resp.Header.Get("content-disposition")) + if !ok { + audioURL, err := url.Parse(podcastEpisode.AudioURL) + if err != nil { + return err + } + filename = path.Base(audioURL.Path) + } + filename = p.findUniqueEpisodeName(&podcast, &podcastEpisode, filename) + audioFile, err := os.Create(path.Join(podcast.Fullpath(p.PodcastBasePath), filename)) + if err != nil { + return err + } + podcastEpisode.Filename = filename + podcastEpisode.Path = path.Join(filepath.Clean(podcast.Title), filename) + p.DB.Save(&podcastEpisode) + go p.doPodcastDownload(&podcastEpisode, audioFile, resp.Body) + return nil +} + +func (p *Podcasts) findUniqueEpisodeName( + podcast *db.Podcast, + podcastEpisode *db.PodcastEpisode, + filename string) string { + fp := path.Join(podcast.Fullpath(p.PodcastBasePath), filename) + if _, err := os.Stat(fp); os.IsNotExist(err) { + return filename + } + titlePath := fmt.Sprintf("%s%s", podcastEpisode.Title, + filepath.Ext(filename)) + fp = path.Join(podcast.Fullpath(p.PodcastBasePath), titlePath) + if _, err := os.Stat(fp); os.IsNotExist(err) { + return titlePath + } + // try to find a filename like FILENAME (1).mp3 incrementing + return findEpisode(podcast.Fullpath(p.PodcastBasePath), filename, 1) +} + +func findEpisode(base, filename string, count int) string { + testFile := fmt.Sprintf("%s (%d)%s", filename, count, filepath.Ext(filename)) + fp := path.Join(base, testFile) + if _, err := os.Stat(fp); os.IsNotExist(err) { + return testFile + } + return findEpisode(base, filename, count+1) +} + +func getContentDispositionFilename(header string) (string, bool) { + _, params, _ := mime.ParseMediaType(header) + filename, ok := params["filename"] + return filename, ok +} + +func (p *Podcasts) downloadPodcastCover(podPath string, podcast *db.Podcast) { + imageURL, err := url.Parse(podcast.ImageURL) + if err != nil { + return + } + ext := path.Ext(imageURL.Path) + resp, err := http.Get(podcast.ImageURL) + if err != nil { + return + } + defer resp.Body.Close() + if ext == "" { + filename, _ := getContentDispositionFilename(resp.Header.Get("content-disposition")) + ext = path.Ext(filename) + } + coverPath := path.Join(podPath, "cover"+ext) + coverFile, err := os.Create(coverPath) + if err != nil { + log.Printf("Error creating podcast cover: %s", err) + return + } + if _, err := io.Copy(coverFile, resp.Body); err != nil { + log.Printf("Error while writing cover: %s", err) + return + } + podcast.ImagePath = path.Join(filepath.Clean(podcast.Title), "cover"+ext) + p.DB.Save(podcast) +} + +func (p *Podcasts) doPodcastDownload(podcastEpisode *db.PodcastEpisode, pdFile *os.File, src io.Reader) { + _, err := io.Copy(pdFile, src) + if err != nil { + log.Printf("Error while writing podcast episode: %s", err) + podcastEpisode.Status = "error" + p.DB.Save(podcastEpisode) + return + } + defer pdFile.Close() + stat, _ := pdFile.Stat() + podTags, err := tags.New(path.Join(p.PodcastBasePath, podcastEpisode.Path)) + if err != nil { + log.Printf("Error parsing podcast: %e", err) + podcastEpisode.Status = "error" + p.DB.Save(podcastEpisode) + return + } + podcastEpisode.Bitrate = podTags.Bitrate() + podcastEpisode.Status = "completed" + podcastEpisode.Length = podTags.Length() + podcastEpisode.Size = int(stat.Size()) + p.DB.Save(podcastEpisode) +} + +func (p *Podcasts) DeletePodcast(userID, podcastID int) error { + podcast := db.Podcast{} + err := p.DB.Where("id=? AND user_id=?", podcastID, userID).First(&podcast).Error + if err != nil { + return err + } + userCount := 0 + p.DB.Model(&db.Podcast{}).Where("title=?", podcast.Title).Count(&userCount) + if userCount == 1 { + // only delete the folder if there are not multiple listeners + err = os.RemoveAll(podcast.Fullpath(p.PodcastBasePath)) + if err != nil { + return err + } + } + err = p.DB. + Where("id=? AND user_id=?", podcastID, userID). + Delete(db.Podcast{}).Error + if err != nil { + return err + } + return nil +} + +func (p *Podcasts) DeletePodcastEpisode(podcastEpisodeID int) error { + podcastEp := db.PodcastEpisode{} + err := p.DB.First(&podcastEp, podcastEpisodeID).Error + if err != nil { + return err + } + podcastEp.Status = episodeDeleted + p.DB.Save(&podcastEp) + if err := os.Remove(filepath.Join(p.PodcastBasePath, podcastEp.Path)); err != nil { + return err + } + return err +} diff --git a/server/podcasts/podcasts_test.go b/server/podcasts/podcasts_test.go new file mode 100644 index 0000000..578b97a --- /dev/null +++ b/server/podcasts/podcasts_test.go @@ -0,0 +1,29 @@ +package podcasts + +import ( + "os" + "testing" + "time" + + "github.com/mmcdole/gofeed" +) + +func TestGetMoreRecentEpisodes(t *testing.T) { + fp := gofeed.NewParser() + newFile, err := os.Open("testdata/rss.new") + if err != nil { + t.Fatal(err) + } + newFeed, err := fp.Parse(newFile) + if err != nil { + t.Fatal(err) + } + after, err := time.Parse(time.RFC1123, "Mon, 27 Jun 2016 06:33:43 +0000") + if err != nil { + t.Fatal(err) + } + entries := getEntriesAfterDate(newFeed.Items, after) + if len(entries) != 2 { + t.Errorf("Expected 2 entries, got %d", len(entries)) + } +} diff --git a/server/podcasts/testdata/rss.new b/server/podcasts/testdata/rss.new new file mode 100644 index 0000000..64f85c0 --- /dev/null +++ b/server/podcasts/testdata/rss.new @@ -0,0 +1,83 @@ + + + + + Internet Box + Mon, 01 Apr 2019 04:35:43 +0000 + Sun, 10 Jan 2021 00:07:33 +0000 + Libsyn WebEngine 2.0 + https://internetboxpodcast.com + en + + https://internetboxpodcast.com + admin@internetboxpodcast.com (admin@internetboxpodcast.com) + + + https://ssl-static.libsyn.com/p/assets/d/d/3/3/dd338b309838f617/iTunes.png + Internet Box + + + Internet Box Crew + achievement,box,friendship,hunter,internet,is,little,magic,mlp,my,pony,rooster,teeth + + + + + + yes + + + admin@internetboxpodcast.com + + + + episodic + + + + + + Episode 128 + Mon, 01 Apr 2019 04:35:43 +0000 + + + +  

The Internet Box is fooling around this week!

 

]]>
+  

The Internet Box is fooling around this week!

 

]]>
+ + 44:41 + yes + box,meme,fools,april,reddit,copypaste,inernet + + full +
+ + Episode 127 + Sat, 06 Aug 2016 04:46:28 +0000 + + + + The Internet Box is a national treasure this week!

]]>
+ The Internet Box is a national treasure this week!

]]>
+ + 01:45:48 + yes + box,2,internet,cage,movies,national,go,season,treasure,nic,bane,pokemon + +
+ + Episode 126 + Mon, 27 Jun 2016 06:33:43 +0000 + + + + The Internet Box is clicking this week!

]]>
+ The Internet Box is clicking this week!

]]>
+ + 01:20:42 + yes + box,2,factory,internet,pizza,future,robots,season,farts,cake,via,reddit,313,vorarephilia + +
+
+
diff --git a/server/server.go b/server/server.go index 710d5ac..299f85d 100644 --- a/server/server.go +++ b/server/server.go @@ -17,6 +17,7 @@ import ( "go.senan.xyz/gonic/server/ctrlsubsonic" "go.senan.xyz/gonic/server/db" "go.senan.xyz/gonic/server/jukebox" + "go.senan.xyz/gonic/server/podcasts" "go.senan.xyz/gonic/server/scanner" "go.senan.xyz/gonic/server/scrobble" "go.senan.xyz/gonic/server/scrobble/lastfm" @@ -26,6 +27,7 @@ import ( type Options struct { DB *db.DB MusicPath string + PodcastPath string CachePath string CoverCachePath string ProxyPrefix string @@ -37,12 +39,14 @@ type Server struct { jukebox *jukebox.Jukebox router *mux.Router sessDB *gormstore.Store + podcast *podcasts.Podcasts } func New(opts Options) *Server { // ** begin sanitation opts.MusicPath = filepath.Clean(opts.MusicPath) opts.CachePath = filepath.Clean(opts.CachePath) + opts.PodcastPath = filepath.Clean(opts.PodcastPath) // ** begin controllers scanner := scanner.New(opts.MusicPath, opts.DB, opts.GenreSplit) jukebox := jukebox.New(opts.MusicPath) @@ -64,7 +68,8 @@ func New(opts Options) *Server { sessDB.SessionOpts.HttpOnly = true sessDB.SessionOpts.SameSite = http.SameSiteLaxMode // - ctrlAdmin := ctrladmin.New(base, sessDB) + pcInit := &podcasts.Podcasts{DB: opts.DB, PodcastBasePath: opts.PodcastPath} + ctrlAdmin := ctrladmin.New(base, sessDB, pcInit) scrobblers := []scrobble.Scrobbler{ &lastfm.Scrobbler{DB: opts.DB}, &listenbrainz.Scrobbler{}, @@ -75,6 +80,7 @@ func New(opts Options) *Server { CoverCachePath: opts.CoverCachePath, Jukebox: jukebox, Scrobblers: scrobblers, + Podcasts: pcInit, } setupMisc(r, base) setupAdmin(r.PathPrefix("/admin").Subrouter(), ctrlAdmin) @@ -85,6 +91,7 @@ func New(opts Options) *Server { jukebox: jukebox, router: r, sessDB: sessDB, + podcast: &podcasts.Podcasts{DB: opts.DB, PodcastBasePath: opts.PodcastPath}, } } @@ -135,6 +142,10 @@ func setupAdmin(r *mux.Router, ctrl *ctrladmin.Controller) { routUser.Handle("/delete_playlist_do", ctrl.H(ctrl.ServeDeletePlaylistDo)) routUser.Handle("/create_transcode_pref_do", ctrl.H(ctrl.ServeCreateTranscodePrefDo)) routUser.Handle("/delete_transcode_pref_do", ctrl.H(ctrl.ServeDeleteTranscodePrefDo)) + if ctrl.Podcasts.PodcastBasePath != "" { + routUser.Handle("/add_podcast_do", ctrl.H(ctrl.ServePodcastAddDo)) + routUser.Handle("/delete_podcast_do", ctrl.H(ctrl.ServePodcastDeleteDo)) + } // ** begin admin routes (if session is valid, and is admin) routAdmin := routUser.NewRoute().Subrouter() routAdmin.Use(ctrl.WithAdminSession) @@ -198,8 +209,15 @@ func setupSubsonic(r *mux.Router, ctrl *ctrlsubsonic.Controller) { r.Handle("/search2{_:(?:\\.view)?}", ctrl.H(ctrl.ServeSearchTwo)) r.Handle("/getGenres{_:(?:\\.view)?}", ctrl.H(ctrl.ServeGetGenres)) r.Handle("/getArtistInfo{_:(?:\\.view)?}", ctrl.H(ctrl.ServeGetArtistInfo)) - // ** begin unimplemented - r.Handle("/getPodcasts{_:(?:\\.view)?}", ctrl.H(ctrl.ServeGetPodcasts)) + // ** begin podcasts + if ctrl.Podcasts.PodcastBasePath != "" { + r.Handle("/getPodcasts{_:(?:\\.view)?}", ctrl.H(ctrl.ServeGetPodcasts)) + r.Handle("/downloadPodcastEpisode{_:(?:\\.view)?}", ctrl.H(ctrl.ServeDownloadPodcastEpisode)) + r.Handle("/createPodcastChannel{_:(?:\\.view)?}", ctrl.H(ctrl.ServeCreatePodcastChannel)) + r.Handle("/refreshPodcasts{_:(?:\\.view)?}", ctrl.H(ctrl.ServeRefreshPodcasts)) + r.Handle("/deletePodcastChannel{_:(?:\\.view)?}", ctrl.H(ctrl.ServeDeletePodcastChannel)) + r.Handle("/deletePodcastEpisode{_:(?:\\.view)?}", ctrl.H(ctrl.ServeDeletePodcastEpisode)) + } // middlewares should be run for not found handler // https://github.com/gorilla/mux/issues/416 notFoundHandler := ctrl.H(ctrl.ServeNotFound) @@ -264,6 +282,31 @@ func (s *Server) StartJukebox() (FuncExecute, FuncInterrupt) { } } +func (s *Server) StartPodcastRefresher(dur time.Duration) (FuncExecute, FuncInterrupt) { + ticker := time.NewTicker(dur) + done := make(chan struct{}) + waitFor := func() error { + for { + select { + case <-done: + return nil + case <-ticker.C: + if err := s.podcast.RefreshPodcasts(0, true); err != nil { + log.Printf("failed to refresh some feeds: %s", err) + } + } + } + } + return func() error { + log.Printf("starting job 'podcast refresher'\n") + return waitFor() + }, func(_ error) { + // stop job + ticker.Stop() + done <- struct{}{} + } +} + func (s *Server) StartSessionClean(dur time.Duration) (FuncExecute, FuncInterrupt) { ticker := time.NewTicker(dur) done := make(chan struct{})